From fe57465faf9591f2b33de2a9697c243b77b9ab1b Mon Sep 17 00:00:00 2001
From: Michael Lustfield
Date: Wed, 25 Oct 2017 19:16:22 -0500
Subject: [PATCH] New upstream version 1.2.1+dfsg
---
.drone.yml | 100 +-
.drone.yml.sig | 1 -
.editorconfig | 6 +-
.github/issue_template.md | 17 +-
.gitignore | 4 +-
CHANGELOG.md | 512 +-
CONTRIBUTING.md | 21 +-
Dockerfile | 13 +-
Dockerfile.aarch64 | 40 +
Dockerfile.rpi | 13 +-
MAINTAINERS | 4 +
Makefile | 237 +-
README.md | 10 +-
README_ZH.md | 9 +-
assets/logo.svg | 160 +
cmd/admin.go | 56 +-
cmd/dump.go | 6 +
cmd/hook.go | 50 +-
cmd/serv.go | 39 +-
cmd/web.go | 597 +-
cmd/web_graceful.go | 1 +
conf/app.ini | 92 +-
{scripts => contrib}/README | 0
{scripts => contrib}/autoboot.sh | 0
{scripts => contrib}/init/centos/gitea | 0
{scripts => contrib}/init/debian/gitea | 2 +-
{scripts => contrib}/init/freebsd/gitea | 0
{scripts => contrib}/init/gentoo/gitea | 0
{scripts => contrib}/init/openbsd/gitea | 0
{scripts => contrib}/init/suse/gitea | 0
.../launchd/io.gitea.web.plist | 0
{scripts => contrib}/migrate/gogs_migrate.sh | 0
{scripts => contrib}/mysql.sql | 0
{scripts => contrib}/supervisor/gitea | 0
{scripts => contrib}/systemd/gitea.service | 0
.../windows/install-as-service.bat | 0
docker/etc/templates/app.ini | 2 +-
integrations/api_branch_test.go | 44 +
integrations/api_comment_test.go | 125 +
integrations/api_fork_test.go | 18 +
integrations/api_issue_label_test.go | 62 +
integrations/api_issue_test.go | 63 +
integrations/api_keys_test.go | 39 +
integrations/api_pull_test.go | 30 +
integrations/api_repo_test.go | 94 +
integrations/api_team_test.go | 31 +
integrations/bare_repo_test.go | 28 +
integrations/change_default_branch_test.go | 38 +
integrations/delete_user_test.go | 27 +
integrations/editor_test.go | 154 +
integrations/explore_repos_test.go | 17 +
.../gitea-repositories/user2/repo1.git/HEAD | 1 +
.../gitea-repositories/user2/repo1.git/config | 4 +
.../user2/repo1.git/description | 1 +
.../repo1.git/hooks/applypatch-msg.sample | 15 +
.../user2/repo1.git/hooks/commit-msg.sample | 24 +
.../user2/repo1.git/hooks/post-receive | 7 +
.../repo1.git/hooks/post-receive.d/gitea | 2 +
.../user2/repo1.git/hooks/post-update.sample | 8 +
.../repo1.git/hooks/pre-applypatch.sample | 14 +
.../user2/repo1.git/hooks/pre-commit.sample | 49 +
.../user2/repo1.git/hooks/pre-push.sample | 53 +
.../user2/repo1.git/hooks/pre-rebase.sample | 169 +
.../user2/repo1.git/hooks/pre-receive | 7 +
.../user2/repo1.git/hooks/pre-receive.d/gitea | 2 +
.../repo1.git/hooks/prepare-commit-msg.sample | 36 +
.../user2/repo1.git/hooks/update | 7 +
.../user2/repo1.git/hooks/update.d/gitea | 2 +
.../user2/repo1.git/hooks/update.sample | 128 +
.../user2/repo1.git/info/exclude | 6 +
.../user2/repo1.git/info/refs | 1 +
.../2a/2f1d4670728a2e10049e345bd7a276468beab6 | Bin 0 -> 54 bytes
.../4b/4851ad51df6a7d9f25c979345979eaeb5b349f | Bin 0 -> 42 bytes
.../65/f1bf27bc3bf70f64657658635e66094edbcb4d | Bin 0 -> 150 bytes
.../user2/repo1.git/objects/info/packs | 1 +
.../user2/repo1.git/refs/heads/DefaultBranch | 1 +
.../user2/repo1.git/refs/heads/develop | 1 +
.../user2/repo1.git/refs/heads/feature/1 | 1 +
.../user2/repo1.git/refs/heads/master | 1 +
.../gitea-repositories/user2/repo15.git/HEAD | 1 +
.../user2/repo15.git/config | 4 +
.../user2/repo15.git/description | 1 +
.../repo15.git/hooks/applypatch-msg.sample | 15 +
.../user2/repo15.git/hooks/commit-msg.sample | 24 +
.../user2/repo15.git/hooks/post-receive | 7 +
.../repo15.git/hooks/post-receive.d/gitea | 2 +
.../user2/repo15.git/hooks/post-update.sample | 8 +
.../repo15.git/hooks/pre-applypatch.sample | 14 +
.../user2/repo15.git/hooks/pre-commit.sample | 49 +
.../user2/repo15.git/hooks/pre-push.sample | 53 +
.../user2/repo15.git/hooks/pre-rebase.sample | 169 +
.../user2/repo15.git/hooks/pre-receive | 7 +
.../repo15.git/hooks/pre-receive.d/gitea | 2 +
.../hooks/prepare-commit-msg.sample | 36 +
.../user2/repo15.git/hooks/update | 7 +
.../user2/repo15.git/hooks/update.d/gitea | 2 +
.../user2/repo15.git/hooks/update.sample | 128 +
.../user2/repo15.git/info/exclude | 6 +
.../gitea-repositories/user3/repo3.git/HEAD | 1 +
.../gitea-repositories/user3/repo3.git/config | 6 +
.../user3/repo3.git/description | 1 +
.../repo3.git/hooks/applypatch-msg.sample | 15 +
.../user3/repo3.git/hooks/commit-msg.sample | 24 +
.../user3/repo3.git/hooks/post-receive | 7 +
.../repo3.git/hooks/post-receive.d/gitea | 2 +
.../user3/repo3.git/hooks/post-update.sample | 8 +
.../repo3.git/hooks/pre-applypatch.sample | 14 +
.../user3/repo3.git/hooks/pre-commit.sample | 49 +
.../user3/repo3.git/hooks/pre-push.sample | 53 +
.../user3/repo3.git/hooks/pre-rebase.sample | 169 +
.../user3/repo3.git/hooks/pre-receive | 7 +
.../user3/repo3.git/hooks/pre-receive.d/gitea | 2 +
.../user3/repo3.git/hooks/pre-receive.sample | 24 +
.../repo3.git/hooks/prepare-commit-msg.sample | 36 +
.../user3/repo3.git/hooks/update | 7 +
.../user3/repo3.git/hooks/update.d/gitea | 2 +
.../user3/repo3.git/hooks/update.sample | 128 +
.../user3/repo3.git/info/exclude | 6 +
.../20/ade30d25e0ecaeec84e7f542a8456900858240 | Bin 0 -> 84 bytes
.../27/74debeea6dc742cc4971a92db0e08b95b60588 | Bin 0 -> 51 bytes
.../2a/47ca4b614a9f5a43abbd5ad851a54a616ffee6 | Bin 0 -> 760 bytes
.../2f/9b22fd3159a43b7b4e5dd806fcd544edf8716f | Bin 0 -> 37 bytes
.../d5/6a3073c1dbb7b15963110a049d50cdb5db99fc | Bin 0 -> 42 bytes
.../user3/repo3.git/refs/heads/master | 1 +
integrations/html_helper.go | 42 +
integrations/install_test.go | 91 -
integrations/integration_test.go | 296 +
integrations/internal/utils/utils.go | 125 -
integrations/internal_test.go | 44 +
integrations/issue_test.go | 99 +
integrations/links_test.go | 130 +
integrations/mysql.ini | 59 +
integrations/pgsql.ini | 58 +
integrations/pull_compare_test.go | 27 +
integrations/pull_create_test.go | 52 +
integrations/pull_merge_test.go | 93 +
integrations/release_test.go | 116 +
integrations/repo_commits_test.go | 89 +
integrations/repo_fork_test.go | 73 +
integrations/repo_migrate_test.go | 67 +
integrations/repo_test.go | 76 +
integrations/setting_test.go | 70 +
integrations/signin_test.go | 60 +
integrations/signup_test.go | 30 +
integrations/sqlite.ini | 54 +
integrations/user_test.go | 99 +
integrations/version_test.go | 75 +-
integrations/xss_test.go | 37 +
main.go | 2 +-
models/access.go | 24 +-
models/access_test.go | 20 +-
models/action.go | 248 +-
models/action_test.go | 136 +-
models/admin.go | 23 +-
models/attachment.go | 31 +-
models/attachment_test.go | 60 +
models/branches.go | 38 +-
.../{consistency_test.go => consistency.go} | 32 +-
models/error.go | 109 +
models/error_oauth2.go | 24 +
models/external_login_user.go | 6 +-
models/fixtures/access.yml | 6 +
models/fixtures/action.yml | 11 +-
models/fixtures/attachment.yml | 71 +
models/fixtures/comment.yml | 14 +-
models/fixtures/commit_status.yml | 54 +
models/fixtures/follow.yml | 14 +
models/fixtures/issue.yml | 2 +-
models/fixtures/issue_watch.yml | 15 +
models/fixtures/protected_branch.yml | 1 +
models/fixtures/pull_request.yml | 2 +-
models/fixtures/release.yml | 1 +
models/fixtures/repo_unit.yml | 79 +
models/fixtures/repository.yml | 7 +
models/fixtures/team.yml | 4 +
models/fixtures/user.yml | 67 +-
models/fixtures/user_open_id.yml | 17 +
models/git_diff.go | 14 +-
models/git_diff_test.go | 3 +-
models/gpg_key.go | 465 +
models/gpg_key_test.go | 224 +
models/issue.go | 264 +-
models/issue_comment.go | 121 +-
models/issue_comment_test.go | 41 +
models/issue_indexer.go | 2 +-
models/issue_label.go | 33 +-
models/issue_label_test.go | 2 +-
models/issue_list.go | 22 +-
models/issue_list_test.go | 65 +
models/issue_mail.go | 40 +-
models/issue_milestone.go | 6 +-
models/issue_milestone_test.go | 4 +-
models/issue_test.go | 125 +
models/issue_user.go | 2 +-
models/issue_watch.go | 96 +
models/issue_watch_test.go | 51 +
models/lfs.go | 4 +-
models/login_source.go | 162 +-
models/mail.go | 28 +-
models/main_test.go | 35 +
models/migrations/migrations.go | 60 +-
models/migrations/v13.go | 2 +-
models/migrations/v14.go | 2 +-
models/migrations/v15.go | 19 +-
models/migrations/v16.go | 76 +-
models/migrations/v21.go | 5 +-
models/migrations/v23.go | 25 +
models/migrations/v24.go | 50 +
models/migrations/v25.go | 18 +
models/migrations/v26.go | 87 +
models/migrations/v27.go | 74 +
models/migrations/v28.go | 76 +
models/migrations/v29.go | 34 +
models/migrations/v30.go | 38 +
models/migrations/v31.go | 35 +
models/migrations/v32.go | 23 +
models/migrations/v33.go | 32 +
models/migrations/v34.go | 25 +
models/migrations/v35.go | 25 +
models/migrations/v36.go | 15 +
models/migrations/v37.go | 35 +
models/migrations/v38.go | 70 +
models/migrations/v42.go | 57 +
models/migrations/v43.go | 18 +
models/migrations/v44.go | 69 +
models/models.go | 22 +-
models/models_test.go | 50 +-
models/notification.go | 42 +-
models/oauth2.go | 117 +
models/org.go | 48 +-
models/org_team.go | 70 +-
models/org_team_test.go | 8 +-
models/org_test.go | 4 +-
models/pull.go | 95 +-
models/release.go | 131 +-
models/repo.go | 226 +-
models/repo_branch.go | 2 +-
models/repo_collaboration.go | 6 +-
models/repo_editor.go | 122 +-
models/repo_list.go | 134 +-
models/repo_list_test.go | 2 +
models/repo_mirror.go | 26 +-
models/repo_test.go | 22 +
models/repo_unit.go | 17 +-
models/ssh_key.go | 88 +-
models/status.go | 304 +
models/status_test.go | 39 +
models/test_fixtures.go | 23 +
models/unit.go | 106 +-
models/{setup_for_test.go => unit_tests.go} | 87 +-
models/update.go | 165 +-
models/user.go | 310 +-
models/user_follow.go | 70 +
models/user_follow_test.go | 45 +
models/user_mail.go | 4 +-
models/user_openid.go | 124 +
models/user_openid_test.go | 82 +
models/user_test.go | 33 +-
models/webhook.go | 31 +-
models/webhook_test.go | 5 +-
models/wiki.go | 10 +-
modules/auth/admin.go | 2 +-
modules/auth/auth.go | 3 +
modules/auth/auth_form.go | 63 +-
modules/auth/ldap/ldap.go | 127 +-
modules/auth/oauth2/oauth2.go | 133 +-
modules/auth/openid/discovery_cache.go | 58 +
modules/auth/openid/discovery_cache_test.go | 48 +
modules/auth/openid/openid.go | 35 +
modules/auth/org.go | 11 +-
modules/auth/repo_form.go | 64 +-
modules/auth/user_form.go | 56 +-
modules/auth/user_form_auth_openid.go | 43 +
modules/base/tool.go | 112 +-
modules/base/tool_test.go | 28 +-
modules/context/api.go | 40 +-
modules/context/context.go | 47 +-
modules/context/repo.go | 206 +-
modules/cron/cron.go | 11 +
modules/highlight/highlight.go | 74 +-
modules/httplib/httplib.go | 7 +-
modules/lfs/content_store.go | 7 +-
modules/lfs/server.go | 6 +-
modules/log/conn.go | 4 +-
modules/log/file.go | 5 +-
modules/log/log.go | 62 +-
modules/log/xorm.go | 2 +-
modules/mailer/mailer.go | 32 +-
modules/markdown/markdown.go | 191 +-
modules/markdown/markdown_test.go | 161 +-
modules/markdown/sanitizer.go | 9 +-
modules/markup/markup.go | 83 +
modules/markup/markup_test.go | 37 +
modules/options/dynamic.go | 2 +-
modules/options/static.go | 2 +-
modules/private/branch.go | 40 +
modules/private/internal.go | 70 +
modules/private/push_update.go | 40 +
modules/setting/setting.go | 276 +-
modules/sync/exclusive_pool.go | 2 +-
modules/sync/status_pool.go | 12 +
modules/sync/status_pool_test.go | 9 +
modules/sync/unique_queue.go | 2 +-
modules/templates/helper.go | 18 +
modules/test/context_tests.go | 150 +
modules/util/remove.go | 14 +
modules/util/remove_windows.go | 16 +
modules/validation/binding.go | 102 +
modules/validation/binding_test.go | 62 +
modules/validation/refname_test.go | 142 +
modules/validation/validurl_test.go | 111 +
options/gitignore/Actionscript | 8 +
options/gitignore/Android | 25 +-
options/gitignore/Ansible | 1 +
options/gitignore/Autotools | 19 +
options/gitignore/Bazaar | 2 +
options/gitignore/C | 19 +
options/gitignore/C Sharp | 108 -
options/gitignore/C++ | 4 +
options/gitignore/CMake | 3 +
options/gitignore/CVS | 2 +-
options/gitignore/CakePHP | 14 +-
options/gitignore/Calabash | 10 +
options/gitignore/Clojure | 13 -
options/gitignore/CodeIgniter | 11 +
options/gitignore/CommonLisp | 14 +
options/gitignore/Composer | 2 +-
options/gitignore/Concrete5 | 1 +
options/gitignore/Coq | 29 +-
options/gitignore/D | 24 +
options/gitignore/Dart | 21 +-
options/gitignore/Delphi | 11 +-
options/gitignore/Dreamweaver | 4 +
options/gitignore/Dropbox | 4 +
options/gitignore/Drupal | 2 +-
options/gitignore/Eagle | 8 +
options/gitignore/Eclipse | 25 +-
options/gitignore/EiffelStudio | 2 +-
options/gitignore/Elisp | 6 +
options/gitignore/Elixir | 2 +
options/gitignore/Elm | 4 +
options/gitignore/Emacs | 13 +
options/gitignore/Erlang | 2 +-
options/gitignore/ExtJs | 8 +
options/gitignore/FSharp | 114 -
options/gitignore/Fortran | 0
options/gitignore/FuelPHP | 23 +-
options/gitignore/GPG | 2 +
options/gitignore/Go | 34 +-
options/gitignore/Gradle | 8 +-
options/gitignore/Haskell | 4 +
options/gitignore/IPythonNotebook | 2 -
options/gitignore/Java | 10 +
options/gitignore/JetBrains | 38 +-
options/gitignore/Joomla | 62 +-
options/gitignore/Julia | 4 +
options/gitignore/KiCAD | 12 +-
options/gitignore/Laravel | 18 +-
options/gitignore/Leiningen | 3 +-
options/gitignore/Linux | 6 +
options/gitignore/Magento | 142 +-
options/gitignore/Matlab | 6 +
options/gitignore/Maven | 3 +
options/gitignore/MicrosoftOffice | 6 +
options/gitignore/Nanoc | 4 +-
options/gitignore/NetBeans | 2 -
options/gitignore/Node | 37 +-
options/gitignore/Objective-C | 32 +-
options/gitignore/OpenCart | 9 +
options/gitignore/Otto | 1 +
options/gitignore/Perl | 39 +-
options/gitignore/PlayFramework | 1 -
options/gitignore/Prestashop | 13 +-
options/gitignore/PureScript | 8 +
options/gitignore/Python | 36 +
options/gitignore/Qt | 8 +-
options/gitignore/R | 17 +
options/gitignore/Rails | 17 +-
options/gitignore/Ruby | 16 +-
options/gitignore/Rust | 17 +-
options/gitignore/SBT | 3 +
options/gitignore/Scala | 15 -
options/gitignore/Scheme | 7 +
options/gitignore/Smalltalk | 18 +
options/gitignore/Stata | 24 +
options/gitignore/SublimeText | 16 +
options/gitignore/SugarCRM | 2 +
options/gitignore/Swift | 34 +-
options/gitignore/Symfony | 12 +-
options/gitignore/Tags | 3 +
options/gitignore/TeX | 101 +-
options/gitignore/Terraform | 6 +
options/gitignore/Typo3 | 2 +-
options/gitignore/Umbraco | 8 +-
options/gitignore/Unity | 15 +-
options/gitignore/UnrealEngine | 70 +
options/gitignore/Vim | 12 +-
options/gitignore/VirtualEnv | 2 +
options/gitignore/VisualStudio | 84 +-
options/gitignore/VisualStudioCode | 7 +-
options/gitignore/Waf | 12 +-
options/gitignore/Windows | 3 +-
options/gitignore/WordPress | 8 +-
options/gitignore/Xcode | 8 +-
options/gitignore/XilinxISE | 10 +
options/gitignore/ZendFramework | 5 +
options/gitignore/{OSX => macOS} | 50 +-
options/license/0BSD | 5 +
options/license/AAL | 23 +
options/license/ADSL | 1 +
.../{Academic Free License v1.1 => AFL-1.1} | 19 +-
.../{Academic Free License v1.2 => AFL-1.2} | 9 +-
options/license/AFL-2.0 | 45 +
options/license/AFL-2.1 | 45 +
.../{Academic Free License v3.0 => AFL-3.0} | 43 +-
...o General Public License v1.0 => AGPL-1.0} | 22 +-
options/license/AGPL-3.0 | 235 +
options/license/AMDPLPA | 19 +
options/license/AML | 9 +
options/license/AMPAS | 13 +
options/license/ANTLR-PD | 5 +
options/license/APAFML | 3 +
options/license/APL-1.0 | 295 +
options/license/APSL-1.0 | 109 +
options/license/APSL-1.1 | 108 +
options/license/APSL-1.2 | 103 +
options/license/APSL-2.0 | 102 +
.../license/{Abstyles License => Abstyles} | 9 +-
options/license/Adobe-2006 | 12 +
options/license/Adobe-Glyph | 10 +
options/license/Afmparse | 10 +
options/license/Aladdin | 62 +
options/license/Apache License 1.0 | 19 -
options/license/Apache License 1.1 | 20 -
options/license/Apache-1.0 | 20 +
options/license/Apache-1.1 | 21 +
.../{Apache License 2.0 => Apache-2.0} | 31 +-
options/license/Artistic License 1.0 | 48 -
options/license/Artistic License 2.0 | 84 -
options/license/Artistic-1.0 | 49 +
options/license/Artistic-1.0-Perl | 51 +
options/license/Artistic-1.0-cl8 | 51 +
options/license/Artistic-2.0 | 85 +
options/license/BSD 2-clause License | 8 -
options/license/BSD 4-clause License | 13 -
options/license/BSD-2-Clause | 9 +
options/license/BSD-2-Clause-FreeBSD | 13 +
options/license/BSD-2-Clause-NetBSD | 11 +
options/license/BSD-3-Clause | 11 +
...lause License => BSD-3-Clause-Attribution} | 11 +-
options/license/BSD-3-Clause-Clear | 14 +
options/license/BSD-3-Clause-LBNL | 12 +
.../license/BSD-3-Clause-No-Nuclear-License | 14 +
.../BSD-3-Clause-No-Nuclear-License-2014 | 16 +
.../license/BSD-3-Clause-No-Nuclear-Warranty | 14 +
options/license/BSD-4-Clause | 14 +
options/license/BSD-4-Clause-UC | 1 +
options/license/BSD-Protection | 53 +
options/license/BSD-Source-Code | 10 +
options/license/BSL-1.0 | 7 +
options/license/Bahyph | 11 +
options/license/Barr | 1 +
options/license/Beerware | 1 +
options/license/BitTorrent-1.0 | 140 +
options/license/BitTorrent-1.1 | 137 +
options/license/Borceux | 19 +
options/license/CATOSL-1.1 | 114 +
options/license/CC-BY-1.0 | 80 +
options/license/CC-BY-2.0 | 81 +
options/license/CC-BY-3.0 | 93 +
options/license/CC-BY-4.0 | 154 +
options/license/CC-BY-NC-1.0 | 75 +
options/license/CC-BY-NC-2.0 | 81 +
options/license/CC-BY-NC-3.0 | 95 +
options/license/CC-BY-NC-4.0 | 156 +
options/license/CC-BY-NC-ND-1.0 | 75 +
options/license/CC-BY-NC-ND-2.0 | 77 +
options/license/CC-BY-NC-ND-3.0 | 89 +
options/license/CC-BY-NC-ND-4.0 | 153 +
options/license/CC-BY-NC-SA-1.0 | 83 +
options/license/CC-BY-NC-SA-2.0 | 87 +
options/license/CC-BY-NC-SA-3.0 | 99 +
options/license/CC-BY-NC-SA-4.0 | 168 +
options/license/CC-BY-ND-1.0 | 73 +
options/license/CC-BY-ND-2.0 | 75 +
options/license/CC-BY-ND-3.0 | 87 +
options/license/CC-BY-ND-4.0 | 152 +
options/license/CC-BY-SA-1.0 | 81 +
options/license/CC-BY-SA-2.0 | 85 +
options/license/CC-BY-SA-3.0 | 99 +
options/license/CC-BY-SA-4.0 | 168 +
...tive Commons CC0 1.0 Universal => CC0-1.0} | 26 +-
options/license/CDDL-1.0 | 119 +
options/license/CDDL-1.1 | 123 +
options/license/CECILL-1.0 | 216 +
options/license/CECILL-1.1 | 229 +
options/license/CECILL-2.0 | 241 +
options/license/CECILL-2.1 | 249 +
options/license/CECILL-B | 245 +
options/license/CECILL-C | 239 +
options/license/CNRI-Jython | 10 +
options/license/CNRI-Python | 25 +
options/license/CNRI-Python-GPL-Compatible | 23 +
options/license/CPAL-1.0 | 172 +
options/license/CPL-1.0 | 87 +
options/license/CPOL-1.02 | 98 +
...Mozilla Public License 1.1 => CUA-OPL-1.0} | 89 +-
options/license/Caldera | 25 +
options/license/ClArtistic | 61 +
options/license/Condor-1.1 | 39 +
options/license/Crossword | 5 +
options/license/CrystalStacker | 7 +
options/license/Cube | 17 +
options/license/D-FSL-1.0 | 147 +
options/license/DOC | 16 +
options/license/DSDP | 18 +
options/license/Dotseqn | 5 +
...ational Community License v1.0 => ECL-1.0} | 17 +-
...ational Community License v2.0 => ECL-2.0} | 47 +-
options/license/EFL-1.0 | 13 +
options/license/EFL-2.0 | 9 +
.../{Eclipse Public License 1.0 => EPL-1.0} | 51 +-
options/license/EUDatagrid | 24 +
options/license/EUPL-1.0 | 154 +
options/license/EUPL-1.1 | 157 +
options/license/Entessa | 22 +
options/license/ErlPL-1.1 | 93 +
options/license/Eurosym | 18 +
options/license/FSFAP | 1 +
options/license/FSFUL | 3 +
options/license/FSFULLR | 3 +
options/license/FTL | 79 +
options/license/Fair | 9 +
options/license/Frameworx-1.0 | 69 +
options/license/FreeImage | 117 +
...ee Documentation License v1.1 => GFDL-1.1} | 59 +-
...ee Documentation License v1.2 => GFDL-1.2} | 65 +-
...ee Documentation License v1.3 => GFDL-1.3} | 59 +-
options/license/GL2PS | 13 +
.../GNU Affero General Public License v3.0 | 241 -
.../license/GNU General Public License v3.0 | 231 -
...NU General Public License v1.0 => GPL-1.0} | 33 +-
...NU General Public License v2.0 => GPL-2.0} | 33 +-
options/license/GPL-3.0 | 15 +
options/license/Giftware | 9 +
options/license/Glide | 95 +
options/license/Glulxe | 3 +
options/license/HPND | 7 +
options/license/HaskellReport | 6 +
options/license/IBM-pibs | 8 +
options/license/ICU | 12 +
options/license/IJG | 38 +
options/license/IPA | 83 +
options/license/IPL-1.0 | 215 +
options/license/{ISC license => ISC} | 6 +-
options/license/ImageMagick | 98 +
options/license/Imlib2 | 9 +
options/license/Info-ZIP | 16 +
options/license/Intel | 13 +
options/license/Intel-ACPI | 34 +
options/license/Interbase-1.0 | 199 +
options/license/JSON | 11 +
options/license/JasPer-2.0 | 17 +
options/license/LAL-1.2 | 67 +
options/license/LAL-1.3 | 88 +
...y General Public License v2.0 => LGPL-2.0} | 51 +-
...r General Public License v2.1 => LGPL-2.1} | 51 +-
...r General Public License v3.0 => LGPL-3.0} | 51 +-
options/license/LGPLLR | 89 +
options/license/LPL-1.0 | 81 +
options/license/LPL-1.02 | 85 +
options/license/LPPL-1.0 | 103 +
options/license/LPPL-1.1 | 141 +
options/license/LPPL-1.2 | 140 +
options/license/LPPL-1.3a | 176 +
options/license/LPPL-1.3c | 184 +
options/license/Latex2e | 9 +
options/license/Leptonica | 10 +
options/license/LiLiQ-P-1.1 | 70 +
options/license/LiLiQ-R-1.1 | 94 +
options/license/LiLiQ-Rplus-1.1 | 88 +
options/license/Libpng | 76 +
options/license/{MIT License => MIT} | 3 +-
options/license/MIT-CMU | 9 +
options/license/MIT-advertising | 7 +
options/license/MIT-enna | 9 +
options/license/MIT-feh | 5 +
options/license/MITNFA | 7 +
options/license/MPL-1.0 | 123 +
options/license/MPL-1.1 | 143 +
options/license/MPL-2.0 | 144 +
options/license/MPL-2.0-no-copyleft-exception | 144 +
options/license/MS-PL | 22 +
options/license/MS-RL | 30 +
options/license/MTLL | 24 +
options/license/MakeIndex | 19 +
options/license/MirOS | 28 +
options/license/Motosoto | 110 +
options/license/Mozilla Public License 1.0 | 122 -
options/license/Mozilla Public License 2.0 | 143 -
options/license/Multics | 13 +
options/license/Mup | 13 +
options/license/NASA-1.3 | 85 +
options/license/NBPL-1.0 | 59 +
options/license/NCSA | 15 +
options/license/NGPL | 39 +
options/license/NLOD-1.0 | 80 +
options/license/NLPL | 14 +
options/license/NOSL | 151 +
options/license/NPL-1.0 | 99 +
options/license/NPL-1.1 | 176 +
options/license/NPOSL-3.0 | 59 +
options/license/NRL | 28 +
options/license/NTP | 5 +
options/license/Naumen | 21 +
options/license/Net-SNMP | 107 +
options/license/NetCDF | 7 +
options/license/Newsletr | 7 +
options/license/Nokia | 159 +
options/license/Noweb | 9 +
options/license/Nunit | 14 +
options/license/OCCT-PL | 112 +
options/license/OCLC-2.0 | 76 +
options/license/ODbL-1.0 | 243 +
options/license/OFL-1.0 | 49 +
options/license/OFL-1.1 | 43 +
options/license/OGTSL | 55 +
options/license/OLDAP-1.1 | 61 +
options/license/OLDAP-1.2 | 61 +
options/license/OLDAP-1.3 | 63 +
options/license/OLDAP-1.4 | 63 +
options/license/OLDAP-2.0 | 19 +
options/license/OLDAP-2.0.1 | 19 +
options/license/OLDAP-2.1 | 21 +
options/license/OLDAP-2.2 | 23 +
options/license/OLDAP-2.2.1 | 23 +
options/license/OLDAP-2.2.2 | 25 +
options/license/OLDAP-2.3 | 25 +
options/license/OLDAP-2.4 | 23 +
options/license/OLDAP-2.7 | 20 +
options/license/OML | 5 +
options/license/OPL-1.0 | 136 +
options/license/OSET-PL-2.1 | 138 +
options/license/OSL-1.0 | 45 +
options/license/OSL-1.1 | 47 +
.../{Academic Free License v2.0 => OSL-2.0} | 32 +-
.../{Academic Free License v2.1 => OSL-2.1} | 31 +-
options/license/OSL-3.0 | 47 +
options/license/OpenSSL | 49 +
options/license/PDDL-1.0 | 136 +
options/license/PHP-3.0 | 28 +
options/license/PHP-3.01 | 27 +
options/license/Plexus | 15 +
options/license/PostgreSQL | 12 +
options/license/Python-2.0 | 72 +
options/license/QPL-1.0 | 50 +
options/license/Qhull | 17 +
options/license/RHeCos-1.1 | 137 +
options/license/RPL-1.1 | 177 +
options/license/RPSL-1.0 | 179 +
options/license/RSA-MD | 9 +
options/license/RSCPL | 128 +
options/license/Rdisc | 13 +
options/license/Ruby | 29 +
options/license/SAX-PD | 31 +
options/license/SCEA | 60 +
options/license/SGI-B-1.0 | 82 +
options/license/SGI-B-1.1 | 84 +
options/license/SGI-B-2.0 | 13 +
options/license/SISSL | 116 +
options/license/SISSL-1.2 | 115 +
options/license/SMLNJ | 7 +
options/license/SMPPL | 29 +
options/license/SNIA | 122 +
options/license/SPL-1.0 | 149 +
options/license/SWL | 7 +
options/license/Saxpath | 19 +
options/license/Sendmail | 36 +
options/license/SimPL-2.0 | 37 +
options/license/Sleepycat | 37 +
options/license/Spencer-86 | 11 +
options/license/Spencer-94 | 12 +
options/license/Spencer-99 | 9 +
options/license/SugarCRM-1.1.3 | 149 +
options/license/TCL | 9 +
options/license/TCP-wrappers | 7 +
options/license/TMate | 21 +
options/license/TORQUE-1.1 | 25 +
options/license/TOSL | 9 +
options/license/UPL-1.0 | 19 +
options/license/Unicode-DFS-2015 | 19 +
options/license/Unicode-DFS-2016 | 22 +
options/license/Unicode-TOU | 51 +
options/license/Unlicense | 10 +
options/license/Updating the SPDX Licenses | 29 +
options/license/VOSTROM | 27 +
options/license/VSL-1.0 | 18 +
options/license/Vim | 30 +
options/license/W3C | 29 +
options/license/W3C-19980720 | 23 +
options/license/W3C-20150513 | 17 +
options/license/WTFPL | 11 +
options/license/Watcom-1.0 | 106 +
options/license/Wsuipa | 5 +
options/license/X11 | 13 +
options/license/XFree86-1.1 | 16 +
options/license/XSkat | 10 +
options/license/Xerox | 5 +
options/license/Xnet | 11 +
options/license/YPL-1.0 | 47 +
options/license/YPL-1.1 | 47 +
options/license/ZPL-1.1 | 33 +
options/license/ZPL-2.0 | 23 +
options/license/ZPL-2.1 | 21 +
options/license/Zed | 3 +
options/license/Zend-2.0 | 18 +
options/license/Zimbra-1.3 | 47 +
options/license/Zimbra-1.4 | 47 +
options/license/Zlib | 11 +
options/license/curl | 10 +
options/license/diffmark | 2 +
options/license/dvipdfm | 1 +
options/license/eGenix | 40 +
options/license/gSOAP-1.3b | 148 +
options/license/gnuplot | 14 +
options/license/iMatix | 39 +
options/license/libtiff | 8 +
options/license/mpich2 | 18 +
options/license/psfrag | 5 +
options/license/psutils | 29 +
options/license/xinetd | 25 +
options/license/xpp | 21 +
options/license/zlib-acknowledgement | 15 +
options/locale/locale_bg-BG.ini | 237 +-
options/locale/locale_cs-CZ.ini | 239 +-
options/locale/locale_de-DE.ini | 495 +-
options/locale/locale_en-US.ini | 518 +-
options/locale/locale_es-ES.ini | 299 +-
options/locale/locale_fi-FI.ini | 239 +-
options/locale/locale_fr-FR.ini | 489 +-
options/locale/locale_hu-HU.ini | 1446 +
options/locale/locale_it-IT.ini | 217 +-
options/locale/locale_ja-JP.ini | 209 +-
options/locale/locale_ko-KR.ini | 237 +-
options/locale/locale_lt-LT.ini | 344 +
options/locale/locale_lv-LV.ini | 603 +-
options/locale/locale_nb-NO.ini | 156 +
options/locale/locale_nl-NL.ini | 472 +-
options/locale/locale_pl-PL.ini | 237 +-
options/locale/locale_pt-BR.ini | 427 +-
options/locale/locale_ru-RU.ini | 298 +-
options/locale/locale_sr-SP.ini | 237 +-
options/locale/locale_sv-SE.ini | 443 +-
options/locale/locale_tr-TR.ini | 235 +-
options/locale/locale_zh-CN.ini | 427 +-
options/locale/locale_zh-HK.ini | 245 +-
options/locale/locale_zh-TW.ini | 570 +-
.../css/font-awesome.min.css | 4 -
.../font-awesome-4.6.3/fonts/FontAwesome.otf | Bin 124988 -> 0 bytes
.../fonts/fontawesome-webfont.eot | Bin 76518 -> 0 bytes
.../fonts/fontawesome-webfont.svg | 685 -
.../fonts/fontawesome-webfont.ttf | Bin 152796 -> 0 bytes
.../fonts/fontawesome-webfont.woff | Bin 90412 -> 0 bytes
.../fonts/fontawesome-webfont.woff2 | Bin 71896 -> 0 bytes
public/assets/octicons-4.3.0/octicons.eot | Bin 44098 -> 0 bytes
public/assets/octicons-4.3.0/octicons.min.css | 1 -
public/assets/octicons-4.3.0/octicons.svg | 429 -
public/assets/octicons-4.3.0/octicons.ttf | Bin 43920 -> 0 bytes
public/assets/octicons-4.3.0/octicons.woff | Bin 24004 -> 0 bytes
public/assets/octicons-4.3.0/octicons.woff2 | Bin 20248 -> 0 bytes
public/css/gitgraph.css | 16 -
public/css/github.min.css | 1 -
public/css/index.css | 306 +-
public/css/semantic-2.2.1.min.css | 11 -
.../css/themes/basic/assets/fonts/icons.eot | Bin 40166 -> 0 bytes
.../css/themes/basic/assets/fonts/icons.svg | 450 -
.../css/themes/basic/assets/fonts/icons.ttf | Bin 39924 -> 0 bytes
.../css/themes/basic/assets/fonts/icons.woff | Bin 24676 -> 0 bytes
.../css/themes/default/assets/fonts/icons.eot | Bin 76518 -> 0 bytes
.../css/themes/default/assets/fonts/icons.otf | Bin 93888 -> 0 bytes
.../css/themes/default/assets/fonts/icons.svg | 685 -
.../css/themes/default/assets/fonts/icons.ttf | Bin 152796 -> 0 bytes
.../themes/default/assets/fonts/icons.woff | Bin 90412 -> 0 bytes
.../themes/default/assets/fonts/icons.woff2 | Bin 71896 -> 0 bytes
.../themes/default/assets/images/flags.png | Bin 28123 -> 0 bytes
public/img/404.png | Bin 4583 -> 4516 bytes
public/img/500.png | Bin 5276 -> 5230 bytes
public/img/auth/bitbucket.png | Bin 0 -> 2161 bytes
public/img/auth/dropbox.png | Bin 0 -> 1427 bytes
public/img/auth/facebook.png | Bin 0 -> 2327 bytes
public/img/{ => auth}/github.png | Bin
public/img/auth/gitlab.png | Bin 0 -> 3616 bytes
public/img/auth/google_plus.png | Bin 0 -> 4366 bytes
public/img/auth/openid_connect.png | Bin 0 -> 12921 bytes
public/img/auth/twitter.png | Bin 0 -> 3110 bytes
public/img/avatar_default.png | Bin 35142 -> 9080 bytes
public/img/emoji/+1.png | Bin 2900 -> 0 bytes
public/img/emoji/-1.png | Bin 5070 -> 0 bytes
public/img/emoji/100.png | Bin 2630 -> 0 bytes
public/img/emoji/1234.png | Bin 2698 -> 0 bytes
public/img/emoji/8ball.png | Bin 3219 -> 0 bytes
public/img/emoji/a.png | Bin 2374 -> 0 bytes
public/img/emoji/ab.png | Bin 2630 -> 0 bytes
public/img/emoji/abc.png | Bin 2550 -> 0 bytes
public/img/emoji/abcd.png | Bin 2670 -> 0 bytes
public/img/emoji/accept.png | Bin 2681 -> 0 bytes
public/img/emoji/aerial_tramway.png | Bin 2166 -> 0 bytes
public/img/emoji/airplane.png | Bin 2529 -> 0 bytes
public/img/emoji/alarm_clock.png | Bin 3383 -> 0 bytes
public/img/emoji/alien.png | Bin 3115 -> 0 bytes
public/img/emoji/ambulance.png | Bin 2512 -> 0 bytes
public/img/emoji/anchor.png | Bin 2414 -> 0 bytes
public/img/emoji/angel.png | Bin 3034 -> 0 bytes
public/img/emoji/anger.png | Bin 2494 -> 0 bytes
public/img/emoji/angry.png | Bin 2945 -> 0 bytes
public/img/emoji/anguished.png | Bin 2931 -> 0 bytes
public/img/emoji/ant.png | Bin 2154 -> 0 bytes
public/img/emoji/apple.png | Bin 3281 -> 0 bytes
public/img/emoji/aquarius.png | Bin 2831 -> 0 bytes
public/img/emoji/aries.png | Bin 2729 -> 0 bytes
public/img/emoji/arrow_backward.png | Bin 2213 -> 0 bytes
public/img/emoji/arrow_double_down.png | Bin 2207 -> 0 bytes
public/img/emoji/arrow_double_up.png | Bin 2339 -> 0 bytes
public/img/emoji/arrow_down.png | Bin 2236 -> 0 bytes
public/img/emoji/arrow_down_small.png | Bin 2172 -> 0 bytes
public/img/emoji/arrow_forward.png | Bin 2216 -> 0 bytes
public/img/emoji/arrow_heading_down.png | Bin 2305 -> 0 bytes
public/img/emoji/arrow_heading_up.png | Bin 2335 -> 0 bytes
public/img/emoji/arrow_left.png | Bin 2177 -> 0 bytes
public/img/emoji/arrow_lower_left.png | Bin 2287 -> 0 bytes
public/img/emoji/arrow_lower_right.png | Bin 2293 -> 0 bytes
public/img/emoji/arrow_right.png | Bin 2169 -> 0 bytes
public/img/emoji/arrow_right_hook.png | Bin 2355 -> 0 bytes
public/img/emoji/arrow_up.png | Bin 2214 -> 0 bytes
public/img/emoji/arrow_up_down.png | Bin 2362 -> 0 bytes
public/img/emoji/arrow_up_small.png | Bin 2248 -> 0 bytes
public/img/emoji/arrow_upper_left.png | Bin 2278 -> 0 bytes
public/img/emoji/arrow_upper_right.png | Bin 2273 -> 0 bytes
public/img/emoji/arrows_clockwise.png | Bin 1399 -> 0 bytes
public/img/emoji/arrows_counterclockwise.png | Bin 2676 -> 0 bytes
public/img/emoji/art.png | Bin 3033 -> 0 bytes
public/img/emoji/articulated_lorry.png | Bin 2178 -> 0 bytes
public/img/emoji/astonished.png | Bin 3121 -> 0 bytes
public/img/emoji/atm.png | Bin 2337 -> 0 bytes
public/img/emoji/b.png | Bin 2426 -> 0 bytes
public/img/emoji/baby.png | Bin 2878 -> 0 bytes
public/img/emoji/baby_bottle.png | Bin 2353 -> 0 bytes
public/img/emoji/baby_chick.png | Bin 2459 -> 0 bytes
public/img/emoji/baby_symbol.png | Bin 2178 -> 0 bytes
public/img/emoji/back.png | Bin 2449 -> 0 bytes
public/img/emoji/baggage_claim.png | Bin 2324 -> 0 bytes
public/img/emoji/balloon.png | Bin 1933 -> 0 bytes
public/img/emoji/ballot_box_with_check.png | Bin 1829 -> 0 bytes
public/img/emoji/bamboo.png | Bin 2482 -> 0 bytes
public/img/emoji/banana.png | Bin 2431 -> 0 bytes
public/img/emoji/bangbang.png | Bin 1387 -> 0 bytes
public/img/emoji/bank.png | Bin 2834 -> 0 bytes
public/img/emoji/bar_chart.png | Bin 2341 -> 0 bytes
public/img/emoji/barber.png | Bin 2405 -> 0 bytes
public/img/emoji/baseball.png | Bin 3528 -> 0 bytes
public/img/emoji/basketball.png | Bin 3238 -> 0 bytes
public/img/emoji/bath.png | Bin 2292 -> 0 bytes
public/img/emoji/bathtub.png | Bin 2188 -> 0 bytes
public/img/emoji/battery.png | Bin 2387 -> 0 bytes
public/img/emoji/bear.png | Bin 3164 -> 0 bytes
public/img/emoji/bee.png | Bin 2835 -> 0 bytes
public/img/emoji/beer.png | Bin 3345 -> 0 bytes
public/img/emoji/beers.png | Bin 3255 -> 0 bytes
public/img/emoji/beetle.png | Bin 2744 -> 0 bytes
public/img/emoji/beginner.png | Bin 2074 -> 0 bytes
public/img/emoji/bell.png | Bin 2752 -> 0 bytes
public/img/emoji/bento.png | Bin 2930 -> 0 bytes
public/img/emoji/bicyclist.png | Bin 3144 -> 0 bytes
public/img/emoji/bike.png | Bin 2675 -> 0 bytes
public/img/emoji/bikini.png | Bin 2248 -> 0 bytes
public/img/emoji/bird.png | Bin 2667 -> 0 bytes
public/img/emoji/birthday.png | Bin 3167 -> 0 bytes
public/img/emoji/black_circle.png | Bin 2346 -> 0 bytes
public/img/emoji/black_joker.png | Bin 2528 -> 0 bytes
.../img/emoji/black_medium_small_square.png | Bin 1865 -> 0 bytes
public/img/emoji/black_medium_square.png | Bin 2358 -> 0 bytes
public/img/emoji/black_nib.png | Bin 2352 -> 0 bytes
public/img/emoji/black_small_square.png | Bin 1569 -> 0 bytes
public/img/emoji/black_square.png | Bin 1332 -> 0 bytes
public/img/emoji/black_square_button.png | Bin 1337 -> 0 bytes
public/img/emoji/blossom.png | Bin 2590 -> 0 bytes
public/img/emoji/blowfish.png | Bin 2160 -> 0 bytes
public/img/emoji/blue_book.png | Bin 2925 -> 0 bytes
public/img/emoji/blue_car.png | Bin 2604 -> 0 bytes
public/img/emoji/blue_heart.png | Bin 2477 -> 0 bytes
public/img/emoji/blush.png | Bin 2986 -> 0 bytes
public/img/emoji/boar.png | Bin 2974 -> 0 bytes
public/img/emoji/boat.png | Bin 2401 -> 0 bytes
public/img/emoji/bomb.png | Bin 3002 -> 0 bytes
public/img/emoji/book.png | Bin 3244 -> 0 bytes
public/img/emoji/bookmark.png | Bin 2619 -> 0 bytes
public/img/emoji/bookmark_tabs.png | Bin 2519 -> 0 bytes
public/img/emoji/books.png | Bin 2968 -> 0 bytes
public/img/emoji/boom.png | Bin 2439 -> 0 bytes
public/img/emoji/boot.png | Bin 2310 -> 0 bytes
public/img/emoji/bouquet.png | Bin 3079 -> 0 bytes
public/img/emoji/bow.png | Bin 2743 -> 0 bytes
public/img/emoji/bowling.png | Bin 3081 -> 0 bytes
public/img/emoji/bowtie.png | Bin 2793 -> 0 bytes
public/img/emoji/boy.png | Bin 2976 -> 0 bytes
public/img/emoji/bread.png | Bin 3454 -> 0 bytes
public/img/emoji/bride_with_veil.png | Bin 3773 -> 0 bytes
public/img/emoji/bridge_at_night.png | Bin 2751 -> 0 bytes
public/img/emoji/briefcase.png | Bin 2120 -> 0 bytes
public/img/emoji/broken_heart.png | Bin 2804 -> 0 bytes
public/img/emoji/bug.png | Bin 2974 -> 0 bytes
public/img/emoji/bulb.png | Bin 2631 -> 0 bytes
public/img/emoji/bullettrain_front.png | Bin 2686 -> 0 bytes
public/img/emoji/bullettrain_side.png | Bin 2400 -> 0 bytes
public/img/emoji/bus.png | Bin 2394 -> 0 bytes
public/img/emoji/busstop.png | Bin 1662 -> 0 bytes
public/img/emoji/bust_in_silhouette.png | Bin 1694 -> 0 bytes
public/img/emoji/busts_in_silhouette.png | Bin 2067 -> 0 bytes
public/img/emoji/cactus.png | Bin 2812 -> 0 bytes
public/img/emoji/cake.png | Bin 2950 -> 0 bytes
public/img/emoji/calendar.png | Bin 2545 -> 0 bytes
public/img/emoji/calling.png | Bin 2591 -> 0 bytes
public/img/emoji/camel.png | Bin 2562 -> 0 bytes
public/img/emoji/camera.png | Bin 2686 -> 0 bytes
public/img/emoji/cancer.png | Bin 2792 -> 0 bytes
public/img/emoji/candy.png | Bin 2424 -> 0 bytes
public/img/emoji/capital_abcd.png | Bin 2861 -> 0 bytes
public/img/emoji/capricorn.png | Bin 2616 -> 0 bytes
public/img/emoji/car.png | Bin 2680 -> 0 bytes
public/img/emoji/card_index.png | Bin 2901 -> 0 bytes
public/img/emoji/carousel_horse.png | Bin 2945 -> 0 bytes
public/img/emoji/cat.png | Bin 3215 -> 0 bytes
public/img/emoji/cat2.png | Bin 2794 -> 0 bytes
public/img/emoji/cd.png | Bin 3334 -> 0 bytes
public/img/emoji/chart.png | Bin 2712 -> 0 bytes
.../img/emoji/chart_with_downwards_trend.png | Bin 2334 -> 0 bytes
public/img/emoji/chart_with_upwards_trend.png | Bin 2310 -> 0 bytes
public/img/emoji/checkered_flag.png | Bin 1675 -> 0 bytes
public/img/emoji/cherries.png | Bin 2991 -> 0 bytes
public/img/emoji/cherry_blossom.png | Bin 3423 -> 0 bytes
public/img/emoji/chestnut.png | Bin 3231 -> 0 bytes
public/img/emoji/chicken.png | Bin 2670 -> 0 bytes
public/img/emoji/children_crossing.png | Bin 2216 -> 0 bytes
public/img/emoji/chocolate_bar.png | Bin 2477 -> 0 bytes
public/img/emoji/christmas_tree.png | Bin 2495 -> 0 bytes
public/img/emoji/church.png | Bin 2787 -> 0 bytes
public/img/emoji/cinema.png | Bin 2310 -> 0 bytes
public/img/emoji/circus_tent.png | Bin 2553 -> 0 bytes
public/img/emoji/city_sunrise.png | Bin 3103 -> 0 bytes
public/img/emoji/city_sunset.png | Bin 2815 -> 0 bytes
public/img/emoji/cl.png | Bin 2429 -> 0 bytes
public/img/emoji/clap.png | Bin 3508 -> 0 bytes
public/img/emoji/clapper.png | Bin 2587 -> 0 bytes
public/img/emoji/clipboard.png | Bin 3012 -> 0 bytes
public/img/emoji/clock1.png | Bin 2590 -> 0 bytes
public/img/emoji/clock10.png | Bin 2590 -> 0 bytes
public/img/emoji/clock1030.png | Bin 2817 -> 0 bytes
public/img/emoji/clock11.png | Bin 2587 -> 0 bytes
public/img/emoji/clock1130.png | Bin 2854 -> 0 bytes
public/img/emoji/clock12.png | Bin 2504 -> 0 bytes
public/img/emoji/clock1230.png | Bin 2797 -> 0 bytes
public/img/emoji/clock130.png | Bin 2837 -> 0 bytes
public/img/emoji/clock2.png | Bin 2595 -> 0 bytes
public/img/emoji/clock230.png | Bin 2853 -> 0 bytes
public/img/emoji/clock3.png | Bin 2492 -> 0 bytes
public/img/emoji/clock330.png | Bin 2739 -> 0 bytes
public/img/emoji/clock4.png | Bin 2619 -> 0 bytes
public/img/emoji/clock430.png | Bin 2803 -> 0 bytes
public/img/emoji/clock5.png | Bin 2624 -> 0 bytes
public/img/emoji/clock530.png | Bin 2832 -> 0 bytes
public/img/emoji/clock6.png | Bin 2577 -> 0 bytes
public/img/emoji/clock630.png | Bin 2730 -> 0 bytes
public/img/emoji/clock7.png | Bin 2615 -> 0 bytes
public/img/emoji/clock730.png | Bin 2794 -> 0 bytes
public/img/emoji/clock8.png | Bin 2603 -> 0 bytes
public/img/emoji/clock830.png | Bin 2792 -> 0 bytes
public/img/emoji/clock9.png | Bin 2486 -> 0 bytes
public/img/emoji/clock930.png | Bin 2746 -> 0 bytes
public/img/emoji/closed_book.png | Bin 2647 -> 0 bytes
public/img/emoji/closed_lock_with_key.png | Bin 2920 -> 0 bytes
public/img/emoji/closed_umbrella.png | Bin 2278 -> 0 bytes
public/img/emoji/cloud.png | Bin 2456 -> 0 bytes
public/img/emoji/clubs.png | Bin 1685 -> 0 bytes
public/img/emoji/cn.png | Bin 2624 -> 0 bytes
public/img/emoji/cocktail.png | Bin 1934 -> 0 bytes
public/img/emoji/coffee.png | Bin 2960 -> 0 bytes
public/img/emoji/cold_sweat.png | Bin 2722 -> 0 bytes
public/img/emoji/collision.png | Bin 2439 -> 0 bytes
public/img/emoji/computer.png | Bin 1705 -> 0 bytes
public/img/emoji/confetti_ball.png | Bin 2678 -> 0 bytes
public/img/emoji/confounded.png | Bin 3140 -> 0 bytes
public/img/emoji/confused.png | Bin 2808 -> 0 bytes
public/img/emoji/congratulations.png | Bin 2998 -> 0 bytes
public/img/emoji/construction.png | Bin 2229 -> 0 bytes
public/img/emoji/construction_worker.png | Bin 3027 -> 0 bytes
public/img/emoji/convenience_store.png | Bin 2356 -> 0 bytes
public/img/emoji/cookie.png | Bin 3810 -> 0 bytes
public/img/emoji/cool.png | Bin 2517 -> 0 bytes
public/img/emoji/cop.png | Bin 3238 -> 0 bytes
public/img/emoji/copyright.png | Bin 1579 -> 0 bytes
public/img/emoji/corn.png | Bin 3057 -> 0 bytes
public/img/emoji/couple.png | Bin 3465 -> 0 bytes
public/img/emoji/couple_with_heart.png | Bin 3164 -> 0 bytes
public/img/emoji/couplekiss.png | Bin 3259 -> 0 bytes
public/img/emoji/cow.png | Bin 2933 -> 0 bytes
public/img/emoji/cow2.png | Bin 2788 -> 0 bytes
public/img/emoji/credit_card.png | Bin 2052 -> 0 bytes
public/img/emoji/crescent_moon.png | Bin 2282 -> 0 bytes
public/img/emoji/crocodile.png | Bin 3267 -> 0 bytes
public/img/emoji/crossed_flags.png | Bin 2426 -> 0 bytes
public/img/emoji/crown.png | Bin 2815 -> 0 bytes
public/img/emoji/cry.png | Bin 2960 -> 0 bytes
public/img/emoji/crying_cat_face.png | Bin 3200 -> 0 bytes
public/img/emoji/crystal_ball.png | Bin 3073 -> 0 bytes
public/img/emoji/cupid.png | Bin 2805 -> 0 bytes
public/img/emoji/curly_loop.png | Bin 1129 -> 0 bytes
public/img/emoji/currency_exchange.png | Bin 1959 -> 0 bytes
public/img/emoji/curry.png | Bin 2940 -> 0 bytes
public/img/emoji/custard.png | Bin 2944 -> 0 bytes
public/img/emoji/customs.png | Bin 2414 -> 0 bytes
public/img/emoji/cyclone.png | Bin 2753 -> 0 bytes
public/img/emoji/dancer.png | Bin 2536 -> 0 bytes
public/img/emoji/dancers.png | Bin 3290 -> 0 bytes
public/img/emoji/dango.png | Bin 2439 -> 0 bytes
public/img/emoji/dart.png | Bin 2996 -> 0 bytes
public/img/emoji/dash.png | Bin 2984 -> 0 bytes
public/img/emoji/date.png | Bin 2596 -> 0 bytes
public/img/emoji/de.png | Bin 2220 -> 0 bytes
public/img/emoji/deciduous_tree.png | Bin 3517 -> 0 bytes
public/img/emoji/department_store.png | Bin 2829 -> 0 bytes
.../emoji/diamond_shape_with_a_dot_inside.png | Bin 3097 -> 0 bytes
public/img/emoji/diamonds.png | Bin 2405 -> 0 bytes
public/img/emoji/disappointed.png | Bin 2904 -> 0 bytes
public/img/emoji/disappointed_relieved.png | Bin 3160 -> 0 bytes
public/img/emoji/dizzy.png | Bin 2045 -> 0 bytes
public/img/emoji/dizzy_face.png | Bin 3191 -> 0 bytes
public/img/emoji/do_not_litter.png | Bin 2994 -> 0 bytes
public/img/emoji/dog.png | Bin 3050 -> 0 bytes
public/img/emoji/dog2.png | Bin 3039 -> 0 bytes
public/img/emoji/dollar.png | Bin 2687 -> 0 bytes
public/img/emoji/dolls.png | Bin 3476 -> 0 bytes
public/img/emoji/dolphin.png | Bin 2457 -> 0 bytes
public/img/emoji/donut.png | Bin 2926 -> 0 bytes
public/img/emoji/door.png | Bin 2729 -> 0 bytes
public/img/emoji/doughnut.png | Bin 2926 -> 0 bytes
public/img/emoji/dragon.png | Bin 3595 -> 0 bytes
public/img/emoji/dragon_face.png | Bin 3357 -> 0 bytes
public/img/emoji/dress.png | Bin 2414 -> 0 bytes
public/img/emoji/dromedary_camel.png | Bin 2665 -> 0 bytes
public/img/emoji/droplet.png | Bin 2282 -> 0 bytes
public/img/emoji/dvd.png | Bin 3405 -> 0 bytes
public/img/emoji/e-mail.png | Bin 2059 -> 0 bytes
public/img/emoji/ear.png | Bin 2668 -> 0 bytes
public/img/emoji/ear_of_rice.png | Bin 2598 -> 0 bytes
public/img/emoji/earth_africa.png | Bin 3066 -> 0 bytes
public/img/emoji/earth_americas.png | Bin 3193 -> 0 bytes
public/img/emoji/earth_asia.png | Bin 3315 -> 0 bytes
public/img/emoji/egg.png | Bin 3063 -> 0 bytes
public/img/emoji/eggplant.png | Bin 2735 -> 0 bytes
public/img/emoji/eight.png | Bin 2379 -> 0 bytes
public/img/emoji/eight_pointed_black_star.png | Bin 2337 -> 0 bytes
public/img/emoji/eight_spoked_asterisk.png | Bin 2769 -> 0 bytes
public/img/emoji/electric_plug.png | Bin 2180 -> 0 bytes
public/img/emoji/elephant.png | Bin 2994 -> 0 bytes
public/img/emoji/email.png | Bin 2543 -> 0 bytes
public/img/emoji/end.png | Bin 1134 -> 0 bytes
public/img/emoji/envelope.png | Bin 1655 -> 0 bytes
public/img/emoji/es.png | Bin 2472 -> 0 bytes
public/img/emoji/euro.png | Bin 2409 -> 0 bytes
public/img/emoji/european_castle.png | Bin 3093 -> 0 bytes
public/img/emoji/european_post_office.png | Bin 2751 -> 0 bytes
public/img/emoji/evergreen_tree.png | Bin 2603 -> 0 bytes
public/img/emoji/exclamation.png | Bin 1175 -> 0 bytes
public/img/emoji/expressionless.png | Bin 2719 -> 0 bytes
public/img/emoji/eyeglasses.png | Bin 2945 -> 0 bytes
public/img/emoji/eyes.png | Bin 2844 -> 0 bytes
public/img/emoji/facepunch.png | Bin 2908 -> 0 bytes
public/img/emoji/factory.png | Bin 3014 -> 0 bytes
public/img/emoji/fallen_leaf.png | Bin 2618 -> 0 bytes
public/img/emoji/family.png | Bin 3220 -> 0 bytes
public/img/emoji/fast_forward.png | Bin 2252 -> 0 bytes
public/img/emoji/fax.png | Bin 2579 -> 0 bytes
public/img/emoji/fearful.png | Bin 2918 -> 0 bytes
public/img/emoji/feelsgood.png | Bin 1145 -> 0 bytes
public/img/emoji/feet.png | Bin 1529 -> 0 bytes
public/img/emoji/ferris_wheel.png | Bin 2903 -> 0 bytes
public/img/emoji/file_folder.png | Bin 2805 -> 0 bytes
public/img/emoji/finnadie.png | Bin 1169 -> 0 bytes
public/img/emoji/fire.png | Bin 2778 -> 0 bytes
public/img/emoji/fire_engine.png | Bin 2781 -> 0 bytes
public/img/emoji/fireworks.png | Bin 3197 -> 0 bytes
public/img/emoji/first_quarter_moon.png | Bin 3076 -> 0 bytes
.../emoji/first_quarter_moon_with_face.png | Bin 2468 -> 0 bytes
public/img/emoji/fish.png | Bin 2508 -> 0 bytes
public/img/emoji/fish_cake.png | Bin 3327 -> 0 bytes
public/img/emoji/fishing_pole_and_fish.png | Bin 2481 -> 0 bytes
public/img/emoji/fist.png | Bin 3282 -> 0 bytes
public/img/emoji/five.png | Bin 2342 -> 0 bytes
public/img/emoji/flags.png | Bin 2648 -> 0 bytes
public/img/emoji/flashlight.png | Bin 2699 -> 0 bytes
public/img/emoji/floppy_disk.png | Bin 2966 -> 0 bytes
public/img/emoji/flower_playing_cards.png | Bin 2354 -> 0 bytes
public/img/emoji/flushed.png | Bin 3106 -> 0 bytes
public/img/emoji/foggy.png | Bin 2932 -> 0 bytes
public/img/emoji/football.png | Bin 3110 -> 0 bytes
public/img/emoji/fork_and_knife.png | Bin 2296 -> 0 bytes
public/img/emoji/fountain.png | Bin 2885 -> 0 bytes
public/img/emoji/four.png | Bin 2238 -> 0 bytes
public/img/emoji/four_leaf_clover.png | Bin 3159 -> 0 bytes
public/img/emoji/fr.png | Bin 2398 -> 0 bytes
public/img/emoji/free.png | Bin 2304 -> 0 bytes
public/img/emoji/fried_shrimp.png | Bin 3561 -> 0 bytes
public/img/emoji/fries.png | Bin 3243 -> 0 bytes
public/img/emoji/frog.png | Bin 2844 -> 0 bytes
public/img/emoji/frowning.png | Bin 2877 -> 0 bytes
public/img/emoji/fu.png | Bin 2614 -> 0 bytes
public/img/emoji/fuelpump.png | Bin 2540 -> 0 bytes
public/img/emoji/full_moon.png | Bin 3601 -> 0 bytes
public/img/emoji/full_moon_with_face.png | Bin 3688 -> 0 bytes
public/img/emoji/game_die.png | Bin 2273 -> 0 bytes
public/img/emoji/gb.png | Bin 2832 -> 0 bytes
public/img/emoji/gem.png | Bin 2708 -> 0 bytes
public/img/emoji/gemini.png | Bin 2607 -> 0 bytes
public/img/emoji/ghost.png | Bin 3315 -> 0 bytes
public/img/emoji/gift.png | Bin 3159 -> 0 bytes
public/img/emoji/gift_heart.png | Bin 2841 -> 0 bytes
public/img/emoji/girl.png | Bin 3221 -> 0 bytes
public/img/emoji/globe_with_meridians.png | Bin 3431 -> 0 bytes
public/img/emoji/goat.png | Bin 2813 -> 0 bytes
public/img/emoji/goberserk.png | Bin 1334 -> 0 bytes
public/img/emoji/godmode.png | Bin 1031 -> 0 bytes
public/img/emoji/golf.png | Bin 2335 -> 0 bytes
public/img/emoji/grapes.png | Bin 2966 -> 0 bytes
public/img/emoji/green_apple.png | Bin 3140 -> 0 bytes
public/img/emoji/green_book.png | Bin 2744 -> 0 bytes
public/img/emoji/green_heart.png | Bin 2467 -> 0 bytes
public/img/emoji/grey_exclamation.png | Bin 790 -> 0 bytes
public/img/emoji/grey_question.png | Bin 1057 -> 0 bytes
public/img/emoji/grimacing.png | Bin 2778 -> 0 bytes
public/img/emoji/grin.png | Bin 2914 -> 0 bytes
public/img/emoji/grinning.png | Bin 2890 -> 0 bytes
public/img/emoji/guardsman.png | Bin 2753 -> 0 bytes
public/img/emoji/guitar.png | Bin 2349 -> 0 bytes
public/img/emoji/gun.png | Bin 2088 -> 0 bytes
public/img/emoji/haircut.png | Bin 3268 -> 0 bytes
public/img/emoji/hamburger.png | Bin 2932 -> 0 bytes
public/img/emoji/hammer.png | Bin 2260 -> 0 bytes
public/img/emoji/hamster.png | Bin 3281 -> 0 bytes
public/img/emoji/hand.png | Bin 2703 -> 0 bytes
public/img/emoji/handbag.png | Bin 2934 -> 0 bytes
public/img/emoji/hankey.png | Bin 2711 -> 0 bytes
public/img/emoji/hash.png | Bin 2426 -> 0 bytes
public/img/emoji/hatched_chick.png | Bin 2941 -> 0 bytes
public/img/emoji/hatching_chick.png | Bin 3226 -> 0 bytes
public/img/emoji/headphones.png | Bin 1910 -> 0 bytes
public/img/emoji/hear_no_evil.png | Bin 3457 -> 0 bytes
public/img/emoji/heart.png | Bin 2435 -> 0 bytes
public/img/emoji/heart_decoration.png | Bin 2277 -> 0 bytes
public/img/emoji/heart_eyes.png | Bin 3004 -> 0 bytes
public/img/emoji/heart_eyes_cat.png | Bin 3033 -> 0 bytes
public/img/emoji/heartbeat.png | Bin 2282 -> 0 bytes
public/img/emoji/heartpulse.png | Bin 2825 -> 0 bytes
public/img/emoji/hearts.png | Bin 2395 -> 0 bytes
public/img/emoji/heavy_check_mark.png | Bin 924 -> 0 bytes
public/img/emoji/heavy_division_sign.png | Bin 264 -> 0 bytes
public/img/emoji/heavy_dollar_sign.png | Bin 1150 -> 0 bytes
public/img/emoji/heavy_exclamation_mark.png | Bin 1315 -> 0 bytes
public/img/emoji/heavy_minus_sign.png | Bin 176 -> 0 bytes
public/img/emoji/heavy_multiplication_x.png | Bin 591 -> 0 bytes
public/img/emoji/heavy_plus_sign.png | Bin 264 -> 0 bytes
public/img/emoji/helicopter.png | Bin 2258 -> 0 bytes
public/img/emoji/herb.png | Bin 2914 -> 0 bytes
public/img/emoji/hibiscus.png | Bin 3768 -> 0 bytes
public/img/emoji/high_brightness.png | Bin 2590 -> 0 bytes
public/img/emoji/high_heel.png | Bin 2705 -> 0 bytes
public/img/emoji/hocho.png | Bin 1991 -> 0 bytes
public/img/emoji/honey_pot.png | Bin 3059 -> 0 bytes
public/img/emoji/honeybee.png | Bin 2835 -> 0 bytes
public/img/emoji/horse.png | Bin 2744 -> 0 bytes
public/img/emoji/horse_racing.png | Bin 2945 -> 0 bytes
public/img/emoji/hospital.png | Bin 2895 -> 0 bytes
public/img/emoji/hotel.png | Bin 2965 -> 0 bytes
public/img/emoji/hotsprings.png | Bin 2446 -> 0 bytes
public/img/emoji/hourglass.png | Bin 2490 -> 0 bytes
public/img/emoji/hourglass_flowing_sand.png | Bin 2461 -> 0 bytes
public/img/emoji/house.png | Bin 2222 -> 0 bytes
public/img/emoji/house_with_garden.png | Bin 2874 -> 0 bytes
public/img/emoji/hurtrealbad.png | Bin 1454 -> 0 bytes
public/img/emoji/hushed.png | Bin 2904 -> 0 bytes
public/img/emoji/ice_cream.png | Bin 3069 -> 0 bytes
public/img/emoji/icecream.png | Bin 2587 -> 0 bytes
public/img/emoji/id.png | Bin 2477 -> 0 bytes
public/img/emoji/ideograph_advantage.png | Bin 2598 -> 0 bytes
public/img/emoji/imp.png | Bin 3399 -> 0 bytes
public/img/emoji/inbox_tray.png | Bin 2340 -> 0 bytes
public/img/emoji/incoming_envelope.png | Bin 2180 -> 0 bytes
public/img/emoji/information_desk_person.png | Bin 3132 -> 0 bytes
public/img/emoji/information_source.png | Bin 2391 -> 0 bytes
public/img/emoji/innocent.png | Bin 3260 -> 0 bytes
public/img/emoji/interrobang.png | Bin 2099 -> 0 bytes
public/img/emoji/iphone.png | Bin 2478 -> 0 bytes
public/img/emoji/it.png | Bin 2305 -> 0 bytes
public/img/emoji/izakaya_lantern.png | Bin 2680 -> 0 bytes
public/img/emoji/jack_o_lantern.png | Bin 3178 -> 0 bytes
public/img/emoji/japan.png | Bin 2773 -> 0 bytes
public/img/emoji/japanese_castle.png | Bin 2749 -> 0 bytes
public/img/emoji/japanese_goblin.png | Bin 2673 -> 0 bytes
public/img/emoji/japanese_ogre.png | Bin 3546 -> 0 bytes
public/img/emoji/jeans.png | Bin 2696 -> 0 bytes
public/img/emoji/joy.png | Bin 3031 -> 0 bytes
public/img/emoji/joy_cat.png | Bin 3239 -> 0 bytes
public/img/emoji/jp.png | Bin 2606 -> 0 bytes
public/img/emoji/key.png | Bin 2125 -> 0 bytes
public/img/emoji/keycap_ten.png | Bin 2547 -> 0 bytes
public/img/emoji/kimono.png | Bin 2721 -> 0 bytes
public/img/emoji/kiss.png | Bin 2969 -> 0 bytes
public/img/emoji/kissing.png | Bin 2872 -> 0 bytes
public/img/emoji/kissing_cat.png | Bin 3257 -> 0 bytes
public/img/emoji/kissing_closed_eyes.png | Bin 3056 -> 0 bytes
public/img/emoji/kissing_face.png | Bin 3056 -> 0 bytes
public/img/emoji/kissing_heart.png | Bin 3068 -> 0 bytes
public/img/emoji/kissing_smiling_eyes.png | Bin 2882 -> 0 bytes
public/img/emoji/koala.png | Bin 3376 -> 0 bytes
public/img/emoji/koko.png | Bin 2228 -> 0 bytes
public/img/emoji/kr.png | Bin 2880 -> 0 bytes
public/img/emoji/large_blue_circle.png | Bin 2799 -> 0 bytes
public/img/emoji/large_blue_diamond.png | Bin 2269 -> 0 bytes
public/img/emoji/large_orange_diamond.png | Bin 2313 -> 0 bytes
public/img/emoji/last_quarter_moon.png | Bin 3287 -> 0 bytes
.../img/emoji/last_quarter_moon_with_face.png | Bin 2547 -> 0 bytes
public/img/emoji/laughing.png | Bin 3113 -> 0 bytes
public/img/emoji/leaves.png | Bin 3038 -> 0 bytes
public/img/emoji/ledger.png | Bin 3388 -> 0 bytes
public/img/emoji/left_luggage.png | Bin 2491 -> 0 bytes
public/img/emoji/left_right_arrow.png | Bin 2289 -> 0 bytes
.../img/emoji/leftwards_arrow_with_hook.png | Bin 2386 -> 0 bytes
public/img/emoji/lemon.png | Bin 3314 -> 0 bytes
public/img/emoji/leo.png | Bin 2689 -> 0 bytes
public/img/emoji/leopard.png | Bin 2575 -> 0 bytes
public/img/emoji/libra.png | Bin 2499 -> 0 bytes
public/img/emoji/light_rail.png | Bin 2389 -> 0 bytes
public/img/emoji/link.png | Bin 2619 -> 0 bytes
public/img/emoji/lips.png | Bin 2367 -> 0 bytes
public/img/emoji/lipstick.png | Bin 2310 -> 0 bytes
public/img/emoji/lock.png | Bin 2476 -> 0 bytes
public/img/emoji/lock_with_ink_pen.png | Bin 2887 -> 0 bytes
public/img/emoji/lollipop.png | Bin 2560 -> 0 bytes
public/img/emoji/loop.png | Bin 2339 -> 0 bytes
public/img/emoji/loudspeaker.png | Bin 2871 -> 0 bytes
public/img/emoji/love_hotel.png | Bin 2847 -> 0 bytes
public/img/emoji/love_letter.png | Bin 2065 -> 0 bytes
public/img/emoji/low_brightness.png | Bin 1959 -> 0 bytes
public/img/emoji/m.png | Bin 2738 -> 0 bytes
public/img/emoji/mag.png | Bin 2808 -> 0 bytes
public/img/emoji/mag_right.png | Bin 2604 -> 0 bytes
public/img/emoji/mahjong.png | Bin 2282 -> 0 bytes
public/img/emoji/mailbox.png | Bin 2472 -> 0 bytes
public/img/emoji/mailbox_closed.png | Bin 2327 -> 0 bytes
public/img/emoji/mailbox_with_mail.png | Bin 2674 -> 0 bytes
public/img/emoji/mailbox_with_no_mail.png | Bin 2240 -> 0 bytes
public/img/emoji/man.png | Bin 3031 -> 0 bytes
public/img/emoji/man_with_gua_pi_mao.png | Bin 2896 -> 0 bytes
public/img/emoji/man_with_turban.png | Bin 3334 -> 0 bytes
public/img/emoji/mans_shoe.png | Bin 2626 -> 0 bytes
public/img/emoji/maple_leaf.png | Bin 2471 -> 0 bytes
public/img/emoji/mask.png | Bin 2809 -> 0 bytes
public/img/emoji/massage.png | Bin 3025 -> 0 bytes
public/img/emoji/meat_on_bone.png | Bin 2895 -> 0 bytes
public/img/emoji/mega.png | Bin 2743 -> 0 bytes
public/img/emoji/melon.png | Bin 3638 -> 0 bytes
public/img/emoji/memo.png | Bin 2859 -> 0 bytes
public/img/emoji/mens.png | Bin 2334 -> 0 bytes
public/img/emoji/metal.png | Bin 2200 -> 0 bytes
public/img/emoji/metro.png | Bin 2385 -> 0 bytes
public/img/emoji/microphone.png | Bin 2417 -> 0 bytes
public/img/emoji/microscope.png | Bin 2711 -> 0 bytes
public/img/emoji/milky_way.png | Bin 3190 -> 0 bytes
public/img/emoji/minibus.png | Bin 2293 -> 0 bytes
public/img/emoji/minidisc.png | Bin 3036 -> 0 bytes
public/img/emoji/mobile_phone_off.png | Bin 2541 -> 0 bytes
public/img/emoji/money_with_wings.png | Bin 3389 -> 0 bytes
public/img/emoji/moneybag.png | Bin 2839 -> 0 bytes
public/img/emoji/monkey.png | Bin 2649 -> 0 bytes
public/img/emoji/monkey_face.png | Bin 2961 -> 0 bytes
public/img/emoji/monorail.png | Bin 2493 -> 0 bytes
public/img/emoji/mortar_board.png | Bin 2497 -> 0 bytes
public/img/emoji/mount_fuji.png | Bin 2765 -> 0 bytes
public/img/emoji/mountain_bicyclist.png | Bin 3733 -> 0 bytes
public/img/emoji/mountain_cableway.png | Bin 2604 -> 0 bytes
public/img/emoji/mountain_railway.png | Bin 3100 -> 0 bytes
public/img/emoji/mouse.png | Bin 3419 -> 0 bytes
public/img/emoji/mouse2.png | Bin 2519 -> 0 bytes
public/img/emoji/movie_camera.png | Bin 2956 -> 0 bytes
public/img/emoji/moyai.png | Bin 2166 -> 0 bytes
public/img/emoji/muscle.png | Bin 2678 -> 0 bytes
public/img/emoji/mushroom.png | Bin 2587 -> 0 bytes
public/img/emoji/musical_keyboard.png | Bin 1944 -> 0 bytes
public/img/emoji/musical_note.png | Bin 2308 -> 0 bytes
public/img/emoji/musical_score.png | Bin 1497 -> 0 bytes
public/img/emoji/mute.png | Bin 3285 -> 0 bytes
public/img/emoji/nail_care.png | Bin 2825 -> 0 bytes
public/img/emoji/name_badge.png | Bin 2800 -> 0 bytes
public/img/emoji/neckbeard.png | Bin 3167 -> 0 bytes
public/img/emoji/necktie.png | Bin 3336 -> 0 bytes
.../img/emoji/negative_squared_cross_mark.png | Bin 2332 -> 0 bytes
public/img/emoji/neutral_face.png | Bin 2906 -> 0 bytes
public/img/emoji/new.png | Bin 2517 -> 0 bytes
public/img/emoji/new_moon.png | Bin 3604 -> 0 bytes
public/img/emoji/new_moon_with_face.png | Bin 3662 -> 0 bytes
public/img/emoji/newspaper.png | Bin 3557 -> 0 bytes
public/img/emoji/ng.png | Bin 2554 -> 0 bytes
public/img/emoji/nine.png | Bin 2397 -> 0 bytes
public/img/emoji/no_bell.png | Bin 2700 -> 0 bytes
public/img/emoji/no_bicycles.png | Bin 3080 -> 0 bytes
public/img/emoji/no_entry.png | Bin 2310 -> 0 bytes
public/img/emoji/no_entry_sign.png | Bin 2357 -> 0 bytes
public/img/emoji/no_good.png | Bin 3137 -> 0 bytes
public/img/emoji/no_mobile_phones.png | Bin 2954 -> 0 bytes
public/img/emoji/no_mouth.png | Bin 2891 -> 0 bytes
public/img/emoji/no_pedestrians.png | Bin 3064 -> 0 bytes
public/img/emoji/no_smoking.png | Bin 2404 -> 0 bytes
public/img/emoji/non-potable_water.png | Bin 2952 -> 0 bytes
public/img/emoji/nose.png | Bin 2524 -> 0 bytes
public/img/emoji/notebook.png | Bin 3506 -> 0 bytes
.../emoji/notebook_with_decorative_cover.png | Bin 2991 -> 0 bytes
public/img/emoji/notes.png | Bin 1536 -> 0 bytes
public/img/emoji/nut_and_bolt.png | Bin 2169 -> 0 bytes
public/img/emoji/o.png | Bin 2163 -> 0 bytes
public/img/emoji/o2.png | Bin 2418 -> 0 bytes
public/img/emoji/ocean.png | Bin 2834 -> 0 bytes
public/img/emoji/octocat.png | Bin 2520 -> 0 bytes
public/img/emoji/octopus.png | Bin 3115 -> 0 bytes
public/img/emoji/oden.png | Bin 2661 -> 0 bytes
public/img/emoji/office.png | Bin 3058 -> 0 bytes
public/img/emoji/ok.png | Bin 2498 -> 0 bytes
public/img/emoji/ok_hand.png | Bin 2606 -> 0 bytes
public/img/emoji/ok_woman.png | Bin 3544 -> 0 bytes
public/img/emoji/older_man.png | Bin 3169 -> 0 bytes
public/img/emoji/older_woman.png | Bin 3314 -> 0 bytes
public/img/emoji/on.png | Bin 1472 -> 0 bytes
public/img/emoji/oncoming_automobile.png | Bin 3289 -> 0 bytes
public/img/emoji/oncoming_bus.png | Bin 2551 -> 0 bytes
public/img/emoji/oncoming_police_car.png | Bin 2886 -> 0 bytes
public/img/emoji/oncoming_taxi.png | Bin 2895 -> 0 bytes
public/img/emoji/one.png | Bin 2171 -> 0 bytes
public/img/emoji/open_file_folder.png | Bin 2840 -> 0 bytes
public/img/emoji/open_hands.png | Bin 2812 -> 0 bytes
public/img/emoji/open_mouth.png | Bin 2809 -> 0 bytes
public/img/emoji/ophiuchus.png | Bin 2567 -> 0 bytes
public/img/emoji/orange_book.png | Bin 2757 -> 0 bytes
public/img/emoji/outbox_tray.png | Bin 2349 -> 0 bytes
public/img/emoji/ox.png | Bin 3212 -> 0 bytes
public/img/emoji/package.png | Bin 2895 -> 0 bytes
public/img/emoji/page_facing_up.png | Bin 2178 -> 0 bytes
public/img/emoji/page_with_curl.png | Bin 2945 -> 0 bytes
public/img/emoji/pager.png | Bin 2502 -> 0 bytes
public/img/emoji/palm_tree.png | Bin 2326 -> 0 bytes
public/img/emoji/panda_face.png | Bin 3183 -> 0 bytes
public/img/emoji/paperclip.png | Bin 1995 -> 0 bytes
public/img/emoji/parking.png | Bin 2241 -> 0 bytes
public/img/emoji/part_alternation_mark.png | Bin 1947 -> 0 bytes
public/img/emoji/partly_sunny.png | Bin 2838 -> 0 bytes
public/img/emoji/passport_control.png | Bin 2426 -> 0 bytes
public/img/emoji/paw_prints.png | Bin 2016 -> 0 bytes
public/img/emoji/peach.png | Bin 3109 -> 0 bytes
public/img/emoji/pear.png | Bin 3482 -> 0 bytes
public/img/emoji/pencil.png | Bin 2859 -> 0 bytes
public/img/emoji/pencil2.png | Bin 2398 -> 0 bytes
public/img/emoji/penguin.png | Bin 2640 -> 0 bytes
public/img/emoji/pensive.png | Bin 2920 -> 0 bytes
public/img/emoji/performing_arts.png | Bin 2979 -> 0 bytes
public/img/emoji/persevere.png | Bin 3076 -> 0 bytes
public/img/emoji/person_frowning.png | Bin 2631 -> 0 bytes
public/img/emoji/person_with_blond_hair.png | Bin 2985 -> 0 bytes
public/img/emoji/person_with_pouting_face.png | Bin 2839 -> 0 bytes
public/img/emoji/phone.png | Bin 2727 -> 0 bytes
public/img/emoji/pig.png | Bin 3027 -> 0 bytes
public/img/emoji/pig2.png | Bin 2733 -> 0 bytes
public/img/emoji/pig_nose.png | Bin 2668 -> 0 bytes
public/img/emoji/pill.png | Bin 2770 -> 0 bytes
public/img/emoji/pineapple.png | Bin 2759 -> 0 bytes
public/img/emoji/pisces.png | Bin 2612 -> 0 bytes
public/img/emoji/pizza.png | Bin 2770 -> 0 bytes
public/img/emoji/plus1.png | Bin 2900 -> 0 bytes
public/img/emoji/point_down.png | Bin 2200 -> 0 bytes
public/img/emoji/point_left.png | Bin 2207 -> 0 bytes
public/img/emoji/point_right.png | Bin 2228 -> 0 bytes
public/img/emoji/point_up.png | Bin 2268 -> 0 bytes
public/img/emoji/point_up_2.png | Bin 2227 -> 0 bytes
public/img/emoji/police_car.png | Bin 2571 -> 0 bytes
public/img/emoji/poodle.png | Bin 3264 -> 0 bytes
public/img/emoji/poop.png | Bin 2711 -> 0 bytes
public/img/emoji/post_office.png | Bin 2668 -> 0 bytes
public/img/emoji/postal_horn.png | Bin 2550 -> 0 bytes
public/img/emoji/postbox.png | Bin 2454 -> 0 bytes
public/img/emoji/potable_water.png | Bin 2479 -> 0 bytes
public/img/emoji/pouch.png | Bin 2829 -> 0 bytes
public/img/emoji/poultry_leg.png | Bin 2505 -> 0 bytes
public/img/emoji/pound.png | Bin 2570 -> 0 bytes
public/img/emoji/pouting_cat.png | Bin 2899 -> 0 bytes
public/img/emoji/pray.png | Bin 3136 -> 0 bytes
public/img/emoji/princess.png | Bin 3489 -> 0 bytes
public/img/emoji/punch.png | Bin 2908 -> 0 bytes
public/img/emoji/purple_heart.png | Bin 2460 -> 0 bytes
public/img/emoji/purse.png | Bin 2824 -> 0 bytes
public/img/emoji/pushpin.png | Bin 2376 -> 0 bytes
public/img/emoji/put_litter_in_its_place.png | Bin 2554 -> 0 bytes
public/img/emoji/question.png | Bin 1640 -> 0 bytes
public/img/emoji/rabbit.png | Bin 3238 -> 0 bytes
public/img/emoji/rabbit2.png | Bin 2529 -> 0 bytes
public/img/emoji/racehorse.png | Bin 2597 -> 0 bytes
public/img/emoji/radio.png | Bin 3248 -> 0 bytes
public/img/emoji/radio_button.png | Bin 2198 -> 0 bytes
public/img/emoji/rage.png | Bin 3117 -> 0 bytes
public/img/emoji/rage1.png | Bin 1082 -> 0 bytes
public/img/emoji/rage2.png | Bin 1087 -> 0 bytes
public/img/emoji/rage3.png | Bin 1119 -> 0 bytes
public/img/emoji/rage4.png | Bin 1270 -> 0 bytes
public/img/emoji/railway_car.png | Bin 2299 -> 0 bytes
public/img/emoji/rainbow.png | Bin 2623 -> 0 bytes
public/img/emoji/raised_hand.png | Bin 2703 -> 0 bytes
public/img/emoji/raised_hands.png | Bin 3122 -> 0 bytes
public/img/emoji/raising_hand.png | Bin 2993 -> 0 bytes
public/img/emoji/ram.png | Bin 3315 -> 0 bytes
public/img/emoji/ramen.png | Bin 3209 -> 0 bytes
public/img/emoji/rat.png | Bin 3014 -> 0 bytes
public/img/emoji/recycle.png | Bin 2369 -> 0 bytes
public/img/emoji/red_car.png | Bin 2680 -> 0 bytes
public/img/emoji/red_circle.png | Bin 2905 -> 0 bytes
public/img/emoji/registered.png | Bin 1613 -> 0 bytes
public/img/emoji/relaxed.png | Bin 3002 -> 0 bytes
public/img/emoji/relieved.png | Bin 3078 -> 0 bytes
public/img/emoji/repeat.png | Bin 2454 -> 0 bytes
public/img/emoji/repeat_one.png | Bin 2537 -> 0 bytes
public/img/emoji/restroom.png | Bin 2558 -> 0 bytes
public/img/emoji/revolving_hearts.png | Bin 2703 -> 0 bytes
public/img/emoji/rewind.png | Bin 2223 -> 0 bytes
public/img/emoji/ribbon.png | Bin 2859 -> 0 bytes
public/img/emoji/rice.png | Bin 3468 -> 0 bytes
public/img/emoji/rice_ball.png | Bin 3171 -> 0 bytes
public/img/emoji/rice_cracker.png | Bin 3413 -> 0 bytes
public/img/emoji/rice_scene.png | Bin 3006 -> 0 bytes
public/img/emoji/ring.png | Bin 2683 -> 0 bytes
public/img/emoji/rocket.png | Bin 2751 -> 0 bytes
public/img/emoji/roller_coaster.png | Bin 2798 -> 0 bytes
public/img/emoji/rooster.png | Bin 3162 -> 0 bytes
public/img/emoji/rose.png | Bin 2753 -> 0 bytes
public/img/emoji/rotating_light.png | Bin 3101 -> 0 bytes
public/img/emoji/round_pushpin.png | Bin 1732 -> 0 bytes
public/img/emoji/rowboat.png | Bin 2803 -> 0 bytes
public/img/emoji/ru.png | Bin 2349 -> 0 bytes
public/img/emoji/rugby_football.png | Bin 3735 -> 0 bytes
public/img/emoji/runner.png | Bin 2217 -> 0 bytes
public/img/emoji/running.png | Bin 2217 -> 0 bytes
public/img/emoji/running_shirt_with_sash.png | Bin 3162 -> 0 bytes
public/img/emoji/sa.png | Bin 2341 -> 0 bytes
public/img/emoji/sagittarius.png | Bin 2556 -> 0 bytes
public/img/emoji/sailboat.png | Bin 2401 -> 0 bytes
public/img/emoji/sake.png | Bin 2955 -> 0 bytes
public/img/emoji/sandal.png | Bin 2364 -> 0 bytes
public/img/emoji/santa.png | Bin 3168 -> 0 bytes
public/img/emoji/satellite.png | Bin 3429 -> 0 bytes
public/img/emoji/satisfied.png | Bin 3113 -> 0 bytes
public/img/emoji/saxophone.png | Bin 2415 -> 0 bytes
public/img/emoji/school.png | Bin 2739 -> 0 bytes
public/img/emoji/school_satchel.png | Bin 3273 -> 0 bytes
public/img/emoji/scissors.png | Bin 2492 -> 0 bytes
public/img/emoji/scorpius.png | Bin 2683 -> 0 bytes
public/img/emoji/scream.png | Bin 3028 -> 0 bytes
public/img/emoji/scream_cat.png | Bin 3328 -> 0 bytes
public/img/emoji/scroll.png | Bin 3595 -> 0 bytes
public/img/emoji/seat.png | Bin 2951 -> 0 bytes
public/img/emoji/secret.png | Bin 3158 -> 0 bytes
public/img/emoji/see_no_evil.png | Bin 3313 -> 0 bytes
public/img/emoji/seedling.png | Bin 1720 -> 0 bytes
public/img/emoji/seven.png | Bin 2207 -> 0 bytes
public/img/emoji/shaved_ice.png | Bin 2890 -> 0 bytes
public/img/emoji/sheep.png | Bin 2549 -> 0 bytes
public/img/emoji/shell.png | Bin 3045 -> 0 bytes
public/img/emoji/ship.png | Bin 2636 -> 0 bytes
public/img/emoji/shipit.png | Bin 4598 -> 0 bytes
public/img/emoji/shirt.png | Bin 2794 -> 0 bytes
public/img/emoji/shit.png | Bin 2711 -> 0 bytes
public/img/emoji/shoe.png | Bin 2825 -> 0 bytes
public/img/emoji/shower.png | Bin 3273 -> 0 bytes
public/img/emoji/signal_strength.png | Bin 2339 -> 0 bytes
public/img/emoji/six.png | Bin 2395 -> 0 bytes
public/img/emoji/six_pointed_star.png | Bin 2630 -> 0 bytes
public/img/emoji/ski.png | Bin 2388 -> 0 bytes
public/img/emoji/skull.png | Bin 2428 -> 0 bytes
public/img/emoji/sleeping.png | Bin 3010 -> 0 bytes
public/img/emoji/sleepy.png | Bin 3009 -> 0 bytes
public/img/emoji/slot_machine.png | Bin 2861 -> 0 bytes
public/img/emoji/small_blue_diamond.png | Bin 1555 -> 0 bytes
public/img/emoji/small_orange_diamond.png | Bin 1559 -> 0 bytes
public/img/emoji/small_red_triangle.png | Bin 1764 -> 0 bytes
public/img/emoji/small_red_triangle_down.png | Bin 1774 -> 0 bytes
public/img/emoji/smile.png | Bin 3076 -> 0 bytes
public/img/emoji/smile_cat.png | Bin 3130 -> 0 bytes
public/img/emoji/smiley.png | Bin 3041 -> 0 bytes
public/img/emoji/smiley_cat.png | Bin 3104 -> 0 bytes
public/img/emoji/smiling_imp.png | Bin 3502 -> 0 bytes
public/img/emoji/smirk.png | Bin 2973 -> 0 bytes
public/img/emoji/smirk_cat.png | Bin 3127 -> 0 bytes
public/img/emoji/smoking.png | Bin 2053 -> 0 bytes
public/img/emoji/snail.png | Bin 3179 -> 0 bytes
public/img/emoji/snake.png | Bin 2902 -> 0 bytes
public/img/emoji/snowboarder.png | Bin 2875 -> 0 bytes
public/img/emoji/snowflake.png | Bin 2763 -> 0 bytes
public/img/emoji/snowman.png | Bin 2758 -> 0 bytes
public/img/emoji/sob.png | Bin 3015 -> 0 bytes
public/img/emoji/soccer.png | Bin 3512 -> 0 bytes
public/img/emoji/soon.png | Bin 1551 -> 0 bytes
public/img/emoji/sos.png | Bin 2549 -> 0 bytes
public/img/emoji/sound.png | Bin 3185 -> 0 bytes
public/img/emoji/space_invader.png | Bin 2954 -> 0 bytes
public/img/emoji/spades.png | Bin 1719 -> 0 bytes
public/img/emoji/spaghetti.png | Bin 3259 -> 0 bytes
public/img/emoji/sparkle.png | Bin 2979 -> 0 bytes
public/img/emoji/sparkler.png | Bin 3097 -> 0 bytes
public/img/emoji/sparkles.png | Bin 1936 -> 0 bytes
public/img/emoji/sparkling_heart.png | Bin 2724 -> 0 bytes
public/img/emoji/speak_no_evil.png | Bin 3153 -> 0 bytes
public/img/emoji/speaker.png | Bin 3317 -> 0 bytes
public/img/emoji/speech_balloon.png | Bin 2130 -> 0 bytes
public/img/emoji/speedboat.png | Bin 2226 -> 0 bytes
public/img/emoji/squirrel.png | Bin 4598 -> 0 bytes
public/img/emoji/star.png | Bin 2188 -> 0 bytes
public/img/emoji/star2.png | Bin 2418 -> 0 bytes
public/img/emoji/stars.png | Bin 2663 -> 0 bytes
public/img/emoji/station.png | Bin 2931 -> 0 bytes
public/img/emoji/statue_of_liberty.png | Bin 3127 -> 0 bytes
public/img/emoji/steam_locomotive.png | Bin 2703 -> 0 bytes
public/img/emoji/stew.png | Bin 3115 -> 0 bytes
public/img/emoji/straight_ruler.png | Bin 2352 -> 0 bytes
public/img/emoji/strawberry.png | Bin 2771 -> 0 bytes
public/img/emoji/stuck_out_tongue.png | Bin 2824 -> 0 bytes
.../emoji/stuck_out_tongue_closed_eyes.png | Bin 2974 -> 0 bytes
.../emoji/stuck_out_tongue_winking_eye.png | Bin 2980 -> 0 bytes
public/img/emoji/sun_with_face.png | Bin 3695 -> 0 bytes
public/img/emoji/sunflower.png | Bin 3100 -> 0 bytes
public/img/emoji/sunglasses.png | Bin 3149 -> 0 bytes
public/img/emoji/sunny.png | Bin 2504 -> 0 bytes
public/img/emoji/sunrise.png | Bin 2848 -> 0 bytes
public/img/emoji/sunrise_over_mountains.png | Bin 3096 -> 0 bytes
public/img/emoji/surfer.png | Bin 2802 -> 0 bytes
public/img/emoji/sushi.png | Bin 2955 -> 0 bytes
public/img/emoji/suspect.png | Bin 1016 -> 0 bytes
public/img/emoji/suspension_railway.png | Bin 2417 -> 0 bytes
public/img/emoji/sweat.png | Bin 2963 -> 0 bytes
public/img/emoji/sweat_drops.png | Bin 2862 -> 0 bytes
public/img/emoji/sweat_smile.png | Bin 3129 -> 0 bytes
public/img/emoji/sweet_potato.png | Bin 3175 -> 0 bytes
public/img/emoji/swimmer.png | Bin 2317 -> 0 bytes
public/img/emoji/symbols.png | Bin 2917 -> 0 bytes
public/img/emoji/syringe.png | Bin 1939 -> 0 bytes
public/img/emoji/tada.png | Bin 2773 -> 0 bytes
public/img/emoji/tanabata_tree.png | Bin 2487 -> 0 bytes
public/img/emoji/tangerine.png | Bin 3450 -> 0 bytes
public/img/emoji/taurus.png | Bin 2618 -> 0 bytes
public/img/emoji/taxi.png | Bin 2425 -> 0 bytes
public/img/emoji/tea.png | Bin 3343 -> 0 bytes
public/img/emoji/telephone.png | Bin 2727 -> 0 bytes
public/img/emoji/telephone_receiver.png | Bin 2001 -> 0 bytes
public/img/emoji/telescope.png | Bin 2419 -> 0 bytes
public/img/emoji/tennis.png | Bin 3124 -> 0 bytes
public/img/emoji/tent.png | Bin 2916 -> 0 bytes
public/img/emoji/thought_balloon.png | Bin 2521 -> 0 bytes
public/img/emoji/three.png | Bin 2397 -> 0 bytes
public/img/emoji/thumbsdown.png | Bin 2974 -> 0 bytes
public/img/emoji/thumbsup.png | Bin 2900 -> 0 bytes
public/img/emoji/ticket.png | Bin 2236 -> 0 bytes
public/img/emoji/tiger.png | Bin 3088 -> 0 bytes
public/img/emoji/tiger2.png | Bin 2807 -> 0 bytes
public/img/emoji/tired_face.png | Bin 3085 -> 0 bytes
public/img/emoji/tm.png | Bin 842 -> 0 bytes
public/img/emoji/toilet.png | Bin 1733 -> 0 bytes
public/img/emoji/tokyo_tower.png | Bin 2856 -> 0 bytes
public/img/emoji/tomato.png | Bin 3006 -> 0 bytes
public/img/emoji/tongue.png | Bin 2765 -> 0 bytes
public/img/emoji/top.png | Bin 2494 -> 0 bytes
public/img/emoji/tophat.png | Bin 2563 -> 0 bytes
public/img/emoji/tractor.png | Bin 2848 -> 0 bytes
public/img/emoji/traffic_light.png | Bin 2285 -> 0 bytes
public/img/emoji/train.png | Bin 2391 -> 0 bytes
public/img/emoji/train2.png | Bin 2643 -> 0 bytes
public/img/emoji/tram.png | Bin 2852 -> 0 bytes
public/img/emoji/triangular_flag_on_post.png | Bin 1399 -> 0 bytes
public/img/emoji/triangular_ruler.png | Bin 2005 -> 0 bytes
public/img/emoji/trident.png | Bin 2705 -> 0 bytes
public/img/emoji/triumph.png | Bin 3188 -> 0 bytes
public/img/emoji/trolleybus.png | Bin 2531 -> 0 bytes
public/img/emoji/trollface.png | Bin 3262 -> 0 bytes
public/img/emoji/trophy.png | Bin 2767 -> 0 bytes
public/img/emoji/tropical_drink.png | Bin 2305 -> 0 bytes
public/img/emoji/tropical_fish.png | Bin 2716 -> 0 bytes
public/img/emoji/truck.png | Bin 2339 -> 0 bytes
public/img/emoji/trumpet.png | Bin 2330 -> 0 bytes
public/img/emoji/tshirt.png | Bin 2794 -> 0 bytes
public/img/emoji/tulip.png | Bin 2955 -> 0 bytes
public/img/emoji/turtle.png | Bin 2767 -> 0 bytes
public/img/emoji/tv.png | Bin 2622 -> 0 bytes
.../img/emoji/twisted_rightwards_arrows.png | Bin 2561 -> 0 bytes
public/img/emoji/two.png | Bin 2301 -> 0 bytes
public/img/emoji/two_hearts.png | Bin 2128 -> 0 bytes
public/img/emoji/two_men_holding_hands.png | Bin 3340 -> 0 bytes
public/img/emoji/two_women_holding_hands.png | Bin 3464 -> 0 bytes
public/img/emoji/u5272.png | Bin 2685 -> 0 bytes
public/img/emoji/u5408.png | Bin 2593 -> 0 bytes
public/img/emoji/u55b6.png | Bin 2428 -> 0 bytes
public/img/emoji/u6307.png | Bin 2736 -> 0 bytes
public/img/emoji/u6708.png | Bin 2265 -> 0 bytes
public/img/emoji/u6709.png | Bin 2312 -> 0 bytes
public/img/emoji/u6e80.png | Bin 2779 -> 0 bytes
public/img/emoji/u7121.png | Bin 2630 -> 0 bytes
public/img/emoji/u7533.png | Bin 2323 -> 0 bytes
public/img/emoji/u7981.png | Bin 2793 -> 0 bytes
public/img/emoji/u7a7a.png | Bin 2560 -> 0 bytes
public/img/emoji/uk.png | Bin 2832 -> 0 bytes
public/img/emoji/umbrella.png | Bin 2540 -> 0 bytes
public/img/emoji/unamused.png | Bin 2976 -> 0 bytes
public/img/emoji/underage.png | Bin 3085 -> 0 bytes
public/img/emoji/unlock.png | Bin 2424 -> 0 bytes
public/img/emoji/up.png | Bin 2484 -> 0 bytes
public/img/emoji/us.png | Bin 2902 -> 0 bytes
public/img/emoji/v.png | Bin 2722 -> 0 bytes
public/img/emoji/vertical_traffic_light.png | Bin 2267 -> 0 bytes
public/img/emoji/vhs.png | Bin 2234 -> 0 bytes
public/img/emoji/vibration_mode.png | Bin 2620 -> 0 bytes
public/img/emoji/video_camera.png | Bin 2876 -> 0 bytes
public/img/emoji/video_game.png | Bin 3121 -> 0 bytes
public/img/emoji/violin.png | Bin 2571 -> 0 bytes
public/img/emoji/virgo.png | Bin 2764 -> 0 bytes
public/img/emoji/volcano.png | Bin 3152 -> 0 bytes
public/img/emoji/vs.png | Bin 2358 -> 0 bytes
public/img/emoji/walking.png | Bin 1895 -> 0 bytes
public/img/emoji/waning_crescent_moon.png | Bin 3152 -> 0 bytes
public/img/emoji/waning_gibbous_moon.png | Bin 3513 -> 0 bytes
public/img/emoji/warning.png | Bin 2155 -> 0 bytes
public/img/emoji/watch.png | Bin 2889 -> 0 bytes
public/img/emoji/water_buffalo.png | Bin 2836 -> 0 bytes
public/img/emoji/watermelon.png | Bin 2798 -> 0 bytes
public/img/emoji/wave.png | Bin 2974 -> 0 bytes
public/img/emoji/wavy_dash.png | Bin 696 -> 0 bytes
public/img/emoji/waxing_crescent_moon.png | Bin 3295 -> 0 bytes
public/img/emoji/waxing_gibbous_moon.png | Bin 3179 -> 0 bytes
public/img/emoji/wc.png | Bin 2471 -> 0 bytes
public/img/emoji/weary.png | Bin 3222 -> 0 bytes
public/img/emoji/wedding.png | Bin 2904 -> 0 bytes
public/img/emoji/whale.png | Bin 2646 -> 0 bytes
public/img/emoji/whale2.png | Bin 3249 -> 0 bytes
public/img/emoji/wheelchair.png | Bin 2522 -> 0 bytes
public/img/emoji/white_check_mark.png | Bin 2278 -> 0 bytes
public/img/emoji/white_circle.png | Bin 2477 -> 0 bytes
public/img/emoji/white_flower.png | Bin 2638 -> 0 bytes
public/img/emoji/white_large_square.png | Bin 1411 -> 0 bytes
.../img/emoji/white_medium_small_square.png | Bin 1800 -> 0 bytes
public/img/emoji/white_medium_square.png | Bin 2085 -> 0 bytes
public/img/emoji/white_small_square.png | Bin 1391 -> 0 bytes
public/img/emoji/white_square_button.png | Bin 1725 -> 0 bytes
public/img/emoji/wind_chime.png | Bin 2130 -> 0 bytes
public/img/emoji/wine_glass.png | Bin 2154 -> 0 bytes
public/img/emoji/wink.png | Bin 2999 -> 0 bytes
public/img/emoji/wolf.png | Bin 2792 -> 0 bytes
public/img/emoji/woman.png | Bin 3410 -> 0 bytes
public/img/emoji/womans_clothes.png | Bin 2833 -> 0 bytes
public/img/emoji/womans_hat.png | Bin 3541 -> 0 bytes
public/img/emoji/womens.png | Bin 2412 -> 0 bytes
public/img/emoji/worried.png | Bin 2956 -> 0 bytes
public/img/emoji/wrench.png | Bin 2151 -> 0 bytes
public/img/emoji/x.png | Bin 1994 -> 0 bytes
public/img/emoji/yellow_heart.png | Bin 2459 -> 0 bytes
public/img/emoji/yen.png | Bin 2741 -> 0 bytes
public/img/emoji/yum.png | Bin 3044 -> 0 bytes
public/img/emoji/zap.png | Bin 1774 -> 0 bytes
public/img/emoji/zero.png | Bin 2379 -> 0 bytes
public/img/emoji/zzz.png | Bin 1915 -> 0 bytes
public/img/favicon.ico | Bin 0 -> 90022 bytes
public/img/favicon.png | Bin 7052 -> 8268 bytes
public/img/gitea-large-resize.png | Bin 16470 -> 0 bytes
public/img/gitea-lg.png | Bin 26945 -> 46270 bytes
public/img/gitea-sm.png | Bin 0 -> 4881 bytes
public/img/gogs.ico | Bin 0 -> 29157 bytes
public/img/openid-16x16.png | Bin 0 -> 230 bytes
public/js/index.js | 340 +-
public/js/jquery-1.11.3.min.js | 5 -
public/js/libs/autolink.js | 15 -
public/js/libs/clipboard-1.5.9.min.js | 7 -
public/js/libs/emojify-1.1.0.min.js | 4 -
public/js/libs/gitgraph.js | 399 -
public/js/libs/jquery.are-you-sure.js | 192 -
public/js/semantic-2.2.1.min.js | 19 -
public/less/_admin.less | 4 +-
public/less/_base.less | 67 +
public/less/_editor.less | 13 +-
public/less/_explore.less | 9 +-
public/less/_form.less | 32 +-
public/less/_repository.less | 169 +-
public/less/_user.less | 21 +-
.../plugins/codemirror-5.17.0/.gitattributes | 8 -
public/plugins/codemirror-5.17.0/.gitignore | 8 -
public/plugins/codemirror-5.17.0/.npmignore | 10 -
public/plugins/codemirror-5.17.0/.travis.yml | 4 -
.../codemirror-5.17.0/addon/mode/loadmode.js | 64 -
.../codemirror-5.17.0/addon/mode/multiplex.js | 123 -
.../addon/mode/multiplex_test.js | 33 -
.../codemirror-5.17.0/addon/mode/overlay.js | 85 -
.../codemirror-5.17.0/addon/mode/simple.js | 213 -
.../plugins/codemirror-5.17.0/mode/apl/apl.js | 174 -
.../codemirror-5.17.0/mode/apl/index.html | 72 -
.../mode/asciiarmor/asciiarmor.js | 73 -
.../mode/asciiarmor/index.html | 46 -
.../codemirror-5.17.0/mode/asn.1/asn.1.js | 204 -
.../codemirror-5.17.0/mode/asn.1/index.html | 77 -
.../mode/asterisk/asterisk.js | 196 -
.../mode/asterisk/index.html | 154 -
.../mode/brainfuck/brainfuck.js | 85 -
.../mode/brainfuck/index.html | 85 -
.../codemirror-5.17.0/mode/clike/clike.js | 786 -
.../codemirror-5.17.0/mode/clike/index.html | 360 -
.../codemirror-5.17.0/mode/clike/scala.html | 767 -
.../codemirror-5.17.0/mode/clike/test.js | 55 -
.../codemirror-5.17.0/mode/clojure/clojure.js | 306 -
.../codemirror-5.17.0/mode/clojure/index.html | 91 -
.../codemirror-5.17.0/mode/cmake/cmake.js | 97 -
.../codemirror-5.17.0/mode/cmake/index.html | 129 -
.../codemirror-5.17.0/mode/cobol/cobol.js | 255 -
.../codemirror-5.17.0/mode/cobol/index.html | 210 -
.../mode/coffeescript/coffeescript.js | 355 -
.../mode/coffeescript/index.html | 740 -
.../mode/commonlisp/commonlisp.js | 123 -
.../mode/commonlisp/index.html | 177 -
.../codemirror-5.17.0/mode/crystal/crystal.js | 391 -
.../codemirror-5.17.0/mode/crystal/index.html | 119 -
.../plugins/codemirror-5.17.0/mode/css/css.js | 825 -
.../codemirror-5.17.0/mode/css/gss.html | 103 -
.../codemirror-5.17.0/mode/css/gss_test.js | 17 -
.../codemirror-5.17.0/mode/css/index.html | 75 -
.../codemirror-5.17.0/mode/css/less.html | 152 -
.../codemirror-5.17.0/mode/css/less_test.js | 54 -
.../codemirror-5.17.0/mode/css/scss.html | 157 -
.../codemirror-5.17.0/mode/css/scss_test.js | 110 -
.../codemirror-5.17.0/mode/css/test.js | 200 -
.../codemirror-5.17.0/mode/cypher/cypher.js | 146 -
.../codemirror-5.17.0/mode/cypher/index.html | 63 -
public/plugins/codemirror-5.17.0/mode/d/d.js | 218 -
.../codemirror-5.17.0/mode/d/index.html | 273 -
.../codemirror-5.17.0/mode/dart/dart.js | 157 -
.../codemirror-5.17.0/mode/dart/index.html | 71 -
.../codemirror-5.17.0/mode/diff/diff.js | 47 -
.../codemirror-5.17.0/mode/diff/index.html | 117 -
.../codemirror-5.17.0/mode/django/django.js | 356 -
.../codemirror-5.17.0/mode/django/index.html | 73 -
.../mode/dockerfile/dockerfile.js | 79 -
.../mode/dockerfile/index.html | 73 -
.../plugins/codemirror-5.17.0/mode/dtd/dtd.js | 142 -
.../codemirror-5.17.0/mode/dtd/index.html | 89 -
.../codemirror-5.17.0/mode/dylan/dylan.js | 344 -
.../codemirror-5.17.0/mode/dylan/index.html | 407 -
.../codemirror-5.17.0/mode/dylan/test.js | 88 -
.../codemirror-5.17.0/mode/ebnf/ebnf.js | 195 -
.../codemirror-5.17.0/mode/ebnf/index.html | 102 -
.../plugins/codemirror-5.17.0/mode/ecl/ecl.js | 206 -
.../codemirror-5.17.0/mode/ecl/index.html | 52 -
.../codemirror-5.17.0/mode/eiffel/eiffel.js | 160 -
.../codemirror-5.17.0/mode/eiffel/index.html | 429 -
.../plugins/codemirror-5.17.0/mode/elm/elm.js | 205 -
.../codemirror-5.17.0/mode/elm/index.html | 61 -
.../codemirror-5.17.0/mode/erlang/erlang.js | 618 -
.../codemirror-5.17.0/mode/erlang/index.html | 76 -
.../codemirror-5.17.0/mode/factor/factor.js | 83 -
.../codemirror-5.17.0/mode/factor/index.html | 77 -
.../plugins/codemirror-5.17.0/mode/fcl/fcl.js | 173 -
.../codemirror-5.17.0/mode/fcl/index.html | 108 -
.../codemirror-5.17.0/mode/forth/forth.js | 180 -
.../codemirror-5.17.0/mode/forth/index.html | 75 -
.../codemirror-5.17.0/mode/fortran/fortran.js | 188 -
.../codemirror-5.17.0/mode/fortran/index.html | 81 -
.../plugins/codemirror-5.17.0/mode/gas/gas.js | 345 -
.../codemirror-5.17.0/mode/gas/index.html | 68 -
.../plugins/codemirror-5.17.0/mode/gfm/gfm.js | 130 -
.../codemirror-5.17.0/mode/gfm/index.html | 93 -
.../codemirror-5.17.0/mode/gfm/test.js | 236 -
.../codemirror-5.17.0/mode/gherkin/gherkin.js | 178 -
.../codemirror-5.17.0/mode/gherkin/index.html | 48 -
.../plugins/codemirror-5.17.0/mode/go/go.js | 185 -
.../codemirror-5.17.0/mode/go/index.html | 85 -
.../codemirror-5.17.0/mode/groovy/groovy.js | 230 -
.../codemirror-5.17.0/mode/groovy/index.html | 84 -
.../codemirror-5.17.0/mode/haml/haml.js | 161 -
.../codemirror-5.17.0/mode/haml/index.html | 79 -
.../codemirror-5.17.0/mode/haml/test.js | 97 -
.../mode/handlebars/handlebars.js | 62 -
.../mode/handlebars/index.html | 79 -
.../mode/haskell-literate/haskell-literate.js | 43 -
.../mode/haskell-literate/index.html | 282 -
.../codemirror-5.17.0/mode/haskell/haskell.js | 267 -
.../codemirror-5.17.0/mode/haskell/index.html | 73 -
.../codemirror-5.17.0/mode/haxe/haxe.js | 515 -
.../codemirror-5.17.0/mode/haxe/index.html | 124 -
.../mode/htmlembedded/htmlembedded.js | 28 -
.../mode/htmlembedded/index.html | 60 -
.../mode/htmlmixed/htmlmixed.js | 152 -
.../mode/htmlmixed/index.html | 89 -
.../codemirror-5.17.0/mode/http/http.js | 113 -
.../codemirror-5.17.0/mode/http/index.html | 45 -
.../plugins/codemirror-5.17.0/mode/idl/idl.js | 290 -
.../codemirror-5.17.0/mode/idl/index.html | 64 -
.../plugins/codemirror-5.17.0/mode/index.html | 164 -
.../codemirror-5.17.0/mode/jade/index.html | 70 -
.../codemirror-5.17.0/mode/jade/jade.js | 590 -
.../mode/javascript/index.html | 114 -
.../mode/javascript/javascript.js | 743 -
.../mode/javascript/json-ld.html | 72 -
.../codemirror-5.17.0/mode/javascript/test.js | 207 -
.../mode/javascript/typescript.html | 61 -
.../codemirror-5.17.0/mode/jinja2/index.html | 54 -
.../codemirror-5.17.0/mode/jinja2/jinja2.js | 142 -
.../codemirror-5.17.0/mode/jsx/index.html | 89 -
.../plugins/codemirror-5.17.0/mode/jsx/jsx.js | 147 -
.../codemirror-5.17.0/mode/jsx/test.js | 69 -
.../codemirror-5.17.0/mode/julia/index.html | 195 -
.../codemirror-5.17.0/mode/julia/julia.js | 392 -
.../mode/livescript/index.html | 459 -
.../mode/livescript/livescript.js | 280 -
.../codemirror-5.17.0/mode/lua/index.html | 85 -
.../plugins/codemirror-5.17.0/mode/lua/lua.js | 159 -
.../mode/markdown/index.html | 361 -
.../mode/markdown/markdown.js | 819 -
.../codemirror-5.17.0/mode/markdown/test.js | 990 -
.../mode/mathematica/index.html | 72 -
.../mode/mathematica/mathematica.js | 176 -
.../codemirror-5.17.0/mode/mbox/index.html | 44 -
.../codemirror-5.17.0/mode/mbox/mbox.js | 129 -
public/plugins/codemirror-5.17.0/mode/meta.js | 208 -
.../codemirror-5.17.0/mode/mirc/index.html | 160 -
.../codemirror-5.17.0/mode/mirc/mirc.js | 193 -
.../codemirror-5.17.0/mode/mllike/index.html | 179 -
.../codemirror-5.17.0/mode/mllike/mllike.js | 205 -
.../mode/modelica/index.html | 67 -
.../mode/modelica/modelica.js | 245 -
.../codemirror-5.17.0/mode/mscgen/index.html | 151 -
.../codemirror-5.17.0/mode/mscgen/mscgen.js | 169 -
.../mode/mscgen/mscgen_test.js | 75 -
.../mode/mscgen/msgenny_test.js | 71 -
.../codemirror-5.17.0/mode/mscgen/xu_test.js | 75 -
.../codemirror-5.17.0/mode/mumps/index.html | 85 -
.../codemirror-5.17.0/mode/mumps/mumps.js | 148 -
.../codemirror-5.17.0/mode/nginx/index.html | 181 -
.../codemirror-5.17.0/mode/nginx/nginx.js | 178 -
.../codemirror-5.17.0/mode/nsis/index.html | 80 -
.../codemirror-5.17.0/mode/nsis/nsis.js | 95 -
.../mode/ntriples/index.html | 45 -
.../mode/ntriples/ntriples.js | 186 -
.../codemirror-5.17.0/mode/octave/index.html | 83 -
.../codemirror-5.17.0/mode/octave/octave.js | 135 -
.../codemirror-5.17.0/mode/oz/index.html | 59 -
.../plugins/codemirror-5.17.0/mode/oz/oz.js | 252 -
.../codemirror-5.17.0/mode/pascal/index.html | 61 -
.../codemirror-5.17.0/mode/pascal/pascal.js | 109 -
.../codemirror-5.17.0/mode/pegjs/index.html | 66 -
.../codemirror-5.17.0/mode/pegjs/pegjs.js | 114 -
.../codemirror-5.17.0/mode/perl/index.html | 75 -
.../codemirror-5.17.0/mode/perl/perl.js | 837 -
.../codemirror-5.17.0/mode/php/index.html | 64 -
.../plugins/codemirror-5.17.0/mode/php/php.js | 234 -
.../codemirror-5.17.0/mode/php/test.js | 154 -
.../codemirror-5.17.0/mode/pig/index.html | 53 -
.../plugins/codemirror-5.17.0/mode/pig/pig.js | 178 -
.../mode/powershell/index.html | 204 -
.../mode/powershell/powershell.js | 396 -
.../codemirror-5.17.0/mode/powershell/test.js | 72 -
.../mode/properties/index.html | 53 -
.../mode/properties/properties.js | 78 -
.../mode/protobuf/index.html | 64 -
.../mode/protobuf/protobuf.js | 68 -
.../codemirror-5.17.0/mode/puppet/index.html | 121 -
.../codemirror-5.17.0/mode/puppet/puppet.js | 220 -
.../codemirror-5.17.0/mode/python/index.html | 198 -
.../codemirror-5.17.0/mode/python/python.js | 340 -
.../codemirror-5.17.0/mode/python/test.js | 30 -
.../codemirror-5.17.0/mode/q/index.html | 144 -
public/plugins/codemirror-5.17.0/mode/q/q.js | 139 -
.../codemirror-5.17.0/mode/r/index.html | 85 -
public/plugins/codemirror-5.17.0/mode/r/r.js | 164 -
.../mode/rpm/changes/index.html | 66 -
.../codemirror-5.17.0/mode/rpm/index.html | 149 -
.../plugins/codemirror-5.17.0/mode/rpm/rpm.js | 109 -
.../codemirror-5.17.0/mode/rst/index.html | 535 -
.../plugins/codemirror-5.17.0/mode/rst/rst.js | 557 -
.../codemirror-5.17.0/mode/ruby/index.html | 183 -
.../codemirror-5.17.0/mode/ruby/ruby.js | 285 -
.../codemirror-5.17.0/mode/ruby/test.js | 14 -
.../codemirror-5.17.0/mode/rust/index.html | 64 -
.../codemirror-5.17.0/mode/rust/rust.js | 71 -
.../codemirror-5.17.0/mode/rust/test.js | 39 -
.../codemirror-5.17.0/mode/sas/index.html | 81 -
.../plugins/codemirror-5.17.0/mode/sas/sas.js | 315 -
.../codemirror-5.17.0/mode/sass/index.html | 66 -
.../codemirror-5.17.0/mode/sass/sass.js | 414 -
.../codemirror-5.17.0/mode/scheme/index.html | 77 -
.../codemirror-5.17.0/mode/scheme/scheme.js | 249 -
.../codemirror-5.17.0/mode/shell/index.html | 66 -
.../codemirror-5.17.0/mode/shell/shell.js | 139 -
.../codemirror-5.17.0/mode/shell/test.js | 58 -
.../codemirror-5.17.0/mode/sieve/index.html | 93 -
.../codemirror-5.17.0/mode/sieve/sieve.js | 193 -
.../codemirror-5.17.0/mode/slim/index.html | 96 -
.../codemirror-5.17.0/mode/slim/slim.js | 575 -
.../codemirror-5.17.0/mode/slim/test.js | 96 -
.../mode/smalltalk/index.html | 68 -
.../mode/smalltalk/smalltalk.js | 168 -
.../codemirror-5.17.0/mode/smarty/index.html | 138 -
.../codemirror-5.17.0/mode/smarty/smarty.js | 225 -
.../codemirror-5.17.0/mode/solr/index.html | 57 -
.../codemirror-5.17.0/mode/solr/solr.js | 104 -
.../codemirror-5.17.0/mode/soy/index.html | 68 -
.../plugins/codemirror-5.17.0/mode/soy/soy.js | 199 -
.../codemirror-5.17.0/mode/sparql/index.html | 61 -
.../codemirror-5.17.0/mode/sparql/sparql.js | 180 -
.../mode/spreadsheet/index.html | 42 -
.../mode/spreadsheet/spreadsheet.js | 112 -
.../codemirror-5.17.0/mode/sql/index.html | 86 -
.../plugins/codemirror-5.17.0/mode/sql/sql.js | 413 -
.../codemirror-5.17.0/mode/stex/index.html | 110 -
.../codemirror-5.17.0/mode/stex/stex.js | 251 -
.../codemirror-5.17.0/mode/stex/test.js | 123 -
.../codemirror-5.17.0/mode/stylus/index.html | 106 -
.../codemirror-5.17.0/mode/stylus/stylus.js | 769 -
.../codemirror-5.17.0/mode/swift/index.html | 88 -
.../codemirror-5.17.0/mode/swift/swift.js | 202 -
.../codemirror-5.17.0/mode/tcl/index.html | 142 -
.../plugins/codemirror-5.17.0/mode/tcl/tcl.js | 139 -
.../codemirror-5.17.0/mode/textile/index.html | 191 -
.../codemirror-5.17.0/mode/textile/test.js | 417 -
.../codemirror-5.17.0/mode/textile/textile.js | 469 -
.../mode/tiddlywiki/index.html | 154 -
.../mode/tiddlywiki/tiddlywiki.css | 14 -
.../mode/tiddlywiki/tiddlywiki.js | 308 -
.../codemirror-5.17.0/mode/tiki/index.html | 95 -
.../codemirror-5.17.0/mode/tiki/tiki.css | 26 -
.../codemirror-5.17.0/mode/tiki/tiki.js | 312 -
.../codemirror-5.17.0/mode/toml/index.html | 73 -
.../codemirror-5.17.0/mode/toml/toml.js | 88 -
.../codemirror-5.17.0/mode/tornado/index.html | 63 -
.../codemirror-5.17.0/mode/tornado/tornado.js | 68 -
.../codemirror-5.17.0/mode/troff/index.html | 146 -
.../codemirror-5.17.0/mode/troff/troff.js | 84 -
.../mode/ttcn-cfg/index.html | 115 -
.../mode/ttcn-cfg/ttcn-cfg.js | 214 -
.../codemirror-5.17.0/mode/ttcn/index.html | 118 -
.../codemirror-5.17.0/mode/ttcn/ttcn.js | 283 -
.../codemirror-5.17.0/mode/turtle/index.html | 50 -
.../codemirror-5.17.0/mode/turtle/turtle.js | 162 -
.../codemirror-5.17.0/mode/twig/index.html | 45 -
.../codemirror-5.17.0/mode/twig/twig.js | 141 -
.../codemirror-5.17.0/mode/vb/index.html | 102 -
.../plugins/codemirror-5.17.0/mode/vb/vb.js | 276 -
.../mode/vbscript/index.html | 55 -
.../mode/vbscript/vbscript.js | 350 -
.../mode/velocity/index.html | 120 -
.../mode/velocity/velocity.js | 201 -
.../codemirror-5.17.0/mode/verilog/index.html | 120 -
.../codemirror-5.17.0/mode/verilog/test.js | 273 -
.../codemirror-5.17.0/mode/verilog/verilog.js | 537 -
.../codemirror-5.17.0/mode/vhdl/index.html | 95 -
.../codemirror-5.17.0/mode/vhdl/vhdl.js | 189 -
.../codemirror-5.17.0/mode/vue/index.html | 69 -
.../plugins/codemirror-5.17.0/mode/vue/vue.js | 69 -
.../codemirror-5.17.0/mode/webidl/index.html | 71 -
.../codemirror-5.17.0/mode/webidl/webidl.js | 195 -
.../codemirror-5.17.0/mode/xml/index.html | 61 -
.../codemirror-5.17.0/mode/xml/test.js | 51 -
.../plugins/codemirror-5.17.0/mode/xml/xml.js | 394 -
.../codemirror-5.17.0/mode/xquery/index.html | 210 -
.../codemirror-5.17.0/mode/xquery/test.js | 67 -
.../codemirror-5.17.0/mode/xquery/xquery.js | 437 -
.../codemirror-5.17.0/mode/yacas/index.html | 87 -
.../codemirror-5.17.0/mode/yacas/yacas.js | 204 -
.../mode/yaml-frontmatter/index.html | 121 -
.../mode/yaml-frontmatter/yaml-frontmatter.js | 68 -
.../codemirror-5.17.0/mode/yaml/index.html | 80 -
.../codemirror-5.17.0/mode/yaml/yaml.js | 117 -
.../codemirror-5.17.0/mode/z80/index.html | 53 -
.../plugins/codemirror-5.17.0/mode/z80/z80.js | 116 -
public/plugins/dropzone-4.2.0/dropzone.css | 388 -
public/plugins/dropzone-4.2.0/dropzone.js | 1752 -
public/plugins/highlight-9.6.0/default.css | 99 -
public/plugins/highlight-9.6.0/github.css | 99 -
.../plugins/highlight-9.6.0/highlight.pack.js | 3 -
.../jquery.datetimepicker.css | 545 -
.../jquery.datetimepicker.js | 2073 -
.../jquery.minicolors.css | 323 -
.../jquery.minicolors.min.js | 11 -
.../jquery.minicolors.png | Bin 68627 -> 0 bytes
public/plugins/pdfjs-1.4.20/LICENSE | 177 -
public/plugins/pdfjs-1.4.20/build/pdf.js | 10375 ----
.../plugins/pdfjs-1.4.20/build/pdf.worker.js | 42034 ----------------
.../plugins/pdfjs-1.4.20/web/compatibility.js | 593 -
public/plugins/pdfjs-1.4.20/web/debugger.js | 618 -
.../web/images/annotation-check.svg | 11 -
.../web/images/annotation-comment.svg | 16 -
.../web/images/annotation-help.svg | 26 -
.../web/images/annotation-insert.svg | 10 -
.../web/images/annotation-key.svg | 11 -
.../web/images/annotation-newparagraph.svg | 11 -
.../web/images/annotation-noicon.svg | 7 -
.../web/images/annotation-note.svg | 42 -
.../web/images/annotation-paragraph.svg | 16 -
.../web/images/findbarButton-next-rtl.png | Bin 199 -> 0 bytes
.../web/images/findbarButton-next-rtl@2x.png | Bin 304 -> 0 bytes
.../web/images/findbarButton-next.png | Bin 193 -> 0 bytes
.../web/images/findbarButton-next@2x.png | Bin 296 -> 0 bytes
.../web/images/findbarButton-previous-rtl.png | Bin 193 -> 0 bytes
.../images/findbarButton-previous-rtl@2x.png | Bin 296 -> 0 bytes
.../web/images/findbarButton-previous.png | Bin 199 -> 0 bytes
.../web/images/findbarButton-previous@2x.png | Bin 304 -> 0 bytes
.../plugins/pdfjs-1.4.20/web/images/grab.cur | Bin 326 -> 0 bytes
.../pdfjs-1.4.20/web/images/grabbing.cur | Bin 326 -> 0 bytes
.../pdfjs-1.4.20/web/images/loading-icon.gif | Bin 2545 -> 0 bytes
.../pdfjs-1.4.20/web/images/loading-small.png | Bin 7402 -> 0 bytes
.../web/images/loading-small@2x.png | Bin 16131 -> 0 bytes
...ondaryToolbarButton-documentProperties.png | Bin 403 -> 0 bytes
...aryToolbarButton-documentProperties@2x.png | Bin 933 -> 0 bytes
.../secondaryToolbarButton-firstPage.png | Bin 179 -> 0 bytes
.../secondaryToolbarButton-firstPage@2x.png | Bin 266 -> 0 bytes
.../secondaryToolbarButton-handTool.png | Bin 301 -> 0 bytes
.../secondaryToolbarButton-handTool@2x.png | Bin 583 -> 0 bytes
.../secondaryToolbarButton-lastPage.png | Bin 175 -> 0 bytes
.../secondaryToolbarButton-lastPage@2x.png | Bin 276 -> 0 bytes
.../secondaryToolbarButton-rotateCcw.png | Bin 360 -> 0 bytes
.../secondaryToolbarButton-rotateCcw@2x.png | Bin 731 -> 0 bytes
.../secondaryToolbarButton-rotateCw.png | Bin 359 -> 0 bytes
.../secondaryToolbarButton-rotateCw@2x.png | Bin 714 -> 0 bytes
.../pdfjs-1.4.20/web/images/shadow.png | Bin 290 -> 0 bytes
.../pdfjs-1.4.20/web/images/texture.png | Bin 2418 -> 0 bytes
.../web/images/toolbarButton-bookmark.png | Bin 174 -> 0 bytes
.../web/images/toolbarButton-bookmark@2x.png | Bin 260 -> 0 bytes
.../web/images/toolbarButton-download.png | Bin 259 -> 0 bytes
.../web/images/toolbarButton-download@2x.png | Bin 425 -> 0 bytes
.../web/images/toolbarButton-menuArrows.png | Bin 108 -> 0 bytes
.../images/toolbarButton-menuArrows@2x.png | Bin 152 -> 0 bytes
.../web/images/toolbarButton-openFile.png | Bin 295 -> 0 bytes
.../web/images/toolbarButton-openFile@2x.png | Bin 550 -> 0 bytes
.../web/images/toolbarButton-pageDown-rtl.png | Bin 242 -> 0 bytes
.../images/toolbarButton-pageDown-rtl@2x.png | Bin 398 -> 0 bytes
.../web/images/toolbarButton-pageDown.png | Bin 238 -> 0 bytes
.../web/images/toolbarButton-pageDown@2x.png | Bin 396 -> 0 bytes
.../web/images/toolbarButton-pageUp-rtl.png | Bin 245 -> 0 bytes
.../images/toolbarButton-pageUp-rtl@2x.png | Bin 405 -> 0 bytes
.../web/images/toolbarButton-pageUp.png | Bin 246 -> 0 bytes
.../web/images/toolbarButton-pageUp@2x.png | Bin 403 -> 0 bytes
.../images/toolbarButton-presentationMode.png | Bin 321 -> 0 bytes
.../toolbarButton-presentationMode@2x.png | Bin 586 -> 0 bytes
.../web/images/toolbarButton-print.png | Bin 257 -> 0 bytes
.../web/images/toolbarButton-print@2x.png | Bin 464 -> 0 bytes
.../web/images/toolbarButton-search.png | Bin 309 -> 0 bytes
.../web/images/toolbarButton-search@2x.png | Bin 653 -> 0 bytes
...olbarButton-secondaryToolbarToggle-rtl.png | Bin 246 -> 0 bytes
...arButton-secondaryToolbarToggle-rtl@2x.png | Bin 456 -> 0 bytes
.../toolbarButton-secondaryToolbarToggle.png | Bin 243 -> 0 bytes
...oolbarButton-secondaryToolbarToggle@2x.png | Bin 458 -> 0 bytes
.../toolbarButton-sidebarToggle-rtl.png | Bin 225 -> 0 bytes
.../toolbarButton-sidebarToggle-rtl@2x.png | Bin 344 -> 0 bytes
.../images/toolbarButton-sidebarToggle.png | Bin 225 -> 0 bytes
.../images/toolbarButton-sidebarToggle@2x.png | Bin 331 -> 0 bytes
.../images/toolbarButton-viewAttachments.png | Bin 384 -> 0 bytes
.../toolbarButton-viewAttachments@2x.png | Bin 871 -> 0 bytes
.../images/toolbarButton-viewOutline-rtl.png | Bin 177 -> 0 bytes
.../toolbarButton-viewOutline-rtl@2x.png | Bin 394 -> 0 bytes
.../web/images/toolbarButton-viewOutline.png | Bin 178 -> 0 bytes
.../images/toolbarButton-viewOutline@2x.png | Bin 331 -> 0 bytes
.../images/toolbarButton-viewThumbnail.png | Bin 185 -> 0 bytes
.../images/toolbarButton-viewThumbnail@2x.png | Bin 220 -> 0 bytes
.../web/images/toolbarButton-zoomIn.png | Bin 136 -> 0 bytes
.../web/images/toolbarButton-zoomIn@2x.png | Bin 160 -> 0 bytes
.../web/images/toolbarButton-zoomOut.png | Bin 88 -> 0 bytes
.../web/images/toolbarButton-zoomOut@2x.png | Bin 109 -> 0 bytes
.../web/images/treeitem-collapsed-rtl.png | Bin 183 -> 0 bytes
.../web/images/treeitem-collapsed-rtl@2x.png | Bin 205 -> 0 bytes
.../web/images/treeitem-collapsed.png | Bin 128 -> 0 bytes
.../web/images/treeitem-collapsed@2x.png | Bin 149 -> 0 bytes
.../web/images/treeitem-expanded.png | Bin 125 -> 0 bytes
.../web/images/treeitem-expanded@2x.png | Bin 172 -> 0 bytes
public/plugins/pdfjs-1.4.20/web/viewer.css | 2122 -
public/plugins/pdfjs-1.4.20/web/viewer.html | 422 -
public/plugins/pdfjs-1.4.20/web/viewer.js | 7952 ---
.../simplemde-1.10.1/simplemde.min.css | 7 -
.../plugins/simplemde-1.10.1/simplemde.min.js | 14 -
public/swagger.v1.json | 2819 ++
routers/admin/admin.go | 7 +-
routers/admin/auths.go | 48 +-
routers/api/v1/admin/org.go | 15 +-
routers/api/v1/admin/repo.go | 15 +-
routers/api/v1/admin/user.go | 57 +-
routers/api/v1/api.go | 159 +-
routers/api/v1/convert/convert.go | 57 +
routers/api/v1/misc/markdown.go | 25 +-
routers/api/v1/misc/markdown_test.go | 2 +-
routers/api/v1/misc/version.go | 12 +
routers/api/v1/org/hook.go | 56 +
routers/api/v1/org/member.go | 99 +-
routers/api/v1/org/org.go | 2 +-
routers/api/v1/org/team.go | 6 +-
routers/api/v1/repo/branch.go | 16 +-
routers/api/v1/repo/file.go | 5 +
routers/api/v1/repo/fork.go | 25 +-
routers/api/v1/repo/hook.go | 45 +-
routers/api/v1/repo/issue.go | 29 +-
routers/api/v1/repo/issue_comment.go | 12 +-
routers/api/v1/repo/issue_label.go | 4 +-
routers/api/v1/repo/label.go | 2 +-
routers/api/v1/repo/release.go | 104 +-
routers/api/v1/repo/repo.go | 169 +-
routers/api/v1/repo/status.go | 122 +
routers/api/v1/user/app.go | 23 +-
routers/api/v1/user/follower.go | 66 +-
routers/api/v1/user/gpg_key.go | 153 +
routers/api/v1/user/key.go | 56 +-
routers/api/v1/user/repo.go | 96 +-
routers/api/v1/user/star.go | 43 +-
routers/api/v1/user/user.go | 27 +
routers/api/v1/user/watch.go | 58 +-
routers/api/v1/utils/utils.go | 15 +
routers/dev/template.go | 4 +-
routers/home.go | 35 +-
routers/init.go | 4 +-
routers/install.go | 9 +-
routers/org/members.go | 6 +
routers/org/teams.go | 53 +-
routers/private/branch.go | 25 +
routers/private/internal.go | 47 +
routers/private/push_update.go | 47 +
routers/repo/branch.go | 59 -
routers/repo/commit.go | 13 +
routers/repo/download.go | 4 +-
routers/repo/editor.go | 106 +-
routers/repo/http.go | 71 +-
routers/repo/issue.go | 195 +-
routers/repo/issue_label.go | 58 +-
routers/repo/issue_watch.go | 36 +
routers/repo/pull.go | 187 +-
routers/repo/release.go | 203 +-
routers/repo/repo.go | 7 +-
routers/repo/setting.go | 23 +-
routers/repo/view.go | 77 +-
routers/repo/webhook.go | 93 +-
routers/repo/wiki.go | 7 +-
routers/routes/routes.go | 676 +
routers/user/auth.go | 57 +-
routers/user/auth_openid.go | 424 +
routers/user/home.go | 206 +-
routers/user/home_test.go | 33 +
routers/user/main_test.go | 33 +
routers/user/profile.go | 31 +-
routers/user/setting.go | 162 +-
routers/user/setting_openid.go | 155 +
scripts/generate-gitignores.go | 93 +
scripts/generate-licenses.go | 101 +
templates/admin/auth/edit.tmpl | 421 +-
templates/admin/auth/list.tmpl | 72 +-
templates/admin/auth/new.tmpl | 296 +-
templates/admin/auth/source/ldap.tmpl | 65 +
templates/admin/auth/source/oauth.tmpl | 58 +
templates/admin/auth/source/smtp.tmpl | 28 +
templates/admin/base/search.tmpl | 2 +
templates/admin/config.tmpl | 516 +-
templates/admin/dashboard.tmpl | 234 +-
templates/admin/monitor.tmpl | 110 +-
templates/admin/navbar.tmpl | 55 +-
templates/admin/notice.tmpl | 172 +-
templates/admin/org/list.tmpl | 79 +-
templates/admin/repo/list.tmpl | 88 +-
templates/admin/user/edit.tmpl | 222 +-
templates/admin/user/list.tmpl | 98 +-
templates/admin/user/new.tmpl | 110 +-
templates/base/footer.tmpl | 41 +-
templates/base/head.tmpl | 75 +-
templates/base/paginate.tmpl | 10 +-
templates/explore/navbar.tmpl | 23 +-
templates/explore/organizations.tmpl | 52 +-
templates/explore/repo_list.tmpl | 2 +-
templates/explore/repos.tmpl | 12 +-
templates/explore/users.tmpl | 52 +-
templates/install.tmpl | 18 +
templates/mail/auth/activate.tmpl | 4 +-
templates/mail/auth/activate_email.tmpl | 4 +-
templates/mail/auth/register_notify.tmpl | 2 +-
templates/mail/auth/reset_passwd.tmpl | 4 +-
templates/org/header.tmpl | 2 +-
templates/org/home.tmpl | 2 +-
templates/org/member/invite.tmpl | 2 +-
templates/org/settings/hook_new.tmpl | 7 +-
templates/org/settings/hooks.tmpl | 4 +-
templates/org/settings/options.tmpl | 2 +-
templates/org/team/members.tmpl | 2 +-
templates/org/team/new.tmpl | 15 +
templates/repo/bare.tmpl | 15 +-
templates/repo/branch_dropdown.tmpl | 2 +-
templates/repo/commits.tmpl | 6 +-
templates/repo/commits_table.tmpl | 40 +-
templates/repo/diff/box.tmpl | 2 +-
templates/repo/diff/page.tmpl | 19 +-
templates/repo/editor/commit_form.tmpl | 4 +-
templates/repo/editor/edit.tmpl | 2 +-
templates/repo/editor/upload.tmpl | 2 +-
templates/repo/graph.tmpl | 3 +-
templates/repo/header.tmpl | 32 +-
templates/repo/home.tmpl | 41 +-
templates/repo/issue/list.tmpl | 212 +-
templates/repo/issue/view_content.tmpl | 315 +-
.../repo/issue/view_content/comments.tmpl | 144 +
templates/repo/issue/view_content/pull.tmpl | 63 +
.../repo/issue/view_content/sidebar.tmpl | 125 +
templates/repo/migrate.tmpl | 5 +-
templates/repo/pulls/fork.tmpl | 20 +-
templates/repo/release/list.tmpl | 29 +-
templates/repo/settings/branches.tmpl | 142 +-
templates/repo/settings/collaboration.tmpl | 90 +-
templates/repo/settings/deploy_keys.tmpl | 111 +-
templates/repo/settings/githook_edit.tmpl | 50 +-
templates/repo/settings/githooks.tmpl | 36 +-
templates/repo/settings/hook_gitea.tmpl | 28 +
templates/repo/settings/hook_gogs.tmpl | 2 +-
templates/repo/settings/hook_history.tmpl | 4 +-
templates/repo/settings/hook_list.tmpl | 73 +-
templates/repo/settings/hook_new.tmpl | 39 +-
templates/repo/settings/hooks.tmpl | 6 +-
templates/repo/settings/navbar.tmpl | 45 +-
templates/repo/settings/options.tmpl | 460 +-
templates/repo/view_file.tmpl | 6 +-
templates/repo/view_list.tmpl | 18 +-
templates/repo/wiki/new.tmpl | 2 +-
templates/repo/wiki/view.tmpl | 12 +-
templates/swagger.tmpl | 93 +
templates/user/auth/activate.tmpl | 4 +-
templates/user/auth/finalize_openid.tmpl | 46 +
templates/user/auth/forgot_passwd.tmpl | 6 +-
templates/user/auth/link_account.tmpl | 2 +
templates/user/auth/signin.tmpl | 7 +-
templates/user/auth/signin_inner.tmpl | 105 +-
templates/user/auth/signin_navbar.tmpl | 11 +
templates/user/auth/signin_openid.tmpl | 38 +
templates/user/auth/signup_inner.tmpl | 4 +-
.../user/auth/signup_openid_connect.tmpl | 36 +
templates/user/auth/signup_openid_navbar.tmpl | 11 +
.../user/auth/signup_openid_register.tmpl | 45 +
templates/user/auth/twofa.tmpl | 2 +-
templates/user/auth/twofa_scratch.tmpl | 2 +-
templates/user/dashboard/dashboard.tmpl | 187 +-
templates/user/dashboard/feeds.tmpl | 4 +-
templates/user/dashboard/issues.tmpl | 2 +-
templates/user/profile.tmpl | 10 +-
templates/user/settings/account_link.tmpl | 52 +-
templates/user/settings/applications.tmpl | 97 +-
templates/user/settings/avatar.tmpl | 78 +-
templates/user/settings/delete.tmpl | 45 +-
templates/user/settings/email.tmpl | 90 +-
templates/user/settings/keys.tmpl | 12 +
templates/user/settings/keys_gpg.tmpl | 67 +
templates/user/settings/keys_ssh.tmpl | 67 +
templates/user/settings/navbar.tmpl | 65 +-
templates/user/settings/openid.tmpl | 71 +
templates/user/settings/organization.tmpl | 35 +
templates/user/settings/password.tmpl | 67 +-
templates/user/settings/profile.tmpl | 90 +-
templates/user/settings/sshkeys.tmpl | 83 -
templates/user/settings/twofa.tmpl | 52 +-
templates/user/settings/twofa_enroll.tmpl | 44 +-
2269 files changed, 48031 insertions(+), 135459 deletions(-)
delete mode 100644 .drone.yml.sig
create mode 100644 Dockerfile.aarch64
create mode 100644 assets/logo.svg
rename {scripts => contrib}/README (100%)
rename {scripts => contrib}/autoboot.sh (100%)
rename {scripts => contrib}/init/centos/gitea (100%)
rename {scripts => contrib}/init/debian/gitea (98%)
rename {scripts => contrib}/init/freebsd/gitea (100%)
rename {scripts => contrib}/init/gentoo/gitea (100%)
rename {scripts => contrib}/init/openbsd/gitea (100%)
rename {scripts => contrib}/init/suse/gitea (100%)
rename {scripts => contrib}/launchd/io.gitea.web.plist (100%)
rename {scripts => contrib}/migrate/gogs_migrate.sh (100%)
rename {scripts => contrib}/mysql.sql (100%)
rename {scripts => contrib}/supervisor/gitea (100%)
rename {scripts => contrib}/systemd/gitea.service (100%)
rename {scripts => contrib}/windows/install-as-service.bat (100%)
create mode 100644 integrations/api_branch_test.go
create mode 100644 integrations/api_comment_test.go
create mode 100644 integrations/api_fork_test.go
create mode 100644 integrations/api_issue_label_test.go
create mode 100644 integrations/api_issue_test.go
create mode 100644 integrations/api_keys_test.go
create mode 100644 integrations/api_pull_test.go
create mode 100644 integrations/api_repo_test.go
create mode 100644 integrations/api_team_test.go
create mode 100644 integrations/bare_repo_test.go
create mode 100644 integrations/change_default_branch_test.go
create mode 100644 integrations/delete_user_test.go
create mode 100644 integrations/editor_test.go
create mode 100644 integrations/explore_repos_test.go
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/HEAD
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/config
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/description
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/applypatch-msg.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/commit-msg.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/post-receive
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/post-receive.d/gitea
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/post-update.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-applypatch.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-commit.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-push.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-rebase.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-receive
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-receive.d/gitea
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/prepare-commit-msg.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/update
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/update.d/gitea
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/update.sample
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/info/exclude
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/info/refs
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/objects/2a/2f1d4670728a2e10049e345bd7a276468beab6
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/objects/4b/4851ad51df6a7d9f25c979345979eaeb5b349f
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/objects/65/f1bf27bc3bf70f64657658635e66094edbcb4d
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/objects/info/packs
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/refs/heads/DefaultBranch
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/refs/heads/develop
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/refs/heads/feature/1
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/refs/heads/master
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/HEAD
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/config
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/description
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/applypatch-msg.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/commit-msg.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/post-receive
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/post-receive.d/gitea
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/post-update.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-applypatch.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-commit.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-push.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-rebase.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-receive
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-receive.d/gitea
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/prepare-commit-msg.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/update
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/update.d/gitea
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/update.sample
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/info/exclude
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/HEAD
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/config
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/description
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/applypatch-msg.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/commit-msg.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/post-receive
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/post-receive.d/gitea
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/post-update.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-applypatch.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-commit.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-push.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-rebase.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-receive
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-receive.d/gitea
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-receive.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/prepare-commit-msg.sample
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/update
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/update.d/gitea
create mode 100755 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/update.sample
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/info/exclude
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/objects/20/ade30d25e0ecaeec84e7f542a8456900858240
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/objects/27/74debeea6dc742cc4971a92db0e08b95b60588
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/objects/2a/47ca4b614a9f5a43abbd5ad851a54a616ffee6
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/objects/2f/9b22fd3159a43b7b4e5dd806fcd544edf8716f
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/objects/d5/6a3073c1dbb7b15963110a049d50cdb5db99fc
create mode 100644 integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/refs/heads/master
create mode 100644 integrations/html_helper.go
delete mode 100644 integrations/install_test.go
create mode 100644 integrations/integration_test.go
delete mode 100644 integrations/internal/utils/utils.go
create mode 100644 integrations/internal_test.go
create mode 100644 integrations/issue_test.go
create mode 100644 integrations/links_test.go
create mode 100644 integrations/mysql.ini
create mode 100644 integrations/pgsql.ini
create mode 100644 integrations/pull_compare_test.go
create mode 100644 integrations/pull_create_test.go
create mode 100644 integrations/pull_merge_test.go
create mode 100644 integrations/release_test.go
create mode 100644 integrations/repo_commits_test.go
create mode 100644 integrations/repo_fork_test.go
create mode 100644 integrations/repo_migrate_test.go
create mode 100644 integrations/repo_test.go
create mode 100644 integrations/setting_test.go
create mode 100644 integrations/signin_test.go
create mode 100644 integrations/signup_test.go
create mode 100644 integrations/sqlite.ini
create mode 100644 integrations/user_test.go
create mode 100644 integrations/xss_test.go
create mode 100644 models/attachment_test.go
rename models/{consistency_test.go => consistency.go} (83%)
create mode 100644 models/error_oauth2.go
create mode 100644 models/fixtures/attachment.yml
create mode 100644 models/fixtures/commit_status.yml
create mode 100644 models/fixtures/follow.yml
create mode 100644 models/fixtures/issue_watch.yml
create mode 100644 models/fixtures/protected_branch.yml
create mode 100644 models/fixtures/release.yml
create mode 100644 models/fixtures/repo_unit.yml
create mode 100644 models/fixtures/user_open_id.yml
create mode 100644 models/gpg_key.go
create mode 100644 models/gpg_key_test.go
create mode 100644 models/issue_comment_test.go
create mode 100644 models/issue_list_test.go
create mode 100644 models/issue_watch.go
create mode 100644 models/issue_watch_test.go
create mode 100644 models/main_test.go
create mode 100644 models/migrations/v23.go
create mode 100644 models/migrations/v24.go
create mode 100644 models/migrations/v25.go
create mode 100644 models/migrations/v26.go
create mode 100644 models/migrations/v27.go
create mode 100644 models/migrations/v28.go
create mode 100644 models/migrations/v29.go
create mode 100644 models/migrations/v30.go
create mode 100644 models/migrations/v31.go
create mode 100644 models/migrations/v32.go
create mode 100644 models/migrations/v33.go
create mode 100644 models/migrations/v34.go
create mode 100644 models/migrations/v35.go
create mode 100644 models/migrations/v36.go
create mode 100644 models/migrations/v37.go
create mode 100644 models/migrations/v38.go
create mode 100644 models/migrations/v42.go
create mode 100644 models/migrations/v43.go
create mode 100644 models/migrations/v44.go
create mode 100644 models/oauth2.go
create mode 100644 models/status.go
create mode 100644 models/status_test.go
create mode 100644 models/test_fixtures.go
rename models/{setup_for_test.go => unit_tests.go} (60%)
create mode 100644 models/user_follow.go
create mode 100644 models/user_follow_test.go
create mode 100644 models/user_openid.go
create mode 100644 models/user_openid_test.go
create mode 100644 modules/auth/openid/discovery_cache.go
create mode 100644 modules/auth/openid/discovery_cache_test.go
create mode 100644 modules/auth/openid/openid.go
create mode 100644 modules/auth/user_form_auth_openid.go
create mode 100644 modules/markup/markup.go
create mode 100644 modules/markup/markup_test.go
create mode 100644 modules/private/branch.go
create mode 100644 modules/private/internal.go
create mode 100644 modules/private/push_update.go
create mode 100644 modules/test/context_tests.go
create mode 100644 modules/util/remove.go
create mode 100644 modules/util/remove_windows.go
create mode 100644 modules/validation/binding.go
create mode 100644 modules/validation/binding_test.go
create mode 100644 modules/validation/refname_test.go
create mode 100644 modules/validation/validurl_test.go
create mode 100644 options/gitignore/Ansible
create mode 100644 options/gitignore/Bazaar
delete mode 100644 options/gitignore/C Sharp
create mode 100644 options/gitignore/Calabash
create mode 100644 options/gitignore/D
create mode 100644 options/gitignore/Dropbox
create mode 100644 options/gitignore/Elm
delete mode 100644 options/gitignore/FSharp
create mode 100644 options/gitignore/Fortran
create mode 100644 options/gitignore/GPG
delete mode 100644 options/gitignore/IPythonNotebook
create mode 100644 options/gitignore/Julia
create mode 100644 options/gitignore/Otto
create mode 100644 options/gitignore/PureScript
create mode 100644 options/gitignore/Scheme
create mode 100644 options/gitignore/Smalltalk
create mode 100644 options/gitignore/Stata
create mode 100644 options/gitignore/Terraform
create mode 100644 options/gitignore/UnrealEngine
rename options/gitignore/{OSX => macOS} (81%)
create mode 100644 options/license/0BSD
create mode 100644 options/license/AAL
create mode 100644 options/license/ADSL
rename options/license/{Academic Free License v1.1 => AFL-1.1} (73%)
rename options/license/{Academic Free License v1.2 => AFL-1.2} (96%)
create mode 100644 options/license/AFL-2.0
create mode 100644 options/license/AFL-2.1
rename options/license/{Academic Free License v3.0 => AFL-3.0} (79%)
rename options/license/{Affero General Public License v1.0 => AGPL-1.0} (83%)
create mode 100644 options/license/AGPL-3.0
create mode 100644 options/license/AMDPLPA
create mode 100644 options/license/AML
create mode 100644 options/license/AMPAS
create mode 100644 options/license/ANTLR-PD
create mode 100644 options/license/APAFML
create mode 100644 options/license/APL-1.0
create mode 100644 options/license/APSL-1.0
create mode 100644 options/license/APSL-1.1
create mode 100644 options/license/APSL-1.2
create mode 100644 options/license/APSL-2.0
rename options/license/{Abstyles License => Abstyles} (70%)
create mode 100644 options/license/Adobe-2006
create mode 100644 options/license/Adobe-Glyph
create mode 100644 options/license/Afmparse
create mode 100644 options/license/Aladdin
delete mode 100644 options/license/Apache License 1.0
delete mode 100644 options/license/Apache License 1.1
create mode 100644 options/license/Apache-1.0
create mode 100644 options/license/Apache-1.1
rename options/license/{Apache License 2.0 => Apache-2.0} (78%)
delete mode 100644 options/license/Artistic License 1.0
delete mode 100644 options/license/Artistic License 2.0
create mode 100644 options/license/Artistic-1.0
create mode 100644 options/license/Artistic-1.0-Perl
create mode 100644 options/license/Artistic-1.0-cl8
create mode 100644 options/license/Artistic-2.0
delete mode 100644 options/license/BSD 2-clause License
delete mode 100644 options/license/BSD 4-clause License
create mode 100644 options/license/BSD-2-Clause
create mode 100644 options/license/BSD-2-Clause-FreeBSD
create mode 100644 options/license/BSD-2-Clause-NetBSD
create mode 100644 options/license/BSD-3-Clause
rename options/license/{BSD 3-clause License => BSD-3-Clause-Attribution} (50%)
create mode 100644 options/license/BSD-3-Clause-Clear
create mode 100644 options/license/BSD-3-Clause-LBNL
create mode 100644 options/license/BSD-3-Clause-No-Nuclear-License
create mode 100644 options/license/BSD-3-Clause-No-Nuclear-License-2014
create mode 100644 options/license/BSD-3-Clause-No-Nuclear-Warranty
create mode 100644 options/license/BSD-4-Clause
create mode 100644 options/license/BSD-4-Clause-UC
create mode 100644 options/license/BSD-Protection
create mode 100644 options/license/BSD-Source-Code
create mode 100644 options/license/BSL-1.0
create mode 100644 options/license/Bahyph
create mode 100644 options/license/Barr
create mode 100644 options/license/Beerware
create mode 100644 options/license/BitTorrent-1.0
create mode 100644 options/license/BitTorrent-1.1
create mode 100644 options/license/Borceux
create mode 100644 options/license/CATOSL-1.1
create mode 100644 options/license/CC-BY-1.0
create mode 100644 options/license/CC-BY-2.0
create mode 100644 options/license/CC-BY-3.0
create mode 100644 options/license/CC-BY-4.0
create mode 100644 options/license/CC-BY-NC-1.0
create mode 100644 options/license/CC-BY-NC-2.0
create mode 100644 options/license/CC-BY-NC-3.0
create mode 100644 options/license/CC-BY-NC-4.0
create mode 100644 options/license/CC-BY-NC-ND-1.0
create mode 100644 options/license/CC-BY-NC-ND-2.0
create mode 100644 options/license/CC-BY-NC-ND-3.0
create mode 100644 options/license/CC-BY-NC-ND-4.0
create mode 100644 options/license/CC-BY-NC-SA-1.0
create mode 100644 options/license/CC-BY-NC-SA-2.0
create mode 100644 options/license/CC-BY-NC-SA-3.0
create mode 100644 options/license/CC-BY-NC-SA-4.0
create mode 100644 options/license/CC-BY-ND-1.0
create mode 100644 options/license/CC-BY-ND-2.0
create mode 100644 options/license/CC-BY-ND-3.0
create mode 100644 options/license/CC-BY-ND-4.0
create mode 100644 options/license/CC-BY-SA-1.0
create mode 100644 options/license/CC-BY-SA-2.0
create mode 100644 options/license/CC-BY-SA-3.0
create mode 100644 options/license/CC-BY-SA-4.0
rename options/license/{Creative Commons CC0 1.0 Universal => CC0-1.0} (62%)
create mode 100644 options/license/CDDL-1.0
create mode 100644 options/license/CDDL-1.1
create mode 100644 options/license/CECILL-1.0
create mode 100644 options/license/CECILL-1.1
create mode 100644 options/license/CECILL-2.0
create mode 100644 options/license/CECILL-2.1
create mode 100644 options/license/CECILL-B
create mode 100644 options/license/CECILL-C
create mode 100644 options/license/CNRI-Jython
create mode 100644 options/license/CNRI-Python
create mode 100644 options/license/CNRI-Python-GPL-Compatible
create mode 100644 options/license/CPAL-1.0
create mode 100644 options/license/CPL-1.0
create mode 100644 options/license/CPOL-1.02
rename options/license/{Mozilla Public License 1.1 => CUA-OPL-1.0} (60%)
create mode 100644 options/license/Caldera
create mode 100644 options/license/ClArtistic
create mode 100644 options/license/Condor-1.1
create mode 100644 options/license/Crossword
create mode 100644 options/license/CrystalStacker
create mode 100644 options/license/Cube
create mode 100644 options/license/D-FSL-1.0
create mode 100644 options/license/DOC
create mode 100644 options/license/DSDP
create mode 100644 options/license/Dotseqn
rename options/license/{Educational Community License v1.0 => ECL-1.0} (71%)
rename options/license/{Educational Community License v2.0 => ECL-2.0} (79%)
create mode 100644 options/license/EFL-1.0
create mode 100644 options/license/EFL-2.0
rename options/license/{Eclipse Public License 1.0 => EPL-1.0} (68%)
create mode 100644 options/license/EUDatagrid
create mode 100644 options/license/EUPL-1.0
create mode 100644 options/license/EUPL-1.1
create mode 100644 options/license/Entessa
create mode 100644 options/license/ErlPL-1.1
create mode 100644 options/license/Eurosym
create mode 100644 options/license/FSFAP
create mode 100644 options/license/FSFUL
create mode 100644 options/license/FSFULLR
create mode 100644 options/license/FTL
create mode 100644 options/license/Fair
create mode 100644 options/license/Frameworx-1.0
create mode 100644 options/license/FreeImage
rename options/license/{GNU Free Documentation License v1.1 => GFDL-1.1} (78%)
rename options/license/{GNU Free Documentation License v1.2 => GFDL-1.2} (80%)
rename options/license/{GNU Free Documentation License v1.3 => GFDL-1.3} (82%)
create mode 100644 options/license/GL2PS
delete mode 100644 options/license/GNU Affero General Public License v3.0
delete mode 100644 options/license/GNU General Public License v3.0
rename options/license/{GNU General Public License v1.0 => GPL-1.0} (73%)
rename options/license/{GNU General Public License v2.0 => GPL-2.0} (80%)
create mode 100644 options/license/GPL-3.0
create mode 100644 options/license/Giftware
create mode 100644 options/license/Glide
create mode 100644 options/license/Glulxe
create mode 100644 options/license/HPND
create mode 100644 options/license/HaskellReport
create mode 100644 options/license/IBM-pibs
create mode 100644 options/license/ICU
create mode 100644 options/license/IJG
create mode 100644 options/license/IPA
create mode 100644 options/license/IPL-1.0
rename options/license/{ISC license => ISC} (81%)
create mode 100644 options/license/ImageMagick
create mode 100644 options/license/Imlib2
create mode 100644 options/license/Info-ZIP
create mode 100644 options/license/Intel
create mode 100644 options/license/Intel-ACPI
create mode 100644 options/license/Interbase-1.0
create mode 100644 options/license/JSON
create mode 100644 options/license/JasPer-2.0
create mode 100644 options/license/LAL-1.2
create mode 100644 options/license/LAL-1.3
rename options/license/{GNU Library General Public License v2.0 => LGPL-2.0} (84%)
rename options/license/{GNU Lesser General Public License v2.1 => LGPL-2.1} (83%)
rename options/license/{GNU Lesser General Public License v3.0 => LGPL-3.0} (51%)
create mode 100644 options/license/LGPLLR
create mode 100644 options/license/LPL-1.0
create mode 100644 options/license/LPL-1.02
create mode 100644 options/license/LPPL-1.0
create mode 100644 options/license/LPPL-1.1
create mode 100644 options/license/LPPL-1.2
create mode 100644 options/license/LPPL-1.3a
create mode 100644 options/license/LPPL-1.3c
create mode 100644 options/license/Latex2e
create mode 100644 options/license/Leptonica
create mode 100644 options/license/LiLiQ-P-1.1
create mode 100644 options/license/LiLiQ-R-1.1
create mode 100644 options/license/LiLiQ-Rplus-1.1
create mode 100644 options/license/Libpng
rename options/license/{MIT License => MIT} (98%)
create mode 100644 options/license/MIT-CMU
create mode 100644 options/license/MIT-advertising
create mode 100644 options/license/MIT-enna
create mode 100644 options/license/MIT-feh
create mode 100644 options/license/MITNFA
create mode 100644 options/license/MPL-1.0
create mode 100644 options/license/MPL-1.1
create mode 100644 options/license/MPL-2.0
create mode 100644 options/license/MPL-2.0-no-copyleft-exception
create mode 100644 options/license/MS-PL
create mode 100644 options/license/MS-RL
create mode 100644 options/license/MTLL
create mode 100644 options/license/MakeIndex
create mode 100644 options/license/MirOS
create mode 100644 options/license/Motosoto
delete mode 100644 options/license/Mozilla Public License 1.0
delete mode 100644 options/license/Mozilla Public License 2.0
create mode 100644 options/license/Multics
create mode 100644 options/license/Mup
create mode 100644 options/license/NASA-1.3
create mode 100644 options/license/NBPL-1.0
create mode 100644 options/license/NCSA
create mode 100644 options/license/NGPL
create mode 100644 options/license/NLOD-1.0
create mode 100644 options/license/NLPL
create mode 100644 options/license/NOSL
create mode 100644 options/license/NPL-1.0
create mode 100644 options/license/NPL-1.1
create mode 100644 options/license/NPOSL-3.0
create mode 100644 options/license/NRL
create mode 100644 options/license/NTP
create mode 100644 options/license/Naumen
create mode 100644 options/license/Net-SNMP
create mode 100644 options/license/NetCDF
create mode 100644 options/license/Newsletr
create mode 100644 options/license/Nokia
create mode 100644 options/license/Noweb
create mode 100644 options/license/Nunit
create mode 100644 options/license/OCCT-PL
create mode 100644 options/license/OCLC-2.0
create mode 100644 options/license/ODbL-1.0
create mode 100644 options/license/OFL-1.0
create mode 100644 options/license/OFL-1.1
create mode 100644 options/license/OGTSL
create mode 100644 options/license/OLDAP-1.1
create mode 100644 options/license/OLDAP-1.2
create mode 100644 options/license/OLDAP-1.3
create mode 100644 options/license/OLDAP-1.4
create mode 100644 options/license/OLDAP-2.0
create mode 100644 options/license/OLDAP-2.0.1
create mode 100644 options/license/OLDAP-2.1
create mode 100644 options/license/OLDAP-2.2
create mode 100644 options/license/OLDAP-2.2.1
create mode 100644 options/license/OLDAP-2.2.2
create mode 100644 options/license/OLDAP-2.3
create mode 100644 options/license/OLDAP-2.4
create mode 100644 options/license/OLDAP-2.7
create mode 100644 options/license/OML
create mode 100644 options/license/OPL-1.0
create mode 100644 options/license/OSET-PL-2.1
create mode 100644 options/license/OSL-1.0
create mode 100644 options/license/OSL-1.1
rename options/license/{Academic Free License v2.0 => OSL-2.0} (81%)
rename options/license/{Academic Free License v2.1 => OSL-2.1} (82%)
create mode 100644 options/license/OSL-3.0
create mode 100644 options/license/OpenSSL
create mode 100644 options/license/PDDL-1.0
create mode 100644 options/license/PHP-3.0
create mode 100644 options/license/PHP-3.01
create mode 100644 options/license/Plexus
create mode 100644 options/license/PostgreSQL
create mode 100644 options/license/Python-2.0
create mode 100644 options/license/QPL-1.0
create mode 100644 options/license/Qhull
create mode 100644 options/license/RHeCos-1.1
create mode 100644 options/license/RPL-1.1
create mode 100644 options/license/RPSL-1.0
create mode 100644 options/license/RSA-MD
create mode 100644 options/license/RSCPL
create mode 100644 options/license/Rdisc
create mode 100644 options/license/Ruby
create mode 100644 options/license/SAX-PD
create mode 100644 options/license/SCEA
create mode 100644 options/license/SGI-B-1.0
create mode 100644 options/license/SGI-B-1.1
create mode 100644 options/license/SGI-B-2.0
create mode 100644 options/license/SISSL
create mode 100644 options/license/SISSL-1.2
create mode 100644 options/license/SMLNJ
create mode 100644 options/license/SMPPL
create mode 100644 options/license/SNIA
create mode 100644 options/license/SPL-1.0
create mode 100644 options/license/SWL
create mode 100644 options/license/Saxpath
create mode 100644 options/license/Sendmail
create mode 100644 options/license/SimPL-2.0
create mode 100644 options/license/Sleepycat
create mode 100644 options/license/Spencer-86
create mode 100644 options/license/Spencer-94
create mode 100644 options/license/Spencer-99
create mode 100644 options/license/SugarCRM-1.1.3
create mode 100644 options/license/TCL
create mode 100644 options/license/TCP-wrappers
create mode 100644 options/license/TMate
create mode 100644 options/license/TORQUE-1.1
create mode 100644 options/license/TOSL
create mode 100644 options/license/UPL-1.0
create mode 100644 options/license/Unicode-DFS-2015
create mode 100644 options/license/Unicode-DFS-2016
create mode 100644 options/license/Unicode-TOU
create mode 100644 options/license/Unlicense
create mode 100644 options/license/Updating the SPDX Licenses
create mode 100644 options/license/VOSTROM
create mode 100644 options/license/VSL-1.0
create mode 100644 options/license/Vim
create mode 100644 options/license/W3C
create mode 100644 options/license/W3C-19980720
create mode 100644 options/license/W3C-20150513
create mode 100644 options/license/WTFPL
create mode 100644 options/license/Watcom-1.0
create mode 100644 options/license/Wsuipa
create mode 100644 options/license/X11
create mode 100644 options/license/XFree86-1.1
create mode 100644 options/license/XSkat
create mode 100644 options/license/Xerox
create mode 100644 options/license/Xnet
create mode 100644 options/license/YPL-1.0
create mode 100644 options/license/YPL-1.1
create mode 100644 options/license/ZPL-1.1
create mode 100644 options/license/ZPL-2.0
create mode 100644 options/license/ZPL-2.1
create mode 100644 options/license/Zed
create mode 100644 options/license/Zend-2.0
create mode 100644 options/license/Zimbra-1.3
create mode 100644 options/license/Zimbra-1.4
create mode 100644 options/license/Zlib
create mode 100644 options/license/curl
create mode 100644 options/license/diffmark
create mode 100644 options/license/dvipdfm
create mode 100644 options/license/eGenix
create mode 100644 options/license/gSOAP-1.3b
create mode 100644 options/license/gnuplot
create mode 100644 options/license/iMatix
create mode 100644 options/license/libtiff
create mode 100644 options/license/mpich2
create mode 100644 options/license/psfrag
create mode 100644 options/license/psutils
create mode 100644 options/license/xinetd
create mode 100644 options/license/xpp
create mode 100644 options/license/zlib-acknowledgement
create mode 100644 options/locale/locale_hu-HU.ini
create mode 100644 options/locale/locale_lt-LT.ini
create mode 100644 options/locale/locale_nb-NO.ini
delete mode 100644 public/assets/font-awesome-4.6.3/css/font-awesome.min.css
delete mode 100644 public/assets/font-awesome-4.6.3/fonts/FontAwesome.otf
delete mode 100644 public/assets/font-awesome-4.6.3/fonts/fontawesome-webfont.eot
delete mode 100644 public/assets/font-awesome-4.6.3/fonts/fontawesome-webfont.svg
delete mode 100644 public/assets/font-awesome-4.6.3/fonts/fontawesome-webfont.ttf
delete mode 100644 public/assets/font-awesome-4.6.3/fonts/fontawesome-webfont.woff
delete mode 100644 public/assets/font-awesome-4.6.3/fonts/fontawesome-webfont.woff2
delete mode 100755 public/assets/octicons-4.3.0/octicons.eot
delete mode 100755 public/assets/octicons-4.3.0/octicons.min.css
delete mode 100755 public/assets/octicons-4.3.0/octicons.svg
delete mode 100755 public/assets/octicons-4.3.0/octicons.ttf
delete mode 100755 public/assets/octicons-4.3.0/octicons.woff
delete mode 100755 public/assets/octicons-4.3.0/octicons.woff2
delete mode 100644 public/css/gitgraph.css
delete mode 100644 public/css/github.min.css
delete mode 100755 public/css/semantic-2.2.1.min.css
delete mode 100755 public/css/themes/basic/assets/fonts/icons.eot
delete mode 100755 public/css/themes/basic/assets/fonts/icons.svg
delete mode 100755 public/css/themes/basic/assets/fonts/icons.ttf
delete mode 100755 public/css/themes/basic/assets/fonts/icons.woff
delete mode 100755 public/css/themes/default/assets/fonts/icons.eot
delete mode 100755 public/css/themes/default/assets/fonts/icons.otf
delete mode 100755 public/css/themes/default/assets/fonts/icons.svg
delete mode 100755 public/css/themes/default/assets/fonts/icons.ttf
delete mode 100755 public/css/themes/default/assets/fonts/icons.woff
delete mode 100755 public/css/themes/default/assets/fonts/icons.woff2
delete mode 100755 public/css/themes/default/assets/images/flags.png
create mode 100644 public/img/auth/bitbucket.png
create mode 100644 public/img/auth/dropbox.png
create mode 100644 public/img/auth/facebook.png
rename public/img/{ => auth}/github.png (100%)
create mode 100644 public/img/auth/gitlab.png
create mode 100644 public/img/auth/google_plus.png
create mode 100644 public/img/auth/openid_connect.png
create mode 100644 public/img/auth/twitter.png
delete mode 100644 public/img/emoji/+1.png
delete mode 100644 public/img/emoji/-1.png
delete mode 100644 public/img/emoji/100.png
delete mode 100644 public/img/emoji/1234.png
delete mode 100644 public/img/emoji/8ball.png
delete mode 100644 public/img/emoji/a.png
delete mode 100644 public/img/emoji/ab.png
delete mode 100644 public/img/emoji/abc.png
delete mode 100644 public/img/emoji/abcd.png
delete mode 100644 public/img/emoji/accept.png
delete mode 100644 public/img/emoji/aerial_tramway.png
delete mode 100644 public/img/emoji/airplane.png
delete mode 100644 public/img/emoji/alarm_clock.png
delete mode 100644 public/img/emoji/alien.png
delete mode 100644 public/img/emoji/ambulance.png
delete mode 100644 public/img/emoji/anchor.png
delete mode 100644 public/img/emoji/angel.png
delete mode 100644 public/img/emoji/anger.png
delete mode 100644 public/img/emoji/angry.png
delete mode 100644 public/img/emoji/anguished.png
delete mode 100644 public/img/emoji/ant.png
delete mode 100644 public/img/emoji/apple.png
delete mode 100644 public/img/emoji/aquarius.png
delete mode 100644 public/img/emoji/aries.png
delete mode 100644 public/img/emoji/arrow_backward.png
delete mode 100644 public/img/emoji/arrow_double_down.png
delete mode 100644 public/img/emoji/arrow_double_up.png
delete mode 100644 public/img/emoji/arrow_down.png
delete mode 100644 public/img/emoji/arrow_down_small.png
delete mode 100644 public/img/emoji/arrow_forward.png
delete mode 100644 public/img/emoji/arrow_heading_down.png
delete mode 100644 public/img/emoji/arrow_heading_up.png
delete mode 100644 public/img/emoji/arrow_left.png
delete mode 100644 public/img/emoji/arrow_lower_left.png
delete mode 100644 public/img/emoji/arrow_lower_right.png
delete mode 100644 public/img/emoji/arrow_right.png
delete mode 100644 public/img/emoji/arrow_right_hook.png
delete mode 100644 public/img/emoji/arrow_up.png
delete mode 100644 public/img/emoji/arrow_up_down.png
delete mode 100644 public/img/emoji/arrow_up_small.png
delete mode 100644 public/img/emoji/arrow_upper_left.png
delete mode 100644 public/img/emoji/arrow_upper_right.png
delete mode 100644 public/img/emoji/arrows_clockwise.png
delete mode 100644 public/img/emoji/arrows_counterclockwise.png
delete mode 100644 public/img/emoji/art.png
delete mode 100644 public/img/emoji/articulated_lorry.png
delete mode 100644 public/img/emoji/astonished.png
delete mode 100644 public/img/emoji/atm.png
delete mode 100644 public/img/emoji/b.png
delete mode 100644 public/img/emoji/baby.png
delete mode 100644 public/img/emoji/baby_bottle.png
delete mode 100644 public/img/emoji/baby_chick.png
delete mode 100644 public/img/emoji/baby_symbol.png
delete mode 100644 public/img/emoji/back.png
delete mode 100644 public/img/emoji/baggage_claim.png
delete mode 100644 public/img/emoji/balloon.png
delete mode 100644 public/img/emoji/ballot_box_with_check.png
delete mode 100644 public/img/emoji/bamboo.png
delete mode 100644 public/img/emoji/banana.png
delete mode 100644 public/img/emoji/bangbang.png
delete mode 100644 public/img/emoji/bank.png
delete mode 100644 public/img/emoji/bar_chart.png
delete mode 100644 public/img/emoji/barber.png
delete mode 100644 public/img/emoji/baseball.png
delete mode 100644 public/img/emoji/basketball.png
delete mode 100644 public/img/emoji/bath.png
delete mode 100644 public/img/emoji/bathtub.png
delete mode 100644 public/img/emoji/battery.png
delete mode 100644 public/img/emoji/bear.png
delete mode 100644 public/img/emoji/bee.png
delete mode 100644 public/img/emoji/beer.png
delete mode 100644 public/img/emoji/beers.png
delete mode 100644 public/img/emoji/beetle.png
delete mode 100644 public/img/emoji/beginner.png
delete mode 100644 public/img/emoji/bell.png
delete mode 100644 public/img/emoji/bento.png
delete mode 100644 public/img/emoji/bicyclist.png
delete mode 100644 public/img/emoji/bike.png
delete mode 100644 public/img/emoji/bikini.png
delete mode 100644 public/img/emoji/bird.png
delete mode 100644 public/img/emoji/birthday.png
delete mode 100644 public/img/emoji/black_circle.png
delete mode 100644 public/img/emoji/black_joker.png
delete mode 100644 public/img/emoji/black_medium_small_square.png
delete mode 100644 public/img/emoji/black_medium_square.png
delete mode 100644 public/img/emoji/black_nib.png
delete mode 100644 public/img/emoji/black_small_square.png
delete mode 100644 public/img/emoji/black_square.png
delete mode 100644 public/img/emoji/black_square_button.png
delete mode 100644 public/img/emoji/blossom.png
delete mode 100644 public/img/emoji/blowfish.png
delete mode 100644 public/img/emoji/blue_book.png
delete mode 100644 public/img/emoji/blue_car.png
delete mode 100644 public/img/emoji/blue_heart.png
delete mode 100644 public/img/emoji/blush.png
delete mode 100644 public/img/emoji/boar.png
delete mode 100644 public/img/emoji/boat.png
delete mode 100644 public/img/emoji/bomb.png
delete mode 100644 public/img/emoji/book.png
delete mode 100644 public/img/emoji/bookmark.png
delete mode 100644 public/img/emoji/bookmark_tabs.png
delete mode 100644 public/img/emoji/books.png
delete mode 100644 public/img/emoji/boom.png
delete mode 100644 public/img/emoji/boot.png
delete mode 100644 public/img/emoji/bouquet.png
delete mode 100644 public/img/emoji/bow.png
delete mode 100644 public/img/emoji/bowling.png
delete mode 100644 public/img/emoji/bowtie.png
delete mode 100644 public/img/emoji/boy.png
delete mode 100644 public/img/emoji/bread.png
delete mode 100644 public/img/emoji/bride_with_veil.png
delete mode 100644 public/img/emoji/bridge_at_night.png
delete mode 100644 public/img/emoji/briefcase.png
delete mode 100644 public/img/emoji/broken_heart.png
delete mode 100644 public/img/emoji/bug.png
delete mode 100644 public/img/emoji/bulb.png
delete mode 100644 public/img/emoji/bullettrain_front.png
delete mode 100644 public/img/emoji/bullettrain_side.png
delete mode 100644 public/img/emoji/bus.png
delete mode 100644 public/img/emoji/busstop.png
delete mode 100644 public/img/emoji/bust_in_silhouette.png
delete mode 100644 public/img/emoji/busts_in_silhouette.png
delete mode 100644 public/img/emoji/cactus.png
delete mode 100644 public/img/emoji/cake.png
delete mode 100644 public/img/emoji/calendar.png
delete mode 100644 public/img/emoji/calling.png
delete mode 100644 public/img/emoji/camel.png
delete mode 100644 public/img/emoji/camera.png
delete mode 100644 public/img/emoji/cancer.png
delete mode 100644 public/img/emoji/candy.png
delete mode 100644 public/img/emoji/capital_abcd.png
delete mode 100644 public/img/emoji/capricorn.png
delete mode 100644 public/img/emoji/car.png
delete mode 100644 public/img/emoji/card_index.png
delete mode 100644 public/img/emoji/carousel_horse.png
delete mode 100644 public/img/emoji/cat.png
delete mode 100644 public/img/emoji/cat2.png
delete mode 100644 public/img/emoji/cd.png
delete mode 100644 public/img/emoji/chart.png
delete mode 100644 public/img/emoji/chart_with_downwards_trend.png
delete mode 100644 public/img/emoji/chart_with_upwards_trend.png
delete mode 100644 public/img/emoji/checkered_flag.png
delete mode 100644 public/img/emoji/cherries.png
delete mode 100644 public/img/emoji/cherry_blossom.png
delete mode 100644 public/img/emoji/chestnut.png
delete mode 100644 public/img/emoji/chicken.png
delete mode 100644 public/img/emoji/children_crossing.png
delete mode 100644 public/img/emoji/chocolate_bar.png
delete mode 100644 public/img/emoji/christmas_tree.png
delete mode 100644 public/img/emoji/church.png
delete mode 100644 public/img/emoji/cinema.png
delete mode 100644 public/img/emoji/circus_tent.png
delete mode 100644 public/img/emoji/city_sunrise.png
delete mode 100644 public/img/emoji/city_sunset.png
delete mode 100644 public/img/emoji/cl.png
delete mode 100644 public/img/emoji/clap.png
delete mode 100644 public/img/emoji/clapper.png
delete mode 100644 public/img/emoji/clipboard.png
delete mode 100644 public/img/emoji/clock1.png
delete mode 100644 public/img/emoji/clock10.png
delete mode 100644 public/img/emoji/clock1030.png
delete mode 100644 public/img/emoji/clock11.png
delete mode 100644 public/img/emoji/clock1130.png
delete mode 100644 public/img/emoji/clock12.png
delete mode 100644 public/img/emoji/clock1230.png
delete mode 100644 public/img/emoji/clock130.png
delete mode 100644 public/img/emoji/clock2.png
delete mode 100644 public/img/emoji/clock230.png
delete mode 100644 public/img/emoji/clock3.png
delete mode 100644 public/img/emoji/clock330.png
delete mode 100644 public/img/emoji/clock4.png
delete mode 100644 public/img/emoji/clock430.png
delete mode 100644 public/img/emoji/clock5.png
delete mode 100644 public/img/emoji/clock530.png
delete mode 100644 public/img/emoji/clock6.png
delete mode 100644 public/img/emoji/clock630.png
delete mode 100644 public/img/emoji/clock7.png
delete mode 100644 public/img/emoji/clock730.png
delete mode 100644 public/img/emoji/clock8.png
delete mode 100644 public/img/emoji/clock830.png
delete mode 100644 public/img/emoji/clock9.png
delete mode 100644 public/img/emoji/clock930.png
delete mode 100644 public/img/emoji/closed_book.png
delete mode 100644 public/img/emoji/closed_lock_with_key.png
delete mode 100644 public/img/emoji/closed_umbrella.png
delete mode 100644 public/img/emoji/cloud.png
delete mode 100644 public/img/emoji/clubs.png
delete mode 100644 public/img/emoji/cn.png
delete mode 100644 public/img/emoji/cocktail.png
delete mode 100644 public/img/emoji/coffee.png
delete mode 100644 public/img/emoji/cold_sweat.png
delete mode 100644 public/img/emoji/collision.png
delete mode 100644 public/img/emoji/computer.png
delete mode 100644 public/img/emoji/confetti_ball.png
delete mode 100644 public/img/emoji/confounded.png
delete mode 100644 public/img/emoji/confused.png
delete mode 100644 public/img/emoji/congratulations.png
delete mode 100644 public/img/emoji/construction.png
delete mode 100644 public/img/emoji/construction_worker.png
delete mode 100644 public/img/emoji/convenience_store.png
delete mode 100644 public/img/emoji/cookie.png
delete mode 100644 public/img/emoji/cool.png
delete mode 100644 public/img/emoji/cop.png
delete mode 100644 public/img/emoji/copyright.png
delete mode 100644 public/img/emoji/corn.png
delete mode 100644 public/img/emoji/couple.png
delete mode 100644 public/img/emoji/couple_with_heart.png
delete mode 100644 public/img/emoji/couplekiss.png
delete mode 100644 public/img/emoji/cow.png
delete mode 100644 public/img/emoji/cow2.png
delete mode 100644 public/img/emoji/credit_card.png
delete mode 100644 public/img/emoji/crescent_moon.png
delete mode 100644 public/img/emoji/crocodile.png
delete mode 100644 public/img/emoji/crossed_flags.png
delete mode 100644 public/img/emoji/crown.png
delete mode 100644 public/img/emoji/cry.png
delete mode 100644 public/img/emoji/crying_cat_face.png
delete mode 100644 public/img/emoji/crystal_ball.png
delete mode 100644 public/img/emoji/cupid.png
delete mode 100644 public/img/emoji/curly_loop.png
delete mode 100644 public/img/emoji/currency_exchange.png
delete mode 100644 public/img/emoji/curry.png
delete mode 100644 public/img/emoji/custard.png
delete mode 100644 public/img/emoji/customs.png
delete mode 100644 public/img/emoji/cyclone.png
delete mode 100644 public/img/emoji/dancer.png
delete mode 100644 public/img/emoji/dancers.png
delete mode 100644 public/img/emoji/dango.png
delete mode 100644 public/img/emoji/dart.png
delete mode 100644 public/img/emoji/dash.png
delete mode 100644 public/img/emoji/date.png
delete mode 100644 public/img/emoji/de.png
delete mode 100644 public/img/emoji/deciduous_tree.png
delete mode 100644 public/img/emoji/department_store.png
delete mode 100644 public/img/emoji/diamond_shape_with_a_dot_inside.png
delete mode 100644 public/img/emoji/diamonds.png
delete mode 100644 public/img/emoji/disappointed.png
delete mode 100644 public/img/emoji/disappointed_relieved.png
delete mode 100644 public/img/emoji/dizzy.png
delete mode 100644 public/img/emoji/dizzy_face.png
delete mode 100644 public/img/emoji/do_not_litter.png
delete mode 100644 public/img/emoji/dog.png
delete mode 100644 public/img/emoji/dog2.png
delete mode 100644 public/img/emoji/dollar.png
delete mode 100644 public/img/emoji/dolls.png
delete mode 100644 public/img/emoji/dolphin.png
delete mode 100644 public/img/emoji/donut.png
delete mode 100644 public/img/emoji/door.png
delete mode 100644 public/img/emoji/doughnut.png
delete mode 100644 public/img/emoji/dragon.png
delete mode 100644 public/img/emoji/dragon_face.png
delete mode 100644 public/img/emoji/dress.png
delete mode 100644 public/img/emoji/dromedary_camel.png
delete mode 100644 public/img/emoji/droplet.png
delete mode 100644 public/img/emoji/dvd.png
delete mode 100644 public/img/emoji/e-mail.png
delete mode 100644 public/img/emoji/ear.png
delete mode 100644 public/img/emoji/ear_of_rice.png
delete mode 100644 public/img/emoji/earth_africa.png
delete mode 100644 public/img/emoji/earth_americas.png
delete mode 100644 public/img/emoji/earth_asia.png
delete mode 100644 public/img/emoji/egg.png
delete mode 100644 public/img/emoji/eggplant.png
delete mode 100644 public/img/emoji/eight.png
delete mode 100644 public/img/emoji/eight_pointed_black_star.png
delete mode 100644 public/img/emoji/eight_spoked_asterisk.png
delete mode 100644 public/img/emoji/electric_plug.png
delete mode 100644 public/img/emoji/elephant.png
delete mode 100644 public/img/emoji/email.png
delete mode 100644 public/img/emoji/end.png
delete mode 100644 public/img/emoji/envelope.png
delete mode 100644 public/img/emoji/es.png
delete mode 100644 public/img/emoji/euro.png
delete mode 100644 public/img/emoji/european_castle.png
delete mode 100644 public/img/emoji/european_post_office.png
delete mode 100644 public/img/emoji/evergreen_tree.png
delete mode 100644 public/img/emoji/exclamation.png
delete mode 100644 public/img/emoji/expressionless.png
delete mode 100644 public/img/emoji/eyeglasses.png
delete mode 100644 public/img/emoji/eyes.png
delete mode 100644 public/img/emoji/facepunch.png
delete mode 100644 public/img/emoji/factory.png
delete mode 100644 public/img/emoji/fallen_leaf.png
delete mode 100644 public/img/emoji/family.png
delete mode 100644 public/img/emoji/fast_forward.png
delete mode 100644 public/img/emoji/fax.png
delete mode 100644 public/img/emoji/fearful.png
delete mode 100644 public/img/emoji/feelsgood.png
delete mode 100644 public/img/emoji/feet.png
delete mode 100644 public/img/emoji/ferris_wheel.png
delete mode 100644 public/img/emoji/file_folder.png
delete mode 100644 public/img/emoji/finnadie.png
delete mode 100644 public/img/emoji/fire.png
delete mode 100644 public/img/emoji/fire_engine.png
delete mode 100644 public/img/emoji/fireworks.png
delete mode 100644 public/img/emoji/first_quarter_moon.png
delete mode 100644 public/img/emoji/first_quarter_moon_with_face.png
delete mode 100644 public/img/emoji/fish.png
delete mode 100644 public/img/emoji/fish_cake.png
delete mode 100644 public/img/emoji/fishing_pole_and_fish.png
delete mode 100644 public/img/emoji/fist.png
delete mode 100644 public/img/emoji/five.png
delete mode 100644 public/img/emoji/flags.png
delete mode 100644 public/img/emoji/flashlight.png
delete mode 100644 public/img/emoji/floppy_disk.png
delete mode 100644 public/img/emoji/flower_playing_cards.png
delete mode 100644 public/img/emoji/flushed.png
delete mode 100644 public/img/emoji/foggy.png
delete mode 100644 public/img/emoji/football.png
delete mode 100644 public/img/emoji/fork_and_knife.png
delete mode 100644 public/img/emoji/fountain.png
delete mode 100644 public/img/emoji/four.png
delete mode 100644 public/img/emoji/four_leaf_clover.png
delete mode 100644 public/img/emoji/fr.png
delete mode 100644 public/img/emoji/free.png
delete mode 100644 public/img/emoji/fried_shrimp.png
delete mode 100644 public/img/emoji/fries.png
delete mode 100644 public/img/emoji/frog.png
delete mode 100644 public/img/emoji/frowning.png
delete mode 100644 public/img/emoji/fu.png
delete mode 100644 public/img/emoji/fuelpump.png
delete mode 100644 public/img/emoji/full_moon.png
delete mode 100644 public/img/emoji/full_moon_with_face.png
delete mode 100644 public/img/emoji/game_die.png
delete mode 100644 public/img/emoji/gb.png
delete mode 100644 public/img/emoji/gem.png
delete mode 100644 public/img/emoji/gemini.png
delete mode 100644 public/img/emoji/ghost.png
delete mode 100644 public/img/emoji/gift.png
delete mode 100644 public/img/emoji/gift_heart.png
delete mode 100644 public/img/emoji/girl.png
delete mode 100644 public/img/emoji/globe_with_meridians.png
delete mode 100644 public/img/emoji/goat.png
delete mode 100644 public/img/emoji/goberserk.png
delete mode 100644 public/img/emoji/godmode.png
delete mode 100644 public/img/emoji/golf.png
delete mode 100644 public/img/emoji/grapes.png
delete mode 100644 public/img/emoji/green_apple.png
delete mode 100644 public/img/emoji/green_book.png
delete mode 100644 public/img/emoji/green_heart.png
delete mode 100644 public/img/emoji/grey_exclamation.png
delete mode 100644 public/img/emoji/grey_question.png
delete mode 100644 public/img/emoji/grimacing.png
delete mode 100644 public/img/emoji/grin.png
delete mode 100644 public/img/emoji/grinning.png
delete mode 100644 public/img/emoji/guardsman.png
delete mode 100644 public/img/emoji/guitar.png
delete mode 100644 public/img/emoji/gun.png
delete mode 100644 public/img/emoji/haircut.png
delete mode 100644 public/img/emoji/hamburger.png
delete mode 100644 public/img/emoji/hammer.png
delete mode 100644 public/img/emoji/hamster.png
delete mode 100644 public/img/emoji/hand.png
delete mode 100644 public/img/emoji/handbag.png
delete mode 100644 public/img/emoji/hankey.png
delete mode 100644 public/img/emoji/hash.png
delete mode 100644 public/img/emoji/hatched_chick.png
delete mode 100644 public/img/emoji/hatching_chick.png
delete mode 100644 public/img/emoji/headphones.png
delete mode 100644 public/img/emoji/hear_no_evil.png
delete mode 100644 public/img/emoji/heart.png
delete mode 100644 public/img/emoji/heart_decoration.png
delete mode 100644 public/img/emoji/heart_eyes.png
delete mode 100644 public/img/emoji/heart_eyes_cat.png
delete mode 100644 public/img/emoji/heartbeat.png
delete mode 100644 public/img/emoji/heartpulse.png
delete mode 100644 public/img/emoji/hearts.png
delete mode 100644 public/img/emoji/heavy_check_mark.png
delete mode 100644 public/img/emoji/heavy_division_sign.png
delete mode 100644 public/img/emoji/heavy_dollar_sign.png
delete mode 100644 public/img/emoji/heavy_exclamation_mark.png
delete mode 100644 public/img/emoji/heavy_minus_sign.png
delete mode 100644 public/img/emoji/heavy_multiplication_x.png
delete mode 100644 public/img/emoji/heavy_plus_sign.png
delete mode 100644 public/img/emoji/helicopter.png
delete mode 100644 public/img/emoji/herb.png
delete mode 100644 public/img/emoji/hibiscus.png
delete mode 100644 public/img/emoji/high_brightness.png
delete mode 100644 public/img/emoji/high_heel.png
delete mode 100644 public/img/emoji/hocho.png
delete mode 100644 public/img/emoji/honey_pot.png
delete mode 100644 public/img/emoji/honeybee.png
delete mode 100644 public/img/emoji/horse.png
delete mode 100644 public/img/emoji/horse_racing.png
delete mode 100644 public/img/emoji/hospital.png
delete mode 100644 public/img/emoji/hotel.png
delete mode 100644 public/img/emoji/hotsprings.png
delete mode 100644 public/img/emoji/hourglass.png
delete mode 100644 public/img/emoji/hourglass_flowing_sand.png
delete mode 100644 public/img/emoji/house.png
delete mode 100644 public/img/emoji/house_with_garden.png
delete mode 100644 public/img/emoji/hurtrealbad.png
delete mode 100644 public/img/emoji/hushed.png
delete mode 100644 public/img/emoji/ice_cream.png
delete mode 100644 public/img/emoji/icecream.png
delete mode 100644 public/img/emoji/id.png
delete mode 100644 public/img/emoji/ideograph_advantage.png
delete mode 100644 public/img/emoji/imp.png
delete mode 100644 public/img/emoji/inbox_tray.png
delete mode 100644 public/img/emoji/incoming_envelope.png
delete mode 100644 public/img/emoji/information_desk_person.png
delete mode 100644 public/img/emoji/information_source.png
delete mode 100644 public/img/emoji/innocent.png
delete mode 100644 public/img/emoji/interrobang.png
delete mode 100644 public/img/emoji/iphone.png
delete mode 100644 public/img/emoji/it.png
delete mode 100644 public/img/emoji/izakaya_lantern.png
delete mode 100644 public/img/emoji/jack_o_lantern.png
delete mode 100644 public/img/emoji/japan.png
delete mode 100644 public/img/emoji/japanese_castle.png
delete mode 100644 public/img/emoji/japanese_goblin.png
delete mode 100644 public/img/emoji/japanese_ogre.png
delete mode 100644 public/img/emoji/jeans.png
delete mode 100644 public/img/emoji/joy.png
delete mode 100644 public/img/emoji/joy_cat.png
delete mode 100644 public/img/emoji/jp.png
delete mode 100644 public/img/emoji/key.png
delete mode 100644 public/img/emoji/keycap_ten.png
delete mode 100644 public/img/emoji/kimono.png
delete mode 100644 public/img/emoji/kiss.png
delete mode 100644 public/img/emoji/kissing.png
delete mode 100644 public/img/emoji/kissing_cat.png
delete mode 100644 public/img/emoji/kissing_closed_eyes.png
delete mode 100644 public/img/emoji/kissing_face.png
delete mode 100644 public/img/emoji/kissing_heart.png
delete mode 100644 public/img/emoji/kissing_smiling_eyes.png
delete mode 100644 public/img/emoji/koala.png
delete mode 100644 public/img/emoji/koko.png
delete mode 100644 public/img/emoji/kr.png
delete mode 100644 public/img/emoji/large_blue_circle.png
delete mode 100644 public/img/emoji/large_blue_diamond.png
delete mode 100644 public/img/emoji/large_orange_diamond.png
delete mode 100644 public/img/emoji/last_quarter_moon.png
delete mode 100644 public/img/emoji/last_quarter_moon_with_face.png
delete mode 100644 public/img/emoji/laughing.png
delete mode 100644 public/img/emoji/leaves.png
delete mode 100644 public/img/emoji/ledger.png
delete mode 100644 public/img/emoji/left_luggage.png
delete mode 100644 public/img/emoji/left_right_arrow.png
delete mode 100644 public/img/emoji/leftwards_arrow_with_hook.png
delete mode 100644 public/img/emoji/lemon.png
delete mode 100644 public/img/emoji/leo.png
delete mode 100644 public/img/emoji/leopard.png
delete mode 100644 public/img/emoji/libra.png
delete mode 100644 public/img/emoji/light_rail.png
delete mode 100644 public/img/emoji/link.png
delete mode 100644 public/img/emoji/lips.png
delete mode 100644 public/img/emoji/lipstick.png
delete mode 100644 public/img/emoji/lock.png
delete mode 100644 public/img/emoji/lock_with_ink_pen.png
delete mode 100644 public/img/emoji/lollipop.png
delete mode 100644 public/img/emoji/loop.png
delete mode 100644 public/img/emoji/loudspeaker.png
delete mode 100644 public/img/emoji/love_hotel.png
delete mode 100644 public/img/emoji/love_letter.png
delete mode 100644 public/img/emoji/low_brightness.png
delete mode 100644 public/img/emoji/m.png
delete mode 100644 public/img/emoji/mag.png
delete mode 100644 public/img/emoji/mag_right.png
delete mode 100644 public/img/emoji/mahjong.png
delete mode 100644 public/img/emoji/mailbox.png
delete mode 100644 public/img/emoji/mailbox_closed.png
delete mode 100644 public/img/emoji/mailbox_with_mail.png
delete mode 100644 public/img/emoji/mailbox_with_no_mail.png
delete mode 100644 public/img/emoji/man.png
delete mode 100644 public/img/emoji/man_with_gua_pi_mao.png
delete mode 100644 public/img/emoji/man_with_turban.png
delete mode 100644 public/img/emoji/mans_shoe.png
delete mode 100644 public/img/emoji/maple_leaf.png
delete mode 100644 public/img/emoji/mask.png
delete mode 100644 public/img/emoji/massage.png
delete mode 100644 public/img/emoji/meat_on_bone.png
delete mode 100644 public/img/emoji/mega.png
delete mode 100644 public/img/emoji/melon.png
delete mode 100644 public/img/emoji/memo.png
delete mode 100644 public/img/emoji/mens.png
delete mode 100644 public/img/emoji/metal.png
delete mode 100644 public/img/emoji/metro.png
delete mode 100644 public/img/emoji/microphone.png
delete mode 100644 public/img/emoji/microscope.png
delete mode 100644 public/img/emoji/milky_way.png
delete mode 100644 public/img/emoji/minibus.png
delete mode 100644 public/img/emoji/minidisc.png
delete mode 100644 public/img/emoji/mobile_phone_off.png
delete mode 100644 public/img/emoji/money_with_wings.png
delete mode 100644 public/img/emoji/moneybag.png
delete mode 100644 public/img/emoji/monkey.png
delete mode 100644 public/img/emoji/monkey_face.png
delete mode 100644 public/img/emoji/monorail.png
delete mode 100644 public/img/emoji/mortar_board.png
delete mode 100644 public/img/emoji/mount_fuji.png
delete mode 100644 public/img/emoji/mountain_bicyclist.png
delete mode 100644 public/img/emoji/mountain_cableway.png
delete mode 100644 public/img/emoji/mountain_railway.png
delete mode 100644 public/img/emoji/mouse.png
delete mode 100644 public/img/emoji/mouse2.png
delete mode 100644 public/img/emoji/movie_camera.png
delete mode 100644 public/img/emoji/moyai.png
delete mode 100644 public/img/emoji/muscle.png
delete mode 100644 public/img/emoji/mushroom.png
delete mode 100644 public/img/emoji/musical_keyboard.png
delete mode 100644 public/img/emoji/musical_note.png
delete mode 100644 public/img/emoji/musical_score.png
delete mode 100644 public/img/emoji/mute.png
delete mode 100644 public/img/emoji/nail_care.png
delete mode 100644 public/img/emoji/name_badge.png
delete mode 100644 public/img/emoji/neckbeard.png
delete mode 100644 public/img/emoji/necktie.png
delete mode 100644 public/img/emoji/negative_squared_cross_mark.png
delete mode 100644 public/img/emoji/neutral_face.png
delete mode 100644 public/img/emoji/new.png
delete mode 100644 public/img/emoji/new_moon.png
delete mode 100644 public/img/emoji/new_moon_with_face.png
delete mode 100644 public/img/emoji/newspaper.png
delete mode 100644 public/img/emoji/ng.png
delete mode 100644 public/img/emoji/nine.png
delete mode 100644 public/img/emoji/no_bell.png
delete mode 100644 public/img/emoji/no_bicycles.png
delete mode 100644 public/img/emoji/no_entry.png
delete mode 100644 public/img/emoji/no_entry_sign.png
delete mode 100644 public/img/emoji/no_good.png
delete mode 100644 public/img/emoji/no_mobile_phones.png
delete mode 100644 public/img/emoji/no_mouth.png
delete mode 100644 public/img/emoji/no_pedestrians.png
delete mode 100644 public/img/emoji/no_smoking.png
delete mode 100644 public/img/emoji/non-potable_water.png
delete mode 100644 public/img/emoji/nose.png
delete mode 100644 public/img/emoji/notebook.png
delete mode 100644 public/img/emoji/notebook_with_decorative_cover.png
delete mode 100644 public/img/emoji/notes.png
delete mode 100644 public/img/emoji/nut_and_bolt.png
delete mode 100644 public/img/emoji/o.png
delete mode 100644 public/img/emoji/o2.png
delete mode 100644 public/img/emoji/ocean.png
delete mode 100644 public/img/emoji/octocat.png
delete mode 100644 public/img/emoji/octopus.png
delete mode 100644 public/img/emoji/oden.png
delete mode 100644 public/img/emoji/office.png
delete mode 100644 public/img/emoji/ok.png
delete mode 100644 public/img/emoji/ok_hand.png
delete mode 100644 public/img/emoji/ok_woman.png
delete mode 100644 public/img/emoji/older_man.png
delete mode 100644 public/img/emoji/older_woman.png
delete mode 100644 public/img/emoji/on.png
delete mode 100644 public/img/emoji/oncoming_automobile.png
delete mode 100644 public/img/emoji/oncoming_bus.png
delete mode 100644 public/img/emoji/oncoming_police_car.png
delete mode 100644 public/img/emoji/oncoming_taxi.png
delete mode 100644 public/img/emoji/one.png
delete mode 100644 public/img/emoji/open_file_folder.png
delete mode 100644 public/img/emoji/open_hands.png
delete mode 100644 public/img/emoji/open_mouth.png
delete mode 100644 public/img/emoji/ophiuchus.png
delete mode 100644 public/img/emoji/orange_book.png
delete mode 100644 public/img/emoji/outbox_tray.png
delete mode 100644 public/img/emoji/ox.png
delete mode 100644 public/img/emoji/package.png
delete mode 100644 public/img/emoji/page_facing_up.png
delete mode 100644 public/img/emoji/page_with_curl.png
delete mode 100644 public/img/emoji/pager.png
delete mode 100644 public/img/emoji/palm_tree.png
delete mode 100644 public/img/emoji/panda_face.png
delete mode 100644 public/img/emoji/paperclip.png
delete mode 100644 public/img/emoji/parking.png
delete mode 100644 public/img/emoji/part_alternation_mark.png
delete mode 100644 public/img/emoji/partly_sunny.png
delete mode 100644 public/img/emoji/passport_control.png
delete mode 100644 public/img/emoji/paw_prints.png
delete mode 100644 public/img/emoji/peach.png
delete mode 100644 public/img/emoji/pear.png
delete mode 100644 public/img/emoji/pencil.png
delete mode 100644 public/img/emoji/pencil2.png
delete mode 100644 public/img/emoji/penguin.png
delete mode 100644 public/img/emoji/pensive.png
delete mode 100644 public/img/emoji/performing_arts.png
delete mode 100644 public/img/emoji/persevere.png
delete mode 100644 public/img/emoji/person_frowning.png
delete mode 100644 public/img/emoji/person_with_blond_hair.png
delete mode 100644 public/img/emoji/person_with_pouting_face.png
delete mode 100644 public/img/emoji/phone.png
delete mode 100644 public/img/emoji/pig.png
delete mode 100644 public/img/emoji/pig2.png
delete mode 100644 public/img/emoji/pig_nose.png
delete mode 100644 public/img/emoji/pill.png
delete mode 100644 public/img/emoji/pineapple.png
delete mode 100644 public/img/emoji/pisces.png
delete mode 100644 public/img/emoji/pizza.png
delete mode 100644 public/img/emoji/plus1.png
delete mode 100644 public/img/emoji/point_down.png
delete mode 100644 public/img/emoji/point_left.png
delete mode 100644 public/img/emoji/point_right.png
delete mode 100644 public/img/emoji/point_up.png
delete mode 100644 public/img/emoji/point_up_2.png
delete mode 100644 public/img/emoji/police_car.png
delete mode 100644 public/img/emoji/poodle.png
delete mode 100644 public/img/emoji/poop.png
delete mode 100644 public/img/emoji/post_office.png
delete mode 100644 public/img/emoji/postal_horn.png
delete mode 100644 public/img/emoji/postbox.png
delete mode 100644 public/img/emoji/potable_water.png
delete mode 100644 public/img/emoji/pouch.png
delete mode 100644 public/img/emoji/poultry_leg.png
delete mode 100644 public/img/emoji/pound.png
delete mode 100644 public/img/emoji/pouting_cat.png
delete mode 100644 public/img/emoji/pray.png
delete mode 100644 public/img/emoji/princess.png
delete mode 100644 public/img/emoji/punch.png
delete mode 100644 public/img/emoji/purple_heart.png
delete mode 100644 public/img/emoji/purse.png
delete mode 100644 public/img/emoji/pushpin.png
delete mode 100644 public/img/emoji/put_litter_in_its_place.png
delete mode 100644 public/img/emoji/question.png
delete mode 100644 public/img/emoji/rabbit.png
delete mode 100644 public/img/emoji/rabbit2.png
delete mode 100644 public/img/emoji/racehorse.png
delete mode 100644 public/img/emoji/radio.png
delete mode 100644 public/img/emoji/radio_button.png
delete mode 100644 public/img/emoji/rage.png
delete mode 100644 public/img/emoji/rage1.png
delete mode 100644 public/img/emoji/rage2.png
delete mode 100644 public/img/emoji/rage3.png
delete mode 100644 public/img/emoji/rage4.png
delete mode 100644 public/img/emoji/railway_car.png
delete mode 100644 public/img/emoji/rainbow.png
delete mode 100644 public/img/emoji/raised_hand.png
delete mode 100644 public/img/emoji/raised_hands.png
delete mode 100644 public/img/emoji/raising_hand.png
delete mode 100644 public/img/emoji/ram.png
delete mode 100644 public/img/emoji/ramen.png
delete mode 100644 public/img/emoji/rat.png
delete mode 100644 public/img/emoji/recycle.png
delete mode 100644 public/img/emoji/red_car.png
delete mode 100644 public/img/emoji/red_circle.png
delete mode 100644 public/img/emoji/registered.png
delete mode 100644 public/img/emoji/relaxed.png
delete mode 100644 public/img/emoji/relieved.png
delete mode 100644 public/img/emoji/repeat.png
delete mode 100644 public/img/emoji/repeat_one.png
delete mode 100644 public/img/emoji/restroom.png
delete mode 100644 public/img/emoji/revolving_hearts.png
delete mode 100644 public/img/emoji/rewind.png
delete mode 100644 public/img/emoji/ribbon.png
delete mode 100644 public/img/emoji/rice.png
delete mode 100644 public/img/emoji/rice_ball.png
delete mode 100644 public/img/emoji/rice_cracker.png
delete mode 100644 public/img/emoji/rice_scene.png
delete mode 100644 public/img/emoji/ring.png
delete mode 100644 public/img/emoji/rocket.png
delete mode 100644 public/img/emoji/roller_coaster.png
delete mode 100644 public/img/emoji/rooster.png
delete mode 100644 public/img/emoji/rose.png
delete mode 100644 public/img/emoji/rotating_light.png
delete mode 100644 public/img/emoji/round_pushpin.png
delete mode 100644 public/img/emoji/rowboat.png
delete mode 100644 public/img/emoji/ru.png
delete mode 100644 public/img/emoji/rugby_football.png
delete mode 100644 public/img/emoji/runner.png
delete mode 100644 public/img/emoji/running.png
delete mode 100644 public/img/emoji/running_shirt_with_sash.png
delete mode 100644 public/img/emoji/sa.png
delete mode 100644 public/img/emoji/sagittarius.png
delete mode 100644 public/img/emoji/sailboat.png
delete mode 100644 public/img/emoji/sake.png
delete mode 100644 public/img/emoji/sandal.png
delete mode 100644 public/img/emoji/santa.png
delete mode 100644 public/img/emoji/satellite.png
delete mode 100644 public/img/emoji/satisfied.png
delete mode 100644 public/img/emoji/saxophone.png
delete mode 100644 public/img/emoji/school.png
delete mode 100644 public/img/emoji/school_satchel.png
delete mode 100644 public/img/emoji/scissors.png
delete mode 100644 public/img/emoji/scorpius.png
delete mode 100644 public/img/emoji/scream.png
delete mode 100644 public/img/emoji/scream_cat.png
delete mode 100644 public/img/emoji/scroll.png
delete mode 100644 public/img/emoji/seat.png
delete mode 100644 public/img/emoji/secret.png
delete mode 100644 public/img/emoji/see_no_evil.png
delete mode 100644 public/img/emoji/seedling.png
delete mode 100644 public/img/emoji/seven.png
delete mode 100644 public/img/emoji/shaved_ice.png
delete mode 100644 public/img/emoji/sheep.png
delete mode 100644 public/img/emoji/shell.png
delete mode 100644 public/img/emoji/ship.png
delete mode 100644 public/img/emoji/shipit.png
delete mode 100644 public/img/emoji/shirt.png
delete mode 100644 public/img/emoji/shit.png
delete mode 100644 public/img/emoji/shoe.png
delete mode 100644 public/img/emoji/shower.png
delete mode 100644 public/img/emoji/signal_strength.png
delete mode 100644 public/img/emoji/six.png
delete mode 100644 public/img/emoji/six_pointed_star.png
delete mode 100644 public/img/emoji/ski.png
delete mode 100644 public/img/emoji/skull.png
delete mode 100644 public/img/emoji/sleeping.png
delete mode 100644 public/img/emoji/sleepy.png
delete mode 100644 public/img/emoji/slot_machine.png
delete mode 100644 public/img/emoji/small_blue_diamond.png
delete mode 100644 public/img/emoji/small_orange_diamond.png
delete mode 100644 public/img/emoji/small_red_triangle.png
delete mode 100644 public/img/emoji/small_red_triangle_down.png
delete mode 100644 public/img/emoji/smile.png
delete mode 100644 public/img/emoji/smile_cat.png
delete mode 100644 public/img/emoji/smiley.png
delete mode 100644 public/img/emoji/smiley_cat.png
delete mode 100644 public/img/emoji/smiling_imp.png
delete mode 100644 public/img/emoji/smirk.png
delete mode 100644 public/img/emoji/smirk_cat.png
delete mode 100644 public/img/emoji/smoking.png
delete mode 100644 public/img/emoji/snail.png
delete mode 100644 public/img/emoji/snake.png
delete mode 100644 public/img/emoji/snowboarder.png
delete mode 100644 public/img/emoji/snowflake.png
delete mode 100644 public/img/emoji/snowman.png
delete mode 100644 public/img/emoji/sob.png
delete mode 100644 public/img/emoji/soccer.png
delete mode 100644 public/img/emoji/soon.png
delete mode 100644 public/img/emoji/sos.png
delete mode 100644 public/img/emoji/sound.png
delete mode 100644 public/img/emoji/space_invader.png
delete mode 100644 public/img/emoji/spades.png
delete mode 100644 public/img/emoji/spaghetti.png
delete mode 100644 public/img/emoji/sparkle.png
delete mode 100644 public/img/emoji/sparkler.png
delete mode 100644 public/img/emoji/sparkles.png
delete mode 100644 public/img/emoji/sparkling_heart.png
delete mode 100644 public/img/emoji/speak_no_evil.png
delete mode 100644 public/img/emoji/speaker.png
delete mode 100644 public/img/emoji/speech_balloon.png
delete mode 100644 public/img/emoji/speedboat.png
delete mode 100644 public/img/emoji/squirrel.png
delete mode 100644 public/img/emoji/star.png
delete mode 100644 public/img/emoji/star2.png
delete mode 100644 public/img/emoji/stars.png
delete mode 100644 public/img/emoji/station.png
delete mode 100644 public/img/emoji/statue_of_liberty.png
delete mode 100644 public/img/emoji/steam_locomotive.png
delete mode 100644 public/img/emoji/stew.png
delete mode 100644 public/img/emoji/straight_ruler.png
delete mode 100644 public/img/emoji/strawberry.png
delete mode 100644 public/img/emoji/stuck_out_tongue.png
delete mode 100644 public/img/emoji/stuck_out_tongue_closed_eyes.png
delete mode 100644 public/img/emoji/stuck_out_tongue_winking_eye.png
delete mode 100644 public/img/emoji/sun_with_face.png
delete mode 100644 public/img/emoji/sunflower.png
delete mode 100644 public/img/emoji/sunglasses.png
delete mode 100644 public/img/emoji/sunny.png
delete mode 100644 public/img/emoji/sunrise.png
delete mode 100644 public/img/emoji/sunrise_over_mountains.png
delete mode 100644 public/img/emoji/surfer.png
delete mode 100644 public/img/emoji/sushi.png
delete mode 100644 public/img/emoji/suspect.png
delete mode 100644 public/img/emoji/suspension_railway.png
delete mode 100644 public/img/emoji/sweat.png
delete mode 100644 public/img/emoji/sweat_drops.png
delete mode 100644 public/img/emoji/sweat_smile.png
delete mode 100644 public/img/emoji/sweet_potato.png
delete mode 100644 public/img/emoji/swimmer.png
delete mode 100644 public/img/emoji/symbols.png
delete mode 100644 public/img/emoji/syringe.png
delete mode 100644 public/img/emoji/tada.png
delete mode 100644 public/img/emoji/tanabata_tree.png
delete mode 100644 public/img/emoji/tangerine.png
delete mode 100644 public/img/emoji/taurus.png
delete mode 100644 public/img/emoji/taxi.png
delete mode 100644 public/img/emoji/tea.png
delete mode 100644 public/img/emoji/telephone.png
delete mode 100644 public/img/emoji/telephone_receiver.png
delete mode 100644 public/img/emoji/telescope.png
delete mode 100644 public/img/emoji/tennis.png
delete mode 100644 public/img/emoji/tent.png
delete mode 100644 public/img/emoji/thought_balloon.png
delete mode 100644 public/img/emoji/three.png
delete mode 100644 public/img/emoji/thumbsdown.png
delete mode 100644 public/img/emoji/thumbsup.png
delete mode 100644 public/img/emoji/ticket.png
delete mode 100644 public/img/emoji/tiger.png
delete mode 100644 public/img/emoji/tiger2.png
delete mode 100644 public/img/emoji/tired_face.png
delete mode 100644 public/img/emoji/tm.png
delete mode 100644 public/img/emoji/toilet.png
delete mode 100644 public/img/emoji/tokyo_tower.png
delete mode 100644 public/img/emoji/tomato.png
delete mode 100644 public/img/emoji/tongue.png
delete mode 100644 public/img/emoji/top.png
delete mode 100644 public/img/emoji/tophat.png
delete mode 100644 public/img/emoji/tractor.png
delete mode 100644 public/img/emoji/traffic_light.png
delete mode 100644 public/img/emoji/train.png
delete mode 100644 public/img/emoji/train2.png
delete mode 100644 public/img/emoji/tram.png
delete mode 100644 public/img/emoji/triangular_flag_on_post.png
delete mode 100644 public/img/emoji/triangular_ruler.png
delete mode 100644 public/img/emoji/trident.png
delete mode 100644 public/img/emoji/triumph.png
delete mode 100644 public/img/emoji/trolleybus.png
delete mode 100644 public/img/emoji/trollface.png
delete mode 100644 public/img/emoji/trophy.png
delete mode 100644 public/img/emoji/tropical_drink.png
delete mode 100644 public/img/emoji/tropical_fish.png
delete mode 100644 public/img/emoji/truck.png
delete mode 100644 public/img/emoji/trumpet.png
delete mode 100644 public/img/emoji/tshirt.png
delete mode 100644 public/img/emoji/tulip.png
delete mode 100644 public/img/emoji/turtle.png
delete mode 100644 public/img/emoji/tv.png
delete mode 100644 public/img/emoji/twisted_rightwards_arrows.png
delete mode 100644 public/img/emoji/two.png
delete mode 100644 public/img/emoji/two_hearts.png
delete mode 100644 public/img/emoji/two_men_holding_hands.png
delete mode 100644 public/img/emoji/two_women_holding_hands.png
delete mode 100644 public/img/emoji/u5272.png
delete mode 100644 public/img/emoji/u5408.png
delete mode 100644 public/img/emoji/u55b6.png
delete mode 100644 public/img/emoji/u6307.png
delete mode 100644 public/img/emoji/u6708.png
delete mode 100644 public/img/emoji/u6709.png
delete mode 100644 public/img/emoji/u6e80.png
delete mode 100644 public/img/emoji/u7121.png
delete mode 100644 public/img/emoji/u7533.png
delete mode 100644 public/img/emoji/u7981.png
delete mode 100644 public/img/emoji/u7a7a.png
delete mode 100644 public/img/emoji/uk.png
delete mode 100644 public/img/emoji/umbrella.png
delete mode 100644 public/img/emoji/unamused.png
delete mode 100644 public/img/emoji/underage.png
delete mode 100644 public/img/emoji/unlock.png
delete mode 100644 public/img/emoji/up.png
delete mode 100644 public/img/emoji/us.png
delete mode 100644 public/img/emoji/v.png
delete mode 100644 public/img/emoji/vertical_traffic_light.png
delete mode 100644 public/img/emoji/vhs.png
delete mode 100644 public/img/emoji/vibration_mode.png
delete mode 100644 public/img/emoji/video_camera.png
delete mode 100644 public/img/emoji/video_game.png
delete mode 100644 public/img/emoji/violin.png
delete mode 100644 public/img/emoji/virgo.png
delete mode 100644 public/img/emoji/volcano.png
delete mode 100644 public/img/emoji/vs.png
delete mode 100644 public/img/emoji/walking.png
delete mode 100644 public/img/emoji/waning_crescent_moon.png
delete mode 100644 public/img/emoji/waning_gibbous_moon.png
delete mode 100644 public/img/emoji/warning.png
delete mode 100644 public/img/emoji/watch.png
delete mode 100644 public/img/emoji/water_buffalo.png
delete mode 100644 public/img/emoji/watermelon.png
delete mode 100644 public/img/emoji/wave.png
delete mode 100644 public/img/emoji/wavy_dash.png
delete mode 100644 public/img/emoji/waxing_crescent_moon.png
delete mode 100644 public/img/emoji/waxing_gibbous_moon.png
delete mode 100644 public/img/emoji/wc.png
delete mode 100644 public/img/emoji/weary.png
delete mode 100644 public/img/emoji/wedding.png
delete mode 100644 public/img/emoji/whale.png
delete mode 100644 public/img/emoji/whale2.png
delete mode 100644 public/img/emoji/wheelchair.png
delete mode 100644 public/img/emoji/white_check_mark.png
delete mode 100644 public/img/emoji/white_circle.png
delete mode 100644 public/img/emoji/white_flower.png
delete mode 100644 public/img/emoji/white_large_square.png
delete mode 100644 public/img/emoji/white_medium_small_square.png
delete mode 100644 public/img/emoji/white_medium_square.png
delete mode 100644 public/img/emoji/white_small_square.png
delete mode 100644 public/img/emoji/white_square_button.png
delete mode 100644 public/img/emoji/wind_chime.png
delete mode 100644 public/img/emoji/wine_glass.png
delete mode 100644 public/img/emoji/wink.png
delete mode 100644 public/img/emoji/wolf.png
delete mode 100644 public/img/emoji/woman.png
delete mode 100644 public/img/emoji/womans_clothes.png
delete mode 100644 public/img/emoji/womans_hat.png
delete mode 100644 public/img/emoji/womens.png
delete mode 100644 public/img/emoji/worried.png
delete mode 100644 public/img/emoji/wrench.png
delete mode 100644 public/img/emoji/x.png
delete mode 100644 public/img/emoji/yellow_heart.png
delete mode 100644 public/img/emoji/yen.png
delete mode 100644 public/img/emoji/yum.png
delete mode 100644 public/img/emoji/zap.png
delete mode 100644 public/img/emoji/zero.png
delete mode 100644 public/img/emoji/zzz.png
create mode 100644 public/img/favicon.ico
delete mode 100644 public/img/gitea-large-resize.png
create mode 100644 public/img/gitea-sm.png
create mode 100644 public/img/gogs.ico
create mode 100644 public/img/openid-16x16.png
delete mode 100644 public/js/jquery-1.11.3.min.js
delete mode 100644 public/js/libs/autolink.js
delete mode 100755 public/js/libs/clipboard-1.5.9.min.js
delete mode 100644 public/js/libs/emojify-1.1.0.min.js
delete mode 100644 public/js/libs/gitgraph.js
delete mode 100644 public/js/libs/jquery.are-you-sure.js
delete mode 100755 public/js/semantic-2.2.1.min.js
delete mode 100644 public/plugins/codemirror-5.17.0/.gitattributes
delete mode 100644 public/plugins/codemirror-5.17.0/.gitignore
delete mode 100644 public/plugins/codemirror-5.17.0/.npmignore
delete mode 100644 public/plugins/codemirror-5.17.0/.travis.yml
delete mode 100644 public/plugins/codemirror-5.17.0/addon/mode/loadmode.js
delete mode 100644 public/plugins/codemirror-5.17.0/addon/mode/multiplex.js
delete mode 100644 public/plugins/codemirror-5.17.0/addon/mode/multiplex_test.js
delete mode 100644 public/plugins/codemirror-5.17.0/addon/mode/overlay.js
delete mode 100644 public/plugins/codemirror-5.17.0/addon/mode/simple.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/apl/apl.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/apl/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/asciiarmor/asciiarmor.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/asciiarmor/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/asn.1/asn.1.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/asn.1/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/asterisk/asterisk.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/asterisk/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/brainfuck/brainfuck.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/brainfuck/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/clike/clike.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/clike/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/clike/scala.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/clike/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/clojure/clojure.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/clojure/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/cmake/cmake.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/cmake/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/cobol/cobol.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/cobol/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/coffeescript/coffeescript.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/coffeescript/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/commonlisp/commonlisp.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/commonlisp/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/crystal/crystal.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/crystal/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/css/css.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/css/gss.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/css/gss_test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/css/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/css/less.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/css/less_test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/css/scss.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/css/scss_test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/css/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/cypher/cypher.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/cypher/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/d/d.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/d/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/dart/dart.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/dart/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/diff/diff.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/diff/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/django/django.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/django/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/dockerfile/dockerfile.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/dockerfile/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/dtd/dtd.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/dtd/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/dylan/dylan.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/dylan/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/dylan/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/ebnf/ebnf.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/ebnf/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/ecl/ecl.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/ecl/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/eiffel/eiffel.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/eiffel/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/elm/elm.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/elm/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/erlang/erlang.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/erlang/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/factor/factor.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/factor/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/fcl/fcl.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/fcl/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/forth/forth.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/forth/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/fortran/fortran.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/fortran/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/gas/gas.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/gas/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/gfm/gfm.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/gfm/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/gfm/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/gherkin/gherkin.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/gherkin/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/go/go.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/go/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/groovy/groovy.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/groovy/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/haml/haml.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/haml/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/haml/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/handlebars/handlebars.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/handlebars/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/haskell-literate/haskell-literate.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/haskell-literate/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/haskell/haskell.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/haskell/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/haxe/haxe.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/haxe/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/htmlembedded/htmlembedded.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/htmlembedded/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/htmlmixed/htmlmixed.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/htmlmixed/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/http/http.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/http/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/idl/idl.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/idl/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/jade/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/jade/jade.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/javascript/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/javascript/javascript.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/javascript/json-ld.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/javascript/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/javascript/typescript.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/jinja2/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/jinja2/jinja2.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/jsx/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/jsx/jsx.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/jsx/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/julia/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/julia/julia.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/livescript/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/livescript/livescript.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/lua/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/lua/lua.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/markdown/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/markdown/markdown.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/markdown/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/mathematica/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/mathematica/mathematica.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/mbox/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/mbox/mbox.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/meta.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/mirc/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/mirc/mirc.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/mllike/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/mllike/mllike.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/modelica/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/modelica/modelica.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/mscgen/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/mscgen/mscgen.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/mscgen/mscgen_test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/mscgen/msgenny_test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/mscgen/xu_test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/mumps/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/mumps/mumps.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/nginx/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/nginx/nginx.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/nsis/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/nsis/nsis.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/ntriples/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/ntriples/ntriples.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/octave/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/octave/octave.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/oz/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/oz/oz.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/pascal/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/pascal/pascal.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/pegjs/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/pegjs/pegjs.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/perl/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/perl/perl.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/php/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/php/php.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/php/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/pig/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/pig/pig.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/powershell/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/powershell/powershell.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/powershell/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/properties/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/properties/properties.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/protobuf/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/protobuf/protobuf.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/puppet/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/puppet/puppet.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/python/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/python/python.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/python/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/q/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/q/q.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/r/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/r/r.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/rpm/changes/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/rpm/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/rpm/rpm.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/rst/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/rst/rst.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/ruby/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/ruby/ruby.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/ruby/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/rust/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/rust/rust.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/rust/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/sas/index.html
delete mode 100755 public/plugins/codemirror-5.17.0/mode/sas/sas.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/sass/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/sass/sass.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/scheme/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/scheme/scheme.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/shell/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/shell/shell.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/shell/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/sieve/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/sieve/sieve.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/slim/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/slim/slim.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/slim/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/smalltalk/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/smalltalk/smalltalk.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/smarty/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/smarty/smarty.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/solr/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/solr/solr.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/soy/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/soy/soy.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/sparql/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/sparql/sparql.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/spreadsheet/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/spreadsheet/spreadsheet.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/sql/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/sql/sql.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/stex/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/stex/stex.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/stex/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/stylus/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/stylus/stylus.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/swift/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/swift/swift.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/tcl/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/tcl/tcl.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/textile/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/textile/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/textile/textile.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/tiddlywiki/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/tiddlywiki/tiddlywiki.css
delete mode 100644 public/plugins/codemirror-5.17.0/mode/tiddlywiki/tiddlywiki.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/tiki/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/tiki/tiki.css
delete mode 100644 public/plugins/codemirror-5.17.0/mode/tiki/tiki.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/toml/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/toml/toml.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/tornado/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/tornado/tornado.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/troff/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/troff/troff.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/ttcn-cfg/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/ttcn-cfg/ttcn-cfg.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/ttcn/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/ttcn/ttcn.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/turtle/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/turtle/turtle.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/twig/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/twig/twig.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/vb/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/vb/vb.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/vbscript/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/vbscript/vbscript.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/velocity/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/velocity/velocity.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/verilog/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/verilog/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/verilog/verilog.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/vhdl/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/vhdl/vhdl.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/vue/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/vue/vue.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/webidl/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/webidl/webidl.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/xml/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/xml/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/xml/xml.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/xquery/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/xquery/test.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/xquery/xquery.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/yacas/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/yacas/yacas.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/yaml-frontmatter/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/yaml-frontmatter/yaml-frontmatter.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/yaml/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/yaml/yaml.js
delete mode 100644 public/plugins/codemirror-5.17.0/mode/z80/index.html
delete mode 100644 public/plugins/codemirror-5.17.0/mode/z80/z80.js
delete mode 100644 public/plugins/dropzone-4.2.0/dropzone.css
delete mode 100644 public/plugins/dropzone-4.2.0/dropzone.js
delete mode 100644 public/plugins/highlight-9.6.0/default.css
delete mode 100644 public/plugins/highlight-9.6.0/github.css
delete mode 100644 public/plugins/highlight-9.6.0/highlight.pack.js
delete mode 100644 public/plugins/jquery.datetimepicker-2.4.5/jquery.datetimepicker.css
delete mode 100644 public/plugins/jquery.datetimepicker-2.4.5/jquery.datetimepicker.js
delete mode 100644 public/plugins/jquery.minicolors-2.2.3/jquery.minicolors.css
delete mode 100644 public/plugins/jquery.minicolors-2.2.3/jquery.minicolors.min.js
delete mode 100644 public/plugins/jquery.minicolors-2.2.3/jquery.minicolors.png
delete mode 100644 public/plugins/pdfjs-1.4.20/LICENSE
delete mode 100644 public/plugins/pdfjs-1.4.20/build/pdf.js
delete mode 100644 public/plugins/pdfjs-1.4.20/build/pdf.worker.js
delete mode 100644 public/plugins/pdfjs-1.4.20/web/compatibility.js
delete mode 100644 public/plugins/pdfjs-1.4.20/web/debugger.js
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/annotation-check.svg
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/annotation-comment.svg
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/annotation-help.svg
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/annotation-insert.svg
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/annotation-key.svg
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/annotation-newparagraph.svg
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/annotation-noicon.svg
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/annotation-note.svg
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/annotation-paragraph.svg
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/findbarButton-next-rtl.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/findbarButton-next-rtl@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/findbarButton-next.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/findbarButton-next@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/findbarButton-previous-rtl.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/findbarButton-previous-rtl@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/findbarButton-previous.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/findbarButton-previous@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/grab.cur
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/grabbing.cur
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/loading-icon.gif
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/loading-small.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/loading-small@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/secondaryToolbarButton-documentProperties.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/secondaryToolbarButton-documentProperties@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/secondaryToolbarButton-firstPage.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/secondaryToolbarButton-firstPage@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/secondaryToolbarButton-handTool.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/secondaryToolbarButton-handTool@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/secondaryToolbarButton-lastPage.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/secondaryToolbarButton-lastPage@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/secondaryToolbarButton-rotateCcw.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/secondaryToolbarButton-rotateCcw@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/secondaryToolbarButton-rotateCw.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/secondaryToolbarButton-rotateCw@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/shadow.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/texture.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-bookmark.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-bookmark@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-download.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-download@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-menuArrows.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-menuArrows@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-openFile.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-openFile@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-pageDown-rtl.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-pageDown-rtl@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-pageDown.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-pageDown@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-pageUp-rtl.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-pageUp-rtl@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-pageUp.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-pageUp@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-presentationMode.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-presentationMode@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-print.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-print@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-search.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-search@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-secondaryToolbarToggle-rtl.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-secondaryToolbarToggle-rtl@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-secondaryToolbarToggle.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-secondaryToolbarToggle@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-sidebarToggle-rtl.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-sidebarToggle-rtl@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-sidebarToggle.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-sidebarToggle@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-viewAttachments.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-viewAttachments@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-viewOutline-rtl.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-viewOutline-rtl@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-viewOutline.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-viewOutline@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-viewThumbnail.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-viewThumbnail@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-zoomIn.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-zoomIn@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-zoomOut.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/toolbarButton-zoomOut@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/treeitem-collapsed-rtl.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/treeitem-collapsed-rtl@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/treeitem-collapsed.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/treeitem-collapsed@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/treeitem-expanded.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/images/treeitem-expanded@2x.png
delete mode 100644 public/plugins/pdfjs-1.4.20/web/viewer.css
delete mode 100644 public/plugins/pdfjs-1.4.20/web/viewer.html
delete mode 100644 public/plugins/pdfjs-1.4.20/web/viewer.js
delete mode 100644 public/plugins/simplemde-1.10.1/simplemde.min.css
delete mode 100644 public/plugins/simplemde-1.10.1/simplemde.min.js
create mode 100644 public/swagger.v1.json
create mode 100644 routers/api/v1/repo/status.go
create mode 100644 routers/api/v1/user/gpg_key.go
create mode 100644 routers/api/v1/utils/utils.go
create mode 100644 routers/private/branch.go
create mode 100644 routers/private/internal.go
create mode 100644 routers/private/push_update.go
create mode 100644 routers/repo/issue_watch.go
create mode 100644 routers/routes/routes.go
create mode 100644 routers/user/auth_openid.go
create mode 100644 routers/user/home_test.go
create mode 100644 routers/user/main_test.go
create mode 100644 routers/user/setting_openid.go
create mode 100644 scripts/generate-gitignores.go
create mode 100644 scripts/generate-licenses.go
create mode 100644 templates/admin/auth/source/ldap.tmpl
create mode 100644 templates/admin/auth/source/oauth.tmpl
create mode 100644 templates/admin/auth/source/smtp.tmpl
create mode 100644 templates/repo/issue/view_content/comments.tmpl
create mode 100644 templates/repo/issue/view_content/pull.tmpl
create mode 100644 templates/repo/issue/view_content/sidebar.tmpl
create mode 100644 templates/repo/settings/hook_gitea.tmpl
create mode 100644 templates/swagger.tmpl
create mode 100644 templates/user/auth/finalize_openid.tmpl
create mode 100644 templates/user/auth/signin_navbar.tmpl
create mode 100644 templates/user/auth/signin_openid.tmpl
create mode 100644 templates/user/auth/signup_openid_connect.tmpl
create mode 100644 templates/user/auth/signup_openid_navbar.tmpl
create mode 100644 templates/user/auth/signup_openid_register.tmpl
create mode 100644 templates/user/settings/keys.tmpl
create mode 100644 templates/user/settings/keys_gpg.tmpl
create mode 100644 templates/user/settings/keys_ssh.tmpl
create mode 100644 templates/user/settings/openid.tmpl
create mode 100644 templates/user/settings/organization.tmpl
delete mode 100644 templates/user/settings/sshkeys.tmpl
diff --git a/.drone.yml b/.drone.yml
index b0c3366..92bedc2 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -2,11 +2,31 @@ workspace:
base: /srv/app
path: src/code.gitea.io/gitea
-pipeline:
- clone:
- image: plugins/git
+clone:
+ git:
+ image: plugins/git:1
+ depth: 50
tags: true
+pipeline:
+ build:
+ image: webhippie/golang:edge
+ pull: true
+ environment:
+ TAGS: bindata sqlite
+ GOPATH: /srv/app
+ commands:
+ - make clean
+ - make generate
+ - make vet
+ - make lint
+ - make stylesheets-check
+ - make misspell-check
+ - make test-vendor
+ - make build
+ when:
+ event: [ push, tag, pull_request ]
+
test:
image: webhippie/golang:edge
pull: true
@@ -14,15 +34,21 @@ pipeline:
TAGS: bindata sqlite
GOPATH: /srv/app
commands:
- - apk -U add openssh-client
- - make clean
- - make generate
- - make vet
- - make lint
- make test
- - make build
when:
- event: [ push, tag, pull_request ]
+ event: [ tag, pull_request ]
+
+ # Commented until db locking have been resolved!
+ # test-sqlite:
+ # image: webhippie/golang:edge
+ # pull: true
+ # environment:
+ # TAGS: bindata
+ # GOPATH: /srv/app
+ # commands:
+ # - make test-sqlite
+ # when:
+ # event: [ push, tag, pull_request ]
test-mysql:
image: webhippie/golang:edge
@@ -55,24 +81,21 @@ pipeline:
commands:
- make release
when:
- event: [ push, tag, pull_request ]
-
- coverage:
- image: plugins/coverage
- server: https://coverage.gitea.io
- when:
- event: [ push, tag, pull_request ]
+ event: [ push, tag ]
docker:
- image: plugins/docker
+ image: plugins/docker:17.05
+ pull: true
+ secrets: [ docker_username, docker_password ]
repo: gitea/gitea
tags: [ '${DRONE_TAG##v}' ]
when:
event: [ tag ]
- branch: [ refs/tags/* ]
docker:
- image: plugins/docker
+ image: plugins/docker:17.05
+ pull: true
+ secrets: [ docker_username, docker_password ]
repo: gitea/gitea
tags: [ '${DRONE_BRANCH##release/v}' ]
when:
@@ -80,7 +103,9 @@ pipeline:
branch: [ release/* ]
docker:
- image: plugins/docker
+ image: plugins/docker:17.05
+ pull: true
+ secrets: [ docker_username, docker_password ]
repo: gitea/gitea
tags: [ 'latest' ]
when:
@@ -88,17 +113,24 @@ pipeline:
branch: [ master ]
release:
- image: plugins/s3
+ image: plugins/s3:1
+ pull: true
+ secrets: [ aws_access_key_id, aws_secret_access_key ]
+ bucket: releases
+ endpoint: https://storage.gitea.io
path_style: true
strip_prefix: dist/release/
source: dist/release/*
target: /gitea/${DRONE_TAG##v}
when:
event: [ tag ]
- branch: [ refs/tags/* ]
release:
- image: plugins/s3
+ image: plugins/s3:1
+ pull: true
+ secrets: [ aws_access_key_id, aws_secret_access_key ]
+ bucket: releases
+ endpoint: https://storage.gitea.io
path_style: true
strip_prefix: dist/release/
source: dist/release/*
@@ -108,7 +140,11 @@ pipeline:
branch: [ release/* ]
release:
- image: plugins/s3
+ image: plugins/s3:1
+ pull: true
+ secrets: [ aws_access_key_id, aws_secret_access_key ]
+ bucket: releases
+ endpoint: https://storage.gitea.io
path_style: true
strip_prefix: dist/release/
source: dist/release/*
@@ -118,15 +154,21 @@ pipeline:
branch: [ master ]
github:
- image: plugins/github-release
+ image: plugins/github-release:1
+ pull: true
+ secrets: [ github_token ]
files:
- dist/release/*
when:
event: [ tag ]
- branch: [ refs/tags/* ]
- gitter:
- image: plugins/gitter
+ discord:
+ image: appleboy/drone-discord:1.0.0
+ pull: true
+ secrets: [ discord_webhook_id, discord_webhook_token ]
+ when:
+ event: [ push, tag, pull_request ]
+ status: [ changed, failure ]
services:
mysql:
diff --git a/.drone.yml.sig b/.drone.yml.sig
deleted file mode 100644
index 62f3629..0000000
--- a/.drone.yml.sig
+++ /dev/null
@@ -1 +0,0 @@
-eyJhbGciOiJIUzI1NiJ9.d29ya3NwYWNlOgogIGJhc2U6IC9zcnYvYXBwCiAgcGF0aDogc3JjL2NvZGUuZ2l0ZWEuaW8vZ2l0ZWEKCnBpcGVsaW5lOgogIGNsb25lOgogICAgaW1hZ2U6IHBsdWdpbnMvZ2l0CiAgICB0YWdzOiB0cnVlCgogIHRlc3Q6CiAgICBpbWFnZTogd2ViaGlwcGllL2dvbGFuZzplZGdlCiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgVEFHUzogYmluZGF0YSBzcWxpdGUKICAgICAgR09QQVRIOiAvc3J2L2FwcAogICAgY29tbWFuZHM6CiAgICAgIC0gYXBrIC1VIGFkZCBvcGVuc3NoLWNsaWVudAogICAgICAtIG1ha2UgY2xlYW4KICAgICAgLSBtYWtlIGdlbmVyYXRlCiAgICAgIC0gbWFrZSB2ZXQKICAgICAgLSBtYWtlIGxpbnQKICAgICAgLSBtYWtlIHRlc3QKICAgICAgLSBtYWtlIGJ1aWxkCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoLCB0YWcsIHB1bGxfcmVxdWVzdCBdCgogIHRlc3QtbXlzcWw6CiAgICBpbWFnZTogd2ViaGlwcGllL2dvbGFuZzplZGdlCiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgVEFHUzogYmluZGF0YQogICAgICBHT1BBVEg6IC9zcnYvYXBwCiAgICBjb21tYW5kczoKICAgICAgLSBtYWtlIHRlc3QtbXlzcWwKICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2gsIHRhZywgcHVsbF9yZXF1ZXN0IF0KCiAgdGVzdC1wZ3NxbDoKICAgIGltYWdlOiB3ZWJoaXBwaWUvZ29sYW5nOmVkZ2UKICAgIHB1bGw6IHRydWUKICAgIGVudmlyb25tZW50OgogICAgICBUQUdTOiBiaW5kYXRhCiAgICAgIEdPUEFUSDogL3Nydi9hcHAKICAgIGNvbW1hbmRzOgogICAgICAtIG1ha2UgdGVzdC1wZ3NxbAogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCwgdGFnLCBwdWxsX3JlcXVlc3QgXQoKICBzdGF0aWM6CiAgICBpbWFnZToga2FyYWxhYmUveGdvLWxhdGVzdDpsYXRlc3QKICAgIHB1bGw6IHRydWUKICAgIGVudmlyb25tZW50OgogICAgICBUQUdTOiBiaW5kYXRhIHNxbGl0ZQogICAgICBHT1BBVEg6IC9zcnYvYXBwCiAgICBjb21tYW5kczoKICAgICAgLSBtYWtlIHJlbGVhc2UKICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2gsIHRhZywgcHVsbF9yZXF1ZXN0IF0KCiAgY292ZXJhZ2U6CiAgICBpbWFnZTogcGx1Z2lucy9jb3ZlcmFnZQogICAgc2VydmVyOiBodHRwczovL2NvdmVyYWdlLmdpdGVhLmlvCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoLCB0YWcsIHB1bGxfcmVxdWVzdCBdCgogIGRvY2tlcjoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogZ2l0ZWEvZ2l0ZWEKICAgIHRhZ3M6IFsgJyR7RFJPTkVfVEFHIyN2fScgXQogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgdGFnIF0KICAgICAgYnJhbmNoOiBbIHJlZnMvdGFncy8qIF0KCiAgZG9ja2VyOgogICAgaW1hZ2U6IHBsdWdpbnMvZG9ja2VyCiAgICByZXBvOiBnaXRlYS9naXRlYQogICAgdGFnczogWyAnJHtEUk9ORV9CUkFOQ0gjI3JlbGVhc2Uvdn0nIF0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2ggXQogICAgICBicmFuY2g6IFsgcmVsZWFzZS8qIF0KCiAgZG9ja2VyOgogICAgaW1hZ2U6IHBsdWdpbnMvZG9ja2VyCiAgICByZXBvOiBnaXRlYS9naXRlYQogICAgdGFnczogWyAnbGF0ZXN0JyBdCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoIF0KICAgICAgYnJhbmNoOiBbIG1hc3RlciBdCgogIHJlbGVhc2U6CiAgICBpbWFnZTogcGx1Z2lucy9zMwogICAgcGF0aF9zdHlsZTogdHJ1ZQogICAgc3RyaXBfcHJlZml4OiBkaXN0L3JlbGVhc2UvCiAgICBzb3VyY2U6IGRpc3QvcmVsZWFzZS8qCiAgICB0YXJnZXQ6IC9naXRlYS8ke0RST05FX1RBRyMjdn0KICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiBdCgogIHJlbGVhc2U6CiAgICBpbWFnZTogcGx1Z2lucy9zMwogICAgcGF0aF9zdHlsZTogdHJ1ZQogICAgc3RyaXBfcHJlZml4OiBkaXN0L3JlbGVhc2UvCiAgICBzb3VyY2U6IGRpc3QvcmVsZWFzZS8qCiAgICB0YXJnZXQ6IC9naXRlYS8ke0RST05FX0JSQU5DSCMjcmVsZWFzZS92fQogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCBdCiAgICAgIGJyYW5jaDogWyByZWxlYXNlLyogXQoKICByZWxlYXNlOgogICAgaW1hZ2U6IHBsdWdpbnMvczMKICAgIHBhdGhfc3R5bGU6IHRydWUKICAgIHN0cmlwX3ByZWZpeDogZGlzdC9yZWxlYXNlLwogICAgc291cmNlOiBkaXN0L3JlbGVhc2UvKgogICAgdGFyZ2V0OiAvZ2l0ZWEvbWFzdGVyCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoIF0KICAgICAgYnJhbmNoOiBbIG1hc3RlciBdCgogIGdpdGh1YjoKICAgIGltYWdlOiBwbHVnaW5zL2dpdGh1Yi1yZWxlYXNlCiAgICBmaWxlczoKICAgICAgLSBkaXN0L3JlbGVhc2UvKgogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgdGFnIF0KICAgICAgYnJhbmNoOiBbIHJlZnMvdGFncy8qIF0KCiAgZ2l0dGVyOgogICAgaW1hZ2U6IHBsdWdpbnMvZ2l0dGVyCgpzZXJ2aWNlczoKICBteXNxbDoKICAgIGltYWdlOiBteXNxbDo1LjcKICAgIGVudmlyb25tZW50OgogICAgICAtIE1ZU1FMX0RBVEFCQVNFPXRlc3QKICAgICAgLSBNWVNRTF9BTExPV19FTVBUWV9QQVNTV09SRD15ZXMKICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHB1c2gsIHRhZywgcHVsbF9yZXF1ZXN0IF0KCiAgcGdzcWw6CiAgICBpbWFnZTogcG9zdGdyZXM6OS41CiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBQT1NUR1JFU19EQj10ZXN0CiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoLCB0YWcsIHB1bGxfcmVxdWVzdCBdCg.hp6IsxbFIQOaxJdmGv32Vf34-Nra3KqVIWzH52W687I
\ No newline at end of file
diff --git a/.editorconfig b/.editorconfig
index 12b2424..cbbb106 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -15,10 +15,14 @@ indent_size = 8
indent_style = tab
indent_size = 4
-[*.{less,yml}]
+[*.{less}]
indent_style = space
indent_size = 4
+[*.{yml}]
+indent_style = space
+indent_size = 2
+
[*.js]
indent_style = space
indent_size = 4
diff --git a/.github/issue_template.md b/.github/issue_template.md
index dbf2ae9..b5d2409 100644
--- a/.github/issue_template.md
+++ b/.github/issue_template.md
@@ -1,9 +1,11 @@
-1. Please speak English, this is the language all of us can speak and write.
-2. Please ask questions or configuration/deploy problems on our Gitter channel: https://gitter.im/go-gitea/gitea
-3. Please take a moment to search check that your issue doesn't already exist.
-4. Please give all relevant information below for bug reports, because incomplete details will be handled as an invalid report.
-
-**You MUST delete the content above including this line before posting, otherwise your issue will be invalid.**
+
- Gitea version (or commit ref):
- Git version:
@@ -11,6 +13,7 @@
- Database (use `[x]`):
- [ ] PostgreSQL
- [ ] MySQL
+ - [ ] MSSQL
- [ ] SQLite
- Can you reproduce the bug at https://try.gitea.io:
- [ ] Yes (provide example URL)
@@ -25,4 +28,4 @@
## Screenshots
-**If this issue involves the Web Interface, please include a screenshot**
+
diff --git a/.gitignore b/.gitignore
index 79198ff..87d5327 100644
--- a/.gitignore
+++ b/.gitignore
@@ -26,7 +26,7 @@ _testmain.go
*.test
*.prof
-coverage.out
+*coverage.out
/modules/options/bindata.go
/modules/public/bindata.go
@@ -36,6 +36,7 @@ coverage.out
*.log
/gitea
+/integrations.test
/bin
/dist
@@ -44,3 +45,4 @@ coverage.out
/indexers
/log
/public/img/avatar
+/integrations/gitea-integration
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f6fab1a..5bf83df 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,513 @@
# Changelog
+## [1.2.1](https://github.com/go-gitea/gitea/releases/tag/v1.2.1) - 2017-10-16
+* BUGFIXES
+ * Fix PR, milestone and label functionality if issue unit is disabled (#2710) (#2714)
+ * Fix plain readme didn't render correctly on repo home page (#2705) (#2712)
+ * Fix so that user can still fork his own repository to his organizations (#2699) (#2707)
+ * Fix .netrc authentication (#2700) (#2708)
+ * Fix slice out of bounds error in mailer (#2479) (#2696)
+
+## [1.2.0](https://github.com/go-gitea/gitea/releases/tag/v1.2.0) - 2017-10-10
+* SECURITY
+ * Sanitation fix from Gogs (#1461)
+* BREAKING
+ * Rename /forget_password url to /forgot_password (#1219)
+* FEATURE
+ * Logo: Add task to generate images from SVG and change to new logo (#2194)
+ * Status-API (#1332)
+ * Show commit status icon in commits table (#1688)
+ * Additional OAuth2 providers (#1010)
+ * GPG commit validation (#1150)
+ * Rework SSH key management UI to add GPG (#1293)
+ * Implement GPG api (#710)
+ * Login via OpenID-2.0 (#618)
+ * Add units to team (#947)
+ * Batch updates for issues (#926)
+ * Add Gitea Webhook (#1755)
+ * API: support '/orgs/:org/repos' (#2047)
+ * Display all organization from user settings (#1739)
+ * LDAP user synchronization (#1478)
+ * Adding #issuecomment to the URL in E-Mail notifications (#1674)
+ * Add download count field and unit testing for attachment. (#1512)
+ * Add repo mirror sync API endpoint (#1508)
+ * Add markup package to prepare for org markup format (#1493)
+ * Support for custom html meta (#1423)
+ * Per issue/PR watch/unwatch (#1410)
+ * Allow ENABLE_OPENID_SIGNUP to depend on DISABLE_REGISTRATION (#1369)
+ * Repo size in admin panel (#1482)
+ * Show user OpenID URIs in their profile (#1314)
+ * Add change-password admin command (#1304)
+ * Only use issue and wiki on repo. (#1297)
+ * Allow push to init a wiki repo (#1279)
+* ENHANCEMENT
+ * Make time diff translatable (#2057)
+ * Smaller watch, star, and fork buttons (#2052)
+ * Display config file path on admin panel (#2030)
+ * Only show SSH clone URL if signed in (#2169) (#2170)
+ * Only show "No Description" to repo admins (#2167)
+ * Always return valid go-get meta, even if unauthorized (#2010)
+ * Enable assignee e-mail notification (#2003)
+ * Let not-logged-in users view releases (#1999)
+ * No highlighting for .txt files (#1922)
+ * Make side nav on dashboard stackable (#1778)
+ * Setting to disable authorized_keys backup (#1856)
+ * Hide the create organization button (in dashboard/organization section) (#1705)
+ * LFS: Return 404 for unimplemented endpoints (#1330)
+ * Show a link to password reset from user settings requiring a password (#862)
+ * Reserve the "explore" user/org name (#1222)
+ * Send notifications to partecipants in issue comments (#1217)
+ * Improve style of user OpenID setting page (#1324)
+ * Use font-awesome OpenID icon more (#1320)
+ * Use readonly input form to show the validated OpenID URI (#1308)
+ * Add captcha support to OpenID based signup (#1307)
+ * Minor improvements on commit graph UI (#1380)
+ * Mirror sync interval specified as duration string (#1407)
+ * Make issue in commit graph "clickable" (#1392)
+ * Use whole button (commit graph) as link (#1390)
+ * Autofocus on 2fa passcode fields (#1460)
+ * Sort on repo size in admin panel (#1654)
+ * Improve dashboard repo search (#1652)
+ * Use a better default MAX_GIT_DIFF_LINE_CHARACTERS (#1845)
+ * Adds Parent property to the repo API (#1687)
+ * Add configuration option for default permission to create Organizations (#1686)
+ * Remove sha1 hash display in repository table (#1678)
+ * Download files to their original filename (#1676)
+ * Exposes in API the Repo entity's Size and IsBare property (#1668)
+ * Change two factor code entry box from text to number (#1733)
+ * Directly show error if user hit repository limit (#1767)
+ * Generate small and large logos at 4x resolution (#2233)
+ * Tags listed in releases tab (#2389) (#2424)
+* BUGFIXES
+ * Fix adding branch as protected to not allow pushing to it (#2556)
+ * Orgs: fix org page title when full name is not defined (#1495)
+ * Fix double borders on edit page (#1152) (#1153)
+ * Search bar fixes for #1187 and #1205 (#1207)
+ * Fix upgrade failed after ever rollback (#1194)
+ * Fix FCGI (over TCP) support (#1368)
+ * Backport of migration fixes (#2604) (#2677)
+ * fix panic on gogs webhook creation (#2675) (#2676)
+ * Backport: Fixes 500 error on dashboard when using MSSQL (#2504) (#2662)
+ * Fix go get response if only app URL is custom in configuration (#2634) (#2640)
+ * Fix deletion of unprotected branches (#2630)
+ * Backport of 2611 / Fix doubled issue tab introduced in migration v16 (#2622)
+ * v38 migration used an outdated version of RepoUnit model (#2602)
+ * fix go get subpackage bug (#2584) (#2589)
+ * Backport: Sync releases table with tags on push and for mirrors (#2459) (#2554)
+ * Backport: Restricting access to fork functioanlity to users with Code access (#2542)
+ * Fix migration from pre-v15 to 1.2.0 (#2460) (#2465)
+ * Fix migration from pre-v15 to 1.2.0 (#2460)
+ * fix duplicated feed (#2370) (#2413)
+ * Fix releases to be counted from database not tags (#2389)
+ * Fix missing collabrative repos (#2367) (#2382)
+ * Add more test for login links and fix a bug on action retrieve (#2361)
+ * Fix SQL condition bug in GetFeeds(..) (#2360)
+ * fix bug on create repo link on dashboard (#2359)
+ * Fix order of elements in dashboard html (#2344)
+ * Fix repo-search template errors for go1.7 (#2336)
+ * Add missing forks key for dashboard repository component (#2325)
+ * fix template error on explore repos (#2319)
+ * Trigger sync webhooks on UI commit (#2302)
+ * fix 500 error when view an issue which's milestone deleted (#2297)
+ * Only update needed columns when update user (#2296)
+ * Fix rendering of external links (#2292)
+ * Fix and improve dashboard repo UI (#2285)
+ * Make short link pattern greedy (#2259)
+ * Temporarily patch go-ini/ini with fork (#2255)
+ * Convert xorm literal queries to method calls (#2253)
+ * update code.gitea.io/git in vendor to fix delete branch fails (#2250)
+ * Replace calls to xorm UseBool with Where (#2237)
+ * rhel7 has a git version with four digits (1.8.3.1) (#2236)
+ * Fix internal requests when gitea listens to unix socket or only external IP (#2234)
+ * Check for access in /repositories/:id (#2227)
+ * Fixed robots.txt 404 error (#2226)
+ * Fix counts on issues dashboard (#2215)
+ * Fix unclosed session bug (#2214)
+ * Add collaborative repositories to the dashboard (#2205)
+ * Fix issue updated_unix bug (#2204)
+ * Fix Commits nil pointer dereference (#2203)
+ * Fix bare-repo bugs (#2199)
+ * Fix PR nil-dereference bug (#2195)
+ * Allow only single fork per user/organization (#2193)
+ * Fix key usage time update if the key is used in parallel for multiple operations (#2185)
+ * Only allow token authentication with 2FA enabled (#2184)
+ * Fix profile update for non-local users (#2178)
+ * Fix compiling without sqlite and gcc (#2177)
+ * Make compare button URL aware if current repo is a fork (#2162) (#2163)
+ * Remove unit types commits and settings (#2161)
+ * Fix OpenID registration route (#2160)
+ * Fix repository settings collobration list display (#2151)
+ * Ignore invalid issue numbers in commit messages. Fixes #2022 (#2150)
+ * Fix SHA1 hash linking (#2143)
+ * Fix repo API bug (#2133)
+ * Use POSIX complaint ! operator in find (#2132)
+ * Fix GET /users/:username/repos endpoint (#2125)
+ * Fix username rendering bug (#2122)
+ * Fix wiki preview links (#2119)
+ * vendor: update sqlite to fix "database is locked" errors (#2116)
+ * Fix unchecked error bug (#2110)
+ * Fix missing-return bug (#2109)
+ * Fix API for branches with slashes (#2096)
+ * Fix git hooks update to receive required arguments (#2095)
+ * upgrade git source code. (#2094)
+ * Fix SQL bug in models.PullRequests (#2092)
+ * Don't ignore gravatar error (#2083)
+ * Fix release display and correct paging (#2080)
+ * remove unnecessary blank lines and wrong error log (#2079)
+ * Check for valid renamed usernames (#2077)
+ * Update git module (#2074)
+ * Fix org hooks UI (#2072)
+ * Fix #1271: Call location.reload after XHR finishes (#2071)
+ * Fix default ghost assignee bug (#2069)
+ * Fix bug in issue labels API (#2048)
+ * Load label ID in NewLabels (#2045)
+ * Fix: `http: multiple response.WriteHeader calls` (#2038)
+ * Pagination on releases page (#2035)
+ * repo/editor: fix breadcrumb path cuts parent dirs (#3859) (#2032)
+ * Fix displaying commits and files of PR created from now deleted fork (#2023)
+ * Fix #2001 and fix issue comments hidden (#2016)
+ * Update code.gitea.io/git (#2014)
+ * Keep sort when switching page (#2013)
+ * Important: wrong PR merge commit ID saved (#2007)
+ * Don't show non-comments in comments API (#2001)
+ * Fix "Dashboard shows deleted comments" (#1995)
+ * Make branch deletion URL more like GitHub's, fixes #1397 (#1994)
+ * Fix fast-forward PR bug (#1989)
+ * Fix GPG email checking to be case insensitive (#1988)
+ * fix bug for normal user visit public repo (#1984)
+ * fix collborators lack of units on orgnization repositories (#1968)
+ * Fix diff of renamed and modified file (#1967)
+ * Fix uppercase default branch bug (#1965)
+ * Fix bug in Action.loadRepo() (#1959)
+ * Fix deleted milestone bug (#1942)
+ * Fix engine bug in getIssueByID (#1934)
+ * Switch to keybase go-crypto (for some elliptic curve key) + test (#1925)
+ * Fix setting.AppPath for integration tests (#1923)
+ * Fix search by issue type (#1914)
+ * Fix ghost user bug (#1913)
+ * Require token before checking membership/ownership (#1905)
+ * Bug fixes for org member API (#1904)
+ * A missing / to provide a correct endpoint (#1903)
+ * Fix 500 in public activity page (#1901)
+ * Center-aligned login topbar (#1880)
+ * Migration to fix existing owner team units (#1873)
+ * Fix paginater length (#1866)
+ * Fix bug in removeOrgRepo (#1858)
+ * Display draft releases (#1854)
+ * Fix 404 for external tracking issues (#1852)
+ * Update code.gitea.io/git (#1849)
+ * Fix user profile activity feed (#1848)
+ * Don't ignore error in getMergeCommit (#1843)
+ * Fix locking bug in removeOrgRepo (#1842)
+ * Fix status table race condition (#1835)
+ * Fix PR template error (#1834)
+ * Fix pull request compare link (#1832)
+ * Use ghost users in issues/PRs (#1831)
+ * Commitless repos should be bare (#1829)
+ * Update code.gitea.io/git (#1824)
+ * Fix invalid reference in feeds template (#1820)
+ * fix bug to deny to add orgnization as a member of an orgnization or team (#1815)
+ * xxx_active_code_live setting in printed in hours and minutes instead … (#1814)
+ * Fix deadlock in updateRepository (#1813)
+ * Give all units to owner team (#1812)
+ * Fix 500 for GET /teams/:id endpoints (#1811)
+ * fix bug not to trim space of login username (#1796)
+ * Fix renaming bug (#1786)
+ * Fix activity feed (#1779)
+ * Make navbar scroll on overflow (#1777)
+ * Delete repo redirects on repo deletion (#1776)
+ * Fix unloaded owner bug (#1770)
+ * Admin should always be allowed to create repositories even if hit limit (#1765)
+ * Update HighlightJS and fix YAML files highlighting (#1764)
+ * fix: #1757 fix set MAX_CREATION_LIMIT as zero. (#1762)
+ * fix admin lost permission caused by #947 (#1753)
+ * More fixes for dashboard search (#1750)
+ * fixes wrong after field in webhook payload (#1746)
+ * fix avatar update bug (#1729)
+ * Fix FOUC on Firefox (#1728)
+ * Fix changes introduce by update of go-swagger. (#1727)
+ * Fix #1719 (#1722)
+ * Correct flash after sending password reset email (#1718)
+ * Fix and test for delete user (#1713)
+ * Fix rendering of issue checkboxes (#1709)
+ * Enforce netgo build tag while cross-compilation (#1690)
+ * fix bug when push a branch name with / & fix an integration test bug (#1689)
+ * fix potential sqlite lock (#1680)
+ * Fix commit sha1 URL rendering in markdown (#1677)
+ * Fix static files permission under public/ (#1675)
+ * fix: tag contain character ) will http 500 on release page (#1670)
+ * Fix CSS for code in wiki markdown (#1660)
+ * fix multiple readme file rendering and fix #1657 (#1658)
+ * Add primary key and index to external login user table (#1656)
+ * fix #1643 and improve integration test (#1645)
+ * Fix version in Makefile (#1636)
+ * Handle display of GPG key without end date (#1628)
+ * fix bug on issue view when not login (#1624)
+ * bug fixed for API to get user's repos (#1622)
+ * fix lost text color on button on set as primary email (#1621)
+ * Add create_at and updated_at in PR json (#1616)
+ * update git and fix #1133 (#1614)
+ * fix bug on status API (#1533)
+ * Do not show empty collaborators segment (#1531)
+ * Fix markdown rendering (#1530)
+ * fix go get sub package and add domain on installation to let go get work defaultly (#1518)
+ * fix #1501 ssh hangs caused by #1461 (#1513)
+ * Fix empty file download (#1506)
+ * Fix broken v27 migration - change mirror interval from int to bigint (#1504)
+ * Do not allow commiting to protected branch from online editor (#1502)
+ * Add internal routes for ssh hook comands (#1471)
+ * Fix races within code.gitea.io/git.(*Command).RunInDirTimeoutPipeline (#1465)
+ * Simple quick fix for #1418 (#1456)
+ * fix gpg API panic when no verification (#1451)
+ * fix migrate failed and org dashboard failed on MSSQL database (#1448)
+ * Optimize and fix autolink function (#1442) (#1444)
+ * Fix and simplify repo branches (settings) UI (#1435)
+ * Fix disabled fields in repo settings UI (#1431)
+ * fixes pull request hanging when it contains normal and LFS files (#1425)
+ * Fix races in the log module by using syncmap (#1421)
+ * Add length check for the return string (#1420)
+ * Fix "Error: No issue number specified" when pushing (#1393)
+ * Corrected Mirror.NextUpdate not set (#1388)
+ * fix: remove `str2html` from org full name (#1360)
+ * Correct broken unaligned load/store in armv5 (#1355)
+ * Remove href on first/last link when on first/last page (#1345)
+ * Fix broken table layout (#1344)
+ * LFS: Fix SSH authentication for trailing arguments (#1328)
+ * Remove empty file (#1326)
+ * Fix delete user failed on sqlite (#1321)
+ * Fix inconsistency in layout (#1316)
+ * Fix gpg wrong column types (#1303)
+ * Fix wiki bugs (#1294)
+ * Fix missing less sources for oauth (#1288)
+ * Make sure both scripts/ can live side by side (#1264)
+ * Fix nil-dereference bug (#1258)
+ * rewrite pre-commit, post-commit and options hooks (fixes #1250) (#1257)
+ * Commit search appearence fixes (#1254)
+ * Fix forget migration for wiki hooks (#1227)
+ * Fix repo settings external tracker failed and check external urls (#1215)
+ * Fix 500 caused by branches settings introduced by #1198 (#1214)
+ * fix #1189, commit messages containing a pipe (#1203)
+ * Bug fixed for delete repo failed (#1193)
+ * Fix migration failed when authorized_keys is not exist (#1180)
+ * Fix ini format incomiptable with crowdin (#1177)
+* TESTING
+ * Integration tests for issues API (#2059)
+ * Add integration tests for signin (#2363)
+ * Add INTERNAL_TOKEN to integration .ini file (#2346)
+ * Add public links check (#2323)
+ * Fix hooks for integration repo (#2216)
+ * More integration tests for comment API (#2156)
+ * Cache session cookies in tests (#2128)
+ * Less verbose integration tests (#2123)
+ * Fix improper setup for integration tests (#2050)
+ * Improve integration test helper functions (#2049)
+ * Add integration test for issue creating (#2002)
+ * Use testing/benchmark interface (#1993)
+ * Add integration test for repository migration (#1983)
+ * Consolidate boilerplate in integration tests (#1979)
+ * Set console to debug for integration tests (#1976)
+ * Add pull-create integration test (#1972)
+ * Coverage reports for integration tests (#1960)
+ * Add integration test for pull-request merge (#1912)
+ * Add integration test for file editing (#1907)
+ * Add integration test for repository forking (#1896)
+ * Run unused test (#1875)
+ * Don't recreate database in integration tests (#1697)
+ * remove sqlite tag when integration test with mysql/postgres and recreate database when init integration test (#1693)
+ * MySQL, Postgres integration tests in drone (#1638)
+ * improve integration test to resue models/fixtures and store git repos with tests (#1627)
+ * Improve govendor testing (#1623)
+ * Integration test framework (#1290)
+ * Unit tests for issue_list (#1209)
+ * Add integration test for signup (#1135)
+* TRANSLATION
+ * update translation from crowdin (#2368) (#2380)
+ * Small fixes (#2144)
+ * Missing signed commit display translations (#2134)
+ * Sync latest translations from crowdin (#2104)
+ * Add make command update-translations for update translations from crodwin (#2097)
+ * Fix some mistakes (#1833)
+ * Improve clarity between is_activated and prohibit_login (#1788)
+ * Improve grammar (#1775)
+ * Fix bad grammar and wordiness (#1741)
+ * Make strings translatable (#1188) (#1198)
+* BUILD
+ * Dockerfile for aarch64 (#1128) (#1130)
+ * backport from v1.2 branch: add secrets for github release (#2588) (#2598)
+ * Add secrets for github release to fix drone failed (#2588)
+ * Backport changes for latest drone (#2586)
+ * Removing .drone.yml.sig (#2579)
+ * Fix drone for tags (#2573) (#2576)
+ * Backport: Remove go version check for make fmt (#2558) (#2561)
+ * Backport: Fix lint, fmt and integration testing errors (#2553)
+ * update latest xorm version to vendor (#2353)
+ * Remove integration test executables on `make clean` (#2340)
+ * refactor(Makefile): allow overriding default go program (#2310)
+ * Revert to upstream ini dependency (#2304)
+ * Use /dev/urandom to create random password (#2298)
+ * update drone sig file. (#2262)
+ * go get github.com/wadey/gocovmerge when needed (#2235)
+ * fix typo (#2145)
+ * Revert "Reduce number of layer" (#2086)
+ * Reduce number of layer (#2078)
+ * Skip sqlite integration in CI (#2058)
+ * fix golint error and rename func for suggestion. (#1997)
+ * fix misspell (#1996)
+ * update drone sig file (#1981)
+ * send notification if status changed (#1973)
+ * switch gitter to discord for drone. (#1971)
+ * Fix missing backslash in Dockerfile.rpi (#1952)
+ * Don't run 'make release' on PRs (#1908)
+ * Update code.gitea.io/git (#1892)
+ * Use production version of vuejs (#1869)
+ * Add a variable for docker tag (#1825)
+ * resign drone and fix #1816 (#1819)
+ * Separate generate swagger + fix sed os specific (#1791)
+ * Only run coverage on merges/pushes to master (#1783)
+ * Remove stale rule from Makefile (#1782)
+ * feat: upgrade drone docker image to support multi-stage build. (#1732)
+ * Realy don't cache apk index (#1694)
+ * Limit clone depth when drone-building (#1644)
+ * Refactor Dockerfile (#1632)
+ * Check if missing/modified/unused deps in vendor and fix errors (#1468)
+ * Add GOFLAGS and EXTRA_GOFLAGS (#1438)
+ * Include formatting check to the `make test` (and thus also `check`) rule (#1366)
+* DOCS
+ * fix wrong changelog title (#2395)
+ * fix webhook link (#2289)
+ * Improve swagger doc (#2274)
+ * Add link to forum in issue template (#2070)
+ * add missing lfs config on example file (#2039)
+ * Add discourse link (#2027)
+ * Fix wording (#2024)
+ * Fix typo (#1974)
+ * Swagger docs for list/create forks (#1941)
+ * Update links to Discord server (#1940)
+ * [ci skip] update discord badge. (#1930)
+ * Change join chat from gitter to discord (#1929)
+ * Update changelog with v1.1.1 (#1926)
+ * Correct grammar in APIEmpty documentation (#1748)
+ * Add swagger comment for MirrorSync (#1747)
+ * Add "Table of Contents" in CONTRIBUTING.md (#1634)
+ * Fix service description in Debian init file (#1538)
+ * Use MAINTAINERS file in repository in CONTRIBUTING (#1489)
+ * Generate swagger json (#1402)
+ * Changed text when password reset disabled. (#1364)
+ * Removed email copyright year (#1348)
+ * Specify that time interval units are seconds (#1311)
+ * Gitea OpenID-2.0 login has been tested with livejournal.com too (#1306)
+ * Make wording of commit search more clear (#1291)
+ * Add notice that LFS mirroring is not supported (#1251)
+ * Fix typos in models/ and modules/ (#1248)
+ * Refactor and fix incorrect comment (#1247)
+ * Fix migration comment (#1241)
+ * Update locale_en-US.ini (#1235)
+ * Add LibreJS support (#1201)
+ * rename OSX to macOS (#1176)
+ * add mssql to app.ini db config comment (#1172)
+ * Add MSSQL to issues template (#1171)
+* MISC
+ * Add badge and link to the Matrix room (#2348)
+ * ignore coverage steps. (#2257)
+ * Use sqlite3 database as default for Docker image (#2182)
+ * update drone discord plugin to 0.0.4 version (#1992)
+ * fix typo (#1990)
+ * Move 3rd party js/css into `public/vendor` and document sources (#2383)
+ * Prevent conflicting TOTP accounts by adding AppURL to issuer parameter (#2335)
+ * Fix variable name typo (#2327)
+ * Make use of Vue more universal (#2318)
+ * Remove (almost) server side data rendering from repo-search component (#2317)
+ * Add OpenID configuration in install page (#2276)
+ * More tweaks to repo top panel (#2267)
+ * File path tweaks in UI (#2264)
+ * Make SHOW_USER_EMAIL also apply to profiles (#2258)
+ * EnableUnit() -> UnitEnabled() (#2242)
+ * Prevent selection of diff line numbers (#2240)
+ * Remove unused variable on makefile (#2225)
+ * No error log entries for repo 404 (#2200)
+ * Refactor vue delimeters to use es6 template delimeters (#2171)
+ * Replace tmp with TMPDIR. (#2152)
+ * Remove unused files (#2124)
+ * Improve org error handling (#2117)
+ * Absolute path for setting.CustomConf (#2085)
+ * remove deprecated code for Gogs compitable (#2041)
+ * Refactor session close as xorm already does everything needed internally (#2020)
+ * SQLite has a query timeout. Hopefully fixes most 'database locked' errors (#1961)
+ * Use monospace font in githook editor (#1958)
+ * Fix import order (#1951)
+ * Gracefully handle bare repositories on API operations. (#1932)
+ * Fix errors caused by force push (#1927)
+ * Display URLs in integration test logs (#1924)
+ * Set TMPDIR enviroment variable for dump command (#1915)
+ * Cache ctx.User in retrieveFeeds (#1902)
+ * Make `LocalCopyPath` a setting instead of a hard-coded path (#1881)
+ * Add check misspelling (#1877)
+ * Fix misspelled variables (#1874)
+ * Gofmt (#1868, #1710, #1662)
+ * Rename misnamed migration (#1867)
+ * Support CRLF when splitting code lines for display (#1862)
+ * Add convert less css file step. (#1861)
+ * Prevent accidential selection of line numbers in code view (#1860)
+ * Delete Public SSH Key tmp file after calculating fingerprint (#1855)
+ * Remove annoying difference in button heights. (#1853)
+ * Only run test coverage on master branch. (#1838)
+ * Error from mktemp command in MacOS. (#1837)
+ * Use writeTmpKeyFile in calcFingerprint (#1828)
+ * ROOT_URL setting use the default as shown in conf/app.ini (#1823)
+ * Rename RepoCreationNum -> MaxCreationLimit (#1766)
+ * Add button to admin ui (#1738)
+ * Correct spelling mistakes (#1703)
+ * Make openid support default false for compitable with v1.1 (#1650)
+ * Send mails as HTML as default. Setting for send as plain text. (#1648)
+ * fix potential lock when sqlite (#1647)
+ * Optimize png images via Google zopflipng [ci skip] (#1639)
+ * Upgrade alpine to v3.5 in Dockerfile (#1633)
+ * remove unused vendor packages (#1620)
+ * markup: microoptimise for many short filenames in directory (#1534)
+ * support health check via / and fix #969 (#1520)
+ * Remove env user salt since no need to use (#1515)
+ * Drop db operations from hook commands (#1514)
+ * Better URL validation (#1507)
+ * Migrate WatchInfo struct to api (#1492)
+ * refactor: show command help message. (#1486)
+ * refactor update ssh key use time (#1466)
+ * Set VERSION from git once, in a variable (#1447)
+ * Remove unused mutex field (#1440)
+ * Simplify settings pages with item list (#1389)
+ * Clean-up PostgreSQL Tests (#1361)
+ * refactor: remove workaround after the golang 1.7 release. (#1349)
+ * Delete the useless code (#1335)
+ * Run "make fmt" with go-1.6 (#1333)
+ * Refactor admin/auth/new.tmpl (#1277)
+ * Refactor repo/issue/view_content.tmpl (#1276)
+ * Cleaner ui for admin, repo settings, and user settings page (#1269) (#1270)
+ * Cleaner UI for explore page (#1253) (#1255)
+ * Synced licenses with github repo (#1246)
+ * Synced gitignores with github repo (#1245)
+ * Simplify RepositoryList.loadAttributes() (#1211)
+ * Move user_follow to separate file (#1210)
+ * Reduce conditionals in signin/signup inner forms (#1138)
+
+## [1.1.3](https://github.com/go-gitea/gitea/releases/tag/v1.1.3) - 2017-08-03
+
+* BUGFIXES
+ * Fix PR template error (#2008)
+ * Fix markdown rendering (fix #1530) (#2043)
+ * Fix missing less sources for oauth (backport #1288) (#2135)
+ * Don't ignore gravatar error (#2138)
+ * Fix diff of renamed and modified file (#2136)
+ * Fix fast-forward PR bug (#2137)
+ * Fix some security bugs
+
+## [1.1.2](https://github.com/go-gitea/gitea/releases/tag/v1.1.2) - 2017-06-13
+
+* BUGFIXES
+ * Enforce netgo build tag while cross-compilation (Backport of #1690) (#1731)
+ * fix update avatar
+ * fix delete user failed on sqlite (#1321)
+ * fix bug not to trim space of login username (#1806)
+ * Backport bugfixes #1220 and #1393 to v1.1 (#1758)
+
## [1.1.1](https://github.com/go-gitea/gitea/releases/tag/v1.1.1) - 2017-05-04
* BUGFIXES
@@ -86,7 +594,7 @@
* Added option to config to disable local path imports [#724](https://github.com/go-gitea/gitea/pull/724)
* Allow custom public files [#782](https://github.com/go-gitea/gitea/pull/782)
* Added pprof endpoint for debugging [#801](https://github.com/go-gitea/gitea/pull/801)
- * Added X-GitHub-* headers [#809](https://github.com/go-gitea/gitea/pull/809)
+ * Added `X-GitHub-*` headers [#809](https://github.com/go-gitea/gitea/pull/809)
* Fill SSH key title automatically [#863](https://github.com/go-gitea/gitea/pull/863)
* Display Git version on admin panel [#921](https://github.com/go-gitea/gitea/pull/921)
* Expose URL field on issue API [#982](https://github.com/go-gitea/gitea/pull/982)
@@ -118,7 +626,7 @@
## [1.0.1](https://github.com/go-gitea/gitea/releases/tag/v1.0.1) - 2017-01-05
* BUGFIXES
- * Fixed localized MIN_PASSWORD_LENGTH [#501](https://github.com/go-gitea/gitea/pull/501)
+ * Fixed localized `MIN_PASSWORD_LENGTH` [#501](https://github.com/go-gitea/gitea/pull/501)
* Fixed 500 error on organization delete [#507](https://github.com/go-gitea/gitea/pull/507)
* Ignore empty wiki repo on migrate [#544](https://github.com/go-gitea/gitea/pull/544)
* Proper check access for forking [#563](https://github.com/go-gitea/gitea/pull/563)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index f6f7aff..2699d18 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,5 +1,22 @@
# Contribution Guidelines
+## Table of Contents
+
+- [Contribution Guidelines](#contribution-guidelines)
+ - [Introduction](#introduction)
+ - [Bug reports](#bug-reports)
+ - [Discuss your design](#discuss-your-design)
+ - [Testing redux](#testing-redux)
+ - [Vendoring](#vendoring)
+ - [Code review](#code-review)
+ - [Styleguide](#styleguide)
+ - [Sign your work](#sign-your-work)
+ - [Release Cycle](#release-cycle)
+ - [Maintainers](#maintainers)
+ - [Owners](#owners)
+ - [Versions](#versions)
+ - [Copyright](#copyright)
+
## Introduction
This document explains how to contribute changes to the Gitea project. It assumes you have followed the [installation instructions](https://docs.gitea.io/en-us/). Sensitive security-related issues should be reported to [security@gitea.io](mailto:security@gitea.io).
@@ -81,13 +98,13 @@ The current release cycle is aligned to start on December 25 to February 24, nex
## Maintainers
-To make sure every PR is checked, we have [team maintainers](https://github.com/orgs/go-gitea/teams/maintainers). Every PR **MUST** be reviewed by at least two maintainers (or owners) before it can get merged. A maintainer should be a contributor of Gitea (or Gogs) and contributed at least 4 accepted PRs. A contributor should apply as a maintainer in the [Gitter develop channel](https://gitter.im/go-gitea/develop). The owners or the team maintainers may invite the contributor. A maintainer should spend some time on code reviews. If a maintainer has no time to do that, they should apply to leave the maintainers team and we will give them the honor of being a member of the [advisors team](https://github.com/orgs/go-gitea/teams/advisors). Of course, if an advisor has time to code review, we will gladly welcome them back to the maintainers team. If a maintainer is inactive for more than 3 months and forgets to leave the maintainers team, the owners may move him or her from the maintainers team to the advisors team.
+To make sure every PR is checked, we have [team maintainers](MAINTAINERS). Every PR **MUST** be reviewed by at least two maintainers (or owners) before it can get merged. A maintainer should be a contributor of Gitea (or Gogs) and contributed at least 4 accepted PRs. A contributor should apply as a maintainer in the [Discord](https://discord.gg/NsatcWJ) #develop channel. The owners or the team maintainers may invite the contributor. A maintainer should spend some time on code reviews. If a maintainer has no time to do that, they should apply to leave the maintainers team and we will give them the honor of being a member of the [advisors team](https://github.com/orgs/go-gitea/teams/advisors). Of course, if an advisor has time to code review, we will gladly welcome them back to the maintainers team. If a maintainer is inactive for more than 3 months and forgets to leave the maintainers team, the owners may move him or her from the maintainers team to the advisors team.
## Owners
Since Gitea is a pure community organization without any company support, to keep the development healthy we will elect three owners every year. All contributors may vote to elect up to three candidates, one of which will be the main owner, and the other two the assistant owners. When the new owners have been elected, the old owners will give up ownership to the newly elected owners. If an owner is unable to do so, the other owners will assist in ceding ownership to the newly elected owners.
-After the election, the new owners should proactively agree with our [CONTRIBUTING](CONTRIBUTING.md) requirements on the [Gitter main channel](https://gitter.im/go-gitea/gitea). Below are the words to speak:
+After the election, the new owners should proactively agree with our [CONTRIBUTING](CONTRIBUTING.md) requirements in the [Discord](https://discord.gg/NsatcWJ) #general channel. Below are the words to speak:
```
I'm honored to having been elected an owner of Gitea, I agree with [CONTRIBUTING](CONTRIBUTING.md). I will spend part of my time on Gitea and lead the development of Gitea.
diff --git a/Dockerfile b/Dockerfile
index 2d47a18..a063f2e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,10 +1,9 @@
-FROM alpine:3.4
+FROM alpine:3.5
MAINTAINER Thomas Boerger
EXPOSE 22 3000
-RUN apk update && \
- apk add \
+RUN apk --no-cache add \
su-exec \
ca-certificates \
sqlite \
@@ -14,10 +13,8 @@ RUN apk update && \
s6 \
curl \
openssh \
- tzdata && \
- rm -rf \
- /var/cache/apk/* && \
- addgroup \
+ tzdata
+RUN addgroup \
-S -g 1000 \
git && \
adduser \
@@ -27,7 +24,7 @@ RUN apk update && \
-u 1000 \
-G git \
git && \
- echo "git:$(date +%s | sha256sum | base64 | head -c 32)" | chpasswd
+ echo "git:$(dd if=/dev/urandom bs=24 count=1 status=none | base64)" | chpasswd
ENV USER git
ENV GITEA_CUSTOM /data/gitea
diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64
new file mode 100644
index 0000000..a9dc3ad
--- /dev/null
+++ b/Dockerfile.aarch64
@@ -0,0 +1,40 @@
+FROM multiarch/alpine:aarch64-v3.5
+
+EXPOSE 22 3000
+
+RUN apk --no-cache add \
+ su-exec \
+ ca-certificates \
+ sqlite \
+ bash \
+ git \
+ linux-pam \
+ s6 \
+ curl \
+ openssh \
+ tzdata
+RUN addgroup \
+ -S -g 1000 \
+ git && \
+ adduser \
+ -S -H -D \
+ -h /data/git \
+ -s /bin/bash \
+ -u 1000 \
+ -G git \
+ git && \
+ echo "git:$(dd if=/dev/urandom bs=24 count=1 status=none | base64)" | chpasswd
+
+ENV USER git
+ENV GITEA_CUSTOM /data/gitea
+
+COPY docker /
+COPY gitea /app/gitea/gitea
+
+ENV GODEBUG=netdns=go
+
+VOLUME ["/data"]
+
+ENTRYPOINT ["/usr/bin/entrypoint"]
+CMD ["/bin/s6-svscan", "/etc/s6"]
+
diff --git a/Dockerfile.rpi b/Dockerfile.rpi
index e334ffc..373b802 100644
--- a/Dockerfile.rpi
+++ b/Dockerfile.rpi
@@ -1,10 +1,9 @@
-FROM hypriot/rpi-alpine-scratch:v3.4
+FROM multiarch/alpine:armhf-v3.5
MAINTAINER Thomas Boerger
EXPOSE 22 3000
-RUN apk update && \
- apk add \
+RUN apk --no-cache add \
su-exec \
ca-certificates \
sqlite \
@@ -14,10 +13,8 @@ RUN apk update && \
s6 \
curl \
openssh \
- tzdata && \
- rm -rf \
- /var/cache/apk/* && \
- addgroup \
+ tzdata
+RUN addgroup \
-S -g 1000 \
git && \
adduser \
@@ -27,7 +24,7 @@ RUN apk update && \
-u 1000 \
-G git \
git && \
- echo "git:$(date +%s | sha256sum | base64 | head -c 32)" | chpasswd
+ echo "git:$(dd if=/dev/urandom bs=24 count=1 status=none | base64)" | chpasswd
ENV USER git
ENV GITEA_CUSTOM /data/gitea
diff --git a/MAINTAINERS b/MAINTAINERS
index 495a418..7c1215c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -12,3 +12,7 @@ Rémy Boulanouar (@DblK)
Sandro Santilli (@strk)
Thibault Meyer (@0xbaadf00d)
Thomas Boerger (@tboerger)
+Patrick G (@geek1011)
+Antoine Girard (@sapk)
+Lauris Bukšis-Haberkorns (@lafriks)
+Jonas Östanbäck (@cez81)
diff --git a/Makefile b/Makefile
index a76208f..855f42c 100644
--- a/Makefile
+++ b/Makefile
@@ -1,23 +1,43 @@
DIST := dist
IMPORT := code.gitea.io/gitea
+GO ?= go
+SED_INPLACE := sed -i
+
+ifeq ($(OS), Windows_NT)
+ EXECUTABLE := gitea.exe
+else
+ EXECUTABLE := gitea
+ UNAME_S := $(shell uname -s)
+ ifeq ($(UNAME_S),Darwin)
+ SED_INPLACE := sed -i ''
+ endif
+endif
+
+BINDATA := modules/{options,public,templates}/bindata.go
+STYLESHEETS := $(wildcard public/less/index.less public/less/_*.less)
+DOCKER_TAG := gitea/gitea:latest
+GOFILES := $(shell find . -name "*.go" -type f ! -path "./vendor/*" ! -path "*/bindata.go")
+GOFMT ?= gofmt -s
+
+GOFLAGS := -i -v
+EXTRA_GOFLAGS ?=
+
+LDFLAGS := -X "main.Version=$(shell git describe --tags --always | sed 's/-/+/' | sed 's/^v//')" -X "main.Tags=$(TAGS)"
+
+PACKAGES ?= $(filter-out code.gitea.io/gitea/integrations,$(shell $(GO) list ./... | grep -v /vendor/))
+SOURCES ?= $(shell find . -name "*.go" -type f)
+
+TAGS ?=
+
+TMPDIR := $(shell mktemp -d 2>/dev/null || mktemp -d -t 'gitea-temp')
+
ifeq ($(OS), Windows_NT)
EXECUTABLE := gitea.exe
else
EXECUTABLE := gitea
endif
-BINDATA := modules/{options,public,templates}/bindata.go
-STYLESHEETS := $(wildcard public/less/index.less public/less/_*.less)
-JAVASCRIPTS :=
-
-LDFLAGS := -X "main.Version=$(shell git describe --tags --always | sed 's/-/+/' | sed 's/^v//')" -X "main.Tags=$(TAGS)"
-
-PACKAGES ?= $(filter-out code.gitea.io/gitea/integrations,$(shell go list ./... | grep -v /vendor/))
-SOURCES ?= $(shell find . -name "*.go" -type f)
-
-TAGS ?=
-
ifneq ($(DRONE_TAG),)
VERSION ?= $(subst v,,$(DRONE_TAG))
else
@@ -33,72 +53,161 @@ all: build
.PHONY: clean
clean:
- go clean -i ./...
- rm -rf $(EXECUTABLE) $(DIST) $(BINDATA)
+ $(GO) clean -i ./...
+ rm -rf $(EXECUTABLE) $(DIST) $(BINDATA) integrations*.test
.PHONY: fmt
fmt:
- find . -name "*.go" -type f -not -path "./vendor/*" | xargs gofmt -s -w
+ $(GOFMT) -w $(GOFILES)
.PHONY: vet
vet:
- go vet $(PACKAGES)
+ $(GO) vet $(PACKAGES)
.PHONY: generate
generate:
@hash go-bindata > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
- go get -u github.com/jteeuwen/go-bindata/...; \
+ $(GO) get -u github.com/jteeuwen/go-bindata/...; \
fi
- go generate $(PACKAGES)
+ $(GO) generate $(PACKAGES)
+
+.PHONY: generate-swagger
+generate-swagger:
+ @hash swagger > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
+ $(GO) get -u github.com/go-swagger/go-swagger/cmd/swagger; \
+ fi
+ swagger generate spec -o ./public/swagger.v1.json
+ $(SED_INPLACE) "s;\".ref\": \"#/definitions/GPGKey\";\"type\": \"object\";g" ./public/swagger.v1.json
+ $(SED_INPLACE) "s;^ \".ref\": \"#/definitions/Repository\"; \"type\": \"object\";g" ./public/swagger.v1.json
.PHONY: errcheck
errcheck:
@hash errcheck > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
- go get -u github.com/kisielk/errcheck; \
+ $(GO) get -u github.com/kisielk/errcheck; \
fi
errcheck $(PACKAGES)
.PHONY: lint
lint:
@hash golint > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
- go get -u github.com/golang/lint/golint; \
+ $(GO) get -u github.com/golang/lint/golint; \
fi
for PKG in $(PACKAGES); do golint -set_exit_status $$PKG || exit 1; done;
-.PHONY: integrations
-integrations: TAGS=bindata sqlite
-integrations: build
- go test code.gitea.io/gitea/integrations
+.PHONY: misspell-check
+misspell-check:
+ @hash misspell > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
+ $(GO) get -u github.com/client9/misspell/cmd/misspell; \
+ fi
+ misspell -error -i unknwon $(GOFILES)
+
+.PHONY: misspell
+misspell:
+ @hash misspell > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
+ $(GO) get -u github.com/client9/misspell/cmd/misspell; \
+ fi
+ misspell -w -i unknwon $(GOFILES)
+
+.PHONY: fmt-check
+fmt-check:
+ # get all go files and run go fmt on them
+ @diff=$$($(GOFMT) -d $(GOFILES)); \
+ if [ -n "$$diff" ]; then \
+ echo "Please run 'make fmt' and commit the result:"; \
+ echo "$${diff}"; \
+ exit 1; \
+ fi;
.PHONY: test
-test:
- for PKG in $(PACKAGES); do go test -cover -coverprofile $$GOPATH/src/$$PKG/coverage.out $$PKG || exit 1; done;
+test: fmt-check
+ $(GO) test $(PACKAGES)
+
+.PHONY: test-coverage
+test-coverage: unit-test-coverage integration-test-coverage
+ @hash gocovmerge > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
+ $(GO) get -u github.com/wadey/gocovmerge; \
+ fi
+ for PKG in $(PACKAGES); do\
+ touch $$GOPATH/src/$$PKG/coverage.out;\
+ egrep "$$PKG[^/]*\.go" integration.coverage.out > int.coverage.out;\
+ gocovmerge $$GOPATH/src/$$PKG/coverage.out int.coverage.out > pkg.coverage.out;\
+ mv pkg.coverage.out $$GOPATH/src/$$PKG/coverage.out;\
+ rm int.coverage.out;\
+ done;
+
+.PHONY: unit-test-coverage
+unit-test-coverage:
+ for PKG in $(PACKAGES); do $(GO) test -cover -coverprofile $$GOPATH/src/$$PKG/coverage.out $$PKG || exit 1; done;
+
+.PHONY: test-vendor
+test-vendor:
+ @hash govendor > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
+ $(GO) get -u github.com/kardianos/govendor; \
+ fi
+ govendor list +unused | tee "$(TMPDIR)/wc-gitea-unused"
+ [ $$(cat "$(TMPDIR)/wc-gitea-unused" | wc -l) -eq 0 ] || echo "Warning: /!\\ Some vendor are not used /!\\"
+
+ govendor list +outside | tee "$(TMPDIR)/wc-gitea-outside"
+ [ $$(cat "$(TMPDIR)/wc-gitea-outside" | wc -l) -eq 0 ] || exit 1
+
+ govendor status || exit 1
+
+.PHONY: test-sqlite
+test-sqlite: integrations.sqlite.test
+ GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/sqlite.ini ./integrations.sqlite.test
.PHONY: test-mysql
-test-mysql:
- @echo "Not integrated yet!"
+test-mysql: integrations.test
+ GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/mysql.ini ./integrations.test
.PHONY: test-pgsql
-test-pgsql:
- @echo "Not integrated yet!"
+test-pgsql: integrations.test
+ GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/pgsql.ini ./integrations.test
+
+
+.PHONY: bench-sqlite
+bench-sqlite: integrations.sqlite.test
+ GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/sqlite.ini ./integrations.sqlite.test -test.bench .
+
+.PHONY: bench-mysql
+bench-mysql: integrations.test
+ GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/mysql.ini ./integrations.test -test.bench .
+
+.PHONY: bench-pgsql
+bench-pgsql: integrations.test
+ GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/pgsql.ini ./integrations.test -test.bench .
+
+
+.PHONY: integration-test-coverage
+integration-test-coverage: integrations.cover.test
+ GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/mysql.ini ./integrations.cover.test -test.coverprofile=integration.coverage.out
+
+integrations.test: $(SOURCES)
+ $(GO) test -c code.gitea.io/gitea/integrations
+
+integrations.sqlite.test: $(SOURCES)
+ $(GO) test -c code.gitea.io/gitea/integrations -o integrations.sqlite.test -tags 'sqlite'
+
+integrations.cover.test: $(SOURCES)
+ $(GO) test -c code.gitea.io/gitea/integrations -coverpkg $(shell echo $(PACKAGES) | tr ' ' ',') -o integrations.cover.test
.PHONY: check
check: test
.PHONY: install
install: $(wildcard *.go)
- go install -v -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)'
+ $(GO) install -v -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)'
.PHONY: build
build: $(EXECUTABLE)
$(EXECUTABLE): $(SOURCES)
- go build -i -v -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' -o $@
+ $(GO) build $(GOFLAGS) $(EXTRA_GOFLAGS) -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' -o $@
.PHONY: docker
docker:
docker run -ti --rm -v $(CURDIR):/srv/app/src/code.gitea.io/gitea -w /srv/app/src/code.gitea.io/gitea -e TAGS="bindata $(TAGS)" webhippie/golang:edge make clean generate build
- docker build -t gitea/gitea:latest .
+ docker build -t $(DOCKER_TAG) .
.PHONY: release
release: release-dirs release-windows release-linux release-darwin release-copy release-check
@@ -110,7 +219,7 @@ release-dirs:
.PHONY: release-windows
release-windows:
@hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
- go get -u github.com/karalabe/xgo; \
+ $(GO) get -u github.com/karalabe/xgo; \
fi
xgo -dest $(DIST)/binaries -tags 'netgo $(TAGS)' -ldflags '-linkmode external -extldflags "-static" $(LDFLAGS)' -targets 'windows/*' -out gitea-$(VERSION) .
ifeq ($(CI),drone)
@@ -120,7 +229,7 @@ endif
.PHONY: release-linux
release-linux:
@hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
- go get -u github.com/karalabe/xgo; \
+ $(GO) get -u github.com/karalabe/xgo; \
fi
xgo -dest $(DIST)/binaries -tags 'netgo $(TAGS)' -ldflags '-linkmode external -extldflags "-static" $(LDFLAGS)' -targets 'linux/*' -out gitea-$(VERSION) .
ifeq ($(CI),drone)
@@ -130,7 +239,7 @@ endif
.PHONY: release-darwin
release-darwin:
@hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
- go get -u github.com/karalabe/xgo; \
+ $(GO) get -u github.com/karalabe/xgo; \
fi
xgo -dest $(DIST)/binaries -tags 'netgo $(TAGS)' -ldflags '$(LDFLAGS)' -targets 'darwin/*' -out gitea-$(VERSION) .
ifeq ($(CI),drone)
@@ -152,12 +261,64 @@ javascripts: public/js/index.js
public/js/index.js: $(JAVASCRIPTS)
cat $< >| $@
+.PHONY: stylesheets-check
+stylesheets-check: stylesheets
+ @diff=$$(git diff public/css/index.css); \
+ if [ -n "$$diff" ]; then \
+ echo "Please run 'make stylesheets' and commit the result:"; \
+ echo "$${diff}"; \
+ exit 1; \
+ fi;
+
.PHONY: stylesheets
stylesheets: public/css/index.css
.IGNORE: public/css/index.css
public/css/index.css: $(STYLESHEETS)
- lessc $< $@
+ @which lessc > /dev/null; if [ $$? -ne 0 ]; then \
+ $(GO) get -u github.com/kib357/less-go/lessc; \
+ fi
+ lessc -i $< -o $@
-.PHONY: assets
-assets: javascripts stylesheets
+.PHONY: swagger-ui
+swagger-ui:
+ rm -Rf public/vendor/assets/swagger-ui
+ git clone --depth=10 -b v3.0.7 --single-branch https://github.com/swagger-api/swagger-ui.git $(TMPDIR)/swagger-ui
+ mv $(TMPDIR)/swagger-ui/dist public/vendor/assets/swagger-ui
+ rm -Rf $(TMPDIR)/swagger-ui
+ $(SED_INPLACE) "s;http://petstore.swagger.io/v2/swagger.json;../../swagger.v1.json;g" public/assets/swagger-ui/index.html
+
+.PHONY: update-translations
+update-translations:
+ mkdir -p ./translations
+ cd ./translations && curl -L https://crowdin.com/download/project/gitea.zip > gitea.zip && unzip gitea.zip
+ rm ./translations/gitea.zip
+ $(SED_INPLACE) -e 's/="/=/g' -e 's/"$$//g' ./translations/*.ini
+ $(SED_INPLACE) -e 's/\\"/"/g' ./translations/*.ini
+ mv ./translations/*.ini ./options/locale/
+ rmdir ./translations
+
+.PHONY: generate-images
+generate-images:
+ mkdir -p $(TMPDIR)/images
+ inkscape -f $(PWD)/assets/logo.svg -w 880 -h 880 -e $(PWD)/public/img/gitea-lg.png
+ inkscape -f $(PWD)/assets/logo.svg -w 120 -h 120 -jC -i layer1 -e $(TMPDIR)/images/sm-1.png
+ inkscape -f $(PWD)/assets/logo.svg -w 120 -h 120 -jC -i layer2 -e $(TMPDIR)/images/sm-2.png
+ composite -compose atop $(TMPDIR)/images/sm-2.png $(TMPDIR)/images/sm-1.png $(PWD)/public/img/gitea-sm.png
+ inkscape -f $(PWD)/assets/logo.svg -w 200 -h 200 -e $(PWD)/public/img/avatar_default.png
+ inkscape -f $(PWD)/assets/logo.svg -w 180 -h 180 -e $(PWD)/public/img/favicon.png
+ inkscape -f $(PWD)/assets/logo.svg -w 128 -h 128 -e $(TMPDIR)/images/128-raw.png
+ inkscape -f $(PWD)/assets/logo.svg -w 64 -h 64 -e $(TMPDIR)/images/64-raw.png
+ inkscape -f $(PWD)/assets/logo.svg -w 32 -h 32 -jC -i layer1 -e $(TMPDIR)/images/32-1.png
+ inkscape -f $(PWD)/assets/logo.svg -w 32 -h 32 -jC -i layer2 -e $(TMPDIR)/images/32-2.png
+ composite -compose atop $(TMPDIR)/images/32-2.png $(TMPDIR)/images/32-1.png $(TMPDIR)/images/32-raw.png
+ inkscape -f $(PWD)/assets/logo.svg -w 16 -h 16 -jC -i layer1 -e $(TMPDIR)/images/16-raw.png
+ zopflipng $(TMPDIR)/images/128-raw.png $(TMPDIR)/images/128.png
+ zopflipng $(TMPDIR)/images/64-raw.png $(TMPDIR)/images/64.png
+ zopflipng $(TMPDIR)/images/32-raw.png $(TMPDIR)/images/32.png
+ zopflipng $(TMPDIR)/images/16-raw.png $(TMPDIR)/images/16.png
+ rm -f $(TMPDIR)/images/*-*.png
+ convert $(TMPDIR)/images/16.png $(TMPDIR)/images/32.png \
+ $(TMPDIR)/images/64.png $(TMPDIR)/images/128.png \
+ $(PWD)/public/img/favicon.ico
+ rm -rf $(TMPDIR)/images
diff --git a/README.md b/README.md
index 1a4dbe0..6316401 100644
--- a/README.md
+++ b/README.md
@@ -3,19 +3,19 @@
# Gitea - Git with a cup of tea
[](https://drone.gitea.io/go-gitea/gitea)
-[](https://gitter.im/go-gitea/gitea?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+[](https://discord.gg/NsatcWJ)
+[](https://matrix.to/#/#gitea:matrix.org)
[](https://microbadger.com/images/gitea/gitea "Get your own image badge on microbadger.com")
[](https://coverage.gitea.io/go-gitea/gitea)
[](https://goreportcard.com/report/code.gitea.io/gitea)
[](https://godoc.org/code.gitea.io/gitea)
[](https://github.com/go-gitea/gitea/releases/latest)
-||||
-|:-------------:|:-------:|:-------:|
+| | | |
+|:---:|:---:|:---:|
||||
||||
||||
-||||
## Purpose
@@ -29,7 +29,7 @@ The goal of this project is to make the easiest, fastest, and most painless way
## Docs
-For more information and instructions about how to install Gitea please look at our [documentation](https://docs.gitea.io/en-us/). If you cannot find some specific information, then head over to our [Gitter](https://gitter.im/go-gitea/gitea) channel to chat with us.
+For more information and instructions about how to install Gitea please look at our [documentation](https://docs.gitea.io/en-us/). If you cannot find some specific information, then head over to our [Discord server](https://discord.gg/NsatcWJ) or [Matrix room](https://matrix.to/#/#gitea:matrix.org) to chat with us or use the [forum](https://discourse.gitea.io/).
## Contributing
diff --git a/README_ZH.md b/README_ZH.md
index 9b9b694..8610adf 100644
--- a/README_ZH.md
+++ b/README_ZH.md
@@ -3,19 +3,18 @@
# Gitea - Git with a cup of tea
[](https://drone.gitea.io/go-gitea/gitea)
-[](https://gitter.im/go-gitea/gitea?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+[](https://discord.gg/NsatcWJ)
[](https://microbadger.com/images/gitea/gitea "Get your own image badge on microbadger.com")
[](https://coverage.gitea.io/go-gitea/gitea)
[](https://goreportcard.com/report/code.gitea.io/gitea)
[](https://godoc.org/code.gitea.io/gitea)
[](https://github.com/go-gitea/gitea/releases/latest)
-||||
-|:-------------:|:-------:|:-------:|
+| | | |
+|:---:|:---:|:---:|
||||
||||
||||
-||||
## 目标
@@ -31,7 +30,7 @@ Gitea的首要目标是创建一个极易安装,运行非常快速,安装和
## 文档
-关于如何安装请访问我们的 [文档站](https://docs.gitea.io/zh-cn/),如果没有找到对应的文档,你也可以通过 [Gitter - 英文](https://gitter.im/go-gitea/gitea) 和 QQ群 328432459 来和我们交流。
+关于如何安装请访问我们的 [文档站](https://docs.gitea.io/zh-cn/),如果没有找到对应的文档,你也可以通过 [Discord - 英文](https://discord.gg/NsatcWJ) 和 QQ群 328432459 来和我们交流。
## 贡献流程
diff --git a/assets/logo.svg b/assets/logo.svg
new file mode 100644
index 0000000..ac1594a
--- /dev/null
+++ b/assets/logo.svg
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cmd/admin.go b/cmd/admin.go
index 4b4ab95..928bc1e 100644
--- a/cmd/admin.go
+++ b/cmd/admin.go
@@ -8,10 +8,10 @@ package cmd
import (
"fmt"
- "github.com/urfave/cli"
-
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/setting"
+
+ "github.com/urfave/cli"
)
var (
@@ -23,6 +23,7 @@ var (
to make automatic initialization process more smoothly`,
Subcommands: []cli.Command{
subcmdCreateUser,
+ subcmdChangePassword,
},
}
@@ -57,8 +58,59 @@ to make automatic initialization process more smoothly`,
},
},
}
+
+ subcmdChangePassword = cli.Command{
+ Name: "change-password",
+ Usage: "Change a user's password",
+ Action: runChangePassword,
+ Flags: []cli.Flag{
+ cli.StringFlag{
+ Name: "username,u",
+ Value: "",
+ Usage: "The user to change password for",
+ },
+ cli.StringFlag{
+ Name: "password,p",
+ Value: "",
+ Usage: "New password to set for user",
+ },
+ },
+ }
)
+func runChangePassword(c *cli.Context) error {
+ if !c.IsSet("password") {
+ return fmt.Errorf("Password is not specified")
+ } else if !c.IsSet("username") {
+ return fmt.Errorf("Username is not specified")
+ }
+
+ setting.NewContext()
+ models.LoadConfigs()
+
+ setting.NewXORMLogService(false)
+ if err := models.SetEngine(); err != nil {
+ return fmt.Errorf("models.SetEngine: %v", err)
+ }
+
+ uname := c.String("username")
+ user, err := models.GetUserByName(uname)
+ if err != nil {
+ return fmt.Errorf("%v", err)
+ }
+ user.Passwd = c.String("password")
+ if user.Salt, err = models.GetUserSalt(); err != nil {
+ return fmt.Errorf("%v", err)
+ }
+ user.EncodePasswd()
+ if err := models.UpdateUserCols(user, "passwd", "salt"); err != nil {
+ return fmt.Errorf("%v", err)
+ }
+
+ fmt.Printf("User '%s' password has been successfully updated!\n", uname)
+ return nil
+}
+
func runCreateUser(c *cli.Context) error {
if !c.IsSet("name") {
return fmt.Errorf("Username is not specified")
diff --git a/cmd/dump.go b/cmd/dump.go
index ad095ed..2f42bb8 100644
--- a/cmd/dump.go
+++ b/cmd/dump.go
@@ -16,6 +16,7 @@ import (
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/setting"
+
"github.com/Unknwon/cae/zip"
"github.com/Unknwon/com"
"github.com/urfave/cli"
@@ -73,6 +74,11 @@ func runDump(ctx *cli.Context) error {
}
log.Printf("Creating tmp work dir: %s", TmpWorkDir)
+ // work-around #1103
+ if os.Getenv("TMPDIR") == "" {
+ os.Setenv("TMPDIR", TmpWorkDir)
+ }
+
reposDump := path.Join(TmpWorkDir, "gitea-repo.zip")
dbDump := path.Join(TmpWorkDir, "gitea-db.sql")
diff --git a/cmd/hook.go b/cmd/hook.go
index d120f21..9a6fc67 100644
--- a/cmd/hook.go
+++ b/cmd/hook.go
@@ -7,20 +7,18 @@ package cmd
import (
"bufio"
"bytes"
- "crypto/tls"
"fmt"
"os"
+ "path/filepath"
"strconv"
"strings"
"code.gitea.io/git"
"code.gitea.io/gitea/models"
- "code.gitea.io/gitea/modules/base"
- "code.gitea.io/gitea/modules/httplib"
"code.gitea.io/gitea/modules/log"
+ "code.gitea.io/gitea/modules/private"
"code.gitea.io/gitea/modules/setting"
- "github.com/Unknwon/com"
"github.com/urfave/cli"
)
@@ -64,6 +62,12 @@ var (
}
)
+func hookSetup(logPath string) {
+ setting.NewContext()
+ log.NewGitLogger(filepath.Join(setting.LogRootPath, logPath))
+ models.LoadConfigs()
+}
+
func runHookPreReceive(c *cli.Context) error {
if len(os.Getenv("SSH_ORIGINAL_COMMAND")) == 0 {
return nil
@@ -75,9 +79,7 @@ func runHookPreReceive(c *cli.Context) error {
setting.CustomConf = c.GlobalString("config")
}
- if err := setup("hooks/pre-receive.log"); err != nil {
- fail("Hook pre-receive init failed", fmt.Sprintf("setup: %v", err))
- }
+ hookSetup("hooks/pre-receive.log")
// the environment setted on serv command
repoID, _ := strconv.ParseInt(os.Getenv(models.ProtectedBranchRepoID), 10, 64)
@@ -119,16 +121,16 @@ func runHookPreReceive(c *cli.Context) error {
}*/
branchName := strings.TrimPrefix(refFullName, git.BranchPrefix)
- protectBranch, err := models.GetProtectedBranchBy(repoID, branchName)
+ protectBranch, err := private.GetProtectedBranchBy(repoID, branchName)
if err != nil {
log.GitLogger.Fatal(2, "retrieve protected branches information failed")
}
- if protectBranch != nil {
+ if protectBranch != nil && protectBranch.IsProtected() {
// check and deletion
if newCommitID == git.EmptySHA {
fail(fmt.Sprintf("branch %s is protected from deletion", branchName), "")
- } else {
+ } else if !protectBranch.CanPush {
fail(fmt.Sprintf("protected branch %s can not be pushed to", branchName), "")
//fail(fmt.Sprintf("branch %s is protected from force push", branchName), "")
}
@@ -149,9 +151,7 @@ func runHookUpdate(c *cli.Context) error {
setting.CustomConf = c.GlobalString("config")
}
- if err := setup("hooks/update.log"); err != nil {
- fail("Hook update init failed", fmt.Sprintf("setup: %v", err))
- }
+ hookSetup("hooks/update.log")
return nil
}
@@ -167,13 +167,10 @@ func runHookPostReceive(c *cli.Context) error {
setting.CustomConf = c.GlobalString("config")
}
- if err := setup("hooks/post-receive.log"); err != nil {
- fail("Hook post-receive init failed", fmt.Sprintf("setup: %v", err))
- }
+ hookSetup("hooks/post-receive.log")
// the environment setted on serv command
repoUser := os.Getenv(models.EnvRepoUsername)
- repoUserSalt := os.Getenv(models.EnvRepoUserSalt)
isWiki := (os.Getenv(models.EnvRepoIsWiki) == "true")
repoName := os.Getenv(models.EnvRepoName)
pusherID, _ := strconv.ParseInt(os.Getenv(models.EnvPusherID), 10, 64)
@@ -199,7 +196,7 @@ func runHookPostReceive(c *cli.Context) error {
newCommitID := string(fields[1])
refFullName := string(fields[2])
- if err := models.PushUpdate(models.PushUpdateOptions{
+ if err := private.PushUpdate(models.PushUpdateOptions{
RefFullName: refFullName,
OldCommitID: oldCommitID,
NewCommitID: newCommitID,
@@ -210,23 +207,6 @@ func runHookPostReceive(c *cli.Context) error {
}); err != nil {
log.GitLogger.Error(2, "Update: %v", err)
}
-
- // Ask for running deliver hook and test pull request tasks.
- reqURL := setting.LocalURL + repoUser + "/" + repoName + "/tasks/trigger?branch=" +
- strings.TrimPrefix(refFullName, git.BranchPrefix) + "&secret=" + base.EncodeMD5(repoUserSalt) + "&pusher=" + com.ToStr(pusherID)
- log.GitLogger.Trace("Trigger task: %s", reqURL)
-
- resp, err := httplib.Head(reqURL).SetTLSClientConfig(&tls.Config{
- InsecureSkipVerify: true,
- }).Response()
- if err == nil {
- resp.Body.Close()
- if resp.StatusCode/100 != 2 {
- log.GitLogger.Error(2, "Failed to trigger task: not 2xx response code")
- }
- } else {
- log.GitLogger.Error(2, "Failed to trigger task: %v", err)
- }
}
return nil
diff --git a/cmd/serv.go b/cmd/serv.go
index 5b1caf4..4e3b9de 100644
--- a/cmd/serv.go
+++ b/cmd/serv.go
@@ -16,7 +16,9 @@ import (
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/log"
+ "code.gitea.io/gitea/modules/private"
"code.gitea.io/gitea/modules/setting"
+
"github.com/Unknwon/com"
"github.com/dgrijalva/jwt-go"
"github.com/urfave/cli"
@@ -105,7 +107,8 @@ func runServ(c *cli.Context) error {
}
if len(c.Args()) < 1 {
- fail("Not enough arguments", "Not enough arguments")
+ cli.ShowSubcommandHelp(c)
+ return nil
}
cmd := os.Getenv("SSH_ORIGINAL_COMMAND")
@@ -123,8 +126,8 @@ func runServ(c *cli.Context) error {
fail("Unknown git command", "LFS authentication request over SSH denied, LFS support is disabled")
}
- if strings.Contains(args, " ") {
- argsSplit := strings.SplitN(args, " ", 2)
+ argsSplit := strings.Split(args, " ")
+ if len(argsSplit) >= 2 {
args = strings.TrimSpace(argsSplit[0])
lfsVerb = strings.TrimSpace(argsSplit[1])
}
@@ -140,8 +143,10 @@ func runServ(c *cli.Context) error {
reponame := strings.ToLower(strings.TrimSuffix(rr[1], ".git"))
isWiki := false
+ unitType := models.UnitTypeCode
if strings.HasSuffix(reponame, ".wiki") {
isWiki = true
+ unitType = models.UnitTypeWiki
reponame = reponame[:len(reponame)-5]
}
@@ -161,8 +166,6 @@ func runServ(c *cli.Context) error {
fail("Internal error", "Failed to get repository owner (%s): %v", username, err)
}
- os.Setenv(models.EnvRepoUserSalt, repoUser.Salt)
-
repo, err := models.GetRepositoryByName(repoUser.ID, reponame)
if err != nil {
if models.IsErrRepoNotExist(err) {
@@ -179,8 +182,10 @@ func runServ(c *cli.Context) error {
if verb == lfsAuthenticateVerb {
if lfsVerb == "upload" {
requestedMode = models.AccessModeWrite
- } else {
+ } else if lfsVerb == "download" {
requestedMode = models.AccessModeRead
+ } else {
+ fail("Unknown LFS verb", "Unknown lfs verb %s", lfsVerb)
}
}
@@ -232,7 +237,7 @@ func runServ(c *cli.Context) error {
fail("internal error", "Failed to get user by key ID(%d): %v", keyID, err)
}
- mode, err := models.AccessLevel(user, repo)
+ mode, err := models.AccessLevel(user.ID, repo)
if err != nil {
fail("Internal error", "Failed to check access: %v", err)
} else if mode < requestedMode {
@@ -245,6 +250,12 @@ func runServ(c *cli.Context) error {
user.Name, requestedMode, repoPath)
}
+ if !repo.CheckUnitUser(user.ID, user.IsAdmin, unitType) {
+ fail("You do not have allowed for this action",
+ "User %s does not have allowed access to repository %s 's code",
+ user.Name, repoPath)
+ }
+
os.Setenv(models.EnvPusherName, user.Name)
os.Setenv(models.EnvPusherID, fmt.Sprintf("%d", user.ID))
}
@@ -296,6 +307,12 @@ func runServ(c *cli.Context) error {
gitcmd = exec.Command(verb, repoPath)
}
+ if isWiki {
+ if err = repo.InitWiki(); err != nil {
+ fail("Internal error", "Failed to init wiki repo: %v", err)
+ }
+ }
+
os.Setenv(models.ProtectedBranchRepoID, fmt.Sprintf("%d", repo.ID))
gitcmd.Dir = setting.RepoRootPath
@@ -308,13 +325,7 @@ func runServ(c *cli.Context) error {
// Update user key activity.
if keyID > 0 {
- key, err := models.GetPublicKeyByID(keyID)
- if err != nil {
- fail("Internal error", "GetPublicKeyById: %v", err)
- }
-
- key.Updated = time.Now()
- if err = models.UpdatePublicKey(key); err != nil {
+ if err = private.UpdatePublicKeyUpdated(keyID); err != nil {
fail("Internal error", "UpdatePublicKey: %v", err)
}
}
diff --git a/cmd/web.go b/cmd/web.go
index c2d14a7..21f12ee 100644
--- a/cmd/web.go
+++ b/cmd/web.go
@@ -11,37 +11,15 @@ import (
"net/http/fcgi"
_ "net/http/pprof" // Used for debugging if enabled and a web server is running
"os"
- "path"
"strings"
- "code.gitea.io/gitea/models"
- "code.gitea.io/gitea/modules/auth"
- "code.gitea.io/gitea/modules/context"
- "code.gitea.io/gitea/modules/lfs"
"code.gitea.io/gitea/modules/log"
- "code.gitea.io/gitea/modules/options"
- "code.gitea.io/gitea/modules/public"
"code.gitea.io/gitea/modules/setting"
- "code.gitea.io/gitea/modules/templates"
"code.gitea.io/gitea/routers"
- "code.gitea.io/gitea/routers/admin"
- apiv1 "code.gitea.io/gitea/routers/api/v1"
- "code.gitea.io/gitea/routers/dev"
- "code.gitea.io/gitea/routers/org"
- "code.gitea.io/gitea/routers/repo"
- "code.gitea.io/gitea/routers/user"
+ "code.gitea.io/gitea/routers/routes"
- "github.com/go-macaron/binding"
- "github.com/go-macaron/cache"
- "github.com/go-macaron/captcha"
- "github.com/go-macaron/csrf"
- "github.com/go-macaron/gzip"
- "github.com/go-macaron/i18n"
- "github.com/go-macaron/session"
- "github.com/go-macaron/toolbox"
context2 "github.com/gorilla/context"
"github.com/urfave/cli"
- macaron "gopkg.in/macaron.v1"
)
// CmdWeb represents the available web sub-command.
@@ -70,94 +48,6 @@ and it takes care of all the other things for you`,
},
}
-// newMacaron initializes Macaron instance.
-func newMacaron() *macaron.Macaron {
- m := macaron.New()
- if !setting.DisableRouterLog {
- m.Use(macaron.Logger())
- }
- m.Use(macaron.Recovery())
- if setting.EnableGzip {
- m.Use(gzip.Gziper())
- }
- if setting.Protocol == setting.FCGI {
- m.SetURLPrefix(setting.AppSubURL)
- }
- m.Use(public.Custom(
- &public.Options{
- SkipLogging: setting.DisableRouterLog,
- },
- ))
- m.Use(public.Static(
- &public.Options{
- Directory: path.Join(setting.StaticRootPath, "public"),
- SkipLogging: setting.DisableRouterLog,
- },
- ))
- m.Use(macaron.Static(
- setting.AvatarUploadPath,
- macaron.StaticOptions{
- Prefix: "avatars",
- SkipLogging: setting.DisableRouterLog,
- ETag: true,
- },
- ))
-
- m.Use(templates.Renderer())
- models.InitMailRender(templates.Mailer())
-
- localeNames, err := options.Dir("locale")
-
- if err != nil {
- log.Fatal(4, "Failed to list locale files: %v", err)
- }
-
- localFiles := make(map[string][]byte)
-
- for _, name := range localeNames {
- localFiles[name], err = options.Locale(name)
-
- if err != nil {
- log.Fatal(4, "Failed to load %s locale file. %v", name, err)
- }
- }
-
- m.Use(i18n.I18n(i18n.Options{
- SubURL: setting.AppSubURL,
- Files: localFiles,
- Langs: setting.Langs,
- Names: setting.Names,
- DefaultLang: "en-US",
- Redirect: true,
- }))
- m.Use(cache.Cacher(cache.Options{
- Adapter: setting.CacheAdapter,
- AdapterConfig: setting.CacheConn,
- Interval: setting.CacheInterval,
- }))
- m.Use(captcha.Captchaer(captcha.Options{
- SubURL: setting.AppSubURL,
- }))
- m.Use(session.Sessioner(setting.SessionConfig))
- m.Use(csrf.Csrfer(csrf.Options{
- Secret: setting.SecretKey,
- Cookie: setting.CSRFCookieName,
- SetCookie: true,
- Header: "X-Csrf-Token",
- CookiePath: setting.AppSubURL,
- }))
- m.Use(toolbox.Toolboxer(m, toolbox.Options{
- HealthCheckFuncs: []*toolbox.HealthCheckFuncDesc{
- {
- Desc: "Database connection",
- Func: models.Ping,
- },
- },
- }))
- m.Use(context.Contexter())
- return m
-}
-
func runWeb(ctx *cli.Context) error {
if ctx.IsSet("config") {
setting.CustomConf = ctx.String("config")
@@ -169,482 +59,8 @@ func runWeb(ctx *cli.Context) error {
routers.GlobalInit()
- m := newMacaron()
-
- reqSignIn := context.Toggle(&context.ToggleOptions{SignInRequired: true})
- ignSignIn := context.Toggle(&context.ToggleOptions{SignInRequired: setting.Service.RequireSignInView})
- ignSignInAndCsrf := context.Toggle(&context.ToggleOptions{DisableCSRF: true})
- reqSignOut := context.Toggle(&context.ToggleOptions{SignOutRequired: true})
-
- bindIgnErr := binding.BindIgnErr
-
- m.Use(user.GetNotificationCount)
-
- // FIXME: not all routes need go through same middlewares.
- // Especially some AJAX requests, we can reduce middleware number to improve performance.
- // Routers.
- m.Get("/", ignSignIn, routers.Home)
- m.Group("/explore", func() {
- m.Get("", func(ctx *context.Context) {
- ctx.Redirect(setting.AppSubURL + "/explore/repos")
- })
- m.Get("/repos", routers.ExploreRepos)
- m.Get("/users", routers.ExploreUsers)
- m.Get("/organizations", routers.ExploreOrganizations)
- }, ignSignIn)
- m.Combo("/install", routers.InstallInit).Get(routers.Install).
- Post(bindIgnErr(auth.InstallForm{}), routers.InstallPost)
- m.Get("/^:type(issues|pulls)$", reqSignIn, user.Issues)
-
- // ***** START: User *****
- m.Group("/user", func() {
- m.Get("/login", user.SignIn)
- m.Post("/login", bindIgnErr(auth.SignInForm{}), user.SignInPost)
- m.Get("/sign_up", user.SignUp)
- m.Post("/sign_up", bindIgnErr(auth.RegisterForm{}), user.SignUpPost)
- m.Get("/reset_password", user.ResetPasswd)
- m.Post("/reset_password", user.ResetPasswdPost)
- m.Group("/oauth2", func() {
- m.Get("/:provider", user.SignInOAuth)
- m.Get("/:provider/callback", user.SignInOAuthCallback)
- })
- m.Get("/link_account", user.LinkAccount)
- m.Post("/link_account_signin", bindIgnErr(auth.SignInForm{}), user.LinkAccountPostSignIn)
- m.Post("/link_account_signup", bindIgnErr(auth.RegisterForm{}), user.LinkAccountPostRegister)
- m.Group("/two_factor", func() {
- m.Get("", user.TwoFactor)
- m.Post("", bindIgnErr(auth.TwoFactorAuthForm{}), user.TwoFactorPost)
- m.Get("/scratch", user.TwoFactorScratch)
- m.Post("/scratch", bindIgnErr(auth.TwoFactorScratchAuthForm{}), user.TwoFactorScratchPost)
- })
- }, reqSignOut)
-
- m.Group("/user/settings", func() {
- m.Get("", user.Settings)
- m.Post("", bindIgnErr(auth.UpdateProfileForm{}), user.SettingsPost)
- m.Combo("/avatar").Get(user.SettingsAvatar).
- Post(binding.MultipartForm(auth.AvatarForm{}), user.SettingsAvatarPost)
- m.Post("/avatar/delete", user.SettingsDeleteAvatar)
- m.Combo("/email").Get(user.SettingsEmails).
- Post(bindIgnErr(auth.AddEmailForm{}), user.SettingsEmailPost)
- m.Post("/email/delete", user.DeleteEmail)
- m.Get("/password", user.SettingsPassword)
- m.Post("/password", bindIgnErr(auth.ChangePasswordForm{}), user.SettingsPasswordPost)
- m.Combo("/ssh").Get(user.SettingsSSHKeys).
- Post(bindIgnErr(auth.AddSSHKeyForm{}), user.SettingsSSHKeysPost)
- m.Post("/ssh/delete", user.DeleteSSHKey)
- m.Combo("/applications").Get(user.SettingsApplications).
- Post(bindIgnErr(auth.NewAccessTokenForm{}), user.SettingsApplicationsPost)
- m.Post("/applications/delete", user.SettingsDeleteApplication)
- m.Route("/delete", "GET,POST", user.SettingsDelete)
- m.Combo("/account_link").Get(user.SettingsAccountLinks).Post(user.SettingsDeleteAccountLink)
- m.Group("/two_factor", func() {
- m.Get("", user.SettingsTwoFactor)
- m.Post("/regenerate_scratch", user.SettingsTwoFactorRegenerateScratch)
- m.Post("/disable", user.SettingsTwoFactorDisable)
- m.Get("/enroll", user.SettingsTwoFactorEnroll)
- m.Post("/enroll", bindIgnErr(auth.TwoFactorAuthForm{}), user.SettingsTwoFactorEnrollPost)
- })
- }, reqSignIn, func(ctx *context.Context) {
- ctx.Data["PageIsUserSettings"] = true
- })
-
- m.Group("/user", func() {
- // r.Get("/feeds", binding.Bind(auth.FeedsForm{}), user.Feeds)
- m.Any("/activate", user.Activate)
- m.Any("/activate_email", user.ActivateEmail)
- m.Get("/email2user", user.Email2User)
- m.Get("/forget_password", user.ForgotPasswd)
- m.Post("/forget_password", user.ForgotPasswdPost)
- m.Get("/logout", user.SignOut)
- })
- // ***** END: User *****
-
- adminReq := context.Toggle(&context.ToggleOptions{SignInRequired: true, AdminRequired: true})
-
- // ***** START: Admin *****
- m.Group("/admin", func() {
- m.Get("", adminReq, admin.Dashboard)
- m.Get("/config", admin.Config)
- m.Post("/config/test_mail", admin.SendTestMail)
- m.Get("/monitor", admin.Monitor)
-
- m.Group("/users", func() {
- m.Get("", admin.Users)
- m.Combo("/new").Get(admin.NewUser).Post(bindIgnErr(auth.AdminCreateUserForm{}), admin.NewUserPost)
- m.Combo("/:userid").Get(admin.EditUser).Post(bindIgnErr(auth.AdminEditUserForm{}), admin.EditUserPost)
- m.Post("/:userid/delete", admin.DeleteUser)
- })
-
- m.Group("/orgs", func() {
- m.Get("", admin.Organizations)
- })
-
- m.Group("/repos", func() {
- m.Get("", admin.Repos)
- m.Post("/delete", admin.DeleteRepo)
- })
-
- m.Group("/auths", func() {
- m.Get("", admin.Authentications)
- m.Combo("/new").Get(admin.NewAuthSource).Post(bindIgnErr(auth.AuthenticationForm{}), admin.NewAuthSourcePost)
- m.Combo("/:authid").Get(admin.EditAuthSource).
- Post(bindIgnErr(auth.AuthenticationForm{}), admin.EditAuthSourcePost)
- m.Post("/:authid/delete", admin.DeleteAuthSource)
- })
-
- m.Group("/notices", func() {
- m.Get("", admin.Notices)
- m.Post("/delete", admin.DeleteNotices)
- m.Get("/empty", admin.EmptyNotices)
- })
- }, adminReq)
- // ***** END: Admin *****
-
- m.Group("", func() {
- m.Group("/:username", func() {
- m.Get("", user.Profile)
- m.Get("/followers", user.Followers)
- m.Get("/following", user.Following)
- })
-
- m.Get("/attachments/:uuid", func(ctx *context.Context) {
- attach, err := models.GetAttachmentByUUID(ctx.Params(":uuid"))
- if err != nil {
- if models.IsErrAttachmentNotExist(err) {
- ctx.Error(404)
- } else {
- ctx.Handle(500, "GetAttachmentByUUID", err)
- }
- return
- }
-
- fr, err := os.Open(attach.LocalPath())
- if err != nil {
- ctx.Handle(500, "Open", err)
- return
- }
- defer fr.Close()
-
- if err = repo.ServeData(ctx, attach.Name, fr); err != nil {
- ctx.Handle(500, "ServeData", err)
- return
- }
- })
- m.Post("/attachments", repo.UploadAttachment)
- }, ignSignIn)
-
- m.Group("/:username", func() {
- m.Get("/action/:action", user.Action)
- }, reqSignIn)
-
- if macaron.Env == macaron.DEV {
- m.Get("/template/*", dev.TemplatePreview)
- }
-
- reqRepoAdmin := context.RequireRepoAdmin()
- reqRepoWriter := context.RequireRepoWriter()
-
- // ***** START: Organization *****
- m.Group("/org", func() {
- m.Group("", func() {
- m.Get("/create", org.Create)
- m.Post("/create", bindIgnErr(auth.CreateOrgForm{}), org.CreatePost)
- }, func(ctx *context.Context) {
- if !ctx.User.CanCreateOrganization() {
- ctx.NotFound()
- }
- })
-
- m.Group("/:org", func() {
- m.Get("/dashboard", user.Dashboard)
- m.Get("/^:type(issues|pulls)$", user.Issues)
- m.Get("/members", org.Members)
- m.Get("/members/action/:action", org.MembersAction)
-
- m.Get("/teams", org.Teams)
- }, context.OrgAssignment(true))
-
- m.Group("/:org", func() {
- m.Get("/teams/:team", org.TeamMembers)
- m.Get("/teams/:team/repositories", org.TeamRepositories)
- m.Route("/teams/:team/action/:action", "GET,POST", org.TeamsAction)
- m.Route("/teams/:team/action/repo/:action", "GET,POST", org.TeamsRepoAction)
- }, context.OrgAssignment(true, false, true))
-
- m.Group("/:org", func() {
- m.Get("/teams/new", org.NewTeam)
- m.Post("/teams/new", bindIgnErr(auth.CreateTeamForm{}), org.NewTeamPost)
- m.Get("/teams/:team/edit", org.EditTeam)
- m.Post("/teams/:team/edit", bindIgnErr(auth.CreateTeamForm{}), org.EditTeamPost)
- m.Post("/teams/:team/delete", org.DeleteTeam)
-
- m.Group("/settings", func() {
- m.Combo("").Get(org.Settings).
- Post(bindIgnErr(auth.UpdateOrgSettingForm{}), org.SettingsPost)
- m.Post("/avatar", binding.MultipartForm(auth.AvatarForm{}), org.SettingsAvatar)
- m.Post("/avatar/delete", org.SettingsDeleteAvatar)
-
- m.Group("/hooks", func() {
- m.Get("", org.Webhooks)
- m.Post("/delete", org.DeleteWebhook)
- m.Get("/:type/new", repo.WebhooksNew)
- m.Post("/gogs/new", bindIgnErr(auth.NewWebhookForm{}), repo.WebHooksNewPost)
- m.Post("/slack/new", bindIgnErr(auth.NewSlackHookForm{}), repo.SlackHooksNewPost)
- m.Get("/:id", repo.WebHooksEdit)
- m.Post("/gogs/:id", bindIgnErr(auth.NewWebhookForm{}), repo.WebHooksEditPost)
- m.Post("/slack/:id", bindIgnErr(auth.NewSlackHookForm{}), repo.SlackHooksEditPost)
- })
-
- m.Route("/delete", "GET,POST", org.SettingsDelete)
- })
-
- m.Route("/invitations/new", "GET,POST", org.Invitation)
- }, context.OrgAssignment(true, true))
- }, reqSignIn)
- // ***** END: Organization *****
-
- // ***** START: Repository *****
- m.Group("/repo", func() {
- m.Get("/create", repo.Create)
- m.Post("/create", bindIgnErr(auth.CreateRepoForm{}), repo.CreatePost)
- m.Get("/migrate", repo.Migrate)
- m.Post("/migrate", bindIgnErr(auth.MigrateRepoForm{}), repo.MigratePost)
- m.Combo("/fork/:repoid").Get(repo.Fork).
- Post(bindIgnErr(auth.CreateRepoForm{}), repo.ForkPost)
- }, reqSignIn)
-
- m.Group("/:username/:reponame", func() {
- m.Group("/settings", func() {
- m.Combo("").Get(repo.Settings).
- Post(bindIgnErr(auth.RepoSettingForm{}), repo.SettingsPost)
- m.Group("/collaboration", func() {
- m.Combo("").Get(repo.Collaboration).Post(repo.CollaborationPost)
- m.Post("/access_mode", repo.ChangeCollaborationAccessMode)
- m.Post("/delete", repo.DeleteCollaboration)
- })
- m.Group("/branches", func() {
- m.Combo("").Get(repo.ProtectedBranch).Post(repo.ProtectedBranchPost)
- m.Post("/can_push", repo.ChangeProtectedBranch)
- m.Post("/delete", repo.DeleteProtectedBranch)
- })
-
- m.Group("/hooks", func() {
- m.Get("", repo.Webhooks)
- m.Post("/delete", repo.DeleteWebhook)
- m.Get("/:type/new", repo.WebhooksNew)
- m.Post("/gogs/new", bindIgnErr(auth.NewWebhookForm{}), repo.WebHooksNewPost)
- m.Post("/slack/new", bindIgnErr(auth.NewSlackHookForm{}), repo.SlackHooksNewPost)
- m.Get("/:id", repo.WebHooksEdit)
- m.Post("/:id/test", repo.TestWebhook)
- m.Post("/gogs/:id", bindIgnErr(auth.NewWebhookForm{}), repo.WebHooksEditPost)
- m.Post("/slack/:id", bindIgnErr(auth.NewSlackHookForm{}), repo.SlackHooksEditPost)
-
- m.Group("/git", func() {
- m.Get("", repo.GitHooks)
- m.Combo("/:name").Get(repo.GitHooksEdit).
- Post(repo.GitHooksEditPost)
- }, context.GitHookService())
- })
-
- m.Group("/keys", func() {
- m.Combo("").Get(repo.DeployKeys).
- Post(bindIgnErr(auth.AddSSHKeyForm{}), repo.DeployKeysPost)
- m.Post("/delete", repo.DeleteDeployKey)
- })
-
- }, func(ctx *context.Context) {
- ctx.Data["PageIsSettings"] = true
- }, context.UnitTypes())
- }, reqSignIn, context.RepoAssignment(), reqRepoAdmin, context.RepoRef())
-
- m.Get("/:username/:reponame/action/:action", reqSignIn, context.RepoAssignment(), repo.Action)
- m.Group("/:username/:reponame", func() {
- // FIXME: should use different URLs but mostly same logic for comments of issue and pull reuqest.
- // So they can apply their own enable/disable logic on routers.
- m.Group("/issues", func() {
- m.Combo("/new", repo.MustEnableIssues).Get(context.RepoRef(), repo.NewIssue).
- Post(bindIgnErr(auth.CreateIssueForm{}), repo.NewIssuePost)
-
- m.Group("/:index", func() {
- m.Post("/label", repo.UpdateIssueLabel)
- m.Post("/milestone", repo.UpdateIssueMilestone)
- m.Post("/assignee", repo.UpdateIssueAssignee)
- }, reqRepoWriter)
-
- m.Group("/:index", func() {
- m.Post("/title", repo.UpdateIssueTitle)
- m.Post("/content", repo.UpdateIssueContent)
- m.Combo("/comments").Post(bindIgnErr(auth.CreateCommentForm{}), repo.NewComment)
- })
- })
- m.Group("/comments/:id", func() {
- m.Post("", repo.UpdateCommentContent)
- m.Post("/delete", repo.DeleteComment)
- })
- m.Group("/labels", func() {
- m.Post("/new", bindIgnErr(auth.CreateLabelForm{}), repo.NewLabel)
- m.Post("/edit", bindIgnErr(auth.CreateLabelForm{}), repo.UpdateLabel)
- m.Post("/delete", repo.DeleteLabel)
- m.Post("/initialize", bindIgnErr(auth.InitializeLabelsForm{}), repo.InitializeLabels)
- }, reqRepoWriter, context.RepoRef())
- m.Group("/milestones", func() {
- m.Combo("/new").Get(repo.NewMilestone).
- Post(bindIgnErr(auth.CreateMilestoneForm{}), repo.NewMilestonePost)
- m.Get("/:id/edit", repo.EditMilestone)
- m.Post("/:id/edit", bindIgnErr(auth.CreateMilestoneForm{}), repo.EditMilestonePost)
- m.Get("/:id/:action", repo.ChangeMilestonStatus)
- m.Post("/delete", repo.DeleteMilestone)
- }, reqRepoWriter, context.RepoRef())
- m.Group("/releases", func() {
- m.Get("/new", repo.NewRelease)
- m.Post("/new", bindIgnErr(auth.NewReleaseForm{}), repo.NewReleasePost)
- m.Post("/delete", repo.DeleteRelease)
- }, reqRepoWriter, context.RepoRef())
- m.Group("/releases", func() {
- m.Get("/edit/*", repo.EditRelease)
- m.Post("/edit/*", bindIgnErr(auth.EditReleaseForm{}), repo.EditReleasePost)
- }, reqRepoWriter, func(ctx *context.Context) {
- var err error
- ctx.Repo.Commit, err = ctx.Repo.GitRepo.GetBranchCommit(ctx.Repo.Repository.DefaultBranch)
- if err != nil {
- ctx.Handle(500, "GetBranchCommit", err)
- return
- }
- ctx.Repo.CommitsCount, err = ctx.Repo.Commit.CommitsCount()
- if err != nil {
- ctx.Handle(500, "CommitsCount", err)
- return
- }
- ctx.Data["CommitsCount"] = ctx.Repo.CommitsCount
- })
-
- m.Combo("/compare/*", repo.MustAllowPulls, repo.SetEditorconfigIfExists).
- Get(repo.CompareAndPullRequest).
- Post(bindIgnErr(auth.CreateIssueForm{}), repo.CompareAndPullRequestPost)
-
- m.Group("", func() {
- m.Combo("/_edit/*").Get(repo.EditFile).
- Post(bindIgnErr(auth.EditRepoFileForm{}), repo.EditFilePost)
- m.Combo("/_new/*").Get(repo.NewFile).
- Post(bindIgnErr(auth.EditRepoFileForm{}), repo.NewFilePost)
- m.Post("/_preview/*", bindIgnErr(auth.EditPreviewDiffForm{}), repo.DiffPreviewPost)
- m.Combo("/_delete/*").Get(repo.DeleteFile).
- Post(bindIgnErr(auth.DeleteRepoFileForm{}), repo.DeleteFilePost)
-
- m.Group("", func() {
- m.Combo("/_upload/*").Get(repo.UploadFile).
- Post(bindIgnErr(auth.UploadRepoFileForm{}), repo.UploadFilePost)
- m.Post("/upload-file", repo.UploadFileToServer)
- m.Post("/upload-remove", bindIgnErr(auth.RemoveUploadFileForm{}), repo.RemoveUploadFileFromServer)
- }, func(ctx *context.Context) {
- if !setting.Repository.Upload.Enabled {
- ctx.Handle(404, "", nil)
- return
- }
- })
- }, reqRepoWriter, context.RepoRef(), func(ctx *context.Context) {
- if !ctx.Repo.Repository.CanEnableEditor() || ctx.Repo.IsViewCommit {
- ctx.Handle(404, "", nil)
- return
- }
- })
- }, reqSignIn, context.RepoAssignment(), repo.MustBeNotBare, context.UnitTypes())
-
- m.Group("/:username/:reponame", func() {
- m.Group("", func() {
- m.Get("/releases", repo.Releases)
- m.Get("/^:type(issues|pulls)$", repo.RetrieveLabels, repo.Issues)
- m.Get("/^:type(issues|pulls)$/:index", repo.ViewIssue)
- m.Get("/labels/", repo.RetrieveLabels, repo.Labels)
- m.Get("/milestones", repo.Milestones)
- }, context.RepoRef())
-
- // m.Get("/branches", repo.Branches)
- m.Post("/branches/:name/delete", reqSignIn, reqRepoWriter, repo.DeleteBranchPost)
-
- m.Group("/wiki", func() {
- m.Get("/?:page", repo.Wiki)
- m.Get("/_pages", repo.WikiPages)
-
- m.Group("", func() {
- m.Combo("/_new").Get(repo.NewWiki).
- Post(bindIgnErr(auth.NewWikiForm{}), repo.NewWikiPost)
- m.Combo("/:page/_edit").Get(repo.EditWiki).
- Post(bindIgnErr(auth.NewWikiForm{}), repo.EditWikiPost)
- m.Post("/:page/delete", repo.DeleteWikiPagePost)
- }, reqSignIn, reqRepoWriter)
- }, repo.MustEnableWiki, context.RepoRef())
-
- m.Group("/wiki", func() {
- m.Get("/raw/*", repo.WikiRaw)
- m.Get("/*", repo.WikiRaw)
- }, repo.MustEnableWiki)
-
- m.Get("/archive/*", repo.Download)
-
- m.Group("/pulls/:index", func() {
- m.Get("/commits", context.RepoRef(), repo.ViewPullCommits)
- m.Get("/files", context.RepoRef(), repo.SetEditorconfigIfExists, repo.SetDiffViewStyle, repo.ViewPullFiles)
- m.Post("/merge", reqRepoWriter, repo.MergePullRequest)
- }, repo.MustAllowPulls)
-
- m.Group("", func() {
- m.Get("/src/*", repo.SetEditorconfigIfExists, repo.Home)
- m.Get("/raw/*", repo.SingleDownload)
- m.Get("/commits/*", repo.RefCommits)
- m.Get("/graph", repo.Graph)
- m.Get("/commit/:sha([a-f0-9]{7,40})$", repo.SetEditorconfigIfExists, repo.SetDiffViewStyle, repo.Diff)
- m.Get("/forks", repo.Forks)
- }, context.RepoRef())
- m.Get("/commit/:sha([a-f0-9]{7,40})\\.:ext(patch|diff)", repo.RawDiff)
-
- m.Get("/compare/:before([a-z0-9]{40})\\.\\.\\.:after([a-z0-9]{40})", repo.SetEditorconfigIfExists, repo.SetDiffViewStyle, repo.CompareDiff)
- }, ignSignIn, context.RepoAssignment(), repo.MustBeNotBare, context.UnitTypes())
- m.Group("/:username/:reponame", func() {
- m.Get("/stars", repo.Stars)
- m.Get("/watchers", repo.Watchers)
- }, ignSignIn, context.RepoAssignment(), context.RepoRef(), context.UnitTypes())
-
- m.Group("/:username", func() {
- m.Group("/:reponame", func() {
- m.Get("", repo.SetEditorconfigIfExists, repo.Home)
- m.Get("\\.git$", repo.SetEditorconfigIfExists, repo.Home)
- }, ignSignIn, context.RepoAssignment(true), context.RepoRef(), context.UnitTypes())
-
- m.Group("/:reponame", func() {
- m.Group("/info/lfs", func() {
- m.Post("/objects/batch", lfs.BatchHandler)
- m.Get("/objects/:oid/:filename", lfs.ObjectOidHandler)
- m.Any("/objects/:oid", lfs.ObjectOidHandler)
- m.Post("/objects", lfs.PostHandler)
- }, ignSignInAndCsrf)
- m.Any("/*", ignSignInAndCsrf, repo.HTTP)
- m.Head("/tasks/trigger", repo.TriggerTask)
- })
- })
- // ***** END: Repository *****
-
- m.Group("/notifications", func() {
- m.Get("", user.Notifications)
- m.Post("/status", user.NotificationStatusPost)
- }, reqSignIn)
-
- m.Group("/api", func() {
- apiv1.RegisterRoutes(m)
- }, ignSignIn)
-
- // robots.txt
- m.Get("/robots.txt", func(ctx *context.Context) {
- if setting.HasRobotsTxt {
- ctx.ServeFileContent(path.Join(setting.CustomPath, "robots.txt"))
- } else {
- ctx.Error(404)
- }
- })
-
- // Not found handler.
- m.NotFound(routers.NotFound)
+ m := routes.NewMacaron()
+ routes.RegisterRoutes(m)
// Flag for port number in case first time run conflict.
if ctx.IsSet("port") {
@@ -677,7 +93,12 @@ func runWeb(ctx *cli.Context) error {
case setting.HTTPS:
err = runHTTPS(listenAddr, setting.CertFile, setting.KeyFile, context2.ClearHandler(m))
case setting.FCGI:
- err = fcgi.Serve(nil, context2.ClearHandler(m))
+ listener, err := net.Listen("tcp", listenAddr)
+ if err != nil {
+ log.Fatal(4, "Failed to bind %s", listenAddr, err)
+ }
+ defer listener.Close()
+ err = fcgi.Serve(listener, context2.ClearHandler(m))
case setting.UnixSocket:
if err := os.Remove(listenAddr); err != nil && !os.IsNotExist(err) {
log.Fatal(4, "Failed to remove unix socket directory %s: %v", listenAddr, err)
diff --git a/cmd/web_graceful.go b/cmd/web_graceful.go
index b0b3093..e54561f 100644
--- a/cmd/web_graceful.go
+++ b/cmd/web_graceful.go
@@ -11,6 +11,7 @@ import (
"net/http"
"code.gitea.io/gitea/modules/log"
+
"github.com/facebookgo/grace/gracehttp"
)
diff --git a/conf/app.ini b/conf/app.ini
index 1390d45..e704067 100644
--- a/conf/app.ini
+++ b/conf/app.ini
@@ -32,6 +32,10 @@ LINE_WRAP_EXTENSIONS = .txt,.md,.markdown,.mdown,.mkd,
; Separate values by commas. Preview tab in edit mode won't show if the file extension doesn't match
PREVIEWABLE_FILE_MODES = markdown
+[repository.local]
+; Path for uploads. Defaults to `tmp/local-repo`
+LOCAL_COPY_PATH = tmp/local-repo
+
[repository.upload]
; Whether repository file uploads are enabled. Defaults to `true`
ENABLED = true
@@ -74,6 +78,11 @@ ORG_PAGING_NUM = 50
; Number of repos that are showed in one page
REPO_PAGING_NUM = 15
+[ui.meta]
+AUTHOR = Gitea - Git with a cup of tea
+DESCRIPTION = Gitea (Git with a cup of tea) is a painless self-hosted Git service written in Go
+KEYWORDS = go,git,self-hosted,gitea
+
[markdown]
; Enable hard line break extension
ENABLE_HARD_LINE_BREAK = false
@@ -85,9 +94,11 @@ CUSTOM_URL_SCHEMES =
FILE_EXTENSIONS = .md,.markdown,.mdown,.mkd
[server]
+; Listen protocol. One of 'http', 'https', 'unix' or 'fcgi'.
PROTOCOL = http
DOMAIN = localhost
ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
+; Listen address. Either a IPv4/IPv6 address or the path to a unix socket.
HTTP_ADDR = 0.0.0.0
HTTP_PORT = 3000
; Permission for unix socket
@@ -110,11 +121,15 @@ SSH_PORT = 22
SSH_LISTEN_PORT = %(SSH_PORT)s
; Root path of SSH directory, default is '~/.ssh', but you have to use '/home/git/.ssh'.
SSH_ROOT_PATH =
-; Directory to create temporary files when test publick key using ssh-keygen,
+; Directory to create temporary files when test public key using ssh-keygen,
; default is system temporary directory.
SSH_KEY_TEST_PATH =
; Path to ssh-keygen, default is 'ssh-keygen' and let shell find out which one to call.
SSH_KEYGEN_PATH = ssh-keygen
+; Enable SSH Authorized Key Backup when rewriting all keys, default is true
+SSH_BACKUP_AUTHORIZED_KEYS = true
+; Enable exposure of SSH clone URL to anonymous visitors, default is false
+SSH_EXPOSE_ANONYMOUS = false
; Indicate whether to check minimum key size with corresponding type
MINIMUM_KEY_SIZE_CHECK = false
; Disable CDN even in "prod" mode
@@ -138,6 +153,12 @@ APP_DATA_PATH = data
ENABLE_GZIP = false
; Landing page for non-logged users, can be "home" or "explore"
LANDING_PAGE = home
+; Enables git-lfs support. true or false, default is false.
+LFS_START_SERVER = false
+; Where your lfs files put on, default is data/lfs.
+LFS_CONTENT_PATH = data/lfs
+; LFS authentication secret, changed this to yourself.
+LFS_JWT_SECRET =
; Define allowed algorithms and their minimum key length (use -1 to disable a type)
[ssh.minimum_key_sizes]
@@ -147,7 +168,7 @@ RSA = 2048
DSA = 1024
[database]
-; Either "mysql", "postgres" or "sqlite3", it's your choice
+; Either "mysql", "postgres", "mssql" or "sqlite3", it's your choice
DB_TYPE = mysql
HOST = 127.0.0.1:3306
NAME = gitea
@@ -157,6 +178,8 @@ PASSWD =
SSL_MODE = disable
; For "sqlite3" and "tidb", use absolute path when you start as service
PATH = data/gitea.db
+; For "sqlite3" only. Query timeout
+SQLITE_TIMEOUT = 500
[indexer]
ISSUE_INDEXER_PATH = indexers/issues.bleve
@@ -182,8 +205,44 @@ MIN_PASSWORD_LENGTH = 6
; True when users are allowed to import local server paths
IMPORT_LOCAL_PATHS = false
+[openid]
+;
+; OpenID is an open standard and decentralized authentication protocol.
+; Your identity is the address of a webpage you provide, which describes
+; how to prove you are in control of that page.
+;
+; For more info: https://en.wikipedia.org/wiki/OpenID
+;
+; Current implementation supports OpenID-2.0
+;
+; Tested to work providers at the time of writing:
+; - Any GNUSocial node (your.hostname.tld/username)
+; - Any SimpleID provider (http://simpleid.koinic.net)
+; - http://openid.org.cn/
+; - openid.stackexchange.com
+; - login.launchpad.net
+; - .livejournal.com
+;
+; Whether to allow signin in via OpenID
+ENABLE_OPENID_SIGNIN = true
+; Whether to allow registering via OpenID
+; Do not include to rely on DISABLE_REGISTRATION setting
+;ENABLE_OPENID_SIGNUP = true
+; Allowed URI patterns (POSIX regexp).
+; Space separated.
+; Only these would be allowed if non-blank.
+; Example value: trusted.domain.org trusted.domain.net
+WHITELISTED_URIS =
+; Forbidden URI patterns (POSIX regexp).
+; Space sepaated.
+; Only used if WHITELISTED_URIS is blank.
+; Example value: loadaverage.org/badguy stackexchange.com/.*spammer
+BLACKLISTED_URIS =
+
[service]
+; Time limit to confirm account/email registration
ACTIVE_CODE_LIVE_MINUTES = 180
+; Time limit to confirm forgot password reset process
RESET_PASSWD_CODE_LIVE_MINUTES = 180
; User need to confirm e-mail for registration
REGISTER_EMAIL_CONFIRM = false
@@ -201,6 +260,9 @@ ENABLE_CAPTCHA = true
; Default value for KeepEmailPrivate
; New user will get the value of this setting copied into their profile
DEFAULT_KEEP_EMAIL_PRIVATE = false
+; Default value for AllowCreateOrganization
+; New user will have rights set to create organizations depending on this setting
+DEFAULT_ALLOW_CREATE_ORGANIZATION = true
; Default value for the domain part of the user's email address in the git log
; if he has set KeepEmailPrivate true. The user's email replaced with a
; concatenation of the user name in lower case, "@" and NO_REPLY_ADDRESS.
@@ -242,8 +304,8 @@ FROM =
; Mailer user name and password
USER =
PASSWD =
-; Use text/html as alternative format of content
-ENABLE_HTML_ALTERNATIVE = false
+; Send mails as plain text
+SEND_AS_PLAIN_TEXT = false
; Enable sendmail (override SMTP)
USE_SENDMAIL = false
; Specifiy an alternative sendmail binary
@@ -274,9 +336,9 @@ COOKIE_NAME = i_like_gitea
COOKIE_SECURE = false
; Enable set cookie, default is true
ENABLE_SET_COOKIE = true
-; Session GC time interval, default is 86400
+; Session GC time interval in seconds, default is 86400 (1 day)
GC_INTERVAL_TIME = 86400
-; Session life time, default is 86400
+; Session life time in seconds, default is 86400 (1 day)
SESSION_LIFE_TIME = 86400
[picture]
@@ -400,13 +462,23 @@ SCHEDULE = @every 24h
; Archives created more than OLDER_THAN ago are subject to deletion
OLDER_THAN = 24h
+; Synchronize external user data (only LDAP user synchronization is supported)
+[cron.sync_external_users]
+; Syncronize external user data when starting server (default false)
+RUN_AT_START = false
+; Interval as a duration between each synchronization (default every 24h)
+SCHEDULE = @every 24h
+; Create new users, update existing user data and disable users that are not in external source anymore (default)
+; or only create new users if UPDATE_EXISTING is set to false
+UPDATE_EXISTING = true
+
[git]
; Disables highlight of added and removed changes
DISABLE_DIFF_HIGHLIGHT = false
; Max number of lines allowed of a single file in diff view
MAX_GIT_DIFF_LINES = 1000
; Max number of characters of a line allowed in diff view
-MAX_GIT_DIFF_LINE_CHARACTERS = 500
+MAX_GIT_DIFF_LINE_CHARACTERS = 5000
; Max number of files shown in diff view
MAX_GIT_DIFF_FILES = 100
; Arguments for command 'git gc', e.g. "--aggressive --auto"
@@ -422,8 +494,10 @@ PULL = 300
GC = 60
[mirror]
-; Default interval in hours between each check
-DEFAULT_INTERVAL = 8
+; Default interval as a duration between each check
+DEFAULT_INTERVAL = 8h
+; Min interval as a duration must be > 1m
+MIN_INTERVAL = 10m
[api]
; Max number of items will response in a page
diff --git a/scripts/README b/contrib/README
similarity index 100%
rename from scripts/README
rename to contrib/README
diff --git a/scripts/autoboot.sh b/contrib/autoboot.sh
similarity index 100%
rename from scripts/autoboot.sh
rename to contrib/autoboot.sh
diff --git a/scripts/init/centos/gitea b/contrib/init/centos/gitea
similarity index 100%
rename from scripts/init/centos/gitea
rename to contrib/init/centos/gitea
diff --git a/scripts/init/debian/gitea b/contrib/init/debian/gitea
similarity index 98%
rename from scripts/init/debian/gitea
rename to contrib/init/debian/gitea
index 0cde38a..1a371ba 100644
--- a/scripts/init/debian/gitea
+++ b/contrib/init/debian/gitea
@@ -15,7 +15,7 @@
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
-DESC="Go Git Service"
+DESC="Git with a cup of tea"
NAME=gitea
SERVICEVERBOSE=yes
PIDFILE=/var/run/$NAME.pid
diff --git a/scripts/init/freebsd/gitea b/contrib/init/freebsd/gitea
similarity index 100%
rename from scripts/init/freebsd/gitea
rename to contrib/init/freebsd/gitea
diff --git a/scripts/init/gentoo/gitea b/contrib/init/gentoo/gitea
similarity index 100%
rename from scripts/init/gentoo/gitea
rename to contrib/init/gentoo/gitea
diff --git a/scripts/init/openbsd/gitea b/contrib/init/openbsd/gitea
similarity index 100%
rename from scripts/init/openbsd/gitea
rename to contrib/init/openbsd/gitea
diff --git a/scripts/init/suse/gitea b/contrib/init/suse/gitea
similarity index 100%
rename from scripts/init/suse/gitea
rename to contrib/init/suse/gitea
diff --git a/scripts/launchd/io.gitea.web.plist b/contrib/launchd/io.gitea.web.plist
similarity index 100%
rename from scripts/launchd/io.gitea.web.plist
rename to contrib/launchd/io.gitea.web.plist
diff --git a/scripts/migrate/gogs_migrate.sh b/contrib/migrate/gogs_migrate.sh
similarity index 100%
rename from scripts/migrate/gogs_migrate.sh
rename to contrib/migrate/gogs_migrate.sh
diff --git a/scripts/mysql.sql b/contrib/mysql.sql
similarity index 100%
rename from scripts/mysql.sql
rename to contrib/mysql.sql
diff --git a/scripts/supervisor/gitea b/contrib/supervisor/gitea
similarity index 100%
rename from scripts/supervisor/gitea
rename to contrib/supervisor/gitea
diff --git a/scripts/systemd/gitea.service b/contrib/systemd/gitea.service
similarity index 100%
rename from scripts/systemd/gitea.service
rename to contrib/systemd/gitea.service
diff --git a/scripts/windows/install-as-service.bat b/contrib/windows/install-as-service.bat
similarity index 100%
rename from scripts/windows/install-as-service.bat
rename to contrib/windows/install-as-service.bat
diff --git a/docker/etc/templates/app.ini b/docker/etc/templates/app.ini
index 0c4b9d6..0987941 100644
--- a/docker/etc/templates/app.ini
+++ b/docker/etc/templates/app.ini
@@ -8,7 +8,7 @@ TEMP_PATH = /data/gitea/uploads
APP_DATA_PATH = /data/gitea
[database]
-HOST = mysql:3306
+DB_TYPE = sqlite3
PATH = /data/gitea/gitea.db
[session]
diff --git a/integrations/api_branch_test.go b/integrations/api_branch_test.go
new file mode 100644
index 0000000..8701229
--- /dev/null
+++ b/integrations/api_branch_test.go
@@ -0,0 +1,44 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "testing"
+
+ api "code.gitea.io/sdk/gitea"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func testAPIGetBranch(t *testing.T, branchName string, exists bool) {
+ prepareTestEnv(t)
+
+ session := loginUser(t, "user2")
+ req := NewRequestf(t, "GET", "/api/v1/repos/user2/repo1/branches/%s", branchName)
+ resp := session.MakeRequest(t, req, NoExpectedStatus)
+ if !exists {
+ assert.EqualValues(t, http.StatusNotFound, resp.HeaderCode)
+ return
+ }
+ assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
+ var branch api.Branch
+ DecodeJSON(t, resp, &branch)
+ assert.EqualValues(t, branchName, branch.Name)
+}
+
+func TestAPIGetBranch(t *testing.T) {
+ for _, test := range []struct {
+ BranchName string
+ Exists bool
+ }{
+ {"master", true},
+ {"master/doesnotexist", false},
+ {"feature/1", true},
+ {"feature/1/doesnotexist", false},
+ } {
+ testAPIGetBranch(t, test.BranchName, test.Exists)
+ }
+}
diff --git a/integrations/api_comment_test.go b/integrations/api_comment_test.go
new file mode 100644
index 0000000..645afba
--- /dev/null
+++ b/integrations/api_comment_test.go
@@ -0,0 +1,125 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "fmt"
+ "net/http"
+ "testing"
+
+ "code.gitea.io/gitea/models"
+ api "code.gitea.io/sdk/gitea"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestAPIListRepoComments(t *testing.T) {
+ prepareTestEnv(t)
+
+ comment := models.AssertExistsAndLoadBean(t, &models.Comment{},
+ models.Cond("type = ?", models.CommentTypeComment)).(*models.Comment)
+ issue := models.AssertExistsAndLoadBean(t, &models.Issue{ID: comment.IssueID}).(*models.Issue)
+ repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: issue.RepoID}).(*models.Repository)
+ repoOwner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User)
+
+ session := loginUser(t, repoOwner.Name)
+ req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/comments",
+ repoOwner.Name, repo.Name)
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ var apiComments []*api.Comment
+ DecodeJSON(t, resp, &apiComments)
+ for _, apiComment := range apiComments {
+ c := &models.Comment{ID: apiComment.ID}
+ models.AssertExistsAndLoadBean(t, c,
+ models.Cond("type = ?", models.CommentTypeComment))
+ models.AssertExistsAndLoadBean(t, &models.Issue{ID: c.IssueID, RepoID: repo.ID})
+ }
+}
+
+func TestAPIListIssueComments(t *testing.T) {
+ prepareTestEnv(t)
+
+ comment := models.AssertExistsAndLoadBean(t, &models.Comment{},
+ models.Cond("type = ?", models.CommentTypeComment)).(*models.Comment)
+ issue := models.AssertExistsAndLoadBean(t, &models.Issue{ID: comment.IssueID}).(*models.Issue)
+ repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: issue.RepoID}).(*models.Repository)
+ repoOwner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User)
+
+ session := loginUser(t, repoOwner.Name)
+ req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/%d/comments",
+ repoOwner.Name, repo.Name, issue.Index)
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ var comments []*api.Comment
+ DecodeJSON(t, resp, &comments)
+ expectedCount := models.GetCount(t, &models.Comment{IssueID: issue.ID},
+ models.Cond("type = ?", models.CommentTypeComment))
+ assert.EqualValues(t, expectedCount, len(comments))
+}
+
+func TestAPICreateComment(t *testing.T) {
+ prepareTestEnv(t)
+ const commentBody = "Comment body"
+
+ issue := models.AssertExistsAndLoadBean(t, &models.Issue{}).(*models.Issue)
+ repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: issue.RepoID}).(*models.Repository)
+ repoOwner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User)
+
+ session := loginUser(t, repoOwner.Name)
+ urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/comments",
+ repoOwner.Name, repo.Name, issue.Index)
+ req := NewRequestWithValues(t, "POST", urlStr, map[string]string{
+ "body": commentBody,
+ })
+ resp := session.MakeRequest(t, req, http.StatusCreated)
+
+ var updatedComment api.Comment
+ DecodeJSON(t, resp, &updatedComment)
+ assert.EqualValues(t, commentBody, updatedComment.Body)
+ models.AssertExistsAndLoadBean(t, &models.Comment{ID: updatedComment.ID, IssueID: issue.ID, Content: commentBody})
+}
+
+func TestAPIEditComment(t *testing.T) {
+ prepareTestEnv(t)
+ const newCommentBody = "This is the new comment body"
+
+ comment := models.AssertExistsAndLoadBean(t, &models.Comment{},
+ models.Cond("type = ?", models.CommentTypeComment)).(*models.Comment)
+ issue := models.AssertExistsAndLoadBean(t, &models.Issue{ID: comment.IssueID}).(*models.Issue)
+ repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: issue.RepoID}).(*models.Repository)
+ repoOwner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User)
+
+ session := loginUser(t, repoOwner.Name)
+ urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/comments/%d",
+ repoOwner.Name, repo.Name, issue.Index, comment.ID)
+ req := NewRequestWithValues(t, "PATCH", urlStr, map[string]string{
+ "body": newCommentBody,
+ })
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ var updatedComment api.Comment
+ DecodeJSON(t, resp, &updatedComment)
+ assert.EqualValues(t, comment.ID, updatedComment.ID)
+ assert.EqualValues(t, newCommentBody, updatedComment.Body)
+ models.AssertExistsAndLoadBean(t, &models.Comment{ID: comment.ID, IssueID: issue.ID, Content: newCommentBody})
+}
+
+func TestAPIDeleteComment(t *testing.T) {
+ prepareTestEnv(t)
+
+ comment := models.AssertExistsAndLoadBean(t, &models.Comment{},
+ models.Cond("type = ?", models.CommentTypeComment)).(*models.Comment)
+ issue := models.AssertExistsAndLoadBean(t, &models.Issue{ID: comment.IssueID}).(*models.Issue)
+ repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: issue.RepoID}).(*models.Repository)
+ repoOwner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User)
+
+ session := loginUser(t, repoOwner.Name)
+ req := NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s/issues/%d/comments/%d",
+ repoOwner.Name, repo.Name, issue.Index, comment.ID)
+ session.MakeRequest(t, req, http.StatusNoContent)
+
+ models.AssertNotExistsBean(t, &models.Comment{ID: comment.ID})
+}
diff --git a/integrations/api_fork_test.go b/integrations/api_fork_test.go
new file mode 100644
index 0000000..2c5eb55
--- /dev/null
+++ b/integrations/api_fork_test.go
@@ -0,0 +1,18 @@
+// Copyright 2017 The Gogs Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "testing"
+
+ api "code.gitea.io/sdk/gitea"
+)
+
+func TestCreateForkNoLogin(t *testing.T) {
+ prepareTestEnv(t)
+ req := NewRequestWithJSON(t, "POST", "/api/v1/repos/user2/repo1/forks", &api.CreateForkOption{})
+ MakeRequest(t, req, http.StatusUnauthorized)
+}
diff --git a/integrations/api_issue_label_test.go b/integrations/api_issue_label_test.go
new file mode 100644
index 0000000..195ec24
--- /dev/null
+++ b/integrations/api_issue_label_test.go
@@ -0,0 +1,62 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "fmt"
+ "net/http"
+ "testing"
+
+ "code.gitea.io/gitea/models"
+ api "code.gitea.io/sdk/gitea"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestAPIAddIssueLabels(t *testing.T) {
+ assert.NoError(t, models.LoadFixtures())
+
+ repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)
+ issue := models.AssertExistsAndLoadBean(t, &models.Issue{RepoID: repo.ID}).(*models.Issue)
+ label := models.AssertExistsAndLoadBean(t, &models.Label{RepoID: repo.ID}).(*models.Label)
+ owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User)
+
+ urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/labels",
+ owner.Name, repo.Name, issue.Index)
+ req := NewRequestWithJSON(t, "POST", urlStr, &api.IssueLabelsOption{
+ Labels: []int64{label.ID},
+ })
+ session := loginUser(t, owner.Name)
+ resp := session.MakeRequest(t, req, http.StatusOK)
+ var apiLabels []*api.Label
+ DecodeJSON(t, resp, &apiLabels)
+ assert.Len(t, apiLabels, models.GetCount(t, &models.IssueLabel{IssueID: issue.ID}))
+
+ models.AssertExistsAndLoadBean(t, &models.IssueLabel{IssueID: issue.ID, LabelID: label.ID})
+}
+
+func TestAPIReplaceIssueLabels(t *testing.T) {
+ assert.NoError(t, models.LoadFixtures())
+
+ repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)
+ issue := models.AssertExistsAndLoadBean(t, &models.Issue{RepoID: repo.ID}).(*models.Issue)
+ label := models.AssertExistsAndLoadBean(t, &models.Label{RepoID: repo.ID}).(*models.Label)
+ owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User)
+
+ urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/labels",
+ owner.Name, repo.Name, issue.Index)
+ req := NewRequestWithJSON(t, "PUT", urlStr, &api.IssueLabelsOption{
+ Labels: []int64{label.ID},
+ })
+ session := loginUser(t, owner.Name)
+ resp := session.MakeRequest(t, req, http.StatusOK)
+ var apiLabels []*api.Label
+ DecodeJSON(t, resp, &apiLabels)
+ assert.Len(t, apiLabels, 1)
+ assert.EqualValues(t, label.ID, apiLabels[0].ID)
+
+ models.AssertCount(t, &models.IssueLabel{IssueID: issue.ID}, 1)
+ models.AssertExistsAndLoadBean(t, &models.IssueLabel{IssueID: issue.ID, LabelID: label.ID})
+}
diff --git a/integrations/api_issue_test.go b/integrations/api_issue_test.go
new file mode 100644
index 0000000..74436ff
--- /dev/null
+++ b/integrations/api_issue_test.go
@@ -0,0 +1,63 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "testing"
+
+ "code.gitea.io/gitea/models"
+ api "code.gitea.io/sdk/gitea"
+
+ "fmt"
+ "github.com/stretchr/testify/assert"
+)
+
+func TestAPIListIssues(t *testing.T) {
+ prepareTestEnv(t)
+
+ repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)
+ owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User)
+
+ session := loginUser(t, owner.Name)
+ req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues?state=all",
+ owner.Name, repo.Name)
+ resp := session.MakeRequest(t, req, http.StatusOK)
+ var apiIssues []*api.Issue
+ DecodeJSON(t, resp, &apiIssues)
+ assert.Len(t, apiIssues, models.GetCount(t, &models.Issue{RepoID: repo.ID}))
+ for _, apiIssue := range apiIssues {
+ models.AssertExistsAndLoadBean(t, &models.Issue{ID: apiIssue.ID, RepoID: repo.ID})
+ }
+}
+
+func TestAPICreateIssue(t *testing.T) {
+ prepareTestEnv(t)
+ const body, title = "apiTestBody", "apiTestTitle"
+
+ repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)
+ owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User)
+
+ session := loginUser(t, owner.Name)
+
+ urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues?state=all", owner.Name, repo.Name)
+ req := NewRequestWithJSON(t, "POST", urlStr, &api.CreateIssueOption{
+ Body: body,
+ Title: title,
+ Assignee: owner.Name,
+ })
+ resp := session.MakeRequest(t, req, http.StatusCreated)
+ var apiIssue api.Issue
+ DecodeJSON(t, resp, &apiIssue)
+ assert.Equal(t, apiIssue.Body, body)
+ assert.Equal(t, apiIssue.Title, title)
+
+ models.AssertExistsAndLoadBean(t, &models.Issue{
+ RepoID: repo.ID,
+ AssigneeID: owner.ID,
+ Content: body,
+ Title: title,
+ })
+}
diff --git a/integrations/api_keys_test.go b/integrations/api_keys_test.go
new file mode 100644
index 0000000..8e2b6d3
--- /dev/null
+++ b/integrations/api_keys_test.go
@@ -0,0 +1,39 @@
+// Copyright 2017 The Gogs Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "testing"
+
+ api "code.gitea.io/sdk/gitea"
+)
+
+func TestViewDeployKeysNoLogin(t *testing.T) {
+ prepareTestEnv(t)
+ req := NewRequest(t, "GET", "/api/v1/repos/user2/repo1/keys")
+ MakeRequest(t, req, http.StatusUnauthorized)
+}
+
+func TestCreateDeployKeyNoLogin(t *testing.T) {
+ prepareTestEnv(t)
+ req := NewRequestWithJSON(t, "POST", "/api/v1/repos/user2/repo1/keys", api.CreateKeyOption{
+ Title: "title",
+ Key: "key",
+ })
+ MakeRequest(t, req, http.StatusUnauthorized)
+}
+
+func TestGetDeployKeyNoLogin(t *testing.T) {
+ prepareTestEnv(t)
+ req := NewRequest(t, "GET", "/api/v1/repos/user2/repo1/keys/1")
+ MakeRequest(t, req, http.StatusUnauthorized)
+}
+
+func TestDeleteDeployKeyNoLogin(t *testing.T) {
+ prepareTestEnv(t)
+ req := NewRequest(t, "DELETE", "/api/v1/repos/user2/repo1/keys/1")
+ MakeRequest(t, req, http.StatusUnauthorized)
+}
diff --git a/integrations/api_pull_test.go b/integrations/api_pull_test.go
new file mode 100644
index 0000000..b9bab92
--- /dev/null
+++ b/integrations/api_pull_test.go
@@ -0,0 +1,30 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "testing"
+
+ "code.gitea.io/gitea/models"
+ api "code.gitea.io/sdk/gitea"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestAPIViewPulls(t *testing.T) {
+ prepareTestEnv(t)
+ repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)
+ owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User)
+
+ session := loginUser(t, "user2")
+ req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/pulls?state=all", owner.Name, repo.Name)
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ var pulls []*api.PullRequest
+ DecodeJSON(t, resp, &pulls)
+ expectedLen := models.GetCount(t, &models.Issue{RepoID: repo.ID}, models.Cond("is_pull = ?", true))
+ assert.Len(t, pulls, expectedLen)
+}
diff --git a/integrations/api_repo_test.go b/integrations/api_repo_test.go
new file mode 100644
index 0000000..d5b1676
--- /dev/null
+++ b/integrations/api_repo_test.go
@@ -0,0 +1,94 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "strings"
+ "testing"
+
+ "code.gitea.io/gitea/models"
+ api "code.gitea.io/sdk/gitea"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestAPIUserReposNotLogin(t *testing.T) {
+ prepareTestEnv(t)
+ user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)
+
+ req := NewRequestf(t, "GET", "/api/v1/users/%s/repos", user.Name)
+ resp := MakeRequest(t, req, http.StatusOK)
+
+ var apiRepos []api.Repository
+ DecodeJSON(t, resp, &apiRepos)
+ expectedLen := models.GetCount(t, models.Repository{OwnerID: user.ID},
+ models.Cond("is_private = ?", false))
+ assert.Len(t, apiRepos, expectedLen)
+ for _, repo := range apiRepos {
+ assert.EqualValues(t, user.ID, repo.Owner.ID)
+ assert.False(t, repo.Private)
+ }
+}
+
+type searchResponseBody struct {
+ ok bool
+ data []api.Repository
+}
+
+func TestAPISearchRepoNotLogin(t *testing.T) {
+ prepareTestEnv(t)
+ const keyword = "test"
+
+ req := NewRequestf(t, "GET", "/api/v1/repos/search?q=%s", keyword)
+ resp := MakeRequest(t, req, http.StatusOK)
+
+ var body searchResponseBody
+ DecodeJSON(t, resp, &body)
+ for _, repo := range body.data {
+ assert.True(t, strings.Contains(repo.Name, keyword))
+ }
+}
+
+func TestAPIViewRepo(t *testing.T) {
+ prepareTestEnv(t)
+
+ req := NewRequest(t, "GET", "/api/v1/repos/user2/repo1")
+ resp := MakeRequest(t, req, http.StatusOK)
+
+ var repo api.Repository
+ DecodeJSON(t, resp, &repo)
+ assert.EqualValues(t, 1, repo.ID)
+ assert.EqualValues(t, "repo1", repo.Name)
+}
+
+func TestAPIOrgRepos(t *testing.T) {
+ prepareTestEnv(t)
+ user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)
+ // User3 is an Org. Check their repos.
+ sourceOrg := models.AssertExistsAndLoadBean(t, &models.User{ID: 3}).(*models.User)
+ // Login as User2.
+ session := loginUser(t, user.Name)
+
+ req := NewRequestf(t, "GET", "/api/v1/orgs/%s/repos", sourceOrg.Name)
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ var apiRepos []*api.Repository
+ DecodeJSON(t, resp, &apiRepos)
+ expectedLen := models.GetCount(t, models.Repository{OwnerID: sourceOrg.ID},
+ models.Cond("is_private = ?", false))
+ assert.Len(t, apiRepos, expectedLen)
+ for _, repo := range apiRepos {
+ assert.False(t, repo.Private)
+ }
+}
+
+func TestAPIGetRepoByIDUnauthorized(t *testing.T) {
+ prepareTestEnv(t)
+ user := models.AssertExistsAndLoadBean(t, &models.User{ID: 4}).(*models.User)
+ sess := loginUser(t, user.Name)
+ req := NewRequestf(t, "GET", "/api/v1/repositories/2")
+ sess.MakeRequest(t, req, http.StatusNotFound)
+}
diff --git a/integrations/api_team_test.go b/integrations/api_team_test.go
new file mode 100644
index 0000000..b8d21be
--- /dev/null
+++ b/integrations/api_team_test.go
@@ -0,0 +1,31 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "testing"
+
+ "code.gitea.io/gitea/models"
+ api "code.gitea.io/sdk/gitea"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestAPITeam(t *testing.T) {
+ prepareTestEnv(t)
+ teamUser := models.AssertExistsAndLoadBean(t, &models.TeamUser{}).(*models.TeamUser)
+ team := models.AssertExistsAndLoadBean(t, &models.Team{ID: teamUser.TeamID}).(*models.Team)
+ user := models.AssertExistsAndLoadBean(t, &models.User{ID: teamUser.UID}).(*models.User)
+
+ session := loginUser(t, user.Name)
+ req := NewRequestf(t, "GET", "/api/v1/teams/%d", teamUser.TeamID)
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ var apiTeam api.Team
+ DecodeJSON(t, resp, &apiTeam)
+ assert.EqualValues(t, team.ID, apiTeam.ID)
+ assert.Equal(t, team.Name, apiTeam.Name)
+}
diff --git a/integrations/bare_repo_test.go b/integrations/bare_repo_test.go
new file mode 100644
index 0000000..e693c18
--- /dev/null
+++ b/integrations/bare_repo_test.go
@@ -0,0 +1,28 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "testing"
+
+ "code.gitea.io/gitea/models"
+)
+
+func TestBareRepo(t *testing.T) {
+ prepareTestEnv(t)
+ subpaths := []string{
+ "commits/master",
+ "raw/foo",
+ "commit/1ae57b34ccf7e18373",
+ "graph",
+ }
+ bareRepo := models.AssertExistsAndLoadBean(t, &models.Repository{}, models.Cond("is_bare = ?", true)).(*models.Repository)
+ owner := models.AssertExistsAndLoadBean(t, &models.User{ID: bareRepo.OwnerID}).(*models.User)
+ for _, subpath := range subpaths {
+ req := NewRequestf(t, "GET", "/%s/%s/%s", owner.Name, bareRepo.Name, subpath)
+ MakeRequest(t, req, http.StatusNotFound)
+ }
+}
diff --git a/integrations/change_default_branch_test.go b/integrations/change_default_branch_test.go
new file mode 100644
index 0000000..dbd189c
--- /dev/null
+++ b/integrations/change_default_branch_test.go
@@ -0,0 +1,38 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "fmt"
+ "net/http"
+ "testing"
+
+ "code.gitea.io/gitea/models"
+)
+
+func TestChangeDefaultBranch(t *testing.T) {
+ prepareTestEnv(t)
+ repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository)
+ owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User)
+
+ session := loginUser(t, owner.Name)
+ branchesURL := fmt.Sprintf("/%s/%s/settings/branches", owner.Name, repo.Name)
+
+ csrf := GetCSRF(t, session, branchesURL)
+ req := NewRequestWithValues(t, "POST", branchesURL, map[string]string{
+ "_csrf": csrf,
+ "action": "default_branch",
+ "branch": "DefaultBranch",
+ })
+ session.MakeRequest(t, req, http.StatusFound)
+
+ csrf = GetCSRF(t, session, branchesURL)
+ req = NewRequestWithValues(t, "POST", branchesURL, map[string]string{
+ "_csrf": csrf,
+ "action": "default_branch",
+ "branch": "does_not_exist",
+ })
+ session.MakeRequest(t, req, http.StatusNotFound)
+}
diff --git a/integrations/delete_user_test.go b/integrations/delete_user_test.go
new file mode 100644
index 0000000..889f8da
--- /dev/null
+++ b/integrations/delete_user_test.go
@@ -0,0 +1,27 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "testing"
+
+ "code.gitea.io/gitea/models"
+)
+
+func TestDeleteUser(t *testing.T) {
+ prepareTestEnv(t)
+
+ session := loginUser(t, "user1")
+
+ csrf := GetCSRF(t, session, "/admin/users/8")
+ req := NewRequestWithValues(t, "POST", "/admin/users/8/delete", map[string]string{
+ "_csrf": csrf,
+ })
+ session.MakeRequest(t, req, http.StatusOK)
+
+ models.AssertNotExistsBean(t, &models.User{ID: 8})
+ models.CheckConsistencyFor(t, &models.User{})
+}
diff --git a/integrations/editor_test.go b/integrations/editor_test.go
new file mode 100644
index 0000000..2b5db2e
--- /dev/null
+++ b/integrations/editor_test.go
@@ -0,0 +1,154 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "path"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestCreateFile(t *testing.T) {
+ prepareTestEnv(t)
+
+ session := loginUser(t, "user2")
+
+ // Request editor page
+ req := NewRequest(t, "GET", "/user2/repo1/_new/master/")
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ doc := NewHTMLParser(t, resp.Body)
+ lastCommit := doc.GetInputValueByName("last_commit")
+ assert.NotEmpty(t, lastCommit)
+
+ // Save new file to master branch
+ req = NewRequestWithValues(t, "POST", "/user2/repo1/_new/master/", map[string]string{
+ "_csrf": doc.GetCSRF(),
+ "last_commit": lastCommit,
+ "tree_path": "test.txt",
+ "content": "Content",
+ "commit_choice": "direct",
+ })
+ resp = session.MakeRequest(t, req, http.StatusFound)
+}
+
+func TestCreateFileOnProtectedBranch(t *testing.T) {
+ prepareTestEnv(t)
+
+ session := loginUser(t, "user2")
+
+ csrf := GetCSRF(t, session, "/user2/repo1/settings/branches")
+ // Change master branch to protected
+ req := NewRequestWithValues(t, "POST", "/user2/repo1/settings/branches?action=protected_branch", map[string]string{
+ "_csrf": csrf,
+ "branchName": "master",
+ "canPush": "false",
+ })
+ resp := session.MakeRequest(t, req, http.StatusOK)
+ // Check if master branch has been locked successfully
+ flashCookie := session.GetCookie("macaron_flash")
+ assert.NotNil(t, flashCookie)
+ assert.EqualValues(t, flashCookie.Value, "success%3Dmaster%2BLocked%2Bsuccessfully")
+
+ // Request editor page
+ req = NewRequest(t, "GET", "/user2/repo1/_new/master/")
+ resp = session.MakeRequest(t, req, http.StatusOK)
+
+ doc := NewHTMLParser(t, resp.Body)
+ lastCommit := doc.GetInputValueByName("last_commit")
+ assert.NotEmpty(t, lastCommit)
+
+ // Save new file to master branch
+ req = NewRequestWithValues(t, "POST", "/user2/repo1/_new/master/", map[string]string{
+ "_csrf": doc.GetCSRF(),
+ "last_commit": lastCommit,
+ "tree_path": "test.txt",
+ "content": "Content",
+ "commit_choice": "direct",
+ })
+
+ resp = session.MakeRequest(t, req, http.StatusOK)
+ // Check body for error message
+ assert.Contains(t, string(resp.Body), "Can not commit to protected branch 'master'.")
+}
+
+func testEditFile(t *testing.T, session *TestSession, user, repo, branch, filePath string) *TestResponse {
+
+ newContent := "Hello, World (Edited)\n"
+
+ // Get to the 'edit this file' page
+ req := NewRequest(t, "GET", path.Join(user, repo, "_edit", branch, filePath))
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ lastCommit := htmlDoc.GetInputValueByName("last_commit")
+ assert.NotEmpty(t, lastCommit)
+
+ // Submit the edits
+ req = NewRequestWithValues(t, "POST", path.Join(user, repo, "_edit", branch, filePath),
+ map[string]string{
+ "_csrf": htmlDoc.GetCSRF(),
+ "last_commit": lastCommit,
+ "tree_path": filePath,
+ "content": newContent,
+ "commit_choice": "direct",
+ },
+ )
+ resp = session.MakeRequest(t, req, http.StatusFound)
+
+ // Verify the change
+ req = NewRequest(t, "GET", path.Join(user, repo, "raw", branch, filePath))
+ resp = session.MakeRequest(t, req, http.StatusOK)
+ assert.EqualValues(t, newContent, string(resp.Body))
+
+ return resp
+}
+
+func testEditFileToNewBranch(t *testing.T, session *TestSession, user, repo, branch, targetBranch, filePath string) *TestResponse {
+
+ newContent := "Hello, World (Edited)\n"
+
+ // Get to the 'edit this file' page
+ req := NewRequest(t, "GET", path.Join(user, repo, "_edit", branch, filePath))
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ lastCommit := htmlDoc.GetInputValueByName("last_commit")
+ assert.NotEmpty(t, lastCommit)
+
+ // Submit the edits
+ req = NewRequestWithValues(t, "POST", path.Join(user, repo, "_edit", branch, filePath),
+ map[string]string{
+ "_csrf": htmlDoc.GetCSRF(),
+ "last_commit": lastCommit,
+ "tree_path": filePath,
+ "content": newContent,
+ "commit_choice": "commit-to-new-branch",
+ "new_branch_name": targetBranch,
+ },
+ )
+ resp = session.MakeRequest(t, req, http.StatusFound)
+
+ // Verify the change
+ req = NewRequest(t, "GET", path.Join(user, repo, "raw", targetBranch, filePath))
+ resp = session.MakeRequest(t, req, http.StatusOK)
+ assert.EqualValues(t, newContent, string(resp.Body))
+
+ return resp
+}
+
+func TestEditFile(t *testing.T) {
+ prepareTestEnv(t)
+ session := loginUser(t, "user2")
+ testEditFile(t, session, "user2", "repo1", "master", "README.md")
+}
+
+func TestEditFileToNewBranch(t *testing.T) {
+ prepareTestEnv(t)
+ session := loginUser(t, "user2")
+ testEditFileToNewBranch(t, session, "user2", "repo1", "master", "feature/test", "README.md")
+}
diff --git a/integrations/explore_repos_test.go b/integrations/explore_repos_test.go
new file mode 100644
index 0000000..7408f06
--- /dev/null
+++ b/integrations/explore_repos_test.go
@@ -0,0 +1,17 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "testing"
+)
+
+func TestExploreRepos(t *testing.T) {
+ prepareTestEnv(t)
+
+ req := NewRequest(t, "GET", "/explore/repos")
+ MakeRequest(t, req, http.StatusOK)
+}
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/HEAD b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/HEAD
new file mode 100644
index 0000000..cb089cd
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/config b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/config
new file mode 100644
index 0000000..07d359d
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/config
@@ -0,0 +1,4 @@
+[core]
+ repositoryformatversion = 0
+ filemode = true
+ bare = true
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/description b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/description
new file mode 100644
index 0000000..498b267
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/description
@@ -0,0 +1 @@
+Unnamed repository; edit this file 'description' to name the repository.
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/applypatch-msg.sample b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/applypatch-msg.sample
new file mode 100755
index 0000000..a5d7b84
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/applypatch-msg.sample
@@ -0,0 +1,15 @@
+#!/bin/sh
+#
+# An example hook script to check the commit log message taken by
+# applypatch from an e-mail message.
+#
+# The hook should exit with non-zero status after issuing an
+# appropriate message if it wants to stop the commit. The hook is
+# allowed to edit the commit message file.
+#
+# To enable this hook, rename this file to "applypatch-msg".
+
+. git-sh-setup
+commitmsg="$(git rev-parse --git-path hooks/commit-msg)"
+test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"}
+:
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/commit-msg.sample b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/commit-msg.sample
new file mode 100755
index 0000000..b58d118
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/commit-msg.sample
@@ -0,0 +1,24 @@
+#!/bin/sh
+#
+# An example hook script to check the commit log message.
+# Called by "git commit" with one argument, the name of the file
+# that has the commit message. The hook should exit with non-zero
+# status after issuing an appropriate message if it wants to stop the
+# commit. The hook is allowed to edit the commit message file.
+#
+# To enable this hook, rename this file to "commit-msg".
+
+# Uncomment the below to add a Signed-off-by line to the message.
+# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
+# hook is more suited to it.
+#
+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
+
+# This example catches duplicate Signed-off-by lines.
+
+test "" = "$(grep '^Signed-off-by: ' "$1" |
+ sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
+ echo >&2 Duplicate Signed-off-by lines.
+ exit 1
+}
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/post-receive b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/post-receive
new file mode 100755
index 0000000..4b3d452
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/post-receive
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+ORI_DIR=`pwd`
+SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
+cd "$ORI_DIR"
+for i in `ls "$SHELL_FOLDER/post-receive.d"`; do
+ sh "$SHELL_FOLDER/post-receive.d/$i"
+done
\ No newline at end of file
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/post-receive.d/gitea b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/post-receive.d/gitea
new file mode 100755
index 0000000..2eb3be9
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/post-receive.d/gitea
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+"$GITEA_ROOT/gitea" hook --config='integrations/app.ini' post-receive
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/post-update.sample b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/post-update.sample
new file mode 100755
index 0000000..ec17ec1
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/post-update.sample
@@ -0,0 +1,8 @@
+#!/bin/sh
+#
+# An example hook script to prepare a packed repository for use over
+# dumb transports.
+#
+# To enable this hook, rename this file to "post-update".
+
+exec git update-server-info
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-applypatch.sample b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-applypatch.sample
new file mode 100755
index 0000000..4142082
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-applypatch.sample
@@ -0,0 +1,14 @@
+#!/bin/sh
+#
+# An example hook script to verify what is about to be committed
+# by applypatch from an e-mail message.
+#
+# The hook should exit with non-zero status after issuing an
+# appropriate message if it wants to stop the commit.
+#
+# To enable this hook, rename this file to "pre-applypatch".
+
+. git-sh-setup
+precommit="$(git rev-parse --git-path hooks/pre-commit)"
+test -x "$precommit" && exec "$precommit" ${1+"$@"}
+:
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-commit.sample b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-commit.sample
new file mode 100755
index 0000000..68d62d5
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-commit.sample
@@ -0,0 +1,49 @@
+#!/bin/sh
+#
+# An example hook script to verify what is about to be committed.
+# Called by "git commit" with no arguments. The hook should
+# exit with non-zero status after issuing an appropriate message if
+# it wants to stop the commit.
+#
+# To enable this hook, rename this file to "pre-commit".
+
+if git rev-parse --verify HEAD >/dev/null 2>&1
+then
+ against=HEAD
+else
+ # Initial commit: diff against an empty tree object
+ against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
+fi
+
+# If you want to allow non-ASCII filenames set this variable to true.
+allownonascii=$(git config --bool hooks.allownonascii)
+
+# Redirect output to stderr.
+exec 1>&2
+
+# Cross platform projects tend to avoid non-ASCII filenames; prevent
+# them from being added to the repository. We exploit the fact that the
+# printable range starts at the space character and ends with tilde.
+if [ "$allownonascii" != "true" ] &&
+ # Note that the use of brackets around a tr range is ok here, (it's
+ # even required, for portability to Solaris 10's /usr/bin/tr), since
+ # the square bracket bytes happen to fall in the designated range.
+ test $(git diff --cached --name-only --diff-filter=A -z $against |
+ LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
+then
+ cat <<\EOF
+Error: Attempt to add a non-ASCII file name.
+
+This can cause problems if you want to work with people on other platforms.
+
+To be portable it is advisable to rename the file.
+
+If you know what you are doing you can disable this check using:
+
+ git config hooks.allownonascii true
+EOF
+ exit 1
+fi
+
+# If there are whitespace errors, print the offending file names and fail.
+exec git diff-index --check --cached $against --
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-push.sample b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-push.sample
new file mode 100755
index 0000000..6187dbf
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-push.sample
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# An example hook script to verify what is about to be pushed. Called by "git
+# push" after it has checked the remote status, but before anything has been
+# pushed. If this script exits with a non-zero status nothing will be pushed.
+#
+# This hook is called with the following parameters:
+#
+# $1 -- Name of the remote to which the push is being done
+# $2 -- URL to which the push is being done
+#
+# If pushing without using a named remote those arguments will be equal.
+#
+# Information about the commits which are being pushed is supplied as lines to
+# the standard input in the form:
+#
+#
+#
+# This sample shows how to prevent push of commits where the log message starts
+# with "WIP" (work in progress).
+
+remote="$1"
+url="$2"
+
+z40=0000000000000000000000000000000000000000
+
+while read local_ref local_sha remote_ref remote_sha
+do
+ if [ "$local_sha" = $z40 ]
+ then
+ # Handle delete
+ :
+ else
+ if [ "$remote_sha" = $z40 ]
+ then
+ # New branch, examine all commits
+ range="$local_sha"
+ else
+ # Update to existing branch, examine new commits
+ range="$remote_sha..$local_sha"
+ fi
+
+ # Check for WIP commit
+ commit=`git rev-list -n 1 --grep '^WIP' "$range"`
+ if [ -n "$commit" ]
+ then
+ echo >&2 "Found WIP commit in $local_ref, not pushing"
+ exit 1
+ fi
+ fi
+done
+
+exit 0
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-rebase.sample b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-rebase.sample
new file mode 100755
index 0000000..33730ca
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-rebase.sample
@@ -0,0 +1,169 @@
+#!/bin/sh
+#
+# Copyright (c) 2006, 2008 Junio C Hamano
+#
+# The "pre-rebase" hook is run just before "git rebase" starts doing
+# its job, and can prevent the command from running by exiting with
+# non-zero status.
+#
+# The hook is called with the following parameters:
+#
+# $1 -- the upstream the series was forked from.
+# $2 -- the branch being rebased (or empty when rebasing the current branch).
+#
+# This sample shows how to prevent topic branches that are already
+# merged to 'next' branch from getting rebased, because allowing it
+# would result in rebasing already published history.
+
+publish=next
+basebranch="$1"
+if test "$#" = 2
+then
+ topic="refs/heads/$2"
+else
+ topic=`git symbolic-ref HEAD` ||
+ exit 0 ;# we do not interrupt rebasing detached HEAD
+fi
+
+case "$topic" in
+refs/heads/??/*)
+ ;;
+*)
+ exit 0 ;# we do not interrupt others.
+ ;;
+esac
+
+# Now we are dealing with a topic branch being rebased
+# on top of master. Is it OK to rebase it?
+
+# Does the topic really exist?
+git show-ref -q "$topic" || {
+ echo >&2 "No such branch $topic"
+ exit 1
+}
+
+# Is topic fully merged to master?
+not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
+if test -z "$not_in_master"
+then
+ echo >&2 "$topic is fully merged to master; better remove it."
+ exit 1 ;# we could allow it, but there is no point.
+fi
+
+# Is topic ever merged to next? If so you should not be rebasing it.
+only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
+only_next_2=`git rev-list ^master ${publish} | sort`
+if test "$only_next_1" = "$only_next_2"
+then
+ not_in_topic=`git rev-list "^$topic" master`
+ if test -z "$not_in_topic"
+ then
+ echo >&2 "$topic is already up-to-date with master"
+ exit 1 ;# we could allow it, but there is no point.
+ else
+ exit 0
+ fi
+else
+ not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
+ /usr/bin/perl -e '
+ my $topic = $ARGV[0];
+ my $msg = "* $topic has commits already merged to public branch:\n";
+ my (%not_in_next) = map {
+ /^([0-9a-f]+) /;
+ ($1 => 1);
+ } split(/\n/, $ARGV[1]);
+ for my $elem (map {
+ /^([0-9a-f]+) (.*)$/;
+ [$1 => $2];
+ } split(/\n/, $ARGV[2])) {
+ if (!exists $not_in_next{$elem->[0]}) {
+ if ($msg) {
+ print STDERR $msg;
+ undef $msg;
+ }
+ print STDERR " $elem->[1]\n";
+ }
+ }
+ ' "$topic" "$not_in_next" "$not_in_master"
+ exit 1
+fi
+
+<<\DOC_END
+
+This sample hook safeguards topic branches that have been
+published from being rewound.
+
+The workflow assumed here is:
+
+ * Once a topic branch forks from "master", "master" is never
+ merged into it again (either directly or indirectly).
+
+ * Once a topic branch is fully cooked and merged into "master",
+ it is deleted. If you need to build on top of it to correct
+ earlier mistakes, a new topic branch is created by forking at
+ the tip of the "master". This is not strictly necessary, but
+ it makes it easier to keep your history simple.
+
+ * Whenever you need to test or publish your changes to topic
+ branches, merge them into "next" branch.
+
+The script, being an example, hardcodes the publish branch name
+to be "next", but it is trivial to make it configurable via
+$GIT_DIR/config mechanism.
+
+With this workflow, you would want to know:
+
+(1) ... if a topic branch has ever been merged to "next". Young
+ topic branches can have stupid mistakes you would rather
+ clean up before publishing, and things that have not been
+ merged into other branches can be easily rebased without
+ affecting other people. But once it is published, you would
+ not want to rewind it.
+
+(2) ... if a topic branch has been fully merged to "master".
+ Then you can delete it. More importantly, you should not
+ build on top of it -- other people may already want to
+ change things related to the topic as patches against your
+ "master", so if you need further changes, it is better to
+ fork the topic (perhaps with the same name) afresh from the
+ tip of "master".
+
+Let's look at this example:
+
+ o---o---o---o---o---o---o---o---o---o "next"
+ / / / /
+ / a---a---b A / /
+ / / / /
+ / / c---c---c---c B /
+ / / / \ /
+ / / / b---b C \ /
+ / / / / \ /
+ ---o---o---o---o---o---o---o---o---o---o---o "master"
+
+
+A, B and C are topic branches.
+
+ * A has one fix since it was merged up to "next".
+
+ * B has finished. It has been fully merged up to "master" and "next",
+ and is ready to be deleted.
+
+ * C has not merged to "next" at all.
+
+We would want to allow C to be rebased, refuse A, and encourage
+B to be deleted.
+
+To compute (1):
+
+ git rev-list ^master ^topic next
+ git rev-list ^master next
+
+ if these match, topic has not merged in next at all.
+
+To compute (2):
+
+ git rev-list master..topic
+
+ if this is empty, it is fully merged to "master".
+
+DOC_END
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-receive b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-receive
new file mode 100755
index 0000000..4127013
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-receive
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+ORI_DIR=`pwd`
+SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
+cd "$ORI_DIR"
+for i in `ls "$SHELL_FOLDER/pre-receive.d"`; do
+ sh "$SHELL_FOLDER/pre-receive.d/$i"
+done
\ No newline at end of file
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-receive.d/gitea b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-receive.d/gitea
new file mode 100755
index 0000000..1933f6c
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/pre-receive.d/gitea
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+"$GITEA_ROOT/gitea" hook --config='integrations/app.ini' pre-receive
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/prepare-commit-msg.sample b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/prepare-commit-msg.sample
new file mode 100755
index 0000000..f093a02
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/prepare-commit-msg.sample
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# An example hook script to prepare the commit log message.
+# Called by "git commit" with the name of the file that has the
+# commit message, followed by the description of the commit
+# message's source. The hook's purpose is to edit the commit
+# message file. If the hook fails with a non-zero status,
+# the commit is aborted.
+#
+# To enable this hook, rename this file to "prepare-commit-msg".
+
+# This hook includes three examples. The first comments out the
+# "Conflicts:" part of a merge commit.
+#
+# The second includes the output of "git diff --name-status -r"
+# into the message, just before the "git status" output. It is
+# commented because it doesn't cope with --amend or with squashed
+# commits.
+#
+# The third example adds a Signed-off-by line to the message, that can
+# still be edited. This is rarely a good idea.
+
+case "$2,$3" in
+ merge,)
+ /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;;
+
+# ,|template,)
+# /usr/bin/perl -i.bak -pe '
+# print "\n" . `git diff --cached --name-status -r`
+# if /^#/ && $first++ == 0' "$1" ;;
+
+ *) ;;
+esac
+
+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/update b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/update
new file mode 100755
index 0000000..c186fe4
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/update
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+ORI_DIR=`pwd`
+SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
+cd "$ORI_DIR"
+for i in `ls "$SHELL_FOLDER/update.d"`; do
+ sh "$SHELL_FOLDER/update.d/$i" $1 $2 $3
+done
\ No newline at end of file
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/update.d/gitea b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/update.d/gitea
new file mode 100755
index 0000000..615b4f4
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/update.d/gitea
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+"$GITEA_ROOT/gitea" hook --config='integrations/app.ini' update $1 $2 $3
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/update.sample b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/update.sample
new file mode 100755
index 0000000..80ba941
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/hooks/update.sample
@@ -0,0 +1,128 @@
+#!/bin/sh
+#
+# An example hook script to block unannotated tags from entering.
+# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
+#
+# To enable this hook, rename this file to "update".
+#
+# Config
+# ------
+# hooks.allowunannotated
+# This boolean sets whether unannotated tags will be allowed into the
+# repository. By default they won't be.
+# hooks.allowdeletetag
+# This boolean sets whether deleting tags will be allowed in the
+# repository. By default they won't be.
+# hooks.allowmodifytag
+# This boolean sets whether a tag may be modified after creation. By default
+# it won't be.
+# hooks.allowdeletebranch
+# This boolean sets whether deleting branches will be allowed in the
+# repository. By default they won't be.
+# hooks.denycreatebranch
+# This boolean sets whether remotely creating branches will be denied
+# in the repository. By default this is allowed.
+#
+
+# --- Command line
+refname="$1"
+oldrev="$2"
+newrev="$3"
+
+# --- Safety check
+if [ -z "$GIT_DIR" ]; then
+ echo "Don't run this script from the command line." >&2
+ echo " (if you want, you could supply GIT_DIR then run" >&2
+ echo " $0 [ ] )" >&2
+ exit 1
+fi
+
+if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
+ echo "usage: $0 [ ] " >&2
+ exit 1
+fi
+
+# --- Config
+allowunannotated=$(git config --bool hooks.allowunannotated)
+allowdeletebranch=$(git config --bool hooks.allowdeletebranch)
+denycreatebranch=$(git config --bool hooks.denycreatebranch)
+allowdeletetag=$(git config --bool hooks.allowdeletetag)
+allowmodifytag=$(git config --bool hooks.allowmodifytag)
+
+# check for no description
+projectdesc=$(sed -e '1q' "$GIT_DIR/description")
+case "$projectdesc" in
+"Unnamed repository"* | "")
+ echo "*** Project description file hasn't been set" >&2
+ exit 1
+ ;;
+esac
+
+# --- Check types
+# if $newrev is 0000...0000, it's a commit to delete a ref.
+zero="0000000000000000000000000000000000000000"
+if [ "$newrev" = "$zero" ]; then
+ newrev_type=delete
+else
+ newrev_type=$(git cat-file -t $newrev)
+fi
+
+case "$refname","$newrev_type" in
+ refs/tags/*,commit)
+ # un-annotated tag
+ short_refname=${refname##refs/tags/}
+ if [ "$allowunannotated" != "true" ]; then
+ echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
+ echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
+ exit 1
+ fi
+ ;;
+ refs/tags/*,delete)
+ # delete tag
+ if [ "$allowdeletetag" != "true" ]; then
+ echo "*** Deleting a tag is not allowed in this repository" >&2
+ exit 1
+ fi
+ ;;
+ refs/tags/*,tag)
+ # annotated tag
+ if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
+ then
+ echo "*** Tag '$refname' already exists." >&2
+ echo "*** Modifying a tag is not allowed in this repository." >&2
+ exit 1
+ fi
+ ;;
+ refs/heads/*,commit)
+ # branch
+ if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
+ echo "*** Creating a branch is not allowed in this repository" >&2
+ exit 1
+ fi
+ ;;
+ refs/heads/*,delete)
+ # delete branch
+ if [ "$allowdeletebranch" != "true" ]; then
+ echo "*** Deleting a branch is not allowed in this repository" >&2
+ exit 1
+ fi
+ ;;
+ refs/remotes/*,commit)
+ # tracking branch
+ ;;
+ refs/remotes/*,delete)
+ # delete tracking branch
+ if [ "$allowdeletebranch" != "true" ]; then
+ echo "*** Deleting a tracking branch is not allowed in this repository" >&2
+ exit 1
+ fi
+ ;;
+ *)
+ # Anything else (is there anything else?)
+ echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
+ exit 1
+ ;;
+esac
+
+# --- Finished
+exit 0
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/info/exclude b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/info/exclude
new file mode 100644
index 0000000..a5196d1
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/info/exclude
@@ -0,0 +1,6 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/info/refs b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/info/refs
new file mode 100644
index 0000000..ca1df85
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/info/refs
@@ -0,0 +1 @@
+65f1bf27bc3bf70f64657658635e66094edbcb4d refs/heads/master
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/objects/2a/2f1d4670728a2e10049e345bd7a276468beab6 b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/objects/2a/2f1d4670728a2e10049e345bd7a276468beab6
new file mode 100644
index 0000000000000000000000000000000000000000..0994add2c8a420ba89b9a239de84741d4d00ee02
GIT binary patch
literal 54
zcmV-60LlM&0V^p=O;s>9XD~D{Ff%bx2y%6F@paY9O=0l%2wWR@KdW}W>d8uz$jVo*
MqfO=m05RYX?j~gyApigX
literal 0
HcmV?d00001
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/objects/4b/4851ad51df6a7d9f25c979345979eaeb5b349f b/integrations/gitea-integration-meta/gitea-repositories/user2/repo1.git/objects/4b/4851ad51df6a7d9f25c979345979eaeb5b349f
new file mode 100644
index 0000000000000000000000000000000000000000..700a13828e63248a392e4c90d92bbb6e3dd57ba0
GIT binary patch
literal 42
ycmb%v7rOCc0q7S-{K(sSa&
zkkbhiI`12U*27++lwz~nt#W~Lz0(ZW%yS%}\).*$/Signed-off-by: \1/p')
+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
+
+# This example catches duplicate Signed-off-by lines.
+
+test "" = "$(grep '^Signed-off-by: ' "$1" |
+ sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
+ echo >&2 Duplicate Signed-off-by lines.
+ exit 1
+}
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/post-receive b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/post-receive
new file mode 100755
index 0000000..4b3d452
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/post-receive
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+ORI_DIR=`pwd`
+SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
+cd "$ORI_DIR"
+for i in `ls "$SHELL_FOLDER/post-receive.d"`; do
+ sh "$SHELL_FOLDER/post-receive.d/$i"
+done
\ No newline at end of file
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/post-receive.d/gitea b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/post-receive.d/gitea
new file mode 100755
index 0000000..2eb3be9
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/post-receive.d/gitea
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+"$GITEA_ROOT/gitea" hook --config='integrations/app.ini' post-receive
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/post-update.sample b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/post-update.sample
new file mode 100755
index 0000000..ec17ec1
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/post-update.sample
@@ -0,0 +1,8 @@
+#!/bin/sh
+#
+# An example hook script to prepare a packed repository for use over
+# dumb transports.
+#
+# To enable this hook, rename this file to "post-update".
+
+exec git update-server-info
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-applypatch.sample b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-applypatch.sample
new file mode 100755
index 0000000..4142082
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-applypatch.sample
@@ -0,0 +1,14 @@
+#!/bin/sh
+#
+# An example hook script to verify what is about to be committed
+# by applypatch from an e-mail message.
+#
+# The hook should exit with non-zero status after issuing an
+# appropriate message if it wants to stop the commit.
+#
+# To enable this hook, rename this file to "pre-applypatch".
+
+. git-sh-setup
+precommit="$(git rev-parse --git-path hooks/pre-commit)"
+test -x "$precommit" && exec "$precommit" ${1+"$@"}
+:
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-commit.sample b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-commit.sample
new file mode 100755
index 0000000..68d62d5
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-commit.sample
@@ -0,0 +1,49 @@
+#!/bin/sh
+#
+# An example hook script to verify what is about to be committed.
+# Called by "git commit" with no arguments. The hook should
+# exit with non-zero status after issuing an appropriate message if
+# it wants to stop the commit.
+#
+# To enable this hook, rename this file to "pre-commit".
+
+if git rev-parse --verify HEAD >/dev/null 2>&1
+then
+ against=HEAD
+else
+ # Initial commit: diff against an empty tree object
+ against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
+fi
+
+# If you want to allow non-ASCII filenames set this variable to true.
+allownonascii=$(git config --bool hooks.allownonascii)
+
+# Redirect output to stderr.
+exec 1>&2
+
+# Cross platform projects tend to avoid non-ASCII filenames; prevent
+# them from being added to the repository. We exploit the fact that the
+# printable range starts at the space character and ends with tilde.
+if [ "$allownonascii" != "true" ] &&
+ # Note that the use of brackets around a tr range is ok here, (it's
+ # even required, for portability to Solaris 10's /usr/bin/tr), since
+ # the square bracket bytes happen to fall in the designated range.
+ test $(git diff --cached --name-only --diff-filter=A -z $against |
+ LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
+then
+ cat <<\EOF
+Error: Attempt to add a non-ASCII file name.
+
+This can cause problems if you want to work with people on other platforms.
+
+To be portable it is advisable to rename the file.
+
+If you know what you are doing you can disable this check using:
+
+ git config hooks.allownonascii true
+EOF
+ exit 1
+fi
+
+# If there are whitespace errors, print the offending file names and fail.
+exec git diff-index --check --cached $against --
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-push.sample b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-push.sample
new file mode 100755
index 0000000..6187dbf
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-push.sample
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# An example hook script to verify what is about to be pushed. Called by "git
+# push" after it has checked the remote status, but before anything has been
+# pushed. If this script exits with a non-zero status nothing will be pushed.
+#
+# This hook is called with the following parameters:
+#
+# $1 -- Name of the remote to which the push is being done
+# $2 -- URL to which the push is being done
+#
+# If pushing without using a named remote those arguments will be equal.
+#
+# Information about the commits which are being pushed is supplied as lines to
+# the standard input in the form:
+#
+#
+#
+# This sample shows how to prevent push of commits where the log message starts
+# with "WIP" (work in progress).
+
+remote="$1"
+url="$2"
+
+z40=0000000000000000000000000000000000000000
+
+while read local_ref local_sha remote_ref remote_sha
+do
+ if [ "$local_sha" = $z40 ]
+ then
+ # Handle delete
+ :
+ else
+ if [ "$remote_sha" = $z40 ]
+ then
+ # New branch, examine all commits
+ range="$local_sha"
+ else
+ # Update to existing branch, examine new commits
+ range="$remote_sha..$local_sha"
+ fi
+
+ # Check for WIP commit
+ commit=`git rev-list -n 1 --grep '^WIP' "$range"`
+ if [ -n "$commit" ]
+ then
+ echo >&2 "Found WIP commit in $local_ref, not pushing"
+ exit 1
+ fi
+ fi
+done
+
+exit 0
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-rebase.sample b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-rebase.sample
new file mode 100755
index 0000000..33730ca
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-rebase.sample
@@ -0,0 +1,169 @@
+#!/bin/sh
+#
+# Copyright (c) 2006, 2008 Junio C Hamano
+#
+# The "pre-rebase" hook is run just before "git rebase" starts doing
+# its job, and can prevent the command from running by exiting with
+# non-zero status.
+#
+# The hook is called with the following parameters:
+#
+# $1 -- the upstream the series was forked from.
+# $2 -- the branch being rebased (or empty when rebasing the current branch).
+#
+# This sample shows how to prevent topic branches that are already
+# merged to 'next' branch from getting rebased, because allowing it
+# would result in rebasing already published history.
+
+publish=next
+basebranch="$1"
+if test "$#" = 2
+then
+ topic="refs/heads/$2"
+else
+ topic=`git symbolic-ref HEAD` ||
+ exit 0 ;# we do not interrupt rebasing detached HEAD
+fi
+
+case "$topic" in
+refs/heads/??/*)
+ ;;
+*)
+ exit 0 ;# we do not interrupt others.
+ ;;
+esac
+
+# Now we are dealing with a topic branch being rebased
+# on top of master. Is it OK to rebase it?
+
+# Does the topic really exist?
+git show-ref -q "$topic" || {
+ echo >&2 "No such branch $topic"
+ exit 1
+}
+
+# Is topic fully merged to master?
+not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
+if test -z "$not_in_master"
+then
+ echo >&2 "$topic is fully merged to master; better remove it."
+ exit 1 ;# we could allow it, but there is no point.
+fi
+
+# Is topic ever merged to next? If so you should not be rebasing it.
+only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
+only_next_2=`git rev-list ^master ${publish} | sort`
+if test "$only_next_1" = "$only_next_2"
+then
+ not_in_topic=`git rev-list "^$topic" master`
+ if test -z "$not_in_topic"
+ then
+ echo >&2 "$topic is already up-to-date with master"
+ exit 1 ;# we could allow it, but there is no point.
+ else
+ exit 0
+ fi
+else
+ not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
+ /usr/bin/perl -e '
+ my $topic = $ARGV[0];
+ my $msg = "* $topic has commits already merged to public branch:\n";
+ my (%not_in_next) = map {
+ /^([0-9a-f]+) /;
+ ($1 => 1);
+ } split(/\n/, $ARGV[1]);
+ for my $elem (map {
+ /^([0-9a-f]+) (.*)$/;
+ [$1 => $2];
+ } split(/\n/, $ARGV[2])) {
+ if (!exists $not_in_next{$elem->[0]}) {
+ if ($msg) {
+ print STDERR $msg;
+ undef $msg;
+ }
+ print STDERR " $elem->[1]\n";
+ }
+ }
+ ' "$topic" "$not_in_next" "$not_in_master"
+ exit 1
+fi
+
+<<\DOC_END
+
+This sample hook safeguards topic branches that have been
+published from being rewound.
+
+The workflow assumed here is:
+
+ * Once a topic branch forks from "master", "master" is never
+ merged into it again (either directly or indirectly).
+
+ * Once a topic branch is fully cooked and merged into "master",
+ it is deleted. If you need to build on top of it to correct
+ earlier mistakes, a new topic branch is created by forking at
+ the tip of the "master". This is not strictly necessary, but
+ it makes it easier to keep your history simple.
+
+ * Whenever you need to test or publish your changes to topic
+ branches, merge them into "next" branch.
+
+The script, being an example, hardcodes the publish branch name
+to be "next", but it is trivial to make it configurable via
+$GIT_DIR/config mechanism.
+
+With this workflow, you would want to know:
+
+(1) ... if a topic branch has ever been merged to "next". Young
+ topic branches can have stupid mistakes you would rather
+ clean up before publishing, and things that have not been
+ merged into other branches can be easily rebased without
+ affecting other people. But once it is published, you would
+ not want to rewind it.
+
+(2) ... if a topic branch has been fully merged to "master".
+ Then you can delete it. More importantly, you should not
+ build on top of it -- other people may already want to
+ change things related to the topic as patches against your
+ "master", so if you need further changes, it is better to
+ fork the topic (perhaps with the same name) afresh from the
+ tip of "master".
+
+Let's look at this example:
+
+ o---o---o---o---o---o---o---o---o---o "next"
+ / / / /
+ / a---a---b A / /
+ / / / /
+ / / c---c---c---c B /
+ / / / \ /
+ / / / b---b C \ /
+ / / / / \ /
+ ---o---o---o---o---o---o---o---o---o---o---o "master"
+
+
+A, B and C are topic branches.
+
+ * A has one fix since it was merged up to "next".
+
+ * B has finished. It has been fully merged up to "master" and "next",
+ and is ready to be deleted.
+
+ * C has not merged to "next" at all.
+
+We would want to allow C to be rebased, refuse A, and encourage
+B to be deleted.
+
+To compute (1):
+
+ git rev-list ^master ^topic next
+ git rev-list ^master next
+
+ if these match, topic has not merged in next at all.
+
+To compute (2):
+
+ git rev-list master..topic
+
+ if this is empty, it is fully merged to "master".
+
+DOC_END
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-receive b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-receive
new file mode 100755
index 0000000..4127013
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-receive
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+ORI_DIR=`pwd`
+SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
+cd "$ORI_DIR"
+for i in `ls "$SHELL_FOLDER/pre-receive.d"`; do
+ sh "$SHELL_FOLDER/pre-receive.d/$i"
+done
\ No newline at end of file
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-receive.d/gitea b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-receive.d/gitea
new file mode 100755
index 0000000..1933f6c
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/pre-receive.d/gitea
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+"$GITEA_ROOT/gitea" hook --config='integrations/app.ini' pre-receive
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/prepare-commit-msg.sample b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/prepare-commit-msg.sample
new file mode 100755
index 0000000..f093a02
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/prepare-commit-msg.sample
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# An example hook script to prepare the commit log message.
+# Called by "git commit" with the name of the file that has the
+# commit message, followed by the description of the commit
+# message's source. The hook's purpose is to edit the commit
+# message file. If the hook fails with a non-zero status,
+# the commit is aborted.
+#
+# To enable this hook, rename this file to "prepare-commit-msg".
+
+# This hook includes three examples. The first comments out the
+# "Conflicts:" part of a merge commit.
+#
+# The second includes the output of "git diff --name-status -r"
+# into the message, just before the "git status" output. It is
+# commented because it doesn't cope with --amend or with squashed
+# commits.
+#
+# The third example adds a Signed-off-by line to the message, that can
+# still be edited. This is rarely a good idea.
+
+case "$2,$3" in
+ merge,)
+ /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;;
+
+# ,|template,)
+# /usr/bin/perl -i.bak -pe '
+# print "\n" . `git diff --cached --name-status -r`
+# if /^#/ && $first++ == 0' "$1" ;;
+
+ *) ;;
+esac
+
+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/update b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/update
new file mode 100755
index 0000000..c186fe4
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/update
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+ORI_DIR=`pwd`
+SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
+cd "$ORI_DIR"
+for i in `ls "$SHELL_FOLDER/update.d"`; do
+ sh "$SHELL_FOLDER/update.d/$i" $1 $2 $3
+done
\ No newline at end of file
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/update.d/gitea b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/update.d/gitea
new file mode 100755
index 0000000..615b4f4
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/update.d/gitea
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+"$GITEA_ROOT/gitea" hook --config='integrations/app.ini' update $1 $2 $3
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/update.sample b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/update.sample
new file mode 100755
index 0000000..80ba941
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/hooks/update.sample
@@ -0,0 +1,128 @@
+#!/bin/sh
+#
+# An example hook script to block unannotated tags from entering.
+# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
+#
+# To enable this hook, rename this file to "update".
+#
+# Config
+# ------
+# hooks.allowunannotated
+# This boolean sets whether unannotated tags will be allowed into the
+# repository. By default they won't be.
+# hooks.allowdeletetag
+# This boolean sets whether deleting tags will be allowed in the
+# repository. By default they won't be.
+# hooks.allowmodifytag
+# This boolean sets whether a tag may be modified after creation. By default
+# it won't be.
+# hooks.allowdeletebranch
+# This boolean sets whether deleting branches will be allowed in the
+# repository. By default they won't be.
+# hooks.denycreatebranch
+# This boolean sets whether remotely creating branches will be denied
+# in the repository. By default this is allowed.
+#
+
+# --- Command line
+refname="$1"
+oldrev="$2"
+newrev="$3"
+
+# --- Safety check
+if [ -z "$GIT_DIR" ]; then
+ echo "Don't run this script from the command line." >&2
+ echo " (if you want, you could supply GIT_DIR then run" >&2
+ echo " $0 [ ] )" >&2
+ exit 1
+fi
+
+if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
+ echo "usage: $0 [ ] " >&2
+ exit 1
+fi
+
+# --- Config
+allowunannotated=$(git config --bool hooks.allowunannotated)
+allowdeletebranch=$(git config --bool hooks.allowdeletebranch)
+denycreatebranch=$(git config --bool hooks.denycreatebranch)
+allowdeletetag=$(git config --bool hooks.allowdeletetag)
+allowmodifytag=$(git config --bool hooks.allowmodifytag)
+
+# check for no description
+projectdesc=$(sed -e '1q' "$GIT_DIR/description")
+case "$projectdesc" in
+"Unnamed repository"* | "")
+ echo "*** Project description file hasn't been set" >&2
+ exit 1
+ ;;
+esac
+
+# --- Check types
+# if $newrev is 0000...0000, it's a commit to delete a ref.
+zero="0000000000000000000000000000000000000000"
+if [ "$newrev" = "$zero" ]; then
+ newrev_type=delete
+else
+ newrev_type=$(git cat-file -t $newrev)
+fi
+
+case "$refname","$newrev_type" in
+ refs/tags/*,commit)
+ # un-annotated tag
+ short_refname=${refname##refs/tags/}
+ if [ "$allowunannotated" != "true" ]; then
+ echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
+ echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
+ exit 1
+ fi
+ ;;
+ refs/tags/*,delete)
+ # delete tag
+ if [ "$allowdeletetag" != "true" ]; then
+ echo "*** Deleting a tag is not allowed in this repository" >&2
+ exit 1
+ fi
+ ;;
+ refs/tags/*,tag)
+ # annotated tag
+ if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
+ then
+ echo "*** Tag '$refname' already exists." >&2
+ echo "*** Modifying a tag is not allowed in this repository." >&2
+ exit 1
+ fi
+ ;;
+ refs/heads/*,commit)
+ # branch
+ if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
+ echo "*** Creating a branch is not allowed in this repository" >&2
+ exit 1
+ fi
+ ;;
+ refs/heads/*,delete)
+ # delete branch
+ if [ "$allowdeletebranch" != "true" ]; then
+ echo "*** Deleting a branch is not allowed in this repository" >&2
+ exit 1
+ fi
+ ;;
+ refs/remotes/*,commit)
+ # tracking branch
+ ;;
+ refs/remotes/*,delete)
+ # delete tracking branch
+ if [ "$allowdeletebranch" != "true" ]; then
+ echo "*** Deleting a tracking branch is not allowed in this repository" >&2
+ exit 1
+ fi
+ ;;
+ *)
+ # Anything else (is there anything else?)
+ echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
+ exit 1
+ ;;
+esac
+
+# --- Finished
+exit 0
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/info/exclude b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/info/exclude
new file mode 100644
index 0000000..a5196d1
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user2/repo15.git/info/exclude
@@ -0,0 +1,6 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/HEAD b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/HEAD
new file mode 100644
index 0000000..cb089cd
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/config b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/config
new file mode 100644
index 0000000..e6da231
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/config
@@ -0,0 +1,6 @@
+[core]
+ repositoryformatversion = 0
+ filemode = true
+ bare = true
+ ignorecase = true
+ precomposeunicode = true
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/description b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/description
new file mode 100644
index 0000000..498b267
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/description
@@ -0,0 +1 @@
+Unnamed repository; edit this file 'description' to name the repository.
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/applypatch-msg.sample b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/applypatch-msg.sample
new file mode 100755
index 0000000..a5d7b84
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/applypatch-msg.sample
@@ -0,0 +1,15 @@
+#!/bin/sh
+#
+# An example hook script to check the commit log message taken by
+# applypatch from an e-mail message.
+#
+# The hook should exit with non-zero status after issuing an
+# appropriate message if it wants to stop the commit. The hook is
+# allowed to edit the commit message file.
+#
+# To enable this hook, rename this file to "applypatch-msg".
+
+. git-sh-setup
+commitmsg="$(git rev-parse --git-path hooks/commit-msg)"
+test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"}
+:
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/commit-msg.sample b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/commit-msg.sample
new file mode 100755
index 0000000..b58d118
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/commit-msg.sample
@@ -0,0 +1,24 @@
+#!/bin/sh
+#
+# An example hook script to check the commit log message.
+# Called by "git commit" with one argument, the name of the file
+# that has the commit message. The hook should exit with non-zero
+# status after issuing an appropriate message if it wants to stop the
+# commit. The hook is allowed to edit the commit message file.
+#
+# To enable this hook, rename this file to "commit-msg".
+
+# Uncomment the below to add a Signed-off-by line to the message.
+# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
+# hook is more suited to it.
+#
+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
+
+# This example catches duplicate Signed-off-by lines.
+
+test "" = "$(grep '^Signed-off-by: ' "$1" |
+ sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
+ echo >&2 Duplicate Signed-off-by lines.
+ exit 1
+}
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/post-receive b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/post-receive
new file mode 100755
index 0000000..4b3d452
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/post-receive
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+ORI_DIR=`pwd`
+SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
+cd "$ORI_DIR"
+for i in `ls "$SHELL_FOLDER/post-receive.d"`; do
+ sh "$SHELL_FOLDER/post-receive.d/$i"
+done
\ No newline at end of file
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/post-receive.d/gitea b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/post-receive.d/gitea
new file mode 100755
index 0000000..2eb3be9
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/post-receive.d/gitea
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+"$GITEA_ROOT/gitea" hook --config='integrations/app.ini' post-receive
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/post-update.sample b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/post-update.sample
new file mode 100755
index 0000000..ec17ec1
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/post-update.sample
@@ -0,0 +1,8 @@
+#!/bin/sh
+#
+# An example hook script to prepare a packed repository for use over
+# dumb transports.
+#
+# To enable this hook, rename this file to "post-update".
+
+exec git update-server-info
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-applypatch.sample b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-applypatch.sample
new file mode 100755
index 0000000..4142082
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-applypatch.sample
@@ -0,0 +1,14 @@
+#!/bin/sh
+#
+# An example hook script to verify what is about to be committed
+# by applypatch from an e-mail message.
+#
+# The hook should exit with non-zero status after issuing an
+# appropriate message if it wants to stop the commit.
+#
+# To enable this hook, rename this file to "pre-applypatch".
+
+. git-sh-setup
+precommit="$(git rev-parse --git-path hooks/pre-commit)"
+test -x "$precommit" && exec "$precommit" ${1+"$@"}
+:
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-commit.sample b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-commit.sample
new file mode 100755
index 0000000..68d62d5
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-commit.sample
@@ -0,0 +1,49 @@
+#!/bin/sh
+#
+# An example hook script to verify what is about to be committed.
+# Called by "git commit" with no arguments. The hook should
+# exit with non-zero status after issuing an appropriate message if
+# it wants to stop the commit.
+#
+# To enable this hook, rename this file to "pre-commit".
+
+if git rev-parse --verify HEAD >/dev/null 2>&1
+then
+ against=HEAD
+else
+ # Initial commit: diff against an empty tree object
+ against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
+fi
+
+# If you want to allow non-ASCII filenames set this variable to true.
+allownonascii=$(git config --bool hooks.allownonascii)
+
+# Redirect output to stderr.
+exec 1>&2
+
+# Cross platform projects tend to avoid non-ASCII filenames; prevent
+# them from being added to the repository. We exploit the fact that the
+# printable range starts at the space character and ends with tilde.
+if [ "$allownonascii" != "true" ] &&
+ # Note that the use of brackets around a tr range is ok here, (it's
+ # even required, for portability to Solaris 10's /usr/bin/tr), since
+ # the square bracket bytes happen to fall in the designated range.
+ test $(git diff --cached --name-only --diff-filter=A -z $against |
+ LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
+then
+ cat <<\EOF
+Error: Attempt to add a non-ASCII file name.
+
+This can cause problems if you want to work with people on other platforms.
+
+To be portable it is advisable to rename the file.
+
+If you know what you are doing you can disable this check using:
+
+ git config hooks.allownonascii true
+EOF
+ exit 1
+fi
+
+# If there are whitespace errors, print the offending file names and fail.
+exec git diff-index --check --cached $against --
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-push.sample b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-push.sample
new file mode 100755
index 0000000..6187dbf
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-push.sample
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# An example hook script to verify what is about to be pushed. Called by "git
+# push" after it has checked the remote status, but before anything has been
+# pushed. If this script exits with a non-zero status nothing will be pushed.
+#
+# This hook is called with the following parameters:
+#
+# $1 -- Name of the remote to which the push is being done
+# $2 -- URL to which the push is being done
+#
+# If pushing without using a named remote those arguments will be equal.
+#
+# Information about the commits which are being pushed is supplied as lines to
+# the standard input in the form:
+#
+#
+#
+# This sample shows how to prevent push of commits where the log message starts
+# with "WIP" (work in progress).
+
+remote="$1"
+url="$2"
+
+z40=0000000000000000000000000000000000000000
+
+while read local_ref local_sha remote_ref remote_sha
+do
+ if [ "$local_sha" = $z40 ]
+ then
+ # Handle delete
+ :
+ else
+ if [ "$remote_sha" = $z40 ]
+ then
+ # New branch, examine all commits
+ range="$local_sha"
+ else
+ # Update to existing branch, examine new commits
+ range="$remote_sha..$local_sha"
+ fi
+
+ # Check for WIP commit
+ commit=`git rev-list -n 1 --grep '^WIP' "$range"`
+ if [ -n "$commit" ]
+ then
+ echo >&2 "Found WIP commit in $local_ref, not pushing"
+ exit 1
+ fi
+ fi
+done
+
+exit 0
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-rebase.sample b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-rebase.sample
new file mode 100755
index 0000000..33730ca
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-rebase.sample
@@ -0,0 +1,169 @@
+#!/bin/sh
+#
+# Copyright (c) 2006, 2008 Junio C Hamano
+#
+# The "pre-rebase" hook is run just before "git rebase" starts doing
+# its job, and can prevent the command from running by exiting with
+# non-zero status.
+#
+# The hook is called with the following parameters:
+#
+# $1 -- the upstream the series was forked from.
+# $2 -- the branch being rebased (or empty when rebasing the current branch).
+#
+# This sample shows how to prevent topic branches that are already
+# merged to 'next' branch from getting rebased, because allowing it
+# would result in rebasing already published history.
+
+publish=next
+basebranch="$1"
+if test "$#" = 2
+then
+ topic="refs/heads/$2"
+else
+ topic=`git symbolic-ref HEAD` ||
+ exit 0 ;# we do not interrupt rebasing detached HEAD
+fi
+
+case "$topic" in
+refs/heads/??/*)
+ ;;
+*)
+ exit 0 ;# we do not interrupt others.
+ ;;
+esac
+
+# Now we are dealing with a topic branch being rebased
+# on top of master. Is it OK to rebase it?
+
+# Does the topic really exist?
+git show-ref -q "$topic" || {
+ echo >&2 "No such branch $topic"
+ exit 1
+}
+
+# Is topic fully merged to master?
+not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
+if test -z "$not_in_master"
+then
+ echo >&2 "$topic is fully merged to master; better remove it."
+ exit 1 ;# we could allow it, but there is no point.
+fi
+
+# Is topic ever merged to next? If so you should not be rebasing it.
+only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
+only_next_2=`git rev-list ^master ${publish} | sort`
+if test "$only_next_1" = "$only_next_2"
+then
+ not_in_topic=`git rev-list "^$topic" master`
+ if test -z "$not_in_topic"
+ then
+ echo >&2 "$topic is already up-to-date with master"
+ exit 1 ;# we could allow it, but there is no point.
+ else
+ exit 0
+ fi
+else
+ not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
+ /usr/bin/perl -e '
+ my $topic = $ARGV[0];
+ my $msg = "* $topic has commits already merged to public branch:\n";
+ my (%not_in_next) = map {
+ /^([0-9a-f]+) /;
+ ($1 => 1);
+ } split(/\n/, $ARGV[1]);
+ for my $elem (map {
+ /^([0-9a-f]+) (.*)$/;
+ [$1 => $2];
+ } split(/\n/, $ARGV[2])) {
+ if (!exists $not_in_next{$elem->[0]}) {
+ if ($msg) {
+ print STDERR $msg;
+ undef $msg;
+ }
+ print STDERR " $elem->[1]\n";
+ }
+ }
+ ' "$topic" "$not_in_next" "$not_in_master"
+ exit 1
+fi
+
+<<\DOC_END
+
+This sample hook safeguards topic branches that have been
+published from being rewound.
+
+The workflow assumed here is:
+
+ * Once a topic branch forks from "master", "master" is never
+ merged into it again (either directly or indirectly).
+
+ * Once a topic branch is fully cooked and merged into "master",
+ it is deleted. If you need to build on top of it to correct
+ earlier mistakes, a new topic branch is created by forking at
+ the tip of the "master". This is not strictly necessary, but
+ it makes it easier to keep your history simple.
+
+ * Whenever you need to test or publish your changes to topic
+ branches, merge them into "next" branch.
+
+The script, being an example, hardcodes the publish branch name
+to be "next", but it is trivial to make it configurable via
+$GIT_DIR/config mechanism.
+
+With this workflow, you would want to know:
+
+(1) ... if a topic branch has ever been merged to "next". Young
+ topic branches can have stupid mistakes you would rather
+ clean up before publishing, and things that have not been
+ merged into other branches can be easily rebased without
+ affecting other people. But once it is published, you would
+ not want to rewind it.
+
+(2) ... if a topic branch has been fully merged to "master".
+ Then you can delete it. More importantly, you should not
+ build on top of it -- other people may already want to
+ change things related to the topic as patches against your
+ "master", so if you need further changes, it is better to
+ fork the topic (perhaps with the same name) afresh from the
+ tip of "master".
+
+Let's look at this example:
+
+ o---o---o---o---o---o---o---o---o---o "next"
+ / / / /
+ / a---a---b A / /
+ / / / /
+ / / c---c---c---c B /
+ / / / \ /
+ / / / b---b C \ /
+ / / / / \ /
+ ---o---o---o---o---o---o---o---o---o---o---o "master"
+
+
+A, B and C are topic branches.
+
+ * A has one fix since it was merged up to "next".
+
+ * B has finished. It has been fully merged up to "master" and "next",
+ and is ready to be deleted.
+
+ * C has not merged to "next" at all.
+
+We would want to allow C to be rebased, refuse A, and encourage
+B to be deleted.
+
+To compute (1):
+
+ git rev-list ^master ^topic next
+ git rev-list ^master next
+
+ if these match, topic has not merged in next at all.
+
+To compute (2):
+
+ git rev-list master..topic
+
+ if this is empty, it is fully merged to "master".
+
+DOC_END
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-receive b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-receive
new file mode 100755
index 0000000..4127013
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-receive
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+ORI_DIR=`pwd`
+SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
+cd "$ORI_DIR"
+for i in `ls "$SHELL_FOLDER/pre-receive.d"`; do
+ sh "$SHELL_FOLDER/pre-receive.d/$i"
+done
\ No newline at end of file
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-receive.d/gitea b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-receive.d/gitea
new file mode 100755
index 0000000..1933f6c
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-receive.d/gitea
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+"$GITEA_ROOT/gitea" hook --config='integrations/app.ini' pre-receive
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-receive.sample b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-receive.sample
new file mode 100755
index 0000000..a1fd29e
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/pre-receive.sample
@@ -0,0 +1,24 @@
+#!/bin/sh
+#
+# An example hook script to make use of push options.
+# The example simply echoes all push options that start with 'echoback='
+# and rejects all pushes when the "reject" push option is used.
+#
+# To enable this hook, rename this file to "pre-receive".
+
+if test -n "$GIT_PUSH_OPTION_COUNT"
+then
+ i=0
+ while test "$i" -lt "$GIT_PUSH_OPTION_COUNT"
+ do
+ eval "value=\$GIT_PUSH_OPTION_$i"
+ case "$value" in
+ echoback=*)
+ echo "echo from the pre-receive-hook: ${value#*=}" >&2
+ ;;
+ reject)
+ exit 1
+ esac
+ i=$((i + 1))
+ done
+fi
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/prepare-commit-msg.sample b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/prepare-commit-msg.sample
new file mode 100755
index 0000000..f093a02
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/prepare-commit-msg.sample
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# An example hook script to prepare the commit log message.
+# Called by "git commit" with the name of the file that has the
+# commit message, followed by the description of the commit
+# message's source. The hook's purpose is to edit the commit
+# message file. If the hook fails with a non-zero status,
+# the commit is aborted.
+#
+# To enable this hook, rename this file to "prepare-commit-msg".
+
+# This hook includes three examples. The first comments out the
+# "Conflicts:" part of a merge commit.
+#
+# The second includes the output of "git diff --name-status -r"
+# into the message, just before the "git status" output. It is
+# commented because it doesn't cope with --amend or with squashed
+# commits.
+#
+# The third example adds a Signed-off-by line to the message, that can
+# still be edited. This is rarely a good idea.
+
+case "$2,$3" in
+ merge,)
+ /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;;
+
+# ,|template,)
+# /usr/bin/perl -i.bak -pe '
+# print "\n" . `git diff --cached --name-status -r`
+# if /^#/ && $first++ == 0' "$1" ;;
+
+ *) ;;
+esac
+
+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/update b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/update
new file mode 100755
index 0000000..c186fe4
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/update
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+ORI_DIR=`pwd`
+SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
+cd "$ORI_DIR"
+for i in `ls "$SHELL_FOLDER/update.d"`; do
+ sh "$SHELL_FOLDER/update.d/$i" $1 $2 $3
+done
\ No newline at end of file
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/update.d/gitea b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/update.d/gitea
new file mode 100755
index 0000000..615b4f4
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/update.d/gitea
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+"$GITEA_ROOT/gitea" hook --config='integrations/app.ini' update $1 $2 $3
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/update.sample b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/update.sample
new file mode 100755
index 0000000..80ba941
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/hooks/update.sample
@@ -0,0 +1,128 @@
+#!/bin/sh
+#
+# An example hook script to block unannotated tags from entering.
+# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
+#
+# To enable this hook, rename this file to "update".
+#
+# Config
+# ------
+# hooks.allowunannotated
+# This boolean sets whether unannotated tags will be allowed into the
+# repository. By default they won't be.
+# hooks.allowdeletetag
+# This boolean sets whether deleting tags will be allowed in the
+# repository. By default they won't be.
+# hooks.allowmodifytag
+# This boolean sets whether a tag may be modified after creation. By default
+# it won't be.
+# hooks.allowdeletebranch
+# This boolean sets whether deleting branches will be allowed in the
+# repository. By default they won't be.
+# hooks.denycreatebranch
+# This boolean sets whether remotely creating branches will be denied
+# in the repository. By default this is allowed.
+#
+
+# --- Command line
+refname="$1"
+oldrev="$2"
+newrev="$3"
+
+# --- Safety check
+if [ -z "$GIT_DIR" ]; then
+ echo "Don't run this script from the command line." >&2
+ echo " (if you want, you could supply GIT_DIR then run" >&2
+ echo " $0 [ ] )" >&2
+ exit 1
+fi
+
+if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
+ echo "usage: $0 [ ] " >&2
+ exit 1
+fi
+
+# --- Config
+allowunannotated=$(git config --bool hooks.allowunannotated)
+allowdeletebranch=$(git config --bool hooks.allowdeletebranch)
+denycreatebranch=$(git config --bool hooks.denycreatebranch)
+allowdeletetag=$(git config --bool hooks.allowdeletetag)
+allowmodifytag=$(git config --bool hooks.allowmodifytag)
+
+# check for no description
+projectdesc=$(sed -e '1q' "$GIT_DIR/description")
+case "$projectdesc" in
+"Unnamed repository"* | "")
+ echo "*** Project description file hasn't been set" >&2
+ exit 1
+ ;;
+esac
+
+# --- Check types
+# if $newrev is 0000...0000, it's a commit to delete a ref.
+zero="0000000000000000000000000000000000000000"
+if [ "$newrev" = "$zero" ]; then
+ newrev_type=delete
+else
+ newrev_type=$(git cat-file -t $newrev)
+fi
+
+case "$refname","$newrev_type" in
+ refs/tags/*,commit)
+ # un-annotated tag
+ short_refname=${refname##refs/tags/}
+ if [ "$allowunannotated" != "true" ]; then
+ echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
+ echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
+ exit 1
+ fi
+ ;;
+ refs/tags/*,delete)
+ # delete tag
+ if [ "$allowdeletetag" != "true" ]; then
+ echo "*** Deleting a tag is not allowed in this repository" >&2
+ exit 1
+ fi
+ ;;
+ refs/tags/*,tag)
+ # annotated tag
+ if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
+ then
+ echo "*** Tag '$refname' already exists." >&2
+ echo "*** Modifying a tag is not allowed in this repository." >&2
+ exit 1
+ fi
+ ;;
+ refs/heads/*,commit)
+ # branch
+ if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
+ echo "*** Creating a branch is not allowed in this repository" >&2
+ exit 1
+ fi
+ ;;
+ refs/heads/*,delete)
+ # delete branch
+ if [ "$allowdeletebranch" != "true" ]; then
+ echo "*** Deleting a branch is not allowed in this repository" >&2
+ exit 1
+ fi
+ ;;
+ refs/remotes/*,commit)
+ # tracking branch
+ ;;
+ refs/remotes/*,delete)
+ # delete tracking branch
+ if [ "$allowdeletebranch" != "true" ]; then
+ echo "*** Deleting a tracking branch is not allowed in this repository" >&2
+ exit 1
+ fi
+ ;;
+ *)
+ # Anything else (is there anything else?)
+ echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
+ exit 1
+ ;;
+esac
+
+# --- Finished
+exit 0
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/info/exclude b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/info/exclude
new file mode 100644
index 0000000..a5196d1
--- /dev/null
+++ b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/info/exclude
@@ -0,0 +1,6 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/objects/20/ade30d25e0ecaeec84e7f542a8456900858240 b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/objects/20/ade30d25e0ecaeec84e7f542a8456900858240
new file mode 100644
index 0000000000000000000000000000000000000000..9f3ffe5f27eab55ddf77a4eef3620a63549a1a32
GIT binary patch
literal 84
zcmV-a0IUCa0V^p=O;s>6XD~D{Ff%bx2y%6F@paY9O<}m2Wl((Z_V$gD$%0%ga|6z9
qy*=}fi2)EOq~s?vsF&Q^_bT_e(;3ggmAV@qbWh#J+5rIM${q^x(I*%H
literal 0
HcmV?d00001
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/objects/27/74debeea6dc742cc4971a92db0e08b95b60588 b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/objects/27/74debeea6dc742cc4971a92db0e08b95b60588
new file mode 100644
index 0000000000000000000000000000000000000000..5d9226f7a1240630524be4a3f27f4f31b1972c4c
GIT binary patch
literal 51
zcmV-30L=e*0V^p=O;s>9VK6i>Ff%bxNXbvu%S~a>pRM%QFmj1?wO{NFwm(;0-u@`e
J2LKmL5A5=Z6&nBm
literal 0
HcmV?d00001
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/objects/2a/47ca4b614a9f5a43abbd5ad851a54a616ffee6 b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/objects/2a/47ca4b614a9f5a43abbd5ad851a54a616ffee6
new file mode 100644
index 0000000000000000000000000000000000000000..ca60d2314fcda692990183d659d83ee440c1b995
GIT binary patch
literal 760
zcmVYOx;klMR72dt4;0R+*~O8>}``PUZ2-qtxFX@
zzcQJ_^G_pOnRY=y&KS-~OX8!%s4VQG3+deL$vl6&|{~De2HSfz`)_^n-GuEXHwgRaeKV9=$9fPOJ1R0w&iIoy1PPwU+nK$I{bkEo7A`*gjm6CvD_e$1?jz#N~O
za$_(}1e~skAZ#g_cMrB?V4Go^>n-WyBM+oNMmAPyk=}4>>B#PS@I$%`bj(%?W#cq$vH`uuPA-Xd;t|(ab9y}n`qJEc`7=3+E55E
z$e1f~*2Cub*`mHJ?;X>J)^ki#5tAz#O#)(g5k031yqQOfK2UuUvU(xh?s>+q2#7WU
zPQ_aDQ+K*Pm0NN_6;C(xXkDE?Y6;G%0+#1q=Fn1)S{}>pfgYb)I$r|Fv`LJBTSVP(
zb>$Z|pyzbAWM`N|X)pQxLk(E=9`8a`Kus_6?#{1_diM>Af6P%>n&^txCj_v@gI-fg
qUZ|GWE4B7C{oDJ4oXQ&c&k4mk{mKZW?!Q*Q-a`ZP8Tki~F*%6l+q`%%--?Q3*9;fw#G`w_Am_K7;=uqdh2LKN*4QBuV
literal 0
HcmV?d00001
diff --git a/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/objects/d5/6a3073c1dbb7b15963110a049d50cdb5db99fc b/integrations/gitea-integration-meta/gitea-repositories/user3/repo3.git/objects/d5/6a3073c1dbb7b15963110a049d50cdb5db99fc
new file mode 100644
index 0000000000000000000000000000000000000000..eff3c9833edabef54391c6c050778ee88eaa207b
GIT binary patch
literal 42
ycmb setting.UI.IssuePagingNum {
+ expectedNumIssues = setting.UI.IssuePagingNum
+ }
+ assert.EqualValues(t, expectedNumIssues, issuesSelection.Length())
+
+ issuesSelection.Each(func(_ int, selection *goquery.Selection) {
+ issue := getIssue(t, repo.ID, selection)
+ assert.EqualValues(t, user.ID, issue.PosterID)
+ })
+}
+
+func TestNoLoginViewIssue(t *testing.T) {
+ prepareTestEnv(t)
+
+ req := NewRequest(t, "GET", "/user2/repo1/issues/1")
+ MakeRequest(t, req, http.StatusOK)
+}
+
+func testNewIssue(t *testing.T, session *TestSession, user, repo, title string) {
+
+ req := NewRequest(t, "GET", path.Join(user, repo, "issues", "new"))
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ link, exists := htmlDoc.doc.Find("form.ui.form").Attr("action")
+ assert.True(t, exists, "The template has changed")
+ req = NewRequestWithValues(t, "POST", link, map[string]string{
+ "_csrf": htmlDoc.GetCSRF(),
+ "title": title,
+ })
+ resp = session.MakeRequest(t, req, http.StatusFound)
+
+ req = NewRequest(t, "GET", RedirectURL(t, resp))
+ resp = session.MakeRequest(t, req, http.StatusOK)
+}
+
+func TestNewIssue(t *testing.T) {
+ prepareTestEnv(t)
+ session := loginUser(t, "user2")
+ testNewIssue(t, session, "user2", "repo1", "Title")
+}
diff --git a/integrations/links_test.go b/integrations/links_test.go
new file mode 100644
index 0000000..bab147b
--- /dev/null
+++ b/integrations/links_test.go
@@ -0,0 +1,130 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "fmt"
+ "net/http"
+ "testing"
+
+ api "code.gitea.io/sdk/gitea"
+)
+
+func TestLinksNoLogin(t *testing.T) {
+ prepareTestEnv(t)
+
+ var links = []string{
+ "/explore/repos",
+ "/explore/repos?q=test&tab=",
+ "/explore/users",
+ "/explore/users?q=test&tab=",
+ "/explore/organizations",
+ "/explore/organizations?q=test&tab=",
+ "/",
+ "/user/sign_up",
+ "/user/login",
+ "/user/forgot_password",
+ "/swagger",
+ // TODO: follow this page and test every link
+ "/vendor/librejs.html",
+ }
+
+ for _, link := range links {
+ req := NewRequest(t, "GET", link)
+ MakeRequest(t, req, http.StatusOK)
+ }
+}
+
+func testLinksAsUser(userName string, t *testing.T) {
+ var links = []string{
+ "/explore/repos",
+ "/explore/repos?q=test&tab=",
+ "/explore/users",
+ "/explore/users?q=test&tab=",
+ "/explore/organizations",
+ "/explore/organizations?q=test&tab=",
+ "/",
+ "/user/forgot_password",
+ "/swagger",
+ "/issues",
+ "/issues?type=your_repositories&repo=0&sort=&state=open",
+ "/issues?type=assigned&repo=0&sort=&state=open",
+ "/issues?type=created_by&repo=0&sort=&state=open",
+ "/issues?type=your_repositories&repo=0&sort=&state=closed",
+ "/issues?type=assigned&repo=0&sort=&state=closed",
+ "/issues?type=created_by&repo=0&sort=&state=closed",
+ "/pulls",
+ "/pulls?type=your_repositories&repo=0&sort=&state=open",
+ "/pulls?type=assigned&repo=0&sort=&state=open",
+ "/pulls?type=created_by&repo=0&sort=&state=open",
+ "/pulls?type=your_repositories&repo=0&sort=&state=closed",
+ "/pulls?type=assigned&repo=0&sort=&state=closed",
+ "/pulls?type=created_by&repo=0&sort=&state=closed",
+ "/notifications",
+ "/repo/create",
+ "/repo/migrate",
+ "/org/create",
+ "/user2",
+ "/user2?tab=stars",
+ "/user2?tab=activity",
+ "/user/settings",
+ "/user/settings/avatar",
+ "/user/settings/password",
+ "/user/settings/email",
+ "/user/settings/keys",
+ "/user/settings/applications",
+ "/user/settings/two_factor",
+ "/user/settings/account_link",
+ "/user/settings/organization",
+ "/user/settings/delete",
+ }
+
+ session := loginUser(t, userName)
+ for _, link := range links {
+ req := NewRequest(t, "GET", link)
+ session.MakeRequest(t, req, http.StatusOK)
+ }
+
+ reqAPI := NewRequestf(t, "GET", "/api/v1/users/%s/repos", userName)
+ respAPI := MakeRequest(t, reqAPI, http.StatusOK)
+
+ var apiRepos []api.Repository
+ DecodeJSON(t, respAPI, &apiRepos)
+
+ var repoLinks = []string{
+ "",
+ "/issues",
+ "/pulls",
+ "/commits/master",
+ "/graph",
+ "/settings",
+ "/settings/collaboration",
+ "/settings/branches",
+ "/settings/hooks",
+ // FIXME: below links should return 200 but 404 ??
+ //"/settings/hooks/git",
+ //"/settings/hooks/git/pre-receive",
+ //"/settings/hooks/git/update",
+ //"/settings/hooks/git/post-receive",
+ "/settings/keys",
+ "/releases",
+ "/releases/new",
+ //"/wiki/_pages",
+ "/wiki/_new",
+ }
+
+ for _, repo := range apiRepos {
+ for _, link := range repoLinks {
+ req := NewRequest(t, "GET", fmt.Sprintf("/%s/%s%s", userName, repo.Name, link))
+ session.MakeRequest(t, req, http.StatusOK)
+ }
+ }
+}
+
+func TestLinksLogin(t *testing.T) {
+ prepareTestEnv(t)
+
+ testLinksAsUser("user2", t)
+}
diff --git a/integrations/mysql.ini b/integrations/mysql.ini
new file mode 100644
index 0000000..82acc24
--- /dev/null
+++ b/integrations/mysql.ini
@@ -0,0 +1,59 @@
+APP_NAME = Gitea: Git with a cup of tea
+RUN_MODE = prod
+
+[database]
+DB_TYPE = mysql
+HOST = mysql:3306
+NAME = testgitea
+USER = root
+PASSWD =
+SSL_MODE = disable
+PATH = data/gitea.db
+
+[repository]
+ROOT = integrations/gitea-integration/gitea-repositories
+
+[server]
+SSH_DOMAIN = localhost
+HTTP_PORT = 3000
+ROOT_URL = http://localhost:3000/
+DISABLE_SSH = false
+SSH_PORT = 22
+LFS_START_SERVER = false
+OFFLINE_MODE = false
+
+[mailer]
+ENABLED = false
+
+[service]
+REGISTER_EMAIL_CONFIRM = false
+ENABLE_NOTIFY_MAIL = false
+DISABLE_REGISTRATION = false
+ENABLE_CAPTCHA = false
+REQUIRE_SIGNIN_VIEW = false
+DEFAULT_KEEP_EMAIL_PRIVATE = false
+DEFAULT_ALLOW_CREATE_ORGANIZATION = true
+NO_REPLY_ADDRESS = noreply.example.org
+
+[picture]
+DISABLE_GRAVATAR = false
+ENABLE_FEDERATED_AVATAR = false
+
+[session]
+PROVIDER = file
+
+[log]
+MODE = console,file
+ROOT_PATH = mysql-log
+
+[log.console]
+LEVEL = Warn
+
+[log.file]
+LEVEL = Debug
+
+[security]
+INSTALL_LOCK = true
+SECRET_KEY = 9pCviYTWSb
+INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE0OTU1NTE2MTh9.hhSVGOANkaKk3vfCd2jDOIww4pUk0xtg9JRde5UogyQ
+
diff --git a/integrations/pgsql.ini b/integrations/pgsql.ini
new file mode 100644
index 0000000..fe979a6
--- /dev/null
+++ b/integrations/pgsql.ini
@@ -0,0 +1,58 @@
+APP_NAME = Gitea: Git with a cup of tea
+RUN_MODE = prod
+
+[database]
+DB_TYPE = postgres
+HOST = pgsql:5432
+NAME = testgitea
+USER = postgres
+PASSWD = postgres
+SSL_MODE = disable
+PATH = data/gitea.db
+
+[repository]
+ROOT = integrations/gitea-integration/gitea-repositories
+
+[server]
+SSH_DOMAIN = localhost
+HTTP_PORT = 3000
+ROOT_URL = http://localhost:3000/
+DISABLE_SSH = false
+SSH_PORT = 22
+LFS_START_SERVER = false
+OFFLINE_MODE = false
+
+[mailer]
+ENABLED = false
+
+[service]
+REGISTER_EMAIL_CONFIRM = false
+ENABLE_NOTIFY_MAIL = false
+DISABLE_REGISTRATION = false
+ENABLE_CAPTCHA = false
+REQUIRE_SIGNIN_VIEW = false
+DEFAULT_KEEP_EMAIL_PRIVATE = false
+DEFAULT_ALLOW_CREATE_ORGANIZATION = true
+NO_REPLY_ADDRESS = noreply.example.org
+
+[picture]
+DISABLE_GRAVATAR = false
+ENABLE_FEDERATED_AVATAR = false
+
+[session]
+PROVIDER = file
+
+[log]
+MODE = console,file
+ROOT_PATH = pgsql-log
+
+[log.console]
+LEVEL = Warn
+
+[log.file]
+LEVEL = Debug
+
+[security]
+INSTALL_LOCK = true
+SECRET_KEY = 9pCviYTWSb
+INTERNAL_TOKEN = test
diff --git a/integrations/pull_compare_test.go b/integrations/pull_compare_test.go
new file mode 100644
index 0000000..593b2f4
--- /dev/null
+++ b/integrations/pull_compare_test.go
@@ -0,0 +1,27 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestPullCompare(t *testing.T) {
+ prepareTestEnv(t)
+
+ session := loginUser(t, "user2")
+ req := NewRequest(t, "GET", "/user2/repo1/pulls")
+ resp := session.MakeRequest(t, req, http.StatusOK)
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ link, exists := htmlDoc.doc.Find(".navbar").Find(".ui.green.button").Attr("href")
+ assert.True(t, exists, "The template has changed")
+
+ req = NewRequest(t, "GET", link)
+ resp = session.MakeRequest(t, req, http.StatusOK)
+ assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
+}
diff --git a/integrations/pull_create_test.go b/integrations/pull_create_test.go
new file mode 100644
index 0000000..a62144c
--- /dev/null
+++ b/integrations/pull_create_test.go
@@ -0,0 +1,52 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "path"
+ "strings"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func testPullCreate(t *testing.T, session *TestSession, user, repo, branch string) *TestResponse {
+ req := NewRequest(t, "GET", path.Join(user, repo))
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ // Click the little green button to create a pull
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ link, exists := htmlDoc.doc.Find("button.ui.green.tiny.compact.button").Parent().Attr("href")
+ assert.True(t, exists, "The template has changed")
+ if branch != "master" {
+ link = strings.Replace(link, ":master", ":"+branch, 1)
+ }
+
+ req = NewRequest(t, "GET", link)
+ resp = session.MakeRequest(t, req, http.StatusOK)
+
+ // Submit the form for creating the pull
+ htmlDoc = NewHTMLParser(t, resp.Body)
+ link, exists = htmlDoc.doc.Find("form.ui.form").Attr("action")
+ assert.True(t, exists, "The template has changed")
+ req = NewRequestWithValues(t, "POST", link, map[string]string{
+ "_csrf": htmlDoc.GetCSRF(),
+ "title": "This is a pull title",
+ })
+ resp = session.MakeRequest(t, req, http.StatusFound)
+
+ //TODO check the redirected URL
+
+ return resp
+}
+
+func TestPullCreate(t *testing.T) {
+ prepareTestEnv(t)
+ session := loginUser(t, "user1")
+ testRepoFork(t, session, "user2", "repo1", "user1", "repo1")
+ testEditFile(t, session, "user1", "repo1", "master", "README.md")
+ testPullCreate(t, session, "user1", "repo1", "master")
+}
diff --git a/integrations/pull_merge_test.go b/integrations/pull_merge_test.go
new file mode 100644
index 0000000..100298b
--- /dev/null
+++ b/integrations/pull_merge_test.go
@@ -0,0 +1,93 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "path"
+ "strings"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func testPullMerge(t *testing.T, session *TestSession, user, repo, pullnum string) *TestResponse {
+ req := NewRequest(t, "GET", path.Join(user, repo, "pulls", pullnum))
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ // Click the little green button to create a pull
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ link, exists := htmlDoc.doc.Find("form.ui.form>button.ui.green.button").Parent().Attr("action")
+ assert.True(t, exists, "The template has changed")
+ req = NewRequestWithValues(t, "POST", link, map[string]string{
+ "_csrf": htmlDoc.GetCSRF(),
+ })
+ resp = session.MakeRequest(t, req, http.StatusFound)
+
+ return resp
+}
+
+func testPullCleanUp(t *testing.T, session *TestSession, user, repo, pullnum string) *TestResponse {
+ req := NewRequest(t, "GET", path.Join(user, repo, "pulls", pullnum))
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ // Click the little green button to create a pull
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ link, exists := htmlDoc.doc.Find(".comments .merge .delete-button").Attr("data-url")
+ assert.True(t, exists, "The template has changed")
+ req = NewRequestWithValues(t, "POST", link, map[string]string{
+ "_csrf": htmlDoc.GetCSRF(),
+ })
+ resp = session.MakeRequest(t, req, http.StatusOK)
+
+ return resp
+}
+
+func TestPullMerge(t *testing.T) {
+ prepareTestEnv(t)
+ session := loginUser(t, "user1")
+ testRepoFork(t, session, "user2", "repo1", "user1", "repo1")
+ testEditFile(t, session, "user1", "repo1", "master", "README.md")
+
+ resp := testPullCreate(t, session, "user1", "repo1", "master")
+
+ elem := strings.Split(RedirectURL(t, resp), "/")
+ assert.EqualValues(t, "pulls", elem[3])
+ testPullMerge(t, session, elem[1], elem[2], elem[4])
+}
+
+func TestPullCleanUpAfterMerge(t *testing.T) {
+ prepareTestEnv(t)
+ session := loginUser(t, "user1")
+ testRepoFork(t, session, "user2", "repo1", "user1", "repo1")
+ testEditFileToNewBranch(t, session, "user1", "repo1", "master", "feature/test", "README.md")
+
+ resp := testPullCreate(t, session, "user1", "repo1", "feature/test")
+
+ elem := strings.Split(RedirectURL(t, resp), "/")
+ assert.EqualValues(t, "pulls", elem[3])
+ testPullMerge(t, session, elem[1], elem[2], elem[4])
+
+ // Check PR branch deletion
+ resp = testPullCleanUp(t, session, elem[1], elem[2], elem[4])
+ respJSON := struct {
+ Redirect string
+ }{}
+ DecodeJSON(t, resp, &respJSON)
+
+ assert.NotEmpty(t, respJSON.Redirect, "Redirected URL is not found")
+
+ elem = strings.Split(respJSON.Redirect, "/")
+ assert.EqualValues(t, "pulls", elem[3])
+
+ // Check branch deletion result
+ req := NewRequest(t, "GET", respJSON.Redirect)
+ resp = session.MakeRequest(t, req, http.StatusOK)
+
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ resultMsg := htmlDoc.doc.Find(".ui.message>p").Text()
+
+ assert.EqualValues(t, "user1/feature/test has been deleted.", resultMsg)
+}
diff --git a/integrations/release_test.go b/integrations/release_test.go
new file mode 100644
index 0000000..bce1c88
--- /dev/null
+++ b/integrations/release_test.go
@@ -0,0 +1,116 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "fmt"
+ "net/http"
+ "testing"
+
+ "github.com/Unknwon/i18n"
+ "github.com/stretchr/testify/assert"
+)
+
+func createNewRelease(t *testing.T, session *TestSession, repoURL, tag, title string, preRelease, draft bool) {
+ req := NewRequest(t, "GET", repoURL+"/releases/new")
+ resp := session.MakeRequest(t, req, http.StatusOK)
+ htmlDoc := NewHTMLParser(t, resp.Body)
+
+ link, exists := htmlDoc.doc.Find("form").Attr("action")
+ assert.True(t, exists, "The template has changed")
+
+ postData := map[string]string{
+ "_csrf": htmlDoc.GetCSRF(),
+ "tag_name": tag,
+ "tag_target": "master",
+ "title": title,
+ "content": "",
+ }
+ if preRelease {
+ postData["prerelease"] = "on"
+ }
+ if draft {
+ postData["draft"] = "Save Draft"
+ }
+ req = NewRequestWithValues(t, "POST", link, postData)
+
+ resp = session.MakeRequest(t, req, http.StatusFound)
+
+ RedirectURL(t, resp) // check that redirect URL exists
+}
+
+func checkLatestReleaseAndCount(t *testing.T, session *TestSession, repoURL, version, label string, count int) {
+ req := NewRequest(t, "GET", repoURL+"/releases")
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ labelText := htmlDoc.doc.Find("#release-list > li .meta .label").First().Text()
+ assert.EqualValues(t, label, labelText)
+ titleText := htmlDoc.doc.Find("#release-list > li .detail h3 a").First().Text()
+ assert.EqualValues(t, version, titleText)
+
+ releaseList := htmlDoc.doc.Find("#release-list > li")
+ assert.EqualValues(t, count, releaseList.Length())
+}
+
+func TestViewReleases(t *testing.T) {
+ prepareTestEnv(t)
+
+ session := loginUser(t, "user2")
+ req := NewRequest(t, "GET", "/user2/repo1/releases")
+ session.MakeRequest(t, req, http.StatusOK)
+}
+
+func TestViewReleasesNoLogin(t *testing.T) {
+ prepareTestEnv(t)
+
+ req := NewRequest(t, "GET", "/user2/repo1/releases")
+ MakeRequest(t, req, http.StatusOK)
+}
+
+func TestCreateRelease(t *testing.T) {
+ prepareTestEnv(t)
+
+ session := loginUser(t, "user2")
+ createNewRelease(t, session, "/user2/repo1", "v0.0.1", "v0.0.1", false, false)
+
+ checkLatestReleaseAndCount(t, session, "/user2/repo1", "v0.0.1", i18n.Tr("en", "repo.release.stable"), 1)
+}
+
+func TestCreateReleasePreRelease(t *testing.T) {
+ prepareTestEnv(t)
+
+ session := loginUser(t, "user2")
+ createNewRelease(t, session, "/user2/repo1", "v0.0.1", "v0.0.1", true, false)
+
+ checkLatestReleaseAndCount(t, session, "/user2/repo1", "v0.0.1", i18n.Tr("en", "repo.release.prerelease"), 1)
+}
+
+func TestCreateReleaseDraft(t *testing.T) {
+ prepareTestEnv(t)
+
+ session := loginUser(t, "user2")
+ createNewRelease(t, session, "/user2/repo1", "v0.0.1", "v0.0.1", false, true)
+
+ checkLatestReleaseAndCount(t, session, "/user2/repo1", "v0.0.1", i18n.Tr("en", "repo.release.draft"), 1)
+}
+
+func TestCreateReleasePaging(t *testing.T) {
+ prepareTestEnv(t)
+
+ session := loginUser(t, "user2")
+ // Create enaugh releases to have paging
+ for i := 0; i < 12; i++ {
+ version := fmt.Sprintf("v0.0.%d", i)
+ createNewRelease(t, session, "/user2/repo1", version, version, false, false)
+ }
+ createNewRelease(t, session, "/user2/repo1", "v0.0.12", "v0.0.12", false, true)
+
+ checkLatestReleaseAndCount(t, session, "/user2/repo1", "v0.0.12", i18n.Tr("en", "repo.release.draft"), 10)
+
+ // Check that user3 does not see draft and still see 10 latest releases
+ session2 := loginUser(t, "user3")
+ checkLatestReleaseAndCount(t, session2, "/user2/repo1", "v0.0.11", i18n.Tr("en", "repo.release.stable"), 10)
+}
diff --git a/integrations/repo_commits_test.go b/integrations/repo_commits_test.go
new file mode 100644
index 0000000..bf35398
--- /dev/null
+++ b/integrations/repo_commits_test.go
@@ -0,0 +1,89 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "path"
+ "testing"
+
+ api "code.gitea.io/sdk/gitea"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestRepoCommits(t *testing.T) {
+ prepareTestEnv(t)
+
+ session := loginUser(t, "user2")
+
+ // Request repository commits page
+ req := NewRequest(t, "GET", "/user2/repo1/commits/master")
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ doc := NewHTMLParser(t, resp.Body)
+ commitURL, exists := doc.doc.Find("#commits-table tbody tr td.sha a").Attr("href")
+ assert.True(t, exists)
+ assert.NotEmpty(t, commitURL)
+}
+
+func doTestRepoCommitWithStatus(t *testing.T, state string, classes ...string) {
+ prepareTestEnv(t)
+
+ session := loginUser(t, "user2")
+
+ // Request repository commits page
+ req := NewRequest(t, "GET", "/user2/repo1/commits/master")
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ doc := NewHTMLParser(t, resp.Body)
+ // Get first commit URL
+ commitURL, exists := doc.doc.Find("#commits-table tbody tr td.sha a").Attr("href")
+ assert.True(t, exists)
+ assert.NotEmpty(t, commitURL)
+
+ // Call API to add status for commit
+ req = NewRequestWithJSON(t, "POST", "/api/v1/repos/user2/repo1/statuses/"+path.Base(commitURL),
+ api.CreateStatusOption{
+ State: api.StatusState(state),
+ TargetURL: "http://test.ci/",
+ Description: "",
+ Context: "testci",
+ },
+ )
+
+ resp = session.MakeRequest(t, req, http.StatusCreated)
+
+ req = NewRequest(t, "GET", "/user2/repo1/commits/master")
+ resp = session.MakeRequest(t, req, http.StatusOK)
+
+ doc = NewHTMLParser(t, resp.Body)
+ // Check if commit status is displayed in message column
+ sel := doc.doc.Find("#commits-table tbody tr td.message i.commit-status")
+ assert.Equal(t, sel.Length(), 1)
+ for _, class := range classes {
+ assert.True(t, sel.HasClass(class))
+ }
+}
+
+func TestRepoCommitsWithStatusPending(t *testing.T) {
+ doTestRepoCommitWithStatus(t, "pending", "circle", "yellow")
+}
+
+func TestRepoCommitsWithStatusSuccess(t *testing.T) {
+ doTestRepoCommitWithStatus(t, "success", "check", "green")
+}
+
+func TestRepoCommitsWithStatusError(t *testing.T) {
+ doTestRepoCommitWithStatus(t, "error", "warning", "red")
+}
+
+func TestRepoCommitsWithStatusFailure(t *testing.T) {
+ doTestRepoCommitWithStatus(t, "failure", "remove", "red")
+}
+
+func TestRepoCommitsWithStatusWarning(t *testing.T) {
+ doTestRepoCommitWithStatus(t, "warning", "warning", "sign", "yellow")
+}
diff --git a/integrations/repo_fork_test.go b/integrations/repo_fork_test.go
new file mode 100644
index 0000000..f8cc2e3
--- /dev/null
+++ b/integrations/repo_fork_test.go
@@ -0,0 +1,73 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "fmt"
+ "net/http"
+ "testing"
+
+ "code.gitea.io/gitea/models"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func testRepoFork(t *testing.T, session *TestSession, ownerName, repoName, forkOwnerName, forkRepoName string) *TestResponse {
+ forkOwner := models.AssertExistsAndLoadBean(t, &models.User{Name: forkOwnerName}).(*models.User)
+
+ // Step0: check the existence of the to-fork repo
+ req := NewRequestf(t, "GET", "/%s/%s", forkOwnerName, forkRepoName)
+ resp := session.MakeRequest(t, req, http.StatusNotFound)
+
+ // Step1: go to the main page of repo
+ req = NewRequestf(t, "GET", "/%s/%s", ownerName, repoName)
+ resp = session.MakeRequest(t, req, http.StatusOK)
+
+ // Step2: click the fork button
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ link, exists := htmlDoc.doc.Find("a.ui.button[href^=\"/repo/fork/\"]").Attr("href")
+ assert.True(t, exists, "The template has changed")
+ req = NewRequest(t, "GET", link)
+ resp = session.MakeRequest(t, req, http.StatusOK)
+
+ // Step3: fill the form of the forking
+ htmlDoc = NewHTMLParser(t, resp.Body)
+ link, exists = htmlDoc.doc.Find("form.ui.form[action^=\"/repo/fork/\"]").Attr("action")
+ assert.True(t, exists, "The template has changed")
+ _, exists = htmlDoc.doc.Find(fmt.Sprintf(".owner.dropdown .item[data-value=\"%d\"]", forkOwner.ID)).Attr("data-value")
+ assert.True(t, exists, fmt.Sprintf("Fork owner '%s' is not present in select box", forkOwnerName))
+ req = NewRequestWithValues(t, "POST", link, map[string]string{
+ "_csrf": htmlDoc.GetCSRF(),
+ "uid": fmt.Sprintf("%d", forkOwner.ID),
+ "repo_name": forkRepoName,
+ })
+ resp = session.MakeRequest(t, req, http.StatusFound)
+
+ // Step4: check the existence of the forked repo
+ req = NewRequestf(t, "GET", "/%s/%s", forkOwnerName, forkRepoName)
+ resp = session.MakeRequest(t, req, http.StatusOK)
+
+ return resp
+}
+
+func TestRepoFork(t *testing.T) {
+ prepareTestEnv(t)
+ session := loginUser(t, "user1")
+ testRepoFork(t, session, "user2", "repo1", "user1", "repo1")
+}
+
+func TestRepoForkToOrg(t *testing.T) {
+ prepareTestEnv(t)
+ session := loginUser(t, "user2")
+ testRepoFork(t, session, "user2", "repo1", "user3", "repo1")
+
+ // Check that no more forking is allowed as user2 owns repository
+ // and user3 organization that owner user2 is also now has forked this repository
+ req := NewRequest(t, "GET", "/user2/repo1")
+ resp := session.MakeRequest(t, req, http.StatusOK)
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ _, exists := htmlDoc.doc.Find("a.ui.button[href^=\"/repo/fork/\"]").Attr("href")
+ assert.False(t, exists, "Forking should not be allowed anymore")
+}
diff --git a/integrations/repo_migrate_test.go b/integrations/repo_migrate_test.go
new file mode 100644
index 0000000..4307ddf
--- /dev/null
+++ b/integrations/repo_migrate_test.go
@@ -0,0 +1,67 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func testRepoMigrate(t testing.TB, session *TestSession, cloneAddr, repoName string) *TestResponse {
+ req := NewRequest(t, "GET", "/repo/migrate")
+ resp := session.MakeRequest(t, req, http.StatusOK)
+ htmlDoc := NewHTMLParser(t, resp.Body)
+
+ link, exists := htmlDoc.doc.Find("form.ui.form").Attr("action")
+ assert.True(t, exists, "The template has changed")
+
+ uid, exists := htmlDoc.doc.Find("#uid").Attr("value")
+ assert.True(t, exists, "The template has changed")
+
+ req = NewRequestWithValues(t, "POST", link, map[string]string{
+ "_csrf": htmlDoc.GetCSRF(),
+ "clone_addr": cloneAddr,
+ "uid": uid,
+ "repo_name": repoName,
+ },
+ )
+ resp = session.MakeRequest(t, req, http.StatusFound)
+
+ return resp
+}
+
+func TestRepoMigrate(t *testing.T) {
+ prepareTestEnv(t)
+ session := loginUser(t, "user2")
+ testRepoMigrate(t, session, "https://github.com/go-gitea/git.git", "git")
+}
+
+func BenchmarkRepoMigrate(b *testing.B) {
+ samples := []struct {
+ url string
+ name string
+ }{
+ {url: "https://github.com/go-gitea/gitea.git", name: "gitea"},
+ {url: "https://github.com/ethantkoenig/manyfiles.git", name: "manyfiles"},
+ {url: "https://github.com/moby/moby.git", name: "moby"},
+ {url: "https://github.com/golang/go.git", name: "go"},
+ {url: "https://github.com/torvalds/linux.git", name: "linux"},
+ }
+
+ prepareTestEnv(b)
+ session := loginUser(b, "user2")
+ b.ResetTimer()
+
+ for _, s := range samples {
+ b.Run(s.name, func(b *testing.B) {
+ for i := 0; i < b.N; i++ {
+ testRepoMigrate(b, session, s.url, s.name)
+ }
+
+ })
+ }
+}
diff --git a/integrations/repo_test.go b/integrations/repo_test.go
new file mode 100644
index 0000000..8465bbd
--- /dev/null
+++ b/integrations/repo_test.go
@@ -0,0 +1,76 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "fmt"
+ "net/http"
+ "testing"
+
+ "code.gitea.io/gitea/modules/setting"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestViewRepo(t *testing.T) {
+ prepareTestEnv(t)
+
+ req := NewRequest(t, "GET", "/user2/repo1")
+ MakeRequest(t, req, http.StatusOK)
+
+ req = NewRequest(t, "GET", "/user3/repo3")
+ MakeRequest(t, req, http.StatusNotFound)
+
+ session := loginUser(t, "user1")
+ session.MakeRequest(t, req, http.StatusNotFound)
+}
+
+func TestViewRepo2(t *testing.T) {
+ prepareTestEnv(t)
+
+ req := NewRequest(t, "GET", "/user3/repo3")
+ session := loginUser(t, "user2")
+ session.MakeRequest(t, req, http.StatusOK)
+}
+
+func TestViewRepo3(t *testing.T) {
+ prepareTestEnv(t)
+
+ req := NewRequest(t, "GET", "/user3/repo3")
+ session := loginUser(t, "user4")
+ session.MakeRequest(t, req, http.StatusOK)
+}
+
+func TestViewRepo1CloneLinkAnonymous(t *testing.T) {
+ prepareTestEnv(t)
+
+ req := NewRequest(t, "GET", "/user2/repo1")
+ resp := MakeRequest(t, req, http.StatusOK)
+
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ link, exists := htmlDoc.doc.Find("#repo-clone-https").Attr("data-link")
+ assert.True(t, exists, "The template has changed")
+ assert.Equal(t, setting.AppURL+"user2/repo1.git", link)
+ _, exists = htmlDoc.doc.Find("#repo-clone-ssh").Attr("data-link")
+ assert.False(t, exists)
+}
+
+func TestViewRepo1CloneLinkAuthorized(t *testing.T) {
+ prepareTestEnv(t)
+
+ session := loginUser(t, "user2")
+
+ req := NewRequest(t, "GET", "/user2/repo1")
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ link, exists := htmlDoc.doc.Find("#repo-clone-https").Attr("data-link")
+ assert.True(t, exists, "The template has changed")
+ assert.Equal(t, setting.AppURL+"user2/repo1.git", link)
+ link, exists = htmlDoc.doc.Find("#repo-clone-ssh").Attr("data-link")
+ assert.True(t, exists, "The template has changed")
+ sshURL := fmt.Sprintf("%s@%s:user2/repo1.git", setting.RunUser, setting.SSH.Domain)
+ assert.Equal(t, sshURL, link)
+}
diff --git a/integrations/setting_test.go b/integrations/setting_test.go
new file mode 100644
index 0000000..a8d1f01
--- /dev/null
+++ b/integrations/setting_test.go
@@ -0,0 +1,70 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "testing"
+
+ "code.gitea.io/gitea/modules/setting"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestSettingShowUserEmailExplore(t *testing.T) {
+ prepareTestEnv(t)
+
+ showUserEmail := setting.UI.ShowUserEmail
+ setting.UI.ShowUserEmail = true
+
+ session := loginUser(t, "user2")
+ req := NewRequest(t, "GET", "/explore/users")
+ resp := session.MakeRequest(t, req, http.StatusOK)
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ assert.Contains(t,
+ htmlDoc.doc.Find(".ui.user.list").Text(),
+ "user2@example.com",
+ )
+
+ setting.UI.ShowUserEmail = false
+
+ req = NewRequest(t, "GET", "/explore/users")
+ resp = session.MakeRequest(t, req, http.StatusOK)
+ htmlDoc = NewHTMLParser(t, resp.Body)
+ assert.NotContains(t,
+ htmlDoc.doc.Find(".ui.user.list").Text(),
+ "user2@example.com",
+ )
+
+ setting.UI.ShowUserEmail = showUserEmail
+}
+
+func TestSettingShowUserEmailProfile(t *testing.T) {
+ prepareTestEnv(t)
+
+ showUserEmail := setting.UI.ShowUserEmail
+ setting.UI.ShowUserEmail = true
+
+ session := loginUser(t, "user2")
+ req := NewRequest(t, "GET", "/user2")
+ resp := session.MakeRequest(t, req, http.StatusOK)
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ assert.Contains(t,
+ htmlDoc.doc.Find(".user.profile").Text(),
+ "user2@example.com",
+ )
+
+ setting.UI.ShowUserEmail = false
+
+ req = NewRequest(t, "GET", "/user2")
+ resp = session.MakeRequest(t, req, http.StatusOK)
+ htmlDoc = NewHTMLParser(t, resp.Body)
+ assert.NotContains(t,
+ htmlDoc.doc.Find(".user.profile").Text(),
+ "user2@example.com",
+ )
+
+ setting.UI.ShowUserEmail = showUserEmail
+}
diff --git a/integrations/signin_test.go b/integrations/signin_test.go
new file mode 100644
index 0000000..9eab5b5
--- /dev/null
+++ b/integrations/signin_test.go
@@ -0,0 +1,60 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "strings"
+ "testing"
+
+ "code.gitea.io/gitea/models"
+
+ "github.com/Unknwon/i18n"
+ "github.com/stretchr/testify/assert"
+)
+
+func testLoginFailed(t *testing.T, username, password, message string) {
+ session := emptyTestSession(t)
+ req := NewRequestWithValues(t, "POST", "/user/login", map[string]string{
+ "_csrf": GetCSRF(t, session, "/user/login"),
+ "user_name": username,
+ "password": password,
+ })
+ resp := session.MakeRequest(t, req, http.StatusOK)
+
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ resultMsg := htmlDoc.doc.Find(".ui.message>p").Text()
+
+ assert.EqualValues(t, message, resultMsg)
+}
+
+func TestSignin(t *testing.T) {
+ prepareTestEnv(t)
+
+ user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)
+
+ // add new user with user2's email
+ user.Name = "testuser"
+ user.LowerName = strings.ToLower(user.Name)
+ user.ID = 0
+ models.AssertSuccessfulInsert(t, user)
+
+ samples := []struct {
+ username string
+ password string
+ message string
+ }{
+ {username: "wrongUsername", password: "wrongPassword", message: i18n.Tr("en", "form.username_password_incorrect")},
+ {username: "wrongUsername", password: "password", message: i18n.Tr("en", "form.username_password_incorrect")},
+ {username: "user15", password: "wrongPassword", message: i18n.Tr("en", "form.username_password_incorrect")},
+ {username: "user1@example.com", password: "wrongPassword", message: i18n.Tr("en", "form.username_password_incorrect")},
+ // test for duplicate email
+ {username: "user2@example.com", password: "password", message: i18n.Tr("en", "form.email_been_used")},
+ }
+
+ for _, s := range samples {
+ testLoginFailed(t, s.username, s.password, s.message)
+ }
+}
diff --git a/integrations/signup_test.go b/integrations/signup_test.go
new file mode 100644
index 0000000..325c906
--- /dev/null
+++ b/integrations/signup_test.go
@@ -0,0 +1,30 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "testing"
+
+ "code.gitea.io/gitea/modules/setting"
+)
+
+func TestSignup(t *testing.T) {
+ prepareTestEnv(t)
+
+ setting.Service.EnableCaptcha = false
+
+ req := NewRequestWithValues(t, "POST", "/user/sign_up", map[string]string{
+ "user_name": "exampleUser",
+ "email": "exampleUser@example.com",
+ "password": "examplePassword",
+ "retype": "examplePassword",
+ })
+ MakeRequest(t, req, http.StatusFound)
+
+ // should be able to view new user's page
+ req = NewRequest(t, "GET", "/exampleUser")
+ MakeRequest(t, req, http.StatusOK)
+}
diff --git a/integrations/sqlite.ini b/integrations/sqlite.ini
new file mode 100644
index 0000000..799a44b
--- /dev/null
+++ b/integrations/sqlite.ini
@@ -0,0 +1,54 @@
+APP_NAME = Gitea: Git with a cup of tea
+RUN_MODE = prod
+
+[database]
+DB_TYPE = sqlite3
+PATH = :memory:
+
+[repository]
+ROOT = integrations/gitea-integration/gitea-repositories
+
+[server]
+SSH_DOMAIN = localhost
+HTTP_PORT = 3000
+ROOT_URL = http://localhost:3000/
+DISABLE_SSH = false
+SSH_PORT = 22
+LFS_START_SERVER = false
+OFFLINE_MODE = false
+
+[mailer]
+ENABLED = false
+
+[service]
+REGISTER_EMAIL_CONFIRM = false
+ENABLE_NOTIFY_MAIL = false
+DISABLE_REGISTRATION = false
+ENABLE_CAPTCHA = false
+REQUIRE_SIGNIN_VIEW = false
+DEFAULT_KEEP_EMAIL_PRIVATE = false
+DEFAULT_ALLOW_CREATE_ORGANIZATION = true
+NO_REPLY_ADDRESS = noreply.example.org
+
+[picture]
+DISABLE_GRAVATAR = false
+ENABLE_FEDERATED_AVATAR = false
+
+[session]
+PROVIDER = file
+
+[log]
+MODE = console,file
+ROOT_PATH = sqlite-log
+
+[log.console]
+LEVEL = Warn
+
+[log.file]
+LEVEL = Debug
+
+[security]
+INSTALL_LOCK = true
+SECRET_KEY = 9pCviYTWSb
+INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE0OTI3OTU5ODN9.OQkH5UmzID2XBdwQ9TAI6Jj2t1X-wElVTjbE7aoN4I8
+
diff --git a/integrations/user_test.go b/integrations/user_test.go
new file mode 100644
index 0000000..ddb46da
--- /dev/null
+++ b/integrations/user_test.go
@@ -0,0 +1,99 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "testing"
+
+ "code.gitea.io/gitea/models"
+
+ "github.com/Unknwon/i18n"
+ "github.com/stretchr/testify/assert"
+)
+
+func TestViewUser(t *testing.T) {
+ prepareTestEnv(t)
+
+ req := NewRequest(t, "GET", "/user2")
+ MakeRequest(t, req, http.StatusOK)
+}
+
+func TestRenameUsername(t *testing.T) {
+ prepareTestEnv(t)
+
+ session := loginUser(t, "user2")
+ req := NewRequestWithValues(t, "POST", "/user/settings", map[string]string{
+ "_csrf": GetCSRF(t, session, "/user/settings"),
+ "name": "newUsername",
+ "email": "user2@example.com",
+ })
+ session.MakeRequest(t, req, http.StatusFound)
+
+ models.AssertExistsAndLoadBean(t, &models.User{Name: "newUsername"})
+ models.AssertNotExistsBean(t, &models.User{Name: "user2"})
+}
+
+func TestRenameInvalidUsername(t *testing.T) {
+ prepareTestEnv(t)
+
+ invalidUsernames := []string{
+ "%2f*",
+ "%2f.",
+ "%2f..",
+ "%00",
+ "thisHas ASpace",
+ }
+
+ session := loginUser(t, "user2")
+ for _, invalidUsername := range invalidUsernames {
+ t.Logf("Testing username %s", invalidUsername)
+
+ req := NewRequestWithValues(t, "POST", "/user/settings", map[string]string{
+ "_csrf": GetCSRF(t, session, "/user/settings"),
+ "name": invalidUsername,
+ "email": "user2@example.com",
+ })
+ resp := session.MakeRequest(t, req, http.StatusOK)
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ assert.Contains(t,
+ htmlDoc.doc.Find(".ui.negative.message").Text(),
+ i18n.Tr("en", "form.alpha_dash_dot_error"),
+ )
+
+ models.AssertNotExistsBean(t, &models.User{Name: invalidUsername})
+ }
+}
+
+func TestRenameReservedUsername(t *testing.T) {
+ prepareTestEnv(t)
+
+ reservedUsernames := []string{
+ "help",
+ "user",
+ "template",
+ }
+
+ session := loginUser(t, "user2")
+ for _, reservedUsername := range reservedUsernames {
+ t.Logf("Testing username %s", reservedUsername)
+ req := NewRequestWithValues(t, "POST", "/user/settings", map[string]string{
+ "_csrf": GetCSRF(t, session, "/user/settings"),
+ "name": reservedUsername,
+ "email": "user2@example.com",
+ })
+ resp := session.MakeRequest(t, req, http.StatusFound)
+
+ req = NewRequest(t, "GET", RedirectURL(t, resp))
+ resp = session.MakeRequest(t, req, http.StatusOK)
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ assert.Contains(t,
+ htmlDoc.doc.Find(".ui.negative.message").Text(),
+ i18n.Tr("en", "user.newName_reserved"),
+ )
+
+ models.AssertNotExistsBean(t, &models.User{Name: reservedUsername})
+ }
+}
diff --git a/integrations/version_test.go b/integrations/version_test.go
index beda5c3..95b4dbc 100644
--- a/integrations/version_test.go
+++ b/integrations/version_test.go
@@ -2,81 +2,26 @@
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
-package integration
+package integrations
import (
- "encoding/json"
- "fmt"
- "log"
"net/http"
- "os"
- "os/exec"
- "path/filepath"
- "strings"
"testing"
- "code.gitea.io/gitea/integrations/internal/utils"
+ "code.gitea.io/gitea/modules/setting"
"code.gitea.io/sdk/gitea"
"github.com/stretchr/testify/assert"
)
-func version(t *utils.T) error {
- var err error
-
- path, err := filepath.Abs(t.Config.Program)
- if err != nil {
- return err
- }
-
- cmd := exec.Command(path, "--version")
- out, err := cmd.Output()
- if err != nil {
- return err
- }
-
- fields := strings.Fields(string(out))
- if !strings.HasPrefix(string(out), "Gitea version") {
- return fmt.Errorf("unexpected version string '%s' of the gitea executable", out)
- }
-
- expected := fields[2]
-
- var r *http.Response
- r, err = http.Get("http://:" + ServerHTTPPort + "/api/v1/version")
- if err != nil {
- return err
- }
- defer r.Body.Close()
-
- if r.StatusCode != http.StatusOK {
- return fmt.Errorf("'/api/v1/version': %s\n", r.Status)
- }
-
- var v gitea.ServerVersion
-
- dec := json.NewDecoder(r.Body)
- if err := dec.Decode(&v); err != nil {
- return err
- }
-
- actual := v.Version
-
- log.Printf("Actual: \"%s\" Expected: \"%s\"\n", actual, expected)
- assert.Equal(t, expected, actual)
-
- return nil
-}
-
func TestVersion(t *testing.T) {
- conf := utils.Config{
- Program: "../gitea",
- WorkDir: "",
- Args: []string{"web", "--port", ServerHTTPPort},
- LogFile: os.Stderr,
- }
+ prepareTestEnv(t)
- if err := utils.New(t, &conf).RunTest(install, version); err != nil {
- t.Fatal(err)
- }
+ setting.AppVer = "1.1.0+dev"
+ req := NewRequest(t, "GET", "/api/v1/version")
+ resp := MakeRequest(t, req, http.StatusOK)
+
+ var version gitea.ServerVersion
+ DecodeJSON(t, resp, &version)
+ assert.Equal(t, setting.AppVer, string(version.Version))
}
diff --git a/integrations/xss_test.go b/integrations/xss_test.go
new file mode 100644
index 0000000..d71c680
--- /dev/null
+++ b/integrations/xss_test.go
@@ -0,0 +1,37 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+ "net/http"
+ "testing"
+
+ "code.gitea.io/gitea/models"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestXSSUserFullName(t *testing.T) {
+ prepareTestEnv(t)
+ user := models.AssertExistsAndLoadBean(t, &models.User{ID: 2}).(*models.User)
+ const fullName = `name & `
+
+ session := loginUser(t, user.Name)
+ req := NewRequestWithValues(t, "POST", "/user/settings", map[string]string{
+ "_csrf": GetCSRF(t, session, "/user/settings"),
+ "name": user.Name,
+ "full_name": fullName,
+ "email": user.Email,
+ })
+ session.MakeRequest(t, req, http.StatusFound)
+
+ req = NewRequestf(t, "GET", "/%s", user.Name)
+ resp := session.MakeRequest(t, req, http.StatusOK)
+ htmlDoc := NewHTMLParser(t, resp.Body)
+ assert.EqualValues(t, 0, htmlDoc.doc.Find("script.evil").Length())
+ assert.EqualValues(t, fullName,
+ htmlDoc.doc.Find("div.content").Find(".header.text.center").Text(),
+ )
+}
diff --git a/main.go b/main.go
index 383dbc2..f208c1d 100644
--- a/main.go
+++ b/main.go
@@ -17,7 +17,7 @@ import (
)
// Version holds the current Gitea version
-var Version = "1.1.0+dev"
+var Version = "1.2.0-dev"
// Tags holds the build tags used
var Tags = ""
diff --git a/models/access.go b/models/access.go
index 49a8838..98ead19 100644
--- a/models/access.go
+++ b/models/access.go
@@ -59,21 +59,21 @@ type Access struct {
Mode AccessMode
}
-func accessLevel(e Engine, user *User, repo *Repository) (AccessMode, error) {
+func accessLevel(e Engine, userID int64, repo *Repository) (AccessMode, error) {
mode := AccessModeNone
if !repo.IsPrivate {
mode = AccessModeRead
}
- if user == nil {
+ if userID == 0 {
return mode, nil
}
- if user.ID == repo.OwnerID {
+ if userID == repo.OwnerID {
return AccessModeOwner, nil
}
- a := &Access{UserID: user.ID, RepoID: repo.ID}
+ a := &Access{UserID: userID, RepoID: repo.ID}
if has, err := e.Get(a); !has || err != nil {
return mode, err
}
@@ -81,19 +81,19 @@ func accessLevel(e Engine, user *User, repo *Repository) (AccessMode, error) {
}
// AccessLevel returns the Access a user has to a repository. Will return NoneAccess if the
-// user does not have access. User can be nil!
-func AccessLevel(user *User, repo *Repository) (AccessMode, error) {
- return accessLevel(x, user, repo)
+// user does not have access.
+func AccessLevel(userID int64, repo *Repository) (AccessMode, error) {
+ return accessLevel(x, userID, repo)
}
-func hasAccess(e Engine, user *User, repo *Repository, testMode AccessMode) (bool, error) {
- mode, err := accessLevel(e, user, repo)
+func hasAccess(e Engine, userID int64, repo *Repository, testMode AccessMode) (bool, error) {
+ mode, err := accessLevel(e, userID, repo)
return testMode <= mode, err
}
-// HasAccess returns true if someone has the request access level. User can be nil!
-func HasAccess(user *User, repo *Repository, testMode AccessMode) (bool, error) {
- return hasAccess(x, user, repo, testMode)
+// HasAccess returns true if user has access to repo
+func HasAccess(userID int64, repo *Repository, testMode AccessMode) (bool, error) {
+ return hasAccess(x, userID, repo, testMode)
}
type repoAccess struct {
diff --git a/models/access_test.go b/models/access_test.go
index 6b3cce5..59575ac 100644
--- a/models/access_test.go
+++ b/models/access_test.go
@@ -21,23 +21,23 @@ func TestAccessLevel(t *testing.T) {
assert.NoError(t, PrepareTestDatabase())
user1 := AssertExistsAndLoadBean(t, &User{ID: 2}).(*User)
- user2 := AssertExistsAndLoadBean(t, &User{ID: 4}).(*User)
+ user2 := AssertExistsAndLoadBean(t, &User{ID: 5}).(*User)
repo1 := AssertExistsAndLoadBean(t, &Repository{OwnerID: 2, IsPrivate: false}).(*Repository)
repo2 := AssertExistsAndLoadBean(t, &Repository{OwnerID: 3, IsPrivate: true}).(*Repository)
- level, err := AccessLevel(user1, repo1)
+ level, err := AccessLevel(user1.ID, repo1)
assert.NoError(t, err)
assert.Equal(t, AccessModeOwner, level)
- level, err = AccessLevel(user1, repo2)
+ level, err = AccessLevel(user1.ID, repo2)
assert.NoError(t, err)
assert.Equal(t, AccessModeWrite, level)
- level, err = AccessLevel(user2, repo1)
+ level, err = AccessLevel(user2.ID, repo1)
assert.NoError(t, err)
assert.Equal(t, AccessModeRead, level)
- level, err = AccessLevel(user2, repo2)
+ level, err = AccessLevel(user2.ID, repo2)
assert.NoError(t, err)
assert.Equal(t, AccessModeNone, level)
}
@@ -46,24 +46,24 @@ func TestHasAccess(t *testing.T) {
assert.NoError(t, PrepareTestDatabase())
user1 := AssertExistsAndLoadBean(t, &User{ID: 2}).(*User)
- user2 := AssertExistsAndLoadBean(t, &User{ID: 4}).(*User)
+ user2 := AssertExistsAndLoadBean(t, &User{ID: 5}).(*User)
repo1 := AssertExistsAndLoadBean(t, &Repository{OwnerID: 2, IsPrivate: false}).(*Repository)
repo2 := AssertExistsAndLoadBean(t, &Repository{OwnerID: 3, IsPrivate: true}).(*Repository)
for _, accessMode := range accessModes {
- has, err := HasAccess(user1, repo1, accessMode)
+ has, err := HasAccess(user1.ID, repo1, accessMode)
assert.NoError(t, err)
assert.True(t, has)
- has, err = HasAccess(user1, repo2, accessMode)
+ has, err = HasAccess(user1.ID, repo2, accessMode)
assert.NoError(t, err)
assert.Equal(t, accessMode <= AccessModeWrite, has)
- has, err = HasAccess(user2, repo1, accessMode)
+ has, err = HasAccess(user2.ID, repo1, accessMode)
assert.NoError(t, err)
assert.Equal(t, accessMode <= AccessModeRead, has)
- has, err = HasAccess(user2, repo2, accessMode)
+ has, err = HasAccess(user2.ID, repo2, accessMode)
assert.NoError(t, err)
assert.Equal(t, accessMode <= AccessModeNone, has)
}
diff --git a/models/action.go b/models/action.go
index 6f76cbc..32b3dbd 100644
--- a/models/action.go
+++ b/models/action.go
@@ -9,11 +9,13 @@ import (
"fmt"
"path"
"regexp"
+ "strconv"
"strings"
"time"
"unicode"
"github.com/Unknwon/com"
+ "github.com/go-xorm/builder"
"github.com/go-xorm/xorm"
"code.gitea.io/git"
@@ -70,20 +72,21 @@ func init() {
// repository. It implemented interface base.Actioner so that can be
// used in template render.
type Action struct {
- ID int64 `xorm:"pk autoincr"`
- UserID int64 `xorm:"INDEX"` // Receiver user id.
- OpType ActionType
- ActUserID int64 `xorm:"INDEX"` // Action user id.
- ActUserName string // Action user name.
- ActAvatar string `xorm:"-"`
- RepoID int64 `xorm:"INDEX"`
- RepoUserName string
- RepoName string
- RefName string
- IsPrivate bool `xorm:"INDEX NOT NULL DEFAULT false"`
- Content string `xorm:"TEXT"`
- Created time.Time `xorm:"-"`
- CreatedUnix int64 `xorm:"INDEX"`
+ ID int64 `xorm:"pk autoincr"`
+ UserID int64 `xorm:"INDEX"` // Receiver user id.
+ OpType ActionType
+ ActUserID int64 `xorm:"INDEX"` // Action user id.
+ ActUser *User `xorm:"-"`
+ RepoID int64 `xorm:"INDEX"`
+ Repo *Repository `xorm:"-"`
+ CommentID int64 `xorm:"INDEX"`
+ Comment *Comment `xorm:"-"`
+ IsDeleted bool `xorm:"INDEX NOT NULL DEFAULT false"`
+ RefName string
+ IsPrivate bool `xorm:"INDEX NOT NULL DEFAULT false"`
+ Content string `xorm:"TEXT"`
+ Created time.Time `xorm:"-"`
+ CreatedUnix int64 `xorm:"INDEX"`
}
// BeforeInsert will be invoked by XORM before inserting a record
@@ -106,42 +109,77 @@ func (a *Action) GetOpType() int {
return int(a.OpType)
}
+func (a *Action) loadActUser() {
+ if a.ActUser != nil {
+ return
+ }
+ var err error
+ a.ActUser, err = GetUserByID(a.ActUserID)
+ if err == nil {
+ return
+ } else if IsErrUserNotExist(err) {
+ a.ActUser = NewGhostUser()
+ } else {
+ log.Error(4, "GetUserByID(%d): %v", a.ActUserID, err)
+ }
+}
+
+func (a *Action) loadRepo() {
+ if a.Repo != nil {
+ return
+ }
+ var err error
+ a.Repo, err = GetRepositoryByID(a.RepoID)
+ if err != nil {
+ log.Error(4, "GetRepositoryByID(%d): %v", a.RepoID, err)
+ }
+}
+
// GetActUserName gets the action's user name.
func (a *Action) GetActUserName() string {
- return a.ActUserName
+ a.loadActUser()
+ return a.ActUser.Name
}
// ShortActUserName gets the action's user name trimmed to max 20
// chars.
func (a *Action) ShortActUserName() string {
- return base.EllipsisString(a.ActUserName, 20)
+ return base.EllipsisString(a.GetActUserName(), 20)
+}
+
+// GetActAvatar the action's user's avatar link
+func (a *Action) GetActAvatar() string {
+ a.loadActUser()
+ return a.ActUser.AvatarLink()
}
// GetRepoUserName returns the name of the action repository owner.
func (a *Action) GetRepoUserName() string {
- return a.RepoUserName
+ a.loadRepo()
+ return a.Repo.MustOwner().Name
}
// ShortRepoUserName returns the name of the action repository owner
// trimmed to max 20 chars.
func (a *Action) ShortRepoUserName() string {
- return base.EllipsisString(a.RepoUserName, 20)
+ return base.EllipsisString(a.GetRepoUserName(), 20)
}
// GetRepoName returns the name of the action repository.
func (a *Action) GetRepoName() string {
- return a.RepoName
+ a.loadRepo()
+ return a.Repo.Name
}
// ShortRepoName returns the name of the action repository
// trimmed to max 33 chars.
func (a *Action) ShortRepoName() string {
- return base.EllipsisString(a.RepoName, 33)
+ return base.EllipsisString(a.GetRepoName(), 33)
}
// GetRepoPath returns the virtual path to the action repository.
func (a *Action) GetRepoPath() string {
- return path.Join(a.RepoUserName, a.RepoName)
+ return path.Join(a.GetRepoUserName(), a.GetRepoName())
}
// ShortRepoPath returns the virtual path to the action repository
@@ -158,6 +196,35 @@ func (a *Action) GetRepoLink() string {
return "/" + a.GetRepoPath()
}
+// GetCommentLink returns link to action comment.
+func (a *Action) GetCommentLink() string {
+ if a == nil {
+ return "#"
+ }
+ if a.Comment == nil && a.CommentID != 0 {
+ a.Comment, _ = GetCommentByID(a.CommentID)
+ }
+ if a.Comment != nil {
+ return a.Comment.HTMLURL()
+ }
+ if len(a.GetIssueInfos()) == 0 {
+ return "#"
+ }
+ //Return link to issue
+ issueIDString := a.GetIssueInfos()[0]
+ issueID, err := strconv.ParseInt(issueIDString, 10, 64)
+ if err != nil {
+ return "#"
+ }
+
+ issue, err := GetIssueByID(issueID)
+ if err != nil {
+ return "#"
+ }
+
+ return issue.HTMLURL()
+}
+
// GetBranch returns the action's repository branch.
func (a *Action) GetBranch() string {
return a.RefName
@@ -205,13 +272,12 @@ func (a *Action) GetIssueContent() string {
func newRepoAction(e Engine, u *User, repo *Repository) (err error) {
if err = notifyWatchers(e, &Action{
- ActUserID: u.ID,
- ActUserName: u.Name,
- OpType: ActionCreateRepo,
- RepoID: repo.ID,
- RepoUserName: repo.Owner.Name,
- RepoName: repo.Name,
- IsPrivate: repo.IsPrivate,
+ ActUserID: u.ID,
+ ActUser: u,
+ OpType: ActionCreateRepo,
+ RepoID: repo.ID,
+ Repo: repo,
+ IsPrivate: repo.IsPrivate,
}); err != nil {
return fmt.Errorf("notify watchers '%d/%d': %v", u.ID, repo.ID, err)
}
@@ -227,14 +293,13 @@ func NewRepoAction(u *User, repo *Repository) (err error) {
func renameRepoAction(e Engine, actUser *User, oldRepoName string, repo *Repository) (err error) {
if err = notifyWatchers(e, &Action{
- ActUserID: actUser.ID,
- ActUserName: actUser.Name,
- OpType: ActionRenameRepo,
- RepoID: repo.ID,
- RepoUserName: repo.Owner.Name,
- RepoName: repo.Name,
- IsPrivate: repo.IsPrivate,
- Content: oldRepoName,
+ ActUserID: actUser.ID,
+ ActUser: actUser,
+ OpType: ActionRenameRepo,
+ RepoID: repo.ID,
+ Repo: repo,
+ IsPrivate: repo.IsPrivate,
+ Content: oldRepoName,
}); err != nil {
return fmt.Errorf("notify watchers: %v", err)
}
@@ -360,7 +425,7 @@ func UpdateIssuesCommit(doer *User, repo *Repository, commits []*PushCommit) err
issue, err := GetIssueByRef(ref)
if err != nil {
- if IsErrIssueNotExist(err) || err == errMissingIssueNumber {
+ if IsErrIssueNotExist(err) || err == errMissingIssueNumber || err == errInvalidIssueNumber {
continue
}
return err
@@ -398,7 +463,7 @@ func UpdateIssuesCommit(doer *User, repo *Repository, commits []*PushCommit) err
issue, err := GetIssueByRef(ref)
if err != nil {
- if IsErrIssueNotExist(err) || err == errMissingIssueNumber {
+ if IsErrIssueNotExist(err) || err == errMissingIssueNumber || err == errInvalidIssueNumber {
continue
}
return err
@@ -438,7 +503,7 @@ func UpdateIssuesCommit(doer *User, repo *Repository, commits []*PushCommit) err
issue, err := GetIssueByRef(ref)
if err != nil {
- if IsErrIssueNotExist(err) || err == errMissingIssueNumber {
+ if IsErrIssueNotExist(err) || err == errMissingIssueNumber || err == errInvalidIssueNumber {
continue
}
return err
@@ -486,7 +551,7 @@ func CommitRepoAction(opts CommitRepoActionOptions) error {
}
// Change repository bare status and update last updated time.
- repo.IsBare = false
+ repo.IsBare = repo.IsBare && opts.Commits.Len <= 0
if err = UpdateRepository(repo, false); err != nil {
return fmt.Errorf("UpdateRepository: %v", err)
}
@@ -521,15 +586,14 @@ func CommitRepoAction(opts CommitRepoActionOptions) error {
refName := git.RefEndName(opts.RefFullName)
if err = NotifyWatchers(&Action{
- ActUserID: pusher.ID,
- ActUserName: pusher.Name,
- OpType: opType,
- Content: string(data),
- RepoID: repo.ID,
- RepoUserName: repo.MustOwner().Name,
- RepoName: repo.Name,
- RefName: refName,
- IsPrivate: repo.IsPrivate,
+ ActUserID: pusher.ID,
+ ActUser: pusher,
+ OpType: opType,
+ Content: string(data),
+ RepoID: repo.ID,
+ Repo: repo,
+ RefName: refName,
+ IsPrivate: repo.IsPrivate,
}); err != nil {
return fmt.Errorf("NotifyWatchers: %v", err)
}
@@ -598,14 +662,13 @@ func CommitRepoAction(opts CommitRepoActionOptions) error {
func transferRepoAction(e Engine, doer, oldOwner *User, repo *Repository) (err error) {
if err = notifyWatchers(e, &Action{
- ActUserID: doer.ID,
- ActUserName: doer.Name,
- OpType: ActionTransferRepo,
- RepoID: repo.ID,
- RepoUserName: repo.Owner.Name,
- RepoName: repo.Name,
- IsPrivate: repo.IsPrivate,
- Content: path.Join(oldOwner.Name, repo.Name),
+ ActUserID: doer.ID,
+ ActUser: doer,
+ OpType: ActionTransferRepo,
+ RepoID: repo.ID,
+ Repo: repo,
+ IsPrivate: repo.IsPrivate,
+ Content: path.Join(oldOwner.Name, repo.Name),
}); err != nil {
return fmt.Errorf("notifyWatchers: %v", err)
}
@@ -628,14 +691,13 @@ func TransferRepoAction(doer, oldOwner *User, repo *Repository) error {
func mergePullRequestAction(e Engine, doer *User, repo *Repository, issue *Issue) error {
return notifyWatchers(e, &Action{
- ActUserID: doer.ID,
- ActUserName: doer.Name,
- OpType: ActionMergePullRequest,
- Content: fmt.Sprintf("%d|%s", issue.Index, issue.Title),
- RepoID: repo.ID,
- RepoUserName: repo.Owner.Name,
- RepoName: repo.Name,
- IsPrivate: repo.IsPrivate,
+ ActUserID: doer.ID,
+ ActUser: doer,
+ OpType: ActionMergePullRequest,
+ Content: fmt.Sprintf("%d|%s", issue.Index, issue.Title),
+ RepoID: repo.ID,
+ Repo: repo,
+ IsPrivate: repo.IsPrivate,
})
}
@@ -644,33 +706,45 @@ func MergePullRequestAction(actUser *User, repo *Repository, pull *Issue) error
return mergePullRequestAction(x, actUser, repo, pull)
}
-// GetFeeds returns action list of given user in given context.
-// actorID is the user who's requesting, ctxUserID is the user/org that is requested.
-// actorID can be -1 when isProfile is true or to skip the permission check.
-func GetFeeds(ctxUser *User, actorID, offset int64, isProfile bool) ([]*Action, error) {
- actions := make([]*Action, 0, 20)
- sess := x.
- Limit(20, int(offset)).
- Desc("id").
- Where("user_id = ?", ctxUser.ID)
- if isProfile {
- sess.
- And("is_private = ?", false).
- And("act_user_id = ?", ctxUser.ID)
- } else if actorID != -1 && ctxUser.IsOrganization() {
- env, err := ctxUser.AccessibleReposEnv(actorID)
+// GetFeedsOptions options for retrieving feeds
+type GetFeedsOptions struct {
+ RequestedUser *User
+ RequestingUserID int64
+ IncludePrivate bool // include private actions
+ OnlyPerformedBy bool // only actions performed by requested user
+ IncludeDeleted bool // include deleted actions
+}
+
+// GetFeeds returns actions according to the provided options
+func GetFeeds(opts GetFeedsOptions) ([]*Action, error) {
+ cond := builder.NewCond()
+
+ var repoIDs []int64
+ if opts.RequestedUser.IsOrganization() {
+ env, err := opts.RequestedUser.AccessibleReposEnv(opts.RequestingUserID)
if err != nil {
return nil, fmt.Errorf("AccessibleReposEnv: %v", err)
}
- repoIDs, err := env.RepoIDs(1, ctxUser.NumRepos)
- if err != nil {
+ if repoIDs, err = env.RepoIDs(1, opts.RequestedUser.NumRepos); err != nil {
return nil, fmt.Errorf("GetUserRepositories: %v", err)
}
- if len(repoIDs) > 0 {
- sess.In("repo_id", repoIDs)
- }
+
+ cond = cond.And(builder.In("repo_id", repoIDs))
}
- err := sess.Find(&actions)
- return actions, err
+ cond = cond.And(builder.Eq{"user_id": opts.RequestedUser.ID})
+
+ if opts.OnlyPerformedBy {
+ cond = cond.And(builder.Eq{"act_user_id": opts.RequestedUser.ID})
+ }
+ if !opts.IncludePrivate {
+ cond = cond.And(builder.Eq{"is_private": false})
+ }
+
+ if !opts.IncludeDeleted {
+ cond = cond.And(builder.Eq{"is_deleted": false})
+ }
+
+ actions := make([]*Action, 0, 20)
+ return actions, x.Limit(20).Desc("id").Where(cond).Find(&actions)
}
diff --git a/models/action_test.go b/models/action_test.go
index cb36966..431469e 100644
--- a/models/action_test.go
+++ b/models/action_test.go
@@ -1,6 +1,7 @@
package models
import (
+ "path"
"strings"
"testing"
@@ -10,22 +11,21 @@ import (
)
func TestAction_GetRepoPath(t *testing.T) {
- action := &Action{
- RepoUserName: "username",
- RepoName: "reponame",
- }
- assert.Equal(t, "username/reponame", action.GetRepoPath())
+ assert.NoError(t, PrepareTestDatabase())
+ repo := AssertExistsAndLoadBean(t, &Repository{}).(*Repository)
+ owner := AssertExistsAndLoadBean(t, &User{ID: repo.OwnerID}).(*User)
+ action := &Action{RepoID: repo.ID}
+ assert.Equal(t, path.Join(owner.Name, repo.Name), action.GetRepoPath())
}
func TestAction_GetRepoLink(t *testing.T) {
- action := &Action{
- RepoUserName: "username",
- RepoName: "reponame",
- }
+ assert.NoError(t, PrepareTestDatabase())
+ repo := AssertExistsAndLoadBean(t, &Repository{}).(*Repository)
+ owner := AssertExistsAndLoadBean(t, &User{ID: repo.OwnerID}).(*User)
+ action := &Action{RepoID: repo.ID}
setting.AppSubURL = "/suburl/"
- assert.Equal(t, "/suburl/username/reponame", action.GetRepoLink())
- setting.AppSubURL = ""
- assert.Equal(t, "/username/reponame", action.GetRepoLink())
+ expected := path.Join(setting.AppSubURL, owner.Name, repo.Name)
+ assert.Equal(t, expected, action.GetRepoLink())
}
func TestNewRepoAction(t *testing.T) {
@@ -36,13 +36,12 @@ func TestNewRepoAction(t *testing.T) {
repo.Owner = user
actionBean := &Action{
- OpType: ActionCreateRepo,
- ActUserID: user.ID,
- RepoID: repo.ID,
- ActUserName: user.Name,
- RepoName: repo.Name,
- RepoUserName: repo.Owner.Name,
- IsPrivate: repo.IsPrivate,
+ OpType: ActionCreateRepo,
+ ActUserID: user.ID,
+ RepoID: repo.ID,
+ ActUser: user,
+ Repo: repo,
+ IsPrivate: repo.IsPrivate,
}
AssertNotExistsBean(t, actionBean)
@@ -64,14 +63,13 @@ func TestRenameRepoAction(t *testing.T) {
repo.LowerName = strings.ToLower(newRepoName)
actionBean := &Action{
- OpType: ActionRenameRepo,
- ActUserID: user.ID,
- ActUserName: user.Name,
- RepoID: repo.ID,
- RepoName: repo.Name,
- RepoUserName: repo.Owner.Name,
- IsPrivate: repo.IsPrivate,
- Content: oldRepoName,
+ OpType: ActionRenameRepo,
+ ActUserID: user.ID,
+ ActUser: user,
+ RepoID: repo.ID,
+ Repo: repo,
+ IsPrivate: repo.IsPrivate,
+ Content: oldRepoName,
}
AssertNotExistsBean(t, actionBean)
assert.NoError(t, RenameRepoAction(user, oldRepoName, repo))
@@ -163,7 +161,7 @@ func TestUpdateIssuesCommit(t *testing.T) {
CommitterName: "User Two",
AuthorEmail: "user4@example.com",
AuthorName: "User Four",
- Message: "start working on #1",
+ Message: "start working on #FST-1, #1",
},
{
Sha1: "abcdef2",
@@ -232,13 +230,13 @@ func TestCommitRepoAction(t *testing.T) {
pushCommits.Len = len(pushCommits.Commits)
actionBean := &Action{
- OpType: ActionCommitRepo,
- ActUserID: user.ID,
- ActUserName: user.Name,
- RepoID: repo.ID,
- RepoName: repo.Name,
- RefName: "refName",
- IsPrivate: repo.IsPrivate,
+ OpType: ActionCommitRepo,
+ ActUserID: user.ID,
+ ActUser: user,
+ RepoID: repo.ID,
+ Repo: repo,
+ RefName: "refName",
+ IsPrivate: repo.IsPrivate,
}
AssertNotExistsBean(t, actionBean)
assert.NoError(t, CommitRepoAction(CommitRepoActionOptions{
@@ -265,13 +263,12 @@ func TestTransferRepoAction(t *testing.T) {
repo.Owner = user4
actionBean := &Action{
- OpType: ActionTransferRepo,
- ActUserID: user2.ID,
- ActUserName: user2.Name,
- RepoID: repo.ID,
- RepoName: repo.Name,
- RepoUserName: repo.Owner.Name,
- IsPrivate: repo.IsPrivate,
+ OpType: ActionTransferRepo,
+ ActUserID: user2.ID,
+ ActUser: user2,
+ RepoID: repo.ID,
+ Repo: repo,
+ IsPrivate: repo.IsPrivate,
}
AssertNotExistsBean(t, actionBean)
assert.NoError(t, TransferRepoAction(user2, user2, repo))
@@ -290,13 +287,12 @@ func TestMergePullRequestAction(t *testing.T) {
issue := AssertExistsAndLoadBean(t, &Issue{ID: 3, RepoID: repo.ID}).(*Issue)
actionBean := &Action{
- OpType: ActionMergePullRequest,
- ActUserID: user.ID,
- ActUserName: user.Name,
- RepoID: repo.ID,
- RepoName: repo.Name,
- RepoUserName: repo.Owner.Name,
- IsPrivate: repo.IsPrivate,
+ OpType: ActionMergePullRequest,
+ ActUserID: user.ID,
+ ActUser: user,
+ RepoID: repo.ID,
+ Repo: repo,
+ IsPrivate: repo.IsPrivate,
}
AssertNotExistsBean(t, actionBean)
assert.NoError(t, MergePullRequestAction(user, repo, issue))
@@ -309,13 +305,24 @@ func TestGetFeeds(t *testing.T) {
assert.NoError(t, PrepareTestDatabase())
user := AssertExistsAndLoadBean(t, &User{ID: 2}).(*User)
- actions, err := GetFeeds(user, user.ID, 0, false)
+ actions, err := GetFeeds(GetFeedsOptions{
+ RequestedUser: user,
+ RequestingUserID: user.ID,
+ IncludePrivate: true,
+ OnlyPerformedBy: false,
+ IncludeDeleted: true,
+ })
assert.NoError(t, err)
assert.Len(t, actions, 1)
- assert.Equal(t, int64(1), actions[0].ID)
- assert.Equal(t, user.ID, actions[0].UserID)
+ assert.EqualValues(t, 1, actions[0].ID)
+ assert.EqualValues(t, user.ID, actions[0].UserID)
- actions, err = GetFeeds(user, user.ID, 0, true)
+ actions, err = GetFeeds(GetFeedsOptions{
+ RequestedUser: user,
+ RequestingUserID: user.ID,
+ IncludePrivate: false,
+ OnlyPerformedBy: false,
+ })
assert.NoError(t, err)
assert.Len(t, actions, 0)
}
@@ -323,15 +330,28 @@ func TestGetFeeds(t *testing.T) {
func TestGetFeeds2(t *testing.T) {
// test with an organization user
assert.NoError(t, PrepareTestDatabase())
- user := AssertExistsAndLoadBean(t, &User{ID: 3}).(*User)
+ org := AssertExistsAndLoadBean(t, &User{ID: 3}).(*User)
+ userID := AssertExistsAndLoadBean(t, &OrgUser{OrgID: org.ID, IsOwner: true}).(*OrgUser).UID
- actions, err := GetFeeds(user, user.ID, 0, false)
+ actions, err := GetFeeds(GetFeedsOptions{
+ RequestedUser: org,
+ RequestingUserID: userID,
+ IncludePrivate: true,
+ OnlyPerformedBy: false,
+ IncludeDeleted: true,
+ })
assert.NoError(t, err)
assert.Len(t, actions, 1)
- assert.Equal(t, int64(2), actions[0].ID)
- assert.Equal(t, user.ID, actions[0].UserID)
+ assert.EqualValues(t, 2, actions[0].ID)
+ assert.EqualValues(t, org.ID, actions[0].UserID)
- actions, err = GetFeeds(user, user.ID, 0, true)
+ actions, err = GetFeeds(GetFeedsOptions{
+ RequestedUser: org,
+ RequestingUserID: userID,
+ IncludePrivate: false,
+ OnlyPerformedBy: false,
+ IncludeDeleted: true,
+ })
assert.NoError(t, err)
assert.Len(t, actions, 0)
}
diff --git a/models/admin.go b/models/admin.go
index e573c9b..f864520 100644
--- a/models/admin.go
+++ b/models/admin.go
@@ -6,16 +6,13 @@ package models
import (
"fmt"
- "os"
- "os/exec"
- "strings"
"time"
+ "code.gitea.io/gitea/modules/log"
+ "code.gitea.io/gitea/modules/util"
+
"github.com/Unknwon/com"
"github.com/go-xorm/xorm"
-
- "code.gitea.io/gitea/modules/log"
- "code.gitea.io/gitea/modules/setting"
)
//NoticeType describes the notice type
@@ -79,19 +76,7 @@ func RemoveAllWithNotice(title, path string) {
}
func removeAllWithNotice(e Engine, title, path string) {
- var err error
- // workaround for Go not being able to remove read-only files/folders: https://github.com/golang/go/issues/9606
- // this bug should be fixed on Go 1.7, so the workaround should be removed when Gogs don't support Go 1.6 anymore:
- // https://github.com/golang/go/commit/2ffb3e5d905b5622204d199128dec06cefd57790
- if setting.IsWindows {
- // converting "/" to "\" in path on Windows
- path = strings.Replace(path, "/", "\\", -1)
- err = exec.Command("cmd", "/C", "rmdir", "/S", "/Q", path).Run()
- } else {
- err = os.RemoveAll(path)
- }
-
- if err != nil {
+ if err := util.RemoveAll(path); err != nil {
desc := fmt.Sprintf("%s [%s]: %v", title, path, err)
log.Warn(desc)
if err = createNotice(e, NoticeRepository, desc); err != nil {
diff --git a/models/attachment.go b/models/attachment.go
index 5fd90be..3b3521b 100644
--- a/models/attachment.go
+++ b/models/attachment.go
@@ -20,15 +20,15 @@ import (
// Attachment represent a attachment of issue/comment/release.
type Attachment struct {
- ID int64 `xorm:"pk autoincr"`
- UUID string `xorm:"uuid UNIQUE"`
- IssueID int64 `xorm:"INDEX"`
- CommentID int64
- ReleaseID int64 `xorm:"INDEX"`
- Name string
-
- Created time.Time `xorm:"-"`
- CreatedUnix int64
+ ID int64 `xorm:"pk autoincr"`
+ UUID string `xorm:"uuid UNIQUE"`
+ IssueID int64 `xorm:"INDEX"`
+ ReleaseID int64 `xorm:"INDEX"`
+ CommentID int64
+ Name string
+ DownloadCount int64 `xorm:"DEFAULT 0"`
+ Created time.Time `xorm:"-"`
+ CreatedUnix int64
}
// BeforeInsert is invoked from XORM before inserting an object of this type.
@@ -45,6 +45,19 @@ func (a *Attachment) AfterSet(colName string, _ xorm.Cell) {
}
}
+// IncreaseDownloadCount is update download count + 1
+func (a *Attachment) IncreaseDownloadCount() error {
+ sess := x.NewSession()
+ defer sess.Close()
+
+ // Update download count.
+ if _, err := sess.Exec("UPDATE `attachment` SET download_count=download_count+1 WHERE id=?", a.ID); err != nil {
+ return fmt.Errorf("increase attachment count: %v", err)
+ }
+
+ return nil
+}
+
// AttachmentLocalPath returns where attachment is stored in local file
// system based on given UUID.
func AttachmentLocalPath(uuid string) string {
diff --git a/models/attachment_test.go b/models/attachment_test.go
new file mode 100644
index 0000000..d568e39
--- /dev/null
+++ b/models/attachment_test.go
@@ -0,0 +1,60 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package models
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestIncreaseDownloadCount(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ attachment, err := GetAttachmentByUUID("a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11")
+ assert.NoError(t, err)
+ assert.Equal(t, int64(0), attachment.DownloadCount)
+
+ // increase download count
+ err = attachment.IncreaseDownloadCount()
+ assert.NoError(t, err)
+
+ attachment, err = GetAttachmentByUUID("a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11")
+ assert.NoError(t, err)
+ assert.Equal(t, int64(1), attachment.DownloadCount)
+}
+
+func TestGetByCommentOrIssueID(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ // count of attachments from issue ID
+ attachments, err := GetAttachmentsByIssueID(1)
+ assert.NoError(t, err)
+ assert.Equal(t, 2, len(attachments))
+
+ attachments, err = GetAttachmentsByCommentID(1)
+ assert.NoError(t, err)
+ assert.Equal(t, 2, len(attachments))
+}
+
+func TestDeleteAttachments(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ count, err := DeleteAttachmentsByIssue(4, false)
+ assert.NoError(t, err)
+ assert.Equal(t, 1, count)
+
+ count, err = DeleteAttachmentsByComment(2, false)
+ assert.NoError(t, err)
+ assert.Equal(t, 2, count)
+
+ err = DeleteAttachment(&Attachment{ID: 8}, false)
+ assert.NoError(t, err)
+
+ attachment, err := GetAttachmentByUUID("a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a18")
+ assert.Error(t, err)
+ assert.True(t, IsErrAttachmentNotExist(err))
+ assert.Nil(t, attachment)
+}
diff --git a/models/branches.go b/models/branches.go
index 89a6996..383aa82 100644
--- a/models/branches.go
+++ b/models/branches.go
@@ -17,10 +17,10 @@ const (
// ProtectedBranch struct
type ProtectedBranch struct {
- ID int64 `xorm:"pk autoincr"`
- RepoID int64 `xorm:"UNIQUE(s)"`
- BranchName string `xorm:"UNIQUE(s)"`
- CanPush bool
+ ID int64 `xorm:"pk autoincr"`
+ RepoID int64 `xorm:"UNIQUE(s)"`
+ BranchName string `xorm:"UNIQUE(s)"`
+ CanPush bool `xorm:"NOT NULL DEFAULT false"`
Created time.Time `xorm:"-"`
CreatedUnix int64
Updated time.Time `xorm:"-"`
@@ -38,6 +38,11 @@ func (protectBranch *ProtectedBranch) BeforeUpdate() {
protectBranch.UpdatedUnix = time.Now().Unix()
}
+// IsProtected returns if the branch is protected
+func (protectBranch *ProtectedBranch) IsProtected() bool {
+ return protectBranch.ID > 0
+}
+
// GetProtectedBranchByRepoID getting protected branch by repo ID
func GetProtectedBranchByRepoID(RepoID int64) ([]*ProtectedBranch, error) {
protectedBranches := make([]*ProtectedBranch, 0)
@@ -57,12 +62,29 @@ func GetProtectedBranchBy(repoID int64, BranchName string) (*ProtectedBranch, er
return rel, nil
}
-// GetProtectedBranches get all protected btanches
+// GetProtectedBranches get all protected branches
func (repo *Repository) GetProtectedBranches() ([]*ProtectedBranch, error) {
protectedBranches := make([]*ProtectedBranch, 0)
return protectedBranches, x.Find(&protectedBranches, &ProtectedBranch{RepoID: repo.ID})
}
+// IsProtectedBranch checks if branch is protected
+func (repo *Repository) IsProtectedBranch(branchName string) (bool, error) {
+ protectedBranch := &ProtectedBranch{
+ RepoID: repo.ID,
+ BranchName: branchName,
+ }
+
+ has, err := x.Get(protectedBranch)
+ if err != nil {
+ return true, err
+ } else if has {
+ return true, nil
+ }
+
+ return false, nil
+}
+
// AddProtectedBranch add protection to branch
func (repo *Repository) AddProtectedBranch(branchName string, canPush bool) error {
protectedBranch := &ProtectedBranch{
@@ -78,7 +100,7 @@ func (repo *Repository) AddProtectedBranch(branchName string, canPush bool) erro
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -109,7 +131,7 @@ func (repo *Repository) ChangeProtectedBranch(id int64, canPush bool) error {
ProtectedBranch.CanPush = canPush
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -129,7 +151,7 @@ func (repo *Repository) DeleteProtectedBranch(id int64) (err error) {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
diff --git a/models/consistency_test.go b/models/consistency.go
similarity index 83%
rename from models/consistency_test.go
rename to models/consistency.go
index a8de8e3..0c279ea 100644
--- a/models/consistency_test.go
+++ b/models/consistency.go
@@ -12,9 +12,9 @@ import (
"github.com/stretchr/testify/assert"
)
-// ConsistencyCheckable a type that can be tested for database consistency
-type ConsistencyCheckable interface {
- CheckForConsistency(t *testing.T)
+// consistencyCheckable a type that can be tested for database consistency
+type consistencyCheckable interface {
+ checkForConsistency(t *testing.T)
}
// CheckConsistencyForAll test that the entire database is consistent
@@ -44,12 +44,12 @@ func CheckConsistencyFor(t *testing.T, beansToCheck ...interface{}) {
for i := 0; i < sliceValue.Len(); i++ {
entity := sliceValue.Index(i).Interface()
- checkable, ok := entity.(ConsistencyCheckable)
+ checkable, ok := entity.(consistencyCheckable)
if !ok {
t.Errorf("Expected %+v (of type %T) to be checkable for consistency",
entity, entity)
} else {
- checkable.CheckForConsistency(t)
+ checkable.checkForConsistency(t)
}
}
}
@@ -68,7 +68,7 @@ func assertCount(t *testing.T, bean interface{}, expected int) {
"Failed consistency test, the counted bean (of type %T) was %+v", bean, bean)
}
-func (user *User) CheckForConsistency(t *testing.T) {
+func (user *User) checkForConsistency(t *testing.T) {
assertCount(t, &Repository{OwnerID: user.ID}, user.NumRepos)
assertCount(t, &Star{UID: user.ID}, user.NumStars)
assertCount(t, &OrgUser{OrgID: user.ID}, user.NumMembers)
@@ -81,7 +81,7 @@ func (user *User) CheckForConsistency(t *testing.T) {
}
}
-func (repo *Repository) CheckForConsistency(t *testing.T) {
+func (repo *Repository) checkForConsistency(t *testing.T) {
assert.Equal(t, repo.LowerName, strings.ToLower(repo.Name), "repo: %+v", repo)
assertCount(t, &Star{RepoID: repo.ID}, repo.NumStars)
assertCount(t, &Watch{RepoID: repo.ID}, repo.NumWatches)
@@ -112,7 +112,7 @@ func (repo *Repository) CheckForConsistency(t *testing.T) {
"Unexpected number of closed milestones for repo %+v", repo)
}
-func (issue *Issue) CheckForConsistency(t *testing.T) {
+func (issue *Issue) checkForConsistency(t *testing.T) {
actual := getCount(t, x.Where("type=?", CommentTypeComment), &Comment{IssueID: issue.ID})
assert.EqualValues(t, issue.NumComments, actual,
"Unexpected number of comments for issue %+v", issue)
@@ -122,13 +122,13 @@ func (issue *Issue) CheckForConsistency(t *testing.T) {
}
}
-func (pr *PullRequest) CheckForConsistency(t *testing.T) {
+func (pr *PullRequest) checkForConsistency(t *testing.T) {
issue := AssertExistsAndLoadBean(t, &Issue{ID: pr.IssueID}).(*Issue)
assert.True(t, issue.IsPull)
assert.EqualValues(t, issue.Index, pr.Index)
}
-func (milestone *Milestone) CheckForConsistency(t *testing.T) {
+func (milestone *Milestone) checkForConsistency(t *testing.T) {
assertCount(t, &Issue{MilestoneID: milestone.ID}, milestone.NumIssues)
actual := getCount(t, x.Where("is_closed=?", true), &Issue{MilestoneID: milestone.ID})
@@ -136,7 +136,7 @@ func (milestone *Milestone) CheckForConsistency(t *testing.T) {
"Unexpected number of closed issues for milestone %+v", milestone)
}
-func (label *Label) CheckForConsistency(t *testing.T) {
+func (label *Label) checkForConsistency(t *testing.T) {
issueLabels := make([]*IssueLabel, 0, 10)
assert.NoError(t, x.Find(&issueLabels, &IssueLabel{LabelID: label.ID}))
assert.EqualValues(t, label.NumIssues, len(issueLabels),
@@ -155,18 +155,12 @@ func (label *Label) CheckForConsistency(t *testing.T) {
"Unexpected number of closed issues for label %+v", label)
}
-func (team *Team) CheckForConsistency(t *testing.T) {
+func (team *Team) checkForConsistency(t *testing.T) {
assertCount(t, &TeamUser{TeamID: team.ID}, team.NumMembers)
assertCount(t, &TeamRepo{TeamID: team.ID}, team.NumRepos)
}
-func (action *Action) CheckForConsistency(t *testing.T) {
+func (action *Action) checkForConsistency(t *testing.T) {
repo := AssertExistsAndLoadBean(t, &Repository{ID: action.RepoID}).(*Repository)
- owner := AssertExistsAndLoadBean(t, &User{ID: repo.OwnerID}).(*User)
- actor := AssertExistsAndLoadBean(t, &User{ID: action.ActUserID}).(*User)
-
- assert.Equal(t, repo.Name, action.RepoName, "action: %+v", action)
assert.Equal(t, repo.IsPrivate, action.IsPrivate, "action: %+v", action)
- assert.Equal(t, owner.Name, action.RepoUserName, "action: %+v", action)
- assert.Equal(t, actor.Name, action.ActUserName, "action: %+v", action)
}
diff --git a/models/error.go b/models/error.go
index 472c8c9..74551ad 100644
--- a/models/error.go
+++ b/models/error.go
@@ -93,6 +93,21 @@ func (err ErrEmailAlreadyUsed) Error() string {
return fmt.Sprintf("e-mail has been used [email: %s]", err.Email)
}
+// ErrOpenIDAlreadyUsed represents a "OpenIDAlreadyUsed" kind of error.
+type ErrOpenIDAlreadyUsed struct {
+ OpenID string
+}
+
+// IsErrOpenIDAlreadyUsed checks if an error is a ErrOpenIDAlreadyUsed.
+func IsErrOpenIDAlreadyUsed(err error) bool {
+ _, ok := err.(ErrOpenIDAlreadyUsed)
+ return ok
+}
+
+func (err ErrOpenIDAlreadyUsed) Error() string {
+ return fmt.Sprintf("OpenID has been used [oid: %s]", err.OpenID)
+}
+
// ErrUserOwnRepos represents a "UserOwnRepos" kind of error.
type ErrUserOwnRepos struct {
UID int64
@@ -245,6 +260,84 @@ func (err ErrKeyNameAlreadyUsed) Error() string {
return fmt.Sprintf("public key already exists [owner_id: %d, name: %s]", err.OwnerID, err.Name)
}
+// ErrGPGEmailNotFound represents a "ErrGPGEmailNotFound" kind of error.
+type ErrGPGEmailNotFound struct {
+ Email string
+}
+
+// IsErrGPGEmailNotFound checks if an error is a ErrGPGEmailNotFound.
+func IsErrGPGEmailNotFound(err error) bool {
+ _, ok := err.(ErrGPGEmailNotFound)
+ return ok
+}
+
+func (err ErrGPGEmailNotFound) Error() string {
+ return fmt.Sprintf("failed to found email or is not confirmed : %s", err.Email)
+}
+
+// ErrGPGKeyParsing represents a "ErrGPGKeyParsing" kind of error.
+type ErrGPGKeyParsing struct {
+ ParseError error
+}
+
+// IsErrGPGKeyParsing checks if an error is a ErrGPGKeyParsing.
+func IsErrGPGKeyParsing(err error) bool {
+ _, ok := err.(ErrGPGKeyParsing)
+ return ok
+}
+
+func (err ErrGPGKeyParsing) Error() string {
+ return fmt.Sprintf("failed to parse gpg key %s", err.ParseError.Error())
+}
+
+// ErrGPGKeyNotExist represents a "GPGKeyNotExist" kind of error.
+type ErrGPGKeyNotExist struct {
+ ID int64
+}
+
+// IsErrGPGKeyNotExist checks if an error is a ErrGPGKeyNotExist.
+func IsErrGPGKeyNotExist(err error) bool {
+ _, ok := err.(ErrGPGKeyNotExist)
+ return ok
+}
+
+func (err ErrGPGKeyNotExist) Error() string {
+ return fmt.Sprintf("public gpg key does not exist [id: %d]", err.ID)
+}
+
+// ErrGPGKeyIDAlreadyUsed represents a "GPGKeyIDAlreadyUsed" kind of error.
+type ErrGPGKeyIDAlreadyUsed struct {
+ KeyID string
+}
+
+// IsErrGPGKeyIDAlreadyUsed checks if an error is a ErrKeyNameAlreadyUsed.
+func IsErrGPGKeyIDAlreadyUsed(err error) bool {
+ _, ok := err.(ErrGPGKeyIDAlreadyUsed)
+ return ok
+}
+
+func (err ErrGPGKeyIDAlreadyUsed) Error() string {
+ return fmt.Sprintf("public key already exists [key_id: %s]", err.KeyID)
+}
+
+// ErrGPGKeyAccessDenied represents a "GPGKeyAccessDenied" kind of Error.
+type ErrGPGKeyAccessDenied struct {
+ UserID int64
+ KeyID int64
+}
+
+// IsErrGPGKeyAccessDenied checks if an error is a ErrGPGKeyAccessDenied.
+func IsErrGPGKeyAccessDenied(err error) bool {
+ _, ok := err.(ErrGPGKeyAccessDenied)
+ return ok
+}
+
+// Error pretty-prints an error of type ErrGPGKeyAccessDenied.
+func (err ErrGPGKeyAccessDenied) Error() string {
+ return fmt.Sprintf("user does not have access to the key [user_id: %d, key_id: %d]",
+ err.UserID, err.KeyID)
+}
+
// ErrKeyAccessDenied represents a "KeyAccessDenied" kind of error.
type ErrKeyAccessDenied struct {
UserID int64
@@ -355,6 +448,22 @@ func (err ErrAccessTokenEmpty) Error() string {
// \_______ /__| \___ (____ /___| /__/_____ \(____ /__| |__|\____/|___| /
// \/ /_____/ \/ \/ \/ \/ \/
+// ErrOrgNotExist represents a "OrgNotExist" kind of error.
+type ErrOrgNotExist struct {
+ ID int64
+ Name string
+}
+
+// IsErrOrgNotExist checks if an error is a ErrOrgNotExist.
+func IsErrOrgNotExist(err error) bool {
+ _, ok := err.(ErrOrgNotExist)
+ return ok
+}
+
+func (err ErrOrgNotExist) Error() string {
+ return fmt.Sprintf("org does not exist [id: %d, name: %s]", err.ID, err.Name)
+}
+
// ErrLastOrgOwner represents a "LastOrgOwner" kind of error.
type ErrLastOrgOwner struct {
UID int64
diff --git a/models/error_oauth2.go b/models/error_oauth2.go
new file mode 100644
index 0000000..a25be89
--- /dev/null
+++ b/models/error_oauth2.go
@@ -0,0 +1,24 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package models
+
+import "fmt"
+
+// ErrOpenIDConnectInitialize represents a "OpenIDConnectInitialize" kind of error.
+type ErrOpenIDConnectInitialize struct {
+ OpenIDConnectAutoDiscoveryURL string
+ ProviderName string
+ Cause error
+}
+
+// IsErrOpenIDConnectInitialize checks if an error is a ExternalLoginUserAlreadyExist.
+func IsErrOpenIDConnectInitialize(err error) bool {
+ _, ok := err.(ErrOpenIDConnectInitialize)
+ return ok
+}
+
+func (err ErrOpenIDConnectInitialize) Error() string {
+ return fmt.Sprintf("Failed to initialize OpenID Connect Provider with name '%s' with url '%s': %v", err.ProviderName, err.OpenIDConnectAutoDiscoveryURL, err.Cause)
+}
diff --git a/models/external_login_user.go b/models/external_login_user.go
index b268094..21a3cbb 100644
--- a/models/external_login_user.go
+++ b/models/external_login_user.go
@@ -8,9 +8,9 @@ import "github.com/markbates/goth"
// ExternalLoginUser makes the connecting between some existing user and additional external login sources
type ExternalLoginUser struct {
- ExternalID string `xorm:"NOT NULL"`
- UserID int64 `xorm:"NOT NULL"`
- LoginSourceID int64 `xorm:"NOT NULL"`
+ ExternalID string `xorm:"pk NOT NULL"`
+ UserID int64 `xorm:"INDEX NOT NULL"`
+ LoginSourceID int64 `xorm:"pk NOT NULL"`
}
// GetExternalLogin checks if a externalID in loginSourceID scope already exists
diff --git a/models/fixtures/access.yml b/models/fixtures/access.yml
index 5ea4076..8722b24 100644
--- a/models/fixtures/access.yml
+++ b/models/fixtures/access.yml
@@ -9,3 +9,9 @@
user_id: 4
repo_id: 4
mode: 2 # write
+
+-
+ id: 3
+ user_id: 4
+ repo_id: 3
+ mode: 2 # write
diff --git a/models/fixtures/action.yml b/models/fixtures/action.yml
index 94d8e57..ad46e6b 100644
--- a/models/fixtures/action.yml
+++ b/models/fixtures/action.yml
@@ -3,21 +3,15 @@
user_id: 2
op_type: 12 # close issue
act_user_id: 2
- act_user_name: user2
repo_id: 2
- repo_user_name: user2
- repo_name: repo2
is_private: true
-
id: 2
user_id: 3
op_type: 2 # rename repo
- act_user_id: 3
- act_user_name: user3
+ act_user_id: 2
repo_id: 3
- repo_user_name: user3
- repo_name: repo3
is_private: true
content: oldRepoName
@@ -26,8 +20,5 @@
user_id: 11
op_type: 1 # create repo
act_user_id: 11
- act_user_name: user11
repo_id: 9
- repo_user_name: user11
- repo_name: repo9
is_private: false
diff --git a/models/fixtures/attachment.yml b/models/fixtures/attachment.yml
new file mode 100644
index 0000000..f196aa4
--- /dev/null
+++ b/models/fixtures/attachment.yml
@@ -0,0 +1,71 @@
+-
+ id: 1
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11
+ issue_id: 1
+ comment_id: 0
+ name: attach1
+ download_count: 0
+ created_unix: 946684800
+
+-
+ id: 2
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a12
+ issue_id: 1
+ comment_id: 0
+ name: attach2
+ download_count: 1
+ created_unix: 946684800
+
+-
+ id: 3
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a13
+ issue_id: 2
+ comment_id: 1
+ name: attach1
+ download_count: 0
+ created_unix: 946684800
+
+-
+ id: 4
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14
+ issue_id: 3
+ comment_id: 1
+ name: attach2
+ download_count: 1
+ created_unix: 946684800
+
+-
+ id: 5
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a15
+ issue_id: 4
+ comment_id: 0
+ name: attach1
+ download_count: 0
+ created_unix: 946684800
+
+-
+ id: 6
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a16
+ issue_id: 5
+ comment_id: 2
+ name: attach1
+ download_count: 0
+ created_unix: 946684800
+
+-
+ id: 7
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a17
+ issue_id: 5
+ comment_id: 2
+ name: attach1
+ download_count: 0
+ created_unix: 946684800
+
+-
+ id: 8
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a18
+ issue_id: 6
+ comment_id: 0
+ name: attach1
+ download_count: 0
+ created_unix: 946684800
diff --git a/models/fixtures/comment.yml b/models/fixtures/comment.yml
index e38952a..3292bb4 100644
--- a/models/fixtures/comment.yml
+++ b/models/fixtures/comment.yml
@@ -2,6 +2,18 @@
id: 1
type: 7 # label
poster_id: 2
- issue_id: 1
+ issue_id: 1 # in repo_id 1
label_id: 1
content: "1"
+-
+ id: 2
+ type: 0 # comment
+ poster_id: 3 # user not watching (see watch.yml)
+ issue_id: 1 # in repo_id 1
+ content: "good work!"
+-
+ id: 3
+ type: 0 # comment
+ poster_id: 5 # user not watching (see watch.yml)
+ issue_id: 1 # in repo_id 1
+ content: "meh..."
diff --git a/models/fixtures/commit_status.yml b/models/fixtures/commit_status.yml
new file mode 100644
index 0000000..20d5797
--- /dev/null
+++ b/models/fixtures/commit_status.yml
@@ -0,0 +1,54 @@
+-
+ id: 1
+ index: 1
+ repo_id: 1
+ state: "pending"
+ sha: "1234123412341234123412341234123412341234"
+ target_url: https://example.com/builds/
+ description: My awesome CI-service
+ context: ci/awesomeness
+ creator_id: 2
+
+-
+ id: 2
+ index: 2
+ repo_id: 1
+ state: "warning"
+ sha: "1234123412341234123412341234123412341234"
+ target_url: https://example.com/converage/
+ description: My awesome Coverage service
+ context: cov/awesomeness
+ creator_id: 2
+
+-
+ id: 3
+ index: 3
+ repo_id: 1
+ state: "success"
+ sha: "1234123412341234123412341234123412341234"
+ target_url: https://example.com/converage/
+ description: My awesome Coverage service
+ context: cov/awesomeness
+ creator_id: 2
+
+-
+ id: 4
+ index: 4
+ repo_id: 1
+ state: "failure"
+ sha: "1234123412341234123412341234123412341234"
+ target_url: https://example.com/builds/
+ description: My awesome CI-service
+ context: ci/awesomeness
+ creator_id: 2
+
+-
+ id: 5
+ index: 5
+ repo_id: 1
+ state: "error"
+ sha: "1234123412341234123412341234123412341234"
+ target_url: https://example.com/builds/
+ description: My awesome deploy service
+ context: deploy/awesomeness
+ creator_id: 2
diff --git a/models/fixtures/follow.yml b/models/fixtures/follow.yml
new file mode 100644
index 0000000..480fa06
--- /dev/null
+++ b/models/fixtures/follow.yml
@@ -0,0 +1,14 @@
+-
+ id: 1
+ user_id: 4
+ follow_id: 2
+
+-
+ id: 2
+ user_id: 8
+ follow_id: 2
+
+-
+ id: 3
+ user_id: 2
+ follow_id: 8
diff --git a/models/fixtures/issue.yml b/models/fixtures/issue.yml
index c2d2108..7bbbab2 100644
--- a/models/fixtures/issue.yml
+++ b/models/fixtures/issue.yml
@@ -8,7 +8,7 @@
content: content1
is_closed: false
is_pull: false
- num_comments: 0
+ num_comments: 2
created_unix: 946684800
updated_unix: 978307200
diff --git a/models/fixtures/issue_watch.yml b/models/fixtures/issue_watch.yml
new file mode 100644
index 0000000..596662d
--- /dev/null
+++ b/models/fixtures/issue_watch.yml
@@ -0,0 +1,15 @@
+-
+ id: 1
+ user_id: 1
+ issue_id: 1
+ is_watching: true
+ created_unix: 946684800
+ updated_unix: 946684800
+
+-
+ id: 2
+ user_id: 2
+ issue_id: 2
+ is_watching: false
+ created_unix: 946684800
+ updated_unix: 946684800
diff --git a/models/fixtures/protected_branch.yml b/models/fixtures/protected_branch.yml
new file mode 100644
index 0000000..ca780a7
--- /dev/null
+++ b/models/fixtures/protected_branch.yml
@@ -0,0 +1 @@
+[] # empty
diff --git a/models/fixtures/pull_request.yml b/models/fixtures/pull_request.yml
index 7946a0f..d8313f9 100644
--- a/models/fixtures/pull_request.yml
+++ b/models/fixtures/pull_request.yml
@@ -16,7 +16,7 @@
-
id: 2
type: 0 # gitea pull request
- status: 1 # checking
+ status: 2 # mergable
issue_id: 3
index: 3
head_repo_id: 1
diff --git a/models/fixtures/release.yml b/models/fixtures/release.yml
new file mode 100644
index 0000000..ca780a7
--- /dev/null
+++ b/models/fixtures/release.yml
@@ -0,0 +1 @@
+[] # empty
diff --git a/models/fixtures/repo_unit.yml b/models/fixtures/repo_unit.yml
new file mode 100644
index 0000000..02daa48
--- /dev/null
+++ b/models/fixtures/repo_unit.yml
@@ -0,0 +1,79 @@
+-
+ id: 1
+ repo_id: 1
+ type: 1
+ index: 0
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 2
+ repo_id: 1
+ type: 2
+ index: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 3
+ repo_id: 1
+ type: 3
+ index: 2
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 4
+ repo_id: 1
+ type: 4
+ index: 3
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 5
+ repo_id: 1
+ type: 5
+ index: 4
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 6
+ repo_id: 3
+ type: 1
+ index: 0
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 7
+ repo_id: 3
+ type: 2
+ index: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 8
+ repo_id: 3
+ type: 3
+ index: 2
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 9
+ repo_id: 3
+ type: 4
+ index: 3
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 10
+ repo_id: 3
+ type: 5
+ index: 4
+ config: "{}"
+ created_unix: 946684810
diff --git a/models/fixtures/repository.yml b/models/fixtures/repository.yml
index 1d44865..b10b85c 100644
--- a/models/fixtures/repository.yml
+++ b/models/fixtures/repository.yml
@@ -169,3 +169,10 @@
num_pulls: 0
num_closed_pulls: 0
is_mirror: false
+
+-
+ id: 15
+ owner_id: 2
+ lower_name: repo15
+ name: repo15
+ is_bare: true
diff --git a/models/fixtures/team.yml b/models/fixtures/team.yml
index 3b47ef0..795d5cd 100644
--- a/models/fixtures/team.yml
+++ b/models/fixtures/team.yml
@@ -6,6 +6,7 @@
authorize: 4 # owner
num_repos: 2
num_members: 1
+ unit_types: '[1,2,3,4,5,6,7]'
-
id: 2
@@ -15,6 +16,7 @@
authorize: 2 # write
num_repos: 1
num_members: 2
+ unit_types: '[1,2,3,4,5,6,7]'
-
id: 3
@@ -24,6 +26,7 @@
authorize: 4 # owner
num_repos: 0
num_members: 1
+ unit_types: '[1,2,3,4,5,6,7]'
-
id: 4
@@ -33,3 +36,4 @@
authorize: 4 # owner
num_repos: 0
num_members: 1
+ unit_types: '[1,2,3,4,5,6,7]'
diff --git a/models/fixtures/user.yml b/models/fixtures/user.yml
index 5a2dd2f..b3e7864 100644
--- a/models/fixtures/user.yml
+++ b/models/fixtures/user.yml
@@ -1,12 +1,14 @@
+# NOTE: all users should have a password of "password"
+
- # NOTE: this user (id=1) is the admin
id: 1
lower_name: user1
name: user1
full_name: User One
email: user1@example.com
- passwd: password
+ passwd: 7d93daa0d1e6f2305cc8fa496847d61dc7320bb16262f9c55dd753480207234cdd96a93194e408341971742f4701772a025a # password
type: 0 # individual
- salt: salt
+ salt: ZogKvWdyEx
is_admin: true
avatar: avatar1
avatar_email: user1@example.com
@@ -18,14 +20,17 @@
name: user2
full_name: User Two
email: user2@example.com
- passwd: password
+ passwd: 7d93daa0d1e6f2305cc8fa496847d61dc7320bb16262f9c55dd753480207234cdd96a93194e408341971742f4701772a025a # password
type: 0 # individual
- salt: salt
+ salt: ZogKvWdyEx
is_admin: false
avatar: avatar2
avatar_email: user2@example.com
- num_repos: 2
+ num_repos: 3
num_stars: 2
+ num_followers: 2
+ num_following: 1
+ is_active: true
-
id: 3
@@ -33,9 +38,9 @@
name: user3
full_name: User Three
email: user3@example.com
- passwd: password
+ passwd: 7d93daa0d1e6f2305cc8fa496847d61dc7320bb16262f9c55dd753480207234cdd96a93194e408341971742f4701772a025a # password
type: 1 # organization
- salt: salt
+ salt: ZogKvWdyEx
is_admin: false
avatar: avatar3
avatar_email: user3@example.com
@@ -49,13 +54,14 @@
name: user4
full_name: User Four
email: user4@example.com
- passwd: password
+ passwd: 7d93daa0d1e6f2305cc8fa496847d61dc7320bb16262f9c55dd753480207234cdd96a93194e408341971742f4701772a025a # password
type: 0 # individual
- salt: salt
+ salt: ZogKvWdyEx
is_admin: false
avatar: avatar4
avatar_email: user4@example.com
num_repos: 0
+ num_following: 1
-
id: 5
@@ -63,15 +69,16 @@
name: user5
full_name: User Five
email: user5@example.com
- passwd: password
+ passwd: 7d93daa0d1e6f2305cc8fa496847d61dc7320bb16262f9c55dd753480207234cdd96a93194e408341971742f4701772a025a # password
type: 0 # individual
- salt: salt
+ salt: ZogKvWdyEx
is_admin: false
avatar: avatar5
avatar_email: user5@example.com
num_repos: 1
allow_create_organization: false
is_active: true
+ num_following: 0
-
id: 6
@@ -79,9 +86,9 @@
name: user6
full_name: User Six
email: user6@example.com
- passwd: password
+ passwd: 7d93daa0d1e6f2305cc8fa496847d61dc7320bb16262f9c55dd753480207234cdd96a93194e408341971742f4701772a025a # password
type: 1 # organization
- salt: salt
+ salt: ZogKvWdyEx
is_admin: false
avatar: avatar6
avatar_email: user6@example.com
@@ -95,9 +102,9 @@
name: user7
full_name: User Seven
email: user7@example.com
- passwd: password
+ passwd: 7d93daa0d1e6f2305cc8fa496847d61dc7320bb16262f9c55dd753480207234cdd96a93194e408341971742f4701772a025a # password
type: 1 # organization
- salt: salt
+ salt: ZogKvWdyEx
is_admin: false
avatar: avatar7
avatar_email: user7@example.com
@@ -111,14 +118,16 @@
name: user8
full_name: User Eight
email: user8@example.com
- passwd: password
+ passwd: 7d93daa0d1e6f2305cc8fa496847d61dc7320bb16262f9c55dd753480207234cdd96a93194e408341971742f4701772a025a # password
type: 0 # individual
- salt: salt
+ salt: ZogKvWdyEx
is_admin: false
avatar: avatar8
avatar_email: user8@example.com
num_repos: 0
is_active: true
+ num_followers: 1
+ num_following: 1
-
id: 9
@@ -126,9 +135,9 @@
name: user9
full_name: User Nine
email: user9@example.com
- passwd: password
+ passwd: 7d93daa0d1e6f2305cc8fa496847d61dc7320bb16262f9c55dd753480207234cdd96a93194e408341971742f4701772a025a # password
type: 0 # individual
- salt: salt
+ salt: ZogKvWdyEx
is_admin: false
avatar: avatar9
avatar_email: user9@example.com
@@ -141,9 +150,9 @@
name: user10
full_name: User Ten
email: user10@example.com
- passwd: password
+ passwd: 7d93daa0d1e6f2305cc8fa496847d61dc7320bb16262f9c55dd753480207234cdd96a93194e408341971742f4701772a025a # password
type: 0 # individual
- salt: salt
+ salt: ZogKvWdyEx
is_admin: false
avatar: avatar10
avatar_email: user10@example.com
@@ -156,9 +165,9 @@
name: user11
full_name: User Eleven
email: user11@example.com
- passwd: password
+ passwd: 7d93daa0d1e6f2305cc8fa496847d61dc7320bb16262f9c55dd753480207234cdd96a93194e408341971742f4701772a025a # password
type: 0 # individual
- salt: salt
+ salt: ZogKvWdyEx
is_admin: false
avatar: avatar11
avatar_email: user11@example.com
@@ -171,9 +180,9 @@
name: user12
full_name: User 12
email: user12@example.com
- passwd: password
+ passwd: 7d93daa0d1e6f2305cc8fa496847d61dc7320bb16262f9c55dd753480207234cdd96a93194e408341971742f4701772a025a # password
type: 0 # individual
- salt: salt
+ salt: ZogKvWdyEx
is_admin: false
avatar: avatar12
avatar_email: user12@example.com
@@ -186,9 +195,9 @@
name: user13
full_name: User 13
email: user13@example.com
- passwd: password
+ passwd: 7d93daa0d1e6f2305cc8fa496847d61dc7320bb16262f9c55dd753480207234cdd96a93194e408341971742f4701772a025a # password
type: 0 # individual
- salt: salt
+ salt: ZogKvWdyEx
is_admin: false
avatar: avatar13
avatar_email: user13@example.com
@@ -201,9 +210,9 @@
name: user14
full_name: User 14
email: user14@example.com
- passwd: password
+ passwd: 7d93daa0d1e6f2305cc8fa496847d61dc7320bb16262f9c55dd753480207234cdd96a93194e408341971742f4701772a025a # password
type: 0 # individual
- salt: salt
+ salt: ZogKvWdyEx
is_admin: false
avatar: avatar14
avatar_email: user13@example.com
diff --git a/models/fixtures/user_open_id.yml b/models/fixtures/user_open_id.yml
new file mode 100644
index 0000000..d3a367b
--- /dev/null
+++ b/models/fixtures/user_open_id.yml
@@ -0,0 +1,17 @@
+-
+ id: 1
+ uid: 1
+ uri: https://user1.domain1.tld/
+ show: false
+
+-
+ id: 2
+ uid: 1
+ uri: http://user1.domain2.tld/
+ show: true
+
+-
+ id: 3
+ uid: 2
+ uri: https://domain1.tld/user2/
+ show: true
diff --git a/models/git_diff.go b/models/git_diff.go
index d9bb5e9..659dfbc 100644
--- a/models/git_diff.go
+++ b/models/git_diff.go
@@ -287,7 +287,6 @@ func ParsePatch(maxLines, maxLineCharacters, maxFiles int, reader io.Reader) (*D
curFile.IsBin = true
curFile.IsLFSFile = true
curSection.Lines = nil
- break
}
}
}
@@ -366,10 +365,12 @@ func ParsePatch(maxLines, maxLineCharacters, maxFiles int, reader io.Reader) (*D
}
curFile = &DiffFile{
- Name: a,
- Index: len(diff.Files) + 1,
- Type: DiffFileChange,
- Sections: make([]*DiffSection, 0, 10),
+ Name: b,
+ OldName: a,
+ Index: len(diff.Files) + 1,
+ Type: DiffFileChange,
+ Sections: make([]*DiffSection, 0, 10),
+ IsRenamed: a != b,
}
diff.Files = append(diff.Files, curFile)
if len(diff.Files) >= maxFiles {
@@ -402,9 +403,6 @@ func ParsePatch(maxLines, maxLineCharacters, maxFiles int, reader io.Reader) (*D
curFile.Type = DiffFileChange
case strings.HasPrefix(line, "similarity index 100%"):
curFile.Type = DiffFileRename
- curFile.IsRenamed = true
- curFile.OldName = curFile.Name
- curFile.Name = b
}
if curFile.Type > 0 {
if strings.HasSuffix(line, " 160000\n") {
diff --git a/models/git_diff_test.go b/models/git_diff_test.go
index f88e6fb..acdae20 100644
--- a/models/git_diff_test.go
+++ b/models/git_diff_test.go
@@ -1,9 +1,10 @@
package models
import (
- dmp "github.com/sergi/go-diff/diffmatchpatch"
"html/template"
"testing"
+
+ dmp "github.com/sergi/go-diff/diffmatchpatch"
)
func assertEqual(t *testing.T, s1 string, s2 template.HTML) {
diff --git a/models/gpg_key.go b/models/gpg_key.go
new file mode 100644
index 0000000..08573c1
--- /dev/null
+++ b/models/gpg_key.go
@@ -0,0 +1,465 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package models
+
+import (
+ "bytes"
+ "container/list"
+ "crypto"
+ "encoding/base64"
+ "fmt"
+ "hash"
+ "io"
+ "strings"
+ "time"
+
+ "code.gitea.io/git"
+ "code.gitea.io/gitea/modules/log"
+
+ "github.com/go-xorm/xorm"
+ "github.com/keybase/go-crypto/openpgp"
+ "github.com/keybase/go-crypto/openpgp/armor"
+ "github.com/keybase/go-crypto/openpgp/packet"
+)
+
+// GPGKey represents a GPG key.
+type GPGKey struct {
+ ID int64 `xorm:"pk autoincr"`
+ OwnerID int64 `xorm:"INDEX NOT NULL"`
+ KeyID string `xorm:"INDEX CHAR(16) NOT NULL"`
+ PrimaryKeyID string `xorm:"CHAR(16)"`
+ Content string `xorm:"TEXT NOT NULL"`
+ Created time.Time `xorm:"-"`
+ CreatedUnix int64
+ Expired time.Time `xorm:"-"`
+ ExpiredUnix int64
+ Added time.Time `xorm:"-"`
+ AddedUnix int64
+ SubsKey []*GPGKey `xorm:"-"`
+ Emails []*EmailAddress
+ CanSign bool
+ CanEncryptComms bool
+ CanEncryptStorage bool
+ CanCertify bool
+}
+
+// BeforeInsert will be invoked by XORM before inserting a record
+func (key *GPGKey) BeforeInsert() {
+ key.AddedUnix = time.Now().Unix()
+ key.ExpiredUnix = key.Expired.Unix()
+ key.CreatedUnix = key.Created.Unix()
+}
+
+// AfterSet is invoked from XORM after setting the value of a field of this object.
+func (key *GPGKey) AfterSet(colName string, _ xorm.Cell) {
+ switch colName {
+ case "key_id":
+ x.Where("primary_key_id=?", key.KeyID).Find(&key.SubsKey)
+ case "added_unix":
+ key.Added = time.Unix(key.AddedUnix, 0).Local()
+ case "expired_unix":
+ key.Expired = time.Unix(key.ExpiredUnix, 0).Local()
+ case "created_unix":
+ key.Created = time.Unix(key.CreatedUnix, 0).Local()
+ }
+}
+
+// ListGPGKeys returns a list of public keys belongs to given user.
+func ListGPGKeys(uid int64) ([]*GPGKey, error) {
+ keys := make([]*GPGKey, 0, 5)
+ return keys, x.Where("owner_id=? AND primary_key_id=''", uid).Find(&keys)
+}
+
+// GetGPGKeyByID returns public key by given ID.
+func GetGPGKeyByID(keyID int64) (*GPGKey, error) {
+ key := new(GPGKey)
+ has, err := x.Id(keyID).Get(key)
+ if err != nil {
+ return nil, err
+ } else if !has {
+ return nil, ErrGPGKeyNotExist{keyID}
+ }
+ return key, nil
+}
+
+// checkArmoredGPGKeyString checks if the given key string is a valid GPG armored key.
+// The function returns the actual public key on success
+func checkArmoredGPGKeyString(content string) (*openpgp.Entity, error) {
+ list, err := openpgp.ReadArmoredKeyRing(strings.NewReader(content))
+ if err != nil {
+ return nil, ErrGPGKeyParsing{err}
+ }
+ return list[0], nil
+}
+
+//addGPGKey add key and subkeys to database
+func addGPGKey(e Engine, key *GPGKey) (err error) {
+ // Save GPG primary key.
+ if _, err = e.Insert(key); err != nil {
+ return err
+ }
+ // Save GPG subs key.
+ for _, subkey := range key.SubsKey {
+ if err := addGPGKey(e, subkey); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+// AddGPGKey adds new public key to database.
+func AddGPGKey(ownerID int64, content string) (*GPGKey, error) {
+ ekey, err := checkArmoredGPGKeyString(content)
+ if err != nil {
+ return nil, err
+ }
+
+ // Key ID cannot be duplicated.
+ has, err := x.Where("key_id=?", ekey.PrimaryKey.KeyIdString()).
+ Get(new(GPGKey))
+ if err != nil {
+ return nil, err
+ } else if has {
+ return nil, ErrGPGKeyIDAlreadyUsed{ekey.PrimaryKey.KeyIdString()}
+ }
+
+ //Get DB session
+ sess := x.NewSession()
+ defer sess.Close()
+ if err = sess.Begin(); err != nil {
+ return nil, err
+ }
+
+ key, err := parseGPGKey(ownerID, ekey)
+ if err != nil {
+ return nil, err
+ }
+
+ if err = addGPGKey(sess, key); err != nil {
+ return nil, err
+ }
+
+ return key, sess.Commit()
+}
+
+//base64EncPubKey encode public kay content to base 64
+func base64EncPubKey(pubkey *packet.PublicKey) (string, error) {
+ var w bytes.Buffer
+ err := pubkey.Serialize(&w)
+ if err != nil {
+ return "", err
+ }
+ return base64.StdEncoding.EncodeToString(w.Bytes()), nil
+}
+
+//parseSubGPGKey parse a sub Key
+func parseSubGPGKey(ownerID int64, primaryID string, pubkey *packet.PublicKey, expiry time.Time) (*GPGKey, error) {
+ content, err := base64EncPubKey(pubkey)
+ if err != nil {
+ return nil, err
+ }
+ return &GPGKey{
+ OwnerID: ownerID,
+ KeyID: pubkey.KeyIdString(),
+ PrimaryKeyID: primaryID,
+ Content: content,
+ Created: pubkey.CreationTime,
+ Expired: expiry,
+ CanSign: pubkey.CanSign(),
+ CanEncryptComms: pubkey.PubKeyAlgo.CanEncrypt(),
+ CanEncryptStorage: pubkey.PubKeyAlgo.CanEncrypt(),
+ CanCertify: pubkey.PubKeyAlgo.CanSign(),
+ }, nil
+}
+
+//parseGPGKey parse a PrimaryKey entity (primary key + subs keys + self-signature)
+func parseGPGKey(ownerID int64, e *openpgp.Entity) (*GPGKey, error) {
+ pubkey := e.PrimaryKey
+
+ //Extract self-sign for expire date based on : https://github.com/golang/crypto/blob/master/openpgp/keys.go#L165
+ var selfSig *packet.Signature
+ for _, ident := range e.Identities {
+ if selfSig == nil {
+ selfSig = ident.SelfSignature
+ } else if ident.SelfSignature.IsPrimaryId != nil && *ident.SelfSignature.IsPrimaryId {
+ selfSig = ident.SelfSignature
+ break
+ }
+ }
+ expiry := time.Time{}
+ if selfSig.KeyLifetimeSecs != nil {
+ expiry = selfSig.CreationTime.Add(time.Duration(*selfSig.KeyLifetimeSecs) * time.Second)
+ }
+
+ //Parse Subkeys
+ subkeys := make([]*GPGKey, len(e.Subkeys))
+ for i, k := range e.Subkeys {
+ subs, err := parseSubGPGKey(ownerID, pubkey.KeyIdString(), k.PublicKey, expiry)
+ if err != nil {
+ return nil, err
+ }
+ subkeys[i] = subs
+ }
+
+ //Check emails
+ userEmails, err := GetEmailAddresses(ownerID)
+ if err != nil {
+ return nil, err
+ }
+ emails := make([]*EmailAddress, len(e.Identities))
+ n := 0
+ for _, ident := range e.Identities {
+ email := strings.ToLower(strings.TrimSpace(ident.UserId.Email))
+ for _, e := range userEmails {
+ if e.Email == email && e.IsActivated {
+ emails[n] = e
+ break
+ }
+ }
+ if emails[n] == nil {
+ return nil, ErrGPGEmailNotFound{ident.UserId.Email}
+ }
+ n++
+ }
+ content, err := base64EncPubKey(pubkey)
+ if err != nil {
+ return nil, err
+ }
+ return &GPGKey{
+ OwnerID: ownerID,
+ KeyID: pubkey.KeyIdString(),
+ PrimaryKeyID: "",
+ Content: content,
+ Created: pubkey.CreationTime,
+ Expired: expiry,
+ Emails: emails,
+ SubsKey: subkeys,
+ CanSign: pubkey.CanSign(),
+ CanEncryptComms: pubkey.PubKeyAlgo.CanEncrypt(),
+ CanEncryptStorage: pubkey.PubKeyAlgo.CanEncrypt(),
+ CanCertify: pubkey.PubKeyAlgo.CanSign(),
+ }, nil
+}
+
+// deleteGPGKey does the actual key deletion
+func deleteGPGKey(e *xorm.Session, keyID string) (int64, error) {
+ if keyID == "" {
+ return 0, fmt.Errorf("empty KeyId forbidden") //Should never happen but just to be sure
+ }
+ return e.Where("key_id=?", keyID).Or("primary_key_id=?", keyID).Delete(new(GPGKey))
+}
+
+// DeleteGPGKey deletes GPG key information in database.
+func DeleteGPGKey(doer *User, id int64) (err error) {
+ key, err := GetGPGKeyByID(id)
+ if err != nil {
+ if IsErrGPGKeyNotExist(err) {
+ return nil
+ }
+ return fmt.Errorf("GetPublicKeyByID: %v", err)
+ }
+
+ // Check if user has access to delete this key.
+ if !doer.IsAdmin && doer.ID != key.OwnerID {
+ return ErrGPGKeyAccessDenied{doer.ID, key.ID}
+ }
+
+ sess := x.NewSession()
+ defer sess.Close()
+ if err = sess.Begin(); err != nil {
+ return err
+ }
+
+ if _, err = deleteGPGKey(sess, key.KeyID); err != nil {
+ return err
+ }
+
+ return sess.Commit()
+}
+
+// CommitVerification represents a commit validation of signature
+type CommitVerification struct {
+ Verified bool
+ Reason string
+ SigningUser *User
+ SigningKey *GPGKey
+}
+
+// SignCommit represents a commit with validation of signature.
+type SignCommit struct {
+ Verification *CommitVerification
+ *UserCommit
+}
+
+func readerFromBase64(s string) (io.Reader, error) {
+ bs, err := base64.StdEncoding.DecodeString(s)
+ if err != nil {
+ return nil, err
+ }
+ return bytes.NewBuffer(bs), nil
+}
+
+func populateHash(hashFunc crypto.Hash, msg []byte) (hash.Hash, error) {
+ h := hashFunc.New()
+ if _, err := h.Write(msg); err != nil {
+ return nil, err
+ }
+ return h, nil
+}
+
+// readArmoredSign read an armored signature block with the given type. https://sourcegraph.com/github.com/golang/crypto/-/blob/openpgp/read.go#L24:6-24:17
+func readArmoredSign(r io.Reader) (body io.Reader, err error) {
+ block, err := armor.Decode(r)
+ if err != nil {
+ return
+ }
+ if block.Type != openpgp.SignatureType {
+ return nil, fmt.Errorf("expected '" + openpgp.SignatureType + "', got: " + block.Type)
+ }
+ return block.Body, nil
+}
+
+func extractSignature(s string) (*packet.Signature, error) {
+ r, err := readArmoredSign(strings.NewReader(s))
+ if err != nil {
+ return nil, fmt.Errorf("Failed to read signature armor")
+ }
+ p, err := packet.Read(r)
+ if err != nil {
+ return nil, fmt.Errorf("Failed to read signature packet")
+ }
+ sig, ok := p.(*packet.Signature)
+ if !ok {
+ return nil, fmt.Errorf("Packet is not a signature")
+ }
+ return sig, nil
+}
+
+func verifySign(s *packet.Signature, h hash.Hash, k *GPGKey) error {
+ //Check if key can sign
+ if !k.CanSign {
+ return fmt.Errorf("key can not sign")
+ }
+ //Decode key
+ b, err := readerFromBase64(k.Content)
+ if err != nil {
+ return err
+ }
+ //Read key
+ p, err := packet.Read(b)
+ if err != nil {
+ return err
+ }
+
+ //Check type
+ pkey, ok := p.(*packet.PublicKey)
+ if !ok {
+ return fmt.Errorf("key is not a public key")
+ }
+
+ return pkey.VerifySignature(h, s)
+}
+
+// ParseCommitWithSignature check if signature is good against keystore.
+func ParseCommitWithSignature(c *git.Commit) *CommitVerification {
+ if c.Signature != nil {
+ //Parsing signature
+ sig, err := extractSignature(c.Signature.Signature)
+ if err != nil { //Skipping failed to extract sign
+ log.Error(3, "SignatureRead err: %v", err)
+ return &CommitVerification{
+ Verified: false,
+ Reason: "gpg.error.extract_sign",
+ }
+ }
+
+ //Find Committer account
+ committer, err := GetUserByEmail(c.Committer.Email)
+ if err != nil { //Skipping not user for commiter
+ log.Error(3, "NoCommitterAccount: %v", err)
+ return &CommitVerification{
+ Verified: false,
+ Reason: "gpg.error.no_committer_account",
+ }
+ }
+
+ keys, err := ListGPGKeys(committer.ID)
+ if err != nil { //Skipping failed to get gpg keys of user
+ log.Error(3, "ListGPGKeys: %v", err)
+ return &CommitVerification{
+ Verified: false,
+ Reason: "gpg.error.failed_retrieval_gpg_keys",
+ }
+ }
+
+ for _, k := range keys {
+ //Generating hash of commit
+ hash, err := populateHash(sig.Hash, []byte(c.Signature.Payload))
+ if err != nil { //Skipping ailed to generate hash
+ log.Error(3, "PopulateHash: %v", err)
+ return &CommitVerification{
+ Verified: false,
+ Reason: "gpg.error.generate_hash",
+ }
+ }
+ //We get PK
+ if err := verifySign(sig, hash, k); err == nil {
+ return &CommitVerification{ //Everything is ok
+ Verified: true,
+ Reason: fmt.Sprintf("%s <%s> / %s", c.Committer.Name, c.Committer.Email, k.KeyID),
+ SigningUser: committer,
+ SigningKey: k,
+ }
+ }
+ //And test also SubsKey
+ for _, sk := range k.SubsKey {
+
+ //Generating hash of commit
+ hash, err := populateHash(sig.Hash, []byte(c.Signature.Payload))
+ if err != nil { //Skipping ailed to generate hash
+ log.Error(3, "PopulateHash: %v", err)
+ return &CommitVerification{
+ Verified: false,
+ Reason: "gpg.error.generate_hash",
+ }
+ }
+ if err := verifySign(sig, hash, sk); err == nil {
+ return &CommitVerification{ //Everything is ok
+ Verified: true,
+ Reason: fmt.Sprintf("%s <%s> / %s", c.Committer.Name, c.Committer.Email, sk.KeyID),
+ SigningUser: committer,
+ SigningKey: sk,
+ }
+ }
+ }
+ }
+ return &CommitVerification{ //Default at this stage
+ Verified: false,
+ Reason: "gpg.error.no_gpg_keys_found",
+ }
+ }
+
+ return &CommitVerification{
+ Verified: false, //Default value
+ Reason: "gpg.error.not_signed_commit", //Default value
+ }
+}
+
+// ParseCommitsWithSignature checks if signaute of commits are corresponding to users gpg keys.
+func ParseCommitsWithSignature(oldCommits *list.List) *list.List {
+ var (
+ newCommits = list.New()
+ e = oldCommits.Front()
+ )
+ for e != nil {
+ c := e.Value.(UserCommit)
+ newCommits.PushBack(SignCommit{
+ UserCommit: &c,
+ Verification: ParseCommitWithSignature(c.Commit),
+ })
+ e = e.Next()
+ }
+ return newCommits
+}
diff --git a/models/gpg_key_test.go b/models/gpg_key_test.go
new file mode 100644
index 0000000..687e0cd
--- /dev/null
+++ b/models/gpg_key_test.go
@@ -0,0 +1,224 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package models
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestCheckArmoredGPGKeyString(t *testing.T) {
+ testGPGArmor := `-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQENBFh91QoBCADciaDd7aqegYkn4ZIG7J0p1CRwpqMGjxFroJEMg6M1ZiuEVTRv
+z49P4kcr1+98NvFmcNc+x5uJgvPCwr/N8ZW5nqBUs2yrklbFF4MeQomyZJJegP8m
+/dsRT3BwIT8YMUtJuCj0iqD9vuKYfjrztcMgC1sYwcE9E9OlA0pWBvUdU2i0TIB1
+vOq6slWGvHHa5l5gPfm09idlVxfH5+I+L1uIMx5ovbiVVU5x2f1AR1T18f0t2TVN
+0agFTyuoYE1ATmvJHmMcsfgM1Gpd9hIlr9vlupT2kKTPoNzVzsJsOU6Ku/Lf/bac
+mF+TfSbRCtmG7dkYZ4metLj7zG/WkW8IvJARABEBAAG0HUFudG9pbmUgR0lSQVJE
+IDxzYXBrQHNhcGsuZnI+iQFUBBMBCAA+FiEEEIOwJg/1vpF1itJ4roJVuKDYKOQF
+Alh91QoCGwMFCQPCZwAFCwkIBwIGFQgJCgsCBBYCAwECHgECF4AACgkQroJVuKDY
+KORreggAlIkC2QjHP5tb7b0+LksB2JMXdY+UzZBcJxtNmvA7gNQaGvWRrhrbePpa
+MKDP+3A4BPDBsWFbbB7N56vQ5tROpmWbNKuFOVER4S1bj0JZV0E+xkDLqt9QwQtQ
+ojd7oIZJwDUwdud1PvCza2mjgBqqiFE+twbc3i9xjciCGspMniUul1eQYLxRJ0w+
+sbvSOUnujnq5ByMSz9ij00O6aiPfNQS5oB5AALfpjYZDvWAAljLVrtmlQJWZ6dZo
+T/YNwsW2dECPuti8+Nmu5FxPGDTXxdbnRaeJTQ3T6q1oUVAv7yTXBx5NXfXkMa5i
+iEayQIH8Joq5Ev5ja/lRGQQhArMQ2bkBDQRYfdUKAQgAv7B3coLSrOQbuTZSlgWE
+QeT+7DWbmqE1LAQA1pQPcUPXLBUVd60amZJxF9nzUYcY83ylDi0gUNJS+DJGOXpT
+pzX2IOuOMGbtUSeKwg5s9O4SUO7f2yCc3RGaegER5zgESxelmOXG+b/hoNt7JbdU
+JtxcnLr91Jw2PBO/Xf0ZKJ01CQG2Yzdrrj6jnrHyx94seHy0i6xH1o0OuvfVMLfN
+/Vbb/ZHh6ym2wHNqRX62b0VAbchcJXX/MEehXGknKTkO6dDUd+mhRgWMf9ZGRFWx
+ag4qALimkf1FXtAyD0vxFYeyoWUQzrOvUsm2BxIN/986R08fhkBQnp5nz07mrU02
+cQARAQABiQE8BBgBCAAmFiEEEIOwJg/1vpF1itJ4roJVuKDYKOQFAlh91QoCGwwF
+CQPCZwAACgkQroJVuKDYKOT32wf/UZqMdPn5OhyhffFzjQx7wolrf92WkF2JkxtH
+6c3Htjlt/p5RhtKEeErSrNAxB4pqB7dznHaJXiOdWEZtRVXXjlNHjrokGTesqtKk
+lHWtK62/MuyLdr+FdCl68F3ewuT2iu/MDv+D4HPqA47zma9xVgZ9ZNwJOpv3fCOo
+RfY66UjGEnfgYifgtI5S84/mp2jaSc9UNvlZB6RSf8cfbJUL74kS2lq+xzSlf0yP
+Av844q/BfRuVsJsK1NDNG09LC30B0l3LKBqlrRmRTUMHtgchdX2dY+p7GPOoSzlR
+MkM/fdpyc2hY7Dl/+qFmN5MG5yGmMpQcX+RNNR222ibNC1D3wg==
+=i9b7
+-----END PGP PUBLIC KEY BLOCK-----`
+
+ key, err := checkArmoredGPGKeyString(testGPGArmor)
+ assert.NoError(t, err, "Could not parse a valid GPG public armored rsa key", key)
+ //TODO verify value of key
+}
+
+func TestCheckArmoredbrainpoolP256r1GPGKeyString(t *testing.T) {
+ testGPGArmor := `-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2
+
+mFMEV6HwkhMJKyQDAwIIAQEHAgMEUsvJO/j5dFMRRj67qeZC9fSKBsGZdOHRj2+6
+8wssmbUuLTfT/ZjIbExETyY8hFnURRGpD2Ifyz0cKjXcbXfJtrQTRm9vYmFyIDxm
+b29AYmFyLmRlPoh/BBMTCAAnBQJZOsDIAhsDBQkJZgGABQsJCAcCBhUICQoLAgQW
+AgMBAh4BAheAAAoJEGuJTd/DBMzmNVQA/2beUrv1yU4gyvCiPDEm3pK42cSfaL5D
+muCtPCUg9hlWAP4yq6M78NW8STfsXgn6oeziMYiHSTmV14nOamLuwwDWM7hXBFeh
+8JISCSskAwMCCAEBBwIDBG3A+XfINAZp1CTse2mRNgeUE5DbUtEpO8ALXKA1UQsQ
+DLKq27b7zTgawgXIGUGP6mWsJ5oH7MNAJ/uKTsYmX40DAQgHiGcEGBMIAA8FAleh
+8JICGwwFCQlmAYAACgkQa4lN38MEzOZwKAD/QKyerAgcvzzLaqvtap3XvpYcw9tc
+OyjLLnFQiVmq7kEA/0z0CQe3ZQiQIq5zrs7Nh1XRkFAo8GlU/SGC9XFFi722
+=ZiSe
+-----END PGP PUBLIC KEY BLOCK-----`
+
+ key, err := checkArmoredGPGKeyString(testGPGArmor)
+ assert.NoError(t, err, "Could not parse a valid GPG public armored brainpoolP256r1 key", key)
+ //TODO verify value of key
+}
+
+func TestExtractSignature(t *testing.T) {
+ testGPGArmor := `-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQENBFh91QoBCADciaDd7aqegYkn4ZIG7J0p1CRwpqMGjxFroJEMg6M1ZiuEVTRv
+z49P4kcr1+98NvFmcNc+x5uJgvPCwr/N8ZW5nqBUs2yrklbFF4MeQomyZJJegP8m
+/dsRT3BwIT8YMUtJuCj0iqD9vuKYfjrztcMgC1sYwcE9E9OlA0pWBvUdU2i0TIB1
+vOq6slWGvHHa5l5gPfm09idlVxfH5+I+L1uIMx5ovbiVVU5x2f1AR1T18f0t2TVN
+0agFTyuoYE1ATmvJHmMcsfgM1Gpd9hIlr9vlupT2kKTPoNzVzsJsOU6Ku/Lf/bac
+mF+TfSbRCtmG7dkYZ4metLj7zG/WkW8IvJARABEBAAG0HUFudG9pbmUgR0lSQVJE
+IDxzYXBrQHNhcGsuZnI+iQFUBBMBCAA+FiEEEIOwJg/1vpF1itJ4roJVuKDYKOQF
+Alh91QoCGwMFCQPCZwAFCwkIBwIGFQgJCgsCBBYCAwECHgECF4AACgkQroJVuKDY
+KORreggAlIkC2QjHP5tb7b0+LksB2JMXdY+UzZBcJxtNmvA7gNQaGvWRrhrbePpa
+MKDP+3A4BPDBsWFbbB7N56vQ5tROpmWbNKuFOVER4S1bj0JZV0E+xkDLqt9QwQtQ
+ojd7oIZJwDUwdud1PvCza2mjgBqqiFE+twbc3i9xjciCGspMniUul1eQYLxRJ0w+
+sbvSOUnujnq5ByMSz9ij00O6aiPfNQS5oB5AALfpjYZDvWAAljLVrtmlQJWZ6dZo
+T/YNwsW2dECPuti8+Nmu5FxPGDTXxdbnRaeJTQ3T6q1oUVAv7yTXBx5NXfXkMa5i
+iEayQIH8Joq5Ev5ja/lRGQQhArMQ2bkBDQRYfdUKAQgAv7B3coLSrOQbuTZSlgWE
+QeT+7DWbmqE1LAQA1pQPcUPXLBUVd60amZJxF9nzUYcY83ylDi0gUNJS+DJGOXpT
+pzX2IOuOMGbtUSeKwg5s9O4SUO7f2yCc3RGaegER5zgESxelmOXG+b/hoNt7JbdU
+JtxcnLr91Jw2PBO/Xf0ZKJ01CQG2Yzdrrj6jnrHyx94seHy0i6xH1o0OuvfVMLfN
+/Vbb/ZHh6ym2wHNqRX62b0VAbchcJXX/MEehXGknKTkO6dDUd+mhRgWMf9ZGRFWx
+ag4qALimkf1FXtAyD0vxFYeyoWUQzrOvUsm2BxIN/986R08fhkBQnp5nz07mrU02
+cQARAQABiQE8BBgBCAAmFiEEEIOwJg/1vpF1itJ4roJVuKDYKOQFAlh91QoCGwwF
+CQPCZwAACgkQroJVuKDYKOT32wf/UZqMdPn5OhyhffFzjQx7wolrf92WkF2JkxtH
+6c3Htjlt/p5RhtKEeErSrNAxB4pqB7dznHaJXiOdWEZtRVXXjlNHjrokGTesqtKk
+lHWtK62/MuyLdr+FdCl68F3ewuT2iu/MDv+D4HPqA47zma9xVgZ9ZNwJOpv3fCOo
+RfY66UjGEnfgYifgtI5S84/mp2jaSc9UNvlZB6RSf8cfbJUL74kS2lq+xzSlf0yP
+Av844q/BfRuVsJsK1NDNG09LC30B0l3LKBqlrRmRTUMHtgchdX2dY+p7GPOoSzlR
+MkM/fdpyc2hY7Dl/+qFmN5MG5yGmMpQcX+RNNR222ibNC1D3wg==
+=i9b7
+-----END PGP PUBLIC KEY BLOCK-----`
+ ekey, err := checkArmoredGPGKeyString(testGPGArmor)
+ assert.NoError(t, err, "Could not parse a valid GPG armored key", ekey)
+
+ pubkey := ekey.PrimaryKey
+ content, err := base64EncPubKey(pubkey)
+ assert.NoError(t, err, "Could not base64 encode a valid PublicKey content", ekey)
+
+ key := &GPGKey{
+ KeyID: pubkey.KeyIdString(),
+ Content: content,
+ Created: pubkey.CreationTime,
+ CanSign: pubkey.CanSign(),
+ CanEncryptComms: pubkey.PubKeyAlgo.CanEncrypt(),
+ CanEncryptStorage: pubkey.PubKeyAlgo.CanEncrypt(),
+ CanCertify: pubkey.PubKeyAlgo.CanSign(),
+ }
+
+ cannotsignkey := &GPGKey{
+ KeyID: pubkey.KeyIdString(),
+ Content: content,
+ Created: pubkey.CreationTime,
+ CanSign: false,
+ CanEncryptComms: false,
+ CanEncryptStorage: false,
+ CanCertify: false,
+ }
+
+ testGoodSigArmor := `-----BEGIN PGP SIGNATURE-----
+
+iQEzBAABCAAdFiEEEIOwJg/1vpF1itJ4roJVuKDYKOQFAljAiQIACgkQroJVuKDY
+KORvCgf6A/Ehh0r7QbO2tFEghT+/Ab+bN7jRN3zP9ed6/q/ophYmkrU0NibtbJH9
+AwFVdHxCmj78SdiRjaTKyevklXw34nvMftmvnOI4lBNUdw6KWl25/n/7wN0l2oZW
+rW3UawYpZgodXiLTYarfEimkDQmT67ArScjRA6lLbkEYKO0VdwDu+Z6yBUH3GWtm
+45RkXpnsF6AXUfuD7YxnfyyDE1A7g7zj4vVYUAfWukJjqow/LsCUgETETJOqj9q3
+52/oQDs04fVkIEtCDulcY+K/fKlukBPJf9WceNDEqiENUzN/Z1y0E+tJ07cSy4bk
+yIJb+d0OAaG8bxloO7nJq4Res1Qa8Q==
+=puvG
+-----END PGP SIGNATURE-----`
+ testGoodPayload := `tree 56ae8d2799882b20381fc11659db06c16c68c61a
+parent c7870c39e4e6b247235ca005797703ec4254613f
+author Antoine GIRARD 1489012989 +0100
+committer Antoine GIRARD 1489012989 +0100
+
+Goog GPG
+`
+
+ testBadSigArmor := `-----BEGIN PGP SIGNATURE-----
+
+iQEzBAABCAAdFiEE5yr4rn9ulbdMxJFiPYI/ySNrtNkFAljAiYkACgkQPYI/ySNr
+tNmDdQf+NXhVRiOGt0GucpjJCGrOnK/qqVUmQyRUfrqzVUdb/1/Ws84V5/wE547I
+6z3oxeBKFsJa1CtIlxYaUyVhYnDzQtphJzub+Aw3UG0E2ywiE+N7RCa1Ufl7pPxJ
+U0SD6gvNaeTDQV/Wctu8v8DkCtEd3N8cMCDWhvy/FQEDztVtzm8hMe0Vdm0ozEH6
+P0W93sDNkLC5/qpWDN44sFlYDstW5VhMrnF0r/ohfaK2kpYHhkPk7WtOoHSUwQSg
+c4gfhjvXIQrWFnII1Kr5jFGlmgNSR02qpb31VGkMzSnBhWVf2OaHS/kI49QHJakq
+AhVDEnoYLCgoDGg9c3p1Ll2452/c6Q==
+=uoGV
+-----END PGP SIGNATURE-----`
+ testBadPayload := `tree 3074ff04951956a974e8b02d57733b0766f7cf6c
+parent fd3577542f7ad1554c7c7c0eb86bb57a1324ad91
+author Antoine GIRARD 1489013107 +0100
+committer Antoine GIRARD 1489013107 +0100
+
+Unknown GPG key with good email
+`
+ //Reading Sign
+ goodSig, err := extractSignature(testGoodSigArmor)
+ assert.NoError(t, err, "Could not parse a valid GPG armored signature", testGoodSigArmor)
+ badSig, err := extractSignature(testBadSigArmor)
+ assert.NoError(t, err, "Could not parse a valid GPG armored signature", testBadSigArmor)
+
+ //Generating hash of commit
+ goodHash, err := populateHash(goodSig.Hash, []byte(testGoodPayload))
+ assert.NoError(t, err, "Could not generate a valid hash of payload", testGoodPayload)
+ badHash, err := populateHash(badSig.Hash, []byte(testBadPayload))
+ assert.NoError(t, err, "Could not generate a valid hash of payload", testBadPayload)
+
+ //Verify
+ err = verifySign(goodSig, goodHash, key)
+ assert.NoError(t, err, "Could not validate a good signature")
+ err = verifySign(badSig, badHash, key)
+ assert.Error(t, err, "Validate a bad signature")
+ err = verifySign(goodSig, goodHash, cannotsignkey)
+ assert.Error(t, err, "Validate a bad signature with a kay that can not sign")
+}
+
+func TestCheckGPGUserEmail(t *testing.T) {
+ testEmailWithUpperCaseLetters := `-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1
+
+mQENBFlEBvMBCADe+EQcfv/aKbMFy7YB8e/DE+hY39sfjvdvSgeXtNhfmYvIOUjT
+ORMCvce2Oxzb3HTI0rjYsJpzo9jEQ53dB3vdr0ne5Juby6N7QPjof3NR+ko50Ki2
+0ilOjYuA0v6VHLIn70UBa9NEf+XDuE7P+Lbtl2L9B9OMXtcTAZoA3cJySgtNFNIG
+AVefPi8LeOcekL39wxJEA8OzdCyO5oENEwAG1tzjy9DDNJf74/dBBh2NiXeSeMxZ
+RYeYzqEa2UTDP1fkUl7d2/hV36cKZWZr+l4SQ5bM7HeLj2SsfabLfqKoVWgkfAzQ
+VwtkbRpzMiDLMte2ZAyTJUc+77YbFoyAmOcjABEBAAG0HFVzZXIgT25lIDxVc2Vy
+MUBFeGFtcGxlLmNvbT6JATgEEwECACIFAllEBvMCGwMGCwkIBwMCBhUIAgkKCwQW
+AgMBAh4BAheAAAoJEFMOzOY274DFw5EIAKc4jiYaMb1HDKrSv0tphgNxPFEY83/J
+9CZggO7BINxlb7z/lH1i0U2h2Ha9E3VJTJQF80zBCaIvtU2UNrgVmSKoc0BdE/2S
+rS9MAl29sXxf1BfvXHu12Suvo8O/ZFP45Vm/3kkHuasHyOV1GwUWnynt1qo0zUEn
+WMIcB8USlmMT1TnSb10YKBd/BpGF3crFDJLfAHRumZUk4knDDWUOWy5RCOG8cedc
+VTAhfdoKRRO3PchOfz6Rls/hew12mRNayqxuLQl2+BX+BWu+25dR3qyiS+twLbk6
+Rjpb0S+RQTkYIUoI0SEZpxcTZso11xF5KNpKZ9aAoiLJqkNF5h4oPSe5AQ0EWUQG
+8wEIALiMMqh3NF3ON/z7hQfeU24bCl/WdfJwCR9CWU/jx4X4gZq2C2aGtytGN5g/
+qoYQ3poTOPzh/4Dvs+r6CtHqi0CvPiEOfSxzmaK+F+vA0GMn2i3Sx5gq/VB0mr+j
+RIYMCjf68Tifo2RAT0VDzn6t304l5+VPr4OgbobMRH+wDe7Hhd2pZXl7ty8DooBn
+vqaqoKgdiccUXGBKe4Oihl/oZ4qrYH6K4ACP1Sco1rs4mNeKDAW8k/Y7zLjg6d59
+g0YQ1YI+CX/bKB7/cpMHLupyMLqvCcqIpjBXRJNMdjuMHgKckjr89DwnqXqgXz7W
+u0B39MZQn9nn6vq8BdkoDFgrTQ8AEQEAAYkBHwQYAQIACQUCWUQG8wIbDAAKCRBT
+DszmNu+Axf4IB/0S9NTc6kpwW+ZPZQNTWR5oKDEaXVCRLccOlkt33txMvk/z2jNM
+trEke99ss5L1bRyWB5fRA+XVsPmW9kIk8pmGFmxqp2nSxr9m9rlL5oTYH8u6dfSm
+zwGhqkfITjPI7hyNN52PLANwoS0o4dLzIE65ewigx6cnRlrT2IENObxG/tlxaYg1
+NHahJX0uFlVk0W0bLBrs3fTDw1lS/N8HpyQb+5ryQmiIb2a48aygCS/h2qeRlX1d
+Q0KHb+QcycSgbDx0ZAvdIacuKvBBcbxrsmFUI4LR+oIup0G9gUc0roPvr014jYQL
+7f8r/8fpcN8t+I/41QHCs6L/BEIdTHW3rTQ6
+=zHo9
+-----END PGP PUBLIC KEY BLOCK-----`
+
+ key, err := AddGPGKey(1, testEmailWithUpperCaseLetters)
+ assert.NoError(t, err)
+
+ assert.Len(t, key.Emails, 1)
+ assert.Equal(t, "user1@example.com", key.Emails[0].Email)
+}
diff --git a/models/issue.go b/models/issue.go
index c740d8f..673d718 100644
--- a/models/issue.go
+++ b/models/issue.go
@@ -24,6 +24,7 @@ import (
var (
errMissingIssueNumber = errors.New("No issue number specified")
+ errInvalidIssueNumber = errors.New("Invalid issue number")
)
// Issue represents an issue or pull request of repository.
@@ -131,6 +132,35 @@ func (issue *Issue) loadPoster(e Engine) (err error) {
return
}
+func (issue *Issue) loadAssignee(e Engine) (err error) {
+ if issue.Assignee == nil && issue.AssigneeID > 0 {
+ issue.Assignee, err = getUserByID(e, issue.AssigneeID)
+ if err != nil {
+ issue.AssigneeID = -1
+ issue.Assignee = NewGhostUser()
+ if !IsErrUserNotExist(err) {
+ return fmt.Errorf("getUserByID.(assignee) [%d]: %v", issue.AssigneeID, err)
+ }
+ err = nil
+ return
+ }
+ }
+ return
+}
+
+func (issue *Issue) loadPullRequest(e Engine) (err error) {
+ if issue.IsPull && issue.PullRequest == nil {
+ issue.PullRequest, err = getPullRequestByIssueID(e, issue.ID)
+ if err != nil {
+ if IsErrPullRequestNotExist(err) {
+ return err
+ }
+ return fmt.Errorf("getPullRequestByIssueID [%d]: %v", issue.ID, err)
+ }
+ }
+ return nil
+}
+
func (issue *Issue) loadAttributes(e Engine) (err error) {
if err = issue.loadRepo(e); err != nil {
return
@@ -146,24 +176,18 @@ func (issue *Issue) loadAttributes(e Engine) (err error) {
if issue.Milestone == nil && issue.MilestoneID > 0 {
issue.Milestone, err = getMilestoneByRepoID(e, issue.RepoID, issue.MilestoneID)
- if err != nil {
+ if err != nil && !IsErrMilestoneNotExist(err) {
return fmt.Errorf("getMilestoneByRepoID [repo_id: %d, milestone_id: %d]: %v", issue.RepoID, issue.MilestoneID, err)
}
}
- if issue.Assignee == nil && issue.AssigneeID > 0 {
- issue.Assignee, err = getUserByID(e, issue.AssigneeID)
- if err != nil {
- return fmt.Errorf("getUserByID.(assignee) [%d]: %v", issue.AssigneeID, err)
- }
+ if err = issue.loadAssignee(e); err != nil {
+ return
}
- if issue.IsPull && issue.PullRequest == nil {
+ if err = issue.loadPullRequest(e); err != nil && !IsErrPullRequestNotExist(err) {
// It is possible pull request is not yet created.
- issue.PullRequest, err = getPullRequestByIssueID(e, issue.ID)
- if err != nil && !IsErrPullRequestNotExist(err) {
- return fmt.Errorf("getPullRequestByIssueID [%d]: %v", issue.ID, err)
- }
+ return err
}
if issue.Attachments == nil {
@@ -174,7 +198,10 @@ func (issue *Issue) loadAttributes(e Engine) (err error) {
}
if issue.Comments == nil {
- issue.Comments, err = getCommentsByIssueID(e, issue.ID)
+ issue.Comments, err = findComments(e, FindCommentsOptions{
+ IssueID: issue.ID,
+ Type: CommentTypeUnknown,
+ })
if err != nil {
return fmt.Errorf("getCommentsByIssueID [%d]: %v", issue.ID, err)
}
@@ -304,8 +331,15 @@ func (issue *Issue) HasLabel(labelID int64) bool {
func (issue *Issue) sendLabelUpdatedWebhook(doer *User) {
var err error
if issue.IsPull {
- err = issue.PullRequest.LoadIssue()
- if err != nil {
+ if err = issue.loadRepo(x); err != nil {
+ log.Error(4, "loadRepo: %v", err)
+ return
+ }
+ if err = issue.loadPullRequest(x); err != nil {
+ log.Error(4, "loadPullRequest: %v", err)
+ return
+ }
+ if err = issue.PullRequest.LoadIssue(); err != nil {
log.Error(4, "LoadIssue: %v", err)
return
}
@@ -374,7 +408,7 @@ func (issue *Issue) RemoveLabel(doer *User, label *Label) error {
return err
}
- if has, err := HasAccess(doer, issue.Repo, AccessModeWrite); err != nil {
+ if has, err := HasAccess(doer.ID, issue.Repo, AccessModeWrite); err != nil {
return err
} else if !has {
return ErrLabelNotExist{}
@@ -406,16 +440,18 @@ func (issue *Issue) clearLabels(e *xorm.Session, doer *User) (err error) {
// Triggers appropriate WebHooks, if any.
func (issue *Issue) ClearLabels(doer *User) (err error) {
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
if err := issue.loadRepo(sess); err != nil {
return err
+ } else if err = issue.loadPullRequest(sess); err != nil {
+ return err
}
- if has, err := hasAccess(sess, doer, issue.Repo, AccessModeWrite); err != nil {
+ if has, err := hasAccess(sess, doer.ID, issue.Repo, AccessModeWrite); err != nil {
return err
} else if !has {
return ErrLabelNotExist{}
@@ -470,7 +506,7 @@ func (ts labelSorter) Swap(i, j int) {
// Triggers appropriate WebHooks, if any.
func (issue *Issue) ReplaceLabels(labels []*Label, doer *User) (err error) {
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -536,14 +572,11 @@ func (issue *Issue) ReadBy(userID int64) error {
return err
}
- if err := setNotificationStatusReadIfUnread(x, userID, issue.ID); err != nil {
- return err
- }
-
- return nil
+ return setNotificationStatusReadIfUnread(x, userID, issue.ID)
}
func updateIssueCols(e Engine, issue *Issue, cols ...string) error {
+ cols = append(cols, "updated_unix")
if _, err := e.Id(issue.ID).Cols(cols...).Update(issue); err != nil {
return err
}
@@ -598,7 +631,7 @@ func (issue *Issue) changeStatus(e *xorm.Session, doer *User, repo *Repository,
// ChangeStatus changes issue status to open or closed.
func (issue *Issue) ChangeStatus(doer *User, repo *Repository, isClosed bool) (err error) {
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -733,7 +766,7 @@ func (issue *Issue) ChangeContent(doer *User, content string) (err error) {
return nil
}
-// ChangeAssignee changes the Asssignee field of this issue.
+// ChangeAssignee changes the Assignee field of this issue.
func (issue *Issue) ChangeAssignee(doer *User, assigneeID int64) (err error) {
var oldAssigneeID = issue.AssigneeID
issue.AssigneeID = assigneeID
@@ -809,23 +842,14 @@ func newIssue(e *xorm.Session, doer *User, opts NewIssueOptions) (err error) {
}
}
- if opts.Issue.AssigneeID > 0 {
- assignee, err := getUserByID(e, opts.Issue.AssigneeID)
- if err != nil && !IsErrUserNotExist(err) {
- return fmt.Errorf("getUserByID: %v", err)
+ if assigneeID := opts.Issue.AssigneeID; assigneeID > 0 {
+ valid, err := hasAccess(e, assigneeID, opts.Repo, AccessModeWrite)
+ if err != nil {
+ return fmt.Errorf("hasAccess [user_id: %d, repo_id: %d]: %v", assigneeID, opts.Repo.ID, err)
}
-
- // Assume assignee is invalid and drop silently.
- opts.Issue.AssigneeID = 0
- if assignee != nil {
- valid, err := hasAccess(e, assignee, opts.Repo, AccessModeWrite)
- if err != nil {
- return fmt.Errorf("hasAccess [user_id: %d, repo_id: %d]: %v", assignee.ID, opts.Repo.ID, err)
- }
- if valid {
- opts.Issue.AssigneeID = assignee.ID
- opts.Issue.Assignee = assignee
- }
+ if !valid {
+ opts.Issue.AssigneeID = 0
+ opts.Issue.Assignee = nil
}
}
@@ -908,7 +932,7 @@ func newIssue(e *xorm.Session, doer *User, opts NewIssueOptions) (err error) {
// NewIssue creates new issue with labels for repository.
func NewIssue(repo *Repository, issue *Issue, labelIDs []int64, uuids []string) (err error) {
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -927,14 +951,13 @@ func NewIssue(repo *Repository, issue *Issue, labelIDs []int64, uuids []string)
}
if err = NotifyWatchers(&Action{
- ActUserID: issue.Poster.ID,
- ActUserName: issue.Poster.Name,
- OpType: ActionCreateIssue,
- Content: fmt.Sprintf("%d|%s", issue.Index, issue.Title),
- RepoID: repo.ID,
- RepoUserName: repo.Owner.Name,
- RepoName: repo.Name,
- IsPrivate: repo.IsPrivate,
+ ActUserID: issue.Poster.ID,
+ ActUser: issue.Poster,
+ OpType: ActionCreateIssue,
+ Content: fmt.Sprintf("%d|%s", issue.Index, issue.Title),
+ RepoID: repo.ID,
+ Repo: repo,
+ IsPrivate: repo.IsPrivate,
}); err != nil {
log.Error(4, "NotifyWatchers: %v", err)
}
@@ -955,7 +978,7 @@ func GetIssueByRef(ref string) (*Issue, error) {
index, err := com.StrTo(ref[n+1:]).Int64()
if err != nil {
- return nil, err
+ return nil, errInvalidIssueNumber
}
repo, err := GetRepositoryByRef(ref[:n])
@@ -1003,7 +1026,7 @@ func getIssueByID(e Engine, id int64) (*Issue, error) {
} else if !has {
return nil, ErrIssueNotExist{id, 0, 0}
}
- return issue, issue.LoadAttributes()
+ return issue, issue.loadAttributes(e)
}
// GetIssueByID returns an issue by given ID.
@@ -1011,6 +1034,16 @@ func GetIssueByID(id int64) (*Issue, error) {
return getIssueByID(x, id)
}
+func getIssuesByIDs(e Engine, issueIDs []int64) ([]*Issue, error) {
+ issues := make([]*Issue, 0, 10)
+ return issues, e.In("id", issueIDs).Find(&issues)
+}
+
+// GetIssuesByIDs return issues with the given IDs.
+func GetIssuesByIDs(issueIDs []int64) ([]*Issue, error) {
+ return getIssuesByIDs(x, issueIDs)
+}
+
// IssuesOptions represents options of an issue.
type IssuesOptions struct {
RepoID int64
@@ -1020,6 +1053,7 @@ type IssuesOptions struct {
MilestoneID int64
RepoIDs []int64
Page int
+ PageSize int
IsClosed util.OptionalBool
IsPull util.OptionalBool
Labels string
@@ -1048,20 +1082,15 @@ func sortIssuesSession(sess *xorm.Session, sortType string) {
}
}
-// Issues returns a list of issues by given conditions.
-func Issues(opts *IssuesOptions) ([]*Issue, error) {
- var sess *xorm.Session
- if opts.Page >= 0 {
+func (opts *IssuesOptions) setupSession(sess *xorm.Session) error {
+ if opts.Page >= 0 && opts.PageSize > 0 {
var start int
if opts.Page == 0 {
start = 0
} else {
- start = (opts.Page - 1) * setting.UI.IssuePagingNum
+ start = (opts.Page - 1) * opts.PageSize
}
- sess = x.Limit(setting.UI.IssuePagingNum, start)
- } else {
- sess = x.NewSession()
- defer sess.Close()
+ sess.Limit(opts.PageSize, start)
}
if len(opts.IssueIDs) > 0 {
@@ -1107,12 +1136,10 @@ func Issues(opts *IssuesOptions) ([]*Issue, error) {
sess.And("issue.is_pull=?", false)
}
- sortIssuesSession(sess, opts.SortType)
-
if len(opts.Labels) > 0 && opts.Labels != "0" {
labelIDs, err := base.StringsToInt64s(strings.Split(opts.Labels, ","))
if err != nil {
- return nil, err
+ return err
}
if len(labelIDs) > 0 {
sess.
@@ -1120,6 +1147,45 @@ func Issues(opts *IssuesOptions) ([]*Issue, error) {
In("issue_label.label_id", labelIDs)
}
}
+ return nil
+}
+
+// CountIssuesByRepo map from repoID to number of issues matching the options
+func CountIssuesByRepo(opts *IssuesOptions) (map[int64]int64, error) {
+ sess := x.NewSession()
+ defer sess.Close()
+
+ if err := opts.setupSession(sess); err != nil {
+ return nil, err
+ }
+
+ countsSlice := make([]*struct {
+ RepoID int64
+ Count int64
+ }, 0, 10)
+ if err := sess.GroupBy("issue.repo_id").
+ Select("issue.repo_id AS repo_id, COUNT(*) AS count").
+ Table("issue").
+ Find(&countsSlice); err != nil {
+ return nil, err
+ }
+
+ countMap := make(map[int64]int64, len(countsSlice))
+ for _, c := range countsSlice {
+ countMap[c.RepoID] = c.Count
+ }
+ return countMap, nil
+}
+
+// Issues returns a list of issues by given conditions.
+func Issues(opts *IssuesOptions) ([]*Issue, error) {
+ sess := x.NewSession()
+ defer sess.Close()
+
+ if err := opts.setupSession(sess); err != nil {
+ return nil, err
+ }
+ sortIssuesSession(sess, opts.SortType)
issues := make([]*Issue, 0, setting.UI.IssuePagingNum)
if err := sess.Find(&issues); err != nil {
@@ -1133,6 +1199,24 @@ func Issues(opts *IssuesOptions) ([]*Issue, error) {
return issues, nil
}
+// GetParticipantsByIssueID returns all users who are participated in comments of an issue.
+func GetParticipantsByIssueID(issueID int64) ([]*User, error) {
+ userIDs := make([]int64, 0, 5)
+ if err := x.Table("comment").Cols("poster_id").
+ Where("issue_id = ?", issueID).
+ And("type = ?", CommentTypeComment).
+ Distinct("poster_id").
+ Find(&userIDs); err != nil {
+ return nil, fmt.Errorf("get poster IDs: %v", err)
+ }
+ if len(userIDs) == 0 {
+ return nil, nil
+ }
+
+ users := make([]*User, 0, len(userIDs))
+ return users, x.In("id", userIDs).Find(&users)
+}
+
// UpdateIssueMentions extracts mentioned people from content and
// updates issue-user relations for them.
func UpdateIssueMentions(e Engine, issueID int64, mentions []string) error {
@@ -1205,7 +1289,6 @@ func parseCountResult(results []map[string][]byte) int64 {
// IssueStatsOptions contains parameters accepted by GetIssueStats.
type IssueStatsOptions struct {
- FilterMode int
RepoID int64
Labels string
MilestoneID int64
@@ -1223,7 +1306,7 @@ func GetIssueStats(opts *IssueStatsOptions) (*IssueStats, error) {
countSession := func(opts *IssueStatsOptions) *xorm.Session {
sess := x.
Where("issue.repo_id = ?", opts.RepoID).
- And("is_pull = ?", opts.IsPull)
+ And("issue.is_pull = ?", opts.IsPull)
if len(opts.IssueIDs) > 0 {
sess.In("issue.id", opts.IssueIDs)
@@ -1234,8 +1317,8 @@ func GetIssueStats(opts *IssueStatsOptions) (*IssueStats, error) {
if err != nil {
log.Warn("Malformed Labels argument: %s", opts.Labels)
} else if len(labelIDs) > 0 {
- sess.Join("INNER", "issue_label", "issue.id = issue_id").
- In("label_id", labelIDs)
+ sess.Join("INNER", "issue_label", "issue.id = issue_label.issue_id").
+ In("issue_label.label_id", labelIDs)
}
}
@@ -1244,11 +1327,11 @@ func GetIssueStats(opts *IssueStatsOptions) (*IssueStats, error) {
}
if opts.AssigneeID > 0 {
- sess.And("assignee_id = ?", opts.AssigneeID)
+ sess.And("issue.assignee_id = ?", opts.AssigneeID)
}
if opts.PosterID > 0 {
- sess.And("poster_id = ?", opts.PosterID)
+ sess.And("issue.poster_id = ?", opts.PosterID)
}
if opts.MentionedID > 0 {
@@ -1261,40 +1344,15 @@ func GetIssueStats(opts *IssueStatsOptions) (*IssueStats, error) {
}
var err error
- switch opts.FilterMode {
- case FilterModeAll, FilterModeAssign:
- stats.OpenCount, err = countSession(opts).
- And("is_closed = ?", false).
- Count(new(Issue))
-
- stats.ClosedCount, err = countSession(opts).
- And("is_closed = ?", true).
- Count(new(Issue))
- case FilterModeCreate:
- stats.OpenCount, err = countSession(opts).
- And("poster_id = ?", opts.PosterID).
- And("is_closed = ?", false).
- Count(new(Issue))
-
- stats.ClosedCount, err = countSession(opts).
- And("poster_id = ?", opts.PosterID).
- And("is_closed = ?", true).
- Count(new(Issue))
- case FilterModeMention:
- stats.OpenCount, err = countSession(opts).
- Join("INNER", "issue_user", "issue.id = issue_user.issue_id").
- And("issue_user.uid = ?", opts.PosterID).
- And("issue_user.is_mentioned = ?", true).
- And("issue.is_closed = ?", false).
- Count(new(Issue))
-
- stats.ClosedCount, err = countSession(opts).
- Join("INNER", "issue_user", "issue.id = issue_user.issue_id").
- And("issue_user.uid = ?", opts.PosterID).
- And("issue_user.is_mentioned = ?", true).
- And("issue.is_closed = ?", true).
- Count(new(Issue))
+ stats.OpenCount, err = countSession(opts).
+ And("issue.is_closed = ?", false).
+ Count(new(Issue))
+ if err != nil {
+ return stats, err
}
+ stats.ClosedCount, err = countSession(opts).
+ And("issue.is_closed = ?", true).
+ Count(new(Issue))
return stats, err
}
diff --git a/models/issue_comment.go b/models/issue_comment.go
index e133cc0..753e79b 100644
--- a/models/issue_comment.go
+++ b/models/issue_comment.go
@@ -10,6 +10,7 @@ import (
"time"
"github.com/Unknwon/com"
+ "github.com/go-xorm/builder"
"github.com/go-xorm/xorm"
api "code.gitea.io/sdk/gitea"
@@ -21,6 +22,11 @@ import (
// CommentType defines whether a comment is just a simple comment, an action (like close) or a reference.
type CommentType int
+// define unknown comment type
+const (
+ CommentTypeUnknown CommentType = -1
+)
+
// Enumerate all the comment types
const (
// Plain comment, can be associated with a commit (CommitID > 0) and a line (LineNum > 0)
@@ -153,7 +159,7 @@ func (c *Comment) HTMLURL() string {
log.Error(4, "GetIssueByID(%d): %v", c.IssueID, err)
return ""
}
- return fmt.Sprintf("%s#issuecomment-%d", issue.HTMLURL(), c.ID)
+ return fmt.Sprintf("%s#%s", issue.HTMLURL(), c.HashTag())
}
// IssueURL formats a URL-string to the issue
@@ -231,12 +237,9 @@ func (c *Comment) LoadMilestone() error {
has, err := x.ID(c.OldMilestoneID).Get(&oldMilestone)
if err != nil {
return err
- } else if !has {
- return ErrMilestoneNotExist{
- ID: c.OldMilestoneID,
- }
+ } else if has {
+ c.OldMilestone = &oldMilestone
}
- c.OldMilestone = &oldMilestone
}
if c.MilestoneID > 0 {
@@ -244,12 +247,9 @@ func (c *Comment) LoadMilestone() error {
has, err := x.ID(c.MilestoneID).Get(&milestone)
if err != nil {
return err
- } else if !has {
- return ErrMilestoneNotExist{
- ID: c.MilestoneID,
- }
+ } else if has {
+ c.Milestone = &milestone
}
- c.Milestone = &milestone
}
return nil
}
@@ -289,7 +289,7 @@ func (c *Comment) MailParticipants(e Engine, opType ActionType, issue *Issue) (e
case ActionReopenIssue:
issue.Content = fmt.Sprintf("Reopened #%d", issue.Index)
}
- if err = mailIssueCommentToParticipants(issue, c.Poster, mentions); err != nil {
+ if err = mailIssueCommentToParticipants(issue, c.Poster, c, mentions); err != nil {
log.Error(4, "mailIssueCommentToParticipants: %v", err)
}
@@ -329,13 +329,14 @@ func createComment(e *xorm.Session, opts *CreateCommentOptions) (_ *Comment, err
// Compose comment action, could be plain comment, close or reopen issue/pull request.
// This object will be used to notify watchers in the end of function.
act := &Action{
- ActUserID: opts.Doer.ID,
- ActUserName: opts.Doer.Name,
- Content: fmt.Sprintf("%d|%s", opts.Issue.Index, strings.Split(opts.Content, "\n")[0]),
- RepoID: opts.Repo.ID,
- RepoUserName: opts.Repo.Owner.Name,
- RepoName: opts.Repo.Name,
- IsPrivate: opts.Repo.IsPrivate,
+ ActUserID: opts.Doer.ID,
+ ActUser: opts.Doer,
+ Content: fmt.Sprintf("%d|%s", opts.Issue.Index, strings.Split(opts.Content, "\n")[0]),
+ RepoID: opts.Repo.ID,
+ Repo: opts.Repo,
+ Comment: comment,
+ CommentID: comment.ID,
+ IsPrivate: opts.Repo.IsPrivate,
}
// Check comment type.
@@ -398,7 +399,11 @@ func createComment(e *xorm.Session, opts *CreateCommentOptions) (_ *Comment, err
if err != nil {
return nil, err
}
+ }
+ // update the issue's updated_unix column
+ if err = updateIssueCols(e, opts.Issue); err != nil {
+ return nil, err
}
// Notify watchers for whatever action comes in, ignore if no action type.
@@ -509,7 +514,7 @@ type CreateCommentOptions struct {
// CreateComment creates comment of issue or commit.
func CreateComment(opts *CreateCommentOptions) (comment *Comment, err error) {
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return nil, err
}
@@ -575,45 +580,71 @@ func GetCommentByID(id int64) (*Comment, error) {
return c, nil
}
-func getCommentsByIssueIDSince(e Engine, issueID, since int64) ([]*Comment, error) {
- comments := make([]*Comment, 0, 10)
- sess := e.
- Where("issue_id = ?", issueID).
- Asc("created_unix")
- if since > 0 {
- sess.And("updated_unix >= ?", since)
- }
- return comments, sess.Find(&comments)
+// FindCommentsOptions describes the conditions to Find comments
+type FindCommentsOptions struct {
+ RepoID int64
+ IssueID int64
+ Since int64
+ Type CommentType
}
-func getCommentsByRepoIDSince(e Engine, repoID, since int64) ([]*Comment, error) {
- comments := make([]*Comment, 0, 10)
- sess := e.Where("issue.repo_id = ?", repoID).
- Join("INNER", "issue", "issue.id = comment.issue_id").
- Asc("comment.created_unix")
- if since > 0 {
- sess.And("comment.updated_unix >= ?", since)
+func (opts *FindCommentsOptions) toConds() builder.Cond {
+ var cond = builder.NewCond()
+ if opts.RepoID > 0 {
+ cond = cond.And(builder.Eq{"issue.repo_id": opts.RepoID})
}
- return comments, sess.Find(&comments)
+ if opts.IssueID > 0 {
+ cond = cond.And(builder.Eq{"comment.issue_id": opts.IssueID})
+ }
+ if opts.Since > 0 {
+ cond = cond.And(builder.Gte{"comment.updated_unix": opts.Since})
+ }
+ if opts.Type != CommentTypeUnknown {
+ cond = cond.And(builder.Eq{"comment.type": opts.Type})
+ }
+ return cond
}
-func getCommentsByIssueID(e Engine, issueID int64) ([]*Comment, error) {
- return getCommentsByIssueIDSince(e, issueID, -1)
+func findComments(e Engine, opts FindCommentsOptions) ([]*Comment, error) {
+ comments := make([]*Comment, 0, 10)
+ sess := e.Where(opts.toConds())
+ if opts.RepoID > 0 {
+ sess.Join("INNER", "issue", "issue.id = comment.issue_id")
+ }
+ return comments, sess.
+ Asc("comment.created_unix").
+ Find(&comments)
+}
+
+// FindComments returns all comments according options
+func FindComments(opts FindCommentsOptions) ([]*Comment, error) {
+ return findComments(x, opts)
}
// GetCommentsByIssueID returns all comments of an issue.
func GetCommentsByIssueID(issueID int64) ([]*Comment, error) {
- return getCommentsByIssueID(x, issueID)
+ return findComments(x, FindCommentsOptions{
+ IssueID: issueID,
+ Type: CommentTypeUnknown,
+ })
}
// GetCommentsByIssueIDSince returns a list of comments of an issue since a given time point.
func GetCommentsByIssueIDSince(issueID, since int64) ([]*Comment, error) {
- return getCommentsByIssueIDSince(x, issueID, since)
+ return findComments(x, FindCommentsOptions{
+ IssueID: issueID,
+ Type: CommentTypeUnknown,
+ Since: since,
+ })
}
// GetCommentsByRepoIDSince returns a list of comments for all issues in a repo since a given time point.
func GetCommentsByRepoIDSince(repoID, since int64) ([]*Comment, error) {
- return getCommentsByRepoIDSince(x, repoID, since)
+ return findComments(x, FindCommentsOptions{
+ RepoID: repoID,
+ Type: CommentTypeUnknown,
+ Since: since,
+ })
}
// UpdateComment updates information of comment.
@@ -625,7 +656,7 @@ func UpdateComment(c *Comment) error {
// DeleteComment deletes the comment
func DeleteComment(comment *Comment) error {
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err := sess.Begin(); err != nil {
return err
}
@@ -642,5 +673,9 @@ func DeleteComment(comment *Comment) error {
}
}
+ if _, err := sess.Where("comment_id = ?", comment.ID).Cols("is_deleted").Update(&Action{IsDeleted: true}); err != nil {
+ return err
+ }
+
return sess.Commit()
}
diff --git a/models/issue_comment_test.go b/models/issue_comment_test.go
new file mode 100644
index 0000000..86fc32a
--- /dev/null
+++ b/models/issue_comment_test.go
@@ -0,0 +1,41 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package models
+
+import (
+ "testing"
+ "time"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestCreateComment(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ issue := AssertExistsAndLoadBean(t, &Issue{}).(*Issue)
+ repo := AssertExistsAndLoadBean(t, &Repository{ID: issue.RepoID}).(*Repository)
+ doer := AssertExistsAndLoadBean(t, &User{ID: repo.OwnerID}).(*User)
+
+ now := time.Now().Unix()
+ comment, err := CreateComment(&CreateCommentOptions{
+ Type: CommentTypeComment,
+ Doer: doer,
+ Repo: repo,
+ Issue: issue,
+ Content: "Hello",
+ })
+ assert.NoError(t, err)
+ then := time.Now().Unix()
+
+ assert.EqualValues(t, CommentTypeComment, comment.Type)
+ assert.EqualValues(t, "Hello", comment.Content)
+ assert.EqualValues(t, issue.ID, comment.IssueID)
+ assert.EqualValues(t, doer.ID, comment.PosterID)
+ AssertInt64InRange(t, now, then, comment.CreatedUnix)
+ AssertExistsAndLoadBean(t, comment) // assert actually added to DB
+
+ updatedIssue := AssertExistsAndLoadBean(t, &Issue{ID: issue.ID}).(*Issue)
+ AssertInt64InRange(t, now, then, updatedIssue.UpdatedUnix)
+}
diff --git a/models/issue_indexer.go b/models/issue_indexer.go
index be74bb2..05b324f 100644
--- a/models/issue_indexer.go
+++ b/models/issue_indexer.go
@@ -13,6 +13,7 @@ import (
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/util"
+
"github.com/blevesearch/bleve"
"github.com/blevesearch/bleve/analysis/analyzer/simple"
"github.com/blevesearch/bleve/search/query"
@@ -132,7 +133,6 @@ func populateIssueIndexer() error {
RepoID: repo.ID,
IsClosed: util.OptionalBoolNone,
IsPull: util.OptionalBoolNone,
- Page: -1, // do not page
})
if err != nil {
return fmt.Errorf("Issues: %v", err)
diff --git a/models/issue_label.go b/models/issue_label.go
index 67e0ac7..5ecd355 100644
--- a/models/issue_label.go
+++ b/models/issue_label.go
@@ -96,12 +96,31 @@ func (label *Label) ForegroundColor() template.CSS {
return template.CSS("#000")
}
-// NewLabels creates new label(s) for a repository.
-func NewLabels(labels ...*Label) error {
- _, err := x.Insert(labels)
+func newLabel(e Engine, label *Label) error {
+ _, err := e.Insert(label)
return err
}
+// NewLabel creates a new label for a repository
+func NewLabel(label *Label) error {
+ return newLabel(x, label)
+}
+
+// NewLabels creates new labels for a repository.
+func NewLabels(labels ...*Label) error {
+ sess := x.NewSession()
+ defer sess.Close()
+ if err := sess.Begin(); err != nil {
+ return err
+ }
+ for _, label := range labels {
+ if err := newLabel(sess, label); err != nil {
+ return err
+ }
+ }
+ return sess.Commit()
+}
+
// getLabelInRepoByName returns a label by Name in given repository.
// If pass repoID as 0, then ORM will ignore limitation of repository
// and can return arbitrary label with any valid ID.
@@ -223,7 +242,7 @@ func DeleteLabel(repoID, labelID int64) error {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -298,7 +317,7 @@ func NewIssueLabel(issue *Issue, label *Label, doer *User) (err error) {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -327,7 +346,7 @@ func newIssueLabels(e *xorm.Session, issue *Issue, labels []*Label, doer *User)
// NewIssueLabels creates a list of issue-label relations.
func NewIssueLabels(issue *Issue, labels []*Label, doer *User) (err error) {
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -375,7 +394,7 @@ func deleteIssueLabel(e *xorm.Session, issue *Issue, label *Label, doer *User) (
// DeleteIssueLabel deletes issue-label relation.
func DeleteIssueLabel(issue *Issue, label *Label, doer *User) (err error) {
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
diff --git a/models/issue_label_test.go b/models/issue_label_test.go
index 2ef3966..33630cd 100644
--- a/models/issue_label_test.go
+++ b/models/issue_label_test.go
@@ -52,7 +52,7 @@ func TestNewLabels(t *testing.T) {
}
assert.NoError(t, NewLabels(labels...))
for _, label := range labels {
- AssertExistsAndLoadBean(t, label)
+ AssertExistsAndLoadBean(t, label, Cond("id = ?", label.ID))
}
CheckConsistencyFor(t, &Label{}, &Repository{})
}
diff --git a/models/issue_list.go b/models/issue_list.go
index 692243e..cef4ec0 100644
--- a/models/issue_list.go
+++ b/models/issue_list.go
@@ -59,17 +59,23 @@ func (issues IssueList) loadPosters(e Engine) error {
return nil
}
- postgerIDs := issues.getPosterIDs()
- posterMaps := make(map[int64]*User, len(postgerIDs))
+ posterIDs := issues.getPosterIDs()
+ posterMaps := make(map[int64]*User, len(posterIDs))
err := e.
- In("id", postgerIDs).
+ In("id", posterIDs).
Find(&posterMaps)
if err != nil {
return err
}
for _, issue := range issues {
- issue.Poster = posterMaps[issue.PosterID]
+ if issue.PosterID <= 0 {
+ continue
+ }
+ var ok bool
+ if issue.Poster, ok = posterMaps[issue.PosterID]; !ok {
+ issue.Poster = NewGhostUser()
+ }
}
return nil
}
@@ -173,7 +179,13 @@ func (issues IssueList) loadAssignees(e Engine) error {
}
for _, issue := range issues {
- issue.Assignee = assigneeMaps[issue.AssigneeID]
+ if issue.AssigneeID <= 0 {
+ continue
+ }
+ var ok bool
+ if issue.Assignee, ok = assigneeMaps[issue.AssigneeID]; !ok {
+ issue.Assignee = NewGhostUser()
+ }
}
return nil
}
diff --git a/models/issue_list_test.go b/models/issue_list_test.go
new file mode 100644
index 0000000..958e074
--- /dev/null
+++ b/models/issue_list_test.go
@@ -0,0 +1,65 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package models
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestIssueList_LoadRepositories(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ issueList := IssueList{
+ AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue),
+ AssertExistsAndLoadBean(t, &Issue{ID: 2}).(*Issue),
+ AssertExistsAndLoadBean(t, &Issue{ID: 4}).(*Issue),
+ }
+
+ repos, err := issueList.LoadRepositories()
+ assert.NoError(t, err)
+ assert.Len(t, repos, 2)
+ for _, issue := range issueList {
+ assert.EqualValues(t, issue.RepoID, issue.Repo.ID)
+ }
+}
+
+func TestIssueList_LoadAttributes(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ issueList := IssueList{
+ AssertExistsAndLoadBean(t, &Issue{ID: 1}).(*Issue),
+ AssertExistsAndLoadBean(t, &Issue{ID: 2}).(*Issue),
+ AssertExistsAndLoadBean(t, &Issue{ID: 4}).(*Issue),
+ }
+
+ assert.NoError(t, issueList.LoadAttributes())
+ for _, issue := range issueList {
+ assert.EqualValues(t, issue.RepoID, issue.Repo.ID)
+ for _, label := range issue.Labels {
+ assert.EqualValues(t, issue.RepoID, label.RepoID)
+ AssertExistsAndLoadBean(t, &IssueLabel{IssueID: issue.ID, LabelID: label.ID})
+ }
+ if issue.PosterID > 0 {
+ assert.EqualValues(t, issue.PosterID, issue.Poster.ID)
+ }
+ if issue.AssigneeID > 0 {
+ assert.EqualValues(t, issue.AssigneeID, issue.Assignee.ID)
+ }
+ if issue.MilestoneID > 0 {
+ assert.EqualValues(t, issue.MilestoneID, issue.Milestone.ID)
+ }
+ if issue.IsPull {
+ assert.EqualValues(t, issue.ID, issue.PullRequest.IssueID)
+ }
+ for _, attachment := range issue.Attachments {
+ assert.EqualValues(t, issue.ID, attachment.IssueID)
+ }
+ for _, comment := range issue.Comments {
+ assert.EqualValues(t, issue.ID, comment.IssueID)
+ }
+ }
+}
diff --git a/models/issue_mail.go b/models/issue_mail.go
index 4b07660..b9e1a69 100644
--- a/models/issue_mail.go
+++ b/models/issue_mail.go
@@ -19,15 +19,32 @@ func (issue *Issue) mailSubject() string {
}
// mailIssueCommentToParticipants can be used for both new issue creation and comment.
-func mailIssueCommentToParticipants(issue *Issue, doer *User, mentions []string) error {
+// This function sends two list of emails:
+// 1. Repository watchers and users who are participated in comments.
+// 2. Users who are not in 1. but get mentioned in current issue/comment.
+func mailIssueCommentToParticipants(issue *Issue, doer *User, comment *Comment, mentions []string) error {
if !setting.Service.EnableNotifyMail {
return nil
}
- // Mail watchers.
watchers, err := GetWatchers(issue.RepoID)
if err != nil {
- return fmt.Errorf("GetWatchers [%d]: %v", issue.RepoID, err)
+ return fmt.Errorf("GetWatchers [repo_id: %d]: %v", issue.RepoID, err)
+ }
+ participants, err := GetParticipantsByIssueID(issue.ID)
+ if err != nil {
+ return fmt.Errorf("GetParticipantsByIssueID [issue_id: %d]: %v", issue.ID, err)
+ }
+
+ // In case the issue poster is not watching the repository,
+ // even if we have duplicated in watchers, can be safely filtered out.
+ if issue.PosterID != doer.ID {
+ participants = append(participants, issue.Poster)
+ }
+
+ // Assignee must receive any communications
+ if issue.Assignee != nil && issue.AssigneeID > 0 && issue.AssigneeID != doer.ID {
+ participants = append(participants, issue.Assignee)
}
tos := make([]string, 0, len(watchers)) // List of email addresses.
@@ -48,7 +65,18 @@ func mailIssueCommentToParticipants(issue *Issue, doer *User, mentions []string)
tos = append(tos, to.Email)
names = append(names, to.Name)
}
- SendIssueCommentMail(issue, doer, tos)
+ for i := range participants {
+ if participants[i].ID == doer.ID {
+ continue
+ } else if com.IsSliceContainsStr(names, participants[i].Name) {
+ continue
+ }
+
+ tos = append(tos, participants[i].Email)
+ names = append(names, participants[i].Name)
+ }
+
+ SendIssueCommentMail(issue, doer, comment, tos)
// Mail mentioned people and exclude watchers.
names = append(names, doer.Name)
@@ -60,7 +88,7 @@ func mailIssueCommentToParticipants(issue *Issue, doer *User, mentions []string)
tos = append(tos, mentions[i])
}
- SendIssueMentionMail(issue, doer, GetUserEmailsByNames(tos))
+ SendIssueMentionMail(issue, doer, comment, GetUserEmailsByNames(tos))
return nil
}
@@ -73,7 +101,7 @@ func (issue *Issue) MailParticipants() (err error) {
return fmt.Errorf("UpdateIssueMentions [%d]: %v", issue.ID, err)
}
- if err = mailIssueCommentToParticipants(issue, issue.Poster, mentions); err != nil {
+ if err = mailIssueCommentToParticipants(issue, issue.Poster, nil, mentions); err != nil {
log.Error(4, "mailIssueCommentToParticipants: %v", err)
}
diff --git a/models/issue_milestone.go b/models/issue_milestone.go
index cfd2ce1..d12c309 100644
--- a/models/issue_milestone.go
+++ b/models/issue_milestone.go
@@ -104,7 +104,7 @@ func (m *Milestone) APIFormat() *api.Milestone {
// NewMilestone creates new milestone of repository.
func NewMilestone(m *Milestone) (err error) {
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -215,7 +215,7 @@ func ChangeMilestoneStatus(m *Milestone, isClosed bool) (err error) {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -330,7 +330,7 @@ func DeleteMilestoneByRepoID(repoID, id int64) error {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
diff --git a/models/issue_milestone_test.go b/models/issue_milestone_test.go
index aa4038d..7926b34 100644
--- a/models/issue_milestone_test.go
+++ b/models/issue_milestone_test.go
@@ -5,13 +5,13 @@
package models
import (
+ "sort"
"testing"
+ "time"
api "code.gitea.io/sdk/gitea"
"github.com/stretchr/testify/assert"
- "sort"
- "time"
)
func TestMilestone_State(t *testing.T) {
diff --git a/models/issue_test.go b/models/issue_test.go
index a6da809..8a8ccce 100644
--- a/models/issue_test.go
+++ b/models/issue_test.go
@@ -5,7 +5,9 @@
package models
import (
+ "sort"
"testing"
+ "time"
"github.com/stretchr/testify/assert"
)
@@ -42,3 +44,126 @@ func TestIssueAPIURL(t *testing.T) {
assert.NoError(t, err)
assert.Equal(t, "https://try.gitea.io/api/v1/repos/user2/repo1/issues/1", issue.APIURL())
}
+
+func TestGetIssuesByIDs(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+ testSuccess := func(expectedIssueIDs []int64, nonExistentIssueIDs []int64) {
+ issues, err := GetIssuesByIDs(append(expectedIssueIDs, nonExistentIssueIDs...))
+ assert.NoError(t, err)
+ actualIssueIDs := make([]int64, len(issues))
+ for i, issue := range issues {
+ actualIssueIDs[i] = issue.ID
+ }
+ assert.Equal(t, expectedIssueIDs, actualIssueIDs)
+
+ }
+ testSuccess([]int64{1, 2, 3}, []int64{})
+ testSuccess([]int64{1, 2, 3}, []int64{NonexistentID})
+}
+
+func TestGetParticipantsByIssueID(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ checkParticipants := func(issueID int64, userIDs []int) {
+ participants, err := GetParticipantsByIssueID(issueID)
+ if assert.NoError(t, err) {
+ participantsIDs := make([]int, len(participants))
+ for i, u := range participants {
+ participantsIDs[i] = int(u.ID)
+ }
+ sort.Ints(participantsIDs)
+ sort.Ints(userIDs)
+ assert.Equal(t, userIDs, participantsIDs)
+ }
+ }
+
+ // User 1 is issue1 poster (see fixtures/issue.yml)
+ // User 2 only labeled issue1 (see fixtures/comment.yml)
+ // Users 3 and 5 made actual comments (see fixtures/comment.yml)
+ checkParticipants(1, []int{3, 5})
+}
+
+func TestIssue_AddLabel(t *testing.T) {
+ var tests = []struct {
+ issueID int64
+ labelID int64
+ doerID int64
+ }{
+ {1, 2, 2}, // non-pull-request, not-already-added label
+ {1, 1, 2}, // non-pull-request, already-added label
+ {2, 2, 2}, // pull-request, not-already-added label
+ {2, 1, 2}, // pull-request, already-added label
+ }
+ for _, test := range tests {
+ assert.NoError(t, PrepareTestDatabase())
+ issue := AssertExistsAndLoadBean(t, &Issue{ID: test.issueID}).(*Issue)
+ label := AssertExistsAndLoadBean(t, &Label{ID: test.labelID}).(*Label)
+ doer := AssertExistsAndLoadBean(t, &User{ID: test.doerID}).(*User)
+ assert.NoError(t, issue.AddLabel(doer, label))
+ AssertExistsAndLoadBean(t, &IssueLabel{IssueID: test.issueID, LabelID: test.labelID})
+ }
+}
+
+func TestIssue_AddLabels(t *testing.T) {
+ var tests = []struct {
+ issueID int64
+ labelIDs []int64
+ doerID int64
+ }{
+ {1, []int64{1, 2}, 2}, // non-pull-request
+ {1, []int64{}, 2}, // non-pull-request, empty
+ {2, []int64{1, 2}, 2}, // pull-request
+ {2, []int64{}, 1}, // pull-request, empty
+ }
+ for _, test := range tests {
+ assert.NoError(t, PrepareTestDatabase())
+ issue := AssertExistsAndLoadBean(t, &Issue{ID: test.issueID}).(*Issue)
+ labels := make([]*Label, len(test.labelIDs))
+ for i, labelID := range test.labelIDs {
+ labels[i] = AssertExistsAndLoadBean(t, &Label{ID: labelID}).(*Label)
+ }
+ doer := AssertExistsAndLoadBean(t, &User{ID: test.doerID}).(*User)
+ assert.NoError(t, issue.AddLabels(doer, labels))
+ for _, labelID := range test.labelIDs {
+ AssertExistsAndLoadBean(t, &IssueLabel{IssueID: test.issueID, LabelID: labelID})
+ }
+ }
+}
+
+func TestIssue_ClearLabels(t *testing.T) {
+ var tests = []struct {
+ issueID int64
+ doerID int64
+ }{
+ {1, 2}, // non-pull-request, has labels
+ {2, 2}, // pull-request, has labels
+ {3, 2}, // pull-request, has no labels
+ }
+ for _, test := range tests {
+ assert.NoError(t, PrepareTestDatabase())
+ issue := AssertExistsAndLoadBean(t, &Issue{ID: test.issueID}).(*Issue)
+ doer := AssertExistsAndLoadBean(t, &User{ID: test.doerID}).(*User)
+ assert.NoError(t, issue.ClearLabels(doer))
+ AssertNotExistsBean(t, &IssueLabel{IssueID: test.issueID})
+ }
+}
+
+func TestUpdateIssueCols(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+ issue := AssertExistsAndLoadBean(t, &Issue{}).(*Issue)
+
+ const newTitle = "New Title for unit test"
+ issue.Title = newTitle
+
+ prevContent := issue.Content
+ issue.Content = "This should have no effect"
+
+ now := time.Now().Unix()
+ assert.NoError(t, UpdateIssueCols(issue, "name"))
+ then := time.Now().Unix()
+
+ updatedIssue := AssertExistsAndLoadBean(t, &Issue{ID: issue.ID}).(*Issue)
+ assert.EqualValues(t, newTitle, updatedIssue.Title)
+ assert.EqualValues(t, prevContent, updatedIssue.Content)
+ AssertInt64InRange(t, now, then, updatedIssue.UpdatedUnix)
+}
diff --git a/models/issue_user.go b/models/issue_user.go
index 024a3cc..11d47dd 100644
--- a/models/issue_user.go
+++ b/models/issue_user.go
@@ -69,7 +69,7 @@ func updateIssueUserByAssignee(e Engine, issue *Issue) (err error) {
// UpdateIssueUserByAssignee updates issue-user relation for assignee.
func UpdateIssueUserByAssignee(issue *Issue) (err error) {
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
diff --git a/models/issue_watch.go b/models/issue_watch.go
new file mode 100644
index 0000000..3751178
--- /dev/null
+++ b/models/issue_watch.go
@@ -0,0 +1,96 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package models
+
+import (
+ "time"
+)
+
+// IssueWatch is connection request for receiving issue notification.
+type IssueWatch struct {
+ ID int64 `xorm:"pk autoincr"`
+ UserID int64 `xorm:"UNIQUE(watch) NOT NULL"`
+ IssueID int64 `xorm:"UNIQUE(watch) NOT NULL"`
+ IsWatching bool `xorm:"NOT NULL"`
+ Created time.Time `xorm:"-"`
+ CreatedUnix int64 `xorm:"NOT NULL"`
+ Updated time.Time `xorm:"-"`
+ UpdatedUnix int64 `xorm:"NOT NULL"`
+}
+
+// BeforeInsert is invoked from XORM before inserting an object of this type.
+func (iw *IssueWatch) BeforeInsert() {
+ var (
+ t = time.Now()
+ u = t.Unix()
+ )
+ iw.Created = t
+ iw.CreatedUnix = u
+ iw.Updated = t
+ iw.UpdatedUnix = u
+}
+
+// BeforeUpdate is invoked from XORM before updating an object of this type.
+func (iw *IssueWatch) BeforeUpdate() {
+ var (
+ t = time.Now()
+ u = t.Unix()
+ )
+ iw.Updated = t
+ iw.UpdatedUnix = u
+}
+
+// CreateOrUpdateIssueWatch set watching for a user and issue
+func CreateOrUpdateIssueWatch(userID, issueID int64, isWatching bool) error {
+ iw, exists, err := getIssueWatch(x, userID, issueID)
+ if err != nil {
+ return err
+ }
+
+ if !exists {
+ iw = &IssueWatch{
+ UserID: userID,
+ IssueID: issueID,
+ IsWatching: isWatching,
+ }
+
+ if _, err := x.Insert(iw); err != nil {
+ return err
+ }
+ } else {
+ iw.IsWatching = isWatching
+
+ if _, err := x.Id(iw.ID).Cols("is_watching", "updated_unix").Update(iw); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+// GetIssueWatch returns an issue watch by user and issue
+func GetIssueWatch(userID, issueID int64) (iw *IssueWatch, exists bool, err error) {
+ return getIssueWatch(x, userID, issueID)
+}
+
+func getIssueWatch(e Engine, userID, issueID int64) (iw *IssueWatch, exists bool, err error) {
+ iw = new(IssueWatch)
+ exists, err = e.
+ Where("user_id = ?", userID).
+ And("issue_id = ?", issueID).
+ Get(iw)
+ return
+}
+
+// GetIssueWatchers returns watchers/unwatchers of a given issue
+func GetIssueWatchers(issueID int64) ([]*IssueWatch, error) {
+ return getIssueWatchers(x, issueID)
+}
+
+func getIssueWatchers(e Engine, issueID int64) (watches []*IssueWatch, err error) {
+ err = e.
+ Where("issue_id = ?", issueID).
+ Find(&watches)
+ return
+}
diff --git a/models/issue_watch_test.go b/models/issue_watch_test.go
new file mode 100644
index 0000000..d8b456c
--- /dev/null
+++ b/models/issue_watch_test.go
@@ -0,0 +1,51 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package models
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestCreateOrUpdateIssueWatch(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ assert.NoError(t, CreateOrUpdateIssueWatch(3, 1, true))
+ iw := AssertExistsAndLoadBean(t, &IssueWatch{UserID: 3, IssueID: 1}).(*IssueWatch)
+ assert.Equal(t, true, iw.IsWatching)
+
+ assert.NoError(t, CreateOrUpdateIssueWatch(1, 1, false))
+ iw = AssertExistsAndLoadBean(t, &IssueWatch{UserID: 1, IssueID: 1}).(*IssueWatch)
+ assert.Equal(t, false, iw.IsWatching)
+}
+
+func TestGetIssueWatch(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ _, exists, err := GetIssueWatch(1, 1)
+ assert.Equal(t, true, exists)
+ assert.NoError(t, err)
+
+ _, exists, err = GetIssueWatch(2, 2)
+ assert.Equal(t, true, exists)
+ assert.NoError(t, err)
+
+ _, exists, err = GetIssueWatch(3, 1)
+ assert.Equal(t, false, exists)
+ assert.NoError(t, err)
+}
+
+func TestGetIssueWatchers(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ iws, err := GetIssueWatchers(1)
+ assert.NoError(t, err)
+ assert.Equal(t, 1, len(iws))
+
+ iws, err = GetIssueWatchers(5)
+ assert.NoError(t, err)
+ assert.Equal(t, 0, len(iws))
+}
diff --git a/models/lfs.go b/models/lfs.go
index 99b8138..f908cae 100644
--- a/models/lfs.go
+++ b/models/lfs.go
@@ -56,7 +56,7 @@ func NewLFSMetaObject(m *LFSMetaObject) (*LFSMetaObject, error) {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return nil, err
}
@@ -94,7 +94,7 @@ func RemoveLFSMetaObjectByOid(oid string) error {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err := sess.Begin(); err != nil {
return err
}
diff --git a/models/login_source.go b/models/login_source.go
index b314253..4778ccd 100644
--- a/models/login_source.go
+++ b/models/login_source.go
@@ -121,9 +121,11 @@ func (cfg *PAMConfig) ToDB() ([]byte, error) {
// OAuth2Config holds configuration for the OAuth2 login source.
type OAuth2Config struct {
- Provider string
- ClientID string
- ClientSecret string
+ Provider string
+ ClientID string
+ ClientSecret string
+ OpenIDConnectAutoDiscoveryURL string
+ CustomURLMapping *oauth2.CustomURLMapping
}
// FromDB fills up an OAuth2Config from serialized format.
@@ -138,11 +140,12 @@ func (cfg *OAuth2Config) ToDB() ([]byte, error) {
// LoginSource represents an external way for authorizing users.
type LoginSource struct {
- ID int64 `xorm:"pk autoincr"`
- Type LoginType
- Name string `xorm:"UNIQUE"`
- IsActived bool `xorm:"INDEX NOT NULL DEFAULT false"`
- Cfg core.Conversion `xorm:"TEXT"`
+ ID int64 `xorm:"pk autoincr"`
+ Type LoginType
+ Name string `xorm:"UNIQUE"`
+ IsActived bool `xorm:"INDEX NOT NULL DEFAULT false"`
+ IsSyncEnabled bool `xorm:"INDEX NOT NULL DEFAULT false"`
+ Cfg core.Conversion `xorm:"TEXT"`
Created time.Time `xorm:"-"`
CreatedUnix int64 `xorm:"INDEX"`
@@ -292,11 +295,21 @@ func CreateLoginSource(source *LoginSource) error {
} else if has {
return ErrLoginSourceAlreadyExist{source.Name}
}
+ // Synchronization is only aviable with LDAP for now
+ if !source.IsLDAP() {
+ source.IsSyncEnabled = false
+ }
_, err = x.Insert(source)
- if err == nil && source.IsOAuth2() {
+ if err == nil && source.IsOAuth2() && source.IsActived {
oAuth2Config := source.OAuth2()
- oauth2.RegisterProvider(source.Name, oAuth2Config.Provider, oAuth2Config.ClientID, oAuth2Config.ClientSecret)
+ err = oauth2.RegisterProvider(source.Name, oAuth2Config.Provider, oAuth2Config.ClientID, oAuth2Config.ClientSecret, oAuth2Config.OpenIDConnectAutoDiscoveryURL, oAuth2Config.CustomURLMapping)
+ err = wrapOpenIDConnectInitializeError(err, source.Name, oAuth2Config)
+
+ if err != nil {
+ // remove the LoginSource in case of errors while registering OAuth2 providers
+ x.Delete(source)
+ }
}
return err
}
@@ -321,11 +334,25 @@ func GetLoginSourceByID(id int64) (*LoginSource, error) {
// UpdateSource updates a LoginSource record in DB.
func UpdateSource(source *LoginSource) error {
+ var originalLoginSource *LoginSource
+ if source.IsOAuth2() {
+ // keep track of the original values so we can restore in case of errors while registering OAuth2 providers
+ var err error
+ if originalLoginSource, err = GetLoginSourceByID(source.ID); err != nil {
+ return err
+ }
+ }
+
_, err := x.Id(source.ID).AllCols().Update(source)
- if err == nil && source.IsOAuth2() {
+ if err == nil && source.IsOAuth2() && source.IsActived {
oAuth2Config := source.OAuth2()
- oauth2.RemoveProvider(source.Name)
- oauth2.RegisterProvider(source.Name, oAuth2Config.Provider, oAuth2Config.ClientID, oAuth2Config.ClientSecret)
+ err = oauth2.RegisterProvider(source.Name, oAuth2Config.Provider, oAuth2Config.ClientID, oAuth2Config.ClientSecret, oAuth2Config.OpenIDConnectAutoDiscoveryURL, oAuth2Config.CustomURLMapping)
+ err = wrapOpenIDConnectInitializeError(err, source.Name, oAuth2Config)
+
+ if err != nil {
+ // restore original values since we cannot update the provider it self
+ x.Id(source.ID).AllCols().Update(originalLoginSource)
+ }
}
return err
}
@@ -383,8 +410,8 @@ func composeFullName(firstname, surname, username string) string {
// LoginViaLDAP queries if login/password is valid against the LDAP directory pool,
// and create a local user if success when enabled.
func LoginViaLDAP(user *User, login, password string, source *LoginSource, autoRegister bool) (*User, error) {
- username, fn, sn, mail, isAdmin, succeed := source.Cfg.(*LDAPConfig).SearchEntry(login, password, source.Type == LoginDLDAP)
- if !succeed {
+ sr := source.Cfg.(*LDAPConfig).SearchEntry(login, password, source.Type == LoginDLDAP)
+ if sr == nil {
// User not in LDAP, do nothing
return nil, ErrUserNotExist{0, login, 0}
}
@@ -394,28 +421,28 @@ func LoginViaLDAP(user *User, login, password string, source *LoginSource, autoR
}
// Fallback.
- if len(username) == 0 {
- username = login
+ if len(sr.Username) == 0 {
+ sr.Username = login
}
// Validate username make sure it satisfies requirement.
- if binding.AlphaDashDotPattern.MatchString(username) {
- return nil, fmt.Errorf("Invalid pattern for attribute 'username' [%s]: must be valid alpha or numeric or dash(-_) or dot characters", username)
+ if binding.AlphaDashDotPattern.MatchString(sr.Username) {
+ return nil, fmt.Errorf("Invalid pattern for attribute 'username' [%s]: must be valid alpha or numeric or dash(-_) or dot characters", sr.Username)
}
- if len(mail) == 0 {
- mail = fmt.Sprintf("%s@localhost", username)
+ if len(sr.Mail) == 0 {
+ sr.Mail = fmt.Sprintf("%s@localhost", sr.Username)
}
user = &User{
- LowerName: strings.ToLower(username),
- Name: username,
- FullName: composeFullName(fn, sn, username),
- Email: mail,
+ LowerName: strings.ToLower(sr.Username),
+ Name: sr.Username,
+ FullName: composeFullName(sr.Name, sr.Surname, sr.Username),
+ Email: sr.Mail,
LoginType: source.Type,
LoginSource: source.ID,
LoginName: login,
IsActive: true,
- IsAdmin: isAdmin,
+ IsAdmin: sr.IsAdmin,
}
return user, CreateUser(user)
}
@@ -482,10 +509,7 @@ func SMTPAuth(a smtp.Auth, cfg *SMTPConfig) error {
}
if ok, _ := c.Extension("AUTH"); ok {
- if err = c.Auth(a); err != nil {
- return err
- }
- return nil
+ return c.Auth(a)
}
return ErrUnsupportedLoginType
}
@@ -580,27 +604,6 @@ func LoginViaPAM(user *User, login, password string, sourceID int64, cfg *PAMCon
return user, CreateUser(user)
}
-// ________ _____ __ .__ ________
-// \_____ \ / _ \ __ ___/ |_| |__ \_____ \
-// / | \ / /_\ \| | \ __\ | \ / ____/
-// / | \/ | \ | /| | | Y \/ \
-// \_______ /\____|__ /____/ |__| |___| /\_______ \
-// \/ \/ \/ \/
-
-// OAuth2Provider describes the display values of a single OAuth2 provider
-type OAuth2Provider struct {
- Name string
- DisplayName string
- Image string
-}
-
-// OAuth2Providers contains the map of registered OAuth2 providers in Gitea (based on goth)
-// key is used to map the OAuth2Provider with the goth provider type (also in LoginSource.OAuth2Config.Provider)
-// value is used to store display data
-var OAuth2Providers = map[string]OAuth2Provider{
- "github": {Name: "github", DisplayName: "GitHub", Image: "/img/github.png"},
-}
-
// ExternalUserLogin attempts a login using external source types.
func ExternalUserLogin(user *User, login, password string, source *LoginSource, autoRegister bool) (*User, error) {
if !source.IsActived {
@@ -671,7 +674,7 @@ func UserSignIn(username, password string) (*User, error) {
}
sources := make([]*LoginSource, 0, 5)
- if err = x.UseBool().Find(&sources, &LoginSource{IsActived: true}); err != nil {
+ if err = x.Where("is_actived = ?", true).Find(&sources); err != nil {
return nil, err
}
@@ -690,58 +693,3 @@ func UserSignIn(username, password string) (*User, error) {
return nil, ErrUserNotExist{user.ID, user.Name, 0}
}
-
-// GetActiveOAuth2ProviderLoginSources returns all actived LoginOAuth2 sources
-func GetActiveOAuth2ProviderLoginSources() ([]*LoginSource, error) {
- sources := make([]*LoginSource, 0, 1)
- if err := x.UseBool().Find(&sources, &LoginSource{IsActived: true, Type: LoginOAuth2}); err != nil {
- return nil, err
- }
- return sources, nil
-}
-
-// GetActiveOAuth2LoginSourceByName returns a OAuth2 LoginSource based on the given name
-func GetActiveOAuth2LoginSourceByName(name string) (*LoginSource, error) {
- loginSource := &LoginSource{
- Name: name,
- Type: LoginOAuth2,
- IsActived: true,
- }
-
- has, err := x.UseBool().Get(loginSource)
- if !has || err != nil {
- return nil, err
- }
-
- return loginSource, nil
-}
-
-// GetActiveOAuth2Providers returns the map of configured active OAuth2 providers
-// key is used as technical name (like in the callbackURL)
-// values to display
-func GetActiveOAuth2Providers() (map[string]OAuth2Provider, error) {
- // Maybe also separate used and unused providers so we can force the registration of only 1 active provider for each type
-
- loginSources, err := GetActiveOAuth2ProviderLoginSources()
- if err != nil {
- return nil, err
- }
-
- providers := make(map[string]OAuth2Provider)
- for _, source := range loginSources {
- providers[source.Name] = OAuth2Providers[source.OAuth2().Provider]
- }
-
- return providers, nil
-}
-
-// InitOAuth2 initialize the OAuth2 lib and register all active OAuth2 providers in the library
-func InitOAuth2() {
- oauth2.Init()
- loginSources, _ := GetActiveOAuth2ProviderLoginSources()
-
- for _, source := range loginSources {
- oAuth2Config := source.OAuth2()
- oauth2.RegisterProvider(source.Name, oAuth2Config.Provider, oAuth2Config.ClientID, oAuth2Config.ClientSecret)
- }
-}
diff --git a/models/mail.go b/models/mail.go
index 16e8c9e..41fddad 100644
--- a/models/mail.go
+++ b/models/mail.go
@@ -47,8 +47,8 @@ func SendTestMail(email string) error {
func SendUserMail(c *macaron.Context, u *User, tpl base.TplName, code, subject, info string) {
data := map[string]interface{}{
"Username": u.DisplayName(),
- "ActiveCodeLives": setting.Service.ActiveCodeLives / 60,
- "ResetPwdCodeLives": setting.Service.ResetPwdCodeLives / 60,
+ "ActiveCodeLives": base.MinutesToFriendly(setting.Service.ActiveCodeLives, c.Locale.Language()),
+ "ResetPwdCodeLives": base.MinutesToFriendly(setting.Service.ResetPwdCodeLives, c.Locale.Language()),
"Code": code,
}
@@ -65,7 +65,7 @@ func SendUserMail(c *macaron.Context, u *User, tpl base.TplName, code, subject,
mailer.SendAsync(msg)
}
-// SendActivateAccountMail sends an activation mail to the user
+// SendActivateAccountMail sends an activation mail to the user (new user registration)
func SendActivateAccountMail(c *macaron.Context, u *User) {
SendUserMail(c, u, mailAuthActivate, u.GenerateActivateCode(), c.Tr("mail.activate_account"), "activate account")
}
@@ -75,11 +75,11 @@ func SendResetPasswordMail(c *macaron.Context, u *User) {
SendUserMail(c, u, mailAuthResetPassword, u.GenerateActivateCode(), c.Tr("mail.reset_password"), "reset password")
}
-// SendActivateEmailMail sends confirmation email.
+// SendActivateEmailMail sends confirmation email to confirm new email address
func SendActivateEmailMail(c *macaron.Context, u *User, email *EmailAddress) {
data := map[string]interface{}{
"Username": u.DisplayName(),
- "ActiveCodeLives": setting.Service.ActiveCodeLives / 60,
+ "ActiveCodeLives": base.MinutesToFriendly(setting.Service.ActiveCodeLives, c.Locale.Language()),
"Code": u.GenerateEmailActivateCode(email.Email),
"Email": email.Email,
}
@@ -148,10 +148,16 @@ func composeTplData(subject, body, link string) map[string]interface{} {
return data
}
-func composeIssueMessage(issue *Issue, doer *User, tplName base.TplName, tos []string, info string) *mailer.Message {
+func composeIssueCommentMessage(issue *Issue, doer *User, comment *Comment, tplName base.TplName, tos []string, info string) *mailer.Message {
subject := issue.mailSubject()
body := string(markdown.RenderString(issue.Content, issue.Repo.HTMLURL(), issue.Repo.ComposeMetas()))
- data := composeTplData(subject, body, issue.HTMLURL())
+
+ data := make(map[string]interface{}, 10)
+ if comment != nil {
+ data = composeTplData(subject, body, issue.HTMLURL()+"#"+comment.HashTag())
+ } else {
+ data = composeTplData(subject, body, issue.HTMLURL())
+ }
data["Doer"] = doer
var content bytes.Buffer
@@ -166,18 +172,18 @@ func composeIssueMessage(issue *Issue, doer *User, tplName base.TplName, tos []s
}
// SendIssueCommentMail composes and sends issue comment emails to target receivers.
-func SendIssueCommentMail(issue *Issue, doer *User, tos []string) {
+func SendIssueCommentMail(issue *Issue, doer *User, comment *Comment, tos []string) {
if len(tos) == 0 {
return
}
- mailer.SendAsync(composeIssueMessage(issue, doer, mailIssueComment, tos, "issue comment"))
+ mailer.SendAsync(composeIssueCommentMessage(issue, doer, comment, mailIssueComment, tos, "issue comment"))
}
// SendIssueMentionMail composes and sends issue mention emails to target receivers.
-func SendIssueMentionMail(issue *Issue, doer *User, tos []string) {
+func SendIssueMentionMail(issue *Issue, doer *User, comment *Comment, tos []string) {
if len(tos) == 0 {
return
}
- mailer.SendAsync(composeIssueMessage(issue, doer, mailIssueMention, tos, "issue mention"))
+ mailer.SendAsync(composeIssueCommentMessage(issue, doer, comment, mailIssueMention, tos, "issue mention"))
}
diff --git a/models/main_test.go b/models/main_test.go
new file mode 100644
index 0000000..451b5e4
--- /dev/null
+++ b/models/main_test.go
@@ -0,0 +1,35 @@
+package models
+
+import (
+ "fmt"
+ "os"
+ "path/filepath"
+ "testing"
+
+ "code.gitea.io/gitea/modules/setting"
+
+ _ "github.com/mattn/go-sqlite3" // for the test engine
+ "github.com/stretchr/testify/assert"
+)
+
+// TestFixturesAreConsistent assert that test fixtures are consistent
+func TestFixturesAreConsistent(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+ CheckConsistencyForAll(t)
+}
+
+func TestMain(m *testing.M) {
+ if err := CreateTestEngine("fixtures/"); err != nil {
+ fmt.Printf("Error creating test engine: %v\n", err)
+ os.Exit(1)
+ }
+
+ setting.AppURL = "https://try.gitea.io/"
+ setting.RunUser = "runuser"
+ setting.SSH.Port = 3000
+ setting.SSH.Domain = "try.gitea.io"
+ setting.RepoRootPath = filepath.Join(os.TempDir(), "repos")
+ setting.AppDataPath = filepath.Join(os.TempDir(), "appdata")
+
+ os.Exit(m.Run())
+}
diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go
index 1425dbf..61963e6 100644
--- a/models/migrations/migrations.go
+++ b/models/migrations/migrations.go
@@ -92,8 +92,46 @@ var migrations = []Migration{
NewMigration("use new avatar path name for security reason", useNewNameAvatars),
// v21 -> v22
NewMigration("rewrite authorized_keys file via new format", useNewPublickeyFormat),
- // v21 -> v22
+ // v22 -> v23
NewMigration("generate and migrate wiki Git hooks", generateAndMigrateWikiGitHooks),
+ // v23 -> v24
+ NewMigration("add user openid table", addUserOpenID),
+ // v24 -> v25
+ NewMigration("change the key_id and primary_key_id type", changeGPGKeysColumns),
+ // v25 -> v26
+ NewMigration("add show field in user openid table", addUserOpenIDShow),
+ // v26 -> v27
+ NewMigration("generate and migrate repo and wiki Git hooks", generateAndMigrateGitHookChains),
+ // v27 -> v28
+ NewMigration("change mirror interval from hours to time.Duration", convertIntervalToDuration),
+ // v28 -> v29
+ NewMigration("add field for repo size", addRepoSize),
+ // v29 -> v30
+ NewMigration("add commit status table", addCommitStatus),
+ // v30 -> 31
+ NewMigration("add primary key to external login user", addExternalLoginUserPK),
+ // 31 -> 32
+ NewMigration("add field for login source synchronization", addLoginSourceSyncEnabledColumn),
+ // v32 -> v33
+ NewMigration("add units for team", addUnitsToRepoTeam),
+ // v33 -> v34
+ NewMigration("remove columns from action", removeActionColumns),
+ // v34 -> v35
+ NewMigration("give all units to owner teams", giveAllUnitsToOwnerTeams),
+ // v35 -> v36
+ NewMigration("adds comment to an action", addCommentIDToAction),
+ // v36 -> v37
+ NewMigration("regenerate git hooks", regenerateGitHooks36),
+ // v37 -> v38
+ NewMigration("unescape user full names", unescapeUserFullNames),
+ // v38 -> v39
+ NewMigration("remove commits and settings unit types", removeCommitsUnitType),
+ // v43 -> v44
+ NewMigration("fix protected branch can push value to false", fixProtectedBranchCanPushValue),
+ // v42 -> v43
+ NewMigration("add tags to releases and sync existing repositories", releaseAddColumnIsTagAndSyncTags),
+ // v44 -> v45
+ NewMigration("remove duplicate unit types", removeDuplicateUnitTypes),
}
// Migrate database to current version
@@ -143,13 +181,6 @@ Please try to upgrade to a lower version (>= v0.6.0) first, then upgrade to curr
return nil
}
-func sessionRelease(sess *xorm.Session) {
- if !sess.IsCommitedOrRollbacked {
- sess.Rollback()
- }
- sess.Close()
-}
-
func fixLocaleFileLoadPanic(_ *xorm.Engine) error {
cfg, err := ini.Load(setting.CustomConf)
if err != nil {
@@ -190,7 +221,7 @@ func trimCommitActionAppURLPrefix(x *xorm.Engine) error {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -263,7 +294,7 @@ func issueToIssueLabel(x *xorm.Engine) error {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -306,7 +337,7 @@ func attachmentRefactor(x *xorm.Engine) error {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -384,7 +415,7 @@ func renamePullRequestFields(x *xorm.Engine) (err error) {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -468,7 +499,7 @@ func generateOrgRandsAndSalt(x *xorm.Engine) (err error) {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -687,8 +718,7 @@ func convertDateToUnix(x *xorm.Engine) (err error) {
offset := 0
for {
beans := make([]*Bean, 0, 100)
- if err = x.SQL(fmt.Sprintf("SELECT * FROM `%s` ORDER BY id ASC LIMIT 100 OFFSET %d",
- table.name, offset)).Find(&beans); err != nil {
+ if err = x.Table(table.name).Asc("id").Limit(100, offset).Find(&beans); err != nil {
return fmt.Errorf("select beans [table: %s, offset: %d]: %v", table.name, offset, err)
}
log.Trace("Table [%s]: offset: %d, beans: %d", table.name, offset, len(beans))
diff --git a/models/migrations/v13.go b/models/migrations/v13.go
index c9a50a9..f81271f 100644
--- a/models/migrations/v13.go
+++ b/models/migrations/v13.go
@@ -23,7 +23,7 @@ func ldapUseSSLToSecurityProtocol(x *xorm.Engine) error {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
diff --git a/models/migrations/v14.go b/models/migrations/v14.go
index 12ae629..392f9fd 100644
--- a/models/migrations/v14.go
+++ b/models/migrations/v14.go
@@ -28,7 +28,7 @@ type UserV14 struct {
DiffViewStyle string `xorm:"NOT NULL DEFAULT ''"`
}
-// TableName will be invoked by XORM to customrize the table name
+// TableName will be invoked by XORM to customize the table name
func (*UserV14) TableName() string {
return "user"
}
diff --git a/models/migrations/v15.go b/models/migrations/v15.go
index 90fc22c..3492a71 100644
--- a/models/migrations/v15.go
+++ b/models/migrations/v15.go
@@ -10,20 +10,15 @@ import (
"github.com/go-xorm/xorm"
)
-// UserV15 describes the added field for User
-type UserV15 struct {
- AllowCreateOrganization bool
-}
-
-// TableName will be invoked by XORM to customrize the table name
-func (*UserV15) TableName() string {
- return "user"
-}
-
func createAllowCreateOrganizationColumn(x *xorm.Engine) error {
- if err := x.Sync2(new(UserV15)); err != nil {
+ type User struct {
+ KeepEmailPrivate bool
+ AllowCreateOrganization bool
+ }
+
+ if err := x.Sync2(new(User)); err != nil {
return fmt.Errorf("Sync2: %v", err)
- } else if _, err = x.Where("type=0").Cols("allow_create_organization").Update(&UserV15{AllowCreateOrganization: true}); err != nil {
+ } else if _, err = x.Where("`type` = 0").Cols("allow_create_organization").Update(&User{AllowCreateOrganization: true}); err != nil {
return fmt.Errorf("set allow_create_organization: %v", err)
}
return nil
diff --git a/models/migrations/v16.go b/models/migrations/v16.go
index 12cad46..f6fb76d 100644
--- a/models/migrations/v16.go
+++ b/models/migrations/v16.go
@@ -13,38 +13,38 @@ import (
"github.com/go-xorm/xorm"
)
-// RepoUnit describes all units of a repository
-type RepoUnit struct {
- ID int64
- RepoID int64 `xorm:"INDEX(s)"`
- Type int `xorm:"INDEX(s)"`
- Index int
- Config map[string]string `xorm:"JSON"`
- CreatedUnix int64 `xorm:"INDEX CREATED"`
- Created time.Time `xorm:"-"`
-}
-
// Enumerate all the unit types
const (
- UnitTypeCode = iota + 1 // 1 code
- UnitTypeIssues // 2 issues
- UnitTypePRs // 3 PRs
- UnitTypeCommits // 4 Commits
- UnitTypeReleases // 5 Releases
- UnitTypeWiki // 6 Wiki
- UnitTypeSettings // 7 Settings
- UnitTypeExternalWiki // 8 ExternalWiki
- UnitTypeExternalTracker // 9 ExternalTracker
+ V16UnitTypeCode = iota + 1 // 1 code
+ V16UnitTypeIssues // 2 issues
+ V16UnitTypePRs // 3 PRs
+ V16UnitTypeCommits // 4 Commits
+ V16UnitTypeReleases // 5 Releases
+ V16UnitTypeWiki // 6 Wiki
+ V16UnitTypeSettings // 7 Settings
+ V16UnitTypeExternalWiki // 8 ExternalWiki
+ V16UnitTypeExternalTracker // 9 ExternalTracker
)
-// Repo describes a repository
-type Repo struct {
- ID int64
- EnableWiki, EnableExternalWiki, EnableIssues, EnableExternalTracker, EnablePulls bool
- ExternalWikiURL, ExternalTrackerURL, ExternalTrackerFormat, ExternalTrackerStyle string
-}
-
func addUnitsToTables(x *xorm.Engine) error {
+ // RepoUnit describes all units of a repository
+ type RepoUnit struct {
+ ID int64
+ RepoID int64 `xorm:"INDEX(s)"`
+ Type int `xorm:"INDEX(s)"`
+ Index int
+ Config map[string]interface{} `xorm:"JSON"`
+ CreatedUnix int64 `xorm:"INDEX CREATED"`
+ Created time.Time `xorm:"-"`
+ }
+
+ // Repo describes a repository
+ type Repo struct {
+ ID int64
+ EnableWiki, EnableExternalWiki, EnableIssues, EnableExternalTracker, EnablePulls bool
+ ExternalWikiURL, ExternalTrackerURL, ExternalTrackerFormat, ExternalTrackerStyle string
+ }
+
var repos []Repo
err := x.Table("repository").Select("*").Find(&repos)
if err != nil {
@@ -79,32 +79,32 @@ func addUnitsToTables(x *xorm.Engine) error {
for _, repo := range repos {
for i := 1; i <= 9; i++ {
- if (i == UnitTypeWiki || i == UnitTypeExternalWiki) && !repo.EnableWiki {
+ if (i == V16UnitTypeWiki || i == V16UnitTypeExternalWiki) && !repo.EnableWiki {
continue
}
- if i == UnitTypeExternalWiki && !repo.EnableExternalWiki {
+ if i == V16UnitTypeExternalWiki && !repo.EnableExternalWiki {
continue
}
- if i == UnitTypePRs && !repo.EnablePulls {
+ if i == V16UnitTypePRs && !repo.EnablePulls {
continue
}
- if (i == UnitTypeIssues || i == UnitTypeExternalTracker) && !repo.EnableIssues {
+ if (i == V16UnitTypeIssues || i == V16UnitTypeExternalTracker) && !repo.EnableIssues {
continue
}
- if i == UnitTypeExternalTracker && !repo.EnableExternalTracker {
+ if i == V16UnitTypeExternalTracker && !repo.EnableExternalTracker {
continue
}
- var config = make(map[string]string)
+ var config = make(map[string]interface{})
switch i {
- case UnitTypeExternalTracker:
+ case V16UnitTypeExternalTracker:
config["ExternalTrackerURL"] = repo.ExternalTrackerURL
config["ExternalTrackerFormat"] = repo.ExternalTrackerFormat
if len(repo.ExternalTrackerStyle) == 0 {
repo.ExternalTrackerStyle = markdown.IssueNameStyleNumeric
}
config["ExternalTrackerStyle"] = repo.ExternalTrackerStyle
- case UnitTypeExternalWiki:
+ case V16UnitTypeExternalWiki:
config["ExternalWikiURL"] = repo.ExternalWikiURL
}
@@ -119,9 +119,5 @@ func addUnitsToTables(x *xorm.Engine) error {
}
}
- if err := sess.Commit(); err != nil {
- return err
- }
-
- return nil
+ return sess.Commit()
}
diff --git a/models/migrations/v21.go b/models/migrations/v21.go
index e049727..890f4de 100644
--- a/models/migrations/v21.go
+++ b/models/migrations/v21.go
@@ -51,8 +51,5 @@ func useNewPublickeyFormat(x *xorm.Engine) error {
}
f.Close()
- if err = os.Rename(tmpPath, fpath); err != nil {
- return err
- }
- return nil
+ return os.Rename(tmpPath, fpath)
}
diff --git a/models/migrations/v23.go b/models/migrations/v23.go
new file mode 100644
index 0000000..4aadf7e
--- /dev/null
+++ b/models/migrations/v23.go
@@ -0,0 +1,25 @@
+// Copyright 2017 Gitea. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "fmt"
+
+ "github.com/go-xorm/xorm"
+)
+
+// UserOpenID is the list of all OpenID identities of a user.
+type UserOpenID struct {
+ ID int64 `xorm:"pk autoincr"`
+ UID int64 `xorm:"INDEX NOT NULL"`
+ URI string `xorm:"UNIQUE NOT NULL"`
+}
+
+func addUserOpenID(x *xorm.Engine) error {
+ if err := x.Sync2(new(UserOpenID)); err != nil {
+ return fmt.Errorf("Sync2: %v", err)
+ }
+ return nil
+}
diff --git a/models/migrations/v24.go b/models/migrations/v24.go
new file mode 100644
index 0000000..076c710
--- /dev/null
+++ b/models/migrations/v24.go
@@ -0,0 +1,50 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "time"
+
+ "github.com/go-xorm/xorm"
+)
+
+func changeGPGKeysColumns(x *xorm.Engine) error {
+ // EmailAddress is the list of all email addresses of a user. Can contain the
+ // primary email address, but is not obligatory.
+ type EmailAddress struct {
+ ID int64 `xorm:"pk autoincr"`
+ UID int64 `xorm:"INDEX NOT NULL"`
+ Email string `xorm:"UNIQUE NOT NULL"`
+ IsActivated bool
+ IsPrimary bool `xorm:"-"`
+ }
+
+ // GPGKey represents a GPG key.
+ type GPGKey struct {
+ ID int64 `xorm:"pk autoincr"`
+ OwnerID int64 `xorm:"INDEX NOT NULL"`
+ KeyID string `xorm:"INDEX CHAR(16) NOT NULL"`
+ PrimaryKeyID string `xorm:"CHAR(16)"`
+ Content string `xorm:"TEXT NOT NULL"`
+ Created time.Time `xorm:"-"`
+ CreatedUnix int64
+ Expired time.Time `xorm:"-"`
+ ExpiredUnix int64
+ Added time.Time `xorm:"-"`
+ AddedUnix int64
+ SubsKey []*GPGKey `xorm:"-"`
+ Emails []*EmailAddress
+ CanSign bool
+ CanEncryptComms bool
+ CanEncryptStorage bool
+ CanCertify bool
+ }
+
+ if err := x.DropTables(new(GPGKey)); err != nil {
+ return err
+ }
+
+ return x.Sync(new(GPGKey))
+}
diff --git a/models/migrations/v25.go b/models/migrations/v25.go
new file mode 100644
index 0000000..a8d7465
--- /dev/null
+++ b/models/migrations/v25.go
@@ -0,0 +1,18 @@
+// Copyright 2017 Gitea. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "fmt"
+
+ "github.com/go-xorm/xorm"
+)
+
+func addUserOpenIDShow(x *xorm.Engine) error {
+ if err := x.Sync2(new(UserOpenID)); err != nil {
+ return fmt.Errorf("Sync2: %v", err)
+ }
+ return nil
+}
diff --git a/models/migrations/v26.go b/models/migrations/v26.go
new file mode 100644
index 0000000..8b1c9a6
--- /dev/null
+++ b/models/migrations/v26.go
@@ -0,0 +1,87 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "crypto/md5"
+ "encoding/hex"
+ "fmt"
+ "io"
+ "io/ioutil"
+ "os"
+ "path/filepath"
+ "strings"
+
+ "code.gitea.io/gitea/modules/setting"
+
+ "github.com/Unknwon/com"
+ "github.com/go-xorm/xorm"
+)
+
+func generateAndMigrateGitHookChains(x *xorm.Engine) (err error) {
+ type Repository struct {
+ ID int64
+ OwnerID int64
+ Name string
+ }
+ type User struct {
+ ID int64
+ Name string
+ }
+
+ var (
+ hookNames = []string{"pre-receive", "update", "post-receive"}
+ hookTpl = fmt.Sprintf("#!/usr/bin/env %s\ndata=$(cat)\nexitcodes=\"\"\nhookname=$(basename $0)\nGIT_DIR=${GIT_DIR:-$(dirname $0)}\n\nfor hook in ${GIT_DIR}/hooks/${hookname}.d/*; do\ntest -x \"${hook}\" || continue\necho \"${data}\" | \"${hook}\"\nexitcodes=\"${exitcodes} $?\"\ndone\n\nfor i in ${exitcodes}; do\n[ ${i} -eq 0 ] || exit ${i}\ndone\n", setting.ScriptType)
+ )
+
+ return x.Where("id > 0").Iterate(new(Repository),
+ func(idx int, bean interface{}) error {
+ repo := bean.(*Repository)
+ user := new(User)
+ has, err := x.Where("id = ?", repo.OwnerID).Get(user)
+ if err != nil {
+ return fmt.Errorf("query owner of repository [repo_id: %d, owner_id: %d]: %v", repo.ID, repo.OwnerID, err)
+ } else if !has {
+ return nil
+ }
+
+ repoPaths := []string{
+ filepath.Join(setting.RepoRootPath, strings.ToLower(user.Name), strings.ToLower(repo.Name)) + ".git",
+ filepath.Join(setting.RepoRootPath, strings.ToLower(user.Name), strings.ToLower(repo.Name)) + ".wiki.git",
+ }
+
+ for _, repoPath := range repoPaths {
+ if com.IsExist(repoPath) {
+ hookDir := filepath.Join(repoPath, "hooks")
+
+ for _, hookName := range hookNames {
+ oldHookPath := filepath.Join(hookDir, hookName)
+
+ // compare md5sums of hooks
+ if com.IsExist(oldHookPath) {
+
+ f, err := os.Open(oldHookPath)
+ if err != nil {
+ return fmt.Errorf("cannot open old hook file '%s': %v", oldHookPath, err)
+ }
+ defer f.Close()
+ h := md5.New()
+ if _, err := io.Copy(h, f); err != nil {
+ return fmt.Errorf("cannot read old hook file '%s': %v", oldHookPath, err)
+ }
+ if hex.EncodeToString(h.Sum(nil)) == "6718ef67d0834e0a7908259acd566e3f" {
+ return nil
+ }
+ }
+
+ if err = ioutil.WriteFile(oldHookPath, []byte(hookTpl), 0777); err != nil {
+ return fmt.Errorf("write old hook file '%s': %v", oldHookPath, err)
+ }
+ }
+ }
+ }
+ return nil
+ })
+}
diff --git a/models/migrations/v27.go b/models/migrations/v27.go
new file mode 100644
index 0000000..bd115cf
--- /dev/null
+++ b/models/migrations/v27.go
@@ -0,0 +1,74 @@
+// Copyright 2017 Gitea. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "fmt"
+ "time"
+
+ "code.gitea.io/gitea/modules/log"
+ "code.gitea.io/gitea/modules/setting"
+
+ "github.com/go-xorm/xorm"
+)
+
+func convertIntervalToDuration(x *xorm.Engine) (err error) {
+ type Repository struct {
+ ID int64
+ OwnerID int64
+ Name string
+ }
+ type Mirror struct {
+ ID int64 `xorm:"pk autoincr"`
+ RepoID int64 `xorm:"INDEX"`
+ Repo *Repository `xorm:"-"`
+ Interval time.Duration
+ }
+
+ sess := x.NewSession()
+ defer sess.Close()
+
+ if err := sess.Begin(); err != nil {
+ return err
+ }
+
+ dialect := x.Dialect().DriverName()
+
+ switch dialect {
+ case "mysql":
+ _, err = sess.Exec("ALTER TABLE mirror MODIFY `interval` BIGINT")
+ case "postgres":
+ _, err = sess.Exec("ALTER TABLE mirror ALTER COLUMN \"interval\" SET DATA TYPE bigint")
+ case "tidb":
+ _, err = sess.Exec("ALTER TABLE mirror MODIFY `interval` BIGINT")
+ case "mssql":
+ _, err = sess.Exec("ALTER TABLE mirror ALTER COLUMN \"interval\" BIGINT")
+ case "sqlite3":
+ }
+
+ if err != nil {
+ return fmt.Errorf("Error changing mirror interval column type: %v", err)
+ }
+
+ var mirrors []Mirror
+ err = sess.Table("mirror").Select("*").Find(&mirrors)
+ if err != nil {
+ return fmt.Errorf("Query repositories: %v", err)
+ }
+ for _, mirror := range mirrors {
+ mirror.Interval = mirror.Interval * time.Hour
+ if mirror.Interval < setting.Mirror.MinInterval {
+ log.Info("Mirror interval less than Mirror.MinInterval, setting default interval: repo id %v", mirror.RepoID)
+ mirror.Interval = setting.Mirror.DefaultInterval
+ }
+ log.Debug("Mirror interval set to %v for repo id %v", mirror.Interval, mirror.RepoID)
+ _, err := sess.Id(mirror.ID).Cols("interval").Update(mirror)
+ if err != nil {
+ return fmt.Errorf("update mirror interval failed: %v", err)
+ }
+ }
+
+ return sess.Commit()
+}
diff --git a/models/migrations/v28.go b/models/migrations/v28.go
new file mode 100644
index 0000000..ec8155b
--- /dev/null
+++ b/models/migrations/v28.go
@@ -0,0 +1,76 @@
+// Copyright 2017 The Gogs Authors. All rights reserved.
+// Copyright 2017 Gitea. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "fmt"
+ "path/filepath"
+ "strings"
+
+ "code.gitea.io/git"
+ "code.gitea.io/gitea/modules/log"
+ "code.gitea.io/gitea/modules/setting"
+
+ "github.com/go-xorm/xorm"
+)
+
+func addRepoSize(x *xorm.Engine) (err error) {
+ log.Info("This migration could take up to minutes, please be patient.")
+ type Repository struct {
+ ID int64
+ OwnerID int64
+ Name string
+ Size int64
+ }
+ type User struct {
+ ID int64
+ Name string
+ }
+ if err = x.Sync2(new(Repository)); err != nil {
+ return fmt.Errorf("Sync2: %v", err)
+ }
+
+ // For the sake of SQLite3, we can't use x.Iterate here.
+ offset := 0
+ for {
+ repos := make([]*Repository, 0, 10)
+ if err = x.Table("repository").Asc("id").Limit(10, offset).Find(&repos); err != nil {
+ return fmt.Errorf("select repos [offset: %d]: %v", offset, err)
+ }
+ log.Trace("Select [offset: %d, repos: %d]", offset, len(repos))
+ if len(repos) == 0 {
+ break
+ }
+ offset += 10
+
+ for _, repo := range repos {
+ if repo.Name == "." || repo.Name == ".." {
+ continue
+ }
+
+ user := new(User)
+ has, err := x.Where("id = ?", repo.OwnerID).Get(user)
+ if err != nil {
+ return fmt.Errorf("query owner of repository [repo_id: %d, owner_id: %d]: %v", repo.ID, repo.OwnerID, err)
+ } else if !has {
+ continue
+ }
+
+ repoPath := filepath.Join(setting.RepoRootPath, strings.ToLower(user.Name), strings.ToLower(repo.Name)) + ".git"
+ countObject, err := git.GetRepoSize(repoPath)
+ if err != nil {
+ log.Warn("GetRepoSize: %v", err)
+ continue
+ }
+
+ repo.Size = countObject.Size + countObject.SizePack
+ if _, err = x.Id(repo.ID).Cols("size").Update(repo); err != nil {
+ return fmt.Errorf("update size: %v", err)
+ }
+ }
+ }
+ return nil
+}
diff --git a/models/migrations/v29.go b/models/migrations/v29.go
new file mode 100644
index 0000000..eadb0f3
--- /dev/null
+++ b/models/migrations/v29.go
@@ -0,0 +1,34 @@
+// Copyright 2017 The Gogs Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "fmt"
+
+ "github.com/go-xorm/xorm"
+)
+
+// CommitStatus see models/status.go
+type CommitStatus struct {
+ ID int64 `xorm:"pk autoincr"`
+ Index int64 `xorm:"INDEX UNIQUE(repo_sha_index)"`
+ RepoID int64 `xorm:"INDEX UNIQUE(repo_sha_index)"`
+ State string `xorm:"VARCHAR(7) NOT NULL"`
+ SHA string `xorm:"VARCHAR(64) NOT NULL INDEX UNIQUE(repo_sha_index)"`
+ TargetURL string `xorm:"TEXT"`
+ Description string `xorm:"TEXT"`
+ Context string `xorm:"TEXT"`
+ CreatorID int64 `xorm:"INDEX"`
+
+ CreatedUnix int64 `xorm:"INDEX"`
+ UpdatedUnix int64 `xorm:"INDEX"`
+}
+
+func addCommitStatus(x *xorm.Engine) error {
+ if err := x.Sync2(new(CommitStatus)); err != nil {
+ return fmt.Errorf("Sync2: %v", err)
+ }
+ return nil
+}
diff --git a/models/migrations/v30.go b/models/migrations/v30.go
new file mode 100644
index 0000000..90047df
--- /dev/null
+++ b/models/migrations/v30.go
@@ -0,0 +1,38 @@
+// Copyright 2017 The Gogs Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "fmt"
+
+ "github.com/go-xorm/xorm"
+)
+
+func addExternalLoginUserPK(x *xorm.Engine) error {
+ // ExternalLoginUser see models/external_login_user.go
+ type ExternalLoginUser struct {
+ ExternalID string `xorm:"pk NOT NULL"`
+ UserID int64 `xorm:"INDEX NOT NULL"`
+ LoginSourceID int64 `xorm:"pk NOT NULL"`
+ }
+
+ extlogins := make([]*ExternalLoginUser, 0, 6)
+ if err := x.Find(&extlogins); err != nil {
+ return fmt.Errorf("Find: %v", err)
+ }
+
+ if err := x.DropTables(new(ExternalLoginUser)); err != nil {
+ return fmt.Errorf("DropTables: %v", err)
+ }
+
+ if err := x.Sync2(new(ExternalLoginUser)); err != nil {
+ return fmt.Errorf("Sync2: %v", err)
+ }
+
+ if _, err := x.Insert(extlogins); err != nil {
+ return fmt.Errorf("Insert: %v", err)
+ }
+ return nil
+}
diff --git a/models/migrations/v31.go b/models/migrations/v31.go
new file mode 100644
index 0000000..b7ceecf
--- /dev/null
+++ b/models/migrations/v31.go
@@ -0,0 +1,35 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "fmt"
+ "time"
+
+ "github.com/go-xorm/core"
+ "github.com/go-xorm/xorm"
+)
+
+func addLoginSourceSyncEnabledColumn(x *xorm.Engine) error {
+ // LoginSource see models/login_source.go
+ type LoginSource struct {
+ ID int64 `xorm:"pk autoincr"`
+ Type int
+ Name string `xorm:"UNIQUE"`
+ IsActived bool `xorm:"INDEX NOT NULL DEFAULT false"`
+ IsSyncEnabled bool `xorm:"INDEX NOT NULL DEFAULT false"`
+ Cfg core.Conversion `xorm:"TEXT"`
+
+ Created time.Time `xorm:"-"`
+ CreatedUnix int64 `xorm:"INDEX"`
+ Updated time.Time `xorm:"-"`
+ UpdatedUnix int64 `xorm:"INDEX"`
+ }
+
+ if err := x.Sync2(new(LoginSource)); err != nil {
+ return fmt.Errorf("Sync2: %v", err)
+ }
+ return nil
+}
diff --git a/models/migrations/v32.go b/models/migrations/v32.go
new file mode 100644
index 0000000..d209fc3
--- /dev/null
+++ b/models/migrations/v32.go
@@ -0,0 +1,23 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import "github.com/go-xorm/xorm"
+
+func addUnitsToRepoTeam(x *xorm.Engine) error {
+ type Team struct {
+ UnitTypes []int `xorm:"json"`
+ }
+
+ err := x.Sync(new(Team))
+ if err != nil {
+ return err
+ }
+
+ _, err = x.Update(&Team{
+ UnitTypes: []int{1, 2, 3, 4, 5, 6, 7, 8, 9},
+ })
+ return err
+}
diff --git a/models/migrations/v33.go b/models/migrations/v33.go
new file mode 100644
index 0000000..26cce0b
--- /dev/null
+++ b/models/migrations/v33.go
@@ -0,0 +1,32 @@
+// Copyright 2017 Gitea. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "fmt"
+
+ "code.gitea.io/gitea/modules/log"
+ "code.gitea.io/gitea/modules/setting"
+
+ "github.com/go-xorm/xorm"
+)
+
+func removeActionColumns(x *xorm.Engine) error {
+ switch {
+ case setting.UseSQLite3:
+ log.Warn("Unable to drop columns in SQLite")
+ case setting.UseMySQL, setting.UsePostgreSQL, setting.UseMSSQL, setting.UseTiDB:
+ if _, err := x.Exec("ALTER TABLE action DROP COLUMN act_user_name"); err != nil {
+ return fmt.Errorf("DROP COLUMN act_user_name: %v", err)
+ } else if _, err = x.Exec("ALTER TABLE action DROP COLUMN repo_user_name"); err != nil {
+ return fmt.Errorf("DROP COLUMN repo_user_name: %v", err)
+ } else if _, err = x.Exec("ALTER TABLE action DROP COLUMN repo_name"); err != nil {
+ return fmt.Errorf("DROP COLUMN repo_name: %v", err)
+ }
+ default:
+ log.Fatal(4, "Unrecognized DB")
+ }
+ return nil
+}
diff --git a/models/migrations/v34.go b/models/migrations/v34.go
new file mode 100644
index 0000000..258da41
--- /dev/null
+++ b/models/migrations/v34.go
@@ -0,0 +1,25 @@
+// Copyright 2017 Gitea. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "github.com/go-xorm/xorm"
+)
+
+// Team see models/team.go
+type Team struct {
+ UnitTypes []int `xorm:"json"`
+}
+
+const ownerAccessMode = 4
+
+var allUnitTypes = []int{1, 2, 3, 4, 5, 6, 7, 8, 9}
+
+func giveAllUnitsToOwnerTeams(x *xorm.Engine) error {
+ _, err := x.Cols("unit_types").
+ Where("authorize = ?", ownerAccessMode).
+ Update(&Team{UnitTypes: allUnitTypes})
+ return err
+}
diff --git a/models/migrations/v35.go b/models/migrations/v35.go
new file mode 100644
index 0000000..7746663
--- /dev/null
+++ b/models/migrations/v35.go
@@ -0,0 +1,25 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "fmt"
+
+ "github.com/go-xorm/xorm"
+)
+
+func addCommentIDToAction(x *xorm.Engine) error {
+ // Action see models/action.go
+ type Action struct {
+ CommentID int64 `xorm:"INDEX"`
+ IsDeleted bool `xorm:"INDEX NOT NULL DEFAULT false"`
+ }
+
+ if err := x.Sync2(new(Action)); err != nil {
+ return fmt.Errorf("Sync2: %v", err)
+ }
+
+ return nil
+}
diff --git a/models/migrations/v36.go b/models/migrations/v36.go
new file mode 100644
index 0000000..06f76a2
--- /dev/null
+++ b/models/migrations/v36.go
@@ -0,0 +1,15 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "code.gitea.io/gitea/models"
+
+ "github.com/go-xorm/xorm"
+)
+
+func regenerateGitHooks36(x *xorm.Engine) (err error) {
+ return models.SyncRepositoryHooks()
+}
diff --git a/models/migrations/v37.go b/models/migrations/v37.go
new file mode 100644
index 0000000..00653a7
--- /dev/null
+++ b/models/migrations/v37.go
@@ -0,0 +1,35 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "html"
+
+ "github.com/go-xorm/xorm"
+)
+
+func unescapeUserFullNames(x *xorm.Engine) (err error) {
+ type User struct {
+ ID int64 `xorm:"pk autoincr"`
+ FullName string
+ }
+
+ const batchSize = 100
+ for start := 0; ; start += batchSize {
+ users := make([]*User, 0, batchSize)
+ if err := x.Limit(batchSize, start).Find(&users); err != nil {
+ return err
+ }
+ if len(users) == 0 {
+ return nil
+ }
+ for _, user := range users {
+ user.FullName = html.UnescapeString(user.FullName)
+ if _, err := x.ID(user.ID).Cols("full_name").Update(user); err != nil {
+ return err
+ }
+ }
+ }
+}
diff --git a/models/migrations/v38.go b/models/migrations/v38.go
new file mode 100644
index 0000000..6f66484
--- /dev/null
+++ b/models/migrations/v38.go
@@ -0,0 +1,70 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "time"
+
+ "code.gitea.io/gitea/models"
+
+ "github.com/go-xorm/core"
+ "github.com/go-xorm/xorm"
+)
+
+func removeCommitsUnitType(x *xorm.Engine) (err error) {
+ // RepoUnit describes all units of a repository
+ type RepoUnit struct {
+ ID int64
+ RepoID int64 `xorm:"INDEX(s)"`
+ Type int `xorm:"INDEX(s)"`
+ Index int
+ Config core.Conversion `xorm:"TEXT"`
+ CreatedUnix int64 `xorm:"INDEX CREATED"`
+ Created time.Time `xorm:"-"`
+ }
+
+ // Update team unit types
+ const batchSize = 100
+ for start := 0; ; start += batchSize {
+ teams := make([]*models.Team, 0, batchSize)
+ if err := x.Limit(batchSize, start).Find(&teams); err != nil {
+ return err
+ }
+ if len(teams) == 0 {
+ break
+ }
+ for _, team := range teams {
+ ut := make([]models.UnitType, 0, len(team.UnitTypes))
+ for _, u := range team.UnitTypes {
+ if u < V16UnitTypeCommits {
+ ut = append(ut, u)
+ } else if u > V16UnitTypeSettings {
+ ut = append(ut, u-2)
+ } else if u > V16UnitTypeCommits && u != V16UnitTypeSettings {
+ ut = append(ut, u-1)
+ }
+ }
+ team.UnitTypes = ut
+ if _, err := x.ID(team.ID).Cols("unit_types").Update(team); err != nil {
+ return err
+ }
+ }
+ }
+
+ // Delete commits and settings unit types
+ if _, err = x.In("`type`", []models.UnitType{V16UnitTypeCommits, V16UnitTypeSettings}).Delete(new(RepoUnit)); err != nil {
+ return err
+ }
+ // Fix renumber unit types that where in enumeration after settings unit type
+ if _, err = x.Where("`type` > ?", V16UnitTypeSettings).Decr("type").Decr("index").Update(new(RepoUnit)); err != nil {
+ return err
+ }
+ // Fix renumber unit types that where in enumeration after commits unit type
+ if _, err = x.Where("`type` > ?", V16UnitTypeCommits).Decr("type").Decr("index").Update(new(RepoUnit)); err != nil {
+ return err
+ }
+
+ return nil
+}
diff --git a/models/migrations/v42.go b/models/migrations/v42.go
new file mode 100644
index 0000000..3547ef1
--- /dev/null
+++ b/models/migrations/v42.go
@@ -0,0 +1,57 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "fmt"
+
+ "code.gitea.io/git"
+ "code.gitea.io/gitea/models"
+ "code.gitea.io/gitea/modules/log"
+
+ "github.com/go-xorm/xorm"
+)
+
+// ReleaseV39 describes the added field for Release
+type ReleaseV39 struct {
+ IsTag bool `xorm:"NOT NULL DEFAULT false"`
+}
+
+// TableName will be invoked by XORM to customrize the table name
+func (*ReleaseV39) TableName() string {
+ return "release"
+}
+
+func releaseAddColumnIsTagAndSyncTags(x *xorm.Engine) error {
+ if err := x.Sync2(new(ReleaseV39)); err != nil {
+ return fmt.Errorf("Sync2: %v", err)
+ }
+
+ // For the sake of SQLite3, we can't use x.Iterate here.
+ offset := 0
+ pageSize := 20
+ for {
+ repos := make([]*models.Repository, 0, pageSize)
+ if err := x.Table("repository").Asc("id").Limit(pageSize, offset).Find(&repos); err != nil {
+ return fmt.Errorf("select repos [offset: %d]: %v", offset, err)
+ }
+ for _, repo := range repos {
+ gitRepo, err := git.OpenRepository(repo.RepoPath())
+ if err != nil {
+ log.Warn("OpenRepository: %v", err)
+ continue
+ }
+
+ if err = models.SyncReleasesWithTags(repo, gitRepo); err != nil {
+ log.Warn("SyncReleasesWithTags: %v", err)
+ }
+ }
+ if len(repos) < pageSize {
+ break
+ }
+ offset += pageSize
+ }
+ return nil
+}
diff --git a/models/migrations/v43.go b/models/migrations/v43.go
new file mode 100644
index 0000000..b6351fa
--- /dev/null
+++ b/models/migrations/v43.go
@@ -0,0 +1,18 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "code.gitea.io/gitea/models"
+
+ "github.com/go-xorm/xorm"
+)
+
+func fixProtectedBranchCanPushValue(x *xorm.Engine) error {
+ _, err := x.Cols("can_push").Update(&models.ProtectedBranch{
+ CanPush: false,
+ })
+ return err
+}
diff --git a/models/migrations/v44.go b/models/migrations/v44.go
new file mode 100644
index 0000000..4de3ad4
--- /dev/null
+++ b/models/migrations/v44.go
@@ -0,0 +1,69 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "fmt"
+
+ "github.com/go-xorm/xorm"
+)
+
+func removeDuplicateUnitTypes(x *xorm.Engine) error {
+ // RepoUnit describes all units of a repository
+ type RepoUnit struct {
+ RepoID int64
+ Type int
+ }
+
+ // Enumerate all the unit types
+ const (
+ UnitTypeCode = iota + 1 // 1 code
+ UnitTypeIssues // 2 issues
+ UnitTypePullRequests // 3 PRs
+ UnitTypeReleases // 4 Releases
+ UnitTypeWiki // 5 Wiki
+ UnitTypeExternalWiki // 6 ExternalWiki
+ UnitTypeExternalTracker // 7 ExternalTracker
+ )
+
+ var externalIssueRepoUnits []RepoUnit
+ err := x.Where("type = ?", UnitTypeExternalTracker).Find(&externalIssueRepoUnits)
+ if err != nil {
+ return fmt.Errorf("Query repositories: %v", err)
+ }
+
+ var externalWikiRepoUnits []RepoUnit
+ err = x.Where("type = ?", UnitTypeExternalWiki).Find(&externalWikiRepoUnits)
+ if err != nil {
+ return fmt.Errorf("Query repositories: %v", err)
+ }
+
+ sess := x.NewSession()
+ defer sess.Close()
+
+ if err := sess.Begin(); err != nil {
+ return err
+ }
+
+ for _, repoUnit := range externalIssueRepoUnits {
+ if _, err = sess.Delete(&RepoUnit{
+ RepoID: repoUnit.RepoID,
+ Type: UnitTypeIssues,
+ }); err != nil {
+ return fmt.Errorf("Delete repo unit: %v", err)
+ }
+ }
+
+ for _, repoUnit := range externalWikiRepoUnits {
+ if _, err = sess.Delete(&RepoUnit{
+ RepoID: repoUnit.RepoID,
+ Type: UnitTypeWiki,
+ }); err != nil {
+ return fmt.Errorf("Delete repo unit: %v", err)
+ }
+ }
+
+ return sess.Commit()
+}
diff --git a/models/models.go b/models/models.go
index 5b9020b..e5d3597 100644
--- a/models/models.go
+++ b/models/models.go
@@ -24,7 +24,6 @@ import (
// Needed for the MSSSQL driver
_ "github.com/denisenkom/go-mssqldb"
- "code.gitea.io/gitea/models/migrations"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
)
@@ -32,7 +31,7 @@ import (
// Engine represents a xorm engine or session.
type Engine interface {
Table(tableNameOrBean interface{}) *xorm.Session
- Count(interface{}) (int64, error)
+ Count(...interface{}) (int64, error)
Decr(column string, arg ...interface{}) *xorm.Session
Delete(interface{}) (int64, error)
Exec(string, ...interface{}) (sql.Result, error)
@@ -49,13 +48,6 @@ type Engine interface {
Where(interface{}, ...interface{}) *xorm.Session
}
-func sessionRelease(sess *xorm.Session) {
- if !sess.IsCommitedOrRollbacked {
- sess.Rollback()
- }
- sess.Close()
-}
-
var (
x *xorm.Engine
tables []interface{}
@@ -66,6 +58,7 @@ var (
// DbCfg holds the database settings
DbCfg struct {
Type, Host, Name, User, Passwd, Path, SSLMode string
+ Timeout int
}
// EnableSQLite3 use SQLite3
@@ -111,10 +104,14 @@ func init() {
new(IssueUser),
new(LFSMetaObject),
new(TwoFactor),
+ new(GPGKey),
new(RepoUnit),
new(RepoRedirect),
new(ExternalLoginUser),
new(ProtectedBranch),
+ new(UserOpenID),
+ new(IssueWatch),
+ new(CommitStatus),
)
gonicNames := []string{"SSL", "UID"}
@@ -147,6 +144,7 @@ func LoadConfigs() {
}
DbCfg.SSLMode = sec.Key("SSL_MODE").String()
DbCfg.Path = sec.Key("PATH").MustString("data/gitea.db")
+ DbCfg.Timeout = sec.Key("SQLITE_TIMEOUT").MustInt(500)
sec = setting.Cfg.Section("indexer")
setting.Indexer.IssuePath = sec.Key("ISSUE_INDEXER_PATH").MustString("indexers/issues.bleve")
@@ -216,7 +214,7 @@ func getEngine() (*xorm.Engine, error) {
if err := os.MkdirAll(path.Dir(DbCfg.Path), os.ModePerm); err != nil {
return nil, fmt.Errorf("Failed to create directories: %v", err)
}
- connStr = "file:" + DbCfg.Path + "?cache=shared&mode=rwc"
+ connStr = fmt.Sprintf("file:%s?cache=shared&mode=rwc&_busy_timeout=%d", DbCfg.Path, DbCfg.Timeout)
case "tidb":
if !EnableTiDB {
return nil, errors.New("this binary version does not build support for TiDB")
@@ -260,7 +258,7 @@ func SetEngine() (err error) {
}
// NewEngine initializes a new xorm.Engine
-func NewEngine() (err error) {
+func NewEngine(migrateFunc func(*xorm.Engine) error) (err error) {
if err = SetEngine(); err != nil {
return err
}
@@ -269,7 +267,7 @@ func NewEngine() (err error) {
return err
}
- if err = migrations.Migrate(x); err != nil {
+ if err = migrateFunc(x); err != nil {
return fmt.Errorf("migrate: %v", err)
}
diff --git a/models/models_test.go b/models/models_test.go
index 01d7231..649b1e0 100644
--- a/models/models_test.go
+++ b/models/models_test.go
@@ -11,15 +11,45 @@ import (
)
func Test_parsePostgreSQLHostPort(t *testing.T) {
- test := func(input, expectedHost, expectedPort string) {
- host, port := parsePostgreSQLHostPort(input)
- assert.Equal(t, expectedHost, host)
- assert.Equal(t, expectedPort, port)
+ tests := []struct {
+ HostPort string
+ Host string
+ Port string
+ }{
+ {
+ HostPort: "127.0.0.1:1234",
+ Host: "127.0.0.1",
+ Port: "1234",
+ },
+ {
+ HostPort: "127.0.0.1",
+ Host: "127.0.0.1",
+ Port: "5432",
+ },
+ {
+ HostPort: "[::1]:1234",
+ Host: "[::1]",
+ Port: "1234",
+ },
+ {
+ HostPort: "[::1]",
+ Host: "[::1]",
+ Port: "5432",
+ },
+ {
+ HostPort: "/tmp/pg.sock:1234",
+ Host: "/tmp/pg.sock",
+ Port: "1234",
+ },
+ {
+ HostPort: "/tmp/pg.sock",
+ Host: "/tmp/pg.sock",
+ Port: "5432",
+ },
+ }
+ for _, test := range tests {
+ host, port := parsePostgreSQLHostPort(test.HostPort)
+ assert.Equal(t, test.Host, host)
+ assert.Equal(t, test.Port, port)
}
- test("127.0.0.1:1234", "127.0.0.1", "1234")
- test("127.0.0.1", "127.0.0.1", "5432")
- test("[::1]:1234", "[::1]", "1234")
- test("[::1]", "[::1]", "5432")
- test("/tmp/pg.sock:1234", "/tmp/pg.sock", "1234")
- test("/tmp/pg.sock", "/tmp/pg.sock", "5432")
}
diff --git a/models/notification.go b/models/notification.go
index bba662c..a59c6f1 100644
--- a/models/notification.go
+++ b/models/notification.go
@@ -96,6 +96,11 @@ func CreateOrUpdateIssueNotifications(issue *Issue, notificationAuthorID int64)
}
func createOrUpdateIssueNotifications(e Engine, issue *Issue, notificationAuthorID int64) error {
+ issueWatches, err := getIssueWatchers(e, issue.ID)
+ if err != nil {
+ return err
+ }
+
watches, err := getWatchers(e, issue.RepoID)
if err != nil {
return err
@@ -106,23 +111,42 @@ func createOrUpdateIssueNotifications(e Engine, issue *Issue, notificationAuthor
return err
}
- for _, watch := range watches {
+ alreadyNotified := make(map[int64]struct{}, len(issueWatches)+len(watches))
+
+ notifyUser := func(userID int64) error {
// do not send notification for the own issuer/commenter
- if watch.UserID == notificationAuthorID {
+ if userID == notificationAuthorID {
+ return nil
+ }
+
+ if _, ok := alreadyNotified[userID]; ok {
+ return nil
+ }
+ alreadyNotified[userID] = struct{}{}
+
+ if notificationExists(notifications, issue.ID, userID) {
+ return updateIssueNotification(e, userID, issue.ID, notificationAuthorID)
+ }
+ return createIssueNotification(e, userID, issue, notificationAuthorID)
+ }
+
+ for _, issueWatch := range issueWatches {
+ // ignore if user unwatched the issue
+ if !issueWatch.IsWatching {
+ alreadyNotified[issueWatch.UserID] = struct{}{}
continue
}
- if notificationExists(notifications, issue.ID, watch.UserID) {
- err = updateIssueNotification(e, watch.UserID, issue.ID, notificationAuthorID)
- } else {
- err = createIssueNotification(e, watch.UserID, issue, notificationAuthorID)
- }
-
- if err != nil {
+ if err := notifyUser(issueWatch.UserID); err != nil {
return err
}
}
+ for _, watch := range watches {
+ if err := notifyUser(watch.UserID); err != nil {
+ return err
+ }
+ }
return nil
}
diff --git a/models/oauth2.go b/models/oauth2.go
new file mode 100644
index 0000000..a191754
--- /dev/null
+++ b/models/oauth2.go
@@ -0,0 +1,117 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package models
+
+import (
+ "sort"
+
+ "code.gitea.io/gitea/modules/auth/oauth2"
+)
+
+// OAuth2Provider describes the display values of a single OAuth2 provider
+type OAuth2Provider struct {
+ Name string
+ DisplayName string
+ Image string
+ CustomURLMapping *oauth2.CustomURLMapping
+}
+
+// OAuth2Providers contains the map of registered OAuth2 providers in Gitea (based on goth)
+// key is used to map the OAuth2Provider with the goth provider type (also in LoginSource.OAuth2Config.Provider)
+// value is used to store display data
+var OAuth2Providers = map[string]OAuth2Provider{
+ "bitbucket": {Name: "bitbucket", DisplayName: "Bitbucket", Image: "/img/auth/bitbucket.png"},
+ "dropbox": {Name: "dropbox", DisplayName: "Dropbox", Image: "/img/auth/dropbox.png"},
+ "facebook": {Name: "facebook", DisplayName: "Facebook", Image: "/img/auth/facebook.png"},
+ "github": {Name: "github", DisplayName: "GitHub", Image: "/img/auth/github.png",
+ CustomURLMapping: &oauth2.CustomURLMapping{
+ TokenURL: oauth2.GetDefaultTokenURL("github"),
+ AuthURL: oauth2.GetDefaultAuthURL("github"),
+ ProfileURL: oauth2.GetDefaultProfileURL("github"),
+ EmailURL: oauth2.GetDefaultEmailURL("github"),
+ },
+ },
+ "gitlab": {Name: "gitlab", DisplayName: "GitLab", Image: "/img/auth/gitlab.png",
+ CustomURLMapping: &oauth2.CustomURLMapping{
+ TokenURL: oauth2.GetDefaultTokenURL("gitlab"),
+ AuthURL: oauth2.GetDefaultAuthURL("gitlab"),
+ ProfileURL: oauth2.GetDefaultProfileURL("gitlab"),
+ },
+ },
+ "gplus": {Name: "gplus", DisplayName: "Google+", Image: "/img/auth/google_plus.png"},
+ "openidConnect": {Name: "openidConnect", DisplayName: "OpenID Connect", Image: "/img/auth/openid_connect.png"},
+ "twitter": {Name: "twitter", DisplayName: "Twitter", Image: "/img/auth/twitter.png"},
+}
+
+// OAuth2DefaultCustomURLMappings contains the map of default URL's for OAuth2 providers that are allowed to have custom urls
+// key is used to map the OAuth2Provider
+// value is the mapping as defined for the OAuth2Provider
+var OAuth2DefaultCustomURLMappings = map[string]*oauth2.CustomURLMapping{
+ "github": OAuth2Providers["github"].CustomURLMapping,
+ "gitlab": OAuth2Providers["gitlab"].CustomURLMapping,
+}
+
+// GetActiveOAuth2ProviderLoginSources returns all actived LoginOAuth2 sources
+func GetActiveOAuth2ProviderLoginSources() ([]*LoginSource, error) {
+ sources := make([]*LoginSource, 0, 1)
+ if err := x.Where("is_actived = ? and type = ?", true, LoginOAuth2).Find(&sources); err != nil {
+ return nil, err
+ }
+ return sources, nil
+}
+
+// GetActiveOAuth2LoginSourceByName returns a OAuth2 LoginSource based on the given name
+func GetActiveOAuth2LoginSourceByName(name string) (*LoginSource, error) {
+ loginSource := new(LoginSource)
+ has, err := x.Where("name = ? and type = ? and is_actived = ?", name, LoginOAuth2, true).Get(loginSource)
+ if !has || err != nil {
+ return nil, err
+ }
+
+ return loginSource, nil
+}
+
+// GetActiveOAuth2Providers returns the map of configured active OAuth2 providers
+// key is used as technical name (like in the callbackURL)
+// values to display
+func GetActiveOAuth2Providers() ([]string, map[string]OAuth2Provider, error) {
+ // Maybe also separate used and unused providers so we can force the registration of only 1 active provider for each type
+
+ loginSources, err := GetActiveOAuth2ProviderLoginSources()
+ if err != nil {
+ return nil, nil, err
+ }
+
+ var orderedKeys []string
+ providers := make(map[string]OAuth2Provider)
+ for _, source := range loginSources {
+ providers[source.Name] = OAuth2Providers[source.OAuth2().Provider]
+ orderedKeys = append(orderedKeys, source.Name)
+ }
+
+ sort.Strings(orderedKeys)
+
+ return orderedKeys, providers, nil
+}
+
+// InitOAuth2 initialize the OAuth2 lib and register all active OAuth2 providers in the library
+func InitOAuth2() {
+ oauth2.Init()
+ loginSources, _ := GetActiveOAuth2ProviderLoginSources()
+
+ for _, source := range loginSources {
+ oAuth2Config := source.OAuth2()
+ oauth2.RegisterProvider(source.Name, oAuth2Config.Provider, oAuth2Config.ClientID, oAuth2Config.ClientSecret, oAuth2Config.OpenIDConnectAutoDiscoveryURL, oAuth2Config.CustomURLMapping)
+ }
+}
+
+// wrapOpenIDConnectInitializeError is used to wrap the error but this cannot be done in modules/auth/oauth2
+// inside oauth2: import cycle not allowed models -> modules/auth/oauth2 -> models
+func wrapOpenIDConnectInitializeError(err error, providerName string, oAuth2Config *OAuth2Config) error {
+ if err != nil && "openidConnect" == oAuth2Config.Provider {
+ err = ErrOpenIDConnectInitialize{ProviderName: providerName, OpenIDConnectAutoDiscoveryURL: oAuth2Config.OpenIDConnectAutoDiscoveryURL, Cause: err}
+ }
+ return err
+}
diff --git a/models/org.go b/models/org.go
index 9d7aaec..461e929 100644
--- a/models/org.go
+++ b/models/org.go
@@ -16,8 +16,6 @@ import (
)
var (
- // ErrOrgNotExist organization does not exist
- ErrOrgNotExist = errors.New("Organization does not exist")
// ErrTeamNotExist team does not exist
ErrTeamNotExist = errors.New("Team does not exist")
)
@@ -127,7 +125,7 @@ func CreateOrganization(org, owner *User) (err error) {
org.Type = UserTypeOrganization
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -156,6 +154,7 @@ func CreateOrganization(org, owner *User) (err error) {
Name: ownerTeamName,
Authorize: AccessModeOwner,
NumMembers: 1,
+ UnitTypes: allRepUnitTypes,
}
if _, err = sess.Insert(t); err != nil {
return fmt.Errorf("insert owner team: %v", err)
@@ -179,7 +178,7 @@ func CreateOrganization(org, owner *User) (err error) {
// GetOrgByName returns organization by given name.
func GetOrgByName(name string) (*User, error) {
if len(name) == 0 {
- return nil, ErrOrgNotExist
+ return nil, ErrOrgNotExist{0, name}
}
u := &User{
LowerName: strings.ToLower(name),
@@ -189,7 +188,7 @@ func GetOrgByName(name string) (*User, error) {
if err != nil {
return nil, err
} else if !has {
- return nil, ErrOrgNotExist
+ return nil, ErrOrgNotExist{0, name}
}
return u, nil
}
@@ -236,11 +235,7 @@ func DeleteOrganization(org *User) (err error) {
}
}
- if err = sess.Commit(); err != nil {
- return err
- }
-
- return nil
+ return sess.Commit()
}
func deleteOrg(e *xorm.Session, u *User) error {
@@ -480,7 +475,7 @@ func RemoveOrgUser(orgID, userID int64) error {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err := sess.Begin(); err != nil {
return err
}
@@ -548,10 +543,10 @@ func removeOrgRepo(e Engine, orgID, repoID int64) error {
teamIDs := make([]int64, len(teamRepos))
for i, teamRepo := range teamRepos {
- teamIDs[i] = teamRepo.ID
+ teamIDs[i] = teamRepo.TeamID
}
- _, err := x.Decr("num_repos").In("id", teamIDs).Update(new(Team))
+ _, err := e.Decr("num_repos").In("id", teamIDs).Update(new(Team))
return err
}
@@ -670,13 +665,30 @@ func (env *accessibleReposEnv) Repos(page, pageSize int) ([]*Repository, error)
Find(&repos)
}
-func (env *accessibleReposEnv) MirrorRepos() ([]*Repository, error) {
- repos := make([]*Repository, 0, 10)
- return repos, x.
- Select("`repository`.*").
+func (env *accessibleReposEnv) MirrorRepoIDs() ([]int64, error) {
+ repoIDs := make([]int64, 0, 10)
+ return repoIDs, x.
+ Table("repository").
Join("INNER", "team_repo", "`team_repo`.repo_id=`repository`.id AND `repository`.is_mirror=?", true).
Where(env.cond()).
- GroupBy("`repository`.id").
+ GroupBy("`repository`.id, `repository`.updated_unix").
OrderBy("updated_unix DESC").
+ Cols("`repository`.id").
+ Find(&repoIDs)
+}
+
+func (env *accessibleReposEnv) MirrorRepos() ([]*Repository, error) {
+ repoIDs, err := env.MirrorRepoIDs()
+ if err != nil {
+ return nil, fmt.Errorf("MirrorRepoIDs: %v", err)
+ }
+
+ repos := make([]*Repository, 0, len(repoIDs))
+ if len(repoIDs) <= 0 {
+ return repos, nil
+ }
+
+ return repos, x.
+ In("`repository`.id", repoIDs).
Find(&repos)
}
diff --git a/models/org_team.go b/models/org_team.go
index 84282da..bc0e12b 100644
--- a/models/org_team.go
+++ b/models/org_team.go
@@ -24,6 +24,15 @@ type Team struct {
Members []*User `xorm:"-"`
NumRepos int
NumMembers int
+ UnitTypes []UnitType `xorm:"json"`
+}
+
+// GetUnitTypes returns unit types the team owned, empty means all the unit types
+func (t *Team) GetUnitTypes() []UnitType {
+ if len(t.UnitTypes) == 0 {
+ return allRepUnitTypes
+ }
+ return t.UnitTypes
}
// IsOwnerTeam returns true if team is owner team.
@@ -110,7 +119,7 @@ func (t *Team) AddRepository(repo *Repository) (err error) {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -139,18 +148,19 @@ func (t *Team) removeRepository(e Engine, repo *Repository, recalculate bool) (e
}
}
- if err = t.getMembers(e); err != nil {
- return fmt.Errorf("get team members: %v", err)
+ teamUsers, err := getTeamUsersByTeamID(e, t.ID)
+ if err != nil {
+ return fmt.Errorf("getTeamUsersByTeamID: %v", err)
}
- for _, u := range t.Members {
- has, err := hasAccess(e, u, repo, AccessModeRead)
+ for _, teamUser := range teamUsers {
+ has, err := hasAccess(e, teamUser.UID, repo, AccessModeRead)
if err != nil {
return err
} else if has {
continue
}
- if err = watchRepo(e, u.ID, repo.ID, false); err != nil {
+ if err = watchRepo(e, teamUser.UID, repo.ID, false); err != nil {
return err
}
}
@@ -170,7 +180,7 @@ func (t *Team) RemoveRepository(repoID int64) error {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -182,6 +192,19 @@ func (t *Team) RemoveRepository(repoID int64) error {
return sess.Commit()
}
+// UnitEnabled returns if the team has the given unit type enabled
+func (t *Team) UnitEnabled(tp UnitType) bool {
+ if len(t.UnitTypes) == 0 {
+ return true
+ }
+ for _, u := range t.UnitTypes {
+ if u == tp {
+ return true
+ }
+ }
+ return false
+}
+
// IsUsableTeamName tests if a name could be as team name
func IsUsableTeamName(name string) error {
switch name {
@@ -207,7 +230,7 @@ func NewTeam(t *Team) (err error) {
if err != nil {
return err
} else if !has {
- return ErrOrgNotExist
+ return ErrOrgNotExist{t.OrgID, ""}
}
t.LowerName = strings.ToLower(t.Name)
@@ -286,7 +309,7 @@ func UpdateTeam(t *Team, authChanged bool) (err error) {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -331,7 +354,7 @@ func DeleteTeam(t *Team) error {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err := sess.Begin(); err != nil {
return err
}
@@ -399,20 +422,25 @@ func IsTeamMember(orgID, teamID, userID int64) bool {
return isTeamMember(x, orgID, teamID, userID)
}
-func getTeamMembers(e Engine, teamID int64) (_ []*User, err error) {
+func getTeamUsersByTeamID(e Engine, teamID int64) ([]*TeamUser, error) {
teamUsers := make([]*TeamUser, 0, 10)
- if err = e.
+ return teamUsers, e.
Where("team_id=?", teamID).
- Find(&teamUsers); err != nil {
+ Find(&teamUsers)
+}
+
+func getTeamMembers(e Engine, teamID int64) (_ []*User, err error) {
+ teamUsers, err := getTeamUsersByTeamID(e, teamID)
+ if err != nil {
return nil, fmt.Errorf("get team-users: %v", err)
}
- members := make([]*User, 0, len(teamUsers))
- for i := range teamUsers {
- member := new(User)
- if _, err = e.Id(teamUsers[i].UID).Get(member); err != nil {
- return nil, fmt.Errorf("get user '%d': %v", teamUsers[i].UID, err)
+ members := make([]*User, len(teamUsers))
+ for i, teamUser := range teamUsers {
+ member, err := getUserByID(e, teamUser.UID)
+ if err != nil {
+ return nil, fmt.Errorf("get user '%d': %v", teamUser.UID, err)
}
- members = append(members, member)
+ members[i] = member
}
return members, nil
}
@@ -454,7 +482,7 @@ func AddTeamMember(team *Team, userID int64) error {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err := sess.Begin(); err != nil {
return err
}
@@ -556,7 +584,7 @@ func removeTeamMember(e Engine, team *Team, userID int64) error {
// RemoveTeamMember removes member from given team of given organization.
func RemoveTeamMember(team *Team, userID int64) error {
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err := sess.Begin(); err != nil {
return err
}
diff --git a/models/org_team_test.go b/models/org_team_test.go
index db0a814..9afd733 100644
--- a/models/org_team_test.go
+++ b/models/org_team_test.go
@@ -117,15 +117,15 @@ func TestTeam_HasRepository(t *testing.T) {
func TestTeam_AddRepository(t *testing.T) {
assert.NoError(t, PrepareTestDatabase())
- testSucess := func(teamID, repoID int64) {
+ testSuccess := func(teamID, repoID int64) {
team := AssertExistsAndLoadBean(t, &Team{ID: teamID}).(*Team)
repo := AssertExistsAndLoadBean(t, &Repository{ID: repoID}).(*Repository)
assert.NoError(t, team.AddRepository(repo))
AssertExistsAndLoadBean(t, &TeamRepo{TeamID: teamID, RepoID: repoID})
CheckConsistencyFor(t, &Team{ID: teamID}, &Repository{ID: repoID})
}
- testSucess(2, 3)
- testSucess(2, 5)
+ testSuccess(2, 3)
+ testSuccess(2, 5)
team := AssertExistsAndLoadBean(t, &Team{ID: 1}).(*Team)
repo := AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository)
@@ -243,7 +243,7 @@ func TestDeleteTeam(t *testing.T) {
// check that team members don't have "leftover" access to repos
user := AssertExistsAndLoadBean(t, &User{ID: 4}).(*User)
repo := AssertExistsAndLoadBean(t, &Repository{ID: 3}).(*Repository)
- accessMode, err := AccessLevel(user, repo)
+ accessMode, err := AccessLevel(user.ID, repo)
assert.NoError(t, err)
assert.True(t, accessMode < AccessModeWrite)
}
diff --git a/models/org_test.go b/models/org_test.go
index 95698a5..801088c 100644
--- a/models/org_test.go
+++ b/models/org_test.go
@@ -222,10 +222,10 @@ func TestGetOrgByName(t *testing.T) {
assert.Equal(t, "user3", org.Name)
org, err = GetOrgByName("user2") // user2 is an individual
- assert.Equal(t, ErrOrgNotExist, err)
+ assert.True(t, IsErrOrgNotExist(err))
org, err = GetOrgByName("") // corner case
- assert.Equal(t, ErrOrgNotExist, err)
+ assert.True(t, IsErrOrgNotExist(err))
}
func TestCountOrganizations(t *testing.T) {
diff --git a/models/pull.go b/models/pull.go
index 8228224..3d2e5c6 100644
--- a/models/pull.go
+++ b/models/pull.go
@@ -197,6 +197,8 @@ func (pr *PullRequest) APIFormat() *api.PullRequest {
Base: apiBaseBranchInfo,
Head: apiHeadBranchInfo,
MergeBase: pr.MergeBase,
+ Created: &pr.Issue.Created,
+ Updated: &pr.Issue.Updated,
}
if pr.Status != PullRequestStatusChecking {
@@ -326,7 +328,7 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository) (err error
return fmt.Errorf("git push: %s", stderr)
}
- pr.MergedCommitID, err = headGitRepo.GetBranchCommitID(pr.HeadBranch)
+ pr.MergedCommitID, err = baseGitRepo.GetBranchCommitID(pr.BaseBranch)
if err != nil {
return fmt.Errorf("GetBranchCommit: %v", err)
}
@@ -404,7 +406,7 @@ func (pr *PullRequest) setMerged() (err error) {
pr.HasMerged = true
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -493,23 +495,31 @@ func (pr *PullRequest) getMergeCommit() (*git.Commit, error) {
if err != nil {
// Errors are signaled by a non-zero status that is not 1
- if err.Error() == "exit status 1" {
+ if strings.Contains(err.Error(), "exit status 1") {
return nil, nil
}
return nil, fmt.Errorf("git merge-base --is-ancestor: %v %v", stderr, err)
}
- // We can ignore this error since we only get here when there's a valid commit in headFile
- commitID, _ := ioutil.ReadFile(pr.BaseRepo.RepoPath() + "/" + headFile)
- cmd := string(commitID)[:40] + ".." + pr.BaseBranch
+ commitIDBytes, err := ioutil.ReadFile(pr.BaseRepo.RepoPath() + "/" + headFile)
+ if err != nil {
+ return nil, fmt.Errorf("ReadFile(%s): %v", headFile, err)
+ }
+ commitID := string(commitIDBytes)
+ if len(commitID) < 40 {
+ return nil, fmt.Errorf(`ReadFile(%s): invalid commit-ID "%s"`, headFile, commitID)
+ }
+ cmd := commitID[:40] + ".." + pr.BaseBranch
// Get the commit from BaseBranch where the pull request got merged
mergeCommit, stderr, err := process.GetManager().ExecDirEnv(-1, "", fmt.Sprintf("isMerged (git rev-list --ancestry-path --merges --reverse): %d", pr.BaseRepo.ID),
[]string{"GIT_INDEX_FILE=" + indexTmpPath, "GIT_DIR=" + pr.BaseRepo.RepoPath()},
"git", "rev-list", "--ancestry-path", "--merges", "--reverse", cmd)
-
if err != nil {
return nil, fmt.Errorf("git rev-list --ancestry-path --merges --reverse: %v %v", stderr, err)
+ } else if len(mergeCommit) < 40 {
+ // PR was fast-forwarded, so just use last commit of PR
+ mergeCommit = commitID[:40]
}
gitRepo, err := git.OpenRepository(pr.BaseRepo.RepoPath())
@@ -592,7 +602,7 @@ func (pr *PullRequest) testPatch() (err error) {
// NewPullRequest creates new pull request with labels for repository.
func NewPullRequest(repo *Repository, pull *Issue, labelIDs []int64, uuids []string, pr *PullRequest, patch []byte) (err error) {
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -631,14 +641,13 @@ func NewPullRequest(repo *Repository, pull *Issue, labelIDs []int64, uuids []str
}
if err = NotifyWatchers(&Action{
- ActUserID: pull.Poster.ID,
- ActUserName: pull.Poster.Name,
- OpType: ActionCreatePullRequest,
- Content: fmt.Sprintf("%d|%s", pull.Index, pull.Title),
- RepoID: repo.ID,
- RepoUserName: repo.Owner.Name,
- RepoName: repo.Name,
- IsPrivate: repo.IsPrivate,
+ ActUserID: pull.Poster.ID,
+ ActUser: pull.Poster,
+ OpType: ActionCreatePullRequest,
+ Content: fmt.Sprintf("%d|%s", pull.Index, pull.Title),
+ RepoID: repo.ID,
+ Repo: repo,
+ IsPrivate: repo.IsPrivate,
}); err != nil {
log.Error(4, "NotifyWatchers: %v", err)
} else if err = pull.MailParticipants(); err != nil {
@@ -679,8 +688,6 @@ func listPullRequestStatement(baseRepoID int64, opts *PullRequestsOptions) (*xor
sess.And("issue.is_closed=?", opts.State == "closed")
}
- sortIssuesSession(sess, opts.SortType)
-
if labelIDs, err := base.StringsToInt64s(opts.Labels); err != nil {
return nil, err
} else if len(labelIDs) > 0 {
@@ -714,6 +721,7 @@ func PullRequests(baseRepoID int64, opts *PullRequestsOptions) ([]*PullRequest,
prs := make([]*PullRequest, 0, ItemsPerPage)
findSession, err := listPullRequestStatement(baseRepoID, opts)
+ sortIssuesSession(findSession, opts.SortType)
if err != nil {
log.Error(4, "listPullRequestStatement", err)
return nil, maxResults, err
@@ -904,7 +912,10 @@ func (pr *PullRequest) PushToBaseRepo() (err error) {
_ = os.Remove(file)
- if err = git.Push(headRepoPath, tmpRemoteName, fmt.Sprintf("%s:%s", pr.HeadBranch, headFile)); err != nil {
+ if err = git.Push(headRepoPath, git.PushOptions{
+ Remote: tmpRemoteName,
+ Branch: fmt.Sprintf("%s:%s", pr.HeadBranch, headFile),
+ }); err != nil {
return fmt.Errorf("Push: %v", err)
}
@@ -1054,29 +1065,30 @@ func (pr *PullRequest) checkAndUpdateStatus() {
// TODO: test more pull requests at same time.
func TestPullRequests() {
prs := make([]*PullRequest, 0, 10)
- x.Iterate(PullRequest{
- Status: PullRequestStatusChecking,
- },
- func(idx int, bean interface{}) error {
- pr := bean.(*PullRequest)
- if err := pr.GetBaseRepo(); err != nil {
- log.Error(3, "GetBaseRepo: %v", err)
- return nil
- }
- if pr.manuallyMerged() {
- return nil
- }
- if err := pr.testPatch(); err != nil {
- log.Error(3, "testPatch: %v", err)
- return nil
- }
- prs = append(prs, pr)
- return nil
- })
+ err := x.Where("status = ?", PullRequestStatusChecking).Find(&prs)
+ if err != nil {
+ log.Error(3, "Find Checking PRs", err)
+ return
+ }
+
+ var checkedPRs = make(map[int64]struct{})
// Update pull request status.
for _, pr := range prs {
+ checkedPRs[pr.ID] = struct{}{}
+ if err := pr.GetBaseRepo(); err != nil {
+ log.Error(3, "GetBaseRepo: %v", err)
+ continue
+ }
+ if pr.manuallyMerged() {
+ continue
+ }
+ if err := pr.testPatch(); err != nil {
+ log.Error(3, "testPatch: %v", err)
+ continue
+ }
+
pr.checkAndUpdateStatus()
}
@@ -1085,7 +1097,12 @@ func TestPullRequests() {
log.Trace("TestPullRequests[%v]: processing test task", prID)
pullRequestQueue.Remove(prID)
- pr, err := GetPullRequestByID(com.StrTo(prID).MustInt64())
+ id := com.StrTo(prID).MustInt64()
+ if _, ok := checkedPRs[id]; ok {
+ continue
+ }
+
+ pr, err := GetPullRequestByID(id)
if err != nil {
log.Error(4, "GetPullRequestByID[%s]: %v", prID, err)
continue
diff --git a/models/release.go b/models/release.go
index 3e3db98..4205413 100644
--- a/models/release.go
+++ b/models/release.go
@@ -14,6 +14,7 @@ import (
"code.gitea.io/gitea/modules/process"
"code.gitea.io/gitea/modules/setting"
api "code.gitea.io/sdk/gitea"
+ "github.com/go-xorm/builder"
"github.com/go-xorm/xorm"
)
@@ -33,7 +34,8 @@ type Release struct {
NumCommitsBehind int64 `xorm:"-"`
Note string `xorm:"TEXT"`
IsDraft bool `xorm:"NOT NULL DEFAULT false"`
- IsPrerelease bool
+ IsPrerelease bool `xorm:"NOT NULL DEFAULT false"`
+ IsTag bool `xorm:"NOT NULL DEFAULT false"`
Attachments []*Attachment `xorm:"-"`
@@ -73,7 +75,7 @@ func (r *Release) loadAttributes(e Engine) error {
return nil
}
-// LoadAttributes load repo and publisher attributes for a realease
+// LoadAttributes load repo and publisher attributes for a release
func (r *Release) LoadAttributes() error {
return r.loadAttributes(x)
}
@@ -138,17 +140,18 @@ func createTag(gitRepo *git.Repository, rel *Release) error {
}
return err
}
- } else {
- commit, err := gitRepo.GetTagCommit(rel.TagName)
- if err != nil {
- return fmt.Errorf("GetTagCommit: %v", err)
- }
+ rel.LowerTagName = strings.ToLower(rel.TagName)
+ }
+ commit, err := gitRepo.GetTagCommit(rel.TagName)
+ if err != nil {
+ return fmt.Errorf("GetTagCommit: %v", err)
+ }
- rel.Sha1 = commit.ID.String()
- rel.NumCommits, err = commit.CommitsCount()
- if err != nil {
- return fmt.Errorf("CommitsCount: %v", err)
- }
+ rel.Sha1 = commit.ID.String()
+ rel.CreatedUnix = commit.Author.When.Unix()
+ rel.NumCommits, err = commit.CommitsCount()
+ if err != nil {
+ return fmt.Errorf("CommitsCount: %v", err)
}
}
return nil
@@ -232,25 +235,46 @@ func GetReleaseByID(id int64) (*Release, error) {
return rel, nil
}
+// FindReleasesOptions describes the conditions to Find releases
+type FindReleasesOptions struct {
+ IncludeDrafts bool
+ IncludeTags bool
+ TagNames []string
+}
+
+func (opts *FindReleasesOptions) toConds(repoID int64) builder.Cond {
+ var cond = builder.NewCond()
+ cond = cond.And(builder.Eq{"repo_id": repoID})
+
+ if !opts.IncludeDrafts {
+ cond = cond.And(builder.Eq{"is_draft": false})
+ }
+ if !opts.IncludeTags {
+ cond = cond.And(builder.Eq{"is_tag": false})
+ }
+ if len(opts.TagNames) > 0 {
+ cond = cond.And(builder.In("tag_name", opts.TagNames))
+ }
+ return cond
+}
+
// GetReleasesByRepoID returns a list of releases of repository.
-func GetReleasesByRepoID(repoID int64, page, pageSize int) (rels []*Release, err error) {
+func GetReleasesByRepoID(repoID int64, opts FindReleasesOptions, page, pageSize int) (rels []*Release, err error) {
if page <= 0 {
page = 1
}
+
err = x.
- Desc("created_unix").
+ Desc("created_unix", "id").
Limit(pageSize, (page-1)*pageSize).
- Find(&rels, Release{RepoID: repoID})
+ Where(opts.toConds(repoID)).
+ Find(&rels)
return rels, err
}
-// GetReleasesByRepoIDAndNames returns a list of releases of repository according repoID and tagNames.
-func GetReleasesByRepoIDAndNames(repoID int64, tagNames []string) (rels []*Release, err error) {
- err = x.
- Desc("created_unix").
- In("tag_name", tagNames).
- Find(&rels, Release{RepoID: repoID})
- return rels, err
+// GetReleaseCountByRepoID returns the count of releases of repository
+func GetReleaseCountByRepoID(repoID int64, opts FindReleasesOptions) (int64, error) {
+ return x.Where(opts.toConds(repoID)).Count(&Release{})
}
type releaseMetaSearch struct {
@@ -343,6 +367,8 @@ func UpdateRelease(gitRepo *git.Repository, rel *Release, attachmentUUIDs []stri
if err = createTag(gitRepo, rel); err != nil {
return err
}
+ rel.LowerTagName = strings.ToLower(rel.TagName)
+
_, err = x.Id(rel.ID).AllCols().Update(rel)
if err != nil {
return err
@@ -365,7 +391,7 @@ func DeleteReleaseByID(id int64, u *User, delTag bool) error {
return fmt.Errorf("GetRepositoryByID: %v", err)
}
- has, err := HasAccess(u, repo, AccessModeWrite)
+ has, err := HasAccess(u.ID, repo, AccessModeWrite)
if err != nil {
return fmt.Errorf("HasAccess: %v", err)
} else if !has {
@@ -379,11 +405,64 @@ func DeleteReleaseByID(id int64, u *User, delTag bool) error {
if err != nil && !strings.Contains(stderr, "not found") {
return fmt.Errorf("git tag -d: %v - %s", err, stderr)
}
- }
- if _, err = x.Id(rel.ID).Delete(new(Release)); err != nil {
- return fmt.Errorf("Delete: %v", err)
+ if _, err = x.Id(rel.ID).Delete(new(Release)); err != nil {
+ return fmt.Errorf("Delete: %v", err)
+ }
+ } else {
+ rel.IsTag = true
+ rel.IsDraft = false
+ rel.IsPrerelease = false
+ rel.Title = ""
+ rel.Note = ""
+
+ if _, err = x.Id(rel.ID).AllCols().Update(rel); err != nil {
+ return fmt.Errorf("Update: %v", err)
+ }
}
return nil
}
+
+// SyncReleasesWithTags synchronizes release table with repository tags
+func SyncReleasesWithTags(repo *Repository, gitRepo *git.Repository) error {
+ existingRelTags := make(map[string]struct{})
+ opts := FindReleasesOptions{IncludeDrafts: true, IncludeTags: true}
+ for page := 1; ; page++ {
+ rels, err := GetReleasesByRepoID(repo.ID, opts, page, 100)
+ if err != nil {
+ return fmt.Errorf("GetReleasesByRepoID: %v", err)
+ }
+ if len(rels) == 0 {
+ break
+ }
+ for _, rel := range rels {
+ if rel.IsDraft {
+ continue
+ }
+ commitID, err := gitRepo.GetTagCommitID(rel.TagName)
+ if err != nil {
+ return fmt.Errorf("GetTagCommitID: %v", err)
+ }
+ if !gitRepo.IsTagExist(rel.TagName) || commitID != rel.Sha1 {
+ if err := pushUpdateDeleteTag(repo, gitRepo, rel.TagName); err != nil {
+ return fmt.Errorf("pushUpdateDeleteTag: %v", err)
+ }
+ } else {
+ existingRelTags[strings.ToLower(rel.TagName)] = struct{}{}
+ }
+ }
+ }
+ tags, err := gitRepo.GetTags()
+ if err != nil {
+ return fmt.Errorf("GetTags: %v", err)
+ }
+ for _, tagName := range tags {
+ if _, ok := existingRelTags[strings.ToLower(tagName)]; !ok {
+ if err := pushUpdateAddTag(repo, gitRepo, tagName); err != nil {
+ return fmt.Errorf("pushUpdateAddTag: %v", err)
+ }
+ }
+ }
+ return nil
+}
diff --git a/models/repo.go b/models/repo.go
index 87b9a6e..c4bb9a8 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -193,7 +193,7 @@ type Repository struct {
NumMilestones int `xorm:"NOT NULL DEFAULT 0"`
NumClosedMilestones int `xorm:"NOT NULL DEFAULT 0"`
NumOpenMilestones int `xorm:"-"`
- NumTags int `xorm:"-"`
+ NumReleases int `xorm:"-"`
IsPrivate bool `xorm:"INDEX"`
IsBare bool `xorm:"INDEX"`
@@ -207,6 +207,7 @@ type Repository struct {
IsFork bool `xorm:"INDEX NOT NULL DEFAULT false"`
ForkID int64 `xorm:"INDEX"`
BaseRepo *Repository `xorm:"-"`
+ Size int64 `xorm:"NOT NULL DEFAULT 0"`
Created time.Time `xorm:"-"`
CreatedUnix int64 `xorm:"INDEX"`
@@ -271,12 +272,27 @@ func (repo *Repository) APIURL() string {
// APIFormat converts a Repository to api.Repository
func (repo *Repository) APIFormat(mode AccessMode) *api.Repository {
+ return repo.innerAPIFormat(mode, false)
+}
+
+func (repo *Repository) innerAPIFormat(mode AccessMode, isParent bool) *api.Repository {
+ var parent *api.Repository
+
cloneLink := repo.CloneLink()
permission := &api.Permission{
Admin: mode >= AccessModeAdmin,
Push: mode >= AccessModeWrite,
Pull: mode >= AccessModeRead,
}
+ if !isParent {
+ err := repo.GetBaseRepo()
+ if err != nil {
+ log.Error(4, "APIFormat: %v", err)
+ }
+ if repo.BaseRepo != nil {
+ parent = repo.BaseRepo.innerAPIFormat(mode, true)
+ }
+ }
return &api.Repository{
ID: repo.ID,
Owner: repo.Owner.APIFormat(),
@@ -284,7 +300,10 @@ func (repo *Repository) APIFormat(mode AccessMode) *api.Repository {
FullName: repo.FullName(),
Description: repo.Description,
Private: repo.IsPrivate,
+ Empty: repo.IsBare,
+ Size: int(repo.Size / 1024),
Fork: repo.IsFork,
+ Parent: parent,
Mirror: repo.IsMirror,
HTMLURL: repo.HTMLURL(),
SSHURL: cloneLink.SSH,
@@ -310,12 +329,77 @@ func (repo *Repository) getUnits(e Engine) (err error) {
return err
}
-func getUnitsByRepoID(e Engine, repoID int64) (units []*RepoUnit, err error) {
- return units, e.Where("repo_id = ?", repoID).Find(&units)
+// CheckUnitUser check whether user could visit the unit of this repository
+func (repo *Repository) CheckUnitUser(userID int64, isAdmin bool, unitType UnitType) bool {
+ if err := repo.getUnitsByUserID(x, userID, isAdmin); err != nil {
+ return false
+ }
+
+ for _, unit := range repo.Units {
+ if unit.Type == unitType {
+ return true
+ }
+ }
+ return false
}
-// EnableUnit if this repository enabled some unit
-func (repo *Repository) EnableUnit(tp UnitType) bool {
+// LoadUnitsByUserID loads units according userID's permissions
+func (repo *Repository) LoadUnitsByUserID(userID int64, isAdmin bool) error {
+ return repo.getUnitsByUserID(x, userID, isAdmin)
+}
+
+func (repo *Repository) getUnitsByUserID(e Engine, userID int64, isAdmin bool) (err error) {
+ if repo.Units != nil {
+ return nil
+ }
+
+ if err = repo.getUnits(e); err != nil {
+ return err
+ } else if err = repo.getOwner(e); err != nil {
+ return err
+ }
+
+ if !repo.Owner.IsOrganization() || userID == 0 || isAdmin || !repo.IsPrivate {
+ return nil
+ }
+
+ // Collaborators will not be limited
+ if isCollaborator, err := repo.isCollaborator(e, userID); err != nil {
+ return err
+ } else if isCollaborator {
+ return nil
+ }
+
+ teams, err := getUserTeams(e, repo.OwnerID, userID)
+ if err != nil {
+ return err
+ }
+
+ var allTypes = make(map[UnitType]struct{}, len(allRepUnitTypes))
+ for _, team := range teams {
+ // Administrators can not be limited
+ if team.Authorize >= AccessModeAdmin {
+ return nil
+ }
+ for _, unitType := range team.UnitTypes {
+ allTypes[unitType] = struct{}{}
+ }
+ }
+
+ // unique
+ var newRepoUnits = make([]*RepoUnit, 0, len(repo.Units))
+ for _, u := range repo.Units {
+ if _, ok := allTypes[u.Type]; ok {
+ newRepoUnits = append(newRepoUnits, u)
+ }
+ }
+
+ repo.Units = newRepoUnits
+ return nil
+}
+
+// UnitEnabled if this repository has the given unit enabled
+func (repo *Repository) UnitEnabled(tp UnitType) bool {
repo.getUnits(x)
for _, unit := range repo.Units {
if unit.Type == tp {
@@ -325,6 +409,21 @@ func (repo *Repository) EnableUnit(tp UnitType) bool {
return false
}
+// AnyUnitEnabled if this repository has the any of the given units enabled
+func (repo *Repository) AnyUnitEnabled(tps ...UnitType) bool {
+ if err := repo.getUnits(x); err != nil {
+ log.Warn("Error loading repository (ID: %d) units: %s", repo.ID, err.Error())
+ }
+ for _, unit := range repo.Units {
+ for _, tp := range tps {
+ if unit.Type == tp {
+ return true
+ }
+ }
+ }
+ return false
+}
+
var (
// ErrUnitNotExist organization does not exist
ErrUnitNotExist = errors.New("Unit does not exist")
@@ -531,7 +630,7 @@ func (repo *Repository) ComposeCompareURL(oldCommitID, newCommitID string) strin
// HasAccess returns true when user has access to this repository
func (repo *Repository) HasAccess(u *User) bool {
- has, _ := HasAccess(u, repo, AccessModeRead)
+ has, _ := HasAccess(u.ID, repo, AccessModeRead)
return has
}
@@ -546,19 +645,54 @@ func (repo *Repository) IsOwnedBy(userID int64) bool {
return repo.OwnerID == userID
}
+func (repo *Repository) updateSize(e Engine) error {
+ repoInfoSize, err := git.GetRepoSize(repo.RepoPath())
+ if err != nil {
+ return fmt.Errorf("UpdateSize: %v", err)
+ }
+
+ repo.Size = repoInfoSize.Size + repoInfoSize.SizePack
+ _, err = e.Id(repo.ID).Cols("size").Update(repo)
+ return err
+}
+
+// UpdateSize updates the repository size, calculating it using git.GetRepoSize
+func (repo *Repository) UpdateSize() error {
+ return repo.updateSize(x)
+}
+
// CanBeForked returns true if repository meets the requirements of being forked.
func (repo *Repository) CanBeForked() bool {
- return !repo.IsBare
+ return !repo.IsBare && repo.UnitEnabled(UnitTypeCode)
+}
+
+// CanUserFork returns true if specified user can fork repository.
+func (repo *Repository) CanUserFork(user *User) (bool, error) {
+ if user == nil {
+ return false, nil
+ }
+ if repo.OwnerID != user.ID && !user.HasForkedRepo(repo.ID) {
+ return true, nil
+ }
+ if err := user.GetOwnedOrganizations(); err != nil {
+ return false, err
+ }
+ for _, org := range user.OwnedOrgs {
+ if repo.OwnerID != org.ID && !org.HasForkedRepo(repo.ID) {
+ return true, nil
+ }
+ }
+ return false, nil
}
// CanEnablePulls returns true if repository meets the requirements of accepting pulls.
func (repo *Repository) CanEnablePulls() bool {
- return !repo.IsMirror
+ return !repo.IsMirror && !repo.IsBare
}
// AllowsPulls returns true if repository meets the requirements of accepting pulls and has them enabled.
func (repo *Repository) AllowsPulls() bool {
- return repo.CanEnablePulls() && repo.EnableUnit(UnitTypePullRequests)
+ return repo.CanEnablePulls() && repo.UnitEnabled(UnitTypePullRequests)
}
// CanEnableEditor returns true if repository meets the requirements of web editor.
@@ -587,7 +721,10 @@ func (repo *Repository) DescriptionHTML() template.HTML {
// LocalCopyPath returns the local repository copy path
func (repo *Repository) LocalCopyPath() string {
- return path.Join(setting.AppDataPath, "tmp/local-repo", com.ToStr(repo.ID))
+ if filepath.IsAbs(setting.Repository.Local.LocalCopyPath) {
+ return path.Join(setting.Repository.Local.LocalCopyPath, com.ToStr(repo.ID))
+ }
+ return path.Join(setting.AppDataPath, setting.Repository.Local.LocalCopyPath, com.ToStr(repo.ID))
}
// UpdateLocalCopyBranch pulls latest changes of given branch from repoPath to localPath.
@@ -608,12 +745,13 @@ func UpdateLocalCopyBranch(repoPath, localPath, branch string) error {
}); err != nil {
return fmt.Errorf("git checkout %s: %v", branch, err)
}
- if err := git.Pull(localPath, git.PullRemoteOptions{
- Timeout: time.Duration(setting.Git.Timeout.Pull) * time.Second,
- Remote: "origin",
- Branch: branch,
- }); err != nil {
- return fmt.Errorf("git pull origin %s: %v", branch, err)
+
+ _, err := git.NewCommand("fetch", "origin").RunInDir(localPath)
+ if err != nil {
+ return fmt.Errorf("git fetch origin: %v", err)
+ }
+ if err := git.ResetHEAD(localPath, true, "origin/"+branch); err != nil {
+ return fmt.Errorf("git reset --hard origin/%s: %v", branch, err)
}
}
return nil
@@ -808,6 +946,14 @@ func MigrateRepository(u *User, opts MigrateRepoOptions) (*Repository, error) {
if headBranch != nil {
repo.DefaultBranch = headBranch.Name
}
+
+ if err = SyncReleasesWithTags(repo, gitRepo); err != nil {
+ log.Error(4, "Failed to synchronize tags to releases for repository: %v", err)
+ }
+ }
+
+ if err = repo.UpdateSize(); err != nil {
+ log.Error(4, "Failed to update size for repository: %v", err)
}
if opts.IsMirror {
@@ -815,7 +961,7 @@ func MigrateRepository(u *User, opts MigrateRepoOptions) (*Repository, error) {
RepoID: repo.ID,
Interval: setting.Mirror.DefaultInterval,
EnablePrune: true,
- NextUpdate: time.Now().Add(time.Duration(setting.Mirror.DefaultInterval) * time.Hour),
+ NextUpdate: time.Now().Add(setting.Mirror.DefaultInterval),
}); err != nil {
return repo, fmt.Errorf("InsertOne: %v", err)
}
@@ -844,8 +990,12 @@ func cleanUpMigrateGitConfig(configPath string) error {
// createDelegateHooks creates all the hooks scripts for the repo
func createDelegateHooks(repoPath string) (err error) {
var (
- hookNames = []string{"pre-receive", "update", "post-receive"}
- hookTpl = fmt.Sprintf("#!/usr/bin/env %s\ndata=$(cat)\nexitcodes=\"\"\nhookname=$(basename $0)\nGIT_DIR=${GIT_DIR:-$(dirname $0)}\n\nfor hook in ${GIT_DIR}/hooks/${hookname}.d/*; do\ntest -x \"${hook}\" || continue\necho \"${data}\" | \"${hook}\"\nexitcodes=\"${exitcodes} $?\"\ndone\n\nfor i in ${exitcodes}; do\n[ ${i} -eq 0 ] || exit ${i}\ndone\n", setting.ScriptType)
+ hookNames = []string{"pre-receive", "update", "post-receive"}
+ hookTpls = []string{
+ fmt.Sprintf("#!/usr/bin/env %s\ndata=$(cat)\nexitcodes=\"\"\nhookname=$(basename $0)\nGIT_DIR=${GIT_DIR:-$(dirname $0)}\n\nfor hook in ${GIT_DIR}/hooks/${hookname}.d/*; do\ntest -x \"${hook}\" || continue\necho \"${data}\" | \"${hook}\"\nexitcodes=\"${exitcodes} $?\"\ndone\n\nfor i in ${exitcodes}; do\n[ ${i} -eq 0 ] || exit ${i}\ndone\n", setting.ScriptType),
+ fmt.Sprintf("#!/usr/bin/env %s\nexitcodes=\"\"\nhookname=$(basename $0)\nGIT_DIR=${GIT_DIR:-$(dirname $0)}\n\nfor hook in ${GIT_DIR}/hooks/${hookname}.d/*; do\ntest -x \"${hook}\" || continue\n\"${hook}\" $1 $2 $3\nexitcodes=\"${exitcodes} $?\"\ndone\n\nfor i in ${exitcodes}; do\n[ ${i} -eq 0 ] || exit ${i}\ndone\n", setting.ScriptType),
+ fmt.Sprintf("#!/usr/bin/env %s\ndata=$(cat)\nexitcodes=\"\"\nhookname=$(basename $0)\nGIT_DIR=${GIT_DIR:-$(dirname $0)}\n\nfor hook in ${GIT_DIR}/hooks/${hookname}.d/*; do\ntest -x \"${hook}\" || continue\necho \"${data}\" | \"${hook}\"\nexitcodes=\"${exitcodes} $?\"\ndone\n\nfor i in ${exitcodes}; do\n[ ${i} -eq 0 ] || exit ${i}\ndone\n", setting.ScriptType),
+ }
giteaHookTpls = []string{
fmt.Sprintf("#!/usr/bin/env %s\n\"%s\" hook --config='%s' pre-receive\n", setting.ScriptType, setting.AppPath, setting.CustomConf),
fmt.Sprintf("#!/usr/bin/env %s\n\"%s\" hook --config='%s' update $1 $2 $3\n", setting.ScriptType, setting.AppPath, setting.CustomConf),
@@ -864,7 +1014,7 @@ func createDelegateHooks(repoPath string) (err error) {
}
// WARNING: This will override all old server-side hooks
- if err = ioutil.WriteFile(oldHookPath, []byte(hookTpl), 0777); err != nil {
+ if err = ioutil.WriteFile(oldHookPath, []byte(hookTpls[i]), 0777); err != nil {
return fmt.Errorf("write old hook file '%s': %v", oldHookPath, err)
}
@@ -1167,7 +1317,7 @@ func CreateRepository(u *User, opts CreateRepoOptions) (_ *Repository, err error
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return nil, err
}
@@ -1251,7 +1401,7 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return fmt.Errorf("sess.Begin: %v", err)
}
@@ -1464,6 +1614,10 @@ func updateRepository(e Engine, repo *Repository, visibilityChanged bool) (err e
return fmt.Errorf("updateRepository[%d]: %v", forkRepos[i].ID, err)
}
}
+
+ if err = repo.updateSize(e); err != nil {
+ log.Error(4, "Failed to update size for repository: %v", err)
+ }
}
return nil
@@ -1472,7 +1626,7 @@ func updateRepository(e Engine, repo *Repository, visibilityChanged bool) (err e
// UpdateRepository updates a repository
func UpdateRepository(repo *Repository, visibilityChanged bool) (err error) {
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -1517,7 +1671,7 @@ func DeleteRepository(uid, repoID int64) error {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -1556,6 +1710,8 @@ func DeleteRepository(uid, repoID int64) error {
&Release{RepoID: repoID},
&Collaboration{RepoID: repoID},
&PullRequest{BaseRepoID: repoID},
+ &RepoUnit{RepoID: repoID},
+ &RepoRedirect{RedirectRepoID: repoID},
); err != nil {
return fmt.Errorf("deleteBeans: %v", err)
}
@@ -1782,10 +1938,9 @@ func DeleteRepositoryArchives() error {
// DeleteOldRepositoryArchives deletes old repository archives.
func DeleteOldRepositoryArchives() {
- if taskStatusTable.IsRunning(archiveCleanup) {
+ if !taskStatusTable.StartIfNotRunning(archiveCleanup) {
return
}
- taskStatusTable.Start(archiveCleanup)
defer taskStatusTable.Stop(archiveCleanup)
log.Trace("Doing: ArchiveCleanup")
@@ -1926,10 +2081,9 @@ const (
// GitFsck calls 'git fsck' to check repository health.
func GitFsck() {
- if taskStatusTable.IsRunning(gitFsck) {
+ if !taskStatusTable.StartIfNotRunning(gitFsck) {
return
}
- taskStatusTable.Start(gitFsck)
defer taskStatusTable.Stop(gitFsck)
log.Trace("Doing: GitFsck")
@@ -1998,10 +2152,9 @@ func repoStatsCheck(checker *repoChecker) {
// CheckRepoStats checks the repository stats
func CheckRepoStats() {
- if taskStatusTable.IsRunning(checkRepos) {
+ if !taskStatusTable.StartIfNotRunning(checkRepos) {
return
}
- taskStatusTable.Start(checkRepos)
defer taskStatusTable.Stop(checkRepos)
log.Trace("Doing: CheckRepoStats")
@@ -2133,7 +2286,7 @@ func ForkRepository(u *User, oldRepo *Repository, name, desc string) (_ *Reposit
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return nil, err
}
@@ -2171,9 +2324,13 @@ func ForkRepository(u *User, oldRepo *Repository, name, desc string) (_ *Reposit
return nil, err
}
+ if err = repo.UpdateSize(); err != nil {
+ log.Error(4, "Failed to update size for repository: %v", err)
+ }
+
// Copy LFS meta objects in new session
sess2 := x.NewSession()
- defer sessionRelease(sess2)
+ defer sess2.Close()
if err = sess2.Begin(); err != nil {
return nil, err
}
@@ -2239,7 +2396,10 @@ func (repo *Repository) CreateNewBranch(doer *User, oldBranchName, branchName st
return fmt.Errorf("CreateNewBranch: %v", err)
}
- if err = git.Push(localPath, "origin", branchName); err != nil {
+ if err = git.Push(localPath, git.PushOptions{
+ Remote: "origin",
+ Branch: branchName,
+ }); err != nil {
return fmt.Errorf("Push: %v", err)
}
diff --git a/models/repo_branch.go b/models/repo_branch.go
index fcfd3e8..4821902 100644
--- a/models/repo_branch.go
+++ b/models/repo_branch.go
@@ -39,7 +39,7 @@ func GetBranchesByPath(path string) ([]*Branch, error) {
// GetBranch returns a branch by it's name
func (repo *Repository) GetBranch(branch string) (*Branch, error) {
if !git.IsBranchExist(repo.RepoPath(), branch) {
- return nil, &ErrBranchNotExist{branch}
+ return nil, ErrBranchNotExist{branch}
}
return &Branch{
Path: repo.RepoPath(),
diff --git a/models/repo_collaboration.go b/models/repo_collaboration.go
index 39df5b9..791f022 100644
--- a/models/repo_collaboration.go
+++ b/models/repo_collaboration.go
@@ -46,7 +46,7 @@ func (repo *Repository) AddCollaborator(u *User) error {
collaboration.Mode = AccessModeWrite
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -136,7 +136,7 @@ func (repo *Repository) ChangeCollaborationAccessMode(uid int64, mode AccessMode
collaboration.Mode = mode
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -161,7 +161,7 @@ func (repo *Repository) DeleteCollaboration(uid int64) (err error) {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
diff --git a/models/repo_editor.go b/models/repo_editor.go
index c675e1c..692fe8c 100644
--- a/models/repo_editor.go
+++ b/models/repo_editor.go
@@ -136,7 +136,10 @@ func (repo *Repository) UpdateRepoFile(doer *User, opts UpdateRepoFileOptions) (
Message: opts.Message,
}); err != nil {
return fmt.Errorf("CommitChanges: %v", err)
- } else if err = git.Push(localPath, "origin", opts.NewBranch); err != nil {
+ } else if err = git.Push(localPath, git.PushOptions{
+ Remote: "origin",
+ Branch: opts.NewBranch,
+ }); err != nil {
return fmt.Errorf("git push origin %s: %v", opts.NewBranch, err)
}
@@ -152,27 +155,29 @@ func (repo *Repository) UpdateRepoFile(doer *User, opts UpdateRepoFileOptions) (
}
// Simulate push event.
- pushCommits := &PushCommits{
- Len: 1,
- Commits: []*PushCommit{CommitToPushCommit(commit)},
- }
oldCommitID := opts.LastCommitID
if opts.NewBranch != opts.OldBranch {
oldCommitID = git.EmptySHA
}
- if err := CommitRepoAction(CommitRepoActionOptions{
- PusherName: doer.Name,
- RepoOwnerID: repo.MustOwner().ID,
- RepoName: repo.Name,
- RefFullName: git.BranchPrefix + opts.NewBranch,
- OldCommitID: oldCommitID,
- NewCommitID: commit.ID.String(),
- Commits: pushCommits,
- }); err != nil {
- log.Error(4, "CommitRepoAction: %v", err)
- return nil
- }
+ if err = repo.GetOwner(); err != nil {
+ return fmt.Errorf("GetOwner: %v", err)
+ }
+ err = PushUpdate(
+ opts.NewBranch,
+ PushUpdateOptions{
+ PusherID: doer.ID,
+ PusherName: doer.Name,
+ RepoUserName: repo.Owner.Name,
+ RepoName: repo.Name,
+ RefFullName: git.BranchPrefix + opts.NewBranch,
+ OldCommitID: oldCommitID,
+ NewCommitID: commit.ID.String(),
+ },
+ )
+ if err != nil {
+ return fmt.Errorf("PushUpdate: %v", err)
+ }
return nil
}
@@ -273,7 +278,10 @@ func (repo *Repository) DeleteRepoFile(doer *User, opts DeleteRepoFileOptions) (
Message: opts.Message,
}); err != nil {
return fmt.Errorf("CommitChanges: %v", err)
- } else if err = git.Push(localPath, "origin", opts.NewBranch); err != nil {
+ } else if err = git.Push(localPath, git.PushOptions{
+ Remote: "origin",
+ Branch: opts.NewBranch,
+ }); err != nil {
return fmt.Errorf("git push origin %s: %v", opts.NewBranch, err)
}
@@ -289,23 +297,29 @@ func (repo *Repository) DeleteRepoFile(doer *User, opts DeleteRepoFileOptions) (
}
// Simulate push event.
- pushCommits := &PushCommits{
- Len: 1,
- Commits: []*PushCommit{CommitToPushCommit(commit)},
- }
- if err := CommitRepoAction(CommitRepoActionOptions{
- PusherName: doer.Name,
- RepoOwnerID: repo.MustOwner().ID,
- RepoName: repo.Name,
- RefFullName: git.BranchPrefix + opts.NewBranch,
- OldCommitID: opts.LastCommitID,
- NewCommitID: commit.ID.String(),
- Commits: pushCommits,
- }); err != nil {
- log.Error(4, "CommitRepoAction: %v", err)
- return nil
+ oldCommitID := opts.LastCommitID
+ if opts.NewBranch != opts.OldBranch {
+ oldCommitID = git.EmptySHA
}
+ if err = repo.GetOwner(); err != nil {
+ return fmt.Errorf("GetOwner: %v", err)
+ }
+ err = PushUpdate(
+ opts.NewBranch,
+ PushUpdateOptions{
+ PusherID: doer.ID,
+ PusherName: doer.Name,
+ RepoUserName: repo.Owner.Name,
+ RepoName: repo.Name,
+ RefFullName: git.BranchPrefix + opts.NewBranch,
+ OldCommitID: oldCommitID,
+ NewCommitID: commit.ID.String(),
+ },
+ )
+ if err != nil {
+ return fmt.Errorf("PushUpdate: %v", err)
+ }
return nil
}
@@ -395,7 +409,7 @@ func DeleteUploads(uploads ...*Upload) (err error) {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -509,7 +523,10 @@ func (repo *Repository) UploadRepoFiles(doer *User, opts UploadRepoFileOptions)
Message: opts.Message,
}); err != nil {
return fmt.Errorf("CommitChanges: %v", err)
- } else if err = git.Push(localPath, "origin", opts.NewBranch); err != nil {
+ } else if err = git.Push(localPath, git.PushOptions{
+ Remote: "origin",
+ Branch: opts.NewBranch,
+ }); err != nil {
return fmt.Errorf("git push origin %s: %v", opts.NewBranch, err)
}
@@ -525,21 +542,28 @@ func (repo *Repository) UploadRepoFiles(doer *User, opts UploadRepoFileOptions)
}
// Simulate push event.
- pushCommits := &PushCommits{
- Len: 1,
- Commits: []*PushCommit{CommitToPushCommit(commit)},
+ oldCommitID := opts.LastCommitID
+ if opts.NewBranch != opts.OldBranch {
+ oldCommitID = git.EmptySHA
}
- if err := CommitRepoAction(CommitRepoActionOptions{
- PusherName: doer.Name,
- RepoOwnerID: repo.MustOwner().ID,
- RepoName: repo.Name,
- RefFullName: git.BranchPrefix + opts.NewBranch,
- OldCommitID: opts.LastCommitID,
- NewCommitID: commit.ID.String(),
- Commits: pushCommits,
- }); err != nil {
- log.Error(4, "CommitRepoAction: %v", err)
- return nil
+
+ if err = repo.GetOwner(); err != nil {
+ return fmt.Errorf("GetOwner: %v", err)
+ }
+ err = PushUpdate(
+ opts.NewBranch,
+ PushUpdateOptions{
+ PusherID: doer.ID,
+ PusherName: doer.Name,
+ RepoUserName: repo.Owner.Name,
+ RepoName: repo.Name,
+ RefFullName: git.BranchPrefix + opts.NewBranch,
+ OldCommitID: oldCommitID,
+ NewCommitID: commit.ID.String(),
+ },
+ )
+ if err != nil {
+ return fmt.Errorf("PushUpdate: %v", err)
}
return DeleteUploads(uploads...)
diff --git a/models/repo_list.go b/models/repo_list.go
index a1a309f..15e6144 100644
--- a/models/repo_list.go
+++ b/models/repo_list.go
@@ -9,38 +9,35 @@ import (
"strings"
"github.com/go-xorm/builder"
- "github.com/go-xorm/xorm"
)
// RepositoryList contains a list of repositories
type RepositoryList []*Repository
+// RepositoryListOfMap make list from values of map
+func RepositoryListOfMap(repoMap map[int64]*Repository) RepositoryList {
+ return RepositoryList(valuesRepository(repoMap))
+}
+
func (repos RepositoryList) loadAttributes(e Engine) error {
if len(repos) == 0 {
return nil
}
// Load owners.
- set := make(map[int64]*User)
+ set := make(map[int64]struct{})
for i := range repos {
- set[repos[i].OwnerID] = nil
+ set[repos[i].OwnerID] = struct{}{}
}
- userIDs := make([]int64, 0, len(set))
- for userID := range set {
- userIDs = append(userIDs, userID)
- }
- users := make([]*User, 0, len(userIDs))
+ users := make(map[int64]*User, len(set))
if err := e.
Where("id > 0").
- In("id", userIDs).
+ In("id", keysInt64(set)).
Find(&users); err != nil {
return fmt.Errorf("find users: %v", err)
}
- for i := range users {
- set[users[i].ID] = users[i]
- }
for i := range repos {
- repos[i].Owner = set[repos[i].OwnerID]
+ repos[i].Owner = users[repos[i].OwnerID]
}
return nil
}
@@ -91,87 +88,100 @@ func (repos MirrorRepositoryList) LoadAttributes() error {
}
// SearchRepoOptions holds the search options
+// swagger:parameters repoSearch
type SearchRepoOptions struct {
- Keyword string
- OwnerID int64
- Searcher *User //ID of the person who's seeking
- OrderBy string
- Private bool // Include private repositories in results
- Starred bool
- Page int
- IsProfile bool
- PageSize int // Can be smaller than or equal to setting.ExplorePagingNum
+ // Keyword to search
+ //
+ // in: query
+ Keyword string `json:"q"`
+ // Owner in we search search
+ //
+ // in: query
+ OwnerID int64 `json:"uid"`
+ Searcher *User `json:"-"` //ID of the person who's seeking
+ OrderBy string `json:"-"`
+ Private bool `json:"-"` // Include private repositories in results
+ Collaborate bool `json:"-"` // Include collaborative repositories
+ Starred bool `json:"-"`
+ Page int `json:"-"`
+ IsProfile bool `json:"-"`
+ // Limit of result
+ //
+ // maximum: setting.ExplorePagingNum
+ // in: query
+ PageSize int `json:"limit"` // Can be smaller than or equal to setting.ExplorePagingNum
}
// SearchRepositoryByName takes keyword and part of repository name to search,
// it returns results in given range and number of total results.
func SearchRepositoryByName(opts *SearchRepoOptions) (repos RepositoryList, count int64, err error) {
- var (
- sess *xorm.Session
- cond = builder.NewCond()
- )
-
- if len(opts.Keyword) == 0 {
- return repos, 0, nil
- }
- opts.Keyword = strings.ToLower(opts.Keyword)
-
+ var cond = builder.NewCond()
if opts.Page <= 0 {
opts.Page = 1
}
- repos = make([]*Repository, 0, opts.PageSize)
-
+ var starJoin bool
if opts.Starred && opts.OwnerID > 0 {
cond = builder.Eq{
"star.uid": opts.OwnerID,
}
+ starJoin = true
+ }
+
+ opts.Keyword = strings.ToLower(opts.Keyword)
+ if opts.Keyword != "" {
+ cond = cond.And(builder.Like{"lower_name", opts.Keyword})
}
- cond = cond.And(builder.Like{"lower_name", opts.Keyword})
// Append conditions
if !opts.Starred && opts.OwnerID > 0 {
- cond = cond.And(builder.Eq{"owner_id": opts.OwnerID})
+ var searcherReposCond builder.Cond = builder.Eq{"owner_id": opts.OwnerID}
+ if opts.Searcher != nil {
+ var ownerIds []int64
+
+ ownerIds = append(ownerIds, opts.Searcher.ID)
+ err = opts.Searcher.GetOrganizations(true)
+
+ if err != nil {
+ return nil, 0, fmt.Errorf("Organization: %v", err)
+ }
+
+ for _, org := range opts.Searcher.Orgs {
+ ownerIds = append(ownerIds, org.ID)
+ }
+
+ searcherReposCond = searcherReposCond.Or(builder.In("owner_id", ownerIds))
+ if opts.Collaborate {
+ searcherReposCond = searcherReposCond.Or(builder.Expr("id IN (SELECT repo_id FROM `access` WHERE access.user_id = ? AND owner_id != ?)",
+ opts.Searcher.ID, opts.Searcher.ID))
+ }
+ }
+ cond = cond.And(searcherReposCond)
}
+
if !opts.Private {
cond = cond.And(builder.Eq{"is_private": false})
}
- if opts.Searcher != nil {
- var ownerIds []int64
-
- ownerIds = append(ownerIds, opts.Searcher.ID)
- err = opts.Searcher.GetOrganizations(true)
-
- if err != nil {
- return nil, 0, fmt.Errorf("Organization: %v", err)
- }
-
- for _, org := range opts.Searcher.Orgs {
- ownerIds = append(ownerIds, org.ID)
- }
-
- cond = cond.Or(builder.And(builder.Like{"lower_name", opts.Keyword}, builder.In("owner_id", ownerIds)))
- }
-
if len(opts.OrderBy) == 0 {
opts.OrderBy = "name ASC"
}
- if opts.Starred && opts.OwnerID > 0 {
- sess = x.
- Join("INNER", "star", "star.repo_id = repository.id").
- Where(cond)
- count, err = x.
+ sess := x.NewSession()
+ defer sess.Close()
+
+ if starJoin {
+ count, err = sess.
Join("INNER", "star", "star.repo_id = repository.id").
Where(cond).
Count(new(Repository))
if err != nil {
return nil, 0, fmt.Errorf("Count: %v", err)
}
+
+ sess.Join("INNER", "star", "star.repo_id = repository.id")
} else {
- sess = x.Where(cond)
- count, err = x.
+ count, err = sess.
Where(cond).
Count(new(Repository))
if err != nil {
@@ -179,7 +189,9 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (repos RepositoryList, coun
}
}
+ repos = make([]*Repository, 0, opts.PageSize)
if err = sess.
+ Where(cond).
Limit(opts.PageSize, (opts.Page-1)*opts.PageSize).
OrderBy(opts.OrderBy).
Find(&repos); err != nil {
@@ -187,7 +199,7 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (repos RepositoryList, coun
}
if !opts.IsProfile {
- if err = repos.loadAttributes(x); err != nil {
+ if err = repos.loadAttributes(sess); err != nil {
return nil, 0, fmt.Errorf("LoadAttributes: %v", err)
}
}
diff --git a/models/repo_list_test.go b/models/repo_list_test.go
index 1fbfa93..9c8a526 100644
--- a/models/repo_list_test.go
+++ b/models/repo_list_test.go
@@ -42,6 +42,7 @@ func TestSearchRepositoryByName(t *testing.T) {
Keyword: "repo_13",
Page: 1,
PageSize: 10,
+ Private: true,
Searcher: &User{ID: 14},
})
@@ -54,6 +55,7 @@ func TestSearchRepositoryByName(t *testing.T) {
Keyword: "test_repo",
Page: 1,
PageSize: 10,
+ Private: true,
Searcher: &User{ID: 14},
})
diff --git a/models/repo_mirror.go b/models/repo_mirror.go
index 0689112..55dd48d 100644
--- a/models/repo_mirror.go
+++ b/models/repo_mirror.go
@@ -13,6 +13,7 @@ import (
"github.com/go-xorm/xorm"
"gopkg.in/ini.v1"
+ "code.gitea.io/git"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/process"
"code.gitea.io/gitea/modules/setting"
@@ -27,8 +28,8 @@ type Mirror struct {
ID int64 `xorm:"pk autoincr"`
RepoID int64 `xorm:"INDEX"`
Repo *Repository `xorm:"-"`
- Interval int // Hour.
- EnablePrune bool `xorm:"NOT NULL DEFAULT true"`
+ Interval time.Duration
+ EnablePrune bool `xorm:"NOT NULL DEFAULT true"`
Updated time.Time `xorm:"-"`
UpdatedUnix int64 `xorm:"INDEX"`
@@ -61,14 +62,14 @@ func (m *Mirror) AfterSet(colName string, _ xorm.Cell) {
}
case "updated_unix":
m.Updated = time.Unix(m.UpdatedUnix, 0).Local()
- case "next_updated_unix":
+ case "next_update_unix":
m.NextUpdate = time.Unix(m.NextUpdateUnix, 0).Local()
}
}
// ScheduleNextUpdate calculates and sets next update time.
func (m *Mirror) ScheduleNextUpdate() {
- m.NextUpdate = time.Now().Add(time.Duration(m.Interval) * time.Hour)
+ m.NextUpdate = time.Now().Add(m.Interval)
}
func (m *Mirror) readAddress() {
@@ -147,6 +148,20 @@ func (m *Mirror) runSync() bool {
}
return false
}
+
+ gitRepo, err := git.OpenRepository(repoPath)
+ if err != nil {
+ log.Error(4, "OpenRepository: %v", err)
+ return false
+ }
+ if err = SyncReleasesWithTags(m.Repo, gitRepo); err != nil {
+ log.Error(4, "Failed to synchronize tags to releases for repository: %v", err)
+ }
+
+ if err := m.Repo.UpdateSize(); err != nil {
+ log.Error(4, "Failed to update size for mirror repository: %v", err)
+ }
+
if m.Repo.HasWiki() {
if _, stderr, err := process.GetManager().ExecDir(
timeout, wikiPath, fmt.Sprintf("Mirror.runSync: %s", wikiPath),
@@ -197,10 +212,9 @@ func DeleteMirrorByRepoID(repoID int64) error {
// MirrorUpdate checks and updates mirror repositories.
func MirrorUpdate() {
- if taskStatusTable.IsRunning(mirrorUpdate) {
+ if !taskStatusTable.StartIfNotRunning(mirrorUpdate) {
return
}
- taskStatusTable.Start(mirrorUpdate)
defer taskStatusTable.Stop(mirrorUpdate)
log.Trace("Doing: MirrorUpdate")
diff --git a/models/repo_test.go b/models/repo_test.go
index a538d44..4b6fd44 100644
--- a/models/repo_test.go
+++ b/models/repo_test.go
@@ -5,10 +5,13 @@
package models
import (
+ "path"
"testing"
"code.gitea.io/gitea/modules/markdown"
+ "code.gitea.io/gitea/modules/setting"
+ "github.com/Unknwon/com"
"github.com/stretchr/testify/assert"
)
@@ -132,3 +135,22 @@ func TestRepoAPIURL(t *testing.T) {
assert.Equal(t, "https://try.gitea.io/api/v1/repos/user12/repo10", repo.APIURL())
}
+
+func TestRepoLocalCopyPath(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ repo, err := GetRepositoryByID(10)
+ assert.NoError(t, err)
+ assert.NotNil(t, repo)
+
+ // test default
+ repoID := com.ToStr(repo.ID)
+ expected := path.Join(setting.AppDataPath, setting.Repository.Local.LocalCopyPath, repoID)
+ assert.Equal(t, expected, repo.LocalCopyPath())
+
+ // test absolute setting
+ tempPath := "/tmp/gitea/local-copy-path"
+ expected = path.Join(tempPath, repoID)
+ setting.Repository.Local.LocalCopyPath = tempPath
+ assert.Equal(t, expected, repo.LocalCopyPath())
+}
diff --git a/models/repo_unit.go b/models/repo_unit.go
index ee61ef4..2256ff7 100644
--- a/models/repo_unit.go
+++ b/models/repo_unit.go
@@ -75,8 +75,8 @@ func (r *RepoUnit) BeforeSet(colName string, val xorm.Cell) {
switch colName {
case "type":
switch UnitType(Cell2Int64(val)) {
- case UnitTypeCode, UnitTypeIssues, UnitTypePullRequests, UnitTypeCommits, UnitTypeReleases,
- UnitTypeWiki, UnitTypeSettings:
+ case UnitTypeCode, UnitTypeIssues, UnitTypePullRequests, UnitTypeReleases,
+ UnitTypeWiki:
r.Config = new(UnitConfig)
case UnitTypeExternalWiki:
r.Config = new(ExternalWikiConfig)
@@ -116,11 +116,6 @@ func (r *RepoUnit) PullRequestsConfig() *UnitConfig {
return r.Config.(*UnitConfig)
}
-// CommitsConfig returns config for UnitTypeCommits
-func (r *RepoUnit) CommitsConfig() *UnitConfig {
- return r.Config.(*UnitConfig)
-}
-
// ReleasesConfig returns config for UnitTypeReleases
func (r *RepoUnit) ReleasesConfig() *UnitConfig {
return r.Config.(*UnitConfig)
@@ -135,3 +130,11 @@ func (r *RepoUnit) ExternalWikiConfig() *ExternalWikiConfig {
func (r *RepoUnit) ExternalTrackerConfig() *ExternalTrackerConfig {
return r.Config.(*ExternalTrackerConfig)
}
+
+func getUnitsByRepoID(e Engine, repoID int64) (units []*RepoUnit, err error) {
+ return units, e.Where("repo_id = ?", repoID).Find(&units)
+}
+
+func getUnitsByRepoIDAndIDs(e Engine, repoID int64, types []UnitType) (units []*RepoUnit, err error) {
+ return units, e.Where("repo_id = ?", repoID).In("`type`", types).Find(&units)
+}
diff --git a/models/ssh_key.go b/models/ssh_key.go
index 802333f..2d06c23 100644
--- a/models/ssh_key.go
+++ b/models/ssh_key.go
@@ -13,7 +13,6 @@ import (
"io/ioutil"
"math/big"
"os"
- "path"
"path/filepath"
"strings"
"sync"
@@ -325,8 +324,8 @@ func appendAuthorizedKeysToFile(keys ...*PublicKey) error {
sshOpLocker.Lock()
defer sshOpLocker.Unlock()
- fpath := filepath.Join(setting.SSH.RootPath, "authorized_keys")
- f, err := os.OpenFile(fpath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0600)
+ fPath := filepath.Join(setting.SSH.RootPath, "authorized_keys")
+ f, err := os.OpenFile(fPath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0600)
if err != nil {
return err
}
@@ -373,17 +372,11 @@ func checkKeyFingerprint(e Engine, fingerprint string) error {
func calcFingerprint(publicKeyContent string) (string, error) {
// Calculate fingerprint.
- tmpPath := strings.Replace(path.Join(os.TempDir(), fmt.Sprintf("%d", time.Now().Nanosecond()),
- "id_rsa.pub"), "\\", "/", -1)
- dir := path.Dir(tmpPath)
-
- if err := os.MkdirAll(dir, os.ModePerm); err != nil {
- return "", fmt.Errorf("Failed to create dir %s: %v", dir, err)
- }
-
- if err := ioutil.WriteFile(tmpPath, []byte(publicKeyContent), 0644); err != nil {
+ tmpPath, err := writeTmpKeyFile(publicKeyContent)
+ if err != nil {
return "", err
}
+ defer os.Remove(tmpPath)
stdout, stderr, err := process.GetManager().Exec("AddPublicKey", "ssh-keygen", "-lf", tmpPath)
if err != nil {
return "", fmt.Errorf("'ssh-keygen -lf %s' failed with error '%s': %s", tmpPath, err, stderr)
@@ -437,7 +430,7 @@ func AddPublicKey(ownerID int64, name, content string) (*PublicKey, error) {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return nil, err
}
@@ -500,6 +493,27 @@ func UpdatePublicKey(key *PublicKey) error {
return err
}
+// UpdatePublicKeyUpdated updates public key use time.
+func UpdatePublicKeyUpdated(id int64) error {
+ now := time.Now()
+ // Check if key exists before update as affected rows count is unreliable
+ // and will return 0 affected rows if two updates are made at the same time
+ if cnt, err := x.ID(id).Count(&PublicKey{}); err != nil {
+ return err
+ } else if cnt != 1 {
+ return ErrKeyNotExist{id}
+ }
+
+ _, err := x.ID(id).Cols("updated_unix").Update(&PublicKey{
+ Updated: now,
+ UpdatedUnix: now.Unix(),
+ })
+ if err != nil {
+ return err
+ }
+ return nil
+}
+
// deletePublicKeys does the actual key deletion but does not update authorized_keys file.
func deletePublicKeys(e *xorm.Session, keyIDs ...int64) error {
if len(keyIDs) == 0 {
@@ -526,7 +540,7 @@ func DeletePublicKey(doer *User, id int64) (err error) {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -549,57 +563,53 @@ func RewriteAllPublicKeys() error {
sshOpLocker.Lock()
defer sshOpLocker.Unlock()
- fpath := filepath.Join(setting.SSH.RootPath, "authorized_keys")
- tmpPath := fpath + ".tmp"
- f, err := os.OpenFile(tmpPath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0600)
+ fPath := filepath.Join(setting.SSH.RootPath, "authorized_keys")
+ tmpPath := fPath + ".tmp"
+ t, err := os.OpenFile(tmpPath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0600)
if err != nil {
return err
}
defer func() {
- f.Close()
+ t.Close()
os.Remove(tmpPath)
}()
+ if setting.SSH.AuthorizedKeysBackup && com.IsExist(fPath) {
+ bakPath := fmt.Sprintf("%s_%d.gitea_bak", fPath, time.Now().Unix())
+ if err = com.Copy(fPath, bakPath); err != nil {
+ return err
+ }
+ }
+
err = x.Iterate(new(PublicKey), func(idx int, bean interface{}) (err error) {
- _, err = f.WriteString((bean.(*PublicKey)).AuthorizedString())
+ _, err = t.WriteString((bean.(*PublicKey)).AuthorizedString())
return err
})
if err != nil {
return err
}
- if com.IsExist(fpath) {
- bakPath := fpath + fmt.Sprintf("_%d.gitea_bak", time.Now().Unix())
- if err = com.Copy(fpath, bakPath); err != nil {
- return err
- }
-
- p, err := os.Open(bakPath)
+ if com.IsExist(fPath) {
+ f, err := os.Open(fPath)
if err != nil {
return err
}
- defer p.Close()
-
- scanner := bufio.NewScanner(p)
+ scanner := bufio.NewScanner(f)
for scanner.Scan() {
line := scanner.Text()
if strings.HasPrefix(line, tplCommentPrefix) {
scanner.Scan()
continue
}
- _, err = f.WriteString(line + "\n")
+ _, err = t.WriteString(line + "\n")
if err != nil {
return err
}
}
+ defer f.Close()
}
- f.Close()
- if err = os.Rename(tmpPath, fpath); err != nil {
- return err
- }
-
- return nil
+ return os.Rename(tmpPath, fPath)
}
// ________ .__ ____ __.
@@ -723,7 +733,7 @@ func AddDeployKey(repoID int64, name, content string) (*DeployKey, error) {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return nil, err
}
@@ -794,7 +804,7 @@ func DeleteDeployKey(doer *User, id int64) error {
if err != nil {
return fmt.Errorf("GetRepositoryByID: %v", err)
}
- yes, err := HasAccess(doer, repo, AccessModeAdmin)
+ yes, err := HasAccess(doer.ID, repo, AccessModeAdmin)
if err != nil {
return fmt.Errorf("HasAccess: %v", err)
} else if !yes {
@@ -803,7 +813,7 @@ func DeleteDeployKey(doer *User, id int64) error {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
diff --git a/models/status.go b/models/status.go
new file mode 100644
index 0000000..2ce588b
--- /dev/null
+++ b/models/status.go
@@ -0,0 +1,304 @@
+// Copyright 2017 Gitea. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package models
+
+import (
+ "container/list"
+ "fmt"
+ "strings"
+ "time"
+
+ "code.gitea.io/git"
+ "code.gitea.io/gitea/modules/log"
+ "code.gitea.io/gitea/modules/setting"
+ api "code.gitea.io/sdk/gitea"
+
+ "github.com/go-xorm/xorm"
+)
+
+// CommitStatusState holds the state of a Status
+// It can be "pending", "success", "error", "failure", and "warning"
+type CommitStatusState string
+
+// IsWorseThan returns true if this State is worse than the given State
+func (css CommitStatusState) IsWorseThan(css2 CommitStatusState) bool {
+ switch css {
+ case CommitStatusError:
+ return true
+ case CommitStatusFailure:
+ return css2 != CommitStatusError
+ case CommitStatusWarning:
+ return css2 != CommitStatusError && css2 != CommitStatusFailure
+ case CommitStatusSuccess:
+ return css2 != CommitStatusError && css2 != CommitStatusFailure && css2 != CommitStatusWarning
+ default:
+ return css2 != CommitStatusError && css2 != CommitStatusFailure && css2 != CommitStatusWarning && css2 != CommitStatusSuccess
+ }
+}
+
+const (
+ // CommitStatusPending is for when the Status is Pending
+ CommitStatusPending CommitStatusState = "pending"
+ // CommitStatusSuccess is for when the Status is Success
+ CommitStatusSuccess CommitStatusState = "success"
+ // CommitStatusError is for when the Status is Error
+ CommitStatusError CommitStatusState = "error"
+ // CommitStatusFailure is for when the Status is Failure
+ CommitStatusFailure CommitStatusState = "failure"
+ // CommitStatusWarning is for when the Status is Warning
+ CommitStatusWarning CommitStatusState = "warning"
+)
+
+// CommitStatus holds a single Status of a single Commit
+type CommitStatus struct {
+ ID int64 `xorm:"pk autoincr"`
+ Index int64 `xorm:"INDEX UNIQUE(repo_sha_index)"`
+ RepoID int64 `xorm:"INDEX UNIQUE(repo_sha_index)"`
+ Repo *Repository `xorm:"-"`
+ State CommitStatusState `xorm:"VARCHAR(7) NOT NULL"`
+ SHA string `xorm:"VARCHAR(64) NOT NULL INDEX UNIQUE(repo_sha_index)"`
+ TargetURL string `xorm:"TEXT"`
+ Description string `xorm:"TEXT"`
+ Context string `xorm:"TEXT"`
+ Creator *User `xorm:"-"`
+ CreatorID int64
+
+ Created time.Time `xorm:"-"`
+ CreatedUnix int64 `xorm:"INDEX"`
+ Updated time.Time `xorm:"-"`
+ UpdatedUnix int64 `xorm:"INDEX"`
+}
+
+// BeforeInsert is invoked from XORM before inserting an object of this type.
+func (status *CommitStatus) BeforeInsert() {
+ status.CreatedUnix = time.Now().Unix()
+ status.UpdatedUnix = status.CreatedUnix
+}
+
+// BeforeUpdate is invoked from XORM before updating this object.
+func (status *CommitStatus) BeforeUpdate() {
+ status.UpdatedUnix = time.Now().Unix()
+}
+
+// AfterSet is invoked from XORM after setting the value of a field of
+// this object.
+func (status *CommitStatus) AfterSet(colName string, _ xorm.Cell) {
+ switch colName {
+ case "created_unix":
+ status.Created = time.Unix(status.CreatedUnix, 0).Local()
+ case "updated_unix":
+ status.Updated = time.Unix(status.UpdatedUnix, 0).Local()
+ }
+}
+
+func (status *CommitStatus) loadRepo(e Engine) (err error) {
+ if status.Repo == nil {
+ status.Repo, err = getRepositoryByID(e, status.RepoID)
+ if err != nil {
+ return fmt.Errorf("getRepositoryByID [%d]: %v", status.RepoID, err)
+ }
+ }
+ if status.Creator == nil && status.CreatorID > 0 {
+ status.Creator, err = getUserByID(e, status.CreatorID)
+ if err != nil {
+ return fmt.Errorf("getUserByID [%d]: %v", status.CreatorID, err)
+ }
+ }
+ return nil
+}
+
+// APIURL returns the absolute APIURL to this commit-status.
+func (status *CommitStatus) APIURL() string {
+ status.loadRepo(x)
+ return fmt.Sprintf("%sapi/v1/%s/statuses/%s",
+ setting.AppURL, status.Repo.FullName(), status.SHA)
+}
+
+// APIFormat assumes some fields assigned with values:
+// Required - Repo, Creator
+func (status *CommitStatus) APIFormat() *api.Status {
+ status.loadRepo(x)
+ apiStatus := &api.Status{
+ Created: status.Created,
+ Updated: status.Created,
+ State: api.StatusState(status.State),
+ TargetURL: status.TargetURL,
+ Description: status.Description,
+ ID: status.Index,
+ URL: status.APIURL(),
+ Context: status.Context,
+ }
+ if status.Creator != nil {
+ apiStatus.Creator = status.Creator.APIFormat()
+ }
+
+ return apiStatus
+}
+
+// GetCommitStatuses returns all statuses for a given commit.
+func GetCommitStatuses(repo *Repository, sha string, page int) ([]*CommitStatus, error) {
+ statuses := make([]*CommitStatus, 0, 10)
+ return statuses, x.Limit(10, page*10).Where("repo_id = ?", repo.ID).And("sha = ?", sha).Find(&statuses)
+}
+
+// GetLatestCommitStatus returns all statuses with a unique context for a given commit.
+func GetLatestCommitStatus(repo *Repository, sha string, page int) ([]*CommitStatus, error) {
+ ids := make([]int64, 0, 10)
+ err := x.Limit(10, page*10).
+ Table(&CommitStatus{}).
+ Where("repo_id = ?", repo.ID).And("sha = ?", sha).
+ Select("max( id ) as id").
+ GroupBy("context").OrderBy("max( id ) desc").Find(&ids)
+ if err != nil {
+ return nil, err
+ }
+ statuses := make([]*CommitStatus, 0, len(ids))
+ if len(ids) == 0 {
+ return statuses, nil
+ }
+ return statuses, x.In("id", ids).Find(&statuses)
+}
+
+// GetCommitStatus populates a given status for a given commit.
+// NOTE: If ID or Index isn't given, and only Context, TargetURL and/or Description
+// is given, the CommitStatus created _last_ will be returned.
+func GetCommitStatus(repo *Repository, sha string, status *CommitStatus) (*CommitStatus, error) {
+ conds := &CommitStatus{
+ Context: status.Context,
+ State: status.State,
+ TargetURL: status.TargetURL,
+ Description: status.Description,
+ }
+ has, err := x.Where("repo_id = ?", repo.ID).And("sha = ?", sha).Desc("created_unix").Get(conds)
+ if err != nil {
+ return nil, fmt.Errorf("GetCommitStatus[%s, %s]: %v", repo.RepoPath(), sha, err)
+ }
+ if !has {
+ return nil, fmt.Errorf("GetCommitStatus[%s, %s]: not found", repo.RepoPath(), sha)
+ }
+
+ return conds, nil
+}
+
+// NewCommitStatusOptions holds options for creating a CommitStatus
+type NewCommitStatusOptions struct {
+ Repo *Repository
+ Creator *User
+ SHA string
+ CommitStatus *CommitStatus
+}
+
+func newCommitStatus(sess *xorm.Session, opts NewCommitStatusOptions) error {
+ opts.CommitStatus.Description = strings.TrimSpace(opts.CommitStatus.Description)
+ opts.CommitStatus.Context = strings.TrimSpace(opts.CommitStatus.Context)
+ opts.CommitStatus.TargetURL = strings.TrimSpace(opts.CommitStatus.TargetURL)
+ opts.CommitStatus.SHA = opts.SHA
+ opts.CommitStatus.CreatorID = opts.Creator.ID
+
+ if opts.Repo == nil {
+ return fmt.Errorf("newCommitStatus[nil, %s]: no repository specified", opts.SHA)
+ }
+ opts.CommitStatus.RepoID = opts.Repo.ID
+
+ if opts.Creator == nil {
+ return fmt.Errorf("newCommitStatus[%s, %s]: no user specified", opts.Repo.RepoPath(), opts.SHA)
+ }
+
+ gitRepo, err := git.OpenRepository(opts.Repo.RepoPath())
+ if err != nil {
+ return fmt.Errorf("OpenRepository[%s]: %v", opts.Repo.RepoPath(), err)
+ }
+ if _, err := gitRepo.GetCommit(opts.SHA); err != nil {
+ return fmt.Errorf("GetCommit[%s]: %v", opts.SHA, err)
+ }
+
+ // Get the next Status Index
+ var nextIndex int64
+ lastCommitStatus := &CommitStatus{
+ SHA: opts.SHA,
+ RepoID: opts.Repo.ID,
+ }
+ has, err := sess.Desc("index").Limit(1).Get(lastCommitStatus)
+ if err != nil {
+ sess.Rollback()
+ return fmt.Errorf("newCommitStatus[%s, %s]: %v", opts.Repo.RepoPath(), opts.SHA, err)
+ }
+ if has {
+ log.Debug("newCommitStatus[%s, %s]: found", opts.Repo.RepoPath(), opts.SHA)
+ nextIndex = lastCommitStatus.Index
+ }
+ opts.CommitStatus.Index = nextIndex + 1
+ log.Debug("newCommitStatus[%s, %s]: %d", opts.Repo.RepoPath(), opts.SHA, opts.CommitStatus.Index)
+
+ // Insert new CommitStatus
+ if _, err = sess.Insert(opts.CommitStatus); err != nil {
+ sess.Rollback()
+ return fmt.Errorf("newCommitStatus[%s, %s]: %v", opts.Repo.RepoPath(), opts.SHA, err)
+ }
+
+ return nil
+}
+
+// NewCommitStatus creates a new CommitStatus given a bunch of parameters
+// NOTE: All text-values will be trimmed from whitespaces.
+// Requires: Repo, Creator, SHA
+func NewCommitStatus(repo *Repository, creator *User, sha string, status *CommitStatus) error {
+ sess := x.NewSession()
+ defer sess.Close()
+
+ if err := sess.Begin(); err != nil {
+ return fmt.Errorf("NewCommitStatus[repo_id: %d, user_id: %d, sha: %s]: %v", repo.ID, creator.ID, sha, err)
+ }
+
+ if err := newCommitStatus(sess, NewCommitStatusOptions{
+ Repo: repo,
+ Creator: creator,
+ SHA: sha,
+ CommitStatus: status,
+ }); err != nil {
+ return fmt.Errorf("NewCommitStatus[repo_id: %d, user_id: %d, sha: %s]: %v", repo.ID, creator.ID, sha, err)
+ }
+
+ return sess.Commit()
+}
+
+// SignCommitWithStatuses represents a commit with validation of signature and status state.
+type SignCommitWithStatuses struct {
+ Statuses []*CommitStatus
+ State CommitStatusState
+ *SignCommit
+}
+
+// ParseCommitsWithStatus checks commits latest statuses and calculates its worst status state
+func ParseCommitsWithStatus(oldCommits *list.List, repo *Repository) *list.List {
+ var (
+ newCommits = list.New()
+ e = oldCommits.Front()
+ err error
+ )
+
+ for e != nil {
+ c := e.Value.(SignCommit)
+ commit := SignCommitWithStatuses{
+ SignCommit: &c,
+ State: "",
+ Statuses: make([]*CommitStatus, 0),
+ }
+ commit.Statuses, err = GetLatestCommitStatus(repo, commit.ID.String(), 0)
+ if err != nil {
+ log.Error(3, "GetLatestCommitStatus: %v", err)
+ } else {
+ for _, status := range commit.Statuses {
+ if status.State.IsWorseThan(commit.State) {
+ commit.State = status.State
+ }
+ }
+ }
+
+ newCommits.PushBack(commit)
+ e = e.Next()
+ }
+ return newCommits
+}
diff --git a/models/status_test.go b/models/status_test.go
new file mode 100644
index 0000000..5585fb1
--- /dev/null
+++ b/models/status_test.go
@@ -0,0 +1,39 @@
+// Copyright 2017 Gitea. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package models
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestGetCommitStatuses(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ repo1 := AssertExistsAndLoadBean(t, &Repository{ID: 1}).(*Repository)
+
+ sha1 := "1234123412341234123412341234123412341234"
+
+ statuses, err := GetCommitStatuses(repo1, sha1, 0)
+ assert.NoError(t, err)
+ if assert.Equal(t, 5, len(statuses), "Expected to get 5 statuses") {
+
+ assert.Equal(t, statuses[0].Context, "ci/awesomeness")
+ assert.Equal(t, statuses[0].State, CommitStatusPending)
+
+ assert.Equal(t, statuses[1].Context, "cov/awesomeness")
+ assert.Equal(t, statuses[1].State, CommitStatusWarning)
+
+ assert.Equal(t, statuses[2].Context, "cov/awesomeness")
+ assert.Equal(t, statuses[2].State, CommitStatusSuccess)
+
+ assert.Equal(t, statuses[3].Context, "ci/awesomeness")
+ assert.Equal(t, statuses[3].State, CommitStatusFailure)
+
+ assert.Equal(t, statuses[4].Context, "deploy/awesomeness")
+ assert.Equal(t, statuses[4].State, CommitStatusError)
+ }
+}
diff --git a/models/test_fixtures.go b/models/test_fixtures.go
new file mode 100644
index 0000000..d7f59ec
--- /dev/null
+++ b/models/test_fixtures.go
@@ -0,0 +1,23 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package models
+
+import (
+ "gopkg.in/testfixtures.v2"
+)
+
+var fixtures *testfixtures.Context
+
+// InitFixtures initialize test fixtures for a test database
+func InitFixtures(helper testfixtures.Helper, dir string) (err error) {
+ testfixtures.SkipDatabaseNameCheck(true)
+ fixtures, err = testfixtures.NewFolder(x.DB().DB, helper, dir)
+ return err
+}
+
+// LoadFixtures load fixtures for a test database
+func LoadFixtures() error {
+ return fixtures.Load()
+}
diff --git a/models/unit.go b/models/unit.go
index 54bb928..a14edce 100644
--- a/models/unit.go
+++ b/models/unit.go
@@ -12,15 +12,41 @@ const (
UnitTypeCode UnitType = iota + 1 // 1 code
UnitTypeIssues // 2 issues
UnitTypePullRequests // 3 PRs
- UnitTypeCommits // 4 Commits
- UnitTypeReleases // 5 Releases
- UnitTypeWiki // 6 Wiki
- UnitTypeSettings // 7 Settings
- UnitTypeExternalWiki // 8 ExternalWiki
- UnitTypeExternalTracker // 9 ExternalTracker
+ UnitTypeReleases // 4 Releases
+ UnitTypeWiki // 5 Wiki
+ UnitTypeExternalWiki // 6 ExternalWiki
+ UnitTypeExternalTracker // 7 ExternalTracker
)
-// Unit is a tab page of one repository
+var (
+ // allRepUnitTypes contains all the unit types
+ allRepUnitTypes = []UnitType{
+ UnitTypeCode,
+ UnitTypeIssues,
+ UnitTypePullRequests,
+ UnitTypeReleases,
+ UnitTypeWiki,
+ UnitTypeExternalWiki,
+ UnitTypeExternalTracker,
+ }
+
+ // defaultRepoUnits contains the default unit types
+ defaultRepoUnits = []UnitType{
+ UnitTypeCode,
+ UnitTypeIssues,
+ UnitTypePullRequests,
+ UnitTypeReleases,
+ UnitTypeWiki,
+ }
+
+ // MustRepoUnits contains the units could not be disabled currently
+ MustRepoUnits = []UnitType{
+ UnitTypeCode,
+ UnitTypeReleases,
+ }
+)
+
+// Unit is a section of one repository
type Unit struct {
Type UnitType
NameKey string
@@ -29,13 +55,18 @@ type Unit struct {
Idx int
}
+// CanDisable returns if this unit could be disabled.
+func (u *Unit) CanDisable() bool {
+ return true
+}
+
// Enumerate all the units
var (
UnitCode = Unit{
UnitTypeCode,
"repo.code",
"/",
- "repo.code_desc",
+ "repo.code.desc",
0,
}
@@ -43,15 +74,15 @@ var (
UnitTypeIssues,
"repo.issues",
"/issues",
- "repo.issues_desc",
+ "repo.issues.desc",
1,
}
UnitExternalTracker = Unit{
UnitTypeExternalTracker,
- "repo.issues",
+ "repo.ext_issues",
"/issues",
- "repo.issues_desc",
+ "repo.ext_issues.desc",
1,
}
@@ -59,67 +90,32 @@ var (
UnitTypePullRequests,
"repo.pulls",
"/pulls",
- "repo.pulls_desc",
+ "repo.pulls.desc",
2,
}
- UnitCommits = Unit{
- UnitTypeCommits,
- "repo.commits",
- "/commits/master",
- "repo.commits_desc",
- 3,
- }
-
UnitReleases = Unit{
UnitTypeReleases,
"repo.releases",
"/releases",
- "repo.releases_desc",
- 4,
+ "repo.releases.desc",
+ 3,
}
UnitWiki = Unit{
UnitTypeWiki,
"repo.wiki",
"/wiki",
- "repo.wiki_desc",
- 5,
+ "repo.wiki.desc",
+ 4,
}
UnitExternalWiki = Unit{
UnitTypeExternalWiki,
- "repo.wiki",
+ "repo.ext_wiki",
"/wiki",
- "repo.wiki_desc",
- 5,
- }
-
- UnitSettings = Unit{
- UnitTypeSettings,
- "repo.settings",
- "/settings",
- "repo.settings_desc",
- 6,
- }
-
- // defaultRepoUnits contains all the default unit types
- defaultRepoUnits = []UnitType{
- UnitTypeCode,
- UnitTypeIssues,
- UnitTypePullRequests,
- UnitTypeCommits,
- UnitTypeReleases,
- UnitTypeWiki,
- UnitTypeSettings,
- }
-
- // MustRepoUnits contains the units could be disabled currently
- MustRepoUnits = []UnitType{
- UnitTypeCode,
- UnitTypeCommits,
- UnitTypeReleases,
- UnitTypeSettings,
+ "repo.ext_wiki.desc",
+ 4,
}
// Units contains all the units
@@ -128,10 +124,8 @@ var (
UnitTypeIssues: UnitIssues,
UnitTypeExternalTracker: UnitExternalTracker,
UnitTypePullRequests: UnitPullRequests,
- UnitTypeCommits: UnitCommits,
UnitTypeReleases: UnitReleases,
UnitTypeWiki: UnitWiki,
UnitTypeExternalWiki: UnitExternalWiki,
- UnitTypeSettings: UnitSettings,
}
)
diff --git a/models/setup_for_test.go b/models/unit_tests.go
similarity index 60%
rename from models/setup_for_test.go
rename to models/unit_tests.go
index 5a17eac..315627d 100644
--- a/models/setup_for_test.go
+++ b/models/unit_tests.go
@@ -5,43 +5,20 @@
package models
import (
- "fmt"
- "os"
- "path/filepath"
"testing"
- "code.gitea.io/gitea/modules/setting"
-
"github.com/go-xorm/core"
"github.com/go-xorm/xorm"
- _ "github.com/mattn/go-sqlite3" // for the test engine
"github.com/stretchr/testify/assert"
"gopkg.in/testfixtures.v2"
)
+// NonexistentID an ID that will never exist
const NonexistentID = 9223372036854775807
-func TestMain(m *testing.M) {
- if err := CreateTestEngine(); err != nil {
- fmt.Printf("Error creating test engine: %v\n", err)
- os.Exit(1)
- }
-
- setting.AppURL = "https://try.gitea.io/"
- setting.RunUser = "runuser"
- setting.SSH.Port = 3000
- setting.SSH.Domain = "try.gitea.io"
- setting.RepoRootPath = filepath.Join(os.TempDir(), "repos")
- setting.AppDataPath = filepath.Join(os.TempDir(), "appdata")
-
- os.Exit(m.Run())
-}
-
-var fixtures *testfixtures.Context
-
-// CreateTestEngine create an xorm engine for testing
-func CreateTestEngine() error {
- testfixtures.SkipDatabaseNameCheck(true)
+// CreateTestEngine create in-memory sqlite database for unit tests
+// Any package that calls this must import github.com/mattn/go-sqlite3
+func CreateTestEngine(fixturesDir string) error {
var err error
x, err = xorm.NewEngine("sqlite3", "file::memory:?cache=shared")
if err != nil {
@@ -52,27 +29,39 @@ func CreateTestEngine() error {
return err
}
- fixtures, err = testfixtures.NewFolder(x.DB().DB, &testfixtures.SQLite{}, "fixtures/")
- return err
-}
-
-func TestFixturesAreConsistent(t *testing.T) {
- assert.NoError(t, PrepareTestDatabase())
- CheckConsistencyForAll(t)
+ return InitFixtures(&testfixtures.SQLite{}, fixturesDir)
}
// PrepareTestDatabase load test fixtures into test database
func PrepareTestDatabase() error {
- return fixtures.Load()
+ return LoadFixtures()
+}
+
+type testCond struct {
+ query interface{}
+ args []interface{}
+}
+
+// Cond create a condition with arguments for a test
+func Cond(query interface{}, args ...interface{}) interface{} {
+ return &testCond{query: query, args: args}
+}
+
+func whereConditions(sess *xorm.Session, conditions []interface{}) {
+ for _, condition := range conditions {
+ switch cond := condition.(type) {
+ case *testCond:
+ sess.Where(cond.query, cond.args...)
+ default:
+ sess.Where(cond)
+ }
+ }
}
func loadBeanIfExists(bean interface{}, conditions ...interface{}) (bool, error) {
sess := x.NewSession()
defer sess.Close()
-
- for _, cond := range conditions {
- sess = sess.Where(cond)
- }
+ whereConditions(sess, conditions)
return sess.Get(bean)
}
@@ -94,6 +83,16 @@ func AssertExistsAndLoadBean(t *testing.T, bean interface{}, conditions ...inter
return bean
}
+// GetCount get the count of a bean
+func GetCount(t *testing.T, bean interface{}, conditions ...interface{}) int {
+ sess := x.NewSession()
+ defer sess.Close()
+ whereConditions(sess, conditions)
+ count, err := sess.Count(bean)
+ assert.NoError(t, err)
+ return int(count)
+}
+
// AssertNotExistsBean assert that a bean does not exist in the test database
func AssertNotExistsBean(t *testing.T, bean interface{}, conditions ...interface{}) {
exists, err := loadBeanIfExists(bean, conditions...)
@@ -109,7 +108,11 @@ func AssertSuccessfulInsert(t *testing.T, beans ...interface{}) {
// AssertCount assert the count of a bean
func AssertCount(t *testing.T, bean interface{}, expected interface{}) {
- actual, err := x.Count(bean)
- assert.NoError(t, err)
- assert.EqualValues(t, expected, actual)
+ assert.EqualValues(t, expected, GetCount(t, bean))
+}
+
+// AssertInt64InRange assert value is in range [low, high]
+func AssertInt64InRange(t *testing.T, low, high, value int64) {
+ assert.True(t, value >= low && value <= high,
+ "Expected value in range [%d, %d], found %d", low, high, value)
}
diff --git a/models/update.go b/models/update.go
index 3cb0608..56a227b 100644
--- a/models/update.go
+++ b/models/update.go
@@ -19,7 +19,6 @@ import (
const (
EnvRepoName = "GITEA_REPO_NAME"
EnvRepoUsername = "GITEA_REPO_USER_NAME"
- EnvRepoUserSalt = "GITEA_REPO_USER_SALT"
EnvRepoIsWiki = "GITEA_REPO_IS_WIKI"
EnvPusherName = "GITEA_PUSHER_NAME"
EnvPusherID = "GITEA_PUSHER_ID"
@@ -65,11 +64,115 @@ type PushUpdateOptions struct {
// PushUpdate must be called for any push actions in order to
// generates necessary push action history feeds.
-func PushUpdate(opts PushUpdateOptions) (err error) {
+func PushUpdate(branch string, opt PushUpdateOptions) error {
+ repo, err := pushUpdate(opt)
+ if err != nil {
+ return err
+ }
+
+ pusher, err := GetUserByID(opt.PusherID)
+ if err != nil {
+ return err
+ }
+
+ log.Trace("TriggerTask '%s/%s' by %s", repo.Name, branch, pusher.Name)
+
+ go AddTestPullRequestTask(pusher, repo.ID, branch, true)
+ return nil
+}
+
+func pushUpdateDeleteTag(repo *Repository, gitRepo *git.Repository, tagName string) error {
+ rel, err := GetRelease(repo.ID, tagName)
+ if err != nil {
+ if IsErrReleaseNotExist(err) {
+ return nil
+ }
+ return fmt.Errorf("GetRelease: %v", err)
+ }
+ if rel.IsTag {
+ if _, err = x.Id(rel.ID).Delete(new(Release)); err != nil {
+ return fmt.Errorf("Delete: %v", err)
+ }
+ } else {
+ rel.IsDraft = true
+ rel.NumCommits = 0
+ rel.Sha1 = ""
+ if _, err = x.Id(rel.ID).AllCols().Update(rel); err != nil {
+ return fmt.Errorf("Update: %v", err)
+ }
+ }
+
+ return nil
+}
+
+func pushUpdateAddTag(repo *Repository, gitRepo *git.Repository, tagName string) error {
+ rel, err := GetRelease(repo.ID, tagName)
+ if err != nil && !IsErrReleaseNotExist(err) {
+ return fmt.Errorf("GetRelease: %v", err)
+ }
+
+ tag, err := gitRepo.GetTag(tagName)
+ if err != nil {
+ return fmt.Errorf("GetTag: %v", err)
+ }
+ commit, err := tag.Commit()
+ if err != nil {
+ return fmt.Errorf("Commit: %v", err)
+ }
+ tagCreatedUnix := commit.Author.When.Unix()
+
+ author, err := GetUserByEmail(commit.Author.Email)
+ if err != nil && !IsErrUserNotExist(err) {
+ return fmt.Errorf("GetUserByEmail: %v", err)
+ }
+
+ commitsCount, err := commit.CommitsCount()
+ if err != nil {
+ return fmt.Errorf("CommitsCount: %v", err)
+ }
+
+ if rel == nil {
+ rel = &Release{
+ RepoID: repo.ID,
+ Title: "",
+ TagName: tagName,
+ LowerTagName: strings.ToLower(tagName),
+ Target: "",
+ Sha1: commit.ID.String(),
+ NumCommits: commitsCount,
+ Note: "",
+ IsDraft: false,
+ IsPrerelease: false,
+ IsTag: true,
+ CreatedUnix: tagCreatedUnix,
+ }
+ if author != nil {
+ rel.PublisherID = author.ID
+ }
+
+ if _, err = x.InsertOne(rel); err != nil {
+ return fmt.Errorf("InsertOne: %v", err)
+ }
+ } else {
+ rel.Sha1 = commit.ID.String()
+ rel.CreatedUnix = tagCreatedUnix
+ rel.NumCommits = commitsCount
+ rel.IsDraft = false
+ if rel.IsTag && author != nil {
+ rel.PublisherID = author.ID
+ }
+ if _, err = x.Id(rel.ID).AllCols().Update(rel); err != nil {
+ return fmt.Errorf("Update: %v", err)
+ }
+ }
+ return nil
+}
+
+func pushUpdate(opts PushUpdateOptions) (repo *Repository, err error) {
isNewRef := opts.OldCommitID == git.EmptySHA
isDelRef := opts.NewCommitID == git.EmptySHA
if isNewRef && isDelRef {
- return fmt.Errorf("Old and new revisions are both %s", git.EmptySHA)
+ return nil, fmt.Errorf("Old and new revisions are both %s", git.EmptySHA)
}
repoPath := RepoPath(opts.RepoUserName, opts.RepoName)
@@ -77,32 +180,44 @@ func PushUpdate(opts PushUpdateOptions) (err error) {
gitUpdate := exec.Command("git", "update-server-info")
gitUpdate.Dir = repoPath
if err = gitUpdate.Run(); err != nil {
- return fmt.Errorf("Failed to call 'git update-server-info': %v", err)
- }
-
- if isDelRef {
- log.GitLogger.Info("Reference '%s' has been deleted from '%s/%s' by %s",
- opts.RefFullName, opts.RepoUserName, opts.RepoName, opts.PusherName)
- return nil
- }
-
- gitRepo, err := git.OpenRepository(repoPath)
- if err != nil {
- return fmt.Errorf("OpenRepository: %v", err)
+ return nil, fmt.Errorf("Failed to call 'git update-server-info': %v", err)
}
owner, err := GetUserByName(opts.RepoUserName)
if err != nil {
- return fmt.Errorf("GetUserByName: %v", err)
+ return nil, fmt.Errorf("GetUserByName: %v", err)
}
- repo, err := GetRepositoryByName(owner.ID, opts.RepoName)
+ repo, err = GetRepositoryByName(owner.ID, opts.RepoName)
if err != nil {
- return fmt.Errorf("GetRepositoryByName: %v", err)
+ return nil, fmt.Errorf("GetRepositoryByName: %v", err)
+ }
+
+ gitRepo, err := git.OpenRepository(repoPath)
+ if err != nil {
+ return nil, fmt.Errorf("OpenRepository: %v", err)
+ }
+
+ if isDelRef {
+ // Tag has been deleted
+ if strings.HasPrefix(opts.RefFullName, git.TagPrefix) {
+ err = pushUpdateDeleteTag(repo, gitRepo, opts.RefFullName[len(git.TagPrefix):])
+ if err != nil {
+ return nil, fmt.Errorf("pushUpdateDeleteTag: %v", err)
+ }
+ }
+ log.GitLogger.Info("Reference '%s' has been deleted from '%s/%s' by %s",
+ opts.RefFullName, opts.RepoUserName, opts.RepoName, opts.PusherName)
+ return repo, nil
+ }
+
+ if err = repo.UpdateSize(); err != nil {
+ log.Error(4, "Failed to update size for repository: %v", err)
}
// Push tags.
if strings.HasPrefix(opts.RefFullName, git.TagPrefix) {
+ pushUpdateAddTag(repo, gitRepo, opts.RefFullName[len(git.TagPrefix):])
if err := CommitRepoAction(CommitRepoActionOptions{
PusherName: opts.PusherName,
RepoOwnerID: owner.ID,
@@ -112,14 +227,14 @@ func PushUpdate(opts PushUpdateOptions) (err error) {
NewCommitID: opts.NewCommitID,
Commits: &PushCommits{},
}); err != nil {
- return fmt.Errorf("CommitRepoAction (tag): %v", err)
+ return nil, fmt.Errorf("CommitRepoAction (tag): %v", err)
}
- return nil
+ return repo, nil
}
newCommit, err := gitRepo.GetCommit(opts.NewCommitID)
if err != nil {
- return fmt.Errorf("gitRepo.GetCommit: %v", err)
+ return nil, fmt.Errorf("gitRepo.GetCommit: %v", err)
}
// Push new branch.
@@ -127,12 +242,12 @@ func PushUpdate(opts PushUpdateOptions) (err error) {
if isNewRef {
l, err = newCommit.CommitsBeforeLimit(10)
if err != nil {
- return fmt.Errorf("newCommit.CommitsBeforeLimit: %v", err)
+ return nil, fmt.Errorf("newCommit.CommitsBeforeLimit: %v", err)
}
} else {
l, err = newCommit.CommitsBeforeUntil(opts.OldCommitID)
if err != nil {
- return fmt.Errorf("newCommit.CommitsBeforeUntil: %v", err)
+ return nil, fmt.Errorf("newCommit.CommitsBeforeUntil: %v", err)
}
}
@@ -145,7 +260,7 @@ func PushUpdate(opts PushUpdateOptions) (err error) {
NewCommitID: opts.NewCommitID,
Commits: ListToPushCommits(l),
}); err != nil {
- return fmt.Errorf("CommitRepoAction (branch): %v", err)
+ return nil, fmt.Errorf("CommitRepoAction (branch): %v", err)
}
- return nil
+ return repo, nil
}
diff --git a/models/user.go b/models/user.go
index 8cec178..bbdec74 100644
--- a/models/user.go
+++ b/models/user.go
@@ -35,7 +35,6 @@ import (
"code.gitea.io/gitea/modules/avatar"
"code.gitea.io/gitea/modules/base"
"code.gitea.io/gitea/modules/log"
- "code.gitea.io/gitea/modules/markdown"
"code.gitea.io/gitea/modules/setting"
)
@@ -50,6 +49,8 @@ const (
UserTypeOrganization
)
+const syncExternalUsers = "sync_external_users"
+
var (
// ErrUserNotKeyOwner user does not own this key error
ErrUserNotKeyOwner = errors.New("User does not own this public key")
@@ -156,14 +157,12 @@ func (u *User) SetLastLogin() {
// UpdateDiffViewStyle updates the users diff view style
func (u *User) UpdateDiffViewStyle(style string) error {
u.DiffViewStyle = style
- return UpdateUser(u)
+ return UpdateUserCols(u, "diff_view_style")
}
// AfterSet is invoked from XORM after setting the value of a field of this object.
func (u *User) AfterSet(colName string, _ xorm.Cell) {
switch colName {
- case "full_name":
- u.FullName = markdown.Sanitize(u.FullName)
case "created_unix":
u.Created = time.Unix(u.CreatedUnix, 0).Local()
case "updated_unix":
@@ -209,8 +208,8 @@ func (u *User) HasForkedRepo(repoID int64) bool {
return has
}
-// RepoCreationNum returns the number of repositories created by the user
-func (u *User) RepoCreationNum() int {
+// MaxCreationLimit returns the number of repositories a user is allowed to create
+func (u *User) MaxCreationLimit() int {
if u.MaxRepoCreation <= -1 {
return setting.Repository.MaxCreationLimit
}
@@ -219,6 +218,9 @@ func (u *User) RepoCreationNum() int {
// CanCreateRepo returns if user login can create a repository
func (u *User) CanCreateRepo() bool {
+ if u.IsAdmin {
+ return true
+ }
if u.MaxRepoCreation <= -1 {
if setting.Repository.MaxCreationLimit <= -1 {
return true
@@ -328,15 +330,14 @@ func (u *User) generateRandomAvatar(e Engine) error {
// which includes app sub-url as prefix. However, it is possible
// to return full URL if user enables Gravatar-like service.
func (u *User) RelAvatarLink() string {
- defaultImgURL := setting.AppSubURL + "/img/avatar_default.png"
if u.ID == -1 {
- return defaultImgURL
+ return base.DefaultAvatarLink()
}
switch {
case u.UseCustomAvatar:
if !com.IsFile(u.CustomAvatarPath()) {
- return defaultImgURL
+ return base.DefaultAvatarLink()
}
return setting.AppSubURL + "/avatars/" + u.Avatar
case setting.DisableGravatar, setting.OfflineMode:
@@ -431,7 +432,7 @@ func (u *User) UploadAvatar(data []byte) error {
m := resize.Resize(avatar.AvatarSize, avatar.AvatarSize, img, resize.NearestNeighbor)
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -478,7 +479,7 @@ func (u *User) DeleteAvatar() error {
// IsAdminOfRepo returns true if user has admin or higher access of repository.
func (u *User) IsAdminOfRepo(repo *Repository) bool {
- has, err := HasAccess(u, repo, AccessModeAdmin)
+ has, err := HasAccess(u.ID, repo, AccessModeAdmin)
if err != nil {
log.Error(3, "HasAccess: %v", err)
}
@@ -487,7 +488,7 @@ func (u *User) IsAdminOfRepo(repo *Repository) bool {
// IsWriterOfRepo returns true if user has write access to given repository.
func (u *User) IsWriterOfRepo(repo *Repository) bool {
- has, err := HasAccess(u, repo, AccessModeWrite)
+ has, err := HasAccess(u.ID, repo, AccessModeWrite)
if err != nil {
log.Error(3, "HasAccess: %v", err)
}
@@ -541,7 +542,7 @@ func (u *User) GetOrgRepositoryIDs() ([]int64, error) {
GroupBy("repository.id").Find(&ids)
}
-// GetAccessRepoIDs returns all repsitories IDs where user's or user is a team member orgnizations
+// GetAccessRepoIDs returns all repositories IDs where user's or user is a team member organizations
func (u *User) GetAccessRepoIDs() ([]int64, error) {
ids, err := u.GetRepositoryIDs()
if err != nil {
@@ -596,7 +597,7 @@ func (u *User) ShortName(length int) string {
return base.EllipsisString(u.Name, length)
}
-// IsMailable checks if a user is elegible
+// IsMailable checks if a user is eligible
// to receive emails.
func (u *User) IsMailable() bool {
return u.IsActive
@@ -615,7 +616,7 @@ func IsUserExist(uid int64, name string) (bool, error) {
Get(&User{LowerName: strings.ToLower(name)})
}
-// GetUserSalt returns a ramdom user salt token.
+// GetUserSalt returns a random user salt token.
func GetUserSalt() (string, error) {
return base.GetRandomString(10)
}
@@ -630,7 +631,7 @@ func NewGhostUser() *User {
}
var (
- reservedUsernames = []string{"assets", "css", "img", "js", "less", "plugins", "debug", "raw", "install", "api", "avatar", "user", "org", "help", "stars", "issues", "pulls", "commits", "repo", "template", "admin", "new", ".", ".."}
+ reservedUsernames = []string{"assets", "css", "explore", "img", "js", "less", "plugins", "debug", "raw", "install", "api", "avatar", "user", "org", "help", "stars", "issues", "pulls", "commits", "repo", "template", "admin", "new", ".", ".."}
reservedUserPatterns = []string{"*.keys"}
)
@@ -706,11 +707,11 @@ func CreateUser(u *User) (err error) {
return err
}
u.EncodePasswd()
- u.AllowCreateOrganization = true
+ u.AllowCreateOrganization = setting.Service.DefaultAllowCreateOrganization
u.MaxRepoCreation = -1
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -859,7 +860,9 @@ func updateUser(e Engine, u *User) error {
if len(u.AvatarEmail) == 0 {
u.AvatarEmail = u.Email
}
- u.Avatar = base.HashEmail(u.AvatarEmail)
+ if len(u.AvatarEmail) > 0 {
+ u.Avatar = base.HashEmail(u.AvatarEmail)
+ }
}
u.LowerName = strings.ToLower(u.Name)
@@ -867,7 +870,6 @@ func updateUser(e Engine, u *User) error {
u.Website = base.TruncateString(u.Website, 255)
u.Description = base.TruncateString(u.Description, 255)
- u.FullName = markdown.Sanitize(u.FullName)
_, err := e.Id(u.ID).AllCols().Update(u)
return err
}
@@ -877,6 +879,29 @@ func UpdateUser(u *User) error {
return updateUser(x, u)
}
+// UpdateUserCols update user according special columns
+func UpdateUserCols(u *User, cols ...string) error {
+ // Organization does not need email
+ u.Email = strings.ToLower(u.Email)
+ if !u.IsOrganization() {
+ if len(u.AvatarEmail) == 0 {
+ u.AvatarEmail = u.Email
+ }
+ if len(u.AvatarEmail) > 0 {
+ u.Avatar = base.HashEmail(u.AvatarEmail)
+ }
+ }
+
+ u.LowerName = strings.ToLower(u.Name)
+ u.Location = base.TruncateString(u.Location, 255)
+ u.Website = base.TruncateString(u.Website, 255)
+ u.Description = base.TruncateString(u.Description, 255)
+
+ cols = append(cols, "updated_unix")
+ _, err := x.Id(u.ID).Cols(cols...).Update(u)
+ return err
+}
+
// UpdateUserSetting updates user's settings.
func UpdateUserSetting(u *User) error {
if !u.IsOrganization() {
@@ -919,38 +944,41 @@ func deleteUser(e *xorm.Session, u *User) error {
}
// ***** START: Watch *****
- watches := make([]*Watch, 0, 10)
- if err = e.Find(&watches, &Watch{UserID: u.ID}); err != nil {
+ watchedRepoIDs := make([]int64, 0, 10)
+ if err = e.Table("watch").Cols("watch.repo_id").
+ Where("watch.user_id = ?", u.ID).Find(&watchedRepoIDs); err != nil {
return fmt.Errorf("get all watches: %v", err)
}
- for i := range watches {
- if _, err = e.Exec("UPDATE `repository` SET num_watches=num_watches-1 WHERE id=?", watches[i].RepoID); err != nil {
- return fmt.Errorf("decrease repository watch number[%d]: %v", watches[i].RepoID, err)
- }
+ if _, err = e.Decr("num_watches").In("id", watchedRepoIDs).Update(new(Repository)); err != nil {
+ return fmt.Errorf("decrease repository num_watches: %v", err)
}
// ***** END: Watch *****
// ***** START: Star *****
- stars := make([]*Star, 0, 10)
- if err = e.Find(&stars, &Star{UID: u.ID}); err != nil {
+ starredRepoIDs := make([]int64, 0, 10)
+ if err = e.Table("star").Cols("star.repo_id").
+ Where("star.uid = ?", u.ID).Find(&starredRepoIDs); err != nil {
return fmt.Errorf("get all stars: %v", err)
- }
- for i := range stars {
- if _, err = e.Exec("UPDATE `repository` SET num_stars=num_stars-1 WHERE id=?", stars[i].RepoID); err != nil {
- return fmt.Errorf("decrease repository star number[%d]: %v", stars[i].RepoID, err)
- }
+ } else if _, err = e.Decr("num_watches").In("id", starredRepoIDs).Update(new(Repository)); err != nil {
+ return fmt.Errorf("decrease repository num_stars: %v", err)
}
// ***** END: Star *****
// ***** START: Follow *****
- followers := make([]*Follow, 0, 10)
- if err = e.Find(&followers, &Follow{UserID: u.ID}); err != nil {
- return fmt.Errorf("get all followers: %v", err)
+ followeeIDs := make([]int64, 0, 10)
+ if err = e.Table("follow").Cols("follow.follow_id").
+ Where("follow.user_id = ?", u.ID).Find(&followeeIDs); err != nil {
+ return fmt.Errorf("get all followees: %v", err)
+ } else if _, err = e.Decr("num_followers").In("id", followeeIDs).Update(new(User)); err != nil {
+ return fmt.Errorf("decrease user num_followers: %v", err)
}
- for i := range followers {
- if _, err = e.Exec("UPDATE `user` SET num_followers=num_followers-1 WHERE id=?", followers[i].UserID); err != nil {
- return fmt.Errorf("decrease user follower number[%d]: %v", followers[i].UserID, err)
- }
+
+ followerIDs := make([]int64, 0, 10)
+ if err = e.Table("follow").Cols("follow.user_id").
+ Where("follow.follow_id = ?", u.ID).Find(&followerIDs); err != nil {
+ return fmt.Errorf("get all followers: %v", err)
+ } else if _, err = e.Decr("num_following").In("id", followerIDs).Update(new(User)); err != nil {
+ return fmt.Errorf("decrease user num_following: %v", err)
}
// ***** END: Follow *****
@@ -960,10 +988,12 @@ func deleteUser(e *xorm.Session, u *User) error {
&Access{UserID: u.ID},
&Watch{UserID: u.ID},
&Star{UID: u.ID},
+ &Follow{UserID: u.ID},
&Follow{FollowID: u.ID},
&Action{UserID: u.ID},
&IssueUser{UID: u.ID},
&EmailAddress{UID: u.ID},
+ &UserOpenID{UID: u.ID},
); err != nil {
return fmt.Errorf("deleteBeans: %v", err)
}
@@ -1023,7 +1053,7 @@ func deleteUser(e *xorm.Session, u *User) error {
// but issues/comments/pulls will be kept and shown as someone has been deleted.
func DeleteUser(u *User) (err error) {
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -1103,7 +1133,7 @@ func GetUserByID(id int64) (*User, error) {
// GetAssigneeByID returns the user with write access of repository by given ID.
func GetAssigneeByID(repo *Repository, userID int64) (*User, error) {
- has, err := HasAccess(&User{ID: userID}, repo, AccessModeWrite)
+ has, err := HasAccess(userID, repo, AccessModeWrite)
if err != nil {
return nil, err
} else if !has {
@@ -1292,78 +1322,6 @@ func SearchUserByName(opts *SearchUserOptions) (users []*User, _ int64, _ error)
return users, count, sess.Find(&users)
}
-// ___________ .__ .__
-// \_ _____/___ | | | | ______ _ __
-// | __)/ _ \| | | | / _ \ \/ \/ /
-// | \( <_> ) |_| |_( <_> ) /
-// \___ / \____/|____/____/\____/ \/\_/
-// \/
-
-// Follow represents relations of user and his/her followers.
-type Follow struct {
- ID int64 `xorm:"pk autoincr"`
- UserID int64 `xorm:"UNIQUE(follow)"`
- FollowID int64 `xorm:"UNIQUE(follow)"`
-}
-
-// IsFollowing returns true if user is following followID.
-func IsFollowing(userID, followID int64) bool {
- has, _ := x.Get(&Follow{UserID: userID, FollowID: followID})
- return has
-}
-
-// FollowUser marks someone be another's follower.
-func FollowUser(userID, followID int64) (err error) {
- if userID == followID || IsFollowing(userID, followID) {
- return nil
- }
-
- sess := x.NewSession()
- defer sessionRelease(sess)
- if err = sess.Begin(); err != nil {
- return err
- }
-
- if _, err = sess.Insert(&Follow{UserID: userID, FollowID: followID}); err != nil {
- return err
- }
-
- if _, err = sess.Exec("UPDATE `user` SET num_followers = num_followers + 1 WHERE id = ?", followID); err != nil {
- return err
- }
-
- if _, err = sess.Exec("UPDATE `user` SET num_following = num_following + 1 WHERE id = ?", userID); err != nil {
- return err
- }
- return sess.Commit()
-}
-
-// UnfollowUser unmarks someone as another's follower.
-func UnfollowUser(userID, followID int64) (err error) {
- if userID == followID || !IsFollowing(userID, followID) {
- return nil
- }
-
- sess := x.NewSession()
- defer sessionRelease(sess)
- if err = sess.Begin(); err != nil {
- return err
- }
-
- if _, err = sess.Delete(&Follow{UserID: userID, FollowID: followID}); err != nil {
- return err
- }
-
- if _, err = sess.Exec("UPDATE `user` SET num_followers = num_followers - 1 WHERE id = ?", followID); err != nil {
- return err
- }
-
- if _, err = sess.Exec("UPDATE `user` SET num_following = num_following - 1 WHERE id = ?", userID); err != nil {
- return err
- }
- return sess.Commit()
-}
-
// GetStarredRepos returns the repos starred by a particular user
func GetStarredRepos(userID int64, private bool) ([]*Repository, error) {
sess := x.Where("star.uid=?", userID).
@@ -1393,3 +1351,127 @@ func GetWatchedRepos(userID int64, private bool) ([]*Repository, error) {
}
return repos, nil
}
+
+// SyncExternalUsers is used to synchronize users with external authorization source
+func SyncExternalUsers() {
+ if !taskStatusTable.StartIfNotRunning(syncExternalUsers) {
+ return
+ }
+ defer taskStatusTable.Stop(syncExternalUsers)
+
+ log.Trace("Doing: SyncExternalUsers")
+
+ ls, err := LoginSources()
+ if err != nil {
+ log.Error(4, "SyncExternalUsers: %v", err)
+ return
+ }
+
+ updateExisting := setting.Cron.SyncExternalUsers.UpdateExisting
+
+ for _, s := range ls {
+ if !s.IsActived || !s.IsSyncEnabled {
+ continue
+ }
+ if s.IsLDAP() {
+ log.Trace("Doing: SyncExternalUsers[%s]", s.Name)
+
+ var existingUsers []int64
+
+ // Find all users with this login type
+ var users []User
+ x.Where("login_type = ?", LoginLDAP).
+ And("login_source = ?", s.ID).
+ Find(&users)
+
+ sr := s.LDAP().SearchEntries()
+
+ for _, su := range sr {
+ if len(su.Username) == 0 {
+ continue
+ }
+
+ if len(su.Mail) == 0 {
+ su.Mail = fmt.Sprintf("%s@localhost", su.Username)
+ }
+
+ var usr *User
+ // Search for existing user
+ for _, du := range users {
+ if du.LowerName == strings.ToLower(su.Username) {
+ usr = &du
+ break
+ }
+ }
+
+ fullName := composeFullName(su.Name, su.Surname, su.Username)
+ // If no existing user found, create one
+ if usr == nil {
+ log.Trace("SyncExternalUsers[%s]: Creating user %s", s.Name, su.Username)
+
+ usr = &User{
+ LowerName: strings.ToLower(su.Username),
+ Name: su.Username,
+ FullName: fullName,
+ LoginType: s.Type,
+ LoginSource: s.ID,
+ LoginName: su.Username,
+ Email: su.Mail,
+ IsAdmin: su.IsAdmin,
+ IsActive: true,
+ }
+
+ err = CreateUser(usr)
+ if err != nil {
+ log.Error(4, "SyncExternalUsers[%s]: Error creating user %s: %v", s.Name, su.Username, err)
+ }
+ } else if updateExisting {
+ existingUsers = append(existingUsers, usr.ID)
+ // Check if user data has changed
+ if (len(s.LDAP().AdminFilter) > 0 && usr.IsAdmin != su.IsAdmin) ||
+ strings.ToLower(usr.Email) != strings.ToLower(su.Mail) ||
+ usr.FullName != fullName ||
+ !usr.IsActive {
+
+ log.Trace("SyncExternalUsers[%s]: Updating user %s", s.Name, usr.Name)
+
+ usr.FullName = fullName
+ usr.Email = su.Mail
+ // Change existing admin flag only if AdminFilter option is set
+ if len(s.LDAP().AdminFilter) > 0 {
+ usr.IsAdmin = su.IsAdmin
+ }
+ usr.IsActive = true
+
+ err = UpdateUserCols(usr, "full_name", "email", "is_admin", "is_active")
+ if err != nil {
+ log.Error(4, "SyncExternalUsers[%s]: Error updating user %s: %v", s.Name, usr.Name, err)
+ }
+ }
+ }
+ }
+
+ // Deactivate users not present in LDAP
+ if updateExisting {
+ for _, usr := range users {
+ found := false
+ for _, uid := range existingUsers {
+ if usr.ID == uid {
+ found = true
+ break
+ }
+ }
+ if !found {
+ log.Trace("SyncExternalUsers[%s]: Deactivating user %s", s.Name, usr.Name)
+
+ usr.IsActive = false
+ err = UpdateUserCols(&usr, "is_active")
+ if err != nil {
+ log.Error(4, "SyncExternalUsers[%s]: Error deactivating user %s: %v", s.Name, usr.Name, err)
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/models/user_follow.go b/models/user_follow.go
new file mode 100644
index 0000000..4bde71c
--- /dev/null
+++ b/models/user_follow.go
@@ -0,0 +1,70 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package models
+
+// Follow represents relations of user and his/her followers.
+type Follow struct {
+ ID int64 `xorm:"pk autoincr"`
+ UserID int64 `xorm:"UNIQUE(follow)"`
+ FollowID int64 `xorm:"UNIQUE(follow)"`
+}
+
+// IsFollowing returns true if user is following followID.
+func IsFollowing(userID, followID int64) bool {
+ has, _ := x.Get(&Follow{UserID: userID, FollowID: followID})
+ return has
+}
+
+// FollowUser marks someone be another's follower.
+func FollowUser(userID, followID int64) (err error) {
+ if userID == followID || IsFollowing(userID, followID) {
+ return nil
+ }
+
+ sess := x.NewSession()
+ defer sess.Close()
+ if err = sess.Begin(); err != nil {
+ return err
+ }
+
+ if _, err = sess.Insert(&Follow{UserID: userID, FollowID: followID}); err != nil {
+ return err
+ }
+
+ if _, err = sess.Exec("UPDATE `user` SET num_followers = num_followers + 1 WHERE id = ?", followID); err != nil {
+ return err
+ }
+
+ if _, err = sess.Exec("UPDATE `user` SET num_following = num_following + 1 WHERE id = ?", userID); err != nil {
+ return err
+ }
+ return sess.Commit()
+}
+
+// UnfollowUser unmarks someone as another's follower.
+func UnfollowUser(userID, followID int64) (err error) {
+ if userID == followID || !IsFollowing(userID, followID) {
+ return nil
+ }
+
+ sess := x.NewSession()
+ defer sess.Close()
+ if err = sess.Begin(); err != nil {
+ return err
+ }
+
+ if _, err = sess.Delete(&Follow{UserID: userID, FollowID: followID}); err != nil {
+ return err
+ }
+
+ if _, err = sess.Exec("UPDATE `user` SET num_followers = num_followers - 1 WHERE id = ?", followID); err != nil {
+ return err
+ }
+
+ if _, err = sess.Exec("UPDATE `user` SET num_following = num_following - 1 WHERE id = ?", userID); err != nil {
+ return err
+ }
+ return sess.Commit()
+}
diff --git a/models/user_follow_test.go b/models/user_follow_test.go
new file mode 100644
index 0000000..59392dc
--- /dev/null
+++ b/models/user_follow_test.go
@@ -0,0 +1,45 @@
+package models
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestIsFollowing(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+ assert.True(t, IsFollowing(4, 2))
+ assert.False(t, IsFollowing(2, 4))
+ assert.False(t, IsFollowing(5, NonexistentID))
+ assert.False(t, IsFollowing(NonexistentID, 5))
+ assert.False(t, IsFollowing(NonexistentID, NonexistentID))
+}
+
+func TestFollowUser(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ testSuccess := func(followerID, followedID int64) {
+ assert.NoError(t, FollowUser(followerID, followedID))
+ AssertExistsAndLoadBean(t, &Follow{UserID: followerID, FollowID: followedID})
+ }
+ testSuccess(4, 2)
+ testSuccess(5, 2)
+
+ assert.NoError(t, FollowUser(2, 2))
+
+ CheckConsistencyFor(t, &User{})
+}
+
+func TestUnfollowUser(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ testSuccess := func(followerID, followedID int64) {
+ assert.NoError(t, UnfollowUser(followerID, followedID))
+ AssertNotExistsBean(t, &Follow{UserID: followerID, FollowID: followedID})
+ }
+ testSuccess(4, 2)
+ testSuccess(5, 2)
+ testSuccess(2, 2)
+
+ CheckConsistencyFor(t, &User{})
+}
diff --git a/models/user_mail.go b/models/user_mail.go
index 4ccf08e..285ba74 100644
--- a/models/user_mail.go
+++ b/models/user_mail.go
@@ -127,7 +127,7 @@ func (email *EmailAddress) Activate() error {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -208,7 +208,7 @@ func MakeEmailPrimary(email *EmailAddress) error {
}
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
diff --git a/models/user_openid.go b/models/user_openid.go
new file mode 100644
index 0000000..db84e2e
--- /dev/null
+++ b/models/user_openid.go
@@ -0,0 +1,124 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package models
+
+import (
+ "errors"
+
+ "code.gitea.io/gitea/modules/auth/openid"
+ "code.gitea.io/gitea/modules/log"
+)
+
+var (
+ // ErrOpenIDNotExist openid is not known
+ ErrOpenIDNotExist = errors.New("OpenID is unknown")
+)
+
+// UserOpenID is the list of all OpenID identities of a user.
+type UserOpenID struct {
+ ID int64 `xorm:"pk autoincr"`
+ UID int64 `xorm:"INDEX NOT NULL"`
+ URI string `xorm:"UNIQUE NOT NULL"`
+ Show bool `xorm:"DEFAULT false"`
+}
+
+// GetUserOpenIDs returns all openid addresses that belongs to given user.
+func GetUserOpenIDs(uid int64) ([]*UserOpenID, error) {
+ openids := make([]*UserOpenID, 0, 5)
+ if err := x.
+ Where("uid=?", uid).
+ Asc("id").
+ Find(&openids); err != nil {
+ return nil, err
+ }
+
+ return openids, nil
+}
+
+func isOpenIDUsed(e Engine, uri string) (bool, error) {
+ if len(uri) == 0 {
+ return true, nil
+ }
+
+ return e.Get(&UserOpenID{URI: uri})
+}
+
+// IsOpenIDUsed returns true if the openid has been used.
+func IsOpenIDUsed(openid string) (bool, error) {
+ return isOpenIDUsed(x, openid)
+}
+
+// NOTE: make sure openid.URI is normalized already
+func addUserOpenID(e Engine, openid *UserOpenID) error {
+ used, err := isOpenIDUsed(e, openid.URI)
+ if err != nil {
+ return err
+ } else if used {
+ return ErrOpenIDAlreadyUsed{openid.URI}
+ }
+
+ _, err = e.Insert(openid)
+ return err
+}
+
+// AddUserOpenID adds an pre-verified/normalized OpenID URI to given user.
+func AddUserOpenID(openid *UserOpenID) error {
+ return addUserOpenID(x, openid)
+}
+
+// DeleteUserOpenID deletes an openid address of given user.
+func DeleteUserOpenID(openid *UserOpenID) (err error) {
+ var deleted int64
+ // ask to check UID
+ var address = UserOpenID{
+ UID: openid.UID,
+ }
+ if openid.ID > 0 {
+ deleted, err = x.Id(openid.ID).Delete(&address)
+ } else {
+ deleted, err = x.
+ Where("openid=?", openid.URI).
+ Delete(&address)
+ }
+
+ if err != nil {
+ return err
+ } else if deleted != 1 {
+ return ErrOpenIDNotExist
+ }
+ return nil
+}
+
+// ToggleUserOpenIDVisibility toggles visibility of an openid address of given user.
+func ToggleUserOpenIDVisibility(id int64) (err error) {
+ _, err = x.Exec("update user_open_id set show = not show where id = ?", id)
+ return err
+}
+
+// GetUserByOpenID returns the user object by given OpenID if exists.
+func GetUserByOpenID(uri string) (*User, error) {
+ if len(uri) == 0 {
+ return nil, ErrUserNotExist{0, uri, 0}
+ }
+
+ uri, err := openid.Normalize(uri)
+ if err != nil {
+ return nil, err
+ }
+
+ log.Trace("Normalized OpenID URI: " + uri)
+
+ // Otherwise, check in openid table
+ oid := &UserOpenID{URI: uri}
+ has, err := x.Get(oid)
+ if err != nil {
+ return nil, err
+ }
+ if has {
+ return GetUserByID(oid.UID)
+ }
+
+ return nil, ErrUserNotExist{0, uri, 0}
+}
diff --git a/models/user_openid_test.go b/models/user_openid_test.go
new file mode 100644
index 0000000..e4734cc
--- /dev/null
+++ b/models/user_openid_test.go
@@ -0,0 +1,82 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package models
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestGetUserOpenIDs(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ oids, err := GetUserOpenIDs(int64(1))
+ if assert.NoError(t, err) {
+ assert.Len(t, oids, 2)
+ assert.Equal(t, oids[0].URI, "https://user1.domain1.tld/")
+ assert.False(t, oids[0].Show)
+ assert.Equal(t, oids[1].URI, "http://user1.domain2.tld/")
+ assert.True(t, oids[1].Show)
+ }
+
+ oids, err = GetUserOpenIDs(int64(2))
+ if assert.NoError(t, err) {
+ assert.Len(t, oids, 1)
+ assert.Equal(t, oids[0].URI, "https://domain1.tld/user2/")
+ assert.True(t, oids[0].Show)
+ }
+}
+
+func TestGetUserByOpenID(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+
+ user, err := GetUserByOpenID("https://unknown")
+ if assert.Error(t, err) {
+ assert.True(t, IsErrUserNotExist(err))
+ }
+
+ user, err = GetUserByOpenID("https://user1.domain1.tld")
+ if assert.NoError(t, err) {
+ assert.Equal(t, user.ID, int64(1))
+ }
+
+ user, err = GetUserByOpenID("https://domain1.tld/user2/")
+ if assert.NoError(t, err) {
+ assert.Equal(t, user.ID, int64(2))
+ }
+}
+
+func TestToggleUserOpenIDVisibility(t *testing.T) {
+ assert.NoError(t, PrepareTestDatabase())
+ oids, err := GetUserOpenIDs(int64(2))
+ if !assert.NoError(t, err) {
+ return
+ }
+ assert.Len(t, oids, 1)
+ assert.True(t, oids[0].Show)
+
+ err = ToggleUserOpenIDVisibility(oids[0].ID)
+ if !assert.NoError(t, err) {
+ return
+ }
+
+ oids, err = GetUserOpenIDs(int64(2))
+ if assert.NoError(t, err) {
+ assert.Len(t, oids, 1)
+ assert.False(t, oids[0].Show)
+ }
+ err = ToggleUserOpenIDVisibility(oids[0].ID)
+ if !assert.NoError(t, err) {
+ return
+ }
+
+ oids, err = GetUserOpenIDs(int64(2))
+ if !assert.NoError(t, err) {
+ return
+ }
+ assert.Len(t, oids, 1)
+ assert.True(t, oids[0].Show)
+}
diff --git a/models/user_test.go b/models/user_test.go
index b10ed9d..a16f979 100644
--- a/models/user_test.go
+++ b/models/user_test.go
@@ -36,5 +36,36 @@ func TestCanCreateOrganization(t *testing.T) {
user.AllowCreateOrganization = true
assert.True(t, admin.CanCreateOrganization())
assert.False(t, user.CanCreateOrganization())
-
+}
+
+func TestDeleteUser(t *testing.T) {
+ test := func(userID int64) {
+ assert.NoError(t, PrepareTestDatabase())
+ user := AssertExistsAndLoadBean(t, &User{ID: userID}).(*User)
+
+ ownedRepos := make([]*Repository, 0, 10)
+ assert.NoError(t, x.Find(&ownedRepos, &Repository{OwnerID: userID}))
+ if len(ownedRepos) > 0 {
+ err := DeleteUser(user)
+ assert.Error(t, err)
+ assert.True(t, IsErrUserOwnRepos(err))
+ return
+ }
+
+ orgUsers := make([]*OrgUser, 0, 10)
+ assert.NoError(t, x.Find(&orgUsers, &OrgUser{UID: userID}))
+ for _, orgUser := range orgUsers {
+ if err := RemoveOrgUser(orgUser.OrgID, orgUser.UID); err != nil {
+ assert.True(t, IsErrLastOrgOwner(err))
+ return
+ }
+ }
+ assert.NoError(t, DeleteUser(user))
+ AssertNotExistsBean(t, &User{ID: userID})
+ CheckConsistencyFor(t, &User{}, &Repository{})
+ }
+ test(2)
+ test(4)
+ test(8)
+ test(11)
}
diff --git a/models/webhook.go b/models/webhook.go
index 2030391..b7e687a 100644
--- a/models/webhook.go
+++ b/models/webhook.go
@@ -1,4 +1,5 @@
// Copyright 2014 The Gogs Authors. All rights reserved.
+// Copyright 2017 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
@@ -266,7 +267,7 @@ func UpdateWebhook(w *Webhook) error {
// ID must be specified and do not assign unnecessary fields.
func deleteWebhook(bean *Webhook) (err error) {
sess := x.NewSession()
- defer sessionRelease(sess)
+ defer sess.Close()
if err = sess.Begin(); err != nil {
return err
}
@@ -312,9 +313,11 @@ type HookTaskType int
const (
GOGS HookTaskType = iota + 1
SLACK
+ GITEA
)
var hookTaskTypes = map[string]HookTaskType{
+ "gitea": GITEA,
"gogs": GOGS,
"slack": SLACK,
}
@@ -327,6 +330,8 @@ func ToHookTaskType(name string) HookTaskType {
// Name returns the name of an hook task type
func (t HookTaskType) Name() string {
switch t {
+ case GITEA:
+ return "gitea"
case GOGS:
return "gogs"
case SLACK:
@@ -475,11 +480,11 @@ func PrepareWebhooks(repo *Repository, event HookEventType, p api.Payloader) err
// check if repo belongs to org and append additional webhooks
if repo.MustOwner().IsOrganization() {
// get hooks for org
- orgws, err := GetActiveWebhooksByOrgID(repo.OwnerID)
+ orgHooks, err := GetActiveWebhooksByOrgID(repo.OwnerID)
if err != nil {
return fmt.Errorf("GetActiveWebhooksByOrgID: %v", err)
}
- ws = append(ws, orgws...)
+ ws = append(ws, orgHooks...)
}
if len(ws) == 0 {
@@ -503,7 +508,7 @@ func PrepareWebhooks(repo *Repository, event HookEventType, p api.Payloader) err
}
}
- // Use separate objects so modifications won't be made on payload on non-Gogs type hooks.
+ // Use separate objects so modifications won't be made on payload on non-Gogs/Gitea type hooks.
switch w.HookTaskType {
case SLACK:
payloader, err = GetSlackPayload(p, event, w.Meta)
@@ -536,6 +541,8 @@ func (t *HookTask) deliver() {
timeout := time.Duration(setting.Webhook.DeliverTimeout) * time.Second
req := httplib.Post(t.URL).SetTimeout(timeout, timeout).
+ Header("X-Gitea-Delivery", t.UUID).
+ Header("X-Gitea-Event", string(t.EventType)).
Header("X-Gogs-Delivery", t.UUID).
Header("X-Gogs-Event", string(t.EventType)).
Header("X-GitHub-Delivery", t.UUID).
@@ -612,18 +619,16 @@ func (t *HookTask) deliver() {
// TODO: shoot more hooks at same time.
func DeliverHooks() {
tasks := make([]*HookTask, 0, 10)
- x.
- Where("is_delivered=?", false).
- Iterate(new(HookTask),
- func(idx int, bean interface{}) error {
- t := bean.(*HookTask)
- t.deliver()
- tasks = append(tasks, t)
- return nil
- })
+ err := x.Where("is_delivered=?", false).Find(&tasks)
+ if err != nil {
+ log.Error(4, "DeliverHooks: %v", err)
+ return
+ }
// Update hook task status.
for _, t := range tasks {
+ t.deliver()
+
if err := UpdateHookTask(t); err != nil {
log.Error(4, "UpdateHookTask [%d]: %v", t.ID, err)
}
diff --git a/models/webhook_test.go b/models/webhook_test.go
index 3f377ea..a637a16 100644
--- a/models/webhook_test.go
+++ b/models/webhook_test.go
@@ -191,16 +191,19 @@ func TestDeleteWebhookByOrgID(t *testing.T) {
func TestToHookTaskType(t *testing.T) {
assert.Equal(t, GOGS, ToHookTaskType("gogs"))
assert.Equal(t, SLACK, ToHookTaskType("slack"))
+ assert.Equal(t, GITEA, ToHookTaskType("gitea"))
}
func TestHookTaskType_Name(t *testing.T) {
assert.Equal(t, "gogs", GOGS.Name())
assert.Equal(t, "slack", SLACK.Name())
+ assert.Equal(t, "gitea", GITEA.Name())
}
func TestIsValidHookTaskType(t *testing.T) {
assert.True(t, IsValidHookTaskType("gogs"))
assert.True(t, IsValidHookTaskType("slack"))
+ assert.True(t, IsValidHookTaskType("gitea"))
assert.False(t, IsValidHookTaskType("invalid"))
}
@@ -221,7 +224,7 @@ func TestCreateHookTask(t *testing.T) {
hookTask := &HookTask{
RepoID: 3,
HookID: 3,
- Type: GOGS,
+ Type: GITEA,
URL: "http://www.example.com/unit_test",
Payloader: &api.PushPayload{},
}
diff --git a/models/wiki.go b/models/wiki.go
index d864505..a4a9cb9 100644
--- a/models/wiki.go
+++ b/models/wiki.go
@@ -163,7 +163,10 @@ func (repo *Repository) updateWikiPage(doer *User, oldWikiPath, wikiPath, conten
Message: message,
}); err != nil {
return fmt.Errorf("CommitChanges: %v", err)
- } else if err = git.Push(localPath, "origin", "master"); err != nil {
+ } else if err = git.Push(localPath, git.PushOptions{
+ Remote: "origin",
+ Branch: "master",
+ }); err != nil {
return fmt.Errorf("Push: %v", err)
}
@@ -209,7 +212,10 @@ func (repo *Repository) DeleteWikiPage(doer *User, wikiPath string) (err error)
Message: message,
}); err != nil {
return fmt.Errorf("CommitChanges: %v", err)
- } else if err = git.Push(localPath, "origin", "master"); err != nil {
+ } else if err = git.Push(localPath, git.PushOptions{
+ Remote: "origin",
+ Branch: "master",
+ }); err != nil {
return fmt.Errorf("Push: %v", err)
}
diff --git a/modules/auth/admin.go b/modules/auth/admin.go
index 68bc4f3..0bb7d35 100644
--- a/modules/auth/admin.go
+++ b/modules/auth/admin.go
@@ -32,7 +32,7 @@ type AdminEditUserForm struct {
FullName string `binding:"MaxSize(100)"`
Email string `binding:"Required;Email;MaxSize(254)"`
Password string `binding:"MaxSize(255)"`
- Website string `binding:"Url;MaxSize(255)"`
+ Website string `binding:"ValidUrl;MaxSize(255)"`
Location string `binding:"MaxSize(50)"`
MaxRepoCreation int
Active bool
diff --git a/modules/auth/auth.go b/modules/auth/auth.go
index 33ba777..89b3e38 100644
--- a/modules/auth/auth.go
+++ b/modules/auth/auth.go
@@ -19,6 +19,7 @@ import (
"code.gitea.io/gitea/modules/base"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
+ "code.gitea.io/gitea/modules/validation"
)
// IsAPIPath if URL is an api path
@@ -253,6 +254,8 @@ func validate(errs binding.Errors, data map[string]interface{}, f Form, l macaro
data["ErrorMsg"] = trName + l.Tr("form.alpha_dash_error")
case binding.ERR_ALPHA_DASH_DOT:
data["ErrorMsg"] = trName + l.Tr("form.alpha_dash_dot_error")
+ case validation.ErrGitRefName:
+ data["ErrorMsg"] = trName + l.Tr("form.git_ref_name_error")
case binding.ERR_SIZE:
data["ErrorMsg"] = trName + l.Tr("form.size_error", GetSize(field))
case binding.ERR_MIN_SIZE:
diff --git a/modules/auth/auth_form.go b/modules/auth/auth_form.go
index 338be53..7c452bb 100644
--- a/modules/auth/auth_form.go
+++ b/modules/auth/auth_form.go
@@ -11,34 +11,41 @@ import (
// AuthenticationForm form for authentication
type AuthenticationForm struct {
- ID int64
- Type int `binding:"Range(2,6)"`
- Name string `binding:"Required;MaxSize(30)"`
- Host string
- Port int
- BindDN string
- BindPassword string
- UserBase string
- UserDN string
- AttributeUsername string
- AttributeName string
- AttributeSurname string
- AttributeMail string
- AttributesInBind bool
- Filter string
- AdminFilter string
- IsActive bool
- SMTPAuth string
- SMTPHost string
- SMTPPort int
- AllowedDomains string
- SecurityProtocol int `binding:"Range(0,2)"`
- TLS bool
- SkipVerify bool
- PAMServiceName string
- Oauth2Provider string
- Oauth2Key string
- Oauth2Secret string
+ ID int64
+ Type int `binding:"Range(2,6)"`
+ Name string `binding:"Required;MaxSize(30)"`
+ Host string
+ Port int
+ BindDN string
+ BindPassword string
+ UserBase string
+ UserDN string
+ AttributeUsername string
+ AttributeName string
+ AttributeSurname string
+ AttributeMail string
+ AttributesInBind bool
+ Filter string
+ AdminFilter string
+ IsActive bool
+ IsSyncEnabled bool
+ SMTPAuth string
+ SMTPHost string
+ SMTPPort int
+ AllowedDomains string
+ SecurityProtocol int `binding:"Range(0,2)"`
+ TLS bool
+ SkipVerify bool
+ PAMServiceName string
+ Oauth2Provider string
+ Oauth2Key string
+ Oauth2Secret string
+ OpenIDConnectAutoDiscoveryURL string
+ Oauth2UseCustomURL bool
+ Oauth2TokenURL string
+ Oauth2AuthURL string
+ Oauth2ProfileURL string
+ Oauth2EmailURL string
}
// Validate validates fields
diff --git a/modules/auth/ldap/ldap.go b/modules/auth/ldap/ldap.go
index 3064b31..7754cc8 100644
--- a/modules/auth/ldap/ldap.go
+++ b/modules/auth/ldap/ldap.go
@@ -47,6 +47,15 @@ type Source struct {
Enabled bool // if this source is disabled
}
+// SearchResult : user data
+type SearchResult struct {
+ Username string // Username
+ Name string // Name
+ Surname string // Surname
+ Mail string // E-mail address
+ IsAdmin bool // if user is administrator
+}
+
func (ls *Source) sanitizedUserQuery(username string) (string, bool) {
// See http://tools.ietf.org/search/rfc4515
badCharacters := "\x00()*\\"
@@ -149,18 +158,39 @@ func bindUser(l *ldap.Conn, userDN, passwd string) error {
return err
}
+func checkAdmin(l *ldap.Conn, ls *Source, userDN string) bool {
+ if len(ls.AdminFilter) > 0 {
+ log.Trace("Checking admin with filter %s and base %s", ls.AdminFilter, userDN)
+ search := ldap.NewSearchRequest(
+ userDN, ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 0, false, ls.AdminFilter,
+ []string{ls.AttributeName},
+ nil)
+
+ sr, err := l.Search(search)
+
+ if err != nil {
+ log.Error(4, "LDAP Admin Search failed unexpectedly! (%v)", err)
+ } else if len(sr.Entries) < 1 {
+ log.Error(4, "LDAP Admin Search failed")
+ } else {
+ return true
+ }
+ }
+ return false
+}
+
// SearchEntry : search an LDAP source if an entry (name, passwd) is valid and in the specific filter
-func (ls *Source) SearchEntry(name, passwd string, directBind bool) (string, string, string, string, bool, bool) {
+func (ls *Source) SearchEntry(name, passwd string, directBind bool) *SearchResult {
// See https://tools.ietf.org/search/rfc4513#section-5.1.2
if len(passwd) == 0 {
log.Debug("Auth. failed for %s, password cannot be empty")
- return "", "", "", "", false, false
+ return nil
}
l, err := dial(ls)
if err != nil {
log.Error(4, "LDAP Connect error, %s:%v", ls.Host, err)
ls.Enabled = false
- return "", "", "", "", false, false
+ return nil
}
defer l.Close()
@@ -171,7 +201,7 @@ func (ls *Source) SearchEntry(name, passwd string, directBind bool) (string, str
var ok bool
userDN, ok = ls.sanitizedUserDN(name)
if !ok {
- return "", "", "", "", false, false
+ return nil
}
} else {
log.Trace("LDAP will use BindDN.")
@@ -179,7 +209,7 @@ func (ls *Source) SearchEntry(name, passwd string, directBind bool) (string, str
var found bool
userDN, found = ls.findUserDN(l, name)
if !found {
- return "", "", "", "", false, false
+ return nil
}
}
@@ -187,13 +217,13 @@ func (ls *Source) SearchEntry(name, passwd string, directBind bool) (string, str
// binds user (checking password) before looking-up attributes in user context
err = bindUser(l, userDN, passwd)
if err != nil {
- return "", "", "", "", false, false
+ return nil
}
}
userFilter, ok := ls.sanitizedUserQuery(name)
if !ok {
- return "", "", "", "", false, false
+ return nil
}
log.Trace("Fetching attributes '%v', '%v', '%v', '%v' with filter %s and base %s", ls.AttributeUsername, ls.AttributeName, ls.AttributeSurname, ls.AttributeMail, userFilter, userDN)
@@ -205,7 +235,7 @@ func (ls *Source) SearchEntry(name, passwd string, directBind bool) (string, str
sr, err := l.Search(search)
if err != nil {
log.Error(4, "LDAP Search failed unexpectedly! (%v)", err)
- return "", "", "", "", false, false
+ return nil
} else if len(sr.Entries) < 1 {
if directBind {
log.Error(4, "User filter inhibited user login.")
@@ -213,39 +243,78 @@ func (ls *Source) SearchEntry(name, passwd string, directBind bool) (string, str
log.Error(4, "LDAP Search failed unexpectedly! (0 entries)")
}
- return "", "", "", "", false, false
+ return nil
}
username := sr.Entries[0].GetAttributeValue(ls.AttributeUsername)
firstname := sr.Entries[0].GetAttributeValue(ls.AttributeName)
surname := sr.Entries[0].GetAttributeValue(ls.AttributeSurname)
mail := sr.Entries[0].GetAttributeValue(ls.AttributeMail)
-
- isAdmin := false
- if len(ls.AdminFilter) > 0 {
- log.Trace("Checking admin with filter %s and base %s", ls.AdminFilter, userDN)
- search = ldap.NewSearchRequest(
- userDN, ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 0, false, ls.AdminFilter,
- []string{ls.AttributeName},
- nil)
-
- sr, err = l.Search(search)
- if err != nil {
- log.Error(4, "LDAP Admin Search failed unexpectedly! (%v)", err)
- } else if len(sr.Entries) < 1 {
- log.Error(4, "LDAP Admin Search failed")
- } else {
- isAdmin = true
- }
- }
+ isAdmin := checkAdmin(l, ls, userDN)
if !directBind && ls.AttributesInBind {
// binds user (checking password) after looking-up attributes in BindDN context
err = bindUser(l, userDN, passwd)
if err != nil {
- return "", "", "", "", false, false
+ return nil
}
}
- return username, firstname, surname, mail, isAdmin, true
+ return &SearchResult{
+ Username: username,
+ Name: firstname,
+ Surname: surname,
+ Mail: mail,
+ IsAdmin: isAdmin,
+ }
+}
+
+// SearchEntries : search an LDAP source for all users matching userFilter
+func (ls *Source) SearchEntries() []*SearchResult {
+ l, err := dial(ls)
+ if err != nil {
+ log.Error(4, "LDAP Connect error, %s:%v", ls.Host, err)
+ ls.Enabled = false
+ return nil
+ }
+ defer l.Close()
+
+ if ls.BindDN != "" && ls.BindPassword != "" {
+ err := l.Bind(ls.BindDN, ls.BindPassword)
+ if err != nil {
+ log.Debug("Failed to bind as BindDN[%s]: %v", ls.BindDN, err)
+ return nil
+ }
+ log.Trace("Bound as BindDN %s", ls.BindDN)
+ } else {
+ log.Trace("Proceeding with anonymous LDAP search.")
+ }
+
+ userFilter := fmt.Sprintf(ls.Filter, "*")
+
+ log.Trace("Fetching attributes '%v', '%v', '%v', '%v' with filter %s and base %s", ls.AttributeUsername, ls.AttributeName, ls.AttributeSurname, ls.AttributeMail, userFilter, ls.UserBase)
+ search := ldap.NewSearchRequest(
+ ls.UserBase, ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 0, false, userFilter,
+ []string{ls.AttributeUsername, ls.AttributeName, ls.AttributeSurname, ls.AttributeMail},
+ nil)
+
+ sr, err := l.Search(search)
+ if err != nil {
+ log.Error(4, "LDAP Search failed unexpectedly! (%v)", err)
+ return nil
+ }
+
+ result := make([]*SearchResult, len(sr.Entries))
+
+ for i, v := range sr.Entries {
+ result[i] = &SearchResult{
+ Username: v.GetAttributeValue(ls.AttributeUsername),
+ Name: v.GetAttributeValue(ls.AttributeName),
+ Surname: v.GetAttributeValue(ls.AttributeSurname),
+ Mail: v.GetAttributeValue(ls.AttributeMail),
+ IsAdmin: checkAdmin(l, ls, v.DN),
+ }
+ }
+
+ return result
}
diff --git a/modules/auth/oauth2/oauth2.go b/modules/auth/oauth2/oauth2.go
index ca4cde7..4584c48 100644
--- a/modules/auth/oauth2/oauth2.go
+++ b/modules/auth/oauth2/oauth2.go
@@ -5,6 +5,7 @@
package oauth2
import (
+ "math"
"net/http"
"os"
"path/filepath"
@@ -15,7 +16,14 @@ import (
"github.com/gorilla/sessions"
"github.com/markbates/goth"
"github.com/markbates/goth/gothic"
+ "github.com/markbates/goth/providers/bitbucket"
+ "github.com/markbates/goth/providers/dropbox"
+ "github.com/markbates/goth/providers/facebook"
"github.com/markbates/goth/providers/github"
+ "github.com/markbates/goth/providers/gitlab"
+ "github.com/markbates/goth/providers/gplus"
+ "github.com/markbates/goth/providers/openidConnect"
+ "github.com/markbates/goth/providers/twitter"
"github.com/satori/go.uuid"
)
@@ -24,6 +32,14 @@ var (
providerHeaderKey = "gitea-oauth2-provider"
)
+// CustomURLMapping describes the urls values to use when customizing OAuth2 provider URLs
+type CustomURLMapping struct {
+ AuthURL string
+ TokenURL string
+ ProfileURL string
+ EmailURL string
+}
+
// Init initialize the setup of the OAuth2 library
func Init() {
sessionDir := filepath.Join(setting.AppDataPath, "sessions", "oauth2")
@@ -31,7 +47,15 @@ func Init() {
log.Fatal(4, "Fail to create dir %s: %v", sessionDir, err)
}
- gothic.Store = sessions.NewFilesystemStore(sessionDir, []byte(sessionUsersStoreKey))
+ store := sessions.NewFilesystemStore(sessionDir, []byte(sessionUsersStoreKey))
+ // according to the Goth lib:
+ // set the maxLength of the cookies stored on the disk to a larger number to prevent issues with:
+ // securecookie: the value is too long
+ // when using OpenID Connect , since this can contain a large amount of extra information in the id_token
+
+ // Note, when using the FilesystemStore only the session.ID is written to a browser cookie, so this is explicit for the storage on disk
+ store.MaxLength(math.MaxInt16)
+ gothic.Store = store
gothic.SetState = func(req *http.Request) string {
return uuid.NewV4().String()
@@ -74,12 +98,14 @@ func ProviderCallback(provider string, request *http.Request, response http.Resp
}
// RegisterProvider register a OAuth2 provider in goth lib
-func RegisterProvider(providerName, providerType, clientID, clientSecret string) {
- provider := createProvider(providerName, providerType, clientID, clientSecret)
+func RegisterProvider(providerName, providerType, clientID, clientSecret, openIDConnectAutoDiscoveryURL string, customURLMapping *CustomURLMapping) error {
+ provider, err := createProvider(providerName, providerType, clientID, clientSecret, openIDConnectAutoDiscoveryURL, customURLMapping)
- if provider != nil {
+ if err == nil && provider != nil {
goth.UseProviders(provider)
}
+
+ return err
}
// RemoveProvider removes the given OAuth2 provider from the goth lib
@@ -88,20 +114,111 @@ func RemoveProvider(providerName string) {
}
// used to create different types of goth providers
-func createProvider(providerName, providerType, clientID, clientSecret string) goth.Provider {
+func createProvider(providerName, providerType, clientID, clientSecret, openIDConnectAutoDiscoveryURL string, customURLMapping *CustomURLMapping) (goth.Provider, error) {
callbackURL := setting.AppURL + "user/oauth2/" + providerName + "/callback"
var provider goth.Provider
+ var err error
switch providerType {
+ case "bitbucket":
+ provider = bitbucket.New(clientID, clientSecret, callbackURL, "account")
+ case "dropbox":
+ provider = dropbox.New(clientID, clientSecret, callbackURL)
+ case "facebook":
+ provider = facebook.New(clientID, clientSecret, callbackURL, "email")
case "github":
- provider = github.New(clientID, clientSecret, callbackURL, "user:email")
+ authURL := github.AuthURL
+ tokenURL := github.TokenURL
+ profileURL := github.ProfileURL
+ emailURL := github.EmailURL
+ if customURLMapping != nil {
+ if len(customURLMapping.AuthURL) > 0 {
+ authURL = customURLMapping.AuthURL
+ }
+ if len(customURLMapping.TokenURL) > 0 {
+ tokenURL = customURLMapping.TokenURL
+ }
+ if len(customURLMapping.ProfileURL) > 0 {
+ profileURL = customURLMapping.ProfileURL
+ }
+ if len(customURLMapping.EmailURL) > 0 {
+ emailURL = customURLMapping.EmailURL
+ }
+ }
+ provider = github.NewCustomisedURL(clientID, clientSecret, callbackURL, authURL, tokenURL, profileURL, emailURL)
+ case "gitlab":
+ authURL := gitlab.AuthURL
+ tokenURL := gitlab.TokenURL
+ profileURL := gitlab.ProfileURL
+ if customURLMapping != nil {
+ if len(customURLMapping.AuthURL) > 0 {
+ authURL = customURLMapping.AuthURL
+ }
+ if len(customURLMapping.TokenURL) > 0 {
+ tokenURL = customURLMapping.TokenURL
+ }
+ if len(customURLMapping.ProfileURL) > 0 {
+ profileURL = customURLMapping.ProfileURL
+ }
+ }
+ provider = gitlab.NewCustomisedURL(clientID, clientSecret, callbackURL, authURL, tokenURL, profileURL)
+ case "gplus":
+ provider = gplus.New(clientID, clientSecret, callbackURL, "email")
+ case "openidConnect":
+ if provider, err = openidConnect.New(clientID, clientSecret, callbackURL, openIDConnectAutoDiscoveryURL); err != nil {
+ log.Warn("Failed to create OpenID Connect Provider with name '%s' with url '%s': %v", providerName, openIDConnectAutoDiscoveryURL, err)
+ }
+ case "twitter":
+ provider = twitter.NewAuthenticate(clientID, clientSecret, callbackURL)
}
// always set the name if provider is created so we can support multiple setups of 1 provider
- if provider != nil {
+ if err == nil && provider != nil {
provider.SetName(providerName)
}
- return provider
+ return provider, err
+}
+
+// GetDefaultTokenURL return the default token url for the given provider
+func GetDefaultTokenURL(provider string) string {
+ switch provider {
+ case "github":
+ return github.TokenURL
+ case "gitlab":
+ return gitlab.TokenURL
+ }
+ return ""
+}
+
+// GetDefaultAuthURL return the default authorize url for the given provider
+func GetDefaultAuthURL(provider string) string {
+ switch provider {
+ case "github":
+ return github.AuthURL
+ case "gitlab":
+ return gitlab.AuthURL
+ }
+ return ""
+}
+
+// GetDefaultProfileURL return the default profile url for the given provider
+func GetDefaultProfileURL(provider string) string {
+ switch provider {
+ case "github":
+ return github.ProfileURL
+ case "gitlab":
+ return gitlab.ProfileURL
+ }
+ return ""
+}
+
+// GetDefaultEmailURL return the default email url for the given provider
+func GetDefaultEmailURL(provider string) string {
+ switch provider {
+ case "github":
+ return github.EmailURL
+ }
+ return ""
}
diff --git a/modules/auth/openid/discovery_cache.go b/modules/auth/openid/discovery_cache.go
new file mode 100644
index 0000000..68cd7a8
--- /dev/null
+++ b/modules/auth/openid/discovery_cache.go
@@ -0,0 +1,58 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package openid
+
+import (
+ "sync"
+ "time"
+
+ "github.com/yohcop/openid-go"
+)
+
+type timedDiscoveredInfo struct {
+ info openid.DiscoveredInfo
+ time time.Time
+}
+
+type timedDiscoveryCache struct {
+ cache map[string]timedDiscoveredInfo
+ ttl time.Duration
+ mutex *sync.Mutex
+}
+
+func newTimedDiscoveryCache(ttl time.Duration) *timedDiscoveryCache {
+ return &timedDiscoveryCache{cache: map[string]timedDiscoveredInfo{}, ttl: ttl, mutex: &sync.Mutex{}}
+}
+
+func (s *timedDiscoveryCache) Put(id string, info openid.DiscoveredInfo) {
+ s.mutex.Lock()
+ defer s.mutex.Unlock()
+
+ s.cache[id] = timedDiscoveredInfo{info: info, time: time.Now()}
+}
+
+// Delete timed-out cache entries
+func (s *timedDiscoveryCache) cleanTimedOut() {
+ now := time.Now()
+ for k, e := range s.cache {
+ diff := now.Sub(e.time)
+ if diff > s.ttl {
+ delete(s.cache, k)
+ }
+ }
+}
+
+func (s *timedDiscoveryCache) Get(id string) openid.DiscoveredInfo {
+ s.mutex.Lock()
+ defer s.mutex.Unlock()
+
+ // Delete old cached while we are at it.
+ s.cleanTimedOut()
+
+ if info, has := s.cache[id]; has {
+ return info.info
+ }
+ return nil
+}
diff --git a/modules/auth/openid/discovery_cache_test.go b/modules/auth/openid/discovery_cache_test.go
new file mode 100644
index 0000000..2e37058
--- /dev/null
+++ b/modules/auth/openid/discovery_cache_test.go
@@ -0,0 +1,48 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package openid
+
+import (
+ "testing"
+ "time"
+)
+
+type testDiscoveredInfo struct{}
+
+func (s *testDiscoveredInfo) ClaimedID() string {
+ return "claimedID"
+}
+func (s *testDiscoveredInfo) OpEndpoint() string {
+ return "opEndpoint"
+}
+func (s *testDiscoveredInfo) OpLocalID() string {
+ return "opLocalID"
+}
+
+func TestTimedDiscoveryCache(t *testing.T) {
+ dc := newTimedDiscoveryCache(1 * time.Second)
+
+ // Put some initial values
+ dc.Put("foo", &testDiscoveredInfo{}) //openid.opEndpoint: "a", openid.opLocalID: "b", openid.claimedID: "c"})
+
+ // Make sure we can retrieve them
+ if di := dc.Get("foo"); di == nil {
+ t.Errorf("Expected a result, got nil")
+ } else if di.OpEndpoint() != "opEndpoint" || di.OpLocalID() != "opLocalID" || di.ClaimedID() != "claimedID" {
+ t.Errorf("Expected opEndpoint opLocalID claimedID, got %v %v %v", di.OpEndpoint(), di.OpLocalID(), di.ClaimedID())
+ }
+
+ // Attempt to get a non-existent value
+ if di := dc.Get("bar"); di != nil {
+ t.Errorf("Expected nil, got %v", di)
+ }
+
+ // Sleep one second and try retrive again
+ time.Sleep(1 * time.Second)
+
+ if di := dc.Get("foo"); di != nil {
+ t.Errorf("Expected a nil, got a result")
+ }
+}
diff --git a/modules/auth/openid/openid.go b/modules/auth/openid/openid.go
new file mode 100644
index 0000000..ffe0aba
--- /dev/null
+++ b/modules/auth/openid/openid.go
@@ -0,0 +1,35 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package openid
+
+import (
+ "github.com/yohcop/openid-go"
+ "time"
+)
+
+// For the demo, we use in-memory infinite storage nonce and discovery
+// cache. In your app, do not use this as it will eat up memory and
+// never
+// free it. Use your own implementation, on a better database system.
+// If you have multiple servers for example, you may need to share at
+// least
+// the nonceStore between them.
+var nonceStore = openid.NewSimpleNonceStore()
+var discoveryCache = newTimedDiscoveryCache(24 * time.Hour)
+
+// Verify handles response from OpenID provider
+func Verify(fullURL string) (id string, err error) {
+ return openid.Verify(fullURL, discoveryCache, nonceStore)
+}
+
+// Normalize normalizes an OpenID URI
+func Normalize(url string) (id string, err error) {
+ return openid.Normalize(url)
+}
+
+// RedirectURL redirects browser
+func RedirectURL(id, callbackURL, realm string) (string, error) {
+ return openid.RedirectURL(id, callbackURL, realm)
+}
diff --git a/modules/auth/org.go b/modules/auth/org.go
index 26740f8..d6c26b6 100644
--- a/modules/auth/org.go
+++ b/modules/auth/org.go
@@ -5,6 +5,8 @@
package auth
import (
+ "code.gitea.io/gitea/models"
+
"github.com/go-macaron/binding"
"gopkg.in/macaron.v1"
)
@@ -21,7 +23,7 @@ type CreateOrgForm struct {
OrgName string `binding:"Required;AlphaDashDot;MaxSize(35)" locale:"org.org_name_holder"`
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *CreateOrgForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -31,12 +33,12 @@ type UpdateOrgSettingForm struct {
Name string `binding:"Required;AlphaDashDot;MaxSize(35)" locale:"org.org_name_holder"`
FullName string `binding:"MaxSize(100)"`
Description string `binding:"MaxSize(255)"`
- Website string `binding:"Url;MaxSize(255)"`
+ Website string `binding:"ValidUrl;MaxSize(255)"`
Location string `binding:"MaxSize(50)"`
MaxRepoCreation int
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *UpdateOrgSettingForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -53,9 +55,10 @@ type CreateTeamForm struct {
TeamName string `binding:"Required;AlphaDashDot;MaxSize(30)"`
Description string `binding:"MaxSize(255)"`
Permission string
+ Units []models.UnitType
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *CreateTeamForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
diff --git a/modules/auth/repo_form.go b/modules/auth/repo_form.go
index 2b118ce..58dcf46 100644
--- a/modules/auth/repo_form.go
+++ b/modules/auth/repo_form.go
@@ -1,4 +1,5 @@
// Copyright 2014 The Gogs Authors. All rights reserved.
+// Copyright 2017 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
@@ -33,7 +34,7 @@ type CreateRepoForm struct {
Readme string
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *CreateRepoForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -50,7 +51,7 @@ type MigrateRepoForm struct {
Description string `json:"description" binding:"MaxSize(255)"`
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *MigrateRepoForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -87,8 +88,8 @@ func (f MigrateRepoForm) ParseRemoteAddr(user *models.User) (string, error) {
type RepoSettingForm struct {
RepoName string `binding:"Required;AlphaDashDot;MaxSize(100)"`
Description string `binding:"MaxSize(255)"`
- Website string `binding:"Url;MaxSize(255)"`
- Interval int
+ Website string `binding:"ValidUrl;MaxSize(255)"`
+ Interval string
MirrorAddress string
Private bool
EnablePrune bool
@@ -105,7 +106,7 @@ type RepoSettingForm struct {
EnablePulls bool
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *RepoSettingForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -143,20 +144,33 @@ func (f WebhookForm) ChooseEvents() bool {
// NewWebhookForm form for creating web hook
type NewWebhookForm struct {
- PayloadURL string `binding:"Required;Url"`
+ PayloadURL string `binding:"Required;ValidUrl"`
ContentType int `binding:"Required"`
Secret string
WebhookForm
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *NewWebhookForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
+// NewGogshookForm form for creating gogs hook
+type NewGogshookForm struct {
+ PayloadURL string `binding:"Required;ValidUrl"`
+ ContentType int `binding:"Required"`
+ Secret string
+ WebhookForm
+}
+
+// Validate validates the fields
+func (f *NewGogshookForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
+ return validate(errs, ctx.Data, f, ctx.Locale)
+}
+
// NewSlackHookForm form for creating slack hook
type NewSlackHookForm struct {
- PayloadURL string `binding:"Required;Url"`
+ PayloadURL string `binding:"Required;ValidUrl"`
Channel string `binding:"Required"`
Username string
IconURL string
@@ -164,7 +178,7 @@ type NewSlackHookForm struct {
WebhookForm
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *NewSlackHookForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -186,7 +200,7 @@ type CreateIssueForm struct {
Files []string
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *CreateIssueForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -198,7 +212,7 @@ type CreateCommentForm struct {
Files []string
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *CreateCommentForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -217,7 +231,7 @@ type CreateMilestoneForm struct {
Deadline string
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *CreateMilestoneForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -236,7 +250,7 @@ type CreateLabelForm struct {
Color string `binding:"Required;Size(7)" locale:"repo.issues.label_color"`
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *CreateLabelForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -246,7 +260,7 @@ type InitializeLabelsForm struct {
TemplateName string `binding:"Required"`
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *InitializeLabelsForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -269,7 +283,7 @@ type NewReleaseForm struct {
Files []string
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *NewReleaseForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -283,7 +297,7 @@ type EditReleaseForm struct {
Files []string
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *EditReleaseForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -303,7 +317,7 @@ type NewWikiForm struct {
Message string
}
-// Validate valideates the fields
+// Validate validates the fields
// FIXME: use code generation to generate this method.
func (f *NewWikiForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
@@ -323,11 +337,11 @@ type EditRepoFileForm struct {
CommitSummary string `binding:"MaxSize(100)"`
CommitMessage string
CommitChoice string `binding:"Required;MaxSize(50)"`
- NewBranchName string `binding:"AlphaDashDot;MaxSize(100)"`
+ NewBranchName string `binding:"GitRefName;MaxSize(100)"`
LastCommit string
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *EditRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -337,7 +351,7 @@ type EditPreviewDiffForm struct {
Content string
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *EditPreviewDiffForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -356,11 +370,11 @@ type UploadRepoFileForm struct {
CommitSummary string `binding:"MaxSize(100)"`
CommitMessage string
CommitChoice string `binding:"Required;MaxSize(50)"`
- NewBranchName string `binding:"AlphaDashDot;MaxSize(100)"`
+ NewBranchName string `binding:"GitRefName;MaxSize(100)"`
Files []string
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *UploadRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -370,7 +384,7 @@ type RemoveUploadFileForm struct {
File string `binding:"Required;MaxSize(50)"`
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *RemoveUploadFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -387,10 +401,10 @@ type DeleteRepoFileForm struct {
CommitSummary string `binding:"MaxSize(100)"`
CommitMessage string
CommitChoice string `binding:"Required;MaxSize(50)"`
- NewBranchName string `binding:"AlphaDashDot;MaxSize(100)"`
+ NewBranchName string `binding:"GitRefName;MaxSize(100)"`
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *DeleteRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
diff --git a/modules/auth/user_form.go b/modules/auth/user_form.go
index 32c1887..3193717 100644
--- a/modules/auth/user_form.go
+++ b/modules/auth/user_form.go
@@ -38,14 +38,17 @@ type InstallForm struct {
RegisterConfirm bool
MailNotify bool
- OfflineMode bool
- DisableGravatar bool
- EnableFederatedAvatar bool
- DisableRegistration bool
- EnableCaptcha bool
- RequireSignInView bool
- DefaultKeepEmailPrivate bool
- NoReplyAddress string
+ OfflineMode bool
+ DisableGravatar bool
+ EnableFederatedAvatar bool
+ EnableOpenIDSignIn bool
+ EnableOpenIDSignUp bool
+ DisableRegistration bool
+ EnableCaptcha bool
+ RequireSignInView bool
+ DefaultKeepEmailPrivate bool
+ DefaultAllowCreateOrganization bool
+ NoReplyAddress string
AdminName string `binding:"OmitEmpty;AlphaDashDot;MaxSize(30)" locale:"install.admin_name"`
AdminPasswd string `binding:"OmitEmpty;MaxSize(255)" locale:"install.admin_password"`
@@ -53,7 +56,7 @@ type InstallForm struct {
AdminEmail string `binding:"OmitEmpty;MinSize(3);MaxSize(254);Include(@)" locale:"install.admin_email"`
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *InstallForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -78,7 +81,7 @@ func (f *RegisterForm) Validate(ctx *macaron.Context, errs binding.Errors) bindi
return validate(errs, ctx.Data, f, ctx.Locale)
}
-// SignInForm form for signing in
+// SignInForm form for signing in with user/password
type SignInForm struct {
UserName string `binding:"Required;MaxSize(254)"`
Password string `binding:"Required;MaxSize(255)"`
@@ -99,15 +102,15 @@ func (f *SignInForm) Validate(ctx *macaron.Context, errs binding.Errors) binding
// UpdateProfileForm form for updating profile
type UpdateProfileForm struct {
- Name string `binding:"OmitEmpty;MaxSize(35)"`
+ Name string `binding:"AlphaDashDot;MaxSize(35)"`
FullName string `binding:"MaxSize(100)"`
Email string `binding:"Required;Email;MaxSize(254)"`
KeepEmailPrivate bool
- Website string `binding:"Url;MaxSize(255)"`
+ Website string `binding:"ValidUrl;MaxSize(255)"`
Location string `binding:"MaxSize(50)"`
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *UpdateProfileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -126,7 +129,7 @@ type AvatarForm struct {
Federavatar bool
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *AvatarForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -136,7 +139,7 @@ type AddEmailForm struct {
Email string `binding:"Required;Email;MaxSize(254)"`
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *AddEmailForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -148,19 +151,30 @@ type ChangePasswordForm struct {
Retype string `form:"retype"`
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *ChangePasswordForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
-// AddSSHKeyForm form for adding SSH key
-type AddSSHKeyForm struct {
+// AddOpenIDForm is for changing openid uri
+type AddOpenIDForm struct {
+ Openid string `binding:"Required;MaxSize(256)"`
+}
+
+// Validate validates the fields
+func (f *AddOpenIDForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
+ return validate(errs, ctx.Data, f, ctx.Locale)
+}
+
+// AddKeyForm form for adding SSH/GPG key
+type AddKeyForm struct {
+ Type string `binding:"OmitEmpty"`
Title string `binding:"Required;MaxSize(50)"`
Content string `binding:"Required"`
}
-// Validate valideates the fields
-func (f *AddSSHKeyForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
+// Validate validates the fields
+func (f *AddKeyForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
@@ -179,7 +193,7 @@ type TwoFactorAuthForm struct {
Passcode string `binding:"Required"`
}
-// Validate valideates the fields
+// Validate validates the fields
func (f *TwoFactorAuthForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}
diff --git a/modules/auth/user_form_auth_openid.go b/modules/auth/user_form_auth_openid.go
new file mode 100644
index 0000000..0ef821d
--- /dev/null
+++ b/modules/auth/user_form_auth_openid.go
@@ -0,0 +1,43 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package auth
+
+import (
+ "github.com/go-macaron/binding"
+ "gopkg.in/macaron.v1"
+)
+
+// SignInOpenIDForm form for signing in with OpenID
+type SignInOpenIDForm struct {
+ Openid string `binding:"Required;MaxSize(256)"`
+ Remember bool
+}
+
+// Validate valideates the fields
+func (f *SignInOpenIDForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
+ return validate(errs, ctx.Data, f, ctx.Locale)
+}
+
+// SignUpOpenIDForm form for signin up with OpenID
+type SignUpOpenIDForm struct {
+ UserName string `binding:"Required;AlphaDashDot;MaxSize(35)"`
+ Email string `binding:"Required;Email;MaxSize(254)"`
+}
+
+// Validate valideates the fields
+func (f *SignUpOpenIDForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
+ return validate(errs, ctx.Data, f, ctx.Locale)
+}
+
+// ConnectOpenIDForm form for connecting an existing account to an OpenID URI
+type ConnectOpenIDForm struct {
+ UserName string `binding:"Required;MaxSize(254)"`
+ Password string `binding:"Required;MaxSize(255)"`
+}
+
+// Validate valideates the fields
+func (f *ConnectOpenIDForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
+ return validate(errs, ctx.Data, f, ctx.Locale)
+}
diff --git a/modules/base/tool.go b/modules/base/tool.go
index 32987a0..543775e 100644
--- a/modules/base/tool.go
+++ b/modules/base/tool.go
@@ -192,13 +192,21 @@ func HashEmail(email string) string {
return EncodeMD5(strings.ToLower(strings.TrimSpace(email)))
}
+// DefaultAvatarLink the default avatar link
+func DefaultAvatarLink() string {
+ return setting.AppSubURL + "/img/avatar_default.png"
+}
+
// AvatarLink returns relative avatar link to the site domain by given email,
// which includes app sub-url as prefix. However, it is possible
// to return full URL if user enables Gravatar-like service.
func AvatarLink(email string) string {
if setting.EnableFederatedAvatar && setting.LibravatarService != nil {
- // TODO: This doesn't check any error. AvatarLink should return (string, error)
- url, _ := setting.LibravatarService.FromEmail(email)
+ url, err := setting.LibravatarService.FromEmail(email)
+ if err != nil {
+ log.Error(4, "LibravatarService.FromEmail(email=%s): error %v", email, err)
+ return DefaultAvatarLink()
+ }
return url
}
@@ -206,7 +214,7 @@ func AvatarLink(email string) string {
return setting.GravatarSource + HashEmail(email)
}
- return setting.AppSubURL + "/img/avatar_default.png"
+ return DefaultAvatarLink()
}
// Seconds-based time units
@@ -219,77 +227,84 @@ const (
Year = 12 * Month
)
-func computeTimeDiff(diff int64) (int64, string) {
+func computeTimeDiff(diff int64, lang string) (int64, string) {
diffStr := ""
switch {
case diff <= 0:
diff = 0
- diffStr = "now"
+ diffStr = i18n.Tr(lang, "tool.now")
case diff < 2:
diff = 0
- diffStr = "1 second"
+ diffStr = i18n.Tr(lang, "tool.1s")
case diff < 1*Minute:
- diffStr = fmt.Sprintf("%d seconds", diff)
+ diffStr = i18n.Tr(lang, "tool.seconds", diff)
diff = 0
case diff < 2*Minute:
diff -= 1 * Minute
- diffStr = "1 minute"
+ diffStr = i18n.Tr(lang, "tool.1m")
case diff < 1*Hour:
- diffStr = fmt.Sprintf("%d minutes", diff/Minute)
+ diffStr = i18n.Tr(lang, "tool.minutes", diff/Minute)
diff -= diff / Minute * Minute
case diff < 2*Hour:
diff -= 1 * Hour
- diffStr = "1 hour"
+ diffStr = i18n.Tr(lang, "tool.1h")
case diff < 1*Day:
- diffStr = fmt.Sprintf("%d hours", diff/Hour)
+ diffStr = i18n.Tr(lang, "tool.hours", diff/Hour)
diff -= diff / Hour * Hour
case diff < 2*Day:
diff -= 1 * Day
- diffStr = "1 day"
+ diffStr = i18n.Tr(lang, "tool.1d")
case diff < 1*Week:
- diffStr = fmt.Sprintf("%d days", diff/Day)
+ diffStr = i18n.Tr(lang, "tool.days", diff/Day)
diff -= diff / Day * Day
case diff < 2*Week:
diff -= 1 * Week
- diffStr = "1 week"
+ diffStr = i18n.Tr(lang, "tool.1w")
case diff < 1*Month:
- diffStr = fmt.Sprintf("%d weeks", diff/Week)
+ diffStr = i18n.Tr(lang, "tool.weeks", diff/Week)
diff -= diff / Week * Week
case diff < 2*Month:
diff -= 1 * Month
- diffStr = "1 month"
+ diffStr = i18n.Tr(lang, "tool.1mon")
case diff < 1*Year:
- diffStr = fmt.Sprintf("%d months", diff/Month)
+ diffStr = i18n.Tr(lang, "tool.months", diff/Month)
diff -= diff / Month * Month
case diff < 2*Year:
diff -= 1 * Year
- diffStr = "1 year"
+ diffStr = i18n.Tr(lang, "tool.1y")
default:
- diffStr = fmt.Sprintf("%d years", diff/Year)
+ diffStr = i18n.Tr(lang, "tool.years", diff/Year)
diff -= (diff / Year) * Year
}
return diff, diffStr
}
-// TimeSincePro calculates the time interval and generate full user-friendly string.
-func TimeSincePro(then time.Time) string {
- return timeSincePro(then, time.Now())
+// MinutesToFriendly returns a user friendly string with number of minutes
+// converted to hours and minutes.
+func MinutesToFriendly(minutes int, lang string) string {
+ duration := time.Duration(minutes) * time.Minute
+ return TimeSincePro(time.Now().Add(-duration), lang)
}
-func timeSincePro(then, now time.Time) string {
+// TimeSincePro calculates the time interval and generate full user-friendly string.
+func TimeSincePro(then time.Time, lang string) string {
+ return timeSincePro(then, time.Now(), lang)
+}
+
+func timeSincePro(then, now time.Time, lang string) string {
diff := now.Unix() - then.Unix()
if then.After(now) {
- return "future"
+ return i18n.Tr(lang, "tool.future")
}
if diff == 0 {
- return "now"
+ return i18n.Tr(lang, "tool.now")
}
var timeStr, diffStr string
@@ -298,58 +313,25 @@ func timeSincePro(then, now time.Time) string {
break
}
- diff, diffStr = computeTimeDiff(diff)
+ diff, diffStr = computeTimeDiff(diff, lang)
timeStr += ", " + diffStr
}
return strings.TrimPrefix(timeStr, ", ")
}
func timeSince(then, now time.Time, lang string) string {
- lbl := i18n.Tr(lang, "tool.ago")
+ lbl := "tool.ago"
diff := now.Unix() - then.Unix()
if then.After(now) {
- lbl = i18n.Tr(lang, "tool.from_now")
+ lbl = "tool.from_now"
diff = then.Unix() - now.Unix()
}
-
- switch {
- case diff <= 0:
+ if diff <= 0 {
return i18n.Tr(lang, "tool.now")
- case diff <= 1:
- return i18n.Tr(lang, "tool.1s", lbl)
- case diff < 1*Minute:
- return i18n.Tr(lang, "tool.seconds", diff, lbl)
-
- case diff < 2*Minute:
- return i18n.Tr(lang, "tool.1m", lbl)
- case diff < 1*Hour:
- return i18n.Tr(lang, "tool.minutes", diff/Minute, lbl)
-
- case diff < 2*Hour:
- return i18n.Tr(lang, "tool.1h", lbl)
- case diff < 1*Day:
- return i18n.Tr(lang, "tool.hours", diff/Hour, lbl)
-
- case diff < 2*Day:
- return i18n.Tr(lang, "tool.1d", lbl)
- case diff < 1*Week:
- return i18n.Tr(lang, "tool.days", diff/Day, lbl)
-
- case diff < 2*Week:
- return i18n.Tr(lang, "tool.1w", lbl)
- case diff < 1*Month:
- return i18n.Tr(lang, "tool.weeks", diff/Week, lbl)
-
- case diff < 2*Month:
- return i18n.Tr(lang, "tool.1mon", lbl)
- case diff < 1*Year:
- return i18n.Tr(lang, "tool.months", diff/Month, lbl)
-
- case diff < 2*Year:
- return i18n.Tr(lang, "tool.1y", lbl)
- default:
- return i18n.Tr(lang, "tool.years", diff/Year, lbl)
}
+
+ _, diffStr := computeTimeDiff(diff, lang)
+ return i18n.Tr(lang, lbl, diffStr)
}
// RawTimeSince retrieves i18n key of time since t
diff --git a/modules/base/tool_test.go b/modules/base/tool_test.go
index 43d4df3..f3e787d 100644
--- a/modules/base/tool_test.go
+++ b/modules/base/tool_test.go
@@ -145,7 +145,7 @@ func TestComputeTimeDiff(t *testing.T) {
// computeTimeDiff(base + offset) == (offset, str)
test := func(base int64, str string, offsets ...int64) {
for _, offset := range offsets {
- diff, diffStr := computeTimeDiff(base + offset)
+ diff, diffStr := computeTimeDiff(base+offset, "en")
assert.Equal(t, offset, diff)
assert.Equal(t, str, diffStr)
}
@@ -167,18 +167,30 @@ func TestComputeTimeDiff(t *testing.T) {
test(3*Year, "3 years", 0, Year-1)
}
+func TestMinutesToFriendly(t *testing.T) {
+ // test that a number of minutes yields the expected string
+ test := func(expected string, minutes int) {
+ actual := MinutesToFriendly(minutes, "en")
+ assert.Equal(t, expected, actual)
+ }
+ test("1 minute", 1)
+ test("2 minutes", 2)
+ test("1 hour", 60)
+ test("1 hour, 1 minute", 61)
+ test("1 hour, 2 minutes", 62)
+ test("2 hours", 120)
+}
+
func TestTimeSince(t *testing.T) {
assert.Equal(t, "now", timeSince(BaseDate, BaseDate, "en"))
// test that each diff in `diffs` yields the expected string
test := func(expected string, diffs ...time.Duration) {
- ago := i18n.Tr("en", "tool.ago")
- fromNow := i18n.Tr("en", "tool.from_now")
for _, diff := range diffs {
actual := timeSince(BaseDate, BaseDate.Add(diff), "en")
- assert.Equal(t, expected+" "+ago, actual)
+ assert.Equal(t, i18n.Tr("en", "tool.ago", expected), actual)
actual = timeSince(BaseDate.Add(diff), BaseDate, "en")
- assert.Equal(t, expected+" "+fromNow, actual)
+ assert.Equal(t, i18n.Tr("en", "tool.from_now", expected), actual)
}
}
test("1 second", time.Second, time.Second+50*time.Millisecond)
@@ -198,13 +210,13 @@ func TestTimeSince(t *testing.T) {
}
func TestTimeSincePro(t *testing.T) {
- assert.Equal(t, "now", timeSincePro(BaseDate, BaseDate))
+ assert.Equal(t, "now", timeSincePro(BaseDate, BaseDate, "en"))
// test that a difference of `diff` yields the expected string
test := func(expected string, diff time.Duration) {
- actual := timeSincePro(BaseDate, BaseDate.Add(diff))
+ actual := timeSincePro(BaseDate, BaseDate.Add(diff), "en")
assert.Equal(t, expected, actual)
- assert.Equal(t, "future", timeSincePro(BaseDate.Add(diff), BaseDate))
+ assert.Equal(t, "future", timeSincePro(BaseDate.Add(diff), BaseDate, "en"))
}
test("1 second", time.Second)
test("2 seconds", 2*time.Second)
diff --git a/modules/context/api.go b/modules/context/api.go
index 725a346..0bf4307 100644
--- a/modules/context/api.go
+++ b/modules/context/api.go
@@ -23,6 +23,38 @@ type APIContext struct {
Org *APIOrganization
}
+// APIError is error format response
+// swagger:response error
+type APIError struct {
+ Message string `json:"message"`
+ URL string `json:"url"`
+}
+
+// APIValidationError is error format response related to input validation
+// swagger:response validationError
+type APIValidationError struct {
+ Message string `json:"message"`
+ URL string `json:"url"`
+}
+
+//APIEmpty is an empty response
+// swagger:response empty
+type APIEmpty struct{}
+
+//APIForbiddenError is a forbidden error response
+// swagger:response forbidden
+type APIForbiddenError struct {
+ APIError
+}
+
+//APINotFound is a not found empty response
+// swagger:response notFound
+type APINotFound struct{}
+
+//APIRedirect is a redirect response
+// swagger:response redirect
+type APIRedirect struct{}
+
// Error responses error message to client with given message.
// If status is 500, also it prints error to log.
func (ctx *APIContext) Error(status int, title string, obj interface{}) {
@@ -37,13 +69,13 @@ func (ctx *APIContext) Error(status int, title string, obj interface{}) {
log.Error(4, "%s: %s", title, message)
}
- ctx.JSON(status, map[string]string{
- "message": message,
- "url": base.DocURL,
+ ctx.JSON(status, APIError{
+ Message: message,
+ URL: base.DocURL,
})
}
-// SetLinkHeader sets pagination link header by given totol number and page size.
+// SetLinkHeader sets pagination link header by given total number and page size.
func (ctx *APIContext) SetLinkHeader(total, pageSize int) {
page := paginater.New(total, pageSize, ctx.QueryInt("page"), 0)
links := make([]string, 0, 4)
diff --git a/modules/context/context.go b/modules/context/context.go
index a77c1dc..9f5d934 100644
--- a/modules/context/context.go
+++ b/modules/context/context.go
@@ -10,6 +10,7 @@ import (
"html/template"
"io"
"net/http"
+ "path"
"strings"
"time"
@@ -18,6 +19,7 @@ import (
"code.gitea.io/gitea/modules/base"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
+ "github.com/Unknwon/com"
"github.com/go-macaron/cache"
"github.com/go-macaron/csrf"
"github.com/go-macaron/i18n"
@@ -33,6 +35,7 @@ type Context struct {
Flash *session.Flash
Session session.Store
+ Link string // current request URL
User *models.User
IsSigned bool
IsBasicAuth bool
@@ -154,17 +157,52 @@ func Contexter() macaron.Handler {
csrf: x,
Flash: f,
Session: sess,
+ Link: setting.AppSubURL + strings.TrimSuffix(c.Req.URL.Path, "/"),
Repo: &Repository{
PullRequest: &PullRequest{},
},
Org: &Organization{},
}
- // Compute current URL for real-time change language.
- ctx.Data["Link"] = setting.AppSubURL + strings.TrimSuffix(ctx.Req.URL.Path, "/")
-
+ c.Data["Link"] = ctx.Link
ctx.Data["PageStartTime"] = time.Now()
+ // Quick responses appropriate go-get meta with status 200
+ // regardless of if user have access to the repository,
+ // or the repository does not exist at all.
+ // This is particular a workaround for "go get" command which does not respect
+ // .netrc file.
+ if ctx.Query("go-get") == "1" {
+ ownerName := c.Params(":username")
+ repoName := c.Params(":reponame")
+ branchName := "master"
- // Get user from session if logined.
+ owner, err := models.GetUserByName(ownerName)
+ if err == nil {
+ repo, err := models.GetRepositoryByName(owner.ID, repoName)
+ if err == nil && len(repo.DefaultBranch) > 0 {
+ branchName = repo.DefaultBranch
+ }
+ }
+ prefix := setting.AppURL + path.Join(ownerName, repoName, "src", branchName)
+ c.PlainText(http.StatusOK, []byte(com.Expand(`
+
+
+
+
+
+
+ go get {GoGetImport}
+
+
+`, map[string]string{
+ "GoGetImport": ComposeGoGetImport(ownerName, strings.TrimSuffix(repoName, ".git")),
+ "CloneLink": models.ComposeHTTPSCloneURL(ownerName, repoName),
+ "GoDocDirectory": prefix + "{/dir}",
+ "GoDocFile": prefix + "{/dir}/{file}#L{line}",
+ })))
+ return
+ }
+
+ // Get user from session if logged in.
ctx.User, ctx.IsBasicAuth = auth.SignedInUser(ctx.Context, ctx.Session)
if ctx.User != nil {
@@ -197,6 +235,7 @@ func Contexter() macaron.Handler {
ctx.Data["ShowRegistrationButton"] = setting.Service.ShowRegistrationButton
ctx.Data["ShowFooterBranding"] = setting.ShowFooterBranding
ctx.Data["ShowFooterVersion"] = setting.ShowFooterVersion
+ ctx.Data["EnableOpenIDSignIn"] = setting.Service.EnableOpenIDSignIn
c.Map(ctx)
}
diff --git a/modules/context/repo.go b/modules/context/repo.go
index 1ae9854..cdb021f 100644
--- a/modules/context/repo.go
+++ b/modules/context/repo.go
@@ -12,7 +12,6 @@ import (
"code.gitea.io/git"
"code.gitea.io/gitea/models"
- "code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
"github.com/Unknwon/com"
editorconfig "gopkg.in/editorconfig/editorconfig-core-go.v1"
@@ -27,7 +26,7 @@ type PullRequest struct {
HeadInfo string // [:]
}
-// Repository contains informations to operate a repository
+// Repository contains information to operate a repository
type Repository struct {
AccessMode models.AccessMode
IsWatching bool
@@ -76,6 +75,16 @@ func (r *Repository) CanEnableEditor() bool {
return r.Repository.CanEnableEditor() && r.IsViewBranch && r.IsWriter()
}
+// CanCommitToBranch returns true if repository is editable and user has proper access level
+// and branch is not protected
+func (r *Repository) CanCommitToBranch() (bool, error) {
+ protectedBranch, err := r.Repository.IsProtectedBranch(r.BranchName)
+ if err != nil {
+ return false, err
+ }
+ return r.CanEnableEditor() && !protectedBranch, nil
+}
+
// GetEditorconfig returns the .editorconfig definition if found in the
// HEAD of the default repo branch.
func (r *Repository) GetEditorconfig() (*editorconfig.Editorconfig, error) {
@@ -115,21 +124,23 @@ func RetrieveBaseRepo(ctx *Context, repo *models.Repository) {
}
}
-// composeGoGetImport returns go-get-import meta content.
-func composeGoGetImport(owner, repo string) string {
+// ComposeGoGetImport returns go-get-import meta content.
+func ComposeGoGetImport(owner, repo string) string {
return path.Join(setting.Domain, setting.AppSubURL, owner, repo)
}
-// earlyResponseForGoGetMeta responses appropriate go-get meta with status 200
+// EarlyResponseForGoGetMeta responses appropriate go-get meta with status 200
// if user does not have actual access to the requested repository,
// or the owner or repository does not exist at all.
// This is particular a workaround for "go get" command which does not respect
// .netrc file.
-func earlyResponseForGoGetMeta(ctx *Context) {
+func EarlyResponseForGoGetMeta(ctx *Context) {
+ username := ctx.Params(":username")
+ reponame := ctx.Params(":reponame")
ctx.PlainText(200, []byte(com.Expand(` `,
map[string]string{
- "GoGetImport": composeGoGetImport(ctx.Params(":username"), ctx.Params(":reponame")),
- "CloneLink": models.ComposeHTTPSCloneURL(ctx.Params(":username"), ctx.Params(":reponame")),
+ "GoGetImport": ComposeGoGetImport(username, strings.TrimSuffix(reponame, ".git")),
+ "CloneLink": models.ComposeHTTPSCloneURL(username, reponame),
})))
}
@@ -153,16 +164,78 @@ func RedirectToRepo(ctx *Context, redirectRepoID int64) {
ctx.Redirect(redirectPath)
}
-// RepoAssignment returns a macaron to handle repository assignment
-func RepoAssignment(args ...bool) macaron.Handler {
+// RepoIDAssignment returns an macaron handler which assigns the repo to the context.
+func RepoIDAssignment() macaron.Handler {
return func(ctx *Context) {
var (
- displayBare bool // To display bare page if it is a bare repo.
+ err error
)
- if len(args) >= 1 {
- displayBare = args[0]
+
+ repoID := ctx.ParamsInt64(":repoid")
+
+ // Get repository.
+ repo, err := models.GetRepositoryByID(repoID)
+ if err != nil {
+ if models.IsErrRepoNotExist(err) {
+ ctx.Handle(404, "GetRepositoryByID", nil)
+ } else {
+ ctx.Handle(500, "GetRepositoryByID", err)
+ }
+ return
}
+ if err = repo.GetOwner(); err != nil {
+ ctx.Handle(500, "GetOwner", err)
+ return
+ }
+
+ // Admin has super access.
+ if ctx.IsSigned && ctx.User.IsAdmin {
+ ctx.Repo.AccessMode = models.AccessModeOwner
+ } else {
+ var userID int64
+ if ctx.User != nil {
+ userID = ctx.User.ID
+ }
+ mode, err := models.AccessLevel(userID, repo)
+ if err != nil {
+ ctx.Handle(500, "AccessLevel", err)
+ return
+ }
+ ctx.Repo.AccessMode = mode
+ }
+
+ // Check access.
+ if ctx.Repo.AccessMode == models.AccessModeNone {
+ if ctx.Query("go-get") == "1" {
+ EarlyResponseForGoGetMeta(ctx)
+ return
+ }
+ ctx.Handle(404, "no access right", err)
+ return
+ }
+ ctx.Data["HasAccess"] = true
+
+ if repo.IsMirror {
+ ctx.Repo.Mirror, err = models.GetMirrorByRepoID(repo.ID)
+ if err != nil {
+ ctx.Handle(500, "GetMirror", err)
+ return
+ }
+ ctx.Data["MirrorEnablePrune"] = ctx.Repo.Mirror.EnablePrune
+ ctx.Data["MirrorInterval"] = ctx.Repo.Mirror.Interval
+ ctx.Data["Mirror"] = ctx.Repo.Mirror
+ }
+
+ ctx.Repo.Repository = repo
+ ctx.Data["RepoName"] = ctx.Repo.Repository.Name
+ ctx.Data["IsBareRepo"] = ctx.Repo.Repository.IsBare
+ }
+}
+
+// RepoAssignment returns a macaron to handle repository assignment
+func RepoAssignment() macaron.Handler {
+ return func(ctx *Context) {
var (
owner *models.User
err error
@@ -179,10 +252,10 @@ func RepoAssignment(args ...bool) macaron.Handler {
if err != nil {
if models.IsErrUserNotExist(err) {
if ctx.Query("go-get") == "1" {
- earlyResponseForGoGetMeta(ctx)
+ EarlyResponseForGoGetMeta(ctx)
return
}
- ctx.Handle(404, "GetUserByName", err)
+ ctx.Handle(404, "GetUserByName", nil)
} else {
ctx.Handle(500, "GetUserByName", err)
}
@@ -201,10 +274,10 @@ func RepoAssignment(args ...bool) macaron.Handler {
RedirectToRepo(ctx, redirectRepoID)
} else if models.IsErrRepoRedirectNotExist(err) {
if ctx.Query("go-get") == "1" {
- earlyResponseForGoGetMeta(ctx)
+ EarlyResponseForGoGetMeta(ctx)
return
}
- ctx.Handle(404, "GetRepositoryByName", err)
+ ctx.Handle(404, "GetRepositoryByName", nil)
} else {
ctx.Handle(500, "LookupRepoRedirect", err)
}
@@ -219,7 +292,11 @@ func RepoAssignment(args ...bool) macaron.Handler {
if ctx.IsSigned && ctx.User.IsAdmin {
ctx.Repo.AccessMode = models.AccessModeOwner
} else {
- mode, err := models.AccessLevel(ctx.User, repo)
+ var userID int64
+ if ctx.User != nil {
+ userID = ctx.User.ID
+ }
+ mode, err := models.AccessLevel(userID, repo)
if err != nil {
ctx.Handle(500, "AccessLevel", err)
return
@@ -230,7 +307,7 @@ func RepoAssignment(args ...bool) macaron.Handler {
// Check access.
if ctx.Repo.AccessMode == models.AccessModeNone {
if ctx.Query("go-get") == "1" {
- earlyResponseForGoGetMeta(ctx)
+ EarlyResponseForGoGetMeta(ctx)
return
}
ctx.Handle(404, "no access right", err)
@@ -269,7 +346,16 @@ func RepoAssignment(args ...bool) macaron.Handler {
return
}
ctx.Data["Tags"] = tags
- ctx.Repo.Repository.NumTags = len(tags)
+
+ count, err := models.GetReleaseCountByRepoID(ctx.Repo.Repository.ID, models.FindReleasesOptions{
+ IncludeDrafts: false,
+ IncludeTags: true,
+ })
+ if err != nil {
+ ctx.Handle(500, "GetReleaseCountByRepoID", err)
+ return
+ }
+ ctx.Repo.Repository.NumReleases = int(count)
ctx.Data["Title"] = owner.Name + "/" + repo.Name
ctx.Data["Repository"] = repo
@@ -278,7 +364,13 @@ func RepoAssignment(args ...bool) macaron.Handler {
ctx.Data["IsRepositoryAdmin"] = ctx.Repo.IsAdmin()
ctx.Data["IsRepositoryWriter"] = ctx.Repo.IsWriter()
+ if ctx.Data["CanSignedUserFork"], err = ctx.Repo.Repository.CanUserFork(ctx.User); err != nil {
+ ctx.Handle(500, "CanUserFork", err)
+ return
+ }
+
ctx.Data["DisableSSH"] = setting.SSH.Disabled
+ ctx.Data["ExposeAnonSSH"] = setting.SSH.ExposeAnonymous
ctx.Data["DisableHTTP"] = setting.Repository.DisableHTTPGit
ctx.Data["CloneLink"] = repo.CloneLink()
ctx.Data["WikiCloneLink"] = repo.WikiCloneLink()
@@ -290,15 +382,7 @@ func RepoAssignment(args ...bool) macaron.Handler {
// repo is bare and display enable
if ctx.Repo.Repository.IsBare {
- log.Debug("Bare repository: %s", ctx.Repo.RepoLink)
- // NOTE: to prevent templating error
- ctx.Data["BranchName"] = ""
- if displayBare {
- if !ctx.Repo.IsAdmin() {
- ctx.Flash.Info(ctx.Tr("repo.repo_is_empty"), true)
- }
- ctx.HTML(200, "repo/bare")
- }
+ ctx.Data["BranchName"] = ctx.Repo.Repository.DefaultBranch
return
}
@@ -330,17 +414,15 @@ func RepoAssignment(args ...bool) macaron.Handler {
}
}
- // People who have push access or have fored repository can propose a new pull request.
+ // People who have push access or have forked repository can propose a new pull request.
if ctx.Repo.IsWriter() || (ctx.IsSigned && ctx.User.HasForkedRepo(ctx.Repo.Repository.ID)) {
// Pull request is allowed if this is a fork repository
// and base repository accepts pull requests.
- if repo.BaseRepo != nil {
- if repo.BaseRepo.AllowsPulls() {
- ctx.Data["BaseRepo"] = repo.BaseRepo
- ctx.Repo.PullRequest.BaseRepo = repo.BaseRepo
- ctx.Repo.PullRequest.Allowed = true
- ctx.Repo.PullRequest.HeadInfo = ctx.Repo.Owner.Name + ":" + ctx.Repo.BranchName
- }
+ if repo.BaseRepo != nil && repo.BaseRepo.AllowsPulls() {
+ ctx.Data["BaseRepo"] = repo.BaseRepo
+ ctx.Repo.PullRequest.BaseRepo = repo.BaseRepo
+ ctx.Repo.PullRequest.Allowed = true
+ ctx.Repo.PullRequest.HeadInfo = ctx.Repo.Owner.Name + ":" + ctx.Repo.BranchName
} else {
// Or, this is repository accepts pull requests between branches.
if repo.AllowsPulls() {
@@ -351,11 +433,14 @@ func RepoAssignment(args ...bool) macaron.Handler {
ctx.Repo.PullRequest.HeadInfo = ctx.Repo.BranchName
}
}
+
+ // Reset repo units as otherwise user specific units wont be loaded later
+ ctx.Repo.Repository.Units = nil
}
ctx.Data["PullRequestCtx"] = ctx.Repo.PullRequest
if ctx.Query("go-get") == "1" {
- ctx.Data["GoGetImport"] = composeGoGetImport(owner.Name, repo.Name)
+ ctx.Data["GoGetImport"] = ComposeGoGetImport(owner.Name, repo.Name)
prefix := setting.AppURL + path.Join(owner.Name, repo.Name, "src", ctx.Repo.BranchName)
ctx.Data["GoDocDirectory"] = prefix + "{/dir}"
ctx.Data["GoDocFile"] = prefix + "{/dir}/{file}#L{line}"
@@ -394,6 +479,11 @@ func RepoRef() macaron.Handler {
if err != nil {
ctx.Handle(500, "GetBranches", err)
return
+ } else if len(brs) == 0 {
+ err = fmt.Errorf("No branches in non-bare repository %s",
+ ctx.Repo.GitRepo.Path)
+ ctx.Handle(500, "GetBranches", err)
+ return
}
refName = brs[0]
}
@@ -495,6 +585,44 @@ func RequireRepoWriter() macaron.Handler {
}
}
+// LoadRepoUnits loads repsitory's units, it should be called after repository and user loaded
+func LoadRepoUnits() macaron.Handler {
+ return func(ctx *Context) {
+ var isAdmin bool
+ if ctx.User != nil && ctx.User.IsAdmin {
+ isAdmin = true
+ }
+
+ var userID int64
+ if ctx.User != nil {
+ userID = ctx.User.ID
+ }
+ err := ctx.Repo.Repository.LoadUnitsByUserID(userID, isAdmin)
+ if err != nil {
+ ctx.Handle(500, "LoadUnitsByUserID", err)
+ return
+ }
+ }
+}
+
+// CheckUnit will check whether
+func CheckUnit(unitType models.UnitType) macaron.Handler {
+ return func(ctx *Context) {
+ if !ctx.Repo.Repository.UnitEnabled(unitType) {
+ ctx.Handle(404, "CheckUnit", fmt.Errorf("%s: %v", ctx.Tr("units.error.unit_not_allowed"), unitType))
+ }
+ }
+}
+
+// CheckAnyUnit will check whether any of the unit types are enabled
+func CheckAnyUnit(unitTypes ...models.UnitType) macaron.Handler {
+ return func(ctx *Context) {
+ if !ctx.Repo.Repository.AnyUnitEnabled(unitTypes...) {
+ ctx.Handle(404, "CheckAnyUnit", fmt.Errorf("%s: %v", ctx.Tr("units.error.unit_not_allowed"), unitTypes))
+ }
+ }
+}
+
// GitHookService checks if repository Git hooks service has been enabled.
func GitHookService() macaron.Handler {
return func(ctx *Context) {
@@ -511,10 +639,8 @@ func UnitTypes() macaron.Handler {
ctx.Data["UnitTypeCode"] = models.UnitTypeCode
ctx.Data["UnitTypeIssues"] = models.UnitTypeIssues
ctx.Data["UnitTypePullRequests"] = models.UnitTypePullRequests
- ctx.Data["UnitTypeCommits"] = models.UnitTypeCommits
ctx.Data["UnitTypeReleases"] = models.UnitTypeReleases
ctx.Data["UnitTypeWiki"] = models.UnitTypeWiki
- ctx.Data["UnitTypeSettings"] = models.UnitTypeSettings
ctx.Data["UnitTypeExternalWiki"] = models.UnitTypeExternalWiki
ctx.Data["UnitTypeExternalTracker"] = models.UnitTypeExternalTracker
}
diff --git a/modules/cron/cron.go b/modules/cron/cron.go
index 785bf44..a64b512 100644
--- a/modules/cron/cron.go
+++ b/modules/cron/cron.go
@@ -66,6 +66,17 @@ func NewContext() {
go models.DeleteOldRepositoryArchives()
}
}
+ if setting.Cron.SyncExternalUsers.Enabled {
+ entry, err = c.AddFunc("Synchronize external users", setting.Cron.SyncExternalUsers.Schedule, models.SyncExternalUsers)
+ if err != nil {
+ log.Fatal(4, "Cron[Synchronize external users]: %v", err)
+ }
+ if setting.Cron.SyncExternalUsers.RunAtStart {
+ entry.Prev = time.Now()
+ entry.ExecTimes++
+ go models.SyncExternalUsers()
+ }
+ }
c.Start()
}
diff --git a/modules/highlight/highlight.go b/modules/highlight/highlight.go
index 39b5d6d..fc9a4ad 100644
--- a/modules/highlight/highlight.go
+++ b/modules/highlight/highlight.go
@@ -25,43 +25,47 @@ var (
}
// Extensions that are same as highlight classes.
- highlightExts = map[string]bool{
- ".arm": true,
- ".as": true,
- ".sh": true,
- ".cs": true,
- ".cpp": true,
- ".c": true,
- ".css": true,
- ".cmake": true,
- ".bat": true,
- ".dart": true,
- ".patch": true,
- ".elixir": true,
- ".erlang": true,
- ".go": true,
- ".html": true,
- ".xml": true,
- ".hs": true,
- ".ini": true,
- ".json": true,
- ".java": true,
- ".js": true,
- ".less": true,
- ".lua": true,
- ".php": true,
- ".py": true,
- ".rb": true,
- ".scss": true,
- ".sql": true,
- ".scala": true,
- ".swift": true,
- ".ts": true,
- ".vb": true,
+ highlightExts = map[string]struct{}{
+ ".arm": {},
+ ".as": {},
+ ".sh": {},
+ ".cs": {},
+ ".cpp": {},
+ ".c": {},
+ ".css": {},
+ ".cmake": {},
+ ".bat": {},
+ ".dart": {},
+ ".patch": {},
+ ".elixir": {},
+ ".erlang": {},
+ ".go": {},
+ ".html": {},
+ ".xml": {},
+ ".hs": {},
+ ".ini": {},
+ ".json": {},
+ ".java": {},
+ ".js": {},
+ ".less": {},
+ ".lua": {},
+ ".php": {},
+ ".py": {},
+ ".rb": {},
+ ".scss": {},
+ ".sql": {},
+ ".scala": {},
+ ".swift": {},
+ ".ts": {},
+ ".vb": {},
+ ".yml": {},
+ ".yaml": {},
}
// Extensions that are not same as highlight classes.
- highlightMapping = map[string]string{}
+ highlightMapping = map[string]string{
+ ".txt": "nohighlight",
+ }
)
// NewContext loads highlight map
@@ -85,7 +89,7 @@ func FileNameToHighlightClass(fname string) string {
}
ext := path.Ext(fname)
- if highlightExts[ext] {
+ if _, ok := highlightExts[ext]; ok {
return ext[1:]
}
diff --git a/modules/httplib/httplib.go b/modules/httplib/httplib.go
index 981de2f..f2d9a2b 100644
--- a/modules/httplib/httplib.go
+++ b/modules/httplib/httplib.go
@@ -62,6 +62,11 @@ func newRequest(url, method string) *Request {
return &Request{url, &req, map[string]string{}, map[string]string{}, defaultSetting, &resp, nil}
}
+// NewRequest returns *Request with specific method
+func NewRequest(url, method string) *Request {
+ return newRequest(url, method)
+}
+
// Get returns *Request with GET method.
func Get(url string) *Request {
return newRequest(url, "GET")
@@ -438,7 +443,7 @@ func (r *Request) ToXML(v interface{}) error {
return err
}
-// Response executes request client gets response mannually.
+// Response executes request client gets response manually.
func (r *Request) Response() (*http.Response, error) {
return r.getResponse()
}
diff --git a/modules/lfs/content_store.go b/modules/lfs/content_store.go
index 7a1f1b4..3e1b2f3 100644
--- a/modules/lfs/content_store.go
+++ b/modules/lfs/content_store.go
@@ -20,7 +20,7 @@ type ContentStore struct {
BasePath string
}
-// Get takes a Meta object and retreives the content from the store, returning
+// Get takes a Meta object and retrieves the content from the store, returning
// it as an io.Reader. If fromByte > 0, the reader starts from that byte
func (s *ContentStore) Get(meta *models.LFSMetaObject, fromByte int64) (io.ReadCloser, error) {
path := filepath.Join(s.BasePath, transformKey(meta.Oid))
@@ -70,10 +70,7 @@ func (s *ContentStore) Put(meta *models.LFSMetaObject, r io.Reader) error {
return errHashMismatch
}
- if err := os.Rename(tmpPath, path); err != nil {
- return err
- }
- return nil
+ return os.Rename(tmpPath, path)
}
// Exists returns true if the object exists in the content store.
diff --git a/modules/lfs/server.go b/modules/lfs/server.go
index 1bdeadc..44ab082 100644
--- a/modules/lfs/server.go
+++ b/modules/lfs/server.go
@@ -50,7 +50,7 @@ type BatchResponse struct {
Objects []*Representation `json:"objects"`
}
-// Representation is object medata as seen by clients of the lfs server.
+// Representation is object metadata as seen by clients of the lfs server.
type Representation struct {
Oid string `json:"oid"`
Size int64 `json:"size"`
@@ -463,7 +463,7 @@ func authenticate(ctx *context.Context, repository *models.Repository, authoriza
}
if ctx.IsSigned {
- accessCheck, _ := models.HasAccess(ctx.User, repository, accessMode)
+ accessCheck, _ := models.HasAccess(ctx.User.ID, repository, accessMode)
return accessCheck
}
@@ -499,7 +499,7 @@ func authenticate(ctx *context.Context, repository *models.Repository, authoriza
return false
}
- accessCheck, _ := models.HasAccess(userModel, repository, accessMode)
+ accessCheck, _ := models.HasAccess(userModel.ID, repository, accessMode)
return accessCheck
}
diff --git a/modules/log/conn.go b/modules/log/conn.go
index b1801d0..edb149d 100644
--- a/modules/log/conn.go
+++ b/modules/log/conn.go
@@ -42,7 +42,7 @@ func (cw *ConnWriter) WriteMsg(msg string, skip, level int) error {
if cw.Level > level {
return nil
}
- if cw.neddedConnectOnMsg() {
+ if cw.neededConnectOnMsg() {
if err := cw.connect(); err != nil {
return err
}
@@ -87,7 +87,7 @@ func (cw *ConnWriter) connect() error {
return nil
}
-func (cw *ConnWriter) neddedConnectOnMsg() bool {
+func (cw *ConnWriter) neededConnectOnMsg() bool {
if cw.Reconnect {
cw.Reconnect = false
return true
diff --git a/modules/log/file.go b/modules/log/file.go
index fe6c54e..18e82f7 100644
--- a/modules/log/file.go
+++ b/modules/log/file.go
@@ -110,10 +110,7 @@ func (w *FileLogWriter) StartLogger() error {
return err
}
w.mw.SetFd(fd)
- if err = w.initFd(); err != nil {
- return err
- }
- return nil
+ return w.initFd()
}
func (w *FileLogWriter) docheck(size int) {
diff --git a/modules/log/log.go b/modules/log/log.go
index bea6e5b..36038d3 100644
--- a/modules/log/log.go
+++ b/modules/log/log.go
@@ -11,7 +11,8 @@ import (
"path/filepath"
"runtime"
"strings"
- "sync"
+
+ "golang.org/x/sync/syncmap"
)
var (
@@ -42,10 +43,11 @@ func NewLogger(bufLen int64, mode, config string) {
// DelLogger removes loggers that are for the given mode
func DelLogger(mode string) error {
for _, l := range loggers {
- if _, ok := l.outputs[mode]; ok {
+ if _, ok := l.outputs.Load(mode); ok {
return l.DelLogger(mode)
}
}
+
Trace("Log adapter %s not found, no need to delete", mode)
return nil
}
@@ -84,7 +86,7 @@ func Info(format string, v ...interface{}) {
}
}
-// Warn records warnning log
+// Warn records warning log
func Warn(format string, v ...interface{}) {
for _, logger := range loggers {
logger.Warn(format, v...)
@@ -174,19 +176,17 @@ type logMsg struct {
// it can contain several providers and log message into all providers.
type Logger struct {
adapter string
- lock sync.Mutex
level int
msg chan *logMsg
- outputs map[string]LoggerInterface
+ outputs syncmap.Map
quit chan bool
}
// newLogger initializes and returns a new logger.
func newLogger(buffer int64) *Logger {
l := &Logger{
- msg: make(chan *logMsg, buffer),
- outputs: make(map[string]LoggerInterface),
- quit: make(chan bool),
+ msg: make(chan *logMsg, buffer),
+ quit: make(chan bool),
}
go l.StartLogger()
return l
@@ -194,14 +194,12 @@ func newLogger(buffer int64) *Logger {
// SetLogger sets new logger instance with given logger adapter and config.
func (l *Logger) SetLogger(adapter string, config string) error {
- l.lock.Lock()
- defer l.lock.Unlock()
if log, ok := adapters[adapter]; ok {
lg := log()
if err := lg.Init(config); err != nil {
return err
}
- l.outputs[adapter] = lg
+ l.outputs.Store(adapter, lg)
l.adapter = adapter
} else {
panic("log: unknown adapter \"" + adapter + "\" (forgotten register?)")
@@ -211,11 +209,9 @@ func (l *Logger) SetLogger(adapter string, config string) error {
// DelLogger removes a logger adapter instance.
func (l *Logger) DelLogger(adapter string) error {
- l.lock.Lock()
- defer l.lock.Unlock()
- if lg, ok := l.outputs[adapter]; ok {
- lg.Destroy()
- delete(l.outputs, adapter)
+ if lg, ok := l.outputs.Load(adapter); ok {
+ lg.(LoggerInterface).Destroy()
+ l.outputs.Delete(adapter)
} else {
panic("log: unknown adapter \"" + adapter + "\" (forgotten register?)")
}
@@ -264,22 +260,24 @@ func (l *Logger) StartLogger() {
for {
select {
case bm := <-l.msg:
- for _, l := range l.outputs {
- if err := l.WriteMsg(bm.msg, bm.skip, bm.level); err != nil {
+ l.outputs.Range(func(k, v interface{}) bool {
+ if err := v.(LoggerInterface).WriteMsg(bm.msg, bm.skip, bm.level); err != nil {
fmt.Println("ERROR, unable to WriteMsg:", err)
}
- }
+ return true
+ })
case <-l.quit:
return
}
}
}
-// Flush flushs all chan data.
+// Flush flushes all chan data.
func (l *Logger) Flush() {
- for _, l := range l.outputs {
- l.Flush()
- }
+ l.outputs.Range(func(k, v interface{}) bool {
+ v.(LoggerInterface).Flush()
+ return true
+ })
}
// Close closes logger, flush all chan data and destroy all adapter instances.
@@ -288,19 +286,21 @@ func (l *Logger) Close() {
for {
if len(l.msg) > 0 {
bm := <-l.msg
- for _, l := range l.outputs {
- if err := l.WriteMsg(bm.msg, bm.skip, bm.level); err != nil {
+ l.outputs.Range(func(k, v interface{}) bool {
+ if err := v.(LoggerInterface).WriteMsg(bm.msg, bm.skip, bm.level); err != nil {
fmt.Println("ERROR, unable to WriteMsg:", err)
}
- }
+ return true
+ })
} else {
break
}
}
- for _, l := range l.outputs {
- l.Flush()
- l.Destroy()
- }
+ l.outputs.Range(func(k, v interface{}) bool {
+ v.(LoggerInterface).Flush()
+ v.(LoggerInterface).Destroy()
+ return true
+ })
}
// Trace records trace log
@@ -321,7 +321,7 @@ func (l *Logger) Info(format string, v ...interface{}) {
l.writerMsg(0, INFO, msg)
}
-// Warn records warnning log
+// Warn records warning log
func (l *Logger) Warn(format string, v ...interface{}) {
msg := fmt.Sprintf("[W] "+format, v...)
l.writerMsg(0, WARN, msg)
diff --git a/modules/log/xorm.go b/modules/log/xorm.go
index 113cfda..1a218a9 100644
--- a/modules/log/xorm.go
+++ b/modules/log/xorm.go
@@ -101,7 +101,7 @@ func (l *XORMLogBridge) Infof(format string, v ...interface{}) {
}
}
-// Warn show warnning log
+// Warn show warning log
func (l *XORMLogBridge) Warn(v ...interface{}) {
if l.level <= core.LOG_WARNING {
msg := fmt.Sprint(v...)
diff --git a/modules/mailer/mailer.go b/modules/mailer/mailer.go
index ab8f010..5b28f92 100644
--- a/modules/mailer/mailer.go
+++ b/modules/mailer/mailer.go
@@ -1,4 +1,5 @@
// Copyright 2014 The Gogs Authors. All rights reserved.
+// Copyright 2017 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
@@ -15,11 +16,12 @@ import (
"strings"
"time"
- "github.com/jaytaylor/html2text"
- "gopkg.in/gomail.v2"
-
+ "code.gitea.io/gitea/modules/base"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
+
+ "github.com/jaytaylor/html2text"
+ "gopkg.in/gomail.v2"
)
// Message mail body and log info
@@ -29,8 +31,8 @@ type Message struct {
}
// NewMessageFrom creates new mail message object with custom From header.
-func NewMessageFrom(to []string, from, subject, htmlBody string) *Message {
- log.Trace("NewMessageFrom (htmlBody):\n%s", htmlBody)
+func NewMessageFrom(to []string, from, subject, body string) *Message {
+ log.Trace("NewMessageFrom (body):\n%s", body)
msg := gomail.NewMessage()
msg.SetHeader("From", from)
@@ -38,15 +40,15 @@ func NewMessageFrom(to []string, from, subject, htmlBody string) *Message {
msg.SetHeader("Subject", subject)
msg.SetDateHeader("Date", time.Now())
- body, err := html2text.FromString(htmlBody)
- if err != nil {
- log.Error(4, "html2text.FromString: %v", err)
- msg.SetBody("text/html", htmlBody)
- } else {
- msg.SetBody("text/plain", body)
- if setting.MailService.EnableHTMLAlternative {
- msg.AddAlternative("text/html", htmlBody)
+ plainBody, err := html2text.FromString(body)
+ if err != nil || setting.MailService.SendAsPlainText {
+ if strings.Contains(base.TruncateString(body, 100), "") {
+ log.Warn("Mail contains HTML but configured to send as plain text.")
}
+ msg.SetBody("text/plain", plainBody)
+ } else {
+ msg.SetBody("text/plain", plainBody)
+ msg.AddAlternative("text/html", body)
}
return &Message{
@@ -82,7 +84,7 @@ func (a *loginAuth) Next(fromServer []byte, more bool) ([]byte, error) {
case "Password:":
return []byte(a.password), nil
default:
- return nil, fmt.Errorf("unknwon fromServer: %s", string(fromServer))
+ return nil, fmt.Errorf("unknown fromServer: %s", string(fromServer))
}
}
return nil, nil
@@ -146,7 +148,7 @@ func (s *smtpSender) Send(from string, to []string, msg io.WriterTo) error {
}
}
- // If not using SMTPS, alway use STARTTLS if available
+ // If not using SMTPS, always use STARTTLS if available
hasStartTLS, _ := client.Extension("STARTTLS")
if !isSecureConn && hasStartTLS {
if err = client.StartTLS(tlsconfig); err != nil {
diff --git a/modules/markdown/markdown.go b/modules/markdown/markdown.go
index 813fabe..ed673f2 100644
--- a/modules/markdown/markdown.go
+++ b/modules/markdown/markdown.go
@@ -14,12 +14,14 @@ import (
"regexp"
"strings"
+ "code.gitea.io/gitea/modules/base"
+ "code.gitea.io/gitea/modules/log"
+ "code.gitea.io/gitea/modules/markup"
+ "code.gitea.io/gitea/modules/setting"
+
"github.com/Unknwon/com"
"github.com/russross/blackfriday"
"golang.org/x/net/html"
-
- "code.gitea.io/gitea/modules/base"
- "code.gitea.io/gitea/modules/setting"
)
// Issue name styles
@@ -40,19 +42,11 @@ func IsMarkdownFile(name string) bool {
return false
}
-// IsReadmeFile reports whether name looks like a README file
-// based on its name.
-func IsReadmeFile(name string) bool {
- name = strings.ToLower(name)
- if len(name) < 6 {
- return false
- } else if len(name) == 6 {
- return name == "readme"
- }
- return name[:7] == "readme."
-}
-
var (
+ // NOTE: All below regex matching do not perform any extra validation.
+ // Thus a link is produced even if the user does not exist, the issue does not exist, the commit does not exist, etc.
+ // While fast, this is also incorrect and lead to false positives.
+
// MentionPattern matches string that mentions someone, e.g. @Unknwon
MentionPattern = regexp.MustCompile(`(\s|^|\W)@[0-9a-zA-Z-_\.]+`)
@@ -65,22 +59,39 @@ var (
CrossReferenceIssueNumericPattern = regexp.MustCompile(`( |^)[0-9a-zA-Z]+/[0-9a-zA-Z]+#[0-9]+\b`)
// Sha1CurrentPattern matches string that represents a commit SHA, e.g. d8a994ef243349f321568f9e36d5c3f444b99cae
- // FIXME: this pattern matches pure numbers as well, right now we do a hack to check in renderSha1CurrentPattern
- // by converting string to a number.
- Sha1CurrentPattern = regexp.MustCompile(`(?:^|\s|\()[0-9a-f]{40}\b`)
+ // Although SHA1 hashes are 40 chars long, the regex matches the hash from 7 to 40 chars in length
+ // so that abbreviated hash links can be used as well. This matches git and github useability.
+ Sha1CurrentPattern = regexp.MustCompile(`(?:^|\s|\()([0-9a-f]{7,40})\b`)
// ShortLinkPattern matches short but difficult to parse [[name|link|arg=test]] syntax
- ShortLinkPattern = regexp.MustCompile(`(\[\[.*\]\]\w*)`)
+ ShortLinkPattern = regexp.MustCompile(`(\[\[.*?\]\]\w*)`)
// AnySHA1Pattern allows to split url containing SHA into parts
AnySHA1Pattern = regexp.MustCompile(`(http\S*)://(\S+)/(\S+)/(\S+)/(\S+)/([0-9a-f]{40})(?:/?([^#\s]+)?(?:#(\S+))?)?`)
- // IssueFullPattern allows to split issue (and pull) URLs into parts
- IssueFullPattern = regexp.MustCompile(`(?:^|\s|\()(http\S*)://((?:[^\s/]+/)+)((?:\w{1,10}-)?[1-9][0-9]*)([\?|#]\S+.(\S+)?)?\b`)
-
validLinksPattern = regexp.MustCompile(`^[a-z][\w-]+://`)
)
+// regexp for full links to issues/pulls
+var issueFullPattern *regexp.Regexp
+
+// InitMarkdown initialize regexps for markdown parsing
+func InitMarkdown() {
+ getIssueFullPattern()
+}
+
+func getIssueFullPattern() *regexp.Regexp {
+ if issueFullPattern == nil {
+ appURL := setting.AppURL
+ if len(appURL) > 0 && appURL[len(appURL)-1] != '/' {
+ appURL += "/"
+ }
+ issueFullPattern = regexp.MustCompile(appURL +
+ `\w+/\w+/(?:issues|pulls)/((?:\w{1,10}-)?[1-9][0-9]*)([\?|#]\S+.(\S+)?)?\b`)
+ }
+ return issueFullPattern
+}
+
// isLink reports whether link fits valid format.
func isLink(link []byte) bool {
return validLinksPattern.Match(link)
@@ -155,12 +166,15 @@ func (r *Renderer) ListItem(out *bytes.Buffer, text []byte, flags int) {
}
switch {
case bytes.HasPrefix(text, []byte(prefix+"[ ] ")):
- text = append([]byte(`
`), text[3+len(prefix):]...)
+ text = append([]byte(` `), text[3+len(prefix):]...)
+ if prefix != "" {
+ text = bytes.Replace(text, []byte(prefix), []byte{}, 1)
+ }
case bytes.HasPrefix(text, []byte(prefix+"[x] ")):
- text = append([]byte(`
`), text[3+len(prefix):]...)
- }
- if prefix != "" {
- text = bytes.Replace(text, []byte("
"), []byte{}, 1)
+ text = append([]byte(` `), text[3+len(prefix):]...)
+ if prefix != "" {
+ text = bytes.Replace(text, []byte(prefix), []byte{}, 1)
+ }
}
r.Renderer.ListItem(out, text, flags)
}
@@ -221,36 +235,17 @@ func cutoutVerbosePrefix(prefix string) string {
}
// URLJoin joins url components, like path.Join, but preserving contents
-func URLJoin(elem ...string) string {
- res := ""
- last := len(elem) - 1
- for i, item := range elem {
- res += item
- if i != last && !strings.HasSuffix(res, "/") {
- res += "/"
- }
+func URLJoin(base string, elems ...string) string {
+ u, err := url.Parse(base)
+ if err != nil {
+ log.Error(4, "URLJoin: Invalid base URL %s", base)
+ return ""
}
- cwdIndex := strings.Index(res, "/./")
- for cwdIndex != -1 {
- res = strings.Replace(res, "/./", "/", 1)
- cwdIndex = strings.Index(res, "/./")
- }
- upIndex := strings.Index(res, "/..")
- for upIndex != -1 {
- res = strings.Replace(res, "/..", "", 1)
- prevStart := -1
- for i := upIndex - 1; i >= 0; i-- {
- if res[i] == '/' {
- prevStart = i
- break
- }
- }
- if prevStart != -1 {
- res = res[:prevStart] + res[upIndex:]
- }
- upIndex = strings.Index(res, "/..")
- }
- return res
+ joinArgs := make([]string, 0, len(elems)+1)
+ joinArgs = append(joinArgs, u.Path)
+ joinArgs = append(joinArgs, elems...)
+ u.Path = path.Join(joinArgs...)
+ return u.String()
}
// RenderIssueIndexPattern renders issue indexes to corresponding links.
@@ -345,32 +340,17 @@ func renderFullSha1Pattern(rawBytes []byte, urlPrefix string) []byte {
return rawBytes
}
-// renderFullIssuePattern renders issues-like URLs
-func renderFullIssuePattern(rawBytes []byte, urlPrefix string) []byte {
- ms := IssueFullPattern.FindAllSubmatch(rawBytes, -1)
+// RenderFullIssuePattern renders issues-like URLs
+func RenderFullIssuePattern(rawBytes []byte) []byte {
+ ms := getIssueFullPattern().FindAllSubmatch(rawBytes, -1)
for _, m := range ms {
all := m[0]
- protocol := string(m[1])
- paths := bytes.Split(m[2], []byte("/"))
- paths = paths[:len(paths)-1]
- if bytes.HasPrefix(paths[0], []byte("gist.")) {
- continue
- }
- path := protocol + "://" + string(m[2])
- id := string(m[3])
- path = URLJoin(path, id)
- var comment []byte
- if len(m) > 3 {
- comment = m[4]
- }
- urlSuffix := ""
+ id := string(m[1])
text := "#" + id
- if comment != nil {
- urlSuffix += string(comment)
- text += " "
- }
+ // TODO if m[2] is not nil, then link is to a comment,
+ // and we should indicate that in the text somehow
rawBytes = bytes.Replace(rawBytes, all, []byte(fmt.Sprintf(
- `%s `, path, urlSuffix, text)), -1)
+ `%s `, string(all), text)), -1)
}
return rawBytes
}
@@ -550,12 +530,15 @@ func RenderCrossReferenceIssueIndexPattern(rawBytes []byte, urlPrefix string, me
func renderSha1CurrentPattern(rawBytes []byte, urlPrefix string) []byte {
ms := Sha1CurrentPattern.FindAllSubmatch(rawBytes, -1)
for _, m := range ms {
- all := m[0]
- if com.StrTo(all).MustInt() > 0 {
- continue
- }
- rawBytes = bytes.Replace(rawBytes, all, []byte(fmt.Sprintf(
- `%s `, URLJoin(urlPrefix, "commit", string(all)), base.ShortSha(string(all)))), -1)
+ hash := m[1]
+ // The regex does not lie, it matches the hash pattern.
+ // However, a regex cannot know if a hash actually exists or not.
+ // We could assume that a SHA1 hash should probably contain alphas AND numerics
+ // but that is not always the case.
+ // Although unlikely, deadbeef and 1234567 are valid short forms of SHA1 hash
+ // as used by git and github for linking and thus we have to do similar.
+ rawBytes = bytes.Replace(rawBytes, hash, []byte(fmt.Sprintf(
+ `%s `, URLJoin(urlPrefix, "commit", string(hash)), base.ShortSha(string(hash)))), -1)
}
return rawBytes
}
@@ -569,12 +552,12 @@ func RenderSpecialLink(rawBytes []byte, urlPrefix string, metas map[string]strin
[]byte(fmt.Sprintf(`%s `, URLJoin(setting.AppURL, string(m[1:])), m)), -1)
}
+ rawBytes = RenderFullIssuePattern(rawBytes)
rawBytes = RenderShortLinks(rawBytes, urlPrefix, false, isWikiMarkdown)
rawBytes = RenderIssueIndexPattern(rawBytes, urlPrefix, metas)
rawBytes = RenderCrossReferenceIssueIndexPattern(rawBytes, urlPrefix, metas)
rawBytes = renderFullSha1Pattern(rawBytes, urlPrefix)
rawBytes = renderSha1CurrentPattern(rawBytes, urlPrefix)
- rawBytes = renderFullIssuePattern(rawBytes, urlPrefix)
return rawBytes
}
@@ -638,10 +621,8 @@ OUTER_LOOP:
// Copy the token to the output verbatim
buf.Write(RenderShortLinks([]byte(token.String()), urlPrefix, true, isWikiMarkdown))
- if token.Type == html.StartTagToken {
- if !com.IsSliceContainsStr(noEndTags, token.Data) {
- stackNum++
- }
+ if token.Type == html.StartTagToken && !com.IsSliceContainsStr(noEndTags, token.Data) {
+ stackNum++
}
// If this is the close tag to the outer-most, we are done
@@ -656,8 +637,8 @@ OUTER_LOOP:
continue OUTER_LOOP
}
- if !com.IsSliceContainsStr(noEndTags, token.Data) {
- startTags = append(startTags, token.Data)
+ if !com.IsSliceContainsStr(noEndTags, tagName) {
+ startTags = append(startTags, tagName)
}
case html.EndTagToken:
@@ -707,3 +688,31 @@ func RenderString(raw, urlPrefix string, metas map[string]string) string {
func RenderWiki(rawBytes []byte, urlPrefix string, metas map[string]string) string {
return string(render(rawBytes, urlPrefix, metas, true))
}
+
+var (
+ // MarkupName describes markup's name
+ MarkupName = "markdown"
+)
+
+func init() {
+ markup.RegisterParser(Parser{})
+}
+
+// Parser implements markup.Parser
+type Parser struct {
+}
+
+// Name implements markup.Parser
+func (Parser) Name() string {
+ return MarkupName
+}
+
+// Extensions implements markup.Parser
+func (Parser) Extensions() []string {
+ return setting.Markdown.FileExtensions
+}
+
+// Render implements markup.Parser
+func (Parser) Render(rawBytes []byte, urlPrefix string, metas map[string]string, isWiki bool) []byte {
+ return render(rawBytes, urlPrefix, metas, isWiki)
+}
diff --git a/modules/markdown/markdown_test.go b/modules/markdown/markdown_test.go
index 88d289a..4506a29 100644
--- a/modules/markdown/markdown_test.go
+++ b/modules/markdown/markdown_test.go
@@ -1,3 +1,7 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
package markdown_test
import (
@@ -55,6 +59,31 @@ func testRenderIssueIndexPattern(t *testing.T, input, expected string, metas map
string(RenderIssueIndexPattern([]byte(input), AppSubURL, metas)))
}
+func TestURLJoin(t *testing.T) {
+ type test struct {
+ Expected string
+ Base string
+ Elements []string
+ }
+ newTest := func(expected, base string, elements ...string) test {
+ return test{Expected: expected, Base: base, Elements: elements}
+ }
+ for _, test := range []test{
+ newTest("https://try.gitea.io/a/b/c",
+ "https://try.gitea.io", "a/b", "c"),
+ newTest("https://try.gitea.io/a/b/c",
+ "https://try.gitea.io/", "/a/b/", "/c/"),
+ newTest("https://try.gitea.io/a/c",
+ "https://try.gitea.io/", "/a/./b/", "../c/"),
+ newTest("a/b/c",
+ "a", "b/c/"),
+ newTest("a/b/d",
+ "a/", "b/c/", "/../d/"),
+ } {
+ assert.Equal(t, test.Expected, URLJoin(test.Base, test.Elements...))
+ }
+}
+
func TestRender_IssueIndexPattern(t *testing.T) {
// numeric: render inputs without valid mentions
test := func(s string) {
@@ -180,13 +209,15 @@ func TestRender_AutoLink(t *testing.T) {
numericIssueLink(URLJoin(setting.AppSubURL, "issues"), 3333))
// render external issue URLs
- tmp := "http://1111/2222/ssss-issues/3333?param=blah&blahh=333"
- test(tmp, "#3333 ")
- test("http://test.com/issues/33333", numericIssueLink("http://test.com/issues", 33333))
- test("https://issues/333", numericIssueLink("https://issues", 333))
+ for _, externalURL := range []string{
+ "http://1111/2222/ssss-issues/3333?param=blah&blahh=333",
+ "http://test.com/issues/33333",
+ "https://issues/333"} {
+ test(externalURL, externalURL)
+ }
// render valid commit URLs
- tmp = URLJoin(AppSubURL, "commit", "d8a994ef243349f321568f9e36d5c3f444b99cae")
+ tmp := URLJoin(AppSubURL, "commit", "d8a994ef243349f321568f9e36d5c3f444b99cae")
test(tmp, "d8a994ef24 ")
tmp += "#diff-2"
test(tmp, "d8a994ef24 (diff-2) ")
@@ -231,8 +262,10 @@ func TestRender_ShortLinks(t *testing.T) {
rawtree := URLJoin(AppSubURL, "raw", "master")
url := URLJoin(tree, "Link")
+ otherUrl := URLJoin(tree, "OtherLink")
imgurl := URLJoin(rawtree, "Link.jpg")
urlWiki := URLJoin(AppSubURL, "wiki", "Link")
+ otherUrlWiki := URLJoin(AppSubURL, "wiki", "OtherLink")
imgurlWiki := URLJoin(AppSubURL, "wiki", "raw", "Link.jpg")
favicon := "http://google.com/favicon.ico"
@@ -272,6 +305,10 @@ func TestRender_ShortLinks(t *testing.T) {
"[[Name|Link.jpg|alt=\"AltName\"|title='Title']]",
`
`,
`
`)
+ test(
+ "[[Link]] [[OtherLink]]",
+ `Link OtherLink
`,
+ `Link OtherLink
`)
}
func TestRender_Commits(t *testing.T) {
@@ -290,8 +327,11 @@ func TestRender_Commits(t *testing.T) {
var src = strings.Replace(subtree, "/commit/", "/src/", -1)
test(sha, `b6dd6210ea
`)
+ test(sha[:7], `b6dd621
`)
+ test(sha[:39], `b6dd6210ea
`)
test(commit, `b6dd6210ea
`)
test(tree, `b6dd6210ea/src
`)
+ test("commit "+sha, `commit b6dd6210ea
`)
}
func TestRender_Images(t *testing.T) {
@@ -330,6 +370,22 @@ func TestRender_CrossReferences(t *testing.T) {
`gogits/gogs#12345
`)
}
+func TestRender_FullIssueURLs(t *testing.T) {
+ setting.AppURL = AppURL
+ setting.AppSubURL = AppSubURL
+
+ test := func(input, expected string) {
+ result := RenderFullIssuePattern([]byte(input))
+ assert.Equal(t, expected, string(result))
+ }
+ test("Here is a link https://git.osgeo.org/gogs/postgis/postgis/pulls/6",
+ "Here is a link https://git.osgeo.org/gogs/postgis/postgis/pulls/6")
+ test("Look here http://localhost:3000/person/repo/issues/4",
+ `Look here #4 `)
+ test("http://localhost:3000/person/repo/issues/4#issuecomment-1234",
+ `#4 `)
+}
+
func TestRegExp_MentionPattern(t *testing.T) {
trueTestCases := []string{
"@Unknwon",
@@ -520,50 +576,6 @@ func TestRegExp_AnySHA1Pattern(t *testing.T) {
}
}
-func TestRegExp_IssueFullPattern(t *testing.T) {
- testCases := map[string][]string{
- "https://github.com/gogits/gogs/pull/3244": {
- "https",
- "github.com/gogits/gogs/pull/",
- "3244",
- "",
- "",
- },
- "https://github.com/gogits/gogs/issues/3247#issuecomment-231517079": {
- "https",
- "github.com/gogits/gogs/issues/",
- "3247",
- "#issuecomment-231517079",
- "",
- },
- "https://try.gogs.io/gogs/gogs/issues/4#issue-685": {
- "https",
- "try.gogs.io/gogs/gogs/issues/",
- "4",
- "#issue-685",
- "",
- },
- "https://youtrack.jetbrains.com/issue/JT-36485": {
- "https",
- "youtrack.jetbrains.com/issue/",
- "JT-36485",
- "",
- "",
- },
- "https://youtrack.jetbrains.com/issue/JT-36485#comment=27-1508676": {
- "https",
- "youtrack.jetbrains.com/issue/",
- "JT-36485",
- "#comment=27-1508676",
- "",
- },
- }
-
- for k, v := range testCases {
- assert.Equal(t, IssueFullPattern.FindStringSubmatch(k)[1:], v)
- }
-}
-
func TestMisc_IsMarkdownFile(t *testing.T) {
setting.Markdown.FileExtensions = []string{".md", ".markdown", ".mdown", ".mkd"}
trueTestCases := []string{
@@ -586,31 +598,6 @@ func TestMisc_IsMarkdownFile(t *testing.T) {
}
}
-func TestMisc_IsReadmeFile(t *testing.T) {
- trueTestCases := []string{
- "readme",
- "README",
- "readME.mdown",
- "README.md",
- }
- falseTestCases := []string{
- "test.md",
- "wow.MARKDOWN",
- "LOL.mDoWn",
- "test",
- "abcdefg",
- "abcdefghijklmnopqrstuvwxyz",
- "test.md.test",
- }
-
- for _, testCase := range trueTestCases {
- assert.True(t, IsReadmeFile(testCase))
- }
- for _, testCase := range falseTestCases {
- assert.False(t, IsReadmeFile(testCase))
- }
-}
-
func TestMisc_IsSameDomain(t *testing.T) {
setting.AppURL = AppURL
setting.AppSubURL = AppSubURL
@@ -632,7 +619,7 @@ var sameCases = []string{
Ideas and codes
-- Bezier widget (by @r-lyeh) https://github.com/ocornut/imgui/issues/786
+- Bezier widget (by @r-lyeh) ` + AppURL + `ocornut/imgui/issues/786
- Node graph editors https://github.com/ocornut/imgui/issues/306
- [[Memory Editor|memory_editor_example]]
- [[Plot var helper|plot_var_example]]`,
@@ -661,17 +648,17 @@ func testAnswers(baseURLContent, baseURLImages string) []string {
`Wiki! Enjoy :)
Ideas and codes
`,
`What is Wine Staging?
@@ -685,15 +672,15 @@ func testAnswers(baseURLContent, baseURLImages string) []string {
@@ -702,9 +689,9 @@ func testAnswers(baseURLContent, baseURLImages string) []string {
Package your libGDX application
-
+
Perform a test run by hitting the Run! button.
-
+
`,
}
diff --git a/modules/markdown/sanitizer.go b/modules/markdown/sanitizer.go
index 32378dc..cc00c9a 100644
--- a/modules/markdown/sanitizer.go
+++ b/modules/markdown/sanitizer.go
@@ -38,15 +38,12 @@ func NewSanitizer() {
// Custom URL-Schemes
sanitizer.policy.AllowURLSchemes(setting.Markdown.CustomURLSchemes...)
-
})
}
// Sanitize takes a string that contains a HTML fragment or document and applies policy whitelist.
func Sanitize(s string) string {
- if sanitizer.policy == nil {
- NewSanitizer()
- }
+ NewSanitizer()
return sanitizer.policy.Sanitize(s)
}
@@ -56,8 +53,6 @@ func SanitizeBytes(b []byte) []byte {
// nothing to sanitize
return b
}
- if sanitizer.policy == nil {
- NewSanitizer()
- }
+ NewSanitizer()
return sanitizer.policy.SanitizeBytes(b)
}
diff --git a/modules/markup/markup.go b/modules/markup/markup.go
new file mode 100644
index 0000000..185cdc7
--- /dev/null
+++ b/modules/markup/markup.go
@@ -0,0 +1,83 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package markup
+
+import (
+ "path/filepath"
+ "strings"
+)
+
+// Parser defines an interface for parsering markup file to HTML
+type Parser interface {
+ Name() string // markup format name
+ Extensions() []string
+ Render(rawBytes []byte, urlPrefix string, metas map[string]string, isWiki bool) []byte
+}
+
+var (
+ parsers = make(map[string]Parser)
+)
+
+// RegisterParser registers a new markup file parser
+func RegisterParser(parser Parser) {
+ for _, ext := range parser.Extensions() {
+ parsers[strings.ToLower(ext)] = parser
+ }
+}
+
+// Render renders markup file to HTML with all specific handling stuff.
+func Render(filename string, rawBytes []byte, urlPrefix string, metas map[string]string) []byte {
+ return render(filename, rawBytes, urlPrefix, metas, false)
+}
+
+func render(filename string, rawBytes []byte, urlPrefix string, metas map[string]string, isWiki bool) []byte {
+ extension := strings.ToLower(filepath.Ext(filename))
+ if parser, ok := parsers[extension]; ok {
+ return parser.Render(rawBytes, urlPrefix, metas, isWiki)
+ }
+ return nil
+}
+
+// RenderString renders Markdown to HTML with special links and returns string type.
+func RenderString(filename string, raw, urlPrefix string, metas map[string]string) string {
+ return string(render(filename, []byte(raw), urlPrefix, metas, false))
+}
+
+// RenderWiki renders markdown wiki page to HTML and return HTML string
+func RenderWiki(filename string, rawBytes []byte, urlPrefix string, metas map[string]string) string {
+ return string(render(filename, rawBytes, urlPrefix, metas, true))
+}
+
+// Type returns if markup format via the filename
+func Type(filename string) string {
+ extension := strings.ToLower(filepath.Ext(filename))
+ if parser, ok := parsers[extension]; ok {
+ return parser.Name()
+ }
+ return ""
+}
+
+// ReadmeFileType reports whether name looks like a README file
+// based on its name and find the parser via its ext name
+func ReadmeFileType(name string) (string, bool) {
+ if IsReadmeFile(name) {
+ return Type(name), true
+ }
+ return "", false
+}
+
+// IsReadmeFile reports whether name looks like a README file
+// based on its name.
+func IsReadmeFile(name string) bool {
+ if len(name) < 6 {
+ return false
+ }
+
+ name = strings.ToLower(name)
+ if len(name) == 6 {
+ return name == "readme"
+ }
+ return name[:7] == "readme."
+}
diff --git a/modules/markup/markup_test.go b/modules/markup/markup_test.go
new file mode 100644
index 0000000..0dd2be3
--- /dev/null
+++ b/modules/markup/markup_test.go
@@ -0,0 +1,37 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package markup
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestMisc_IsReadmeFile(t *testing.T) {
+ trueTestCases := []string{
+ "readme",
+ "README",
+ "readME.mdown",
+ "README.md",
+ }
+ falseTestCases := []string{
+ "test.md",
+ "wow.MARKDOWN",
+ "LOL.mDoWn",
+ "test",
+ "abcdefg",
+ "abcdefghijklmnopqrstuvwxyz",
+ "test.md.test",
+ "readmf",
+ }
+
+ for _, testCase := range trueTestCases {
+ assert.True(t, IsReadmeFile(testCase))
+ }
+ for _, testCase := range falseTestCases {
+ assert.False(t, IsReadmeFile(testCase))
+ }
+}
diff --git a/modules/options/dynamic.go b/modules/options/dynamic.go
index f523574..c56d098 100644
--- a/modules/options/dynamic.go
+++ b/modules/options/dynamic.go
@@ -76,7 +76,7 @@ func License(name string) ([]byte, error) {
return fileFromDir(path.Join("license", name))
}
-// Labels eads the content of a specific labels from static or custom path.
+// Labels reads the content of a specific labels from static or custom path.
func Labels(name string) ([]byte, error) {
return fileFromDir(path.Join("label", name))
}
diff --git a/modules/options/static.go b/modules/options/static.go
index d98253f..3301f45 100644
--- a/modules/options/static.go
+++ b/modules/options/static.go
@@ -72,7 +72,7 @@ func License(name string) ([]byte, error) {
return fileFromDir(path.Join("license", name))
}
-// Labels eads the content of a specific labels from static or custom path.
+// Labels reads the content of a specific labels from static or custom path.
func Labels(name string) ([]byte, error) {
return fileFromDir(path.Join("label", name))
}
diff --git a/modules/private/branch.go b/modules/private/branch.go
new file mode 100644
index 0000000..6b3b917
--- /dev/null
+++ b/modules/private/branch.go
@@ -0,0 +1,40 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package private
+
+import (
+ "encoding/json"
+ "fmt"
+
+ "code.gitea.io/gitea/models"
+ "code.gitea.io/gitea/modules/log"
+ "code.gitea.io/gitea/modules/setting"
+)
+
+// GetProtectedBranchBy get protected branch information
+func GetProtectedBranchBy(repoID int64, branchName string) (*models.ProtectedBranch, error) {
+ // Ask for running deliver hook and test pull request tasks.
+ reqURL := setting.LocalURL + fmt.Sprintf("api/internal/branch/%d/%s", repoID, branchName)
+ log.GitLogger.Trace("GetProtectedBranchBy: %s", reqURL)
+
+ resp, err := newInternalRequest(reqURL, "GET").Response()
+ if err != nil {
+ return nil, err
+ }
+
+ var branch models.ProtectedBranch
+ if err := json.NewDecoder(resp.Body).Decode(&branch); err != nil {
+ return nil, err
+ }
+
+ defer resp.Body.Close()
+
+ // All 2XX status codes are accepted and others will return an error
+ if resp.StatusCode/100 != 2 {
+ return nil, fmt.Errorf("Failed to update public key: %s", decodeJSONError(resp).Err)
+ }
+
+ return &branch, nil
+}
diff --git a/modules/private/internal.go b/modules/private/internal.go
new file mode 100644
index 0000000..ac2fe56
--- /dev/null
+++ b/modules/private/internal.go
@@ -0,0 +1,70 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package private
+
+import (
+ "crypto/tls"
+ "encoding/json"
+ "fmt"
+ "net"
+ "net/http"
+
+ "code.gitea.io/gitea/modules/httplib"
+ "code.gitea.io/gitea/modules/log"
+ "code.gitea.io/gitea/modules/setting"
+)
+
+func newRequest(url, method string) *httplib.Request {
+ return httplib.NewRequest(url, method).Header("Authorization",
+ fmt.Sprintf("Bearer %s", setting.InternalToken))
+}
+
+// Response internal request response
+type Response struct {
+ Err string `json:"err"`
+}
+
+func decodeJSONError(resp *http.Response) *Response {
+ var res Response
+ err := json.NewDecoder(resp.Body).Decode(&res)
+ if err != nil {
+ res.Err = err.Error()
+ }
+ return &res
+}
+
+func newInternalRequest(url, method string) *httplib.Request {
+ req := newRequest(url, method).SetTLSClientConfig(&tls.Config{
+ InsecureSkipVerify: true,
+ })
+ if setting.Protocol == setting.UnixSocket {
+ req.SetTransport(&http.Transport{
+ Dial: func(_, _ string) (net.Conn, error) {
+ return net.Dial("unix", setting.HTTPAddr)
+ },
+ })
+ }
+ return req
+}
+
+// UpdatePublicKeyUpdated update publick key updates
+func UpdatePublicKeyUpdated(keyID int64) error {
+ // Ask for running deliver hook and test pull request tasks.
+ reqURL := setting.LocalURL + fmt.Sprintf("api/internal/ssh/%d/update", keyID)
+ log.GitLogger.Trace("UpdatePublicKeyUpdated: %s", reqURL)
+
+ resp, err := newInternalRequest(reqURL, "POST").Response()
+ if err != nil {
+ return err
+ }
+
+ defer resp.Body.Close()
+
+ // All 2XX status codes are accepted and others will return an error
+ if resp.StatusCode/100 != 2 {
+ return fmt.Errorf("Failed to update public key: %s", decodeJSONError(resp).Err)
+ }
+ return nil
+}
diff --git a/modules/private/push_update.go b/modules/private/push_update.go
new file mode 100644
index 0000000..f3071b6
--- /dev/null
+++ b/modules/private/push_update.go
@@ -0,0 +1,40 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package private
+
+import (
+ "encoding/json"
+ "fmt"
+
+ "code.gitea.io/gitea/models"
+ "code.gitea.io/gitea/modules/log"
+ "code.gitea.io/gitea/modules/setting"
+)
+
+// PushUpdate update publick key updates
+func PushUpdate(opt models.PushUpdateOptions) error {
+ // Ask for running deliver hook and test pull request tasks.
+ reqURL := setting.LocalURL + "api/internal/push/update"
+ log.GitLogger.Trace("PushUpdate: %s", reqURL)
+
+ body, err := json.Marshal(&opt)
+ if err != nil {
+ return err
+ }
+
+ resp, err := newInternalRequest(reqURL, "POST").Body(body).Response()
+ if err != nil {
+ return err
+ }
+
+ defer resp.Body.Close()
+
+ // All 2XX status codes are accepted and others will return an error
+ if resp.StatusCode/100 != 2 {
+ return fmt.Errorf("Failed to update public key: %s", decodeJSONError(resp).Err)
+ }
+
+ return nil
+}
diff --git a/modules/setting/setting.go b/modules/setting/setting.go
index c490fb1..aafe2d1 100644
--- a/modules/setting/setting.go
+++ b/modules/setting/setting.go
@@ -1,4 +1,5 @@
// Copyright 2014 The Gogs Authors. All rights reserved.
+// Copyright 2017 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
@@ -9,12 +10,14 @@ import (
"encoding/base64"
"fmt"
"io"
+ "net"
"net/mail"
"net/url"
"os"
"os/exec"
"path"
"path/filepath"
+ "regexp"
"runtime"
"strconv"
"strings"
@@ -26,6 +29,7 @@ import (
"code.gitea.io/gitea/modules/user"
"github.com/Unknwon/com"
+ "github.com/dgrijalva/jwt-go"
_ "github.com/go-macaron/cache/memcache" // memcache plugin for cache
_ "github.com/go-macaron/cache/redis"
"github.com/go-macaron/session"
@@ -84,17 +88,19 @@ var (
EnablePprof bool
SSH = struct {
- Disabled bool `ini:"DISABLE_SSH"`
- StartBuiltinServer bool `ini:"START_SSH_SERVER"`
- Domain string `ini:"SSH_DOMAIN"`
- Port int `ini:"SSH_PORT"`
- ListenHost string `ini:"SSH_LISTEN_HOST"`
- ListenPort int `ini:"SSH_LISTEN_PORT"`
- RootPath string `ini:"SSH_ROOT_PATH"`
- KeyTestPath string `ini:"SSH_KEY_TEST_PATH"`
- KeygenPath string `ini:"SSH_KEYGEN_PATH"`
- MinimumKeySizeCheck bool `ini:"-"`
- MinimumKeySizes map[string]int `ini:"-"`
+ Disabled bool `ini:"DISABLE_SSH"`
+ StartBuiltinServer bool `ini:"START_SSH_SERVER"`
+ Domain string `ini:"SSH_DOMAIN"`
+ Port int `ini:"SSH_PORT"`
+ ListenHost string `ini:"SSH_LISTEN_HOST"`
+ ListenPort int `ini:"SSH_LISTEN_PORT"`
+ RootPath string `ini:"SSH_ROOT_PATH"`
+ KeyTestPath string `ini:"SSH_KEY_TEST_PATH"`
+ KeygenPath string `ini:"SSH_KEYGEN_PATH"`
+ AuthorizedKeysBackup bool `ini:"SSH_AUTHORIZED_KEYS_BACKUP"`
+ MinimumKeySizeCheck bool `ini:"-"`
+ MinimumKeySizes map[string]int `ini:"-"`
+ ExposeAnonymous bool `ini:"SSH_EXPOSE_ANONYMOUS"`
}{
Disabled: false,
StartBuiltinServer: false,
@@ -171,6 +177,11 @@ var (
FileMaxSize int64
MaxFiles int
} `ini:"-"`
+
+ // Repository local settings
+ Local struct {
+ LocalCopyPath string
+ } `ini:"-"`
}{
AnsiCharset: "",
ForcePrivate: false,
@@ -203,6 +214,13 @@ var (
FileMaxSize: 3,
MaxFiles: 5,
},
+
+ // Repository local settings
+ Local: struct {
+ LocalCopyPath string
+ }{
+ LocalCopyPath: "tmp/local-repo",
+ },
}
RepoRootPath string
ScriptType = "bash"
@@ -225,6 +243,11 @@ var (
User struct {
RepoPagingNum int
} `ini:"ui.user"`
+ Meta struct {
+ Author string
+ Description string
+ Keywords string
+ } `ini:"ui.meta"`
}{
ExplorePagingNum: 20,
IssuePagingNum: 10,
@@ -247,9 +270,18 @@ var (
}{
RepoPagingNum: 15,
},
+ Meta: struct {
+ Author string
+ Description string
+ Keywords string
+ }{
+ Author: "Gitea - Git with a cup of tea",
+ Description: "Gitea (Git with a cup of tea) is a painless self-hosted Git service written in Go",
+ Keywords: "go,git,self-hosted,gitea",
+ },
}
- // Markdown sttings
+ // Markdown settings
Markdown = struct {
EnableHardLineBreak bool
CustomURLSchemes []string `ini:"CUSTOM_URL_SCHEMES"`
@@ -320,6 +352,12 @@ var (
Schedule string
OlderThan time.Duration
} `ini:"cron.archive_cleanup"`
+ SyncExternalUsers struct {
+ Enabled bool
+ RunAtStart bool
+ Schedule string
+ UpdateExisting bool
+ } `ini:"cron.sync_external_users"`
}{
UpdateMirror: struct {
Enabled bool
@@ -363,6 +401,17 @@ var (
Schedule: "@every 24h",
OlderThan: 24 * time.Hour,
},
+ SyncExternalUsers: struct {
+ Enabled bool
+ RunAtStart bool
+ Schedule string
+ UpdateExisting bool
+ }{
+ Enabled: true,
+ RunAtStart: false,
+ Schedule: "@every 24h",
+ UpdateExisting: true,
+ },
}
// Git settings
@@ -402,10 +451,9 @@ var (
}
// Mirror settings
- Mirror = struct {
- DefaultInterval int
- }{
- DefaultInterval: 8,
+ Mirror struct {
+ DefaultInterval time.Duration
+ MinInterval time.Duration
}
// API settings
@@ -420,7 +468,7 @@ var (
Names []string
dateLangs map[string]string
- // Highlight settings are loaded in modules/template/hightlight.go
+ // Highlight settings are loaded in modules/template/highlight.go
// Other settings
ShowFooterBranding bool
@@ -428,14 +476,15 @@ var (
ShowFooterTemplateLoadTime bool
// Global setting objects
- Cfg *ini.File
- CustomPath string // Custom directory path
- CustomConf string
- CustomPID string
- ProdMode bool
- RunUser string
- IsWindows bool
- HasRobotsTxt bool
+ Cfg *ini.File
+ CustomPath string // Custom directory path
+ CustomConf string
+ CustomPID string
+ ProdMode bool
+ RunUser string
+ IsWindows bool
+ HasRobotsTxt bool
+ InternalToken string // internal access token
)
// DateLang transforms standard language locale name to corresponding value in datetime plugin.
@@ -537,21 +586,9 @@ func NewContext() {
Cfg = ini.Empty()
- if err != nil {
- log.Fatal(4, "Failed to parse 'app.ini': %v", err)
- }
-
CustomPath = os.Getenv("GITEA_CUSTOM")
if len(CustomPath) == 0 {
- // For backward compatibility
- // TODO: drop in 1.1.0 ?
- CustomPath = os.Getenv("GOGS_CUSTOM")
- if len(CustomPath) == 0 {
- CustomPath = workDir + "/custom"
- } else {
- log.Warn(`Usage of GOGS_CUSTOM is deprecated and will be *removed* in a future release,
-please consider changing to GITEA_CUSTOM`)
- }
+ CustomPath = workDir + "/custom"
}
if len(CustomPID) > 0 {
@@ -560,6 +597,8 @@ please consider changing to GITEA_CUSTOM`)
if len(CustomConf) == 0 {
CustomConf = CustomPath + "/conf/app.ini"
+ } else if !filepath.IsAbs(CustomConf) {
+ CustomConf = filepath.Join(workDir, CustomConf)
}
if com.IsFile(CustomConf) {
@@ -582,18 +621,6 @@ please consider changing to GITEA_CUSTOM`)
sec := Cfg.Section("server")
AppName = Cfg.Section("").Key("APP_NAME").MustString("Gitea: Git with a cup of tea")
- AppURL = sec.Key("ROOT_URL").MustString("http://localhost:3000/")
- AppURL = strings.TrimRight(AppURL, "/") + "/"
-
- // Check if has app suburl.
- url, err := url.Parse(AppURL)
- if err != nil {
- log.Fatal(4, "Invalid ROOT_URL '%s': %s", AppURL, err)
- }
- // Suburl should start with '/' and end without '/', such as '/{subpath}'.
- // This value is empty if site does not have sub-url.
- AppSubURL = strings.TrimSuffix(url.Path, "/")
- AppSubURLDepth = strings.Count(AppSubURL, "/")
Protocol = HTTP
if sec.Key("PROTOCOL").String() == "https" {
@@ -614,7 +641,46 @@ please consider changing to GITEA_CUSTOM`)
Domain = sec.Key("DOMAIN").MustString("localhost")
HTTPAddr = sec.Key("HTTP_ADDR").MustString("0.0.0.0")
HTTPPort = sec.Key("HTTP_PORT").MustString("3000")
- LocalURL = sec.Key("LOCAL_ROOT_URL").MustString(string(Protocol) + "://localhost:" + HTTPPort + "/")
+
+ defaultAppURL := string(Protocol) + "://" + Domain
+ if (Protocol == HTTP && HTTPPort != "80") || (Protocol == HTTPS && HTTPPort != "443") {
+ defaultAppURL += ":" + HTTPPort
+ }
+ AppURL = sec.Key("ROOT_URL").MustString(defaultAppURL)
+ AppURL = strings.TrimRight(AppURL, "/") + "/"
+
+ // Check if has app suburl.
+ url, err := url.Parse(AppURL)
+ if err != nil {
+ log.Fatal(4, "Invalid ROOT_URL '%s': %s", AppURL, err)
+ }
+ // Suburl should start with '/' and end without '/', such as '/{subpath}'.
+ // This value is empty if site does not have sub-url.
+ AppSubURL = strings.TrimSuffix(url.Path, "/")
+ AppSubURLDepth = strings.Count(AppSubURL, "/")
+ // Check if Domain differs from AppURL domain than update it to AppURL's domain
+ // TODO: Can be replaced with url.Hostname() when minimal GoLang version is 1.8
+ urlHostname := strings.SplitN(url.Host, ":", 2)[0]
+ if urlHostname != Domain && net.ParseIP(urlHostname) == nil {
+ Domain = urlHostname
+ }
+
+ var defaultLocalURL string
+ switch Protocol {
+ case UnixSocket:
+ defaultLocalURL = "http://unix/"
+ case FCGI:
+ defaultLocalURL = AppURL
+ default:
+ defaultLocalURL = string(Protocol) + "://"
+ if HTTPAddr == "0.0.0.0" {
+ defaultLocalURL += "localhost"
+ } else {
+ defaultLocalURL += HTTPAddr
+ }
+ defaultLocalURL += ":" + HTTPPort + "/"
+ }
+ LocalURL = sec.Key("LOCAL_ROOT_URL").MustString(defaultLocalURL)
OfflineMode = sec.Key("OFFLINE_MODE").MustBool()
DisableRouterLog = sec.Key("DISABLE_ROUTER_LOG").MustBool()
StaticRootPath = sec.Key("STATIC_ROOT_PATH").MustString(workDir)
@@ -663,6 +729,8 @@ please consider changing to GITEA_CUSTOM`)
SSH.MinimumKeySizes[strings.ToLower(key.Name())] = key.MustInt()
}
}
+ SSH.AuthorizedKeysBackup = sec.Key("SSH_AUTHORIZED_KEYS_BACKUP").MustBool(true)
+ SSH.ExposeAnonymous = sec.Key("SSH_EXPOSE_ANONYMOUS").MustBool(false)
if err = Cfg.Section("server").MapTo(&LFS); err != nil {
log.Fatal(4, "Failed to map LFS settings: %v", err)
@@ -716,7 +784,7 @@ please consider changing to GITEA_CUSTOM`)
log.Fatal(4, "Error retrieving git version: %v", err)
}
- splitVersion := strings.SplitN(binVersion, ".", 3)
+ splitVersion := strings.SplitN(binVersion, ".", 4)
majorVersion, err := strconv.ParseUint(splitVersion[0], 10, 64)
if err != nil {
@@ -754,6 +822,43 @@ please consider changing to GITEA_CUSTOM`)
ReverseProxyAuthUser = sec.Key("REVERSE_PROXY_AUTHENTICATION_USER").MustString("X-WEBAUTH-USER")
MinPasswordLength = sec.Key("MIN_PASSWORD_LENGTH").MustInt(6)
ImportLocalPaths = sec.Key("IMPORT_LOCAL_PATHS").MustBool(false)
+ InternalToken = sec.Key("INTERNAL_TOKEN").String()
+ if len(InternalToken) == 0 {
+ secretBytes := make([]byte, 32)
+ _, err := io.ReadFull(rand.Reader, secretBytes)
+ if err != nil {
+ log.Fatal(4, "Error reading random bytes: %v", err)
+ }
+
+ secretKey := base64.RawURLEncoding.EncodeToString(secretBytes)
+
+ now := time.Now()
+ InternalToken, err = jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
+ "nbf": now.Unix(),
+ }).SignedString([]byte(secretKey))
+
+ if err != nil {
+ log.Fatal(4, "Error generate internal token: %v", err)
+ }
+
+ // Save secret
+ cfgSave := ini.Empty()
+ if com.IsFile(CustomConf) {
+ // Keeps custom settings if there is already something.
+ if err := cfgSave.Append(CustomConf); err != nil {
+ log.Error(4, "Failed to load custom conf '%s': %v", CustomConf, err)
+ }
+ }
+
+ cfgSave.Section("security").Key("INTERNAL_TOKEN").SetValue(InternalToken)
+
+ if err := os.MkdirAll(filepath.Dir(CustomConf), os.ModePerm); err != nil {
+ log.Fatal(4, "Failed to create '%s': %v", CustomConf, err)
+ }
+ if err := cfgSave.SaveTo(CustomConf); err != nil {
+ log.Fatal(4, "Error saving generated JWT Secret to custom config: %v", err)
+ }
+ }
sec = Cfg.Section("attachment")
AttachmentPath = sec.Key("PATH").MustString(path.Join(AppDataPath, "attachments"))
@@ -805,6 +910,7 @@ please consider changing to GITEA_CUSTOM`)
// Determine and create root git repository path.
sec = Cfg.Section("repository")
Repository.DisableHTTPGit = sec.Key("DISABLE_HTTP_GIT").MustBool()
+ Repository.MaxCreationLimit = sec.Key("MAX_CREATION_LIMIT").MustInt(-1)
RepoRootPath = sec.Key("ROOT").MustString(path.Join(homeDir, "gitea-repositories"))
forcePathSeparator(RepoRootPath)
if !filepath.IsAbs(RepoRootPath) {
@@ -819,6 +925,8 @@ please consider changing to GITEA_CUSTOM`)
log.Fatal(4, "Failed to map Repository.Editor settings: %v", err)
} else if err = Cfg.Section("repository.upload").MapTo(&Repository.Upload); err != nil {
log.Fatal(4, "Failed to map Repository.Upload settings: %v", err)
+ } else if err = Cfg.Section("repository.local").MapTo(&Repository.Local); err != nil {
+ log.Fatal(4, "Failed to map Repository.Local settings: %v", err)
}
if !filepath.IsAbs(Repository.Upload.TempPath) {
@@ -875,14 +983,20 @@ please consider changing to GITEA_CUSTOM`)
log.Fatal(4, "Failed to map Cron settings: %v", err)
} else if err = Cfg.Section("git").MapTo(&Git); err != nil {
log.Fatal(4, "Failed to map Git settings: %v", err)
- } else if err = Cfg.Section("mirror").MapTo(&Mirror); err != nil {
- log.Fatal(4, "Failed to map Mirror settings: %v", err)
} else if err = Cfg.Section("api").MapTo(&API); err != nil {
log.Fatal(4, "Failed to map API settings: %v", err)
}
- if Mirror.DefaultInterval <= 0 {
- Mirror.DefaultInterval = 24
+ sec = Cfg.Section("mirror")
+ Mirror.MinInterval = sec.Key("MIN_INTERVAL").MustDuration(10 * time.Minute)
+ Mirror.DefaultInterval = sec.Key("DEFAULT_INTERVAL").MustDuration(8 * time.Hour)
+ if Mirror.MinInterval.Minutes() < 1 {
+ log.Warn("Mirror.MinInterval is too low")
+ Mirror.MinInterval = 1 * time.Minute
+ }
+ if Mirror.DefaultInterval < Mirror.MinInterval {
+ log.Warn("Mirror.DefaultInterval is less than Mirror.MinInterval")
+ Mirror.DefaultInterval = time.Hour * 8
}
Langs = Cfg.Section("i18n").Key("LANGS").Strings(",")
@@ -917,7 +1031,14 @@ var Service struct {
EnableReverseProxyAutoRegister bool
EnableCaptcha bool
DefaultKeepEmailPrivate bool
+ DefaultAllowCreateOrganization bool
NoReplyAddress string
+
+ // OpenID settings
+ EnableOpenIDSignIn bool
+ EnableOpenIDSignUp bool
+ OpenIDWhitelist []*regexp.Regexp
+ OpenIDBlacklist []*regexp.Regexp
}
func newService() {
@@ -931,7 +1052,27 @@ func newService() {
Service.EnableReverseProxyAutoRegister = sec.Key("ENABLE_REVERSE_PROXY_AUTO_REGISTRATION").MustBool()
Service.EnableCaptcha = sec.Key("ENABLE_CAPTCHA").MustBool()
Service.DefaultKeepEmailPrivate = sec.Key("DEFAULT_KEEP_EMAIL_PRIVATE").MustBool()
+ Service.DefaultAllowCreateOrganization = sec.Key("DEFAULT_ALLOW_CREATE_ORGANIZATION").MustBool(true)
Service.NoReplyAddress = sec.Key("NO_REPLY_ADDRESS").MustString("noreply.example.org")
+
+ sec = Cfg.Section("openid")
+ Service.EnableOpenIDSignIn = sec.Key("ENABLE_OPENID_SIGNIN").MustBool(false)
+ Service.EnableOpenIDSignUp = sec.Key("ENABLE_OPENID_SIGNUP").MustBool(!Service.DisableRegistration && Service.EnableOpenIDSignIn)
+ pats := sec.Key("WHITELISTED_URIS").Strings(" ")
+ if len(pats) != 0 {
+ Service.OpenIDWhitelist = make([]*regexp.Regexp, len(pats))
+ for i, p := range pats {
+ Service.OpenIDWhitelist[i] = regexp.MustCompilePOSIX(p)
+ }
+ }
+ pats = sec.Key("BLACKLISTED_URIS").Strings(" ")
+ if len(pats) != 0 {
+ Service.OpenIDBlacklist = make([]*regexp.Regexp, len(pats))
+ for i, p := range pats {
+ Service.OpenIDBlacklist[i] = regexp.MustCompilePOSIX(p)
+ }
+ }
+
}
var logLevels = map[string]string{
@@ -1137,11 +1278,11 @@ func newSessionService() {
// Mailer represents mail service.
type Mailer struct {
// Mailer
- QueueLength int
- Name string
- From string
- FromEmail string
- EnableHTMLAlternative bool
+ QueueLength int
+ Name string
+ From string
+ FromEmail string
+ SendAsPlainText bool
// SMTP sender
Host string
@@ -1170,9 +1311,9 @@ func newMailService() {
}
MailService = &Mailer{
- QueueLength: sec.Key("SEND_BUFFER_LEN").MustInt(100),
- Name: sec.Key("NAME").MustString(AppName),
- EnableHTMLAlternative: sec.Key("ENABLE_HTML_ALTERNATIVE").MustBool(),
+ QueueLength: sec.Key("SEND_BUFFER_LEN").MustInt(100),
+ Name: sec.Key("NAME").MustString(AppName),
+ SendAsPlainText: sec.Key("SEND_AS_PLAIN_TEXT").MustBool(false),
Host: sec.Key("HOST").String(),
User: sec.Key("USER").String(),
@@ -1189,6 +1330,11 @@ func newMailService() {
}
MailService.From = sec.Key("FROM").MustString(MailService.User)
+ if sec.HasKey("ENABLE_HTML_ALTERNATIVE") {
+ log.Warn("ENABLE_HTML_ALTERNATIVE is deprecated, use SEND_AS_PLAIN_TEXT")
+ MailService.SendAsPlainText = !sec.Key("ENABLE_HTML_ALTERNATIVE").MustBool(false)
+ }
+
parsed, err := mail.ParseAddress(MailService.From)
if err != nil {
log.Fatal(4, "Invalid mailer.FROM (%s): %v", MailService.From, err)
@@ -1225,7 +1371,7 @@ func newWebhookService() {
Webhook.QueueLength = sec.Key("QUEUE_LENGTH").MustInt(1000)
Webhook.DeliverTimeout = sec.Key("DELIVER_TIMEOUT").MustInt(5)
Webhook.SkipTLSVerify = sec.Key("SKIP_TLS_VERIFY").MustBool()
- Webhook.Types = []string{"gogs", "slack"}
+ Webhook.Types = []string{"gitea", "gogs", "slack"}
Webhook.PagingNum = sec.Key("PAGING_NUM").MustInt(10)
}
diff --git a/modules/sync/exclusive_pool.go b/modules/sync/exclusive_pool.go
index 744cc7c..7c1a893 100644
--- a/modules/sync/exclusive_pool.go
+++ b/modules/sync/exclusive_pool.go
@@ -39,7 +39,7 @@ func NewExclusivePool() *ExclusivePool {
}
// CheckIn checks in an instance to the pool and hangs while instance
-// with same indentity is using the lock.
+// with same identity is using the lock.
func (p *ExclusivePool) CheckIn(identity string) {
p.lock.Lock()
diff --git a/modules/sync/status_pool.go b/modules/sync/status_pool.go
index 46d15aa..acbd93a 100644
--- a/modules/sync/status_pool.go
+++ b/modules/sync/status_pool.go
@@ -24,6 +24,18 @@ func NewStatusTable() *StatusTable {
}
}
+// StartIfNotRunning sets value of given name to true if not already in pool.
+// Returns whether set value was set to true
+func (p *StatusTable) StartIfNotRunning(name string) bool {
+ p.lock.Lock()
+ _, ok := p.pool[name]
+ if !ok {
+ p.pool[name] = struct{}{}
+ }
+ p.lock.Unlock()
+ return !ok
+}
+
// Start sets value of given name to true in the pool.
func (p *StatusTable) Start(name string) {
p.lock.Lock()
diff --git a/modules/sync/status_pool_test.go b/modules/sync/status_pool_test.go
index eef3ff6..b388c50 100644
--- a/modules/sync/status_pool_test.go
+++ b/modules/sync/status_pool_test.go
@@ -18,6 +18,15 @@ func Test_StatusTable(t *testing.T) {
table.Start("xyz")
assert.True(t, table.IsRunning("xyz"))
+ assert.False(t, table.StartIfNotRunning("xyz"))
+ assert.True(t, table.IsRunning("xyz"))
+
+ table.Stop("xyz")
+ assert.False(t, table.IsRunning("xyz"))
+
+ assert.True(t, table.StartIfNotRunning("xyz"))
+ assert.True(t, table.IsRunning("xyz"))
+
table.Stop("xyz")
assert.False(t, table.IsRunning("xyz"))
}
diff --git a/modules/sync/unique_queue.go b/modules/sync/unique_queue.go
index 7dcaa16..ca7c21a 100644
--- a/modules/sync/unique_queue.go
+++ b/modules/sync/unique_queue.go
@@ -36,7 +36,7 @@ func (q *UniqueQueue) Queue() <-chan string {
return q.queue
}
-// Exist returns true if there is an instance with given indentity
+// Exist returns true if there is an instance with given identity
// exists in the queue.
func (q *UniqueQueue) Exist(id interface{}) bool {
return q.table.IsRunning(com.ToStr(id))
diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index fc02158..821ff6c 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -66,6 +66,7 @@ func NewFuncMap() []template.FuncMap {
},
"AvatarLink": base.AvatarLink,
"Safe": Safe,
+ "SafeJS": SafeJS,
"Sanitize": bluemonday.UGCPolicy().Sanitize,
"Str2html": Str2html,
"TimeSince": base.TimeSince,
@@ -82,6 +83,9 @@ func NewFuncMap() []template.FuncMap {
"DateFmtShort": func(t time.Time) string {
return t.Format("Jan 02, 2006")
},
+ "SizeFmt": func(s int64) string {
+ return base.FileSize(s)
+ },
"List": List,
"SubStr": func(str string, start, length int) string {
if len(str) == 0 {
@@ -110,6 +114,15 @@ func NewFuncMap() []template.FuncMap {
"ThemeColorMetaTag": func() string {
return setting.UI.ThemeColorMetaTag
},
+ "MetaAuthor": func() string {
+ return setting.UI.Meta.Author
+ },
+ "MetaDescription": func() string {
+ return setting.UI.Meta.Description
+ },
+ "MetaKeywords": func() string {
+ return setting.UI.Meta.Keywords
+ },
"FilenameIsImage": func(filename string) bool {
mimeType := mime.TypeByExtension(filepath.Ext(filename))
return strings.HasPrefix(mimeType, "image/")
@@ -150,6 +163,11 @@ func Safe(raw string) template.HTML {
return template.HTML(raw)
}
+// SafeJS renders raw as JS
+func SafeJS(raw string) template.JS {
+ return template.JS(raw)
+}
+
// Str2html render Markdown text to HTML
func Str2html(raw string) template.HTML {
return template.HTML(markdown.Sanitize(raw))
diff --git a/modules/test/context_tests.go b/modules/test/context_tests.go
new file mode 100644
index 0000000..6bb7ffe
--- /dev/null
+++ b/modules/test/context_tests.go
@@ -0,0 +1,150 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package test
+
+import (
+ "net/http"
+ "net/url"
+ "testing"
+
+ "code.gitea.io/gitea/modules/context"
+
+ "github.com/stretchr/testify/assert"
+ macaron "gopkg.in/macaron.v1"
+)
+
+// MockContext mock context for unit tests
+func MockContext(t *testing.T) *context.Context {
+ var macaronContext *macaron.Context
+ mac := macaron.New()
+ mac.Get("*/", func(ctx *macaron.Context) {
+ macaronContext = ctx
+ })
+ req, err := http.NewRequest("GET", "star", nil)
+ assert.NoError(t, err)
+ req.Form = url.Values{}
+ mac.ServeHTTP(&mockResponseWriter{}, req)
+ assert.NotNil(t, macaronContext)
+ assert.EqualValues(t, req, macaronContext.Req.Request)
+ macaronContext.Locale = &mockLocale{}
+ macaronContext.Resp = &mockResponseWriter{}
+ macaronContext.Render = &mockRender{ResponseWriter: macaronContext.Resp}
+ return &context.Context{
+ Context: macaronContext,
+ }
+}
+
+type mockLocale struct{}
+
+func (l mockLocale) Language() string {
+ return "en"
+}
+
+func (l mockLocale) Tr(s string, _ ...interface{}) string {
+ return "test translation"
+}
+
+type mockResponseWriter struct {
+ status int
+ size int
+}
+
+func (rw *mockResponseWriter) Header() http.Header {
+ return map[string][]string{}
+}
+
+func (rw *mockResponseWriter) Write(b []byte) (int, error) {
+ rw.size += len(b)
+ return len(b), nil
+}
+
+func (rw *mockResponseWriter) WriteHeader(status int) {
+ rw.status = status
+}
+
+func (rw *mockResponseWriter) Flush() {
+}
+
+func (rw *mockResponseWriter) Status() int {
+ return rw.status
+}
+
+func (rw *mockResponseWriter) Written() bool {
+ return rw.status > 0
+}
+
+func (rw *mockResponseWriter) Size() int {
+ return rw.size
+}
+
+func (rw *mockResponseWriter) Before(b macaron.BeforeFunc) {
+ b(rw)
+}
+
+type mockRender struct {
+ http.ResponseWriter
+}
+
+func (tr *mockRender) SetResponseWriter(rw http.ResponseWriter) {
+ tr.ResponseWriter = rw
+}
+
+func (tr *mockRender) JSON(int, interface{}) {
+}
+
+func (tr *mockRender) JSONString(interface{}) (string, error) {
+ return "", nil
+}
+
+func (tr *mockRender) RawData(status int, _ []byte) {
+ tr.Status(status)
+}
+
+func (tr *mockRender) PlainText(status int, _ []byte) {
+ tr.Status(status)
+}
+
+func (tr *mockRender) HTML(status int, _ string, _ interface{}, _ ...macaron.HTMLOptions) {
+ tr.Status(status)
+}
+
+func (tr *mockRender) HTMLSet(status int, _ string, _ string, _ interface{}, _ ...macaron.HTMLOptions) {
+ tr.Status(status)
+}
+
+func (tr *mockRender) HTMLSetString(string, string, interface{}, ...macaron.HTMLOptions) (string, error) {
+ return "", nil
+}
+
+func (tr *mockRender) HTMLString(string, interface{}, ...macaron.HTMLOptions) (string, error) {
+ return "", nil
+}
+
+func (tr *mockRender) HTMLSetBytes(string, string, interface{}, ...macaron.HTMLOptions) ([]byte, error) {
+ return nil, nil
+}
+
+func (tr *mockRender) HTMLBytes(string, interface{}, ...macaron.HTMLOptions) ([]byte, error) {
+ return nil, nil
+}
+
+func (tr *mockRender) XML(status int, _ interface{}) {
+ tr.Status(status)
+}
+
+func (tr *mockRender) Error(status int, _ ...string) {
+ tr.Status(status)
+}
+
+func (tr *mockRender) Status(status int) {
+ tr.ResponseWriter.WriteHeader(status)
+}
+
+func (tr *mockRender) SetTemplatePath(string, string) {
+}
+
+func (tr *mockRender) HasTemplateSet(string) bool {
+ return true
+}
diff --git a/modules/util/remove.go b/modules/util/remove.go
new file mode 100644
index 0000000..8bca149
--- /dev/null
+++ b/modules/util/remove.go
@@ -0,0 +1,14 @@
+// +build !windows,!go1.7 go1.7
+
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package util
+
+import "os"
+
+// RemoveAll files from Go version 1.7 onward
+func RemoveAll(path string) error {
+ return os.RemoveAll(path)
+}
diff --git a/modules/util/remove_windows.go b/modules/util/remove_windows.go
new file mode 100644
index 0000000..f5891a5
--- /dev/null
+++ b/modules/util/remove_windows.go
@@ -0,0 +1,16 @@
+// +build windows,!go1.7
+
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package util
+
+// RemoveAll files from path on windows
+// workaround for Go not being able to remove read-only files/folders: https://github.com/golang/go/issues/9606
+// this bug should be fixed on Go 1.7, so the workaround should be removed when Gitea don't support Go 1.6 anymore:
+// https://github.com/golang/go/commit/2ffb3e5d905b5622204d199128dec06cefd57790
+func RemoveAll(path string) error {
+ path = strings.Replace(path, "/", "\\", -1)
+ return exec.Command("cmd", "/C", "rmdir", "/S", "/Q", path).Run()
+}
diff --git a/modules/validation/binding.go b/modules/validation/binding.go
new file mode 100644
index 0000000..783499e
--- /dev/null
+++ b/modules/validation/binding.go
@@ -0,0 +1,102 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package validation
+
+import (
+ "fmt"
+ "net/url"
+ "regexp"
+ "strings"
+
+ "github.com/go-macaron/binding"
+)
+
+const (
+ // ErrGitRefName is git reference name error
+ ErrGitRefName = "GitRefNameError"
+)
+
+var (
+ // GitRefNamePattern is regular expression wirh unallowed characters in git reference name
+ GitRefNamePattern = regexp.MustCompile("[^\\d\\w-_\\./]")
+)
+
+// AddBindingRules adds additional binding rules
+func AddBindingRules() {
+ addGitRefNameBindingRule()
+ addValidURLBindingRule()
+}
+
+func addGitRefNameBindingRule() {
+ // Git refname validation rule
+ binding.AddRule(&binding.Rule{
+ IsMatch: func(rule string) bool {
+ return strings.HasPrefix(rule, "GitRefName")
+ },
+ IsValid: func(errs binding.Errors, name string, val interface{}) (bool, binding.Errors) {
+ str := fmt.Sprintf("%v", val)
+
+ if GitRefNamePattern.MatchString(str) {
+ errs.Add([]string{name}, ErrGitRefName, "GitRefName")
+ return false, errs
+ }
+ // Additional rules as described at https://www.kernel.org/pub/software/scm/git/docs/git-check-ref-format.html
+ if strings.HasPrefix(str, "/") || strings.HasSuffix(str, "/") ||
+ strings.HasPrefix(str, ".") || strings.HasSuffix(str, ".") ||
+ strings.HasSuffix(str, ".lock") ||
+ strings.Contains(str, "..") || strings.Contains(str, "//") {
+ errs.Add([]string{name}, ErrGitRefName, "GitRefName")
+ return false, errs
+ }
+
+ return true, errs
+ },
+ })
+}
+
+func addValidURLBindingRule() {
+ // URL validation rule
+ binding.AddRule(&binding.Rule{
+ IsMatch: func(rule string) bool {
+ return strings.HasPrefix(rule, "ValidUrl")
+ },
+ IsValid: func(errs binding.Errors, name string, val interface{}) (bool, binding.Errors) {
+ str := fmt.Sprintf("%v", val)
+ if len(str) != 0 {
+ if u, err := url.ParseRequestURI(str); err != nil ||
+ (u.Scheme != "http" && u.Scheme != "https") ||
+ !validPort(portOnly(u.Host)) {
+ errs.Add([]string{name}, binding.ERR_URL, "Url")
+ return false, errs
+ }
+ }
+
+ return true, errs
+ },
+ })
+}
+
+func portOnly(hostport string) string {
+ colon := strings.IndexByte(hostport, ':')
+ if colon == -1 {
+ return ""
+ }
+ if i := strings.Index(hostport, "]:"); i != -1 {
+ return hostport[i+len("]:"):]
+ }
+ if strings.Contains(hostport, "]") {
+ return ""
+ }
+ return hostport[colon+len(":"):]
+}
+
+func validPort(p string) bool {
+ for _, r := range []byte(p) {
+ if r < '0' || r > '9' {
+ return false
+ }
+ }
+ return true
+}
diff --git a/modules/validation/binding_test.go b/modules/validation/binding_test.go
new file mode 100644
index 0000000..7bc41ac
--- /dev/null
+++ b/modules/validation/binding_test.go
@@ -0,0 +1,62 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package validation
+
+import (
+ "fmt"
+ "net/http"
+ "net/http/httptest"
+ "testing"
+
+ "github.com/go-macaron/binding"
+ "github.com/stretchr/testify/assert"
+ "gopkg.in/macaron.v1"
+)
+
+const (
+ testRoute = "/test"
+)
+
+type (
+ validationTestCase struct {
+ description string
+ data interface{}
+ expectedErrors binding.Errors
+ }
+
+ handlerFunc func(interface{}, ...interface{}) macaron.Handler
+
+ modeler interface {
+ Model() string
+ }
+
+ TestForm struct {
+ BranchName string `form:"BranchName" binding:"GitRefName"`
+ URL string `form:"ValidUrl" binding:"ValidUrl"`
+ }
+)
+
+func performValidationTest(t *testing.T, testCase validationTestCase) {
+ httpRecorder := httptest.NewRecorder()
+ m := macaron.Classic()
+
+ m.Post(testRoute, binding.Validate(testCase.data), func(actual binding.Errors) {
+ assert.Equal(t, fmt.Sprintf("%+v", testCase.expectedErrors), fmt.Sprintf("%+v", actual))
+ })
+
+ req, err := http.NewRequest("POST", testRoute, nil)
+ if err != nil {
+ panic(err)
+ }
+
+ m.ServeHTTP(httpRecorder, req)
+
+ switch httpRecorder.Code {
+ case http.StatusNotFound:
+ panic("Routing is messed up in test fixture (got 404): check methods and paths")
+ case http.StatusInternalServerError:
+ panic("Something bad happened on '" + testCase.description + "'")
+ }
+}
diff --git a/modules/validation/refname_test.go b/modules/validation/refname_test.go
new file mode 100644
index 0000000..b101ffa
--- /dev/null
+++ b/modules/validation/refname_test.go
@@ -0,0 +1,142 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package validation
+
+import (
+ "testing"
+
+ "github.com/go-macaron/binding"
+)
+
+var gitRefNameValidationTestCases = []validationTestCase{
+ {
+ description: "Referece contains only characters",
+ data: TestForm{
+ BranchName: "test",
+ },
+ expectedErrors: binding.Errors{},
+ },
+ {
+ description: "Reference name contains single slash",
+ data: TestForm{
+ BranchName: "feature/test",
+ },
+ expectedErrors: binding.Errors{},
+ },
+ {
+ description: "Reference name contains backslash",
+ data: TestForm{
+ BranchName: "feature\\test",
+ },
+ expectedErrors: binding.Errors{
+ binding.Error{
+ FieldNames: []string{"BranchName"},
+ Classification: ErrGitRefName,
+ Message: "GitRefName",
+ },
+ },
+ },
+ {
+ description: "Reference name starts with dot",
+ data: TestForm{
+ BranchName: ".test",
+ },
+ expectedErrors: binding.Errors{
+ binding.Error{
+ FieldNames: []string{"BranchName"},
+ Classification: ErrGitRefName,
+ Message: "GitRefName",
+ },
+ },
+ },
+ {
+ description: "Reference name ends with dot",
+ data: TestForm{
+ BranchName: "test.",
+ },
+ expectedErrors: binding.Errors{
+ binding.Error{
+ FieldNames: []string{"BranchName"},
+ Classification: ErrGitRefName,
+ Message: "GitRefName",
+ },
+ },
+ },
+ {
+ description: "Reference name starts with slash",
+ data: TestForm{
+ BranchName: "/test",
+ },
+ expectedErrors: binding.Errors{
+ binding.Error{
+ FieldNames: []string{"BranchName"},
+ Classification: ErrGitRefName,
+ Message: "GitRefName",
+ },
+ },
+ },
+ {
+ description: "Reference name ends with slash",
+ data: TestForm{
+ BranchName: "test/",
+ },
+ expectedErrors: binding.Errors{
+ binding.Error{
+ FieldNames: []string{"BranchName"},
+ Classification: ErrGitRefName,
+ Message: "GitRefName",
+ },
+ },
+ },
+ {
+ description: "Reference name ends with .lock",
+ data: TestForm{
+ BranchName: "test.lock",
+ },
+ expectedErrors: binding.Errors{
+ binding.Error{
+ FieldNames: []string{"BranchName"},
+ Classification: ErrGitRefName,
+ Message: "GitRefName",
+ },
+ },
+ },
+ {
+ description: "Reference name contains multiple consecutive dots",
+ data: TestForm{
+ BranchName: "te..st",
+ },
+ expectedErrors: binding.Errors{
+ binding.Error{
+ FieldNames: []string{"BranchName"},
+ Classification: ErrGitRefName,
+ Message: "GitRefName",
+ },
+ },
+ },
+ {
+ description: "Reference name contains multiple consecutive slashes",
+ data: TestForm{
+ BranchName: "te//st",
+ },
+ expectedErrors: binding.Errors{
+ binding.Error{
+ FieldNames: []string{"BranchName"},
+ Classification: ErrGitRefName,
+ Message: "GitRefName",
+ },
+ },
+ },
+}
+
+func Test_GitRefNameValidation(t *testing.T) {
+ AddBindingRules()
+
+ for _, testCase := range gitRefNameValidationTestCases {
+ t.Run(testCase.description, func(t *testing.T) {
+ performValidationTest(t, testCase)
+ })
+ }
+}
diff --git a/modules/validation/validurl_test.go b/modules/validation/validurl_test.go
new file mode 100644
index 0000000..ba4d7d5
--- /dev/null
+++ b/modules/validation/validurl_test.go
@@ -0,0 +1,111 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package validation
+
+import (
+ "testing"
+
+ "github.com/go-macaron/binding"
+)
+
+var urlValidationTestCases = []validationTestCase{
+ {
+ description: "Empty URL",
+ data: TestForm{
+ URL: "",
+ },
+ expectedErrors: binding.Errors{},
+ },
+ {
+ description: "URL without port",
+ data: TestForm{
+ URL: "http://test.lan/",
+ },
+ expectedErrors: binding.Errors{},
+ },
+ {
+ description: "URL with port",
+ data: TestForm{
+ URL: "http://test.lan:3000/",
+ },
+ expectedErrors: binding.Errors{},
+ },
+ {
+ description: "URL with IPv6 address without port",
+ data: TestForm{
+ URL: "http://[::1]/",
+ },
+ expectedErrors: binding.Errors{},
+ },
+ {
+ description: "URL with IPv6 address with port",
+ data: TestForm{
+ URL: "http://[::1]:3000/",
+ },
+ expectedErrors: binding.Errors{},
+ },
+ {
+ description: "Invalid URL",
+ data: TestForm{
+ URL: "http//test.lan/",
+ },
+ expectedErrors: binding.Errors{
+ binding.Error{
+ FieldNames: []string{"URL"},
+ Classification: binding.ERR_URL,
+ Message: "Url",
+ },
+ },
+ },
+ {
+ description: "Invalid schema",
+ data: TestForm{
+ URL: "ftp://test.lan/",
+ },
+ expectedErrors: binding.Errors{
+ binding.Error{
+ FieldNames: []string{"URL"},
+ Classification: binding.ERR_URL,
+ Message: "Url",
+ },
+ },
+ },
+ {
+ description: "Invalid port",
+ data: TestForm{
+ URL: "http://test.lan:3x4/",
+ },
+ expectedErrors: binding.Errors{
+ binding.Error{
+ FieldNames: []string{"URL"},
+ Classification: binding.ERR_URL,
+ Message: "Url",
+ },
+ },
+ },
+ {
+ description: "Invalid port with IPv6 address",
+ data: TestForm{
+ URL: "http://[::1]:3x4/",
+ },
+ expectedErrors: binding.Errors{
+ binding.Error{
+ FieldNames: []string{"URL"},
+ Classification: binding.ERR_URL,
+ Message: "Url",
+ },
+ },
+ },
+}
+
+func Test_ValidURLValidation(t *testing.T) {
+ AddBindingRules()
+
+ for _, testCase := range urlValidationTestCases {
+ t.Run(testCase.description, func(t *testing.T) {
+ performValidationTest(t, testCase)
+ })
+ }
+}
diff --git a/options/gitignore/Actionscript b/options/gitignore/Actionscript
index f112f7f..11e612e 100644
--- a/options/gitignore/Actionscript
+++ b/options/gitignore/Actionscript
@@ -2,10 +2,18 @@
bin/
bin-debug/
bin-release/
+[Oo]bj/ # FlashDevelop obj
+[Bb]in/ # FlashDevelop bin
# Other files and folders
.settings/
+# Executables
+*.swf
+*.air
+*.ipa
+*.apk
+
# Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties`
# should NOT be excluded as they contain compiler settings and other important
# information for Eclipse / Flash Builder.
diff --git a/options/gitignore/Android b/options/gitignore/Android
index c9c2248..520a863 100644
--- a/options/gitignore/Android
+++ b/options/gitignore/Android
@@ -2,7 +2,7 @@
*.apk
*.ap_
-# Files for the Dalvik VM
+# Files for the ART/Dalvik VM
*.dex
# Java class files
@@ -11,6 +11,7 @@
# Generated files
bin/
gen/
+out/
# Gradle files
.gradle/
@@ -30,3 +31,25 @@ proguard/
# Android Studio captures folder
captures/
+
+# Intellij
+*.iml
+.idea/workspace.xml
+.idea/tasks.xml
+.idea/gradle.xml
+.idea/dictionaries
+.idea/libraries
+
+# Keystore files
+*.jks
+
+# External native build folder generated in Android Studio 2.2 and later
+.externalNativeBuild
+
+# Google Services (e.g. APIs or Firebase)
+google-services.json
+
+# Freeline
+freeline.py
+freeline/
+freeline_project_description.json
diff --git a/options/gitignore/Ansible b/options/gitignore/Ansible
new file mode 100644
index 0000000..a8b42eb
--- /dev/null
+++ b/options/gitignore/Ansible
@@ -0,0 +1 @@
+*.retry
diff --git a/options/gitignore/Autotools b/options/gitignore/Autotools
index 053ff52..e3923f9 100644
--- a/options/gitignore/Autotools
+++ b/options/gitignore/Autotools
@@ -1,14 +1,33 @@
# http://www.gnu.org/software/automake
Makefile.in
+/ar-lib
+/mdate-sh
+/py-compile
+/test-driver
+/ylwrap
# http://www.gnu.org/software/autoconf
/autom4te.cache
+/autoscan.log
+/autoscan-*.log
/aclocal.m4
/compile
+/config.guess
+/config.h.in
+/config.sub
/configure
+/configure.scan
/depcomp
/install-sh
/missing
/stamp-h1
+
+# https://www.gnu.org/software/libtool/
+
+/ltmain.sh
+
+# http://www.gnu.org/software/texinfo
+
+/texinfo.tex
diff --git a/options/gitignore/Bazaar b/options/gitignore/Bazaar
new file mode 100644
index 0000000..3cbbcbd
--- /dev/null
+++ b/options/gitignore/Bazaar
@@ -0,0 +1,2 @@
+.bzr/
+.bzrignore
diff --git a/options/gitignore/C b/options/gitignore/C
index bbf313b..8a365b3 100644
--- a/options/gitignore/C
+++ b/options/gitignore/C
@@ -1,9 +1,17 @@
+# Prerequisites
+*.d
+
# Object files
*.o
*.ko
*.obj
*.elf
+# Linker output
+*.ilk
+*.map
+*.exp
+
# Precompiled Headers
*.gch
*.pch
@@ -30,3 +38,14 @@
# Debug files
*.dSYM/
+*.su
+*.idb
+*.pdb
+
+# Kernel Module Compile Results
+*.mod*
+*.cmd
+modules.order
+Module.symvers
+Mkfile.old
+dkms.conf
diff --git a/options/gitignore/C Sharp b/options/gitignore/C Sharp
deleted file mode 100644
index f638296..0000000
--- a/options/gitignore/C Sharp
+++ /dev/null
@@ -1,108 +0,0 @@
-# Build Folders (you can keep bin if you'd like, to store dlls and pdbs)
-[Bb]in/
-[Oo]bj/
-
-# mstest test results
-TestResults
-
-## Ignore Visual Studio temporary files, build results, and
-## files generated by popular Visual Studio add-ons.
-
-# User-specific files
-*.suo
-*.user
-*.sln.docstates
-
-# Build results
-[Dd]ebug/
-[Rr]elease/
-x64/
-*_i.c
-*_p.c
-*.ilk
-*.meta
-*.obj
-*.pch
-*.pdb
-*.pgc
-*.pgd
-*.rsp
-*.sbr
-*.tlb
-*.tli
-*.tlh
-*.tmp
-*.log
-*.vspscc
-*.vssscc
-.builds
-
-# Visual C++ cache files
-ipch/
-*.aps
-*.ncb
-*.opensdf
-*.sdf
-
-# Visual Studio profiler
-*.psess
-*.vsp
-*.vspx
-
-# Guidance Automation Toolkit
-*.gpState
-
-# ReSharper is a .NET coding add-in
-_ReSharper*
-
-# NCrunch
-*.ncrunch*
-.*crunch*.local.xml
-
-# Installshield output folder
-[Ee]xpress
-
-# DocProject is a documentation generator add-in
-DocProject/buildhelp/
-DocProject/Help/*.HxT
-DocProject/Help/*.HxC
-DocProject/Help/*.hhc
-DocProject/Help/*.hhk
-DocProject/Help/*.hhp
-DocProject/Help/Html2
-DocProject/Help/html
-
-# Click-Once directory
-publish
-
-# Publish Web Output
-*.Publish.xml
-
-# NuGet Packages Directory
-packages
-
-# Windows Azure Build Output
-csx
-*.build.csdef
-
-# Windows Store app package directory
-AppPackages/
-
-# Others
-[Bb]in
-[Oo]bj
-sql
-TestResults
-[Tt]est[Rr]esult*
-*.Cache
-ClientBin
-[Ss]tyle[Cc]op.*
-~$*
-*.dbmdl
-Generated_Code #added for RIA/Silverlight projects
-
-# Backup & report files from converting an old project file to a newer
-# Visual Studio version. Backup files are not needed, because we have git ;-)
-_UpgradeReport_Files/
-Backup*/
-UpgradeLog*.XML
diff --git a/options/gitignore/C++ b/options/gitignore/C++
index b8bd026..259148f 100644
--- a/options/gitignore/C++
+++ b/options/gitignore/C++
@@ -1,3 +1,6 @@
+# Prerequisites
+*.d
+
# Compiled Object files
*.slo
*.lo
@@ -15,6 +18,7 @@
# Fortran module files
*.mod
+*.smod
# Compiled Static libraries
*.lai
diff --git a/options/gitignore/CMake b/options/gitignore/CMake
index b558e9a..9ea395f 100644
--- a/options/gitignore/CMake
+++ b/options/gitignore/CMake
@@ -1,6 +1,9 @@
CMakeCache.txt
CMakeFiles
CMakeScripts
+Testing
Makefile
cmake_install.cmake
install_manifest.txt
+compile_commands.json
+CTestTestfile.cmake
diff --git a/options/gitignore/CVS b/options/gitignore/CVS
index 01ba863..1695352 100644
--- a/options/gitignore/CVS
+++ b/options/gitignore/CVS
@@ -1,4 +1,4 @@
/CVS/*
-*/CVS/*
+**/CVS/*
.cvsignore
*/.cvsignore
diff --git a/options/gitignore/CakePHP b/options/gitignore/CakePHP
index 55a665e..c6597e4 100644
--- a/options/gitignore/CakePHP
+++ b/options/gitignore/CakePHP
@@ -2,8 +2,20 @@
/vendor/*
/config/app.php
-/tmp/*
+
+/tmp/cache/models/*
+!/tmp/cache/models/empty
+/tmp/cache/persistent/*
+!/tmp/cache/persistent/empty
+/tmp/cache/views/*
+!/tmp/cache/views/empty
+/tmp/sessions/*
+!/tmp/sessions/empty
+/tmp/tests/*
+!/tmp/tests/empty
+
/logs/*
+!/logs/empty
# CakePHP 2
diff --git a/options/gitignore/Calabash b/options/gitignore/Calabash
new file mode 100644
index 0000000..8a75b32
--- /dev/null
+++ b/options/gitignore/Calabash
@@ -0,0 +1,10 @@
+# Calabash / Cucumber
+rerun/
+reports/
+screenshots/
+screenshot*.png
+test-servers/
+
+# bundler
+.bundle
+vendor
diff --git a/options/gitignore/Clojure b/options/gitignore/Clojure
index a9fe6fb..e69de29 100644
--- a/options/gitignore/Clojure
+++ b/options/gitignore/Clojure
@@ -1,13 +0,0 @@
-pom.xml
-pom.xml.asc
-*.jar
-*.class
-/lib/
-/classes/
-/target/
-/checkouts/
-.lein-deps-sum
-.lein-repl-history
-.lein-plugins/
-.lein-failures
-.nrepl-port
diff --git a/options/gitignore/CodeIgniter b/options/gitignore/CodeIgniter
index 0f77d9e..bfea17c 100644
--- a/options/gitignore/CodeIgniter
+++ b/options/gitignore/CodeIgniter
@@ -4,3 +4,14 @@
*/cache/*
!*/cache/index.html
!*/cache/.htaccess
+
+user_guide_src/build/*
+user_guide_src/cilexer/build/*
+user_guide_src/cilexer/dist/*
+user_guide_src/cilexer/pycilexer.egg-info/*
+
+#codeigniter 3
+application/logs/*
+!application/logs/index.html
+!application/logs/.htaccess
+/vendor/
diff --git a/options/gitignore/CommonLisp b/options/gitignore/CommonLisp
index 4806e58..e7de127 100644
--- a/options/gitignore/CommonLisp
+++ b/options/gitignore/CommonLisp
@@ -1,3 +1,17 @@
*.FASL
*.fasl
*.lisp-temp
+*.dfsl
+*.pfsl
+*.d64fsl
+*.p64fsl
+*.lx64fsl
+*.lx32fsl
+*.dx64fsl
+*.dx32fsl
+*.fx64fsl
+*.fx32fsl
+*.sx64fsl
+*.sx32fsl
+*.wx64fsl
+*.wx32fsl
diff --git a/options/gitignore/Composer b/options/gitignore/Composer
index 3a693c9..c422267 100644
--- a/options/gitignore/Composer
+++ b/options/gitignore/Composer
@@ -1,5 +1,5 @@
composer.phar
-vendor/
+/vendor/
# Commit your application's lock file http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file
# You may choose to ignore a library lock file http://getcomposer.org/doc/02-libraries.md#lock-file
diff --git a/options/gitignore/Concrete5 b/options/gitignore/Concrete5
index 9aa215a..1fe5361 100644
--- a/options/gitignore/Concrete5
+++ b/options/gitignore/Concrete5
@@ -1,3 +1,4 @@
config/site.php
files/cache/*
files/tmp/*
+.htaccess
diff --git a/options/gitignore/Coq b/options/gitignore/Coq
index d3083b3..f25a61d 100644
--- a/options/gitignore/Coq
+++ b/options/gitignore/Coq
@@ -1,3 +1,30 @@
-*.vo
+.*.aux
+*.a
+*.cma
+*.cmi
+*.cmo
+*.cmx
+*.cmxa
+*.cmxs
*.glob
+*.ml.d
+*.ml4.d
+*.mli.d
+*.mllib.d
+*.mlpack.d
+*.native
+*.o
*.v.d
+*.vio
+*.vo
+.coq-native/
+.csdp.cache
+.lia.cache
+.nia.cache
+.nlia.cache
+.nra.cache
+csdp.cache
+lia.cache
+nia.cache
+nlia.cache
+nra.cache
diff --git a/options/gitignore/D b/options/gitignore/D
new file mode 100644
index 0000000..74b926f
--- /dev/null
+++ b/options/gitignore/D
@@ -0,0 +1,24 @@
+# Compiled Object files
+*.o
+*.obj
+
+# Compiled Dynamic libraries
+*.so
+*.dylib
+*.dll
+
+# Compiled Static libraries
+*.a
+*.lib
+
+# Executables
+*.exe
+
+# DUB
+.dub
+docs.json
+__dummy.html
+docs/
+
+# Code coverage
+*.lst
diff --git a/options/gitignore/Dart b/options/gitignore/Dart
index 38548b3..4d2a4d6 100644
--- a/options/gitignore/Dart
+++ b/options/gitignore/Dart
@@ -1,15 +1,12 @@
-# Don’t commit the following directories created by pub.
-.buildlog
+# See https://www.dartlang.org/tools/private-files.html
+
+# Files and directories created by pub
+.packages
.pub/
build/
-packages
-.packages
-
-# Or the files created by dart2js.
-*.dart.js
-*.js_
-*.js.deps
-*.js.map
-
-# Include when developing application packages.
+# If you're building an application, you may want to check-in your pubspec.lock
pubspec.lock
+
+# Directory created by dartdoc
+# If you don't generate documentation locally you can remove this line.
+doc/api/
diff --git a/options/gitignore/Delphi b/options/gitignore/Delphi
index 8d5d458..19864c6 100644
--- a/options/gitignore/Delphi
+++ b/options/gitignore/Delphi
@@ -20,6 +20,10 @@
# Deployment Manager configuration file for your project. Added in Delphi XE2.
# Uncomment this if it is not mobile development and you do not use remote debug feature.
#*.deployproj
+#
+# C++ object files produced when C/C++ Output file generation is configured.
+# Uncomment this if you are not using external objects (zlib library for example).
+#*.obj
#
# Delphi compiler-generated binaries (safe to delete)
@@ -37,9 +41,13 @@
*.tds
*.dcu
*.lib
+*.a
+*.o
+*.ocx
# Delphi autogenerated files (duplicated info)
*.cfg
+*.hpp
*Resource.rc
# Delphi local files (user-specific info)
@@ -51,7 +59,8 @@
# Delphi history and backups
__history/
+__recovery/
*.~*
-# Castalia statistics file
+# Castalia statistics file (since XE7 Castalia is distributed with Delphi)
*.stat
diff --git a/options/gitignore/Dreamweaver b/options/gitignore/Dreamweaver
index 6a33373..0621a3d 100644
--- a/options/gitignore/Dreamweaver
+++ b/options/gitignore/Dreamweaver
@@ -1,3 +1,7 @@
# DW Dreamweaver added files
_notes
+_compareTemp
+configs/
dwsync.xml
+dw_php_codehinting.config
+*.mno
diff --git a/options/gitignore/Dropbox b/options/gitignore/Dropbox
new file mode 100644
index 0000000..40f4a46
--- /dev/null
+++ b/options/gitignore/Dropbox
@@ -0,0 +1,4 @@
+# Dropbox settings and caches
+.dropbox
+.dropbox.attr
+.dropbox.cache
diff --git a/options/gitignore/Drupal b/options/gitignore/Drupal
index 04aed3b..0d2fe53 100644
--- a/options/gitignore/Drupal
+++ b/options/gitignore/Drupal
@@ -15,7 +15,7 @@ robots.txt
/MAINTAINERS.txt
/UPGRADE.txt
/README.txt
-sites/all/README.txt
+sites/README.txt
sites/all/modules/README.txt
sites/all/themes/README.txt
diff --git a/options/gitignore/Eagle b/options/gitignore/Eagle
index a541034..9ced126 100644
--- a/options/gitignore/Eagle
+++ b/options/gitignore/Eagle
@@ -11,6 +11,10 @@
# comment the following line if you want to have your project file included.
eagle.epf
+# Autorouter files
+*.pro
+*.job
+
# CAM files
*.$$$
*.cmp
@@ -34,3 +38,7 @@ eagle.epf
*.info
*.eps
+
+# file locks introduced since 7.x
+*.lck
+
diff --git a/options/gitignore/Eclipse b/options/gitignore/Eclipse
index 0e22e95..4f88399 100644
--- a/options/gitignore/Eclipse
+++ b/options/gitignore/Eclipse
@@ -1,6 +1,5 @@
-*.pydevproject
+
.metadata
-.gradle
bin/
tmp/
*.tmp
@@ -10,6 +9,7 @@ tmp/
local.properties
.settings/
.loadpath
+.recommenders
# Eclipse Core
.project
@@ -20,7 +20,10 @@ local.properties
# Locally stored "Eclipse launch configurations"
*.launch
-# CDT-specific
+# PyDev specific (Python IDE for Eclipse)
+*.pydevproject
+
+# CDT-specific (C/C++ Development Tooling)
.cproject
# JDT-specific (Eclipse Java Development Tools)
@@ -29,11 +32,25 @@ local.properties
# Java annotation processor (APT)
.factorypath
-# PDT-specific
+# PDT-specific (PHP Development Tools)
.buildpath
# sbteclipse plugin
.target
+# Tern plugin
+.tern-project
+
# TeXlipse plugin
.texlipse
+
+# STS (Spring Tool Suite)
+.springBeans
+
+# Code Recommenders
+.recommenders/
+
+# Scala IDE specific (Scala & Java development for Eclipse)
+.cache-main
+.scala_dependencies
+.worksheet
diff --git a/options/gitignore/EiffelStudio b/options/gitignore/EiffelStudio
index a7ba35f..f41b4f7 100644
--- a/options/gitignore/EiffelStudio
+++ b/options/gitignore/EiffelStudio
@@ -1,2 +1,2 @@
-# The compilation directoy
+# The compilation directory
EIFGENs
diff --git a/options/gitignore/Elisp b/options/gitignore/Elisp
index 9b4291b..206569d 100644
--- a/options/gitignore/Elisp
+++ b/options/gitignore/Elisp
@@ -3,3 +3,9 @@
# Packaging
.cask
+
+# Backup files
+*~
+
+# Undo-tree save-files
+*.~undo-tree
diff --git a/options/gitignore/Elixir b/options/gitignore/Elixir
index 9607671..ac67aaf 100644
--- a/options/gitignore/Elixir
+++ b/options/gitignore/Elixir
@@ -1,4 +1,6 @@
/_build
+/cover
/deps
erl_crash.dump
*.ez
+*.beam
diff --git a/options/gitignore/Elm b/options/gitignore/Elm
new file mode 100644
index 0000000..8b631e7
--- /dev/null
+++ b/options/gitignore/Elm
@@ -0,0 +1,4 @@
+# elm-package generated files
+elm-stuff
+# elm-repl generated files
+repl-temp-*
diff --git a/options/gitignore/Emacs b/options/gitignore/Emacs
index e5327ba..3ac7904 100644
--- a/options/gitignore/Emacs
+++ b/options/gitignore/Emacs
@@ -30,3 +30,16 @@ tramp
# cask packages
.cask/
+dist/
+
+# Flycheck
+flycheck_*.el
+
+# server auth directory
+/server/
+
+# projectiles files
+.projectile
+
+# directory configuration
+.dir-locals.el
diff --git a/options/gitignore/Erlang b/options/gitignore/Erlang
index 8e46d5a..3826c85 100644
--- a/options/gitignore/Erlang
+++ b/options/gitignore/Erlang
@@ -4,7 +4,7 @@ deps
*.beam
*.plt
erl_crash.dump
-ebin
+ebin/*.beam
rel/example_project
.concrete/DEV_MODE
.rebar
diff --git a/options/gitignore/ExtJs b/options/gitignore/ExtJs
index 5ffc215..c92aea0 100644
--- a/options/gitignore/ExtJs
+++ b/options/gitignore/ExtJs
@@ -1,4 +1,12 @@
.architect
+bootstrap.css
+bootstrap.js
bootstrap.json
+bootstrap.jsonp
build/
+classic.json
+classic.jsonp
ext/
+modern.json
+modern.jsonp
+resources/sass/.sass-cache/
diff --git a/options/gitignore/FSharp b/options/gitignore/FSharp
deleted file mode 100644
index 6c914f7..0000000
--- a/options/gitignore/FSharp
+++ /dev/null
@@ -1,114 +0,0 @@
-# Build Folders (you can keep bin if you'd like, to store dlls and pdbs)
-[Bb]in/
-[Oo]bj/
-
-# mstest test results
-TestResults
-
-## Ignore Visual Studio temporary files, build results, and
-## files generated by popular Visual Studio add-ons.
-
-# User-specific files
-*.suo
-*.user
-*.sln.docstates
-
-# Build results
-[Dd]ebug/
-[Rr]elease/
-x64/
-*_i.c
-*_p.c
-*.ilk
-*.meta
-*.obj
-*.pch
-*.pdb
-*.pgc
-*.pgd
-*.rsp
-*.sbr
-*.tlb
-*.tli
-*.tlh
-*.tmp
-*.log
-*.vspscc
-*.vssscc
-.builds
-
-# Visual C++ cache files
-ipch/
-*.aps
-*.ncb
-*.opensdf
-*.sdf
-
-# Visual Studio profiler
-*.psess
-*.vsp
-*.vspx
-
-# Guidance Automation Toolkit
-*.gpState
-
-# ReSharper is a .NET coding add-in
-_ReSharper*
-
-# NCrunch
-*.ncrunch*
-.*crunch*.local.xml
-
-# Installshield output folder
-[Ee]xpress
-
-# DocProject is a documentation generator add-in
-DocProject/buildhelp/
-DocProject/Help/*.HxT
-DocProject/Help/*.HxC
-DocProject/Help/*.hhc
-DocProject/Help/*.hhk
-DocProject/Help/*.hhp
-DocProject/Help/Html2
-DocProject/Help/html
-
-# Click-Once directory
-publish
-
-# Publish Web Output
-*.Publish.xml
-
-# NuGet Packages Directory
-packages
-
-# Windows Azure Build Output
-csx
-*.build.csdef
-
-# Windows Store app package directory
-AppPackages/
-
-# Others
-[Bb]in
-[Oo]bj
-sql
-TestResults
-[Tt]est[Rr]esult*
-*.Cache
-ClientBin
-[Ss]tyle[Cc]op.*
-~$*
-*.dbmdl
-Generated_Code #added for RIA/Silverlight projects
-
-# Backup & report files from converting an old project file to a newer
-# Visual Studio version. Backup files are not needed, because we have git ;-)
-_UpgradeReport_Files/
-Backup*/
-UpgradeLog*.XML
-
-#FSharp
-paket.exe
-paket-files/
-.fake
-
diff --git a/options/gitignore/Fortran b/options/gitignore/Fortran
new file mode 100644
index 0000000..e69de29
diff --git a/options/gitignore/FuelPHP b/options/gitignore/FuelPHP
index 7804d8d..d69f71f 100644
--- a/options/gitignore/FuelPHP
+++ b/options/gitignore/FuelPHP
@@ -1,2 +1,21 @@
-fuel/app/logs/*/*/*
-fuel/app/cache/*/*
+# the composer package lock file and install directory
+# Commit your application's lock file http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file
+# You may choose to ignore a library lock file http://getcomposer.org/doc/02-libraries.md#lock-file
+# /composer.lock
+/fuel/vendor
+
+# the fuelphp document
+/docs/
+
+# you may install these packages with `oil package`.
+# http://fuelphp.com/docs/packages/oil/package.html
+# /fuel/packages/auth/
+# /fuel/packages/email/
+# /fuel/packages/oil/
+# /fuel/packages/orm/
+# /fuel/packages/parser/
+
+# dynamically generated files
+/fuel/app/logs/*/*/*
+/fuel/app/cache/*/*
+/fuel/app/config/crypt.php
diff --git a/options/gitignore/GPG b/options/gitignore/GPG
new file mode 100644
index 0000000..7740a01
--- /dev/null
+++ b/options/gitignore/GPG
@@ -0,0 +1,2 @@
+secring.*
+
diff --git a/options/gitignore/Go b/options/gitignore/Go
index daf913b..a1338d6 100644
--- a/options/gitignore/Go
+++ b/options/gitignore/Go
@@ -1,24 +1,14 @@
-# Compiled Object files, Static and Dynamic libs (Shared Objects)
-*.o
-*.a
-*.so
-
-# Folders
-_obj
-_test
-
-# Architecture specific extensions/prefixes
-*.[568vq]
-[568vq].out
-
-*.cgo1.go
-*.cgo2.c
-_cgo_defun.c
-_cgo_gotypes.go
-_cgo_export.*
-
-_testmain.go
-
+# Binaries for programs and plugins
*.exe
+*.dll
+*.so
+*.dylib
+
+# Test binary, build with `go test -c`
*.test
-*.prof
+
+# Output of the go coverage tool, specifically when used with LiteIDE
+*.out
+
+# Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736
+.glide/
diff --git a/options/gitignore/Gradle b/options/gitignore/Gradle
index 302a5f2..a1fc39c 100644
--- a/options/gitignore/Gradle
+++ b/options/gitignore/Gradle
@@ -1,8 +1,14 @@
.gradle
-build/
+/build/
# Ignore Gradle GUI config
gradle-app.setting
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar
+
+# Cache of project
+.gradletasknamecache
+
+# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
+# gradle/wrapper/gradle-wrapper.properties
diff --git a/options/gitignore/Haskell b/options/gitignore/Haskell
index cdc3c4d..450f32e 100644
--- a/options/gitignore/Haskell
+++ b/options/gitignore/Haskell
@@ -1,4 +1,5 @@
dist
+dist-*
cabal-dev
*.o
*.hi
@@ -13,4 +14,7 @@ cabal.sandbox.config
*.prof
*.aux
*.hp
+*.eventlog
.stack-work/
+cabal.project.local
+.HTF/
diff --git a/options/gitignore/IPythonNotebook b/options/gitignore/IPythonNotebook
deleted file mode 100644
index 27c1351..0000000
--- a/options/gitignore/IPythonNotebook
+++ /dev/null
@@ -1,2 +0,0 @@
-# Temporary data
-.ipynb_checkpoints/
diff --git a/options/gitignore/Java b/options/gitignore/Java
index 32858aa..6143e53 100644
--- a/options/gitignore/Java
+++ b/options/gitignore/Java
@@ -1,5 +1,12 @@
+# Compiled class file
*.class
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
# Mobile Tools for Java (J2ME)
.mtj.tmp/
@@ -7,6 +14,9 @@
*.jar
*.war
*.ear
+*.zip
+*.tar.gz
+*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
diff --git a/options/gitignore/JetBrains b/options/gitignore/JetBrains
index 573bcf4..a5d4cc8 100644
--- a/options/gitignore/JetBrains
+++ b/options/gitignore/JetBrains
@@ -1,32 +1,28 @@
-# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio
-
-*.iml
-
-## Directory-based project format:
-.idea/
-# if you remove the above rule, at least ignore the following:
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
+# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff:
-# .idea/workspace.xml
-# .idea/tasks.xml
-# .idea/dictionaries
+.idea/**/workspace.xml
+.idea/**/tasks.xml
+.idea/dictionaries
# Sensitive or high-churn files:
-# .idea/dataSources.ids
-# .idea/dataSources.xml
-# .idea/sqlDataSources.xml
-# .idea/dynamic.xml
-# .idea/uiDesigner.xml
+.idea/**/dataSources/
+.idea/**/dataSources.ids
+.idea/**/dataSources.xml
+.idea/**/dataSources.local.xml
+.idea/**/sqlDataSources.xml
+.idea/**/dynamic.xml
+.idea/**/uiDesigner.xml
# Gradle:
-# .idea/gradle.xml
-# .idea/libraries
+.idea/**/gradle.xml
+.idea/**/libraries
# Mongo Explorer plugin:
-# .idea/mongoSettings.xml
+.idea/**/mongoSettings.xml
## File-based project format:
-*.ipr
*.iws
## Plugin-specific files:
@@ -40,7 +36,11 @@
# JIRA plugin
atlassian-ide-plugin.xml
+# Cursive Clojure plugin
+.idea/replstate.xml
+
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
+fabric.properties
diff --git a/options/gitignore/Joomla b/options/gitignore/Joomla
index cf36d8c..53a74e7 100644
--- a/options/gitignore/Joomla
+++ b/options/gitignore/Joomla
@@ -29,8 +29,6 @@
/administrator/components/com_search/*
/administrator/components/com_templates/*
/administrator/components/com_users/*
-/administrator/components/com_weblinks/*
-/administrator/components/index.html
/administrator/help/*
/administrator/includes/*
/administrator/language/en-GB/en-GB.com_ajax.ini
@@ -41,7 +39,6 @@
/administrator/language/en-GB/en-GB.com_joomlaupdate.sys.ini
/administrator/language/en-GB/en-GB.com_postinstall.ini
/administrator/language/en-GB/en-GB.com_postinstall.sys.ini
-/administrator/language/en-GB/en-GB.com_sitemapjen.sys.ini
/administrator/language/en-GB/en-GB.com_tags.ini
/administrator/language/en-GB/en-GB.com_tags.sys.ini
/administrator/language/en-GB/en-GB.mod_stats_admin.ini
@@ -52,6 +49,7 @@
/administrator/language/en-GB/en-GB.plg_content_contact.sys.ini
/administrator/language/en-GB/en-GB.plg_content_finder.ini
/administrator/language/en-GB/en-GB.plg_content_finder.sys.ini
+/administrator/language/en-GB/en-GB.plg_editors-xtd_module*
/administrator/language/en-GB/en-GB.plg_finder_categories.ini
/administrator/language/en-GB/en-GB.plg_finder_categories.sys.ini
/administrator/language/en-GB/en-GB.plg_finder_contacts.ini
@@ -64,6 +62,10 @@
/administrator/language/en-GB/en-GB.plg_finder_tags.sys.ini
/administrator/language/en-GB/en-GB.plg_finder_weblinks.ini
/administrator/language/en-GB/en-GB.plg_finder_weblinks.sys.ini
+/administrator/language/en-GB/en-GB.plg_installer_folderinstaller*
+/administrator/language/en-GB/en-GB.plg_installer_packageinstaller*
+/administrator/language/en-GB/en-GB.plg_installer_packageinstaller
+/administrator/language/en-GB/en-GB.plg_installer_urlinstaller*
/administrator/language/en-GB/en-GB.plg_installer_webinstaller.ini
/administrator/language/en-GB/en-GB.plg_installer_webinstaller.sys.ini
/administrator/language/en-GB/en-GB.plg_quickicon_joomlaupdate.ini
@@ -72,6 +74,8 @@
/administrator/language/en-GB/en-GB.plg_search_tags.sys.ini
/administrator/language/en-GB/en-GB.plg_system_languagecode.ini
/administrator/language/en-GB/en-GB.plg_system_languagecode.sys.ini
+/administrator/language/en-GB/en-GB.plg_system_stats*
+/administrator/language/en-GB/en-GB.plg_system_updatenotification*
/administrator/language/en-GB/en-GB.plg_twofactorauth_totp.ini
/administrator/language/en-GB/en-GB.plg_twofactorauth_totp.sys.ini
/administrator/language/en-GB/en-GB.plg_twofactorauth_yubikey.ini
@@ -243,14 +247,11 @@
/administrator/language/en-GB/en-GB.plg_user_joomla.sys.ini
/administrator/language/en-GB/en-GB.plg_user_profile.ini
/administrator/language/en-GB/en-GB.plg_user_profile.sys.ini
-/administrator/language/en-GB/en-GB.tpl_bluestork.ini
-/administrator/language/en-GB/en-GB.tpl_bluestork.sys.ini
/administrator/language/en-GB/en-GB.tpl_hathor.ini
/administrator/language/en-GB/en-GB.tpl_hathor.sys.ini
/administrator/language/en-GB/en-GB.xml
-/administrator/language/en-GB/index.html
/administrator/language/overrides/*
-/administrator/language/index.html
+/administrator/logs/index.html
/administrator/manifests/*
/administrator/modules/mod_custom/*
/administrator/modules/mod_feed/*
@@ -269,12 +270,9 @@
/administrator/modules/mod_unread/*
/administrator/modules/mod_version/*
/administrator/modules/mod_stats_admin/*
-/administrator/modules/index.html
-/administrator/templates/bluestork/*
/administrator/templates/isis/*
/administrator/templates/hathor/*
/administrator/templates/system/*
-/administrator/templates/index.html
/administrator/index.php
/cache/*
/bin/*
@@ -289,13 +287,14 @@
/components/com_finder/*
/components/com_mailto/*
/components/com_media/*
+/components/com_modules/*
/components/com_newsfeeds/*
/components/com_search/*
/components/com_users/*
-/components/com_weblinks/*
/components/com_wrapper/*
/components/index.html
/images/banners/*
+/images/headers/*
/images/sampledata/*
/images/joomla*
/images/index.html
@@ -309,6 +308,7 @@
/language/en-GB/en-GB.com_tags.ini
/language/en-GB/en-GB.finder_cli.ini
/language/en-GB/en-GB.lib_fof.sys.ini
+/language/en-GB/en-GB.lib_fof.ini
/language/en-GB/en-GB.com_content.ini
/language/en-GB/en-GB.lib_idna_convert.sys.ini
/language/en-GB/en-GB.com_mailto.ini
@@ -391,32 +391,47 @@
/language/en-GB/en-GB.tpl_beez5.ini
/language/en-GB/en-GB.tpl_beez5.sys.ini
/language/en-GB/en-GB.xml
-/language/en-GB/index.html
/language/en-GB/install.xml
/language/overrides/*
/language/index.html
+/layouts/joomla/*
+/layouts/libraries/*
+/layouts/plugins/*
+/layouts/index.html
/libraries/cms.php
/libraries/cms/*
+/libraries/fof/*
+/libraries/idna_convert/*
/libraries/joomla/*
+/libraries/legacy/*
+/libraries/php-encryption/*
+/libraries/phpass/*
/libraries/phpmailer/*
/libraries/phputf8/*
/libraries/simplepie/*
+/libraries/vendor/*
+/libraries/classmap.php
+/libraries/import.legacy.php
/libraries/index.html
/libraries/import.php
/libraries/loader.php
-/libraries/platform.php
-/logs/*
/media/cms/*
+/media/com_contenthistory/*
/media/com_finder/*
+/media/com_joomlaupdate/*
+/media/com_wrapper/*
/media/contacts/*
/media/editors/*
+/media/jui/*
/media/mailto/*
/media/media/*
/media/mod_languages/*
/media/overrider/*
+/media/plg_captcha_recaptcha/*
/media/plg_quickicon_extensionupdate/*
/media/plg_quickicon_joomlaupdate/*
/media/plg_system_highlight/*
+/media/plg_system_stats/*
/media/system/*
/media/index.html
/modules/mod_articles_archive/*
@@ -439,8 +454,9 @@
/modules/mod_search/*
/modules/mod_stats/*
/modules/mod_syndicate/*
+/modules/mod_tags_popular/*
+/modules/mod_tags_similar/*
/modules/mod_users_latest/*
-/modules/mod_weblinks/*
/modules/mod_whosonline/*
/modules/mod_wrapper/*
/modules/index.html
@@ -448,9 +464,8 @@
/plugins/authentication/gmail/*
/plugins/authentication/joomla/*
/plugins/authentication/ldap/*
-/plugins/authentication/index.html
+/plugins/authentication/cookie/*
/plugins/captcha/recaptcha/*
-/plugins/captcha/index.html
/plugins/content/emailcloak/*
/plugins/content/example/*
/plugins/content/finder/*
@@ -461,26 +476,21 @@
/plugins/content/pagenavigation/*
/plugins/content/vote/*
/plugins/content/contact/*
-/plugins/content/index.html
/plugins/editors/codemirror/*
/plugins/editors/none/*
/plugins/editors/tinymce/*
-/plugins/editors/index.html
+/plugins/editors-xtd/module/*
/plugins/editors-xtd/article/*
/plugins/editors-xtd/image/*
/plugins/editors-xtd/pagebreak/*
/plugins/editors-xtd/readmore/*
-/plugins/editors-xtd/index.html
/plugins/extension/example/*
/plugins/extension/joomla/*
-/plugins/extension/index.html
-/plugins/finder/index.html
/plugins/finder/categories/*
/plugins/finder/contacts/*
/plugins/finder/content/*
/plugins/finder/newsfeeds/*
/plugins/finder/tags/*
-/plugins/finder/weblinks/*
/plugins/installer/*
/plugins/quickicon/extensionupdate/*
/plugins/quickicon/joomlaupdate/*
@@ -503,6 +513,8 @@
/plugins/system/redirect/*
/plugins/system/remember/*
/plugins/system/sef/*
+/plugins/system/stats/*
+/plugins/system/updatenotification/*
/plugins/system/index.html
/plugins/twofactorauth/*
/plugins/user/contactcreator/*
@@ -511,10 +523,7 @@
/plugins/user/profile/*
/plugins/user/index.html
/plugins/index.html
-/templates/atomic/*
/templates/beez3/*
-/templates/beez_20/*
-/templates/beez5/*
/templates/protostar/*
/templates/system/*
/templates/index.html
@@ -523,3 +532,4 @@
/index.php
/joomla.xml
/*.txt
+/robots.txt.dist
diff --git a/options/gitignore/Julia b/options/gitignore/Julia
new file mode 100644
index 0000000..381e0b6
--- /dev/null
+++ b/options/gitignore/Julia
@@ -0,0 +1,4 @@
+*.jl.cov
+*.jl.*.cov
+*.jl.mem
+deps/deps.jl
diff --git a/options/gitignore/KiCAD b/options/gitignore/KiCAD
index a9e50ba..208bc4f 100644
--- a/options/gitignore/KiCAD
+++ b/options/gitignore/KiCAD
@@ -1,13 +1,21 @@
-# For PCBs designed using KiCAD: http://www.kicad-pcb.org/
+# For PCBs designed using KiCad: http://www.kicad-pcb.org/
# Temporary files
*.000
*.bak
*.bck
*.kicad_pcb-bak
+*~
+_autosave-*
+*.tmp
# Netlist files (exported from Eeschema)
*.net
# Autorouter files (exported from Pcbnew)
-.dsn
+*.dsn
+*.ses
+
+# Exported BOM files
+*.xml
+*.csv
diff --git a/options/gitignore/Laravel b/options/gitignore/Laravel
index 36d7ade..a4854be 100644
--- a/options/gitignore/Laravel
+++ b/options/gitignore/Laravel
@@ -1,4 +1,20 @@
-/bootstrap/compiled.php
+vendor/
+node_modules/
+npm-debug.log
+
+# Laravel 4 specific
+bootstrap/compiled.php
+app/storage/
+
+# Laravel 5 & Lumen specific
+public/storage
+public/hot
+storage/*.key
.env.*.php
.env.php
.env
+Homestead.yaml
+Homestead.json
+
+# Rocketeer PHP task runner and deployment package. https://github.com/rocketeers/rocketeer
+.rocketeer/
diff --git a/options/gitignore/Leiningen b/options/gitignore/Leiningen
index 47fed6c..a9fe6fb 100644
--- a/options/gitignore/Leiningen
+++ b/options/gitignore/Leiningen
@@ -1,6 +1,7 @@
pom.xml
pom.xml.asc
-*jar
+*.jar
+*.class
/lib/
/classes/
/target/
diff --git a/options/gitignore/Linux b/options/gitignore/Linux
index 5932ea1..b56bf65 100644
--- a/options/gitignore/Linux
+++ b/options/gitignore/Linux
@@ -1,7 +1,13 @@
*~
+# temporary files which can be created if a process still has a handle open of a deleted file
+.fuse_hidden*
+
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
+
+# .nfs files are created when an open file is removed but is still being accessed
+.nfs*
diff --git a/options/gitignore/Magento b/options/gitignore/Magento
index e2ea013..b282f5c 100644
--- a/options/gitignore/Magento
+++ b/options/gitignore/Magento
@@ -1,126 +1,16 @@
-.htaccess.sample
-.modgit/
-.modman/
-app/code/community/Phoenix/
-app/code/community/Cm/
-app/code/core/
-app/design/adminhtml/default/default/
-app/design/frontend/base/
-app/design/frontend/rwd/
-app/design/frontend/default/blank/
-app/design/frontend/default/default/
-app/design/frontend/default/iphone/
-app/design/frontend/default/modern/
-app/design/frontend/enterprise/default
-app/design/install/
-app/etc/modules/Enterprise_*
-app/etc/modules/Mage_All.xml
-app/etc/modules/Mage_Api.xml
-app/etc/modules/Mage_Api2.xml
-app/etc/modules/Mage_Authorizenet.xml
-app/etc/modules/Mage_Bundle.xml
-app/etc/modules/Mage_Captcha.xml
-app/etc/modules/Mage_Centinel.xml
-app/etc/modules/Mage_Compiler.xml
-app/etc/modules/Mage_ConfigurableSwatches.xml
-app/etc/modules/Mage_Connect.xml
-app/etc/modules/Mage_CurrencySymbol.xml
-app/etc/modules/Mage_Downloadable.xml
-app/etc/modules/Mage_ImportExport.xml
-app/etc/modules/Mage_LoadTest.xml
-app/etc/modules/Mage_Oauth.xml
-app/etc/modules/Mage_PageCache.xml
-app/etc/modules/Mage_Persistent.xml
-app/etc/modules/Mage_Weee.xml
-app/etc/modules/Mage_Widget.xml
-app/etc/modules/Mage_XmlConnect.xml
-app/etc/modules/Phoenix_Moneybookers.xml
-app/etc/modules/Cm_RedisSession.xml
-app/etc/applied.patches.list
-app/etc/config.xml
-app/etc/enterprise.xml
-app/etc/local.xml.additional
-app/etc/local.xml.template
-app/etc/local.xml
-app/.htaccess
-app/locale/
-app/Mage.php
-/cron.php
-cron.sh
-downloader/
-errors/
-favicon.ico
-/get.php
-includes/
-/index.php
-index.php.sample
-/install.php
-js/blank.html
-js/calendar/
-js/enterprise/
-js/extjs/
-js/firebug/
-js/flash/
-js/index.php
-js/jscolor/
-js/lib/
-js/mage/
-js/prototype/
-js/scriptaculous/
-js/spacer.gif
-js/tiny_mce/
-js/varien/
-lib/3Dsecure/
-lib/Apache/
-lib/flex/
-lib/googlecheckout/
-lib/.htaccess
-lib/LinLibertineFont/
-lib/Mage/
-lib/PEAR/
-lib/Pelago/
-lib/phpseclib/
-lib/Varien/
-lib/Zend/
-lib/Cm/
-lib/Credis/
-lib/Magento/
-LICENSE_AFL.txt
-LICENSE.html
-LICENSE.txt
-LICENSE_EE*
-/mage
-media/customer/
-media/dhl/
-media/downloadable/
-media/.htaccess
-media/import/
-media/xmlconnect/
-media/catalog/product/cache/
-media/catalog/product/placeholder/default/
-/api.php
-nbproject/
-pear
-pear/
-php.ini.sample
-pkginfo/
-RELEASE_NOTES.txt
-shell/abstract.php
-shell/compiler.php
-shell/indexer.php
-shell/log.php
-sitemap.xml
-skin/adminhtml/default/default/
-skin/adminhtml/default/enterprise
-skin/frontend/base/
-skin/frontend/rwd/
-skin/frontend/default/blank/
-skin/frontend/default/blue/
-skin/frontend/default/default/
-skin/frontend/default/french/
-skin/frontend/default/german/
-skin/frontend/default/iphone/
-skin/frontend/default/modern/
-skin/frontend/enterprise
-skin/install/
-var/
+#--------------------------#
+# Magento Default Files #
+#--------------------------#
+
+/app/etc/local.xml
+/media/*
+!/media/.htaccess
+!/media/customer/.htaccess
+!/media/dhl/logo.jpg
+!/media/downloadable/.htaccess
+!/media/xmlconnect/custom/ok.gif
+!/media/xmlconnect/original/ok.gif
+!/media/xmlconnect/system/ok.gif
+/var/*
+!/var/.htaccess
+!/var/package/*.xml
diff --git a/options/gitignore/Matlab b/options/gitignore/Matlab
index 79bc56c..09dfde6 100644
--- a/options/gitignore/Matlab
+++ b/options/gitignore/Matlab
@@ -14,3 +14,9 @@
# Simulink Code Generation
slprj/
+
+# Session info
+octave-workspace
+
+# Simulink autosave extension
+.autosave
diff --git a/options/gitignore/Maven b/options/gitignore/Maven
index 1cdc9f7..5f2dbe1 100644
--- a/options/gitignore/Maven
+++ b/options/gitignore/Maven
@@ -7,3 +7,6 @@ release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
+
+# Avoid ignoring Maven wrapper jar file (.jar files are usually ignored)
+!/.mvn/wrapper/maven-wrapper.jar
diff --git a/options/gitignore/MicrosoftOffice b/options/gitignore/MicrosoftOffice
index 412297b..cb89174 100644
--- a/options/gitignore/MicrosoftOffice
+++ b/options/gitignore/MicrosoftOffice
@@ -8,3 +8,9 @@
# Excel Backup File
*.xlk
+
+# PowerPoint temporary
+~$*.ppt*
+
+# Visio autosave temporary files
+*.~vsdx
diff --git a/options/gitignore/Nanoc b/options/gitignore/Nanoc
index abc2182..3f36ea2 100644
--- a/options/gitignore/Nanoc
+++ b/options/gitignore/Nanoc
@@ -1,6 +1,6 @@
-# For projects using nanoc (http://nanoc.ws/)
+# For projects using Nanoc (http://nanoc.ws/)
-# Default location for output, needs to match output_dir's value found in config.yaml
+# Default location for output (needs to match output_dir's value found in nanoc.yaml)
output/
# Temporary file directory
diff --git a/options/gitignore/NetBeans b/options/gitignore/NetBeans
index debe0e4..254108c 100644
--- a/options/gitignore/NetBeans
+++ b/options/gitignore/NetBeans
@@ -3,6 +3,4 @@ build/
nbbuild/
dist/
nbdist/
-nbactions.xml
-nb-configuration.xml
.nb-gradle/
diff --git a/options/gitignore/Node b/options/gitignore/Node
index b38069d..00cbbdf 100644
--- a/options/gitignore/Node
+++ b/options/gitignore/Node
@@ -2,11 +2,14 @@
logs
*.log
npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
# Runtime data
pids
*.pid
*.seed
+*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
@@ -14,15 +17,43 @@ lib-cov
# Coverage directory used by tools like istanbul
coverage
+# nyc test coverage
+.nyc_output
+
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
+# Bower dependency directory (https://bower.io/)
+bower_components
+
# node-waf configuration
.lock-wscript
# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
-# Dependency directory
-# https://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-folder-into-git
-node_modules
+# Dependency directories
+node_modules/
+jspm_packages/
+
+# Typescript v1 declaration files
+typings/
+
+# Optional npm cache directory
+.npm
+
+# Optional eslint cache
+.eslintcache
+
+# Optional REPL history
+.node_repl_history
+
+# Output of 'npm pack'
+*.tgz
+
+# Yarn Integrity file
+.yarn-integrity
+
+# dotenv environment variables file
+.env
+
diff --git a/options/gitignore/Objective-C b/options/gitignore/Objective-C
index 05096f6..09dfede 100644
--- a/options/gitignore/Objective-C
+++ b/options/gitignore/Objective-C
@@ -4,7 +4,7 @@
## Build generated
build/
-DerivedData
+DerivedData/
## Various settings
*.pbxuser
@@ -15,25 +15,26 @@ DerivedData
!default.mode2v3
*.perspectivev3
!default.perspectivev3
-xcuserdata
+xcuserdata/
## Other
-*.xccheckout
*.moved-aside
-*.xcuserstate
+*.xccheckout
*.xcscmblueprint
## Obj-C/Swift specific
*.hmap
*.ipa
+*.dSYM.zip
+*.dSYM
# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
-# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
+# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
-#Pods/
+# Pods/
# Carthage
#
@@ -41,3 +42,22 @@ xcuserdata
# Carthage/Checkouts
Carthage/Build
+
+# fastlane
+#
+# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
+# screenshots whenever they are needed.
+# For more information about the recommended setup visit:
+# https://docs.fastlane.tools/best-practices/source-control/#source-control
+
+fastlane/report.xml
+fastlane/Preview.html
+fastlane/screenshots
+fastlane/test_output
+
+# Code Injection
+#
+# After new code Injection tools there's a generated folder /iOSInjectionProject
+# https://github.com/johnno1962/injectionforxcode
+
+iOSInjectionProject/
diff --git a/options/gitignore/OpenCart b/options/gitignore/OpenCart
index cc93767..97be41f 100644
--- a/options/gitignore/OpenCart
+++ b/options/gitignore/OpenCart
@@ -9,3 +9,12 @@ image/data/
image/cache/
system/cache/
system/logs/
+
+system/storage/
+
+# vQmod log files
+vqmod/logs/*
+# vQmod cache files
+vqmod/vqcache/*
+vqmod/checked.cache
+vqmod/mods.cache
diff --git a/options/gitignore/Otto b/options/gitignore/Otto
new file mode 100644
index 0000000..5aa263f
--- /dev/null
+++ b/options/gitignore/Otto
@@ -0,0 +1 @@
+.otto/
diff --git a/options/gitignore/Perl b/options/gitignore/Perl
index ae2ad53..9bf1537 100644
--- a/options/gitignore/Perl
+++ b/options/gitignore/Perl
@@ -1,20 +1,35 @@
-/blib/
-/.build/
-_build/
-cover_db/
-inc/
-Build
!Build/
-Build.bat
.last_cover_stats
-/Makefile
-/Makefile.old
-/MANIFEST.bak
/META.yml
/META.json
/MYMETA.*
-nytprof.out
-/pm_to_blib
*.o
+*.pm.tdy
*.bs
+
+# Devel::Cover
+cover_db/
+
+# Devel::NYTProf
+nytprof.out
+
+# Dizt::Zilla
+/.build/
+
+# Module::Build
+_build/
+Build
+Build.bat
+
+# Module::Install
+inc/
+
+# ExtUitls::MakeMaker
+/blib/
/_eumm/
+/*.gz
+/Makefile
+/Makefile.old
+/MANIFEST.bak
+/pm_to_blib
+/*.zip
diff --git a/options/gitignore/PlayFramework b/options/gitignore/PlayFramework
index 4735f05..ae5ec9f 100644
--- a/options/gitignore/PlayFramework
+++ b/options/gitignore/PlayFramework
@@ -11,7 +11,6 @@ bin/
tmp/
test-result
server.pid
-*.iml
*.eml
/dist/
.cache
diff --git a/options/gitignore/Prestashop b/options/gitignore/Prestashop
index 1c8462b..7c6ae1e 100644
--- a/options/gitignore/Prestashop
+++ b/options/gitignore/Prestashop
@@ -7,9 +7,16 @@ config/settings.*.php
# The following files are generated by PrestaShop.
admin-dev/autoupgrade/
-cache/
+/cache/
+!/cache/index.php
+!/cache/cachefs/index.php
+!/cache/purifier/index.php
+!/cache/push/index.php
+!/cache/sandbox/index.php
+!/cache/smarty/index.php
+!/cache/tcpdf/index.php
config/xml/*.xml
-log/
+/log/*
*sitemap.xml
themes/*/cache/
modules/*/config*.xml
@@ -21,5 +28,5 @@ admin-dev/backups/
admin-dev/export/
admin-dev/import/
download/
-img/
+/img/*
upload/
diff --git a/options/gitignore/PureScript b/options/gitignore/PureScript
new file mode 100644
index 0000000..361cf52
--- /dev/null
+++ b/options/gitignore/PureScript
@@ -0,0 +1,8 @@
+# Dependencies
+.psci_modules
+bower_components
+node_modules
+
+# Generated files
+.psci
+output
diff --git a/options/gitignore/Python b/options/gitignore/Python
index a65d046..62c1e73 100644
--- a/options/gitignore/Python
+++ b/options/gitignore/Python
@@ -20,6 +20,7 @@ lib64/
parts/
sdist/
var/
+wheels/
*.egg-info/
.installed.cfg
*.egg
@@ -43,6 +44,7 @@ htmlcov/
nosetests.xml
coverage.xml
*,cover
+.hypothesis/
# Translations
*.mo
@@ -50,9 +52,43 @@ coverage.xml
# Django stuff:
*.log
+local_settings.py
+
+# Flask stuff:
+instance/
+.webassets-cache
+
+# Scrapy stuff:
+.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
target/
+
+# Jupyter Notebook
+.ipynb_checkpoints
+
+# pyenv
+.python-version
+
+# celery beat schedule file
+celerybeat-schedule
+
+# SageMath parsed files
+*.sage.py
+
+# dotenv
+.env
+
+# virtualenv
+.venv
+venv/
+ENV/
+
+# Spyder project settings
+.spyderproject
+
+# Rope project settings
+.ropeproject
diff --git a/options/gitignore/Qt b/options/gitignore/Qt
index 85a6baa..c7659c2 100644
--- a/options/gitignore/Qt
+++ b/options/gitignore/Qt
@@ -23,12 +23,16 @@ moc_*.cpp
qrc_*.cpp
ui_*.h
Makefile*
-*-build-*
+*build-*
# QtCreator
*.autosave
-#QtCtreator Qml
+# QtCtreator Qml
*.qmlproject.user
*.qmlproject.user.*
+
+# QtCtreator CMake
+CMakeLists.txt.user*
+
diff --git a/options/gitignore/R b/options/gitignore/R
index 49037a0..fcff087 100644
--- a/options/gitignore/R
+++ b/options/gitignore/R
@@ -2,9 +2,18 @@
.Rhistory
.Rapp.history
+# Session Data files
+.RData
+
# Example code in package build process
*-Ex.R
+# Output files from R CMD build
+/*.tar.gz
+
+# Output files from R CMD check
+/*.Rcheck/
+
# RStudio files
.Rproj.user/
@@ -14,3 +23,11 @@ vignettes/*.pdf
# OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3
.httr-oauth
+
+# knitr and R markdown default cache directories
+/*_cache/
+/cache/
+
+# Temporary files created by R markdown
+*.utf8.md
+*.knit.md
diff --git a/options/gitignore/Rails b/options/gitignore/Rails
index f786a90..e974276 100644
--- a/options/gitignore/Rails
+++ b/options/gitignore/Rails
@@ -12,15 +12,21 @@ capybara-*.html
rerun.txt
pickle-email-*.html
-# TODO Comment out these rules if you are OK with secrets being uploaded to the repo
+# TODO Comment out this rule if you are OK with secrets being uploaded to the repo
config/initializers/secret_token.rb
-config/secrets.yml
-## Environment normalisation:
+# Only include if you have production secrets in this file, which is no longer a Rails default
+# config/secrets.yml
+
+# dotenv
+# TODO Comment out this rule if environment variables can be committed
+.env
+
+## Environment normalization:
/.bundle
/vendor/bundle
-# these should all be checked in to normalise the environment:
+# these should all be checked in to normalize the environment:
# Gemfile.lock, .ruby-version, .ruby-gemset
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
@@ -33,3 +39,6 @@ bower.json
# Ignore pow environment settings
.powenv
+
+# Ignore Byebug command history file.
+.byebug_history
diff --git a/options/gitignore/Ruby b/options/gitignore/Ruby
index 1ba91c0..5e1422c 100644
--- a/options/gitignore/Ruby
+++ b/options/gitignore/Ruby
@@ -10,10 +10,24 @@
/test/version_tmp/
/tmp/
+# Used by dotenv library to load environment variables.
+# .env
+
## Specific to RubyMotion:
.dat*
.repl_history
build/
+*.bridgesupport
+build-iPhoneOS/
+build-iPhoneSimulator/
+
+## Specific to RubyMotion (use of CocoaPods):
+#
+# We recommend against adding the Pods directory to your .gitignore. However
+# you should judge for yourself, the pros and cons are mentioned at:
+# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
+#
+# vendor/Pods/
## Documentation cache and generated files:
/.yardoc/
@@ -21,7 +35,7 @@ build/
/doc/
/rdoc/
-## Environment normalisation:
+## Environment normalization:
/.bundle/
/vendor/bundle
/lib/bundler/man/
diff --git a/options/gitignore/Rust b/options/gitignore/Rust
index 37727f9..50281a4 100644
--- a/options/gitignore/Rust
+++ b/options/gitignore/Rust
@@ -1,11 +1,10 @@
-# Compiled files
-*.o
-*.so
-*.rlib
-*.dll
-
-# Executables
-*.exe
-
# Generated by Cargo
+# will have compiled files and executables
/target/
+
+# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
+# More information here http://doc.crates.io/guide.html#cargotoml-vs-cargolock
+Cargo.lock
+
+# These are backup files generated by rustfmt
+**/*.rs.bk
diff --git a/options/gitignore/SBT b/options/gitignore/SBT
index 970d897..5ed6acb 100644
--- a/options/gitignore/SBT
+++ b/options/gitignore/SBT
@@ -1,9 +1,12 @@
# Simple Build Tool
# http://www.scala-sbt.org/release/docs/Getting-Started/Directories.html#configuring-version-control
+dist/*
target/
lib_managed/
src_managed/
project/boot/
+project/plugins/project/
.history
.cache
+.lib/
diff --git a/options/gitignore/Scala b/options/gitignore/Scala
index c58d83b..9c07d4a 100644
--- a/options/gitignore/Scala
+++ b/options/gitignore/Scala
@@ -1,17 +1,2 @@
*.class
*.log
-
-# sbt specific
-.cache
-.history
-.lib/
-dist/*
-target/
-lib_managed/
-src_managed/
-project/boot/
-project/plugins/project/
-
-# Scala-IDE specific
-.scala_dependencies
-.worksheet
diff --git a/options/gitignore/Scheme b/options/gitignore/Scheme
new file mode 100644
index 0000000..cbb89d7
--- /dev/null
+++ b/options/gitignore/Scheme
@@ -0,0 +1,7 @@
+*.ss~
+*.ss#*
+.#*.ss
+
+*.scm~
+*.scm#*
+.#*.scm
diff --git a/options/gitignore/Smalltalk b/options/gitignore/Smalltalk
new file mode 100644
index 0000000..75272b2
--- /dev/null
+++ b/options/gitignore/Smalltalk
@@ -0,0 +1,18 @@
+# changes file
+*.changes
+
+# system image
+*.image
+
+# Pharo Smalltalk Debug log file
+PharoDebug.log
+
+# Squeak Smalltalk Debug log file
+SqueakDebug.log
+
+# Monticello package cache
+/package-cache
+
+# Metacello-github cache
+/github-cache
+github-*.zip
diff --git a/options/gitignore/Stata b/options/gitignore/Stata
new file mode 100644
index 0000000..07997bb
--- /dev/null
+++ b/options/gitignore/Stata
@@ -0,0 +1,24 @@
+# .gitignore file for git projects containing Stata files
+# Commercial statistical software: http://www.stata.com
+
+# Stata dataset and output files
+*.dta
+*.gph
+*.log
+*.smcl
+*.stpr
+*.stsem
+
+# Graphic export files from Stata
+# Stata command graph export: http://www.stata.com/manuals14/g-2graphexport.pdf
+#
+# You may add graphic export files to your .gitignore. However you should be
+# aware that this will exclude all image files from this main directory
+# and subdirectories.
+# *.ps
+# *.eps
+# *.wmf
+# *.emf
+# *.pdf
+# *.png
+# *.tif
diff --git a/options/gitignore/SublimeText b/options/gitignore/SublimeText
index 1d4e613..95ff224 100644
--- a/options/gitignore/SublimeText
+++ b/options/gitignore/SublimeText
@@ -12,3 +12,19 @@
# sftp configuration file
sftp-config.json
+
+# Package control specific files
+Package Control.last-run
+Package Control.ca-list
+Package Control.ca-bundle
+Package Control.system-ca-bundle
+Package Control.cache/
+Package Control.ca-certs/
+Package Control.merged-ca-bundle
+Package Control.user-ca-bundle
+oscrypto-ca-bundle.crt
+bh_unicode_properties.cache
+
+# Sublime-github package stores a github token in this file
+# https://packagecontrol.io/packages/sublime-github
+GitHub.sublime-settings
diff --git a/options/gitignore/SugarCRM b/options/gitignore/SugarCRM
index 842c3ec..e927020 100644
--- a/options/gitignore/SugarCRM
+++ b/options/gitignore/SugarCRM
@@ -7,6 +7,7 @@
# For development the cache directory can be safely ignored and
# therefore it is ignored.
/cache/
+!/cache/index.html
# Ignore some files and directories from the custom directory.
/custom/history/
/custom/modulebuilder/
@@ -22,4 +23,5 @@
*.log
# Ignore the new upload directories.
/upload/
+!/upload/index.html
/upload_backup/
diff --git a/options/gitignore/Swift b/options/gitignore/Swift
index d571cb2..d534044 100644
--- a/options/gitignore/Swift
+++ b/options/gitignore/Swift
@@ -4,7 +4,7 @@
## Build generated
build/
-DerivedData
+DerivedData/
## Various settings
*.pbxuser
@@ -15,23 +15,35 @@ DerivedData
!default.mode2v3
*.perspectivev3
!default.perspectivev3
-xcuserdata
+xcuserdata/
## Other
-*.xccheckout
*.moved-aside
-*.xcuserstate
+*.xccheckout
*.xcscmblueprint
## Obj-C/Swift specific
*.hmap
*.ipa
+*.dSYM.zip
+*.dSYM
+
+## Playgrounds
+timeline.xctimeline
+playground.xcworkspace
+
+# Swift Package Manager
+#
+# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
+# Packages/
+# Package.pins
+.build/
# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
-# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
+# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# Pods/
@@ -41,3 +53,15 @@ xcuserdata
# Carthage/Checkouts
Carthage/Build
+
+# fastlane
+#
+# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
+# screenshots whenever they are needed.
+# For more information about the recommended setup visit:
+# https://docs.fastlane.tools/best-practices/source-control/#source-control
+
+fastlane/report.xml
+fastlane/Preview.html
+fastlane/screenshots
+fastlane/test_output
diff --git a/options/gitignore/Symfony b/options/gitignore/Symfony
index c68377d..6c224e0 100644
--- a/options/gitignore/Symfony
+++ b/options/gitignore/Symfony
@@ -4,11 +4,16 @@
!app/cache/.gitkeep
!app/logs/.gitkeep
-# Cache and logs (Symfony3)
+# Email spool folder
+/app/spool/*
+
+# Cache, session files and logs (Symfony3)
/var/cache/*
/var/logs/*
+/var/sessions/*
!var/cache/.gitkeep
!var/logs/.gitkeep
+!var/sessions/.gitkeep
# Parameters
/app/config/parameters.yml
@@ -20,7 +25,6 @@
/bin/*
!bin/console
!bin/symfony_requirements
-/vendor/
# Assets and user uploads
/web/bundles/
@@ -33,5 +37,5 @@
# Build data
/build/
-# Composer PHAR
-/composer.phar
+# Backup entities generated with doctrine:generate:entities command
+**/Entity/*~
diff --git a/options/gitignore/Tags b/options/gitignore/Tags
index 45922ec..91927af 100644
--- a/options/gitignore/Tags
+++ b/options/gitignore/Tags
@@ -1,12 +1,15 @@
# Ignore tags created by etags, ctags, gtags (GNU global) and cscope
TAGS
+.TAGS
!TAGS/
tags
+.tags
!tags/
gtags.files
GTAGS
GRTAGS
GPATH
+GSYMS
cscope.files
cscope.out
cscope.in.out
diff --git a/options/gitignore/TeX b/options/gitignore/TeX
index a7a84bc..57ed9f5 100644
--- a/options/gitignore/TeX
+++ b/options/gitignore/TeX
@@ -6,6 +6,10 @@
*.fls
*.out
*.toc
+*.fmt
+*.fot
+*.cb
+*.cb2
## Intermediate documents:
*.dvi
@@ -15,25 +19,26 @@
# *.eps
# *.pdf
+## Generated if empty string is given at "Please type another file name for output:"
+.pdf
+
## Bibliography auxiliary files (bibtex/biblatex/biber):
*.bbl
*.bcf
*.blg
*-blx.aux
*-blx.bib
-*.brf
*.run.xml
## Build tool auxiliary files:
*.fdb_latexmk
*.synctex
+*.synctex(busy)
*.synctex.gz
*.synctex.gz(busy)
*.pdfsync
## Auxiliary and intermediate files from other packages:
-
-
# algorithms
*.alg
*.loa
@@ -46,11 +51,35 @@ acs-*.bib
# beamer
*.nav
+*.pre
*.snm
*.vrb
-#(e)ledmac/(e)ledpar
+# changes
+*.soc
+
+# cprotect
+*.cpt
+
+# elsarticle (documentclass of Elsevier journals)
+*.spl
+
+# endnotes
+*.ent
+
+# fixme
+*.lox
+
+# feynmf/feynmp
+*.mf
+*.mp
+*.t[1-9]
+*.t[1-9][0-9]
+*.tfm
+
+#(r)(e)ledmac/(r)(e)ledpar
*.end
+*.?end
*.[1-9]
*.[1-9][0-9]
*.[1-9][0-9][0-9]
@@ -70,15 +99,21 @@ acs-*.bib
*.glg
*.glo
*.gls
+*.glsdefs
# gnuplottex
*-gnuplottex-*
+# gregoriotex
+*.gaux
+*.gtex
+
# hyperref
*.brf
# knitr
*-concordance.tex
+# TODO Comment the next line if you want to keep your tikz graphics files
*.tikz
*-tikzDictionary
@@ -93,9 +128,12 @@ acs-*.bib
# minitoc
*.maf
-*.mtc
-*.mtc[0-9]
-*.mtc[1-9][0-9]
+*.mlf
+*.mlt
+*.mtc[0-9]*
+*.slf[0-9]*
+*.slt[0-9]*
+*.stc[0-9]*
# minted
_minted*
@@ -104,22 +142,36 @@ _minted*
# morewrites
*.mw
-# mylatexformat
-*.fmt
-
# nomencl
*.nlo
+# pax
+*.pax
+
# sagetex
*.sagetex.sage
*.sagetex.py
*.sagetex.scmd
+# scrwfile
+*.wrt
+
# sympy
*.sout
*.sympy
sympy-plots-for-*.tex/
+# pdfcomment
+*.upa
+*.upb
+
+# pythontex
+*.pytxcode
+pythontex-files-*/
+
+# thmtools
+*.loe
+
# TikZ & PGF
*.dpth
*.md5
@@ -128,9 +180,38 @@ sympy-plots-for-*.tex/
# todonotes
*.tdo
+# easy-todo
+*.lod
+
# xindy
*.xdy
+# xypic precompiled matrices
+*.xyc
+
+# endfloat
+*.ttt
+*.fff
+
+# Latexian
+TSWLatexianTemp*
+
+## Editors:
# WinEdt
*.bak
*.sav
+
+# Texpad
+.texpadtmp
+
+# Kile
+*.backup
+
+# KBibTeX
+*~[0-9]*
+
+# auto folder when using emacs and auctex
+/auto/*
+
+# expex forward references with \gathertags
+*-tags.tex
diff --git a/options/gitignore/Terraform b/options/gitignore/Terraform
new file mode 100644
index 0000000..41859c8
--- /dev/null
+++ b/options/gitignore/Terraform
@@ -0,0 +1,6 @@
+# Compiled files
+*.tfstate
+*.tfstate.backup
+
+# Module directory
+.terraform/
diff --git a/options/gitignore/Typo3 b/options/gitignore/Typo3
index 5781fcc..cb024fe 100644
--- a/options/gitignore/Typo3
+++ b/options/gitignore/Typo3
@@ -1,5 +1,5 @@
## TYPO3 v6.2
-# Ignore serveral upload and file directories.
+# Ignore several upload and file directories.
/fileadmin/user_upload/
/fileadmin/_temp_/
/fileadmin/_processed_/
diff --git a/options/gitignore/Umbraco b/options/gitignore/Umbraco
index 21af92d..ea05e1f 100644
--- a/options/gitignore/Umbraco
+++ b/options/gitignore/Umbraco
@@ -1,12 +1,11 @@
# Note: VisualStudio gitignore rules may also be relevant
+# Umbraco
# Ignore unimportant folders generated by Umbraco
-**/App_Data/ClientDependency/
-**/App_Data/ExamineIndexes/
**/App_Data/Logs/
**/App_Data/[Pp]review/
**/App_Data/TEMP/
-Cached/
+**/App_Data/NuGetBackup/
# Ignore Umbraco content cache file
**/App_Data/umbraco.config
@@ -15,3 +14,6 @@ Cached/
# Make sure to include details from VisualStudio.gitignore BEFORE this
!**/App_Data/[Pp]ackages/
!**/[Uu]mbraco/[Dd]eveloper/[Pp]ackages
+
+# ImageProcessor DiskCache
+**/App_Data/cache/
diff --git a/options/gitignore/Unity b/options/gitignore/Unity
index 9de9409..eb83a8f 100644
--- a/options/gitignore/Unity
+++ b/options/gitignore/Unity
@@ -2,8 +2,15 @@
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
+/[Bb]uilds/
+/Assets/AssetStoreTools*
-# Autogenerated VS/MD solution and project files
+# Visual Studio 2015 cache directory
+/.vs/
+
+# Autogenerated VS/MD/Consulo solution and project files
+ExportedObj/
+.consulo/
*.csproj
*.unityproj
*.sln
@@ -13,9 +20,15 @@
*.userprefs
*.pidb
*.booproj
+*.svd
+*.pdb
# Unity3D generated meta files
*.pidb.meta
# Unity3D Generated File On Crash Reports
sysinfo.txt
+
+# Builds
+*.apk
+*.unitypackage
diff --git a/options/gitignore/UnrealEngine b/options/gitignore/UnrealEngine
new file mode 100644
index 0000000..2f09600
--- /dev/null
+++ b/options/gitignore/UnrealEngine
@@ -0,0 +1,70 @@
+# Visual Studio 2015 user specific files
+.vs/
+
+# Visual Studio 2015 database file
+*.VC.db
+
+# Compiled Object files
+*.slo
+*.lo
+*.o
+*.obj
+
+# Precompiled Headers
+*.gch
+*.pch
+
+# Compiled Dynamic libraries
+*.so
+*.dylib
+*.dll
+
+# Fortran module files
+*.mod
+
+# Compiled Static libraries
+*.lai
+*.la
+*.a
+*.lib
+
+# Executables
+*.exe
+*.out
+*.app
+*.ipa
+
+# These project files can be generated by the engine
+*.xcodeproj
+*.xcworkspace
+*.sln
+*.suo
+*.opensdf
+*.sdf
+*.VC.db
+*.VC.opendb
+
+# Precompiled Assets
+SourceArt/**/*.png
+SourceArt/**/*.tga
+
+# Binary Files
+Binaries/*
+
+# Builds
+Build/*
+
+# Don't ignore icon files in Build
+!Build/**/*.ico
+
+# Built data for maps
+*_BuiltData.uasset
+
+# Configuration files generated by the Editor
+Saved/*
+
+# Compiled source files for the engine to use
+Intermediate/*
+
+# Cache files for the editor to use
+DerivedDataCache/*
diff --git a/options/gitignore/Vim b/options/gitignore/Vim
index 6c5ee8d..42e7afc 100644
--- a/options/gitignore/Vim
+++ b/options/gitignore/Vim
@@ -1,6 +1,12 @@
-[._]*.s[a-w][a-z]
-[._]s[a-w][a-z]
-*.un~
+# swap
+[._]*.s[a-v][a-z]
+[._]*.sw[a-p]
+[._]s[a-v][a-z]
+[._]sw[a-p]
+# session
Session.vim
+# temporary
.netrwhist
*~
+# auto-generated tag files
+tags
diff --git a/options/gitignore/VirtualEnv b/options/gitignore/VirtualEnv
index 831cf3a..b2c22f2 100644
--- a/options/gitignore/VirtualEnv
+++ b/options/gitignore/VirtualEnv
@@ -4,7 +4,9 @@
[Bb]in
[Ii]nclude
[Ll]ib
+[Ll]ib64
[Ll]ocal
[Ss]cripts
pyvenv.cfg
+.venv
pip-selfcheck.json
diff --git a/options/gitignore/VisualStudio b/options/gitignore/VisualStudio
index 150691a..a752eac 100644
--- a/options/gitignore/VisualStudio
+++ b/options/gitignore/VisualStudio
@@ -1,5 +1,7 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.suo
@@ -17,10 +19,10 @@
[Rr]eleases/
x64/
x86/
-build/
bld/
[Bb]in/
[Oo]bj/
+[Ll]og/
# Visual Studio 2015 cache/options directory
.vs/
@@ -40,9 +42,11 @@ TestResult.xml
[Rr]eleasePS/
dlldata.c
-# DNX
+# .NET Core
project.lock.json
+project.fragment.lock.json
artifacts/
+**/Properties/launchSettings.json
*_i.c
*_p.c
@@ -76,9 +80,12 @@ _Chutzpah*
ipch/
*.aps
*.ncb
+*.opendb
*.opensdf
*.sdf
*.cachefile
+*.VC.db
+*.VC.VC.opendb
# Visual Studio profiler
*.psess
@@ -106,6 +113,10 @@ _TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
+
# NCrunch
_NCrunch_*
.*crunch*.local.xml
@@ -137,11 +148,16 @@ publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
-# TODO: Comment the next line if you want to checkin your web deploy settings
+# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
@@ -150,13 +166,23 @@ publish/
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
+# NuGet v3's project.json files produces more ignorable files
+*.nuget.props
+*.nuget.targets
-# Windows Azure Build Output
+# Microsoft Azure Build Output
csx/
*.build.csdef
-# Windows Store app package directory
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
# Visual Studio cache files
# files ending in .cache can be ignored
@@ -166,16 +192,19 @@ AppPackages/
# Others
ClientBin/
-[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
+*.jfm
*.pfx
*.publishsettings
-node_modules/
orleans.codegen.cs
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
# RIA/Silverlight projects
Generated_Code/
@@ -199,8 +228,15 @@ UpgradeLog*.htm
# Microsoft Fakes
FakesAssemblies/
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
+node_modules/
+
+# Typescript v1 declaration files
+typings/
# Visual Studio 6 build log
*.plg
@@ -208,6 +244,9 @@ FakesAssemblies/
# Visual Studio 6 workspace options file
*.opt
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
@@ -215,3 +254,34 @@ FakesAssemblies/
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# JetBrains Rider
+.idea/
+*.sln.iml
+
+# CodeRush
+.cr/
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/**
+# !tools/packages.config
+
+# Telerik's JustMock configuration file
+*.jmconfig
+
+# BizTalk build output
+*.btp.cs
+*.btm.cs
+*.odx.cs
+*.xsd.cs
\ No newline at end of file
diff --git a/options/gitignore/VisualStudioCode b/options/gitignore/VisualStudioCode
index 0865bb7..0511e2b 100644
--- a/options/gitignore/VisualStudioCode
+++ b/options/gitignore/VisualStudioCode
@@ -1,2 +1,5 @@
-.settings
-
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
diff --git a/options/gitignore/Waf b/options/gitignore/Waf
index 68cacdb..dad2b56 100644
--- a/options/gitignore/Waf
+++ b/options/gitignore/Waf
@@ -1,3 +1,9 @@
-# for projects that use Waf for building: http://code.google.com/p/waf/
-.waf-*
-.lock-*
+# For projects that use the Waf build system: https://waf.io/
+# Dot-hidden on Unix-like systems
+.waf-*-*/
+.waf3-*-*/
+# Hidden directory on Windows (no dot)
+waf-*-*/
+waf3-*-*/
+# Lockfile
+.lock-waf_*_build
diff --git a/options/gitignore/Windows b/options/gitignore/Windows
index a0d3145..ba26afd 100644
--- a/options/gitignore/Windows
+++ b/options/gitignore/Windows
@@ -1,6 +1,7 @@
-# Windows image file caches
+# Windows thumbnail cache files
Thumbs.db
ehthumbs.db
+ehthumbs_vista.db
# Folder config file
Desktop.ini
diff --git a/options/gitignore/WordPress b/options/gitignore/WordPress
index 5603287..9792350 100644
--- a/options/gitignore/WordPress
+++ b/options/gitignore/WordPress
@@ -1,7 +1,4 @@
*.log
-.htaccess
-sitemap.xml
-sitemap.xml.gz
wp-config.php
wp-content/advanced-cache.php
wp-content/backup-db/
@@ -13,6 +10,9 @@ wp-content/uploads/
wp-content/wp-cache-config.php
wp-content/plugins/hello.php
-/readme.html
+/.htaccess
/license.txt
+/readme.html
+/sitemap.xml
+/sitemap.xml.gz
diff --git a/options/gitignore/Xcode b/options/gitignore/Xcode
index d07b789..37de8bb 100644
--- a/options/gitignore/Xcode
+++ b/options/gitignore/Xcode
@@ -4,7 +4,7 @@
## Build generated
build/
-DerivedData
+DerivedData/
## Various settings
*.pbxuser
@@ -15,9 +15,9 @@ DerivedData
!default.mode2v3
*.perspectivev3
!default.perspectivev3
-xcuserdata
+xcuserdata/
## Other
-*.xccheckout
*.moved-aside
-*.xcuserstate
+*.xccheckout
+*.xcscmblueprint
diff --git a/options/gitignore/XilinxISE b/options/gitignore/XilinxISE
index e041f51..4475f84 100644
--- a/options/gitignore/XilinxISE
+++ b/options/gitignore/XilinxISE
@@ -42,6 +42,16 @@
*_usage.xml
*_xst.xrpt
+# iMPACT generated files
+_impactbatch.log
+impact.xsl
+impact_impact.xwbt
+ise_impact.cmd
+webtalk_impact.xml
+
+# Core Generator generated files
+xaw2verilog.log
+
# project-wide generated files
*.gise
par_usage_statistics.html
diff --git a/options/gitignore/ZendFramework b/options/gitignore/ZendFramework
index 3fbc973..80adb15 100644
--- a/options/gitignore/ZendFramework
+++ b/options/gitignore/ZendFramework
@@ -15,6 +15,11 @@ data/sessions/
data/tmp/
temp/
+#Doctrine 2
+data/DoctrineORMModule/Proxy/
+data/DoctrineORMModule/cache/
+
+
# Legacy ZF1
demos/
extras/documentation
diff --git a/options/gitignore/OSX b/options/gitignore/macOS
similarity index 81%
rename from options/gitignore/OSX
rename to options/gitignore/macOS
index 660b313..f0f3fbc 100644
--- a/options/gitignore/OSX
+++ b/options/gitignore/macOS
@@ -1,24 +1,26 @@
-.DS_Store
-.AppleDouble
-.LSOverride
-
-# Icon must end with two \r
-Icon
-
-# Thumbnails
-._*
-
-# Files that might appear in the root of a volume
-.DocumentRevisions-V100
-.fseventsd
-.Spotlight-V100
-.TemporaryItems
-.Trashes
-.VolumeIcon.icns
-
-# Directories potentially created on remote AFP share
-.AppleDB
-.AppleDesktop
-Network Trash Folder
-Temporary Items
-.apdisk
+*.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon
+
+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
diff --git a/options/license/0BSD b/options/license/0BSD
new file mode 100644
index 0000000..0bcf761
--- /dev/null
+++ b/options/license/0BSD
@@ -0,0 +1,5 @@
+Copyright (C) 2006 by Rob Landley
+
+Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
\ No newline at end of file
diff --git a/options/license/AAL b/options/license/AAL
new file mode 100644
index 0000000..18f468c
--- /dev/null
+++ b/options/license/AAL
@@ -0,0 +1,23 @@
+Attribution Assurance License
+
+Copyright (c) <>
+
+All Rights Reserved
+
+ATTRIBUTION ASSURANCE LICENSE (adapted from the original BSD license)
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the conditions below are met. These conditions require a modest attribution to <;match=.+>> (the "Author"), who hopes that its promotional value may help justify the thousands of dollars in otherwise billable time invested in writing this and other freely available, open-source software.
+
+1. Redistributions of source code, in whole or part and with or without modification (the "Code"), must prominently display this GPG-signed text in verifiable form.
+
+2. Redistributions of the Code in binary form must be accompanied by this GPG-signed text in any documentation and, each time the resulting executable program or a program dependent thereon is launched, a prominent display (e.g., splash screen or banner text) of the Author's attribution information, which includes:
+
+ (a) <> ("AUTHOR"),
+ (b) <> ("PROFESSIONAL IDENTIFICATION"), and
+ (c) <> ("URL").
+
+3. Neither the name nor any trademark of the Author may be used to endorse or promote products derived from this software without specific prior written permission.
+
+4. Users are entirely responsible, to the exclusion of the Author and any other persons, for compliance with (1) regulations set by owners or administrators of employed equipment, (2) licensing terms of any other software, and (3) local regulations regarding use, including those regarding import, export, and use of encryption software.
+
+THIS FREE SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR ANY CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, EFFECTS OF UNAUTHORIZED OR MALICIOUS NETWORK ACCESS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/ADSL b/options/license/ADSL
new file mode 100644
index 0000000..9c5154f
--- /dev/null
+++ b/options/license/ADSL
@@ -0,0 +1 @@
+This software code is made available "AS IS" without warranties of any kind. You may copy, display, modify and redistribute the software code either by itself or as incorporated into your code; provided that > you do not remove any proprietary notices. Your use of this software code is at your own risk and you waive any claim against Amazon Digital Services, Inc. or its affiliates with respect to your use of this software code. (c) 2006 Amazon Digital Services, Inc. or its affiliates.
\ No newline at end of file
diff --git a/options/license/Academic Free License v1.1 b/options/license/AFL-1.1
similarity index 73%
rename from options/license/Academic Free License v1.1
rename to options/license/AFL-1.1
index 61ea6da..c6217e1 100644
--- a/options/license/Academic Free License v1.1
+++ b/options/license/AFL-1.1
@@ -1,14 +1,19 @@
-Academic Free License
+Academic Free License
Version 1.1
-The Academic Free License applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
-"Licensed under the Academic Free License version 1.1."
+The Academic Free License applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
-Grant of License. Licensor hereby grants to any person obtaining a copy of the Original Work ("You") a world-wide, royalty-free, non-exclusive, perpetual, non-sublicenseable license (1) to use, copy, modify, merge, publish, perform, distribute and/or sell copies of the Original Work and derivative works thereof, and (2) under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and derivative works thereof, subject to the following conditions.
+ "Licensed under the Academic Free License version 1.1."
-Right of Attribution. Redistributions of the Original Work must reproduce all copyright notices in the Original Work as furnished by the Licensor, both in the Original Work itself and in any documentation and/or other materials provided with the distribution of the Original Work in executable form.
+Grant of License. Licensor hereby grants to any person obtaining a copy of the Original Work ("You") a world-wide, royalty-free, non-exclusive, perpetual, non-sublicenseable license
-Exclusions from License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor.
+(1) to use, copy, modify, merge, publish, perform, distribute and/or sell copies of the Original Work and derivative works thereof, and
+
+(2) under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and derivative works thereof, subject to the following conditions.
+
+ Right of Attribution. Redistributions of the Original Work must reproduce all copyright notices in the Original Work as furnished by the Licensor, both in the Original Work itself and in any documentation and/or other materials provided with the distribution of the Original Work in executable form.
+
+ Exclusions from License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor.
WARRANTY AND DISCLAIMERS. LICENSOR WARRANTS THAT THE COPYRIGHT IN AND TO THE ORIGINAL WORK IS OWNED BY THE LICENSOR OR THAT THE ORIGINAL WORK IS DISTRIBUTED BY LICENSOR UNDER A VALID CURRENT LICENSE FROM THE COPYRIGHT OWNER. EXCEPT AS EXPRESSLY STATED IN THE IMMEDIATELY PRECEEDING SENTENCE, THE ORIGINAL WORK IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE WARRANTY OF NON-INFRINGEMENT AND WARRANTIES THAT THE ORIGINAL WORK IS MERCHANTABLE OR FIT FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO LICENSE TO ORIGINAL WORK IS GRANTED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
@@ -19,4 +24,4 @@ License to Source Code. The term "Source Code" means the preferred form of the O
Mutual Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License if You file a lawsuit in any court alleging that any OSI Certified open source software that is licensed under any license containing this "Mutual Termination for Patent Action" clause infringes any patent claims that are essential to use that software.
This license is Copyright (C) 2002 Lawrence E. Rosen. All rights reserved.
-Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
+Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
\ No newline at end of file
diff --git a/options/license/Academic Free License v1.2 b/options/license/AFL-1.2
similarity index 96%
rename from options/license/Academic Free License v1.2
rename to options/license/AFL-1.2
index d846ecd..9302c93 100644
--- a/options/license/Academic Free License v1.2
+++ b/options/license/AFL-1.2
@@ -1,9 +1,10 @@
-Academic Free License
-Version 1.2
+Academic Free License
+Version 1.2
+
This Academic Free License applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the
following notice immediately following the copyright notice for the Original Work:
-Licensed under the Academic Free License version 1.2
+ Licensed under the Academic Free License version 1.2
Grant of License. Licensor hereby grants to any person obtaining a copy of the Original Work ("You") a world-wide, royalty-free, non-exclusive, perpetual, non-sublicenseable license (1) to use, copy, modify, merge, publish, perform, distribute and/or sell copies of the Original Work and derivative works thereof, and (2) under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and derivative works thereof, subject to the
following conditions.
@@ -24,4 +25,4 @@ Mutual Termination for Patent Action. This License shall terminate automatically
Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
This license is Copyright (C) 2002 Lawrence E. Rosen. All rights reserved.
-Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
+Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
\ No newline at end of file
diff --git a/options/license/AFL-2.0 b/options/license/AFL-2.0
new file mode 100644
index 0000000..a8cfafb
--- /dev/null
+++ b/options/license/AFL-2.0
@@ -0,0 +1,45 @@
+The Academic Free License
+v. 2.0
+
+This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
+
+ Licensed under the Academic Free License version 2.0
+
+1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license to do the following:
+
+ a) to reproduce the Original Work in copies;
+ b) to prepare derivative works ("Derivative Works") based upon the Original Work;
+ c) to distribute copies of the Original Work and Derivative Works to the public;
+ d) to perform the Original Work publicly; and
+ e) to display the Original Work publicly.
+
+2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and Derivative Works.
+
+3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work.
+
+4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the licensed claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license.
+
+5) This section intentionally omitted.
+
+6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
+
+7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately proceeding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to Original Work is granted hereunder except under this disclaimer.
+
+8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor'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.
+
+9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions.
+
+10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, for patent infringement (i) against Licensor with respect to a patent applicable to software or (ii) against any entity with respect to a patent applicable to the Original Work (but excluding combinations of the Original Work with other software or hardware).
+
+11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. ¤ 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License.
+
+12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
+
+13) 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.
+
+14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, 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 (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.
+
+15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
+
+This license is Copyright (C) 2003 Lawrence E. Rosen. All rights reserved.
+Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
\ No newline at end of file
diff --git a/options/license/AFL-2.1 b/options/license/AFL-2.1
new file mode 100644
index 0000000..2cb5b00
--- /dev/null
+++ b/options/license/AFL-2.1
@@ -0,0 +1,45 @@
+The Academic Free License
+v.2.1
+
+This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
+
+ Licensed under the Academic Free License version 2.1
+
+1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license to do the following:
+
+ a) to reproduce the Original Work in copies;
+ b) to prepare derivative works ("Derivative Works") based upon the Original Work;
+ c) to distribute copies of the Original Work and Derivative Works to the public;
+ d) to perform the Original Work publicly; and
+ e) to display the Original Work publicly.
+
+2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and Derivative Works.
+
+3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work.
+
+4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the licensed claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license.
+
+5) This section intentionally omitted.
+
+6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
+
+7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately proceeding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to Original Work is granted hereunder except under this disclaimer.
+
+8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor'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.
+
+ 9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions.
+
+10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
+
+11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. § 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License.
+
+12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
+
+13) 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.
+
+14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, 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 (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.
+
+15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
+
+This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved.
+Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
\ No newline at end of file
diff --git a/options/license/Academic Free License v3.0 b/options/license/AFL-3.0
similarity index 79%
rename from options/license/Academic Free License v3.0
rename to options/license/AFL-3.0
index 36bdcfd..0fb7dbb 100644
--- a/options/license/Academic Free License v3.0
+++ b/options/license/AFL-3.0
@@ -1,42 +1,43 @@
-Academic Free License (“AFL”) v. 3.0
+Academic Free License (“AFL”) v. 3.0
+
This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work:
-Licensed under the Academic Free License version 3.0
+ Licensed under the Academic Free License version 3.0
1) Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following:
+
+ a) to reproduce the Original Work in copies, either alone or as part of a collective work;
+ b) to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work;
+ c) to distribute or communicate copies of the Original Work and Derivative Works to the public, under any license of your choice that does not contradict the terms and conditions, including Licensor’s reserved rights and remedies, in this Academic Free License;
+ d) to perform the Original Work publicly; and
+ e) to display the Original Work publicly.
-a) to reproduce the Original Work in copies, either alone or as part of a collective work;
-b) to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work;
-c) to distribute or communicate copies of the Original Work and Derivative Works to the public, under any license of your choice that does not contradict the terms and conditions, including Licensor’s reserved rights and remedies, in this Academic Free License;
-d) to perform the Original Work publicly; and
-e) to display the Original Work publicly.
-
-2) Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works.
+2) Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works.
3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work.
-4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor’s trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license.
+ 4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor’s trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license.
-5) External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c).
+5) External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c).
-6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
+6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer.
-8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation.
+8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation.
-9) Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including “fair use” or “fair dealing”). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c).
+9) Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including “fair use” or “fair dealing”). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c).
-10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
+10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
-11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License.
+11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License.
-12) Attorneys’ Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
+12) Attorneys’ Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
-13) Miscellaneous. 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.
+13) Miscellaneous. 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.
-14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, 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 (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.
+14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, 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 (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.
-15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
+15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
-16) Modification of This License. This License is Copyright © 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Academic Free License" or "AFL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under " or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process.
+16) Modification of This License. This License is Copyright © 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Academic Free License" or "AFL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under " or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process.
\ No newline at end of file
diff --git a/options/license/Affero General Public License v1.0 b/options/license/AGPL-1.0
similarity index 83%
rename from options/license/Affero General Public License v1.0
rename to options/license/AGPL-1.0
index 946b95d..60e9947 100644
--- a/options/license/Affero General Public License v1.0
+++ b/options/license/AGPL-1.0
@@ -1,5 +1,6 @@
-AFFERO GENERAL PUBLIC LICENSE
+AFFERO GENERAL PUBLIC LICENSE
Version 1, March 2002
Copyright © 2002 Affero Inc.
510 Third Street - Suite 225, San Francisco, CA 94107, USA
+
This license is a modified version of the GNU General Public License copyright (C) 1989, 1991 Free Software Foundation, Inc. made with their permission. Section 2(d) has been added to cover use of software over a computer network.
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
@@ -32,11 +33,12 @@ Activities other than copying, distribution and modification are not covered by
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
-2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
-a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
-b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
-c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
-d) If the Program as you received it is intended to interact with users through a computer network and if, in the version you received, any user interacting with the Program was given the opportunity to request transmission to that user of the Program's complete source code, you must not remove that facility from your modified version of the Program or work based on the Program, and must offer an equivalent opportunity for all users interacting with your Program through a computer network to request immediate transmission by HTTP of the complete source code of your modified version or other derivative work.
+2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+ b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
+ c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
+ d) If the Program as you received it is intended to interact with users through a computer network and if, in the version you received, any user interacting with the Program was given the opportunity to request transmission to that user of the Program's complete source code, you must not remove that facility from your modified version of the Program or work based on the Program, and must offer an equivalent opportunity for all users interacting with your Program through a computer network to request immediate transmission by HTTP of the complete source code of your modified version or other derivative work.
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
@@ -44,10 +46,10 @@ Thus, it is not the intent of this section to claim rights or contest your right
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
-3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
-a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
-b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
-c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
+3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
+ a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+ b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+ c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
diff --git a/options/license/AGPL-3.0 b/options/license/AGPL-3.0
new file mode 100644
index 0000000..0a4f9a1
--- /dev/null
+++ b/options/license/AGPL-3.0
@@ -0,0 +1,235 @@
+GNU AFFERO GENERAL PUBLIC LICENSE
+Version 3, 19 November 2007
+
+Copyright (C) 2007 Free Software Foundation, Inc.
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+ Preamble
+
+The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community in the case of network server software.
+
+The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users.
+
+When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
+
+Developers that use our General Public Licenses protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License which gives you legal permission to copy, distribute and/or modify the software.
+
+A secondary benefit of defending all users' freedom is that improvements made in alternate versions of the program, if they receive widespread use, become available for other developers to incorporate. Many developers of free software are heartened and encouraged by the resulting cooperation. However, in the case of software used on network servers, this result may fail to come about. The GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the public.
+
+The GNU Affero General Public License is designed specifically to ensure that, in such cases, the modified source code becomes available to the community. It requires the operator of a network server to provide the source code of the modified version running there to the users of that server. Therefore, public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version.
+
+An older license, called the Affero General Public License and published by Affero, was designed to accomplish similar goals. This is a different license, not a version of the Affero GPL, but Affero has released a new version of the Affero GPL which permits relicensing under this license.
+
+The precise terms and conditions for copying, distribution and modification follow.
+
+ TERMS AND CONDITIONS
+
+0. Definitions.
+
+"This License" refers to version 3 of the GNU Affero General Public License.
+
+"Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
+
+"The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations.
+
+To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work.
+
+A "covered work" means either the unmodified Program or a work based on the Program.
+
+To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
+
+To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
+
+An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
+
+1. Source Code.
+The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work.
+
+A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
+
+The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
+
+The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
+
+The Corresponding Source for a work in source code form is that same work.
+
+2. Basic Permissions.
+All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
+
+You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
+
+Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
+
+3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
+
+When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
+
+4. Conveying Verbatim Copies.
+You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
+
+You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
+
+5. Conveying Modified Source Versions.
+You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
+
+A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
+
+6. Conveying Non-Source Forms.
+You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
+
+ d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
+
+A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
+
+A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
+
+"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
+
+If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
+
+The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
+
+Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
+
+7. Additional Terms.
+"Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
+
+When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
+
+Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
+
+All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
+
+If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
+
+Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
+
+8. Termination.
+
+You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
+
+However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
+
+Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
+
+9. Acceptance Not Required for Having Copies.
+
+You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
+
+10. Automatic Licensing of Downstream Recipients.
+
+Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
+
+An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
+
+You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
+
+11. Patents.
+
+A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version".
+
+A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
+
+Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
+
+In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to s ue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
+
+If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
+
+If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
+
+A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
+
+Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
+
+12. No Surrender of Others' Freedom.
+
+If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
+
+13. Remote Network Interaction; Use with the GNU General Public License.
+
+Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph.
+
+Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License.
+
+14. Revised Versions of this License.
+
+The Free Software Foundation may publish revised and/or new versions of the GNU Affero General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation.
+
+If the Program specifies that a proxy can decide which future versions of the GNU Affero General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
+
+Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
+
+15. Disclaimer of Warranty.
+
+THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+16. Limitation of Liability.
+
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+17. Interpretation of Sections 15 and 16.
+
+If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
+
+END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+If your software can interact with users remotely through a computer network, you should also make sure that it provides a way for users to get its source. For example, if your program is a web application, its interface could display a "Source" link that leads users to an archive of the code. There are many ways you could offer source, and different solutions will be better for different programs; see section 13 for the specific requirements.
+
+You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU AGPL, see .
\ No newline at end of file
diff --git a/options/license/AMDPLPA b/options/license/AMDPLPA
new file mode 100644
index 0000000..d76602b
--- /dev/null
+++ b/options/license/AMDPLPA
@@ -0,0 +1,19 @@
+All rights reserved.
+
+Redistribution and use in any form of this material and any product thereof including software in source or binary forms, along with any related documentation, with or without modification ("this material"), is permitted provided that the following conditions are met:
+
+ Redistributions of source code of any software must retain the above copyright notice and all terms of this license as part of the code.
+
+ Redistributions in binary form of any software must reproduce the above copyright notice and all terms of this license in any related documentation and/or other materials.
+
+ Neither the names nor trademarks of Advanced Micro Devices, Inc. or any copyright holders or contributors may be used to endorse or promote products derived from this material without specific prior written permission.
+
+ Notice about U.S. Government restricted rights: This material is provided with "RESTRICTED RIGHTS." Use, duplication or disclosure by the U.S. Government is subject to the full extent of restrictions set forth in FAR52.227 and DFARS252.227 et seq., or any successor or applicable regulations. Use of this material by the U.S. Government constitutes acknowledgment of the proprietary rights of Advanced Micro Devices, Inc. and any copyright holders and contributors.
+
+ ANY BREACH OF ANY TERM OF THIS LICENSE SHALL RESULT IN THE IMMEDIATE REVOCATION OF ALL RIGHTS TO REDISTRIBUTE, ACCESS OR USE THIS MATERIAL.
+
+THIS MATERIAL IS PROVIDED BY ADVANCED MICRO DEVICES, INC. AND ANY COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" IN ITS CURRENT CONDITION AND WITHOUT ANY REPRESENTATIONS, GUARANTEE, OR WARRANTY OF ANY KIND OR IN ANY WAY RELATED TO SUPPORT, INDEMNITY, ERROR FREE OR UNINTERRUPTED OPERATION, OR THAT IT IS FREE FROM DEFECTS OR VIRUSES. ALL OBLIGATIONS ARE HEREBY DISCLAIMED - WHETHER EXPRESS, IMPLIED, OR STATUTORY - INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, ACCURACY, COMPLETENESS, OPERABILITY, QUALITY OF SERVICE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. OR ANY COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, REVENUE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED OR BASED ON ANY THEORY OF LIABILITY ARISING IN ANY WAY RELATED TO THIS MATERIAL, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE ENTIRE AND AGGREGATE LIABILITY OF ADVANCED MICRO DEVICES, INC. AND ANY COPYRIGHT HOLDERS AND CONTRIBUTORS SHALL NOT EXCEED TEN DOLLARS (US $10.00). ANYONE REDISTRIBUTING OR ACCESSING OR USING THIS MATERIAL ACCEPTS THIS ALLOCATION OF RISK AND AGREES TO RELEASE ADVANCED MICRO DEVICES, INC. AND ANY COPYRIGHT HOLDERS AND CONTRIBUTORS FROM ANY AND ALL LIABILITIES, OBLIGATIONS, CLAIMS, OR DEMANDS IN EXCESS OF TEN DOLLARS (US $10.00). THE FOREGOING ARE ESSENTIAL TERMS OF THIS LICENSE AND, IF ANY OF THESE TERMS ARE CONSTRUED AS UNENFORCEABLE, FAIL IN ESSENTIAL PURPOSE, OR BECOME VOID OR DETRIMENTAL TO ADVANCED MICRO DEVICES, INC. OR ANY COPYRIGHT HOLDERS OR CONTRIBUTORS FOR ANY REASON, THEN ALL RIGHTS TO REDISTRIBUTE, ACCESS OR USE THIS MATERIAL SHALL TERMINATE IMMEDIATELY. MOREOVER, THE FOREGOING SHALL SURVIVE ANY EXPIRATION OR TERMINATION OF THIS LICENSE OR ANY AGREEMENT OR ACCESS OR USE RELATED TO THIS MATERIAL.
+
+NOTICE IS HEREBY PROVIDED, AND BY REDISTRIBUTING OR ACCESSING OR USING THIS MATERIAL SUCH NOTICE IS ACKNOWLEDGED, THAT THIS MATERIAL MAY BE SUBJECT TO RESTRICTIONS UNDER THE LAWS AND REGULATIONS OF THE UNITED STATES OR OTHER COUNTRIES, WHICH INCLUDE BUT ARE NOT LIMITED TO, U.S. EXPORT CONTROL LAWS SUCH AS THE EXPORT ADMINISTRATION REGULATIONS AND NATIONAL SECURITY CONTROLS AS DEFINED THEREUNDER, AS WELL AS STATE DEPARTMENT CONTROLS UNDER THE U.S. MUNITIONS LIST. THIS MATERIAL MAY NOT BE USED, RELEASED, TRANSFERRED, IMPORTED, EXPORTED AND/OR RE- EXPORTED IN ANY MANNER PROHIBITED UNDER ANY APPLICABLE LAWS, INCLUDING U.S. EXPORT CONTROL LAWS REGARDING SPECIFICALLY DESIGNATED PERSONS, COUNTRIES AND NATIONALS OF COUNTRIES SUBJECT TO NATIONAL SECURITY CONTROLS. MOREOVER, THE FOREGOING SHALL SURVIVE ANY EXPIRATION OR TERMINATION OF ANY LICENSE OR AGREEMENT OR ACCESS OR USE RELATED TO THIS MATERIAL.
+
+This license forms the entire agreement regarding the subject matter hereof and supersedes all proposals and prior discussions and writings between the parties with respect thereto. This license does not affect any ownership, rights, title, or interest in, or relating to, this material. No terms of this license can be modified or waived, and no breach of this license can be excused, unless done so in a writing signed by all affected parties. Each term of this license is separately enforceable. If any term of this license is determined to be or becomes unenforceable or illegal, such term shall be reformed to the minimum extent necessary in order for this license to remain in effect in accordance with its terms as modified by such reformation. This license shall be governed by and construed in accordance with the laws of the State of Texas without regard to rules on conflicts of law of any state or jurisdiction or the United Nations Convention on the International Sale of Goods. All disputes arising out of this license shall be subject to the jurisdiction of the federal and state courts in Austin, Texas, and all defenses are hereby waived concerning personal jurisdiction and venue of these courts.
\ No newline at end of file
diff --git a/options/license/AML b/options/license/AML
new file mode 100644
index 0000000..8cc3202
--- /dev/null
+++ b/options/license/AML
@@ -0,0 +1,9 @@
+Copyright: Copyright (c) 2006 by Apple Computer, Inc., All Rights Reserved.
+
+IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in consideration of your agreement to the following terms, and your use, installation, modification or redistribution of this Apple software constitutes acceptance of these terms. If you do not agree with these terms, please do not use, install, modify or redistribute this Apple software.
+
+In consideration of your agreement to abide by the following terms, and subject to these terms, Apple grants you a personal, non-exclusive license, under Apple's copyrights in this original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the Apple Software, with or without modifications, in source and/or binary forms; provided that if you redistribute the Apple Software in its entirety and without modifications, you must retain this notice and the following text and disclaimers in all such redistributions of the Apple Software. Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to endorse or promote products derived from the Apple Software without specific prior written permission from Apple. Except as expressly stated in this notice, no other rights or licenses, express or implied, are granted by Apple herein, including but not limited to any patent rights that may be infringed by your derivative works or by other works in which the Apple Software may be incorporated.
+
+The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+
+IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/AMPAS b/options/license/AMPAS
new file mode 100644
index 0000000..48f0146
--- /dev/null
+++ b/options/license/AMPAS
@@ -0,0 +1,13 @@
+Copyright (c) 2006 Academy of Motion Picture Arts and Sciences ("A.M.P.A.S."). Portions contributed by others as indicated. All rights reserved.
+
+A world-wide, royalty-free, non-exclusive right to distribute, copy, modify, create derivatives, and use, in source and binary forms, is hereby granted, subject to acceptance of this license. Performance of any of the aforementioned acts indicates acceptance to be bound by the following terms and conditions:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the Disclaimer of Warranty.
+
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the Disclaimer of Warranty in the documentation and/or other materials provided with the distribution.
+
+ * Nothing in this license shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of A.M.P.A.S. or any contributors, except as expressly stated herein, and neither the name of A.M.P.A.S. nor of any other contributors to this software, may be used to endorse or promote products derived from this software without specific prior written permission of A.M.P.A.S. or contributor, as appropriate.
+
+This license shall be governed by the laws of the State of California, and subject to the jurisdiction of the courts therein.
+
+Disclaimer of Warranty: THIS SOFTWARE IS PROVIDED BY A.M.P.A.S. AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL A.M.P.A.S., ANY CONTRIBUTORS OR DISTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/ANTLR-PD b/options/license/ANTLR-PD
new file mode 100644
index 0000000..d75060d
--- /dev/null
+++ b/options/license/ANTLR-PD
@@ -0,0 +1,5 @@
+ANTLR 2 License
+
+We reserve no legal rights to the ANTLR--it is fully in the public domain. An individual or company may do whatever they wish with source code distributed with ANTLR or the code generated by ANTLR, including the incorporation of ANTLR, or its output, into commerical software.
+
+We encourage users to develop software with ANTLR. However, we do ask that credit is given to us for developing ANTLR. By "credit", we mean that if you use ANTLR or incorporate any source code into one of your programs (commercial product, research project, or otherwise) that you acknowledge this fact somewhere in the documentation, research report, etc... If you like ANTLR and have developed a nice tool with the output, please mention that you developed it using ANTLR. In addition, we ask that the headers remain intact in our source code. As long as these guidelines are kept, we expect to continue enhancing this system and expect to make other tools available as they are completed.
diff --git a/options/license/APAFML b/options/license/APAFML
new file mode 100644
index 0000000..bc992bf
--- /dev/null
+++ b/options/license/APAFML
@@ -0,0 +1,3 @@
+Copyright (c) 1985, 1987, 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+
+This file and the 14 PostScript(R) AFM files it accompanies may be used, copied, and distributed for any purpose and without charge, with or without modification, provided that all copyright notices are retained; that the AFM files are not distributed without this file; that all modifications to this file or any of the AFM files are prominently noted in the modified file(s); and that this paragraph is not modified. Adobe Systems has no responsibility or obligation to support the use of the AFM files.
\ No newline at end of file
diff --git a/options/license/APL-1.0 b/options/license/APL-1.0
new file mode 100644
index 0000000..0349df4
--- /dev/null
+++ b/options/license/APL-1.0
@@ -0,0 +1,295 @@
+ADAPTIVE PUBLIC LICENSE
+Version 1.0
+
+THE LICENSED WORK IS PROVIDED UNDER THE TERMS OF THIS ADAPTIVE PUBLIC LICENSE ("LICENSE"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE LICENSED WORK CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS LICENSE AND ITS TERMS, WHETHER OR NOT SUCH RECIPIENT READS THE TERMS OF THIS LICENSE. "LICENSED WORK" AND "RECIPIENT" ARE DEFINED BELOW.
+
+IMPORTANT NOTE: This License is "adaptive", and the generic version or another version of an Adaptive Public License should not be relied upon to determine your rights and obligations under this License. You must read the specific Adaptive Public License that you receive with the Licensed Work, as certain terms are defined at the outset by the Initial Contributor.
+
+See Section 2.2 below, Exhibit A attached, and any Suppfile.txt accompanying this License to determine the specific adaptive features applicable to this License. For example, without limiting the foregoing, (a) for selected choice of law and jurisdiction see Part 3 of Exhibit A; (b) for the selected definition of Third Party see Part 4 of Exhibit A; and (c) for selected patent licensing terms (if any) see Section 2.2 below and Part 6 of Exhibit A.
+
+1. DEFINITIONS.
+
+1.1. "CONTRIBUTION" means:
+
+ (a) In the case of the Initial Contributor, the Initial Work distributed under this License by the Initial Contributor; and
+ (b) In the case of each Subsequent Contributor, the Subsequent Work originating from and distributed by such Subsequent Contributor.
+
+1.2. "DESIGNATED WEB SITE" means the web site having the URL identified in Part 1 of Exhibit A, which URL may be changed by the Initial Contributor by posting on the current Designated Web Site the new URL for at least sixty (60) days.
+
+1.3. "DISTRIBUTOR" means any Person that distributes the Licensed Work or any portion thereof to at least one Third Party.
+
+1.4. "ELECTRONIC DISTRIBUTION MECHANISM" means any mechanism generally accepted in the software development community for the electronic transfer of data.
+
+1.5. "EXECUTABLE" means the Licensed Work in any form other than Source Code.
+
+1.6. "GOVERNING JURISDICTION" means the state, province or other legal jurisdiction identified in Part 3 of Exhibit A.
+
+1.7. "INDEPENDENT MODULE" means a separate module of software and/or data that is not a derivative work of or copied from the Licensed Work or any portion thereof. In addition, a module does not qualify as an Independent Module but instead forms part of the Licensed Work if the module: (a) is embedded in the Licensed Work; (b) is included by reference in the Licensed Work other than by a function call or a class reference; or (c) must be included or contained, in whole or in part, within a file directory or subdirectory actually containing files making up the Licensed Work.
+
+1.8. "INITIAL CONTRIBUTOR" means the Person or entity identified as the Initial Contributor in the notice required byPart 1 of Exhibit A.
+
+1.9. "INITIAL WORK" means the initial Source Code, object code (if any) and documentation for the computer program identified in Part 2 of Exhibit A, as such Source Code, object code and documentation is distributed under this License by the Initial Contributor.
+
+1.10. "LARGER WORK" means a work that combines the Licensed Work or portions thereof with code not governed by this License.
+
+1.11. "LICENSED WORK" means the Initial Work and/or any Subsequent Work, in each case including portions thereof.
+
+1.12. "LICENSE NOTICE" has the meaning assigned in Part 5 of Exhibit A.
+
+1.13. "MODIFICATION" or "MODIFICATIONS" means any change to and/or addition to the Licensed Work.
+
+1.14. "PERSON" means an individual or other legal entity, including a corporation, partnership or other body.
+
+1.15. "RECIPIENT" means any Person who receives or obtains the Licensed Work under this License (by way of example, without limiting the foregoing, any Subsequent Contributor or Distributor).
+
+1.16. "SOURCE CODE" means the source code for a computer program, including the source code for all modules and components of the computer program, plus any associated interface definition files, and scripts used to control compilation and installation of an executable.
+
+1.17. "SUBSEQUENT CONTRIBUTOR" means any Person that makes or contributes to the making of any Subsequent Work and that distributes that Subsequent Work to at least one Third Party.
+
+1.18. "SUBSEQUENT WORK" means a work that has resulted or arises from changes to and/or additions to:
+
+ (a) the Initial Work;
+ (b) any other Subsequent Work; or
+ (c) to any combination of the Initial Work and any such other Subsequent Work;
+where such changes and/or additions originate from a Subsequent Contributor. A Subsequent Work will "originate" from a Subsequent Contributor if the Subsequent Work was a result of efforts by such Subsequent Contributor (or anyone acting on such Subsequent Contributor's behalf, such as, a contractor or other entity that is engaged by or under the direction of the Subsequent Contributor). For greater certainty, a Subsequent Work expressly excludes and shall not capture within its meaning any Independent Module.
+
+1.19. "SUPPLEMENT FILE" means a file distributed with the Licensed Work having a file name "suppfile.txt".
+
+1.20. "THIRD PARTY" has the meaning assigned in Part 4 of Exhibit A.
+
+2. LICENSE.
+
+2.1. COPYRIGHT LICENSE FROM INITIAL AND SUBSEQUENT CONTRIBUTORS.
+
+ (a) Subject to the terms of this License, the Initial Contributor hereby grants each Recipient a world-wide, royalty-free, non-exclusive copyright license to:
+
+ (i) reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Initial Work; and
+ (ii) reproduce, publicly display, publicly perform, distribute, and sublicense any derivative works (if any) prepared by Recipient;
+in Source Code and Executable form, either with other Modifications, on an unmodified basis, or as part of a Larger Work.
+
+ (b) Subject to the terms of this License, each Subsequent Contributor hereby grants each Recipient a world-wide, royalty-free, non-exclusive copyright license to:
+
+ (i) reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Subsequent Work of such Subsequent Contributor; and
+ (ii) reproduce, publicly display, publicly perform, distribute, and sublicense any derivative works (if any) prepared by Recipient;
+in Source Code and Executable form, either with other Modifications, on an unmodified basis, or as part of a Larger Work.
+
+2.2. PATENT LICENSE FROM INITIAL AND SUBSEQUENT CONTRIBUTORS.
+
+ (a) This License does not include or grant any patent license whatsoever from the Initial Contributor, Subsequent Contributor, or any Distributor unless, at the time the Initial Work is first distributed or made available under this License (as the case may be), the Initial Contributor has selected pursuant to Part 6 of Exhibit A the patent terms in paragraphs A, B, C, D and E from Part 6 of Exhibit A. If this is not done then the Initial Work and any other Subsequent Work is made available under the License without any patent license (the "PATENTS-EXCLUDED LICENSE").
+ (b) However, the Initial Contributor may subsequently distribute or make available (as the case may be) future copies of: (1) the Initial Work; or (2) any Licensed Work distributed by the Initial Contributor which includes the Initial Work (or any portion thereof) and/or any Modification made by the Initial Contributor; available under a License which includes a patent license (the "PATENTS-INCLUDED LICENSE") by selecting pursuant to Part 6 of Exhibit A the patent terms in paragraphs A, B, C, D and E from Part 6 of Exhibit A, when the Initial Contributor distributes or makes available (as the case may be) such future copies under this License.
+ (c) If any Recipient receives or obtains one or more copies of the Initial Work or any other portion of the Licensed Work under the Patents-Included License, then all licensing of such copies under this License shall include the terms in paragraphs A, B, C, D and E from Part 6 of Exhibit A and that Recipient shall not be able to rely upon the Patents-Excluded License for any such copies. However, all Recipients that receive one or more copies of the Initial Work or any other portion of the Licensed Work under a copy of the License which includes the Patents-Excluded License shall have no patent license with respect to such copies received under the Patents-Excluded License and availability and distribution of such copies, including Modifications made by such Recipient to such copies, shall be under a copy of the License without any patent license.
+ (d) Where a Recipient uses in combination or combines any copy of the Licensed Work (or portion thereof) licensed under a copy of the License having a Patents-Excluded License with any copy of the Licensed Work (or portion thereof) licensed under a copy of the License having a Patents-Included License, the combination (and any portion thereof) shall, from the first time such Recipient uses, makes available or distributes the combination (as the case may be), be subject to only the terms of the License having the Patents-Included License which shall include the terms in paragraphs A, B, C, D and E from Part 6 of Exhibit A.
+
+2.3. ACKNOWLEDGEMENT AND DISCLAIMER.
+Recipient understands and agrees that although Initial Contributor and each Subsequent Contributor grants the licenses to its Contributions set forth herein, no representation, warranty, guarantee or assurance is provided by any Initial Contributor, Subsequent Contributor, or Distributor that the Licensed Work does not infringe the patent or other intellectual property rights of any other entity. Initial Contributor, Subsequent Contributor, and each Distributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise, in relation to the Licensed Works. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, without limiting the foregoing disclaimers, if a third party patent license is required to allow Recipient to distribute the Licensed Work, it is Recipient's responsibility to acquire that license before distributing the Licensed Work.
+
+2.4. RESERVATION.
+Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Initial Contributor, Subsequent Contributor, or Distributor except as expressly stated herein.
+
+3. DISTRIBUTION OBLIGATIONS.
+
+3.1. DISTRIBUTION GENERALLY.
+
+ (a) A Subsequent Contributor shall make that Subsequent Contributor's Subsequent Work(s) available to the public via an Electronic Distribution Mechanism for a period of at least twelve (12) months. The aforesaid twelve (12) month period shall begin within a reasonable time after the creation of the Subsequent Work and no later than sixty (60) days after first distribution of that Subsequent Contributor's Subsequent Work.
+ (b) All Distributors must distribute the Licensed Work in accordance with the terms of the License, and must include a copy of this License (including without limitation Exhibit A and the accompanying Supplement File) with each copy of the Licensed Work distributed. In particular, this License must be prominently distributed with the Licensed Work in a file called "license.txt." In addition, the License Notice in Part 5 of Exhibit Amust be included at the beginning of all Source Code files, and viewable to a user in any executable such that the License Notice is reasonably brought to the attention of any party using the Licensed Work.
+
+3.2. EXECUTABLE DISTRIBUTIONS OF THE LICENSED WORK.
+A Distributor may choose to distribute the Licensed Work, or any portion thereof, in Executable form (an "EXECUTABLE DISTRIBUTION") to any third party, under the terms of Section 2 of this License, provided the Executable Distribution is made available under and accompanied by a copy of this License, AND provided at least ONE of the following conditions is fulfilled:
+
+ (a) The Executable Distribution must be accompanied by the Source Code for the Licensed Work making up the Executable Distribution, and the Source Code must be distributed on the same media as the Executable Distribution or using an Electronic Distribution Mechanism; or
+ (b) The Executable Distribution must be accompanied with a written offer, valid for at least thirty six (36) months, to give any third party under the terms of this License, for a charge no more than the cost of physically performing source distribution, a complete machine-readable copy of the Source Code for the Licensed Work making up the Executable Distribution, to be available and distributed using an Electronic Distribution Mechanism, and such Executable Distribution must remain available in Source Code form to any third party via the Electronic Distribution Mechanism (or any replacement Electronic Distribution Mechanism the particular Distributor may reasonably need to turn to as a substitute) for said at least thirty six (36) months.
+
+For greater certainty, the above-noted requirements apply to any Licensed Work or portion thereof distributed to any third party in Executable form, whether such distribution is made alone, in combination with a Larger Work or Independent Modules, or in some other combination.
+
+3.3. SOURCE CODE DISTRIBUTIONS.
+When a Distributor makes the Licensed Work, or any portion thereof, available to any Person in Source Code form, it must be made available under this License and a copy of this License must be included with each copy of the Source Code, situated so that the copy of the License is conspicuously brought to the attention of that Person. For greater clarification, this Section 3.3 applies to all distribution of the Licensed Work in any Source Code form. A Distributor may charge a fee for the physical act of transferring a copy, which charge shall be no more than the cost of physically performing source distribution.
+
+3.4. REQUIRED NOTICES IN SOURCE CODE.
+Each Subsequent Contributor must ensure that the notice set out in Part 5 of Exhibit A is included in each file of the Source Code for each Subsequent Work originating from that particular Subsequent Contributor, if such notice is not already included in each such file. If it is not possible to put such notice in a particular Source Code file due to its structure, then the Subsequent Contributor must include such notice in a location (such as a relevant directory in which the file is stored) where a user would be likely to look for such a notice.
+
+3.5. NO DISTRIBUTION REQUIREMENTS FOR INTERNALLY USED MODIFICATIONS.
+Notwithstanding Sections 3.2, 3.3 and 3.4, Recipient may, internally within its own corporation or organization use the Licensed Work, including the Initial Work and Subsequent Works, and make Modifications for internal use within Recipient's own corporation or organization (collectively, "INTERNAL USE MODIFICATIONS"). The Recipient shall have no obligation to distribute, in either Source Code or Executable form, any such Internal Use Modifications made by Recipient in the course of such internal use, except where required below in this Section 3.5. All Internal Use Modifications distributed to any Person, whether or not a Third Party, shall be distributed pursuant to and be accompanied by the terms of this License. If the Recipient chooses to distribute any such Internal Use Modifications to any Third Party, then the Recipient shall be deemed a Subsequent Contributor, and any such Internal Use Modifications distributed to any Third Party shall be deemed a Subsequent Work originating from that Subsequent Contributor, and shall from the first such instance become part of the Licensed Work that must thereafter be distributed and made available to third parties in accordance with the terms of Sections 3.1 to 3.4 inclusive.
+
+3.6. INDEPENDENT MODULES.
+This License shall not apply to Independent Modules of any Initial Contributor, Subsequent Contributor, Distributor or any Recipient, and such Independent Modules may be licensed or made available under one or more separate license agreements.
+
+3.7. LARGER WORKS.
+Any Distributor or Recipient may create or contribute to a Larger Work by combining any of the Licensed Work with other code not governed by the terms of this License, and may distribute the Larger Work as one or more products. However, in any such case, Distributor or Recipient (as the case may be) must make sure that the requirements of this License are fulfilled for the Licensed Work portion of the Larger Work.
+
+3.8. DESCRIPTION OF DISTRIBUTED MODIFICATIONS.
+
+ (a) Each Subsequent Contributor (including the Initial Contributor where the Initial Contributor also qualifies as a Subsequent Contributor) must cause each Subsequent Work created or contributed to by that Subsequent Contributor to contain a file documenting the changes, in accordance with the requirements ofPart 1 of the Supplement File, that such Subsequent Contributor made in the creation or contribution to that Subsequent Work. If no Supplement File exists or no requirements are set out in Part 1 of the Supplement File, then there are no requirements for Subsequent Contributors to document changes that they make resulting in Subsequent Works.
+ (b) The Initial Contributor may at any time introduce requirements or add to or change earlier requirements (in each case, the "EARLIER DESCRIPTION REQUIREMENTS") for documenting changes resulting in Subsequent Works by revising Part 1 of each copy of the Supplement File distributed by the Initial Contributor with future copies of the Licensed Work so that Part 1 then contains new requirements (the "NEW DESCRIPTION REQUIREMENTS") for documenting such changes.
+ (c) Any Recipient receiving at any time any copy of an Initial Work or any Subsequent Work under a copy of this License (in each case, an "Earlier LICENSED COPY") having the Earlier Description Requirements may choose, with respect to each such Earlier Licensed Copy, to comply with the Earlier Description Requirements or the New Description Requirements. Where a Recipient chooses to comply with the New Description Requirements, that Recipient will, when thereafter distributing any copies of any such Earlier Licensed Copy, include a Supplement File having a section entitled Part 1 that contains a copy of the New Description Requirements.
+ (d) For greater certainty, the intent of Part 1 of the Supplement File is to provide a mechanism (if any) by which Subsequent Contributors must document changes that they make to the Licensed Work resulting in Subsequent Works. Part 1 of any Supplement File shall not be used to increase or reduce the scope of the license granted in Article 2 of this License or in any other way increase or decrease the rights and obligations of any Recipient, and shall at no time serve as the basis for terminating the License. Further, a Recipient can be required to correct and change its documentation procedures to comply with Part 1 of the Supplement File, but cannot be penalised with damages. Part 1 of any Supplement File is only binding on each Recipient of any Licensed Work to the extent Part 1 sets out the requirements for documenting changes to the Initial Work or any Subsequent Work.
+ (e) An example of a set of requirements for documenting changes and contributions made by Subsequent Contributor is set out in Part 7 of Exhibit A of this License. Part 7 is a sample only and is not binding on Recipients, unless (subject to the earlier paragraphs of this Section 3.8) those are the requirements that the Initial Contributor includes in Part 1 of the Supplement File with the copies of the Initial Work distributed under this License.
+
+3.9. USE OF DISTRIBUTOR NAME.
+The name of a Distributor may not be used by any other Distributor to endorse or promote the Licensed Work or products derived from the Licensed Work, without prior written permission.
+
+3.10. LIMITED RECOGNITION OF INITIAL CONTRIBUTOR.
+
+ (a) As a modest attribution to the Initial Contributor, in the hope that its promotional value may help justify the time, money and effort invested in writing the Initial Work, the Initial Contributor may include in Part 2 of the Supplement File a requirement that each time an executable program resulting from the Initial Work or any Subsequent Work, or a program dependent thereon, is launched or run, a prominent display of the Initial Contributor's attribution information must occur (the "ATTRIBUTION INFORMATION"). The Attribution Information must be included at the beginning of each Source Code file. For greater certainty, the Initial Contributor may specify in the Supplement File that the above attribution requirement only applies to an executable program resulting from the Initial Work or any Subsequent Work, but not a program dependent thereon. The intent is to provide for reasonably modest attribution, therefore the Initial Contributor may not require Recipients to display, at any time, more than the following Attribution Information: (a) a copyright notice including the name of the Initial Contributor; (b) a word or one phrase (not exceeding 10 words); (c) one digital image or graphic provided with the Initial Work; and (d) a URL (collectively, the "ATTRIBUTION LIMITS").
+ (b) If no Supplement File exists, or no Attribution Information is set out in Part 2 of the Supplement File, then there are no requirements for Recipients to display any Attribution Information of the Initial Contributor.
+ (c) Each Recipient acknowledges that all trademarks, service marks and/or trade names contained withinPart 2 of the Supplement File distributed with the Licensed Work are the exclusive property of the Initial Contributor and may only be used with the permission of the Initial Contributor, or under circumstances otherwise permitted by law, or as expressly set out in this License.
+3.11. For greater certainty, any description or attribution provisions contained within a Supplement File may only be used to specify the nature of the description or attribution requirements, as the case may be. Any provision in a Supplement File that otherwise purports to modify, vary, nullify or amend any right, obligation or representation contained herein shall be deemed void to that extent, and shall be of no force or effect.
+
+4. COMMERCIAL USE AND INDEMNITY.
+
+4.1. COMMERCIAL SERVICES.
+A Recipient ("COMMERCIAL RECIPIENT") may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations (collectively, "SERVICES") to one or more other Recipients or Distributors. However, such Commercial Recipient may do so only on that Commercial Recipient's own behalf, and not on behalf of any other Distributor or Recipient, and Commercial Recipient must make it clear than any such warranty, support, indemnity or liability obligation(s) is/are offered by Commercial Recipient alone. At no time may Commercial Recipient use any Services to deny any party the Licensed Work in Source Code or Executable form when so required under any of the other terms of this License. For greater certainty, this Section 4.1 does not diminish any of the other terms of this License, including without limitation the obligation of the Commercial Recipient as a Distributor, when distributing any of the Licensed Work in Source Code or Executable form, to make such distribution royalty-free (subject to the right to charge a fee of no more than the cost of physically performing Source Code or Executable distribution (as the case may be)).
+
+4.2. INDEMNITY.
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this License is intended to facilitate the commercial use of the Licensed Work, the Distributor who includes any of the Licensed Work in a commercial product offering should do so in a manner which does not create potential liability for other Distributors. Therefore, if a Distributor includes the Licensed Work in a commercial product offering or offers any Services, such Distributor ("COMMERCIAL DISTRIBUTOR") hereby agrees to defend and indemnify every other Distributor or Subsequent Contributor (in each case an "INDEMNIFIED PARTY") against any losses, damages and costs (collectively "LOSSES") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Party to the extent caused by the acts or omissions of such Commercial Distributor in connection with its distribution of any of the Licensed Work in a commercial product offering or in connection with any Services. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Party must: (a) promptly notify the Commercial Distributor in writing of such claim; and (b) allow the Commercial Distributor to control, and co-operate with the Commercial Distributor in, the defense and any related settlement negotiations. The Indemnified Party may participate in any such claim at its own expense.
+
+5. VERSIONS OF THE LICENSE.
+
+5.1. NEW VERSIONS.
+The Initial Contributor may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+5.2. EFFECT OF NEW VERSIONS.
+Once the Licensed Work or any portion thereof has been published by Initial Contributor under a particular version of the License, Recipient may choose to continue to use it under the terms of that version. However, if a Recipient chooses to use the Licensed Work under the terms of any subsequent version of the License published by the Initial Contributor, then from the date of making this choice, the Recipient must comply with the terms of that subsequent version with respect to all further reproduction, preparation of derivative works, public display of, public performance of, distribution and sublicensing by the Recipient in connection with the Licensed Work. No one other than the Initial Contributor has the right to modify the terms applicable to the Licensed Work
+
+6. DISCLAIMER OF WARRANTY.
+
+6.1. GENERAL DISCLAIMER.
+EXCEPT AS EXPRESSLY SET FORTH IN THIS LICENSE, THE LICENSED WORK IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT ANY REPRESENTATION, WARRANTY, GUARANTEE, ASSURANCE OR CONDITION OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LICENSED WORK IS WITH RECIPIENT. SHOULD ANY LICENSED WORK PROVE DEFECTIVE IN ANY RESPECT, RECIPIENT (NOT THE INITIAL CONTRIBUTOR OR ANY SUBSEQUENT CONTRIBUTOR) ASSUMES THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS CLAUSE CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY LICENSED WORK IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS LICENSE INCLUDING WITHOUT LIMITATION THIS DISCLAIMER.
+
+6.2. RESPONSIBILITY OF RECIPIENTS.
+Each Recipient is solely responsible for determining the appropriateness of using and distributing the Licensed Work and assumes all risks associated with its exercise of rights under this License, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+7. TERMINATION.
+
+7.1. This License shall continue until terminated in accordance with the express terms herein.
+
+7.2. Recipient may choose to terminate this License automatically at any time.
+
+7.3. This License, including without limitation the rights granted hereunder to a particular Recipient, will terminate automatically if such Recipient is in material breach of any of the terms of this License and fails to cure such breach within sixty (60) days of becoming aware of the breach. Without limiting the foregoing, any material breach by such Recipient of any term of any other License under which such Recipient is granted any rights to the Licensed Work shall constitute a material breach of this License.
+
+7.4. Upon termination of this License by or with respect to a particular Recipient for any reason, all rights granted hereunder and under any other License to that Recipient shall terminate. However, all sublicenses to the Licensed Work which were previously properly granted by such Recipient under a copy of this License (in each case, an "Other License" and in plural, "Other Licenses") shall survive any such termination of this License, including without limitation the rights and obligations under such Other Licenses as set out in their respective Sections 2, 3, 4, 5, 6, 7 and 8, mutatis mutandis, for so long as the respective sublicensees (i.e. other Recipients) remain in compliance with the terms of the copy of this License under which such sublicensees received rights to the Licensed Work. Any termination of such Other Licenses shall be pursuant to their respective Section 7, mutatis mutandis. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+7.5. Upon any termination of this License by or with respect to a particular Recipient, Sections 4.1, 4.2, 6.1, 6.2, 7.4, 7.5, 8.1, and 8.2, together with all provisions of this License necessary for the interpretation and enforcement of same, shall expressly survive such termination.
+
+8. LIMITATION OF LIABILITY.
+
+8.1. IN NO EVENT SHALL ANY OF INITIAL CONTRIBUTOR, ITS SUBSIDIARIES, OR AFFILIATES, OR ANY OF ITS OR THEIR RESPECTIVE OFFICERS, DIRECTORS, EMPLOYEES, AND/OR AGENTS (AS THE CASE MAY BE), HAVE ANY LIABILITY FOR ANY DIRECT DAMAGES, INDIRECT DAMAGES, PUNITIVE DAMAGES, INCIDENTAL DAMAGES, SPECIAL DAMAGES, EXEMPLARY DAMAGES, CONSEQUENTIAL DAMAGES OR ANY OTHER DAMAGES WHATSOEVER (INCLUDING WITHOUT LIMITATION LOSS OF USE, DATA OR PROFITS, OR ANY OTHER LOSS ARISING OUT OF OR IN ANY WAY RELATED TO THE USE, INABILITY TO USE, UNAUTHORIZED USE, PERFORMANCE, OR NON-PERFORMANCE OF THE LICENSED WORK OR ANY PART THEREOF OR THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT SERVICES, OR THAT RESULT FROM ERRORS, DEFECTS, OMISSIONS, DELAYS IN OPERATION OR TRANSMISSION, OR ANY OTHER FAILURE OF PERFORMANCE), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) IN RELATION TO OR ARISING IN ANY WAY OUT OF THIS LICENSE OR THE USE OR DISTRIBUTION OF THE LICENSED WORK OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED 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. THIS CLAUSE CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY LICENSED WORK IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS LICENSE INCLUDING WITHOUT LIMITATION THE LIMITATIONS SET FORTH IN THIS SECTION 8.1.
+
+8.2. EXCEPT AS EXPRESSLY SET FORTH IN THIS LICENSE, EACH RECIPIENT SHALL NOT HAVE ANY LIABILITY FOR ANY EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE LICENSED WORK OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED 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.
+
+9. GOVERNING LAW AND LEGAL ACTION.
+
+9.1. This License shall be governed by and construed in accordance with the laws of the Governing Jurisdiction assigned inPart 3 of Exhibit A, without regard to its conflict of law provisions. No party may bring a legal action under this License more than one year after the cause of the action arose. Each party waives its rights (if any) to a jury trial in any litigation arising under this License. Note that if the Governing Jurisdiction is not assigned in Part 3 of Exhibit A, then the Governing Jurisdiction shall be the State of New York.
+
+9.2. The courts of the Governing Jurisdiction shall have jurisdiction, but not exclusive jurisdiction, to entertain and determine all disputes and claims, whether for specific performance, injunction, damages or otherwise, both at law and in equity, arising out of or in any way relating to this License, including without limitation, the legality, validity, existence and enforceability of this License. Each party to this License hereby irrevocably attorns to and accepts the jurisdiction of the courts of the Governing Jurisdiction for such purposes.
+
+9.3. Except as expressly set forth elsewhere herein, in the event of any action or proceeding brought by any party against another under this License the prevailing party shall be entitled to recover all costs and expenses including the fees of its attorneys in such action or proceeding in such amount as the court may adjudge reasonable.
+
+10. MISCELLANEOUS.
+
+10.1. The obligations imposed by this License are for the benefit of the Initial Contributor and any Recipient, and each Recipient acknowledges and agrees that the Initial Contributor and/or any other Recipient may enforce the terms and conditions of this License against any Recipient.
+
+10.2. This License represents the complete agreement concerning subject matter hereof, and supersedes and cancels all previous oral and written communications, representations, agreements and understandings between the parties with respect to the subject matter hereof.
+
+10.3. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded.
+
+10.4. The language in all parts of this License shall be in all cases construed simply according to its fair meaning, and not strictly for or against any of the parties hereto. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+10.5. If any provision of this License is invalid or unenforceable under the laws of the Governing Jurisdiction, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+10.6. The paragraph headings of this License are for reference and convenience only and are not a part of this License, and they shall have no effect upon the construction or interpretation of any part hereof.
+
+10.7. Each of the terms "including", "include" and "includes", when used in this License, is not limiting whether or not non-limiting language (such as "without limitation" or "but not limited to" or words of similar import) is used with reference thereto.
+
+10.8. The parties hereto acknowledge they have expressly required that this License and notices relating thereto be drafted in the English language.
+
+//***THE LICENSE TERMS END HERE (OTHER THAN AS SET OUT IN EXHIBIT A).***//
+
+EXHIBIT A (to the Adaptive Public License)
+
+PART 1: INITIAL CONTRIBUTOR AND DESIGNATED WEB SITE
+
+The Initial Contributor is:
+____________________________________________________
+
+[Enter full name of Initial Contributor]
+
+Address of Initial Contributor:
+________________________________________________
+
+________________________________________________
+
+________________________________________________
+
+[Enter address above]
+
+The Designated Web Site is:
+__________________________________________________
+
+[Enter URL for Designated Web Site of Initial Contributor]
+
+NOTE: The Initial Contributor is to complete this Part 1, along with Parts 2, 3, and 5, and, if applicable, Parts 4 and 6.
+
+PART 2: INITIAL WORK
+
+The Initial Work comprises the computer program(s) distributed by the Initial Contributor having the following title(s): _______________________________________________.
+
+The date on which the Initial Work was first available under this License: _________________
+
+PART 3: GOVERNING JURISDICTION
+
+For the purposes of this License, the Governing Jurisdiction is _________________________________________________.
[Initial Contributor to Enter Governing Jurisdiction here]
+
+PART 4: THIRD PARTIES
+
+For the purposes of this License, "Third Party" has the definition set forth below in the ONE paragraph selected by the Initial Contributor from paragraphs A, B, C, D and E when the Initial Work is distributed or otherwise made available by the Initial Contributor. To select one of the following paragraphs, the Initial Contributor must place an "X" or "x" in the selection box alongside the one respective paragraph selected.
+SELECTION
+
+BOX PARAGRAPH
+[ ] A. "THIRD PARTY" means any third party.
+
+
+[ ] B. "THIRD PARTY" means any third party except for any of the following: (a) a wholly owned subsidiary of the Subsequent Contributor in question; (b) a legal entity (the "PARENT") that wholly owns the Subsequent Contributor in question; or (c) a wholly owned subsidiary of the wholly owned subsidiary in (a) or of the Parent in (b).
+
+
+[ ] C. "THIRD PARTY" means any third party except for any of the following: (a) any Person directly or indirectly owning a majority of the voting interest in the Subsequent Contributor or (b) any Person in which the Subsequent Contributor directly or indirectly owns a majority voting interest.
+
+
+[ ] D. "THIRD PARTY" means any third party except for any Person directly or indirectly controlled by the Subsequent Contributor. For purposes of this definition, "control" shall mean the power to direct or cause the direction of, the management and policies of such Person whether through the ownership of voting interests, by contract, or otherwise.
+
+
+[ ] E. "THIRD PARTY" means any third party except for any Person directly or indirectly controlling, controlled by, or under common control with the Subsequent Contributor. For purposes of this definition, "control" shall mean the power to direct or cause the direction of, the management and policies of such Person whether through the ownership of voting interests, by contract, or otherwise.
+The default definition of "THIRD PARTY" is the definition set forth in paragraph A, if NONE OR MORE THAN ONE of paragraphs A, B, C, D or E in this Part 4 are selected by the Initial Contributor.
+
+PART 5: NOTICE
+
+THE LICENSED WORK IS PROVIDED UNDER THE TERMS OF THE ADAPTIVE PUBLIC LICENSE ("LICENSE") AS FIRST COMPLETED BY: ______________________ [Insert the name of the Initial Contributor here]. ANY USE, PUBLIC DISPLAY, PUBLIC PERFORMANCE, REPRODUCTION OR DISTRIBUTION OF, OR PREPARATION OF DERIVATIVE WORKS BASED ON, THE LICENSED WORK CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS LICENSE AND ITS TERMS, WHETHER OR NOT SUCH RECIPIENT READS THE TERMS OF THE LICENSE. "LICENSED WORK" AND "RECIPIENT" ARE DEFINED IN THE LICENSE. A COPY OF THE LICENSE IS LOCATED IN THE TEXT FILE ENTITLED "LICENSE.TXT" ACCOMPANYING THE CONTENTS OF THIS FILE. IF A COPY OF THE LICENSE DOES NOT ACCOMPANY THIS FILE, A COPY OF THE LICENSE MAY ALSO BE OBTAINED AT THE FOLLOWING WEB SITE: ___________________________________________________[Insert Initial Contributor's Designated Web Site here]
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+PART 6: PATENT LICENSING TERMS
+
+For the purposes of this License, paragraphs A, B, C, D and E of this Part 6 of Exhibit A are only incorporated and form part of the terms of the License if the Initial Contributor places an "X" or "x" in the selection box alongside the YES answer to the question immediately below.
+
+Is this a Patents-Included License pursuant to Section 2.2 of the License?
+YES [ ]
+NO [ ]
+
+By default, if YES is not selected by the Initial Contributor, the answer is NO.
+
+A. For the purposes of the paragraphs in this Part 6 of Exhibit A, "LICENSABLE" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights granted herein.
+
+B. The Initial Contributor hereby grants all Recipients a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims, under patent claim(s) Licensable by the Initial Contributor that are or would be infringed by the making, using, selling, offering for sale, having made, importing, exporting, transfer or disposal of such Initial Work or any portion thereof. Notwithstanding the foregoing, no patent license is granted under this Paragraph B by the Initial Contributor: (1) for any code that the Initial Contributor deletes from the Initial Work (or any portion thereof) distributed by the Initial Contributor prior to such distribution; (2) for any Modifications made to the Initial Work (or any portion thereof) by any other Person; or (3) separate from the Initial Work (or portions thereof) distributed or made available by the Initial Contributor.
+
+C. Effective upon distribution by a Subsequent Contributor to a Third Party of any Modifications made by that Subsequent Contributor, such Subsequent Contributor hereby grants all Recipients a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims, under patent claim(s) Licensable by such Subsequent Contributor that are or would be infringed by the making, using, selling, offering for sale, having made, importing, exporting, transfer or disposal of any such Modifications made by that Subsequent Contributor alone and/or in combination with its Subsequent Work (or portions of such combination) to make, use, sell, offer for sale, have made, import, export, transfer and otherwise dispose of:
+(1) Modifications made by that Subsequent Contributor (or portions thereof); and
+(2) the combination of Modifications made by that Subsequent Contributor with its Subsequent Work (or portions of such combination);
+(collectively and in each case, the "SUBSEQUENT CONTRIBUTOR VERSION").
+Notwithstanding the foregoing, no patent license is granted under this Paragraph C by such Subsequent Contributor: (1) for any code that such Subsequent Contributor deletes from the Subsequent Contributor Version (or any portion thereof) distributed by the Subsequent Contributor prior to such distribution; (2) for any Modifications made to the Subsequent Contributor Version (or any portion thereof) by any other Person; or (3) separate from the Subsequent Contributor Version (or portions thereof) distributed or made available by the Subsequent Contributor.
+
+D. Effective upon distribution of any Licensed Work by a Distributor to a Third Party, such Distributor hereby grants all Recipients a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims, under patent claim(s) Licensable by such Distributor that are or would be infringed by the making, using, selling, offering for sale, having made, importing, exporting, transfer or disposal of any such Licensed Work distributed by such Distributor, to make, use, sell, offer for sale, have made, import, export, transfer and otherwise dispose of such Licensed Work or portions thereof (collectively and in each case, the "DISTRIBUTOR VERSION"). Notwithstanding the foregoing, no patent license is granted under this Paragraph D by such Distributor: (1) for any code that such Distributor deletes from the Distributor Version (or any portion thereof) distributed by the Distributor prior to such distribution; (2) for any Modifications made to the Distributor Version (or any portion thereof) by any other Person; or (3) separate from the Distributor Version (or portions thereof) distributed or made available by the Distributor.
+
+E. If Recipient institutes patent litigation against another Recipient (a "USER") with respect to a patent applicable to a computer program or software (including a cross-claim or counterclaim in a lawsuit, and whether or not any of the patent claims are directed to a system, method, process, apparatus, device, product, article of manufacture or any other form of patent claim), then any patent or copyright license granted by that User to such Recipient under this License or any other copy of this License shall terminate. The termination shall be effective ninety (90) days after notice of termination from User to Recipient, unless the Recipient withdraws the patent litigation claim before the end of the ninety (90) day period. To be effective, any such notice of license termination must include a specific list of applicable patents and/or a copy of the copyrighted work of User that User alleges will be infringed by Recipient upon License termination. License termination is only effective with respect to patents and/or copyrights for which proper notice has been given.
+
+PART 7: SAMPLE REQUIREMENTS FOR THE DESCRIPTION OF DISTRIBUTED MODIFICATIONS
+
+Each Subsequent Contributor (including the Initial Contributor where the Initial Contributor qualifies as a Subsequent Contributor) is invited (but not required) to cause each Subsequent Work created or contributed to by that Subsequent Contributor to contain a file documenting the changes such Subsequent Contributor made to create that Subsequent Work and the date of any change. //***EXHIBIT A ENDS HERE.***//
diff --git a/options/license/APSL-1.0 b/options/license/APSL-1.0
new file mode 100644
index 0000000..03f4962
--- /dev/null
+++ b/options/license/APSL-1.0
@@ -0,0 +1,109 @@
+APPLE PUBLIC SOURCE LICENSE
+Version 1.0 - March 16, 1999
+
+Please read this License carefully before downloading this software. By downloading and using this software, you are agreeing to be bound by the terms of this License. If you do not or cannot agree to the terms of this License, please do not download or use the software.
+
+1. General; Definitions. This License applies to any program or other work which Apple Computer, Inc. ("Apple") publicly announces as subject to this Apple Public Source License and which contains a notice placed by Apple identifying such program or work as "Original Code" and stating that it is subject to the terms of this Apple Public Source License version 1.0 (or subsequent version thereof), as it may be revised from time to time by Apple ("License"). As used in this License:
+
+ 1.1 "Applicable Patents" mean: (a) in the case where Apple is the grantor of rights, (i) patents or patent applications that are now or hereafter acquired, owned by or assigned to Apple and (ii) whose claims cover subject matter contained in the Original Code, but only to the extent necessary to use, reproduce and/or distribute the Original Code without infringement; and (b) in the case where You are the grantor of rights, (i) patents and patent applications that are now or hereafter acquired, owned by or assigned to You and (ii) whose claims cover subject matter in Your Modifications, taken alone or in combination with Original Code.
+
+ 1.2 "Covered Code" means the Original Code, Modifications, the combination of Original Code and any Modifications, and/or any respective portions thereof.
+
+ 1.3 "Deploy" means to use, sublicense or distribute Covered Code other than for Your internal research and development (R&D), and includes without limitation, any and all internal use or distribution of Covered Code within Your business or organization except for R&D use, as well as direct or indirect sublicensing or distribution of Covered Code by You to any third party in any form or manner.
+
+ 1.4 "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.5 "Modifications" mean any addition to, deletion from, and/or change to, the substance and/or structure of Covered Code. When code is released as a series of files, a Modification is: (a) any addition to or deletion from the contents of a file containing Covered Code; and/or (b) any new file or other representation of computer program statements that contains any part of Covered Code.
+
+ 1.6 "Original Code" means the Source Code of a program or other work as originally made available by Apple under this License, including the Source Code of any updates or upgrades to such programs or works made available by Apple under this License, and that has been expressly identified by Apple as such in the header file(s) of such work.
+
+ 1.7 "Source Code" means the human readable form of a program or other work that is suitable for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an executable (object code).
+
+ 1.8 "You" or "Your" means an individual or a legal entity exercising rights under this License. For legal entities, "You" or "Your" includes any entity which controls, is controlled by, or is under common control with, You, where "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 fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+2. Permitted Uses; Conditions & Restrictions. Subject to the terms and conditions of this License, Apple hereby grants You, effective on the date You accept this License and download the Original Code, a world-wide, royalty-free, non-exclusive license, to the extent of Apple's Applicable Patents and copyrights covering the Original Code, to do the following:
+
+ 2.1 You may use, copy, modify and distribute Original Code, with or without Modifications, solely for Your internal research and development, provided that You must in each instance:
+
+ (a) retain and reproduce in all copies of Original Code the copyright and other proprietary notices and disclaimers of Apple as they appear in the Original Code, and keep intact all notices in the Original Code that refer to this License;
+
+ (b) include a copy of this License with every copy of Source Code of Covered Code and documentation You distribute, and You may not offer or impose any terms on such Source Code that alter or restrict this License or the recipients' rights hereunder, except as permitted under Section 6; and
+
+ (c) completely and accurately document all Modifications that you have made and the date of each such Modification, designate the version of the Original Code you used, prominently include a file carrying such information with the Modifications, and duplicate the notice in Exhibit A in each file of the Source Code of all such Modifications.
+
+ 2.2 You may Deploy Covered Code, provided that You must in each instance:
+
+ (a) satisfy all the conditions of Section 2.1 with respect to the Source Code of the Covered Code;
+
+ (b) make all Your Deployed Modifications publicly available in Source Code form via electronic distribution (e.g. download from a web site) under the terms of this License and subject to the license grants set forth in Section 3 below, and any additional terms You may choose to offer under Section 6. You must continue to make the Source Code of Your Deployed Modifications available for as long as you Deploy the Covered Code or twelve (12) months from the date of initial Deployment, whichever is longer;
+
+ (c) must notify Apple and other third parties of how to obtain Your Deployed Modifications by filling out and submitting the required information found at http://www.apple.com/publicsource/modifications.html; and
+
+ (d) if you Deploy Covered Code in object code, executable form only, include a prominent notice, in the code itself as well as in related documentation, stating that Source Code of the Covered Code is available under the terms of this License with information on how and where to obtain such Source Code.
+
+3. Your Grants. In consideration of, and as a condition to, the licenses granted to You under this License:
+
+ (a) You hereby grant to Apple and all third parties a non-exclusive, royalty-free license, under Your Applicable Patents and other intellectual property rights owned or controlled by You, to use, reproduce, modify, distribute and Deploy Your Modifications of the same scope and extent as Apple's licenses under Sections 2.1 and 2.2; and
+
+ (b) You hereby grant to Apple and its subsidiaries a non-exclusive, worldwide, royalty-free, perpetual and irrevocable license, under Your Applicable Patents and other intellectual property rights owned or controlled by You, to use, reproduce, execute, compile, display, perform, modify or have modified (for Apple and/or its subsidiaries), sublicense and distribute Your Modifications, in any form, through multiple tiers of distribution.
+
+4. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In each such instance, You must make sure the requirements of this License are fulfilled for the Covered Code or any portion thereof.
+
+5. Limitations on Patent License. Except as expressly stated in Section 2, no other patent rights, express or implied, are granted by Apple herein. Modifications and/or Larger Works may require additional patent licenses from Apple which Apple may grant in its sole discretion.
+
+6. Additional Terms. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations and/or other rights consistent with the scope of the license granted herein ("Additional Terms") to one or more recipients of Covered Code. However, You may do so only on Your own behalf and as Your sole responsibility, and not on behalf of Apple. You must obtain the recipient's agreement that any such Additional Terms are offered by You alone, and You hereby agree to indemnify, defend and hold Apple harmless for any liability incurred by or claims asserted against Apple by reason of any such Additional Terms.
+
+7. Versions of the License. Apple may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Once Original Code has been published under a particular version of this License, You may continue to use it under the terms of that version. You may also choose to use such Original Code under the terms of any subsequent version of this License published by Apple. No one other than Apple has the right to modify the terms applicable to Covered Code created under this License.
+
+8. NO WARRANTY OR SUPPORT. The Original Code may contain in whole or in part pre-release, untested, or not fully tested works. The Original Code may contain errors that could cause failures or loss of data, and may be incomplete or contain inaccuracies. You expressly acknowledge and agree that use of the Original Code, or any portion thereof, is at Your sole and entire risk. THE ORIGINAL CODE IS PROVIDED "AS IS" AND WITHOUT WARRANTY, UPGRADES OR SUPPORT OF ANY KIND AND APPLE AND APPLE'S LICENSOR(S) (FOR THE PURPOSES OF SECTIONS 8 AND 9, APPLE AND APPLE'S LICENSOR(S) ARE COLLECTIVELY REFERRED TO AS "APPLE") EXPRESSLY DISCLAIM ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY OR SATISFACTORY QUALITY AND FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. APPLE DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE ORIGINAL CODE WILL MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THE ORIGINAL CODE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS IN THE ORIGINAL CODE WILL BE CORRECTED. NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY OR IN ANY WAY INCREASE THE SCOPE OF THIS WARRANTY. You acknowledge that the Original Code is not intended for use in the operation of nuclear facilities, aircraft navigation, communication systems, or air traffic control machines in which case the failure of the Original Code could lead to death, personal injury, or severe physical or environmental damage.
+
+9. Liability.
+
+ 9.1 Infringement. If any of the Original Code becomes the subject ofa claim of infringement ("Affected Original Code"), Apple may, at its sole discretion and option: (a) attempt to procure the rights necessary for You to continue using the Affected Original Code; (b) modify the Affected Original Code so that it is no longer infringing; or (c) terminate Your rights to use the Affected Original Code, effective immediately upon Apple's posting of a notice to such effect on the Apple web site that is used for implementation of this License.
+
+ 9.2 LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES SHALL APPLE BE LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO THIS LICENSE OR YOUR USE OR INABILITY TO USE THE ORIGINAL CODE, OR ANY PORTION THEREOF, WHETHER UNDER A THEORY OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCTS LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY. In no event shall Apple's total liability to You for all damages under this License exceed the amount of fifty dollars ($50.00).
+
+10. Trademarks. This License does not grant any rights to use the trademarks or trade names "Apple", "Apple Computer", "Mac OS X", "Mac OS X Server" or any other trademarks or trade names belonging to Apple (collectively "Apple Marks") and no Apple Marks may be used to endorse or promote products derived from the Original Code
+other than as permitted by and in strict compliance at all times with Apple's third party trademark usage guidelines which are posted at http://www.apple.com/legal/guidelinesfor3rdparties.html.
+
+11. Ownership. Apple retains all rights, title and interest in and to the Original Code and any Modifications made by or on behalf of Apple ("Apple Modifications"), and such Apple Modifications will not be automatically subject to this License. Apple may, at its sole discretion, choose to license such Apple Modifications under this License, or on different terms from those contained in this License or may choose not to license them at all. Apple's development, use, reproduction, modification, sublicensing and distribution of Covered Code will not be subject to this License.
+
+12. Termination.
+
+ 12.1 Termination. This License and the rights granted hereunder will terminate:
+
+ (a) automatically without notice from Apple if You fail to comply with any term(s) of this License and fail to cure such breach within 30 days of becoming aware of such breach;
+
+ (b) immediately in the event of the circumstances described in Sections 9.1 and/or 13.6(b); or
+
+ (c) automatically without notice from Apple if You, at any time during the term of this License, commence an action for patent infringement against Apple.
+
+ 12.2 Effect of Termination. Upon termination, You agree to immediately stop any further use, reproduction, modification and distribution of the Covered Code, or Affected Original Code in the case of termination under Section 9.1, and to destroy all copies of the Covered Code or Affected Original Code (in the case of
+termination under Section 9.1) that are in your possession or control. All sublicenses to the Covered Code which have been properly granted prior to termination shall survive any termination of this License. Provisions which, by their nature, should remain in effect beyond the termination of this License shall survive, including but not limited to Sections 3, 5, 8, 9, 10, 11, 12.2 and 13. Neither party will be liable to the other for compensation, indemnity or damages of any sort solely as a result of terminating this License in accordance with its terms, and termination of this License will be without prejudice to any other right or remedy of either party.
+
+13. Miscellaneous.
+
+ 13.1 Export Law Assurances. You may not use or otherwise export or re-export the Original Code except as authorized by United States law and the laws of the jurisdiction in which the Original Code was obtained. In particular, but without limitation, the Original Code may not be exported or re-exported (a) into (or to a national or resident of) any U.S. embargoed country or (b) to anyone on the U.S. Treasury Department's list of Specially Designated Nationals or the U.S. Department of Commerce's Table of Denial Orders. By using the Original Code, You represent and warrant that You are not located in, under control of, or a national or resident of any such country or on any such list.
+
+ 13.2 Government End Users. The Covered Code is a "commercial item" as defined in FAR 2.101. Government software and technical data rights in the Covered Code include only those rights customarily provided to the public as defined in this License. This customary commercial license in technical data and software is provided in
+accordance with FAR 12.211 (Technical Data) and 12.212 (Computer Software) and, for Department of Defense purchases, DFAR 252.227-7015 (Technical Data -- Commercial Items) and 227.7202-3 (Rights in Commercial Computer Software or Computer Software Documentation). Accordingly, all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+ 13.3 Relationship of Parties. This License will not be construed as creating an agency, partnership, joint venture or any other form of legal association between You and Apple, and You will not represent to the contrary, whether expressly, by implication, appearance or otherwise.
+
+ 13.4 Independent Development. Nothing in this License will impair Apple's right to acquire, license, develop, have others develop for it, market and/or distribute technology or products that perform the same or similar functions as, or otherwise compete with, Modifications, Larger Works, technology or products that You may develop, produce, market or distribute.
+
+ 13.5 Waiver; Construction. Failure by Apple to enforce any provision of this License will not be deemed a waiver of future enforcement of that or any other provision. Any law or regulation which provides that the language of a contract shall be construed against the drafter will not apply to this License.
+
+ 13.6 Severability. (a) If for any reason a court of competent jurisdiction finds any provision of this License, or portion thereof, to be unenforceable, that provision of the License will be enforced to the maximum extent permissible so as to effect the economic benefits and intent of the parties, and the remainder of this License will continue in full force and effect. (b) Notwithstanding the foregoing, if applicable law prohibits or restricts You from fully and/or specifically complying with Sections 2 and/or 3 or prevents the enforceability of either of those Sections, this License will immediately terminate and You must immediately discontinue any use of the Covered Code and destroy all copies of it that are in your possession or control.
+
+ 13.7 Dispute Resolution. Any litigation or other dispute resolution between You and Apple relating to this License shall take place in the Northern District of California, and You and Apple hereby consent to the personal jurisdiction of, and venue in, the state and federal courts within that District with respect to this License. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded.
+
+ 13.8 Entire Agreement; Governing Law. This License constitutes the entire agreement between the parties with respect to the subject matter hereof. This License shall be governed by the laws of the United States and the State of California, except that body of California law concerning conflicts of law.
+
+ Where You are located in the province of Quebec, Canada, the following clause applies: The parties hereby confirm that they have requested that this License and all related documents be drafted in English. Les parties ont exige que le present contrat et tous les documents connexes soient rediges en anglais.
+
+EXHIBIT A.
+
+"Portions Copyright (c) 1999 Apple Computer, Inc. All Rights Reserved. This file contains Original Code and/or Modifications of Original Code as defined in and that are subject to the Apple Public Source License Version 1.0 (the 'License'). You may not use this file except in compliance with the License. Please obtain a copy of the License at http://www.apple.com/publicsource and read it before using this file.
+
+The Original Code and all software distributed under the License are distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the License for the specific language governing rights and limitations under the License."
\ No newline at end of file
diff --git a/options/license/APSL-1.1 b/options/license/APSL-1.1
new file mode 100644
index 0000000..bd7b440
--- /dev/null
+++ b/options/license/APSL-1.1
@@ -0,0 +1,108 @@
+APPLE PUBLIC SOURCE LICENSE
+Version 1.1 - April 19,1999
+
+Please read this License carefully before downloading this software.
+By downloading and using this software, you are agreeing to be bound by the terms of this License. If you do not or cannot agree to the terms of this License, please do not download or use the software.
+
+1. General; Definitions. This License applies to any program or other work which Apple Computer, Inc. ("Apple") publicly announces as subject to this Apple Public Source License and which contains a notice placed by Apple identifying such program or work as "Original Code" and stating that it is subject to the terms of this Apple Public Source License version 1.1 (or subsequent version thereof), as it may be revised from time to time by Apple ("License"). As used in this License:
+
+ 1.1 "Affected Original Code" means only those specific portions of Original Code that allegedly infringe upon any party's intellectual property rights or are otherwise the subject of a claim of infringement.
+
+ 1.2 "Applicable Patent Rights" mean: (a) in the case where Apple is the grantor of rights, (i) claims of patents that are now or hereafter acquired, owned by or assigned to Apple and (ii) that cover subject matter contained in the Original Code, but only to the extent necessary to use, reproduce and/or distribute the Original Code without infringement; and (b) in the case where You are the grantor of rights, (i) claims of patents that are now or hereafter acquired, owned by or assigned to You and (ii) that cover subject matter in Your Modifications, taken alone or in combination with Original Code.
+
+ 1.3 "Covered Code" means the Original Code, Modifications, the combination of Original Code and any Modifications, and/or any respective portions thereof.
+
+ 1.4 "Deploy" means to use, sublicense or distribute Covered Code other than for Your internal research and development (R&D), and includes without limitation, any and all internal use or distribution of Covered Code within Your business or organization except for R&D use, as well as direct or indirect sublicensing or distribution of Covered Code by You to any third party in any form or manner.
+
+ 1.5 "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.6 "Modifications" mean any addition to, deletion from, and/or change to, the substance and/or structure of Covered Code. When code is released as a series of files, a Modification is: (a) any addition to or deletion from the contents of a file containing Covered Code; and/or (b) any new file or other representation of computer program statements that contains any part of Covered Code.
+
+ 1.7 "Original Code" means (a) the Source Code of a program or other work as originally made available by Apple under this License, including the Source Code of any updates or upgrades to such programs or works made available by Apple under this License, and that has been expressly identified by Apple as such in the header file(s) of such work; and (b) the object code compiled from such Source Code and originally made available by Apple under this License.
+
+ 1.8 "Source Code" means the human readable form of a program or other work that is suitable for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an executable (object code).
+
+ 1.9 "You" or "Your" means an individual or a legal entity exercising rights under this License. For legal entities, "You" or "Your" includes any entity which controls, is controlled by, or is under common control with, You, where "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 fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+2. Permitted Uses; Conditions & Restrictions. Subject to the terms and conditions of this License, Apple hereby grants You, effective on the date You accept this License and download the Original Code, a world-wide, royalty-free, non- exclusive license, to the extent of Apple's Applicable Patent Rights and copyrights covering the Original Code, to do the following:
+
+ 2.1 You may use, copy, modify and distribute Original Code, with or without Modifications, solely for Your internal research and development, provided that You must in each instance:
+
+ (a) retain and reproduce in all copies of Original Code the copyright and other proprietary notices and disclaimers of Apple as they appear in the Original Code, and keep intact all notices in the Original Code that refer to this License;
+
+ (b) include a copy of this License with every copy of Source Code of Covered Code and documentation You distribute, and You may not offer or impose any terms on such Source Code that alter or restrict this License or the recipients' rights hereunder, except as permitted under Section 6; and
+
+ (c) completely and accurately document all Modifications that you have made and the date of each such Modification, designate the version of the Original Code you used, prominently include a file carrying such information with the Modifications, and duplicate the notice in Exhibit A in each file of the Source Code of all such Modifications.
+
+ 2.2 You may Deploy Covered Code, provided that You must in each instance:
+
+ (a) satisfy all the conditions of Section 2.1 with respect to the Source Code of the Covered Code;
+
+ (b) make all Your Deployed Modifications publicly available in Source Code form via electronic distribution (e.g. download from a web site) under the terms of this License and subject to the license grants set forth in Section 3 below, and any additional terms You may choose to offer under Section 6. You must continue to make the Source Code of Your Deployed Modifications available for as long as you Deploy the Covered Code or twelve (12) months from the date of initial Deployment, whichever is longer;
+
+ (c) if You Deploy Covered Code containing Modifications made by You, inform others of how to obtain those Modifications by filling out and submitting the information found at http://www.apple.com/publicsource/modifications.html, if available; and
+
+ (d) if You Deploy Covered Code in object code, executable form only, include a prominent notice, in the code itself as well as in related documentation, stating that Source Code of the Covered Code is available under the terms of this License with information on how and where to obtain such Source Code.
+
+3. Your Grants. In consideration of, and as a condition to, the licenses granted to You under this License:
+
+ (a) You hereby grant to Apple and all third parties a non-exclusive, royalty-free license, under Your Applicable Patent Rights and other intellectual property rights owned or controlled by You, to use, reproduce, modify, distribute and Deploy Your Modifications of the same scope and extent as Apple's licenses under Sections 2.1 and 2.2; and
+
+ (b) You hereby grant to Apple and its subsidiaries a non-exclusive, worldwide, royalty-free, perpetual and irrevocable license, under Your Applicable Patent Rights and other intellectual property rights owned or controlled by You, to use, reproduce, execute, compile, display, perform, modify or have modified (for Apple and/or its subsidiaries), sublicense and distribute Your Modifications, in any form, through multiple tiers of distribution.
+
+4. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In each such instance, You must make sure the requirements of this License are fulfilled for the Covered Code or any portion thereof.
+
+5. Limitations on Patent License. Except as expressly stated in Section 2, no other patent rights, express or implied, are granted by Apple herein. Modifications and/or Larger Works may require additional patent licenses from Apple which Apple may grant in its sole discretion.
+
+6. Additional Terms. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations and/or other rights consistent with the scope of the license granted herein ("Additional Terms") to one or more recipients of Covered Code. However, You may do so only on Your own behalf and as Your sole responsibility, and not on behalf of Apple. You must obtain the recipient's agreement that any such Additional Terms are offered by You alone, and You hereby agree to indemnify, defend and hold Apple harmless for any liability incurred by or claims asserted against Apple by reason of any such Additional Terms.
+
+7. Versions of the License. Apple may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Once Original Code has been published under a particular version of this License, You may continue to use it under the terms of that version. You may also choose to use such Original Code under the terms of any subsequent version of this License published by Apple. No one other than Apple has the right to modify the terms applicable to Covered Code created under this License.
+
+8. NO WARRANTY OR SUPPORT. The Original Code may contain in whole or in part pre-release, untested, or not fully tested works. The Original Code may contain errors that could cause failures or loss of data, and may be incomplete or contain inaccuracies. You expressly acknowledge and agree that use of the Original Code, or any portion thereof, is at Your sole and entire risk. THE ORIGINAL CODE IS PROVIDED "AS IS" AND WITHOUT WARRANTY, UPGRADES OR SUPPORT OF ANY KIND AND APPLE AND APPLE'S LICENSOR(S) (FOR THE PURPOSES OF SECTIONS 8 AND 9, APPLE AND APPLE'S LICENSOR(S) ARE COLLECTIVELY REFERRED TO AS "APPLE") EXPRESSLY DISCLAIM ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY OR SATISFACTORY QUALITY AND FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. APPLE DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE ORIGINAL CODE WILL MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THE ORIGINAL CODE WILL BE UNINTERRUPTED OR ERROR- FREE, OR THAT DEFECTS IN THE ORIGINAL CODE WILL BE CORRECTED. NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY OR IN ANY WAY INCREASE THE SCOPE OF THIS WARRANTY. You acknowledge that the Original Code is not intended for use in the operation of nuclear facilities, aircraft navigation, communication systems, or air traffic control machines in which case the failure of the Original Code could lead to death, personal injury, or severe physical or environmental damage.
+
+9. Liability.
+
+ 9.1 Infringement. If any portion of, or functionality implemented by, the Original Code becomes the subject of a claim of infringement, Apple may, at its option: (a) attempt to procure the rights necessary for Apple and You to continue using the Affected Original Code; (b) modify the Affected Original Code so that it is no longer infringing; or (c) suspend Your rights to use, reproduce, modify, sublicense and distribute the Affected Original Code until a final determination of the claim is made by a court or governmental administrative agency of competent jurisdiction and Apple lifts the suspension as set forth below. Such suspension of rights will be effective immediately upon Apple's posting of a notice to such effect on the Apple web site that is used for implementation of this License. Upon such final determination being made, if Apple is legally able, without the payment of a fee or royalty, to resume use, reproduction, modification, sublicensing and distribution of the Affected Original Code, Apple will lift the suspension of rights to the Affected Original Code by posting a notice to such effect on the Apple web site that is used for implementation of this License. If Apple suspends Your rights to Affected Original Code, nothing in this License shall be construed to restrict You, at Your option and subject to applicable law, from replacing the Affected Original Code with non-infringing code or independently negotiating for necessary rights from such third party.
+
+ 9.2 LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES SHALL APPLE BE LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO THIS LICENSE OR YOUR USE OR INABILITY TO USE THE ORIGINAL CODE, OR ANY PORTION THEREOF, WHETHER UNDER A THEORY OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCTS LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY. In no event shall Apple's total liability to You for all damages under this License exceed the amount of fifty dollars ($50.00).
+
+10. Trademarks. This License does not grant any rights to use the trademarks or trade names "Apple", "Apple Computer", "Mac OS X", "Mac OS X Server" or any other trademarks or trade names belonging to Apple (collectively "Apple Marks") and no Apple Marks may be used to endorse or promote products derived from the Original Code other than as permitted by and in strict compliance at all times with Apple's third party trademark usage guidelines which are posted at http://www.apple.com/legal/guidelinesfor3rdparties.html.
+
+11. Ownership. Apple retains all rights, title and interest in and to the Original Code and any Modifications made by or on behalf of Apple ("Apple Modifications"), and such Apple Modifications will not be automatically subject to this License. Apple may, at its sole discretion, choose to license such Apple Modifications under this License, or on different terms from those contained in this License or may choose not to license them at all. Apple's development, use, reproduction, modification, sublicensing and distribution of Covered Code will not be subject to this License.
+
+12. Termination.
+
+ 12.1 Termination. This License and the rights granted hereunder will terminate:
+
+ (a) automatically without notice from Apple if You fail to comply with any term(s) of this License and fail to cure such breach within 30 days of becoming aware of such breach;
+
+ (b) immediately in the event of the circumstances described in Section 13.5(b); or
+
+ (c) automatically without notice from Apple if You, at any time during the term of this License, commence an action for patent infringement against Apple.
+
+ 12.2 Effect of Termination. Upon termination, You agree to immediately stop any further use, reproduction, modification, sublicensing and distribution of the Covered Code and to destroy all copies of the Covered Code that are in your possession or control. All sublicenses to the Covered Code which have been properly granted prior to termination shall survive any termination of this License. Provisions which, by their nature, should remain in effect beyond the termination of this License shall survive, including but not limited to Sections 3, 5, 8, 9, 10, 11, 12.2 and 13. Neither party will be liable to the other for compensation, indemnity or damages of any sort solely as a result of terminating this License in accordance with its terms, and termination of this License will be without prejudice to any other right or remedy of either party.
+
+13. Miscellaneous.
+
+ 13.1 Government End Users. The Covered Code is a "commercial item" as defined in FAR 2.101. Government software and technical data rights in the Covered Code include only those rights customarily provided to the public as defined in this License. This customary commercial license in technical data and software is provided in accordance with FAR 12.211 (Technical Data) and 12.212 (Computer Software) and, for Department of Defense purchases, DFAR 252.227-7015 (Technical Data -- Commercial Items) and 227.7202-3 (Rights in Commercial Computer Software or Computer Software Documentation). Accordingly, all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+ 13.2 Relationship of Parties. This License will not be construed as creating an agency, partnership, joint venture or any other form of legal association between You and Apple, and You will not represent to the contrary, whether expressly, by implication, appearance or otherwise.
+
+ 13.3 Independent Development. Nothing in this License will impair Apple's right to acquire, license, develop, have others develop for it, market and/or distribute technology or products that perform the same or similar functions as, or otherwise compete with, Modifications, Larger Works, technology or products that You may
+develop, produce, market or distribute.
+
+ 13.4 Waiver; Construction. Failure by Apple to enforce any provision of this License will not be deemed a waiver of future enforcement of that or any other provision. Any law or regulation which provides that the language of a contract shall be construed against the drafter will not apply to this License.
+
+ 13.5 Severability. (a) If for any reason a court of competent jurisdiction finds any provision of this License, or portion thereof, to be unenforceable, that provision of the License will be enforced to the maximum extent permissible so as to effect the economic benefits and intent of the parties, and the remainder of this License will continue in full force and effect. (b) Notwithstanding the foregoing, if applicable law prohibits or restricts You from fully and/or specifically complying with Sections 2 and/or 3 or prevents the enforceability of either of those Sections, this License will immediately terminate and You must immediately discontinue any use of the Covered Code and destroy all copies of it that are in your possession or control.
+
+ 13.6 Dispute Resolution. Any litigation or other dispute resolution between You and Apple relating to this License shall take place in the Northern District of California, and You and Apple hereby consent to the personal jurisdiction of, and venue in, the state and federal courts within that District with respect to this License. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded.
+
+ 13.7 Entire Agreement; Governing Law. This License constitutes the entire agreement between the parties with respect to the subject matter hereof. This License shall be governed by the laws of the United States and the State of California, except that body of California law concerning conflicts of law.
+
+ Where You are located in the province of Quebec, Canada, the following clause applies: The parties hereby confirm that they have requested that this License and all related documents be drafted in English. Les parties ont exige que le present contrat et tous les documents connexes soient rediges en anglais.
+
+EXHIBIT A.
+
+"Portions Copyright (c) 1999-2000 Apple Computer, Inc. All Rights Reserved. This file contains Original Code and/or Modifications of Original Code as defined in and that are subject to the Apple Public Source License Version 1.1 (the "License"). You may not use this file except in compliance with the License. Please obtain a copy of the License at http://www.apple.com/publicsource and read it before using this file.
+
+The Original Code and all software distributed under the License are distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the License for the specific language governing rights and limitations under the License."
\ No newline at end of file
diff --git a/options/license/APSL-1.2 b/options/license/APSL-1.2
new file mode 100644
index 0000000..4b0eff9
--- /dev/null
+++ b/options/license/APSL-1.2
@@ -0,0 +1,103 @@
+Apple Public Source License Ver. 1.2
+
+1. General; Definitions. This License applies to any program or other work which Apple Computer, Inc. ("Apple") makes publicly available and which contains a notice placed by Apple identifying such program or work as "Original Code" and stating that it is subject to the terms of this Apple Public Source License version 1.2 (or subsequent version thereof) ("License"). As used in this License:
+
+ 1.1 "Applicable Patent Rights" mean: (a) in the case where Apple is the grantor of rights, (i) claims of patents that are now or hereafter acquired, owned by or assigned to Apple and (ii) that cover subject matter contained in the Original Code, but only to the extent necessary to use, reproduce and/or distribute the Original Code without infringement; and (b) in the case where You are the grantor of rights, (i) claims of patents that are now or hereafter acquired, owned by or assigned to You and (ii) that cover subject matter in Your Modifications, taken alone or in combination with Original Code.
+
+ 1.2 "Contributor" means any person or entity that creates or contributes to the creation of Modifications.
+
+ 1.3 "Covered Code" means the Original Code, Modifications, the combination of Original Code and any Modifications, and/or any respective portions thereof.
+
+ 1.4 "Deploy" means to use, sublicense or distribute Covered Code other than for Your internal research and development (R&D) and/or Personal Use, and includes without limitation, any and all internal use or distribution of Covered Code within Your business or organization except for R&D use and/or Personal Use, as well as direct or indirect sublicensing or distribution of Covered Code by You to any third party in any form or manner.
+
+ 1.5 "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.6 "Modifications" mean any addition to, deletion from, and/or change to, the substance and/or structure of the Original Code, any previous Modifications, the combination of Original Code and any previous Modifications, and/or any respective portions thereof. When code is released as a series of files, a Modification is: (a) any addition to or deletion from the contents of a file containing Covered Code; and/or (b) any new file or other representation of computer program statements that contains any part of Covered Code.
+
+ 1.7 "Original Code" means (a) the Source Code of a program or other work as originally made available by Apple under this License, including the Source Code of any updates or upgrades to such programs or works made available by Apple under this License, and that has been expressly identified by Apple as such in the header file(s) of such work; and (b) the object code compiled from such Source Code and originally made available by Apple under this License.
+
+ 1.8 "Personal Use" means use of Covered Code by an individual solely for his or her personal, private and non-commercial purposes. An individual's use of Covered Code in his or her capacity as an officer, employee, member, independent contractor or agent of a corporation, business or organization (commercial or non-commercial) does not qualify as Personal Use.
+
+ 1.9 "Source Code" means the human readable form of a program or other work that is suitable for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an executable (object code).
+
+ 1.10 "You" or "Your" means an individual or a legal entity exercising rights under this License. For legal entities, "You" or "Your" includes any entity which controls, is controlled by, or is under common control with, You, where "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 fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+2. Permitted Uses; Conditions & Restrictions.Subject to the terms and conditions of this License, Apple hereby grants You, effective on the date You accept this License and download the Original Code, a world-wide, royalty-free, non-exclusive license, to the extent of Apple's Applicable Patent Rights and copyrights covering the Original Code, to do the following:
+
+ 2.1 You may use, reproduce, display, perform, modify and distribute Original Code, with or without Modifications, solely for Your internal research and development and/or Personal Use, provided that in each instance:
+
+ (a) You must retain and reproduce in all copies of Original Code the copyright and other proprietary notices and disclaimers of Apple as they appear in the Original Code, and keep intact all notices in the Original Code that refer to this License; and
+
+ (b) You must include a copy of this License with every copy of Source Code of Covered Code and documentation You distribute, and You may not offer or impose any terms on such Source Code that alter or restrict this License or the recipients' rights hereunder, except as permitted under Section 6.
+
+ 2.2 You may use, reproduce, display, perform, modify and Deploy Covered Code, provided that in each instance:
+
+ (a) You must satisfy all the conditions of Section 2.1 with respect to the Source Code of the Covered Code;
+
+ (b) You must duplicate, to the extent it does not already exist, the notice in Exhibit A in each file of the Source Code of all Your Modifications, and cause the modified files to carry prominent notices stating that You changed the files and the date of any change;
+
+ (c) You must make Source Code of all Your Deployed Modifications publicly available under the terms of this License, including the license grants set forth in Section 3 below, for as long as you Deploy the Covered Code or twelve (12) months from the date of initial Deployment, whichever is longer. You should preferably distribute the Source Code of Your Deployed Modifications electronically (e.g. download from a web site); and
+
+ (d) if You Deploy Covered Code in object code, executable form only, You must include a prominent notice, in the code itself as well as in related documentation, stating that Source Code of the Covered Code is available under the terms of this License with information on how and where to obtain such Source Code.
+
+ 2.3 You expressly acknowledge and agree that although Apple and each Contributor grants the licenses to their respective portions of the Covered Code set forth herein, no assurances are provided by Apple or any Contributor that the Covered Code does not infringe the patent or other intellectual property rights of any other entity. Apple and each Contributor disclaim any liability to You for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, You hereby assume sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow You to distribute the Covered Code, it is Your responsibility to acquire that license before distributing the Covered Code.
+
+3. Your Grants. In consideration of, and as a condition to, the licenses granted to You under this License:
+
+ (a) You hereby grant to Apple and all third parties a non-exclusive, royalty-free license, under Your Applicable Patent Rights and other intellectual property rights (other than patent) owned or controlled by You, to use, reproduce, display, perform, modify, distribute and Deploy Your Modifications of the same scope and extent as Apple's licenses under Sections 2.1 and 2.2; and
+
+ (b) You hereby grant to Apple and its subsidiaries a non-exclusive, worldwide, royalty-free, perpetual and irrevocable license, under Your Applicable Patent Rights and other intellectual property rights (other than patent) owned or controlled by You, to use, reproduce, display, perform, modify or have modified (for Apple and/or its subsidiaries), sublicense and distribute Your Modifications, in any form, through multiple tiers of distribution.
+
+4. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In each such instance, You must make sure the requirements of this License are fulfilled for the Covered Code or any portion thereof.
+
+5. Limitations on Patent License. Except as expressly stated in Section 2, no other patent rights, express or implied, are granted by Apple herein. Modifications and/or Larger Works may require additional patent licenses from Apple which Apple may grant in its sole discretion.
+
+6. Additional Terms. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations and/or other rights consistent with the scope of the license granted herein ("Additional Terms") to one or more recipients of Covered Code. However, You may do so only on Your own behalf and as Your sole responsibility, and not on behalf of Apple or any Contributor. You must obtain the recipient's agreement that any such Additional Terms are offered by You alone, and You hereby agree to indemnify, defend and hold Apple and every Contributor harmless for any liability incurred by or claims asserted against Apple or such Contributor by reason of any such Additional Terms.
+
+7. Versions of the License. Apple may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Once Original Code has been published under a particular version of this License, You may continue to use it under the terms of that version. You may also choose to use such Original Code under the terms of any subsequent version of this License published by Apple. No one other than Apple has the right to modify the terms applicable to Covered Code created under this License.
+
+8. NO WARRANTY OR SUPPORT. The Covered Code may contain in whole or in part pre-release, untested, or not fully tested works. The Covered Code may contain errors that could cause failures or loss of data, and may be incomplete or contain inaccuracies. You expressly acknowledge and agree that use of the Covered Code, or any portion thereof, is at Your sole and entire risk. THE COVERED CODE IS PROVIDED "AS IS" AND WITHOUT WARRANTY, UPGRADES OR SUPPORT OF ANY KIND AND APPLE AND APPLE'S LICENSOR(S) (COLLECTIVELY REFERRED TO AS "APPLE" FOR THE PURPOSES OF SECTIONS 8 AND 9) AND ALL CONTRIBUTORS EXPRESSLY DISCLAIM ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY, OF SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR PURPOSE, OF ACCURACY, OF QUIET ENJOYMENT, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. APPLE AND EACH CONTRIBUTOR DOES NOT WARRANT AGAINST INTERFERENCE WITH YOUR ENJOYMENT OF THE COVERED CODE, THAT THE FUNCTIONS CONTAINED IN THE COVERED CODE WILL MEET YOUR REQUIREMENTS, THAT THE OPERATION OF THE COVERED CODE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS IN THE COVERED CODE WILL BE CORRECTED. NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE, AN APPLE AUTHORIZED REPRESENTATIVE OR ANY CONTRIBUTOR SHALL CREATE A WARRANTY. You acknowledge that the Covered Code is not intended for use in the operation of nuclear facilities, aircraft navigation, communication systems, or air traffic control machines in which case the failure of the Covered Code could lead to death, personal injury, or severe physical or environmental damage.
+
+9. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT SHALL APPLE OR ANY CONTRIBUTOR BE LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO THIS LICENSE OR YOUR USE OR INABILITY TO USE THE COVERED CODE, OR ANY PORTION THEREOF, WHETHER UNDER A THEORY OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCTS LIABILITY OR OTHERWISE, EVEN IF APPLE OR SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY TO YOU. In no event shall Apple's total liability to You for all damages (other than as may be required by applicable law) under this License exceed the amount of fifty dollars ($50.00).
+
+10. Trademarks. This License does not grant any rights to use the trademarks or trade names "Apple", "Apple Computer", "Mac OS X", "Mac OS X Server", "QuickTime", "QuickTime Streaming Server" or any other trademarks or trade names belonging to Apple (collectively "Apple Marks") or to any trademark or trade name belonging to any Contributor. No Apple Marks may be used to endorse or promote products derived from the Original Code other than as permitted by and in strict compliance at all times with Apple's third party trademark usage guidelines which are posted at http://www.apple.com/legal/guidelinesfor3rdparties.html.
+
+11. Ownership. Subject to the licenses granted under this License, each Contributor retains all rights, title and interest in and to any Modifications made by such Contributor. Apple retains all rights, title and interest in and to the Original Code and any Modifications made by or on behalf of Apple ("Apple Modifications"), and such Apple Modifications will not be automatically subject to this License. Apple may, at its sole discretion, choose to license such Apple Modifications under this License, or on different terms from those contained in this License or may choose not to license them at all.
+
+12. Termination.
+
+ 12.1 Termination. This License and the rights granted hereunder will terminate:
+
+ (a) automatically without notice from Apple if You fail to comply with any term(s) of this License and fail to cure such breach within 30 days of becoming aware of such breach;
+
+ (b) immediately in the event of the circumstances described in Section 13.5(b); or
+
+ (c) automatically without notice from Apple if You, at any time during the term of this License, commence an action for patent infringement against Apple.
+
+ 12.2 Effect of Termination. Upon termination, You agree to immediately stop any further use, reproduction, modification, sublicensing and distribution of the Covered Code and to destroy all copies of the Covered Code that are in your possession or control. All sublicenses to the Covered Code which have been properly granted prior to termination shall survive any termination of this License. Provisions which, by their nature, should remain in effect beyond the termination of this License shall survive, including but not limited to Sections 3, 5, 8, 9, 10, 11, 12.2 and 13. No party will be liable to any other for compensation, indemnity or damages of any sort solely as a result of terminating this License in accordance with its terms, and termination of this License will be without prejudice to any other right or remedy of any party.
+
+13. Miscellaneous.
+
+ 13.1 Government End Users. The Covered Code is a "commercial item" as defined in FAR 2.101. Government software and technical data rights in the Covered Code include only those rights customarily provided to the public as defined in this License. This customary commercial license in technical data and software is provided in accordance with FAR 12.211 (Technical Data) and 12.212 (Computer Software) and, for Department of Defense purchases, DFAR 252.227-7015 (Technical Data -- Commercial Items) and 227.7202-3 (Rights in Commercial Computer Software or Computer Software Documentation). Accordingly, all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+ 13.2 Relationship of Parties. This License will not be construed as creating an agency, partnership, joint venture or any other form of legal association between or amongYou, Apple or any Contributor, and You will not represent to the contrary, whether expressly, by implication, appearance or otherwise.
+
+ 13.3 Independent Development. Nothing in this License will impair Apple's right to acquire, license, develop, have others develop for it, market and/or distribute technology or products that perform the same or similar functions as, or otherwise compete with, Modifications, Larger Works, technology or products that You may develop, produce, market or distribute.
+
+ 13.4 Waiver; Construction. Failure by Apple or any Contributor to enforce any provision of this License will not be deemed a waiver of future enforcement of that or any other provision. Any law or regulation which provides that the language of a contract shall be construed against the drafter will not apply to this License.
+
+ 13.5 Severability. (a) If for any reason a court of competent jurisdiction finds any provision of this License, or portion thereof, to be unenforceable, that provision of the License will be enforced to the maximum extent permissible so as to effect the economic benefits and intent of the parties, and the remainder of this License will continue in full force and effect. (b) Notwithstanding the foregoing, if applicable law prohibits or restricts You from fully and/or specifically complying with Sections 2 and/or 3 or prevents the enforceability of either of those Sections, this License will immediately terminate and You must immediately discontinue any use of the Covered Code and destroy all copies of it that are in your possession or control.
+
+ 13.6 Dispute Resolution. Any litigation or other dispute resolution between You and Apple relating to this License shall take place in the Northern District of California, and You and Apple hereby consent to the personal jurisdiction of, and venue in, the state and federal courts within that District with respect to this License. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded.
+
+ 13.7 Entire Agreement; Governing Law. This License constitutes the entire agreement between the parties with respect to the subject matter hereof. This License shall be governed by the laws of the United States and the State of California, except that body of California law concerning conflicts of law.
+
+ Where You are located in the province of Quebec, Canada, the following clause applies: The parties hereby confirm that they have requested that this License and all related documents be drafted in English. Les parties ont exigé que le présent contrat et tous les documents connexes soient rédigés en anglais.
+
+EXHIBIT A.
+
+"Portions Copyright (c) 1999-2001 Apple Computer, Inc. All Rights Reserved.
+
+This file contains Original Code and/or Modifications of Original Code as defined in and that are subject to the Apple Public Source License Version 1.2 (the 'License'). You may not use this file except in compliance with the License. Please obtain a copy of the License at http://www.apple.com/publicsource and read it before using this file.
+
+The Original Code and all software distributed under the License are distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the specific language governing rights and limitations under the License."
\ No newline at end of file
diff --git a/options/license/APSL-2.0 b/options/license/APSL-2.0
new file mode 100644
index 0000000..04e3389
--- /dev/null
+++ b/options/license/APSL-2.0
@@ -0,0 +1,102 @@
+APPLE PUBLIC SOURCE LICENSE
+Version 2.0 - August 6, 2003
+
+Please read this License carefully before downloading this software. By downloading or using this software, you are agreeing to be bound by the terms of this License. If you do not or cannot agree to the terms of this License, please do not download or use the software.
+
+Apple Note: In January 2007, Apple changed its corporate name from "Apple Computer, Inc." to "Apple Inc." This change has been reflected below and copyright years updated, but no other changes have been made to the APSL 2.0.
+
+1. General; Definitions. This License applies to any program or other work which Apple Inc. ("Apple") makes publicly available and which contains a notice placed by Apple identifying such program or work as "Original Code" and stating that it is subject to the terms of this Apple Public Source License version 2.0 ("License"). As used in this License:
+
+ 1.1 "Applicable Patent Rights" mean: (a) in the case where Apple is the grantor of rights, (i) claims of patents that are now or hereafter acquired, owned by or assigned to Apple and (ii) that cover subject matter contained in the Original Code, but only to the extent necessary to use, reproduce and/or distribute the Original Code without infringement; and (b) in the case where You are the grantor of rights, (i) claims of patents that are now or hereafter acquired, owned by or assigned to You and (ii) that cover subject matter in Your Modifications, taken alone or in combination with Original Code.
+
+ 1.2 "Contributor" means any person or entity that creates or contributes to the creation of Modifications.
+
+ 1.3 "Covered Code" means the Original Code, Modifications, the combination of Original Code and any Modifications, and/or any respective portions thereof.
+
+ 1.4 "Externally Deploy" means: (a) to sublicense, distribute or otherwise make Covered Code available, directly or indirectly, to anyone other than You; and/or (b) to use Covered Code, alone or as part of a Larger Work, in any way to provide a service, including but not limited to delivery of content, through electronic communication with a client other than You.
+
+ 1.5 "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.6 "Modifications" mean any addition to, deletion from, and/or change to, the substance and/or structure of the Original Code, any previous Modifications, the combination of Original Code and any previous Modifications, and/or any respective portions thereof. When code is released as a series of files, a Modification is: (a) any addition to or deletion from the contents of a file containing Covered Code; and/or (b) any new file or other representation of computer program statements that contains any part of Covered Code.
+
+ 1.7 "Original Code" means (a) the Source Code of a program or other work as originally made available by Apple under this License, including the Source Code of any updates or upgrades to such programs or works made available by Apple under this License, and that has been expressly identified by Apple as such in the header file(s) of such work; and (b) the object code compiled from such Source Code and originally made available by Apple under this License
+
+ 1.8 "Source Code" means the human readable form of a program or other work that is suitable for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an executable (object code).
+
+ 1.9 "You" or "Your" means an individual or a legal entity exercising rights under this License. For legal entities, "You" or "Your" includes any entity which controls, is controlled by, or is under common control with, You, where "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 fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+2. Permitted Uses; Conditions & Restrictions. Subject to the terms and conditions of this License, Apple hereby grants You, effective on the date You accept this License and download the Original Code, a world-wide, royalty-free, non-exclusive license, to the extent of Apple's Applicable Patent Rights and copyrights covering the Original Code, to do the following:
+
+ 2.1 Unmodified Code. You may use, reproduce, display, perform, internally distribute within Your organization, and Externally Deploy verbatim, unmodified copies of the Original Code, for commercial or non-commercial purposes, provided that in each instance:
+
+ (a) You must retain and reproduce in all copies of Original Code the copyright and other proprietary notices and disclaimers of Apple as they appear in the Original Code, and keep intact all notices in the Original Code that refer to this License; and
+
+ (b) You must include a copy of this License with every copy of Source Code of Covered Code and documentation You distribute or Externally Deploy, and You may not offer or impose any terms on such Source Code that alter or restrict this License or the recipients' rights hereunder, except as permitted under Section 6.
+
+ 2.2 Modified Code. You may modify Covered Code and use, reproduce, display, perform, internally distribute within Your organization, and Externally Deploy Your Modifications and Covered Code, for commercial or non-commercial purposes, provided that in each instance You also meet all of these conditions:
+
+ (a) You must satisfy all the conditions of Section 2.1 with respect to the Source Code of the Covered Code;
+
+ (b) You must duplicate, to the extent it does not already exist, the notice in Exhibit A in each file of the Source Code of all Your Modifications, and cause the modified files to carry prominent notices stating that You changed the files and the date of any change; and
+
+ (c) If You Externally Deploy Your Modifications, You must make Source Code of all Your Externally Deployed Modifications either available to those to whom You have Externally Deployed Your Modifications, or publicly available. Source Code of Your Externally Deployed Modifications must be released under the terms set forth in this License, including the license grants set forth in Section 3 below, for as long as you Externally Deploy the Covered Code or twelve (12) months from the date of initial External Deployment, whichever is longer. You should preferably distribute the Source Code of Your Externally Deployed Modifications electronically (e.g. download from a web site).
+
+ 2.3 Distribution of Executable Versions. In addition, if You Externally Deploy Covered Code (Original Code and/or Modifications) in object code, executable form only, You must include a prominent notice, in the code itself as well as in related documentation, stating that Source Code of the Covered Code is available under the terms of this License with information on how and where to obtain such Source Code.
+
+ 2.4 Third Party Rights. You expressly acknowledge and agree that although Apple and each Contributor grants the licenses to their respective portions of the Covered Code set forth herein, no assurances are provided by Apple or any Contributor that the Covered Code does not infringe the patent or other intellectual property rights of any other entity. Apple and each Contributor disclaim any liability to You for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, You hereby assume sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow You to distribute the Covered Code, it is Your responsibility to acquire that license before distributing the Covered Code.
+
+3. Your Grants. In consideration of, and as a condition to, the licenses granted to You under this License, You hereby grant to any person or entity receiving or distributing Covered Code under this License a non-exclusive, royalty-free, perpetual, irrevocable license, under Your Applicable Patent Rights and other intellectual property rights (other than patent) owned or controlled by You, to use, reproduce, display, perform, modify, sublicense, distribute and Externally Deploy Your Modifications of the same scope and extent as Apple's licenses under Sections 2.1 and 2.2 above.
+
+4. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In each such instance, You must make sure the requirements of this License are fulfilled for the Covered Code or any portion thereof.
+
+5. Limitations on Patent License. Except as expressly stated in Section 2, no other patent rights, express or implied, are granted by Apple herein. Modifications and/or Larger Works may require additional patent licenses from Apple which Apple may grant in its sole discretion.
+
+6. Additional Terms. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations and/or other rights consistent with the scope of the license granted herein ("Additional Terms") to one or more recipients of Covered Code. However, You may do so only on Your own behalf and as Your sole responsibility, and not on behalf of Apple or any Contributor. You must obtain the recipient's agreement that any such Additional Terms are offered by You alone, and You hereby agree to indemnify, defend and hold Apple and every Contributor harmless for any liability incurred by or claims asserted against Apple or such Contributor by reason of any such Additional Terms.
+
+7. Versions of the License. Apple may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Once Original Code has been published under a particular version of this License, You may continue to use it under the terms of that version. You may also choose to use such Original Code under the terms of any subsequent version of this License published by Apple. No one other than Apple has the right to modify the terms applicable to Covered Code created under this License.
+
+8. NO WARRANTY OR SUPPORT. The Covered Code may contain in whole or in part pre-release, untested, or not fully tested works. The Covered Code may contain errors that could cause failures or loss of data, and may be incomplete or contain inaccuracies. You expressly acknowledge and agree that use of the Covered Code, or any portion thereof, is at Your sole and entire risk. THE COVERED CODE IS PROVIDED "AS IS" AND WITHOUT WARRANTY, UPGRADES OR SUPPORT OF ANY KIND AND APPLE AND APPLE'S LICENSOR(S) (COLLECTIVELY REFERRED TO AS "APPLE" FOR THE PURPOSES OF SECTIONS 8 AND 9) AND ALL CONTRIBUTORS EXPRESSLY DISCLAIM ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY, OF SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR PURPOSE, OF ACCURACY, OF QUIET ENJOYMENT, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. APPLE AND EACH CONTRIBUTOR DOES NOT WARRANT AGAINST INTERFERENCE WITH YOUR ENJOYMENT OF THE COVERED CODE, THAT THE FUNCTIONS CONTAINED IN THE COVERED CODE WILL MEET YOUR REQUIREMENTS, THAT THE OPERATION OF THE COVERED CODE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS IN THE COVERED CODE WILL BE CORRECTED. NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE, AN APPLE AUTHORIZED REPRESENTATIVE OR ANY CONTRIBUTOR SHALL CREATE A WARRANTY. You acknowledge that the Covered Code is not intended for use in the operation of nuclear facilities, aircraft navigation, communication systems, or air traffic control machines in which case the failure of the Covered Code could lead to death, personal injury, or severe physical or environmental damage.
+
+9. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT SHALL APPLE OR ANY CONTRIBUTOR BE LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO THIS LICENSE OR YOUR USE OR INABILITY TO USE THE COVERED CODE, OR ANY PORTION THEREOF, WHETHER UNDER A THEORY OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCTS LIABILITY OR OTHERWISE, EVEN IF APPLE OR SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY TO YOU. In no event shall Apple's total liability to You for all damages (other than as may be required by applicable law) under this License exceed the amount of fifty dollars ($50.00).
+
+10. Trademarks. This License does not grant any rights to use the trademarks or trade names "Apple", "Mac", "Mac OS", "QuickTime", "QuickTime Streaming Server" or any other trademarks, service marks, logos or trade names belonging to Apple (collectively "Apple Marks") or to any trademark, service mark, logo or trade name belonging to any Contributor. You agree not to use any Apple Marks in or as part of the name of products derived from the Original Code or to endorse or promote products derived from the Original Code other than as expressly permitted by and in strict compliance at all times with Apple's third party trademark usage guidelines which are posted at http://www.apple.com/legal/guidelinesfor3rdparties.html.
+
+11. Ownership. Subject to the licenses granted under this License, each Contributor retains all rights, title and interest in and to any Modifications made by such Contributor. Apple retains all rights, title and interest in and to the Original Code and any Modifications made by or on behalf of Apple ("Apple Modifications"), and such Apple Modifications will not be automatically subject to this License. Apple may, at its sole discretion, choose to license such Apple Modifications under this License, or on different terms from those contained in this License or may choose not to license them at all.
+
+12. Termination.
+
+ 12.1 Termination. This License and the rights granted hereunder will terminate:
+
+ (a) automatically without notice from Apple if You fail to comply with any term(s) of this License and fail to cure such breach within 30 days of becoming aware of such breach;
+
+ (b) immediately in the event of the circumstances described in Section 13.5(b); or
+
+ (c) automatically without notice from Apple if You, at any time during the term of this License, commence an action for patent infringement against Apple; provided that Apple did not first commence an action for patent infringement against You in that instance.
+
+ 12.2 Effect of Termination. Upon termination, You agree to immediately stop any further use, reproduction, modification, sublicensing and distribution of the Covered Code. All sublicenses to the Covered Code which have been properly granted prior to termination shall survive any termination of this License. Provisions which, by their nature, should remain in effect beyond the termination of this License shall survive, including but not limited to Sections 3, 5, 8, 9, 10, 11, 12.2 and 13. No party will be liable to any other for compensation, indemnity or damages of any sort solely as a result of terminating this License in accordance with its terms, and termination of this License will be without prejudice to any other right or remedy of any party.
+
+13. Miscellaneous.
+
+ 13.1 Government End Users. The Covered Code is a "commercial item" as defined in FAR 2.101. Government software and technical data rights in the Covered Code include only those rights customarily provided to the public as defined in this License. This customary commercial license in technical data and software is provided in accordance with FAR 12.211 (Technical Data) and 12.212 (Computer Software) and, for Department of Defense purchases, DFAR 252.227-7015 (Technical Data -- Commercial Items) and 227.7202-3 (Rights in Commercial Computer Software or Computer Software Documentation). Accordingly, all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+ 13.2 Relationship of Parties. This License will not be construed as creating an agency, partnership, joint venture or any other form of legal association between or among You, Apple or any Contributor, and You will not represent to the contrary, whether expressly, by implication, appearance or otherwise.
+
+ 13.3 Independent Development. Nothing in this License will impair Apple's right to acquire, license, develop, have others develop for it, market and/or distribute technology or products that perform the same or similar functions as, or otherwise compete with, Modifications, Larger Works, technology or products that You may develop, produce, market or distribute.
+
+ 13.4 Waiver; Construction. Failure by Apple or any Contributor to enforce any provision of this License will not be deemed a waiver of future enforcement of that or any other provision. Any law or regulation which provides that the language of a contract shall be construed against the drafter will not apply to this License.
+
+ 13.5 Severability. (a) If for any reason a court of competent jurisdiction finds any provision of this License, or portion thereof, to be unenforceable, that provision of the License will be enforced to the maximum extent permissible so as to effect the economic benefits and intent of the parties, and the remainder of this License will continue in full force and effect. (b) Notwithstanding the foregoing, if applicable law prohibits or restricts You from fully and/or specifically complying with Sections 2 and/or 3 or prevents the enforceability of either of those Sections, this License will immediately terminate and You must immediately discontinue any use of the Covered Code and destroy all copies of it that are in your possession or control.
+
+ 13.6 Dispute Resolution. Any litigation or other dispute resolution between You and Apple relating to this License shall take place in the Northern District of California, and You and Apple hereby consent to the personal jurisdiction of, and venue in, the state and federal courts within that District with respect to this License. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded.
+
+ 13.7 Entire Agreement; Governing Law. This License constitutes the entire agreement between the parties with respect to the subject matter hereof. This License shall be governed by the laws of the United States and the State of California, except that body of California law concerning conflicts of law.
+
+ Where You are located in the province of Quebec, Canada, the following clause applies: The parties hereby confirm that they have requested that this License and all related documents be drafted in English. Les parties ont exigé que le présent contrat et tous les documents connexes soient rédigés en anglais.
+
+EXHIBIT A.
+
+"Portions Copyright (c) 1999-2007 Apple Inc. All Rights Reserved.
+
+This file contains Original Code and/or Modifications of Original Code as defined in and that are subject to the Apple Public Source License Version 2.0 (the 'License'). You may not use this file except in compliance with the License. Please obtain a copy of the License at http://www.opensource.apple.com/apsl/ and read it before using this file.
+
+The Original Code and all software distributed under the License are distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the specific language governing rights and limitations under the License."
\ No newline at end of file
diff --git a/options/license/Abstyles License b/options/license/Abstyles
similarity index 70%
rename from options/license/Abstyles License
rename to options/license/Abstyles
index a4a62f8..0df00c5 100644
--- a/options/license/Abstyles License
+++ b/options/license/Abstyles
@@ -1,10 +1,11 @@
This is APREAMBL.TEX, version 1.10e, written by Hans-Hermann Bode
(HHBODE@DOSUNI1.BITNET), for the BibTeX `adaptable' family, version 1.10.
-See the file APREAMBL.DOC for a detailed documentation.
-This program is distributed WITHOUT ANY WARRANTY, express or implied.
+See the file APREAMBL.DOC for a detailed documentation.
-Copyright (C) 1991, 1992 Hans-Hermann Bode
+This program is distributed WITHOUT ANY WARRANTY, express or implied.
-Permission is granted to make and distribute verbatim copies of this document provided that the copyright notice and this permission notice are preserved on all copies.
+Copyright (C) 1991, 1992 Hans-Hermann Bode
+
+Permission is granted to make and distribute verbatim copies of this document provided that the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this document under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
\ No newline at end of file
diff --git a/options/license/Adobe-2006 b/options/license/Adobe-2006
new file mode 100644
index 0000000..e2dafbb
--- /dev/null
+++ b/options/license/Adobe-2006
@@ -0,0 +1,12 @@
+Adobe Systems Incorporated(r) Source Code License Agreement
+Copyright(c) 2006 Adobe Systems Incorporated. All rights reserved.
+
+Please read this Source Code License Agreement carefully before using the source code.
+
+Adobe Systems Incorporated 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, and distribute this source code and such derivative works in source or object code form without any attribution requirements.
+
+The name "Adobe Systems Incorporated" must not be used to endorse or promote products derived from the source code without prior written permission.
+
+You agree to indemnify, hold harmless and defend Adobe Systems Incorporated from and against any loss, damage, claims or lawsuits, including attorney's fees that arise or result from your use or distribution of the source code.
+
+THIS SOURCE CODE IS PROVIDED "AS IS" AND "WITH ALL FAULTS", WITHOUT ANY TECHNICAL SUPPORT OR ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ALSO, THERE IS NO WARRANTY OF NON-INFRINGEMENT, TITLE OR QUIET ENJOYMENT. IN NO EVENT SHALL MACROMEDIA OR ITS SUPPLIERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOURCE CODE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/Adobe-Glyph b/options/license/Adobe-Glyph
new file mode 100644
index 0000000..83e743b
--- /dev/null
+++ b/options/license/Adobe-Glyph
@@ -0,0 +1,10 @@
+Copyright (c) 1997,1998,2002,2007 Adobe Systems Incorporated
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this documentation file to use, copy, publish, distribute, sublicense, and/or sell copies of the documentation, and to permit others to do the same, provided that:
+
+ - No modification, editing or other alteration of this document is allowed; and
+ - The above copyright notice and this permission notice shall be included in all copies of the documentation.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this documentation file, to create their own derivative works from the content of this document to use, copy, publish, distribute, sublicense, and/or sell the derivative works, and to permit others to do the same, provided that the derived work is not represented as being a copy or version of this document.
+
+Adobe shall not be liable to any party for any loss of revenue or profit or for indirect, incidental, special, consequential, or other similar damages, whether based on tort (including without limitation negligence or strict liability), contract or other legal or equitable grounds even if Adobe has been advised or had reason to know of the possibility of such damages.Ê The Adobe materials are provided on an "AS IS" basis.Ê Adobe specifically disclaims all express, statutory, or implied warranties relating to the Adobe materials, including but not limited to those concerning merchantability or fitness for a particular purpose or non-infringement of any third party rights regarding the Adobe materials.
\ No newline at end of file
diff --git a/options/license/Afmparse b/options/license/Afmparse
new file mode 100644
index 0000000..d279edc
--- /dev/null
+++ b/options/license/Afmparse
@@ -0,0 +1,10 @@
+(C) 1988, 1989 by Adobe Systems Incorporated. All rights reserved.
+
+This file may be freely copied and redistributed as long as:
+
+ 1) This entire notice continues to be included in the file,
+ 2) If the file has been modified in any way, a notice of such modification is conspicuously indicated.
+
+PostScript, Display PostScript,and Adobe are registered trademarks of Adobe Systems Incorporated.
+
+THE INFORMATION BELOW IS FURNISHED AS IS, IS SUBJECT TO CHANGE WITHOUT NOTICE, AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY ADOBE SYSTEMS INCORPORATED. ADOBE SYSTEMS INCORPORATED ASSUMES NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR INACCURACIES, MAKES NO WARRANTY OF ANY KIND (EXPRESS, IMPLIED OR STATUTORY) WITH RESPECT TO THIS INFORMATION, AND EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES OF MERCHANTABILITY, FITNESS FOR PARTICULAR PURPOSES AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
\ No newline at end of file
diff --git a/options/license/Aladdin b/options/license/Aladdin
new file mode 100644
index 0000000..e7da44b
--- /dev/null
+++ b/options/license/Aladdin
@@ -0,0 +1,62 @@
+Aladdin Free Public License
+(Version 8, November 18, 1999)
+
+Copyright (C) 1994, 1995, 1997, 1998, 1999 Aladdin Enterprises,
Menlo Park, California, U.S.A. All rights reserved.
+
+NOTE: This License is not the same as any of the GNU Licenses published by the Free Software Foundation. Its terms are substantially different from those of the GNU Licenses. If you are familiar with the GNU Licenses, please read this license with extra care.
+
+Aladdin Enterprises hereby grants to anyone the permission to apply this License to their own work, as long as the entire License (including the above notices and this paragraph) is copied with no changes, additions, or deletions except for changing the first paragraph of Section 0 to include a suitable description of the work to which the license is being applied and of the person or entity that holds the copyright in the work, and, if the License is being applied to a work created in a country other than the United States, replacing the first paragraph of Section 6 with an appropriate reference to the laws of the appropriate country.
+
+0. Subject Matter
+This License applies to the computer program known as "Aladdin Ghostscript." The "Program", below, refers to such program. The Program is a copyrighted work whose copyright is held by Aladdin Enterprises (the "Licensor"). Please note that Aladdin Ghostscript is neither the program known as "GNU Ghostscript" nor the version of Ghostscript available for commercial licensing from Artifex Software Inc.
+
+A "work based on the Program" means either the Program or any derivative work of the Program, as defined in the United States Copyright Act of 1976, such as a translation or a modification.
+
+BY MODIFYING OR DISTRIBUTING THE PROGRAM (OR ANY WORK BASED ON THE PROGRAM), YOU INDICATE YOUR ACCEPTANCE OF THIS LICENSE TO DO SO, AND ALL ITS TERMS AND CONDITIONS FOR COPYING, DISTRIBUTING OR MODIFYING THE PROGRAM OR WORKS BASED ON IT. NOTHING OTHER THAN THIS LICENSE GRANTS YOU PERMISSION TO MODIFY OR DISTRIBUTE THE PROGRAM OR ITS DERIVATIVE WORKS. THESE ACTIONS ARE PROHIBITED BY LAW. IF YOU DO NOT ACCEPT THESE TERMS AND CONDITIONS, DO NOT MODIFY OR DISTRIBUTE THE PROGRAM.
+
+1. Licenses.
+Licensor hereby grants you the following rights, provided that you comply with all of the restrictions set forth in this License and provided, further, that you distribute an unmodified copy of this License with the Program:
+
+ (a) You may copy and distribute literal (i.e., verbatim) copies of the Program's source code as you receive it throughout the world, in any medium.
+ (b) You may modify the Program, create works based on the Program and distribute copies of such throughout the world, in any medium.
+
+2. Restrictions.
+This license is subject to the following restrictions:
+
+ (a) Distribution of the Program or any work based on the Program by a commercial organization to any third party is prohibited if any payment is made in connection with such distribution, whether directly (as in payment for a copy of the Program) or indirectly (as in payment for some service related to the Program, or payment for some product or service that includes a copy of the Program "without charge"; these are only examples, and not an exhaustive enumeration of prohibited activities). The following methods of distribution involving payment shall not in and of themselves be a violation of this restriction:
+
+ (i) Posting the Program on a public access information storage and retrieval service for which a fee is received for retrieving information (such as an on-line service), provided that the fee is not content-dependent (i.e., the fee would be the same for retrieving the same volume of information consisting of random data) and that access to the service and to the Program is available independent of any other product or service. An example of a service that does not fall under this section is an on-line service that is operated by a company and that is only available to customers of that company. (This is not an exhaustive enumeration.)
+ (ii) Distributing the Program on removable computer-readable media, provided that the files containing the Program are reproduced entirely and verbatim on such media, that all information on such media be redistributable for non-commercial purposes without charge, and that such media are distributed by themselves (except for accompanying documentation) independent of any other product or service. Examples of such media include CD-ROM, magnetic tape, and optical storage media. (This is not intended to be an exhaustive list.) An example of a distribution that does not fall under this section is a CD-ROM included in a book or magazine. (This is not an exhaustive enumeration.)
+
+ (b) Activities other than copying, distribution and modification of the Program are not subject to this License and they are outside its scope. Functional use (running) of the Program is not restricted, and any output produced through the use of the Program is subject to this license only if its contents constitute a work based on the Program (independent of having been made by running the Program).
+
+ (c) You must meet all of the following conditions with respect to any work that you distribute or publish that in whole or in part contains or is derived from the Program or any part thereof ("the Work"):
+
+ (i) If you have modified the Program, you must cause the Work to carry prominent notices stating that you have modified the Program's files and the date of any change. In each source file that you have modified, you must include a prominent notice that you have modified the file, including your name, your e-mail address (if any), and the date and purpose of the change;
+ (ii) You must cause the Work to be licensed as a whole and at no charge to all third parties under the terms of this License;
+ (iii) If the Work normally reads commands interactively when run, you must cause it, at each time the Work commences operation, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty). Such notice must also state that users may redistribute the Work only under the conditions of this License and tell the user how to view the copy of this License included with the Work. (Exceptions: if the Program is interactive but normally prints or displays such an announcement only at the request of a user, such as in an "About box", the Work is required to print or display the notice only under the same circumstances; if the Program itself is interactive but does not normally print such an announcement, the Work is not required to print an announcement.);
+ (iv) You must accompany the Work with the complete corresponding machine-readable source code, delivered on a medium customarily used for software interchange. The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable code. If you distribute with the Work any component that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, you must also distribute the source code of that component if you have it and are allowed to do so;
+ (v) If you distribute any written or printed material at all with the Work, such material must include either a written copy of this License, or a prominent written indication that the Work is covered by this License and written instructions for printing and/or displaying the copy of the License on the distribution medium;
+ (vi) You may not impose any further restrictions on the recipient's exercise of the rights granted herein.
+
+If distribution of executable or object code is made by offering the equivalent ability to copy from a designated place, then offering equivalent ability to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source code along with the object code.
+
+3. Reservation of Rights.
+No rights are granted to the Program except as expressly set forth herein. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+4. Other Restrictions.
+If the distribution and/or use of the Program is restricted in certain countries for any reason, Licensor may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+
+5. Limitations.
+THE PROGRAM IS PROVIDED TO YOU "AS IS," WITHOUT WARRANTY. THERE IS NO WARRANTY FOR THE PROGRAM, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL LICENSOR, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+6. General.
+This License is governed by the laws of the State of California, U.S.A., excluding choice of law rules.
+
+If any part of this License is found to be in conflict with the law, that part shall be interpreted in its broadest meaning consistent with the law, and no other parts of the License shall be affected.
+
+For United States Government users, the Program is provided with RESTRICTED RIGHTS. If you are a unit or agency of the United States Government or are acquiring the Program for any such unit or agency, the following apply:
+
+If the unit or agency is the Department of Defense ("DOD"), the Program and its documentation are classified as "commercial computer software" and "commercial computer software documentation" respectively and, pursuant to DFAR Section 227.7202, the Government is acquiring the Program and its documentation in accordance with the terms of this License. If the unit or agency is other than DOD, the Program and its documentation are classified as "commercial computer software" and "commercial computer software documentation" respectively and, pursuant to FAR Section 12.212, the Government is acquiring the Program and its documentation in accordance with the terms of this License.
diff --git a/options/license/Apache License 1.0 b/options/license/Apache License 1.0
deleted file mode 100644
index 9a06536..0000000
--- a/options/license/Apache License 1.0
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 1995-1999 The Apache Group. All rights reserved.
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-3. All advertising materials mentioning features or use of this software must display the following acknowledgment: "This product includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) ."
-
-4. The "Apache" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org
-
-5. Products derived from this software may not be called "Apache" nor may "Apache" appear in their name, without prior written permission of the Apache Group .
-
-6. Redistributions of any form whatsoever must retain the following acknowledgment:
-"This product includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) .
-
-THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-This software consists of voluntary contributions made by many individuals on behalf of the Apache Group and was originally based on public domain software written at the National Center for Supercomputing Applications, University of Illinois, Urbana-Champaign. For more information on the Apache Group and the Apache HTTP server project, please see.
diff --git a/options/license/Apache License 1.1 b/options/license/Apache License 1.1
deleted file mode 100644
index 92b971b..0000000
--- a/options/license/Apache License 1.1
+++ /dev/null
@@ -1,20 +0,0 @@
-Apache License 1.1
-Copyright (c) 2000 The Apache Software Foundation. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment:
-"This product includes software developed by the Apache Software Foundation (http://www.apache.org/) ."
-Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear.
-
-4. The "Apache" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org
-
-5. Products derived from this software may not be called "Apache" [ex. "Jakarta," "Apache," or "Apache Commons,"] nor may "Apache" [ex. the names] appear in their name, without prior written permission of the Apache Software Foundation .
-
-THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation. For more information on the Apache Software Foundation, please see http://www.apache.org/. Portions of this software are based upon public domain software originally written at the National Center for Supercomputing Applications, University of Illinois, Urbana-Champaign.
diff --git a/options/license/Apache-1.0 b/options/license/Apache-1.0
new file mode 100644
index 0000000..1b253d6
--- /dev/null
+++ b/options/license/Apache-1.0
@@ -0,0 +1,20 @@
+Copyright (c) 1995-1999 The Apache Group. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. All advertising materials mentioning features or use of this software must display the following acknowledgment: "This product includes software developed by the <>."
+
+4. The <> must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact <>
+
+5. Products derived from this software may not be called <> nor may <> appear in their name, without prior written permission of <>.
+
+6. Redistributions of any form whatsoever must retain the following acknowledgment:
+"This product includes software developed by <>.
+
+THIS SOFTWARE IS PROVIDED BY <> ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+<> This software consists of voluntary contributions made by many individuals on behalf of the Apache Group and was originally based on public domain software written at the National Center for Supercomputing Applications, University of Illinois, Urbana-Champaign. For more information on the Apache Group and the Apache HTTP server project, please see . <>
\ No newline at end of file
diff --git a/options/license/Apache-1.1 b/options/license/Apache-1.1
new file mode 100644
index 0000000..4359bf6
--- /dev/null
+++ b/options/license/Apache-1.1
@@ -0,0 +1,21 @@
+Apache License 1.1
+
+Copyright (c) 2000 The Apache Software Foundation. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment:
+"This product includes software developed by <>."
+Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear.
+
+4. The <> must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact <>
+
+5. Products derived from this software may not be called <> nor may <> appear in their name, without prior written permission of <>.
+
+THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+<> This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation. For more information on the Apache Software Foundation, please see http://www.apache.org/. Portions of this software are based upon public domain software originally written at the National Center for Supercomputing Applications, University of Illinois, Urbana-Champaign. <>
\ No newline at end of file
diff --git a/options/license/Apache License 2.0 b/options/license/Apache-2.0
similarity index 78%
rename from options/license/Apache License 2.0
rename to options/license/Apache-2.0
index dbfab25..33666dd 100644
--- a/options/license/Apache License 2.0
+++ b/options/license/Apache-2.0
@@ -1,6 +1,7 @@
-Apache License
-Version 2.0, January 2004
+Apache License
+Version 2.0, January 2004
http://www.apache.org/licenses/
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
@@ -31,15 +32,15 @@ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
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
+ (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
+ (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
+ (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.
+ (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.
+ 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.
@@ -55,18 +56,18 @@ END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
-To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
+To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
\ No newline at end of file
diff --git a/options/license/Artistic License 1.0 b/options/license/Artistic License 1.0
deleted file mode 100644
index 7121f1f..0000000
--- a/options/license/Artistic License 1.0
+++ /dev/null
@@ -1,48 +0,0 @@
-The Artistic License
-Preamble
-
-The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
-
-Definitions:
-
-"Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
-
-"Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder.
-
-"Copyright Holder" is whoever is named in the copyright or copyrights for the package.
-
-"You" is you, if you're thinking about copying or distributing this Package.
-
-"Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
-
-"Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
-
-1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
-
-2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
-
-3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
-
-a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as ftp.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
-b) use the modified Package only within your corporation or organization.
-c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
-d) make other distribution arrangements with the Copyright Holder.
-
-4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
-
-a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
-b) accompany the distribution with the machine-readable source of the Package with your modifications.
-c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
-d) make other distribution arrangements with the Copyright Holder.
-
-5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own.
-
-6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package.
-
-7. C or perl subroutines supplied by you and linked into this Package shall not be considered part of this Package.
-
-8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
-
-9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-The End
diff --git a/options/license/Artistic License 2.0 b/options/license/Artistic License 2.0
deleted file mode 100644
index 5f85aa8..0000000
--- a/options/license/Artistic License 2.0
+++ /dev/null
@@ -1,84 +0,0 @@
-The Artistic License 2.0
-Copyright (c) 2000-2006, The Perl Foundation.
-
-Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
-
-Preamble
-
-This license establishes the terms under which a given free software Package may be copied, modified, distributed, and/or redistributed. The intent is that the Copyright Holder maintains some artistic control over the development of that Package while still keeping the Package available as open source and free software.
-
-You are always permitted to make arrangements wholly outside of this license directly with the Copyright Holder of a given Package. If the terms of this license do not permit the full use that you propose to make of the Package, you should contact the Copyright Holder and seek a different licensing arrangement.
-
-Definitions
-
-"Copyright Holder" means the individual(s) or organization(s) named in the copyright notice for the entire Package.
-
-"Contributor" means any party that has contributed code or other material to the Package, in accordance with the Copyright Holder's procedures.
-
-"You" and "your" means any person who would like to copy, distribute, or modify the Package.
-
-"Package" means the collection of files distributed by the Copyright Holder, and derivatives of that collection and/or of those files. A given Package may consist of either the Standard Version, or a Modified Version.
-
-"Distribute" means providing a copy of the Package or making it accessible to anyone else, or in the case of a company or organization, to others outside of your company or organization.
-
-"Distributor Fee" means any fee that you charge for Distributing this Package or providing support for this Package to another party. It does not mean licensing fees.
-
-"Standard Version" refers to the Package if it has not been modified, or has been modified only in ways explicitly requested by the Copyright Holder.
-
-"Modified Version" means the Package, if it has been changed, and such changes were not explicitly requested by the Copyright Holder.
-
-"Original License" means this Artistic License as Distributed with the Standard Version of the Package, in its current version or as it may be modified by The Perl Foundation in the future.
-
-"Source" form means the source code, documentation source, and configuration files for the Package.
-
-"Compiled" form means the compiled bytecode, object code, binary, or any other form resulting from mechanical transformation or translation of the Source form.
-
-Permission for Use and Modification Without Distribution
-
-(1) You are permitted to use the Standard Version and create and use Modified Versions for any purpose without restriction, provided that you do not Distribute the Modified Version.
-
-Permissions for Redistribution of the Standard Version
-
-(2) You may Distribute verbatim copies of the Source form of the Standard Version of this Package in any medium without restriction, either gratis or for a Distributor Fee, provided that you duplicate all of the original copyright notices and associated disclaimers. At your discretion, such verbatim copies may or may not include a Compiled form of the Package.
-
-(3) You may apply any bug fixes, portability changes, and other modifications made available from the Copyright Holder. The resulting Package will still be considered the Standard Version, and as such will be subject to the Original License.
-
-Distribution of Modified Versions of the Package as Source
-
-(4) You may Distribute your Modified Version as Source (either gratis or for a Distributor Fee, and with or without a Compiled form of the Modified Version) provided that you clearly document how it differs from the Standard Version, including, but not limited to, documenting any non-standard features, executables, or modules, and provided that you do at least ONE of the following:
-
-(a) make the Modified Version available to the Copyright Holder of the Standard Version, under the Original License, so that the Copyright Holder may include your modifications in the Standard Version.
-(b) ensure that installation of your Modified Version does not prevent the user installing or running the Standard Version. In addition, the Modified Version must bear a name that is different from the name of the Standard Version.
-(c) allow anyone who receives a copy of the Modified Version to make the Source form of the Modified Version available to others under
-
-(i) the Original License or
-(ii) a license that permits the licensee to freely copy, modify and redistribute the Modified Version using the same licensing terms that apply to the copy that the licensee received, and requires that the Source form of the Modified Version, and of any works derived from it, be made freely available in that license fees are prohibited but Distributor Fees are allowed.
-
-Distribution of Compiled Forms of the Standard Version or Modified Versions without the Source
-
-(5) You may Distribute Compiled forms of the Standard Version without the Source, provided that you include complete instructions on how to get the Source of the Standard Version. Such instructions must be valid at the time of your distribution. If these instructions, at any time while you are carrying out such distribution, become invalid, you must provide new instructions on demand or cease further distribution. If you provide valid instructions or cease distribution within thirty days after you become aware that the instructions are invalid, then you do not forfeit any of your rights under this license.
-
-(6) You may Distribute a Modified Version in Compiled form without the Source, provided that you comply with Section 4 with respect to the Source of the Modified Version.
-
-Aggregating or Linking the Package
-
-(7) You may aggregate the Package (either the Standard Version or Modified Version) with other packages and Distribute the resulting aggregation provided that you do not charge a licensing fee for the Package. Distributor Fees are permitted, and licensing fees for other components in the aggregation are permitted. The terms of this license apply to the use and Distribution of the Standard or Modified Versions as included in the aggregation.
-
-(8) You are permitted to link Modified and Standard Versions with other works, to embed the Package in a larger work of your own, or to build stand-alone binary or bytecode versions of applications that include the Package, and Distribute the result without restriction, provided the result does not expose a direct interface to the Package.
-
-Items That are Not Considered Part of a Modified Version
-
-(9) Works (including, but not limited to, modules and scripts) that merely extend or make use of the Package, do not, by themselves, cause the Package to be a Modified Version. In addition, such works are not considered parts of the Package itself, and are not subject to the terms of this license.
-
-General Provisions
-
-(10) Any use, modification, and distribution of the Standard or Modified Versions is governed by this Artistic License. By using, modifying or distributing the Package, you accept this license. Do not use, modify, or distribute the Package, if you do not accept this license.
-
-(11) If your Modified Version has been derived from a Modified Version made by someone other than you, you are nevertheless required to ensure that your Modified Version complies with the requirements of this license.
-
-(12) This license does not grant you the right to use any trademark, service mark, tradename, or logo of the Copyright Holder.
-
-(13) This license includes the non-exclusive, worldwide, free-of-charge patent license to make, have made, use, offer to sell, sell, import and otherwise transfer the Package with respect to any patent claims licensable by the Copyright Holder that are necessarily infringed by the Package. If you institute patent litigation (including a cross-claim or counterclaim) against any party alleging that the Package constitutes direct or contributory patent infringement, then this Artistic License to you shall terminate on the date that such litigation is filed.
-
-(14) Disclaimer of Warranty:
-THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/options/license/Artistic-1.0 b/options/license/Artistic-1.0
new file mode 100644
index 0000000..fc6aea7
--- /dev/null
+++ b/options/license/Artistic-1.0
@@ -0,0 +1,49 @@
+The Artistic License
+
+Preamble
+
+The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder.
+
+ "Copyright Holder" is whoever is named in the copyright or copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as ftp.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
+ b) use the modified Package only within your corporation or organization.
+ c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
+ b) accompany the distribution with the machine-readable source of the Package with your modifications.
+ c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package.
+
+7. C or perl subroutines supplied by you and linked into this Package shall not be considered part of this Package.
+
+8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
\ No newline at end of file
diff --git a/options/license/Artistic-1.0-Perl b/options/license/Artistic-1.0-Perl
new file mode 100644
index 0000000..dd45f4c
--- /dev/null
+++ b/options/license/Artistic-1.0-Perl
@@ -0,0 +1,51 @@
+The "Artistic License"
+
+Preamble
+
+The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder as specified below.
+
+ "Copyright Holder" is whoever is named in the copyright or copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as uunet.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
+ b) use the modified Package only within your corporation or organization.
+ c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
+ b) accompany the distribution with the machine-readable source of the Package with your modifications.
+ c) give non-standard executables non-standard names, and clearly document the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own. You may embed this Package's interpreter within an executable of yours (by linking); this shall be construed as a mere form of aggregation, provided that the complete Standard Version of the interpreter is so embedded.
+
+6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whoever generated them, and may be sold commercially, and may be aggregated with this Package. If such scripts or library files are aggregated with this Package via the so-called "undump" or "unexec" methods of producing a binary executable image, then distribution of such an image shall neither be construed as a distribution of this Package nor shall it fall under the restrictions of Paragraphs 3 and 4, provided that you do not represent such an executable image as a Standard Version of this Package.
+
+7. C subroutines (or comparably compiled subroutines in other languages) supplied by you and linked into this Package in order to emulate subroutines and variables of the language defined by this Package shall not be considered part of this Package, but are the equivalent of input as in Paragraph 6, provided these subroutines do not change the language in any way that would cause it to fail the regression tests for the language.
+
+8. Aggregation of this Package with a commercial distribution is always permitted provided that the use of this Package is embedded; that is, when no overt attempt is made to make this Package's interfaces visible to the end user of the commercial distribution. Such use shall not be construed as a distribution of this Package.
+
+9. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
diff --git a/options/license/Artistic-1.0-cl8 b/options/license/Artistic-1.0-cl8
new file mode 100644
index 0000000..5e0b00f
--- /dev/null
+++ b/options/license/Artistic-1.0-cl8
@@ -0,0 +1,51 @@
+The Artistic License
+
+Preamble
+
+The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder.
+
+ "Copyright Holder" is whoever is named in the copyright or copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as ftp.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
+ b) use the modified Package only within your corporation or organization.
+ c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
+ b) accompany the distribution with the machine-readable source of the Package with your modifications.
+ c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package.
+
+7. C or perl subroutines supplied by you and linked into this Package shall not be considered part of this Package.
+
+8.Aggregation of this Package with a commercial distribution is always permitted provided that the use of this Package is embedded; that is, when no overt attempt is made to make this Package's interfaces visible to the end user of the commercial distribution. Such use shall not be construed as a distribution of this Package.
+
+9. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
\ No newline at end of file
diff --git a/options/license/Artistic-2.0 b/options/license/Artistic-2.0
new file mode 100644
index 0000000..5e56785
--- /dev/null
+++ b/options/license/Artistic-2.0
@@ -0,0 +1,85 @@
+The Artistic License 2.0
+
+Copyright (c) 2000-2006, The Perl Foundation.
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+Preamble
+
+This license establishes the terms under which a given free software Package may be copied, modified, distributed, and/or redistributed. The intent is that the Copyright Holder maintains some artistic control over the development of that Package while still keeping the Package available as open source and free software.
+
+You are always permitted to make arrangements wholly outside of this license directly with the Copyright Holder of a given Package. If the terms of this license do not permit the full use that you propose to make of the Package, you should contact the Copyright Holder and seek a different licensing arrangement.
+
+Definitions
+
+ "Copyright Holder" means the individual(s) or organization(s) named in the copyright notice for the entire Package.
+
+ "Contributor" means any party that has contributed code or other material to the Package, in accordance with the Copyright Holder's procedures.
+
+ "You" and "your" means any person who would like to copy, distribute, or modify the Package.
+
+ "Package" means the collection of files distributed by the Copyright Holder, and derivatives of that collection and/or of those files. A given Package may consist of either the Standard Version, or a Modified Version.
+
+ "Distribute" means providing a copy of the Package or making it accessible to anyone else, or in the case of a company or organization, to others outside of your company or organization.
+
+ "Distributor Fee" means any fee that you charge for Distributing this Package or providing support for this Package to another party. It does not mean licensing fees.
+
+ "Standard Version" refers to the Package if it has not been modified, or has been modified only in ways explicitly requested by the Copyright Holder.
+
+ "Modified Version" means the Package, if it has been changed, and such changes were not explicitly requested by the Copyright Holder.
+
+ "Original License" means this Artistic License as Distributed with the Standard Version of the Package, in its current version or as it may be modified by The Perl Foundation in the future.
+
+ "Source" form means the source code, documentation source, and configuration files for the Package.
+
+ "Compiled" form means the compiled bytecode, object code, binary, or any other form resulting from mechanical transformation or translation of the Source form.
+
+Permission for Use and Modification Without Distribution
+
+(1) You are permitted to use the Standard Version and create and use Modified Versions for any purpose without restriction, provided that you do not Distribute the Modified Version.
+
+Permissions for Redistribution of the Standard Version
+
+(2) You may Distribute verbatim copies of the Source form of the Standard Version of this Package in any medium without restriction, either gratis or for a Distributor Fee, provided that you duplicate all of the original copyright notices and associated disclaimers. At your discretion, such verbatim copies may or may not include a Compiled form of the Package.
+
+(3) You may apply any bug fixes, portability changes, and other modifications made available from the Copyright Holder. The resulting Package will still be considered the Standard Version, and as such will be subject to the Original License.
+
+Distribution of Modified Versions of the Package as Source
+
+(4) You may Distribute your Modified Version as Source (either gratis or for a Distributor Fee, and with or without a Compiled form of the Modified Version) provided that you clearly document how it differs from the Standard Version, including, but not limited to, documenting any non-standard features, executables, or modules, and provided that you do at least ONE of the following:
+
+ (a) make the Modified Version available to the Copyright Holder of the Standard Version, under the Original License, so that the Copyright Holder may include your modifications in the Standard Version.
+ (b) ensure that installation of your Modified Version does not prevent the user installing or running the Standard Version. In addition, the Modified Version must bear a name that is different from the name of the Standard Version.
+ (c) allow anyone who receives a copy of the Modified Version to make the Source form of the Modified Version available to others under
+
+ (i) the Original License or
+ (ii) a license that permits the licensee to freely copy, modify and redistribute the Modified Version using the same licensing terms that apply to the copy that the licensee received, and requires that the Source form of the Modified Version, and of any works derived from it, be made freely available in that license fees are prohibited but Distributor Fees are allowed.
+
+Distribution of Compiled Forms of the Standard Version or Modified Versions without the Source
+
+(5) You may Distribute Compiled forms of the Standard Version without the Source, provided that you include complete instructions on how to get the Source of the Standard Version. Such instructions must be valid at the time of your distribution. If these instructions, at any time while you are carrying out such distribution, become invalid, you must provide new instructions on demand or cease further distribution. If you provide valid instructions or cease distribution within thirty days after you become aware that the instructions are invalid, then you do not forfeit any of your rights under this license.
+
+(6) You may Distribute a Modified Version in Compiled form without the Source, provided that you comply with Section 4 with respect to the Source of the Modified Version.
+
+Aggregating or Linking the Package
+
+(7) You may aggregate the Package (either the Standard Version or Modified Version) with other packages and Distribute the resulting aggregation provided that you do not charge a licensing fee for the Package. Distributor Fees are permitted, and licensing fees for other components in the aggregation are permitted. The terms of this license apply to the use and Distribution of the Standard or Modified Versions as included in the aggregation.
+
+(8) You are permitted to link Modified and Standard Versions with other works, to embed the Package in a larger work of your own, or to build stand-alone binary or bytecode versions of applications that include the Package, and Distribute the result without restriction, provided the result does not expose a direct interface to the Package.
+
+Items That are Not Considered Part of a Modified Version
+
+(9) Works (including, but not limited to, modules and scripts) that merely extend or make use of the Package, do not, by themselves, cause the Package to be a Modified Version. In addition, such works are not considered parts of the Package itself, and are not subject to the terms of this license.
+
+General Provisions
+
+(10) Any use, modification, and distribution of the Standard or Modified Versions is governed by this Artistic License. By using, modifying or distributing the Package, you accept this license. Do not use, modify, or distribute the Package, if you do not accept this license.
+
+(11) If your Modified Version has been derived from a Modified Version made by someone other than you, you are nevertheless required to ensure that your Modified Version complies with the requirements of this license.
+
+(12) This license does not grant you the right to use any trademark, service mark, tradename, or logo of the Copyright Holder.
+
+(13) This license includes the non-exclusive, worldwide, free-of-charge patent license to make, have made, use, offer to sell, sell, import and otherwise transfer the Package with respect to any patent claims licensable by the Copyright Holder that are necessarily infringed by the Package. If you institute patent litigation (including a cross-claim or counterclaim) against any party alleging that the Package constitutes direct or contributory patent infringement, then this Artistic License to you shall terminate on the date that such litigation is filed.
+
+(14) Disclaimer of Warranty:
+THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/BSD 2-clause License b/options/license/BSD 2-clause License
deleted file mode 100644
index 44f67c1..0000000
--- a/options/license/BSD 2-clause License
+++ /dev/null
@@ -1,8 +0,0 @@
-Copyright (c) All rights reserved.
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/options/license/BSD 4-clause License b/options/license/BSD 4-clause License
deleted file mode 100644
index fc206e3..0000000
--- a/options/license/BSD 4-clause License
+++ /dev/null
@@ -1,13 +0,0 @@
-Copyright (c) . All rights reserved.
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-3. All advertising materials mentioning features or use of this software must display the following acknowledgement:
-This product includes software developed by the the organization .
-
-4. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY COPYRIGHT HOLDER "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/options/license/BSD-2-Clause b/options/license/BSD-2-Clause
new file mode 100644
index 0000000..e9ab04d
--- /dev/null
+++ b/options/license/BSD-2-Clause
@@ -0,0 +1,9 @@
+Copyright (c) < ;match=.+>> All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY <> "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/BSD-2-Clause-FreeBSD b/options/license/BSD-2-Clause-FreeBSD
new file mode 100644
index 0000000..4774804
--- /dev/null
+++ b/options/license/BSD-2-Clause-FreeBSD
@@ -0,0 +1,13 @@
+The FreeBSD Copyright
+
+Copyright 1992-2012 The FreeBSD Project. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE FREEBSD PROJECT ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project.
diff --git a/options/license/BSD-2-Clause-NetBSD b/options/license/BSD-2-Clause-NetBSD
new file mode 100644
index 0000000..8e13f78
--- /dev/null
+++ b/options/license/BSD-2-Clause-NetBSD
@@ -0,0 +1,11 @@
+Copyright (c) 2008 The NetBSD Foundation, Inc. All rights reserved.
+
+This code is derived from software contributed to The NetBSD Foundation by <>
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY <> ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/BSD-3-Clause b/options/license/BSD-3-Clause
new file mode 100644
index 0000000..7b87a53
--- /dev/null
+++ b/options/license/BSD-3-Clause
@@ -0,0 +1,11 @@
+Copyright (c) < ;match=.+>>. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. Neither the name of <> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY <> "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/BSD 3-clause License b/options/license/BSD-3-Clause-Attribution
similarity index 50%
rename from options/license/BSD 3-clause License
rename to options/license/BSD-3-Clause-Attribution
index 206be5d..57e3af9 100644
--- a/options/license/BSD 3-clause License
+++ b/options/license/BSD-3-Clause-Attribution
@@ -1,10 +1,11 @@
-Copyright (c) . All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ 4. Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the <>
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/BSD-3-Clause-Clear b/options/license/BSD-3-Clause-Clear
new file mode 100644
index 0000000..afa9cbd
--- /dev/null
+++ b/options/license/BSD-3-Clause-Clear
@@ -0,0 +1,14 @@
+The Clear BSD License
+
+Copyright (c) <>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted (subject to the limitations in the disclaimer below) provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ * Neither the name of <> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY <> "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/options/license/BSD-3-Clause-LBNL b/options/license/BSD-3-Clause-LBNL
new file mode 100644
index 0000000..ab94601
--- /dev/null
+++ b/options/license/BSD-3-Clause-LBNL
@@ -0,0 +1,12 @@
+Copyright (c) 2003, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy). All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+(1) Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+(2) Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+(3) Neither the name of the University of California, Lawrence Berkeley National Laboratory, U.S. Dept. of Energy nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+You are under no obligation whatsoever to provide any bug fixes, patches, or upgrades to the features, functionality or performance of the source code ("Enhancements") to anyone; however, if you choose to make your Enhancements available either publicly, or directly to Lawrence Berkeley National Laboratory, without imposing a separate written license agreement for such Enhancements, then you hereby grant the following license: a non-exclusive, royalty-free perpetual license to install, use, modify, prepare derivative works, incorporate into other computer software, distribute, and sublicense such Enhancements or derivative works thereof, in binary and source code form.
diff --git a/options/license/BSD-3-Clause-No-Nuclear-License b/options/license/BSD-3-Clause-No-Nuclear-License
new file mode 100644
index 0000000..8d99a2f
--- /dev/null
+++ b/options/license/BSD-3-Clause-No-Nuclear-License
@@ -0,0 +1,14 @@
+
+Copyright 1994-2009 Sun Microsystems, Inc. All Rights Reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistribution of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ * Redistribution in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ * Neither the name of Sun Microsystems, Inc. or the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+This software is provided "AS IS," without a warranty of any kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+You acknowledge that this software is not designed, licensed or intended for use in the design, construction, operation or maintenance of any nuclear facility.
diff --git a/options/license/BSD-3-Clause-No-Nuclear-License-2014 b/options/license/BSD-3-Clause-No-Nuclear-License-2014
new file mode 100644
index 0000000..e861a4c
--- /dev/null
+++ b/options/license/BSD-3-Clause-No-Nuclear-License-2014
@@ -0,0 +1,16 @@
+
+Copyright © 2008, 2014 Oracle and/or its affiliates. All rights reserved.
+
+Use is subject to license terms.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ * Neither the name of Oracle Corporation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+You acknowledge that this software is not designed, licensed or intended for use in the design, construction, operation or maintenance of any nuclear facility.
diff --git a/options/license/BSD-3-Clause-No-Nuclear-Warranty b/options/license/BSD-3-Clause-No-Nuclear-Warranty
new file mode 100644
index 0000000..2c00ee1
--- /dev/null
+++ b/options/license/BSD-3-Clause-No-Nuclear-Warranty
@@ -0,0 +1,14 @@
+
+Copyright (c) 2003-2005 Sun Microsystems, Inc. All Rights Reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ - Redistribution of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ - Redistribution in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ - Neither the name of Sun Microsystems, Inc. or the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+This software is provided "AS IS," without a warranty of any kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+You acknowledge that this software is not designed or intended for use in the design, construction, operation or maintenance of any nuclear facility.
diff --git a/options/license/BSD-4-Clause b/options/license/BSD-4-Clause
new file mode 100644
index 0000000..5b124b6
--- /dev/null
+++ b/options/license/BSD-4-Clause
@@ -0,0 +1,14 @@
+Copyright (c) < ;match=.+>>. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. All advertising materials mentioning features or use of this software must display the following acknowledgement:
+This product includes software developed by the <>.
+
+4. Neither the name of <> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY <> "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/BSD-4-Clause-UC b/options/license/BSD-4-Clause-UC
new file mode 100644
index 0000000..5349032
--- /dev/null
+++ b/options/license/BSD-4-Clause-UC
@@ -0,0 +1 @@
+BSD-4-Clause (University of California-Specific)
Copyright [various years] The Regents of the University of California. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the University of California, Berkeley and its contributors.
4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/BSD-Protection b/options/license/BSD-Protection
new file mode 100644
index 0000000..9dce867
--- /dev/null
+++ b/options/license/BSD-Protection
@@ -0,0 +1,53 @@
+BSD Protection License
+February 2002
+
+Preamble
+--------
+
+The Berkeley Software Distribution ("BSD") license has proven very effective over the years at allowing for a wide spread of work throughout both commercial and non-commercial products. For programmers whose primary intention is to improve the general quality of available software, it is arguable that there is no better license than the BSD license, as it permits improvements to be used wherever they will help, without idealogical or metallic constraint.
+
+This is of particular value to those who produce reference implementations of proposed standards: The case of TCP/IP clearly illustrates that freely and universally available implementations leads the rapid acceptance of standards -- often even being used instead of a de jure standard (eg, OSI network models).
+
+With the rapid proliferation of software licensed under the GNU General Public License, however, the continued success of this role is called into question. Given that the inclusion of a few lines of "GPL-tainted" work into a larger body of work will result in restricted distribution -- and given that further work will likely build upon the "tainted" portions, making them difficult to remove at a future date -- there are inevitable circumstances where authors would, in order to protect their goal of providing for the widespread usage of their work, wish to guard against such "GPL-taint".
+
+In addition, one can imagine that companies which operate by producing and selling (possibly closed-source) code would wish to protect themselves against the rise of a GPL-licensed competitor. While under existing licenses this would mean not releasing their code under any form of open license, if a license existed under which they could incorporate any improvements back into their own (commercial) products then they might be far more willing to provide for non-closed distribution.
+
+For the above reasons, we put forth this "BSD Protection License": A license designed to retain the freedom granted by the BSD license to use licensed works in a wide variety of settings, both non-commercial and commercial, while protecting the work from having future contributors restrict that freedom.
+
+The precise terms and conditions for copying, distribution, and modification follow.
+
+BSD PROTECTION LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION, AND MODIFICATION
+----------------------------------------------------------------
+
+0. Definitions.
+
+ a) "Program", below, refers to any program or work distributed under the terms of this license.
+ b) A "work based on the Program", below, refers to either the Program or any derivative work under copyright law.
+ c) "Modification", below, refers to the act of creating derivative works.
+ d) "You", below, refers to each licensee.
+
+1. Scope.
+This license governs the copying, distribution, and modification of the Program. Other activities are outside the scope of this license; The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program.
+
+2. Verbatim copies.
+You may copy and distribute verbatim copies of the Program as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
+
+3. Modification and redistribution under closed license.
+You may modify your copy or copies of the Program, and distribute the resulting derivative works, provided that you meet the following conditions:
+
+ a) The copyright notice and disclaimer on the Program must be reproduced and included in the source code, documentation, and/or other materials provided in a manner in which such notices are normally distributed.
+ b) The derivative work must be clearly identified as such, in order that it may not be confused with the original work.
+ c) The license under which the derivative work is distributed must expressly prohibit the distribution of further derivative works.
+
+4. Modification and redistribution under open license.
+You may modify your copy or copies of the Program, and distribute the resulting derivative works, provided that you meet the following conditions:
+
+ a) The copyright notice and disclaimer on the Program must be reproduced and included in the source code, documentation, and/or other materials provided in a manner in which such notices are normally distributed.
+ b) You must clearly indicate the nature and date of any changes made to the Program. The full details need not necessarily be included in the individual modified files, provided that each modified file is clearly marked as such and instructions are included on where the full details of the modifications may be found.
+ c) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
+
+5. Implied acceptance.
+You may not copy or distribute the Program or any derivative works except as expressly provided under this license. Consequently, any such action will be taken as implied acceptance of the terms of this license.
+
+6. NO WARRANTY.
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT, EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
\ No newline at end of file
diff --git a/options/license/BSD-Source-Code b/options/license/BSD-Source-Code
new file mode 100644
index 0000000..72e64c3
--- /dev/null
+++ b/options/license/BSD-Source-Code
@@ -0,0 +1,10 @@
+Copyright (c) <>
+All rights reserved.
+
+Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ * Neither the name of <>nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Deusty, LLC.
+
+THIS SOFTWARE IS PROVIDED BY <> "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/options/license/BSL-1.0 b/options/license/BSL-1.0
new file mode 100644
index 0000000..c2dc836
--- /dev/null
+++ b/options/license/BSL-1.0
@@ -0,0 +1,7 @@
+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.
\ No newline at end of file
diff --git a/options/license/Bahyph b/options/license/Bahyph
new file mode 100644
index 0000000..110fbaf
--- /dev/null
+++ b/options/license/Bahyph
@@ -0,0 +1,11 @@
+COPYRIGHT NOTICE
+
+These patterns and the generating sh script are Copyright (c) GMV 1991
+
+These patterns were developed for internal GMV use and are made public in the hope that they will benefit others. Also, spreading these patterns throughout the Spanish-language TeX community is expected to provide back-benefits to GMV in that it can help keeping GMV in the mainstream of spanish users.
+
+However, this is given for free and WITHOUT ANY WARRANTY. Under no circumstances can Julio Sanchez, GMV, Jos'e A. Ma~nas or any agents or representatives thereof be held responsible for any errors in this software nor for any damages derived from its use, even in case any of the above has been notified of the possibility of such damages. If any such situation arises, you responsible for repair. Use of this software is an explicit acceptance of these conditions.
+
+You can use this software for any purpose. You cannot delete this copyright notice. If you change this software, you must include comments explaining who, when and why. You are kindly requested to send any changes to tex@gmv.es. If you change the generating script, you must include code in it such that any output is clearly labeled as generated by a modified script. Despite the lack of warranty, we would like to hear about any problem you find. Please report problems to tex@gmv.es.
+
+END OF COPYRIGHT NOTICE
\ No newline at end of file
diff --git a/options/license/Barr b/options/license/Barr
new file mode 100644
index 0000000..8b341c9
--- /dev/null
+++ b/options/license/Barr
@@ -0,0 +1 @@
+This is a package of commutative diagram macros built on top of Xy-pic by Michael Barr (email: barr@barrs.org). Its use is unrestricted. It may be freely distributed, unchanged, for non-commercial or commercial use. If changed, it must be renamed. Inclusion in a commercial software package is also permitted, but I would appreciate receiving a free copy for my personal examination and use. There are no guarantees that this package is good for anything. I have tested it with LaTeX 2e, LaTeX 2.09 and Plain TeX. Although I know of no reason it will not work with AMSTeX, I have not tested it.
\ No newline at end of file
diff --git a/options/license/Beerware b/options/license/Beerware
new file mode 100644
index 0000000..1e6f52c
--- /dev/null
+++ b/options/license/Beerware
@@ -0,0 +1 @@
+"THE BEER-WARE LICENSE" (Revision 42): wrote this file. As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return Poul-Henning Kamp
\ No newline at end of file
diff --git a/options/license/BitTorrent-1.0 b/options/license/BitTorrent-1.0
new file mode 100644
index 0000000..01b2168
--- /dev/null
+++ b/options/license/BitTorrent-1.0
@@ -0,0 +1,140 @@
+BitTorrent Open Source License
+Version 1.0
+
+This BitTorrent Open Source License (the "License") applies to the BitTorrent client and related software products as well as any updates or maintenance releases of that software ("BitTorrent Products") that are distributed by BitTorrent, Inc. ("Licensor"). Any BitTorrent Product licensed pursuant to this License is a Licensed Product. Licensed Product, in its entirety, is protected by U.S. copyright law. This License identifies the terms under which you may use, copy, distribute or modify Licensed Product.
+
+Preamble
+
+This Preamble is intended to describe, in plain English, the nature and scope of this License. However, this Preamble is not a part of this license. The legal effect of this License is dependent only upon the terms of the License and not this Preamble.
+
+This License complies with the Open Source Definition and is derived from the Jabber Open Source License 1.0 (the "JOSL"), which has been approved by Open Source Initiative. Sections 4(c) and 4(f)(iii) from the JOSL have been dropped.
+
+This License provides that:
+
+1. You may use, sell or give away the Licensed Product, alone or as a component of an aggregate software distribution containing programs from several different sources. No royalty or other fee is required.
+
+2. Both Source Code and executable versions of the Licensed Product, including Modifications made by previous Contributors, are available for your use. (The terms "Licensed Product," "Modifications," "Contributors" and "Source Code" are defined in the License.)
+
+3. You are allowed to make Modifications to the Licensed Product, and you can create Derivative Works from it. (The term "Derivative Works" is defined in the License.)
+
+4. By accepting the Licensed Product under the provisions of this License, you agree that any Modifications you make to the Licensed Product and then distribute are governed by the provisions of this License. In particular, you must make the Source Code of your Modifications available to others.
+
+5. You may use the Licensed Product for any purpose, but the Licensor is not providing you any warranty whatsoever, nor is the Licensor accepting any liability in the event that the Licensed Product doesn't work properly or causes you any injury or damages.
+
+6. If you sublicense the Licensed Product or Derivative Works, you may charge fees for warranty or support, or for accepting indemnity or liability obligations to your customers. You cannot charge for the Source Code.
+
+7. If you assert any patent claims against the Licensor relating to the Licensed Product, or if you breach any terms of the License, your rights to the Licensed Product under this License automatically terminate.
+
+You may use this License to distribute your own Derivative Works, in which case the provisions of this License will apply to your Derivative Works just as they do to the original Licensed Product.
+
+Alternatively, you may distribute your Derivative Works under any other OSI-approved Open Source license, or under a proprietary license of your choice. If you use any license other than this License, however, you must continue to fulfill the requirements of this License (including the provisions relating to publishing the Source Code) for those portions of your Derivative Works that consist of the Licensed Product, including the files containing Modifications.
+
+New versions of this License may be published from time to time. You may choose to continue to use the license terms in this version of the License or those from the new version. However, only the Licensor has the right to change the License terms as they apply to the Licensed Product.
+
+This License relies on precise definitions for certain terms. Those terms are defined when they are first used, and the definitions are repeated for your convenience in a Glossary at the end of the License.
+
+License Terms
+
+1. Grant of License From Licensor. Licensor hereby grants you a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims, to do the following:
+
+ a. Use, reproduce, modify, display, perform, sublicense and distribute any Modifications created by such Contributor or portions thereof, in both Source Code or as an executable program, either on an unmodified basis or as part of Derivative Works.
+ b. Under claims of patents now or hereafter owned or controlled by Contributor, to make, use, sell, offer for sale, have made, and/or otherwise dispose of Modifications or portions thereof, but solely to the extent that any such claim is necessary to enable you to make, use, sell, offer for sale, have made, and/or otherwise dispose of Modifications or portions thereof or Derivative Works thereof.
+
+2. Grant of License to Modifications From Contributor. "Modifications" means any additions to or deletions from the substance or structure of (i) a file containing Licensed Product, or (ii) any new file that contains any part of Licensed Product. Hereinafter in this License, the term "Licensed Product" shall include all previous Modifications that you receive from any Contributor. By application of the provisions in Section 4(a) below, each person or entity who created or contributed to the creation of, and distributed, a Modification (a "Contributor") hereby grants you a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims, to do the following:
+
+ 1. Use, reproduce, modify, display, perform, sublicense and distribute any Modifications created by such Contributor or portions thereof, in both Source Code or as an executable program, either on an unmodified basis or as part of Derivative Works.
+ 2. Under claims of patents now or hereafter owned or controlled by Contributor, to make, use, sell, offer for sale, have made, and/or otherwise dispose of Modifications or portions thereof, but solely to the extent that any such claim is necessary to enable you to make, use, sell, offer for sale, have made, and/or otherwise dispose of Modifications or portions thereof or Derivative Works thereof.
+
+3. Exclusions From License Grant. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor or any Contributor except as expressly stated herein. No patent license is granted separate from the Licensed Product, for code that you delete from the Licensed Product, or for combinations of the Licensed Product with other software or hardware. No right is granted to the trademarks of Licensor or any Contributor even if such marks are included in the Licensed Product. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any code that Licensor otherwise would have a right to license.
+
+4. Your Obligations Regarding Distribution.
+
+ a. Application of This License to Your Modifications. As an express condition for your use of the Licensed Product, you hereby agree that any Modifications that you create or to which you contribute, and which you distribute, are governed by the terms of this License including, without limitation, Section 2. Any Modifications that you create or to which you contribute may be distributed only under the terms of this License or a future version of this License released under Section 7. You must include a copy of this License with every copy of the Modifications you distribute. You agree not to offer or impose any terms on any Source Code or executable version of the Licensed Product or Modifications that alter or restrict the applicable version of this License or the recipients' rights hereunder. However, you may include an additional document offering the additional rights described in Section 4(d).
+
+ b. Availability of Source Code. You must make available, under the terms of this License, the Source Code of the Licensed Product and any Modifications that you distribute, either on the same media as you distribute any executable or other form of the Licensed Product, or via a mechanism generally accepted in the software development community for the electronic transfer of data (an "Electronic Distribution Mechanism"). The Source Code for any version of Licensed Product or Modifications that you distribute must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of said Licensed Product or Modifications has been made available. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+ c. Intellectual Property Matters.
+
+ i. Third Party Claims. If you have knowledge that a license to a third party's intellectual property right is required to exercise the rights granted by this License, you must include a text file with the Source Code distribution titled "LEGAL" that describes the claim and the party making the claim in
+sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after you make any Modifications available as described in Section 4(b), you shall promptly modify the LEGAL file in all copies you make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Licensed Product from you that new knowledge has been obtained.
+ ii. Contributor APIs. If your Modifications include an application programming interface ("API") and you have knowledge of patent licenses that are reasonably necessary to implement that API, you must also include this information in the LEGAL file.
+ iii. Representations. You represent that, except as disclosed pursuant to 4(c)(i) above, you believe that any Modifications you distribute are your original creations and that you have sufficient rights to grant the rights conveyed by this License.
+
+ d. Required Notices. You must duplicate this License in any documentation you provide along with the Source Code of any Modifications you create or to which you contribute, and which you distribute, wherever you describe recipients' rights relating to Licensed Product. You must duplicate the notice contained in Exhibit A (the "Notice") in each file of the Source Code of any copy you distribute of the Licensed Product. If you created a Modification, you may add your name as a Contributor to the Notice. If it is not possible to put the Notice in a particular Source Code file due to its structure, then you must include such Notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Licensed Product. However, you may do so only on your own behalf, and not on behalf of the Licensor or any Contributor. You must make it clear that any such warranty, support, indemnity or liability obligation is offered by you alone, and you hereby agree to indemnify the Licensor and every Contributor for any liability incurred by the Licensor or such Contributor as a result of warranty, support, indemnity or liability terms you offer.
+
+ e. Distribution of Executable Versions. You may distribute Licensed Product as an executable program under a license of your choice that may contain terms different from this License provided (i) you have satisfied the requirements of Sections 4(a) through 4(d) for that distribution, (ii) you include a conspicuous notice in the
+executable version, related documentation and collateral materials stating that the Source Code version of the Licensed Product is available under the terms of this License, including a description of how and where you have fulfilled the obligations of Section 4(b), and (iii) you make it clear that any terms that differ from this License are offered by you alone, not by Licensor or any Contributor. You hereby agree to indemnify the Licensor and every Contributor for any liability incurred by Licensor or such Contributor as a result of any terms you offer.
+
+ f. Distribution of Derivative Works. You may create Derivative Works (e.g., combinations of some or all of the Licensed Product with other code) and distribute the Derivative Works as products under any other license you select, with the proviso that the requirements of this License are fulfilled for those portions of the Derivative Works that consist of the Licensed Product or any Modifications thereto.
+
+5. 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 Licensed Product due to statute, judicial order, or regulation, then you must (i) comply with the terms of this License to the maximum extent possible, (ii) cite the statute or regulation that prohibits you from adhering to the License, and (iii) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 4(d), and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill at computer programming to be able to understand it.
+
+6. Application of This License. This License applies to code to which Licensor or Contributor has attached the Notice in Exhibit A, which is incorporated herein by this reference.
+
+7. Versions of This License.
+
+ a. New Versions. Licensor may publish from time to time revised and/or new versions of the License.
+
+ b. Effect of New Versions. Once Licensed Product has been published under a particular version of the License, you may always continue to use it under the terms of that version. You may also choose to use such Licensed Product under the terms of any subsequent version of the License published by Licensor. No one other than Licensor has the right to modify the terms applicable to Licensed Product created under this License.
+
+ c. Derivative Works of this License. If you create or use a modified version of this License, which you may do only in order to apply it to software that is not already a Licensed Product under this License, you must rename your license so that it is not confusingly similar to this License, and must make it clear that your license contains terms that differ from this License. In so naming your license, you may not use any trademark of Licensor or any Contributor.
+
+8. Disclaimer of Warranty. LICENSED PRODUCT IS PROVIDED UNDER THIS LICENSE ON AN AS IS BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE LICENSED PRODUCT IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LICENSED PRODUCT IS WITH YOU. SHOULD LICENSED PRODUCT PROVE DEFECTIVE IN ANY RESPECT, YOU (AND NOT THE LICENSOR OR ANY OTHER 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 LICENSED PRODUCT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+9. Termination.
+
+ a. Automatic Termination Upon Breach. This license and the rights granted hereunder will terminate automatically if you fail to comply with the terms herein and fail to cure such breach within thirty (30) days of becoming aware of the breach. All sublicenses to the Licensed Product that are properly granted shall survive any termination of this license. Provisions that, by their nature, must remain in effect beyond the termination of this License, shall survive.
+
+ b. Termination Upon Assertion of Patent Infringement. If you initiate litigation by asserting a patent infringement claim (excluding declaratory judgment actions) against Licensor or a Contributor (Licensor or Contributor against whom you file such an action is referred to herein as Respondent) alleging that Licensed Product directly or indirectly infringes any patent, then any and all rights granted by such Respondent to you under Sections 1 or 2 of this License shall terminate prospectively upon sixty (60) days notice from Respondent (the "Notice Period") unless within that Notice Period you either agree in writing (i) to pay Respondent a mutually agreeable reasonably royalty for your past or future use of Licensed Product made by such Respondent, or (ii) withdraw your litigation claim with respect to Licensed Product against such Respondent. If within said Notice Period a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Licensor to you under Sections 1 and 2 automatically terminate at the expiration of said Notice Period.
+
+ c. Reasonable Value of This License. If you assert a patent infringement claim against Respondent alleging that Licensed Product directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses
+granted by said Respondent under Sections 1 and 2 shall be taken into account in determining the amount or value of any payment or license.
+
+ d. No Retroactive Effect of Termination. In the event of termination under Sections 9(a) or 9(b) above, all end user license agreements (excluding licenses to distributors and resellers) that have been validly granted by you or any distributor hereunder prior to termination shall survive termination.
+
+10. Limitation of Liability. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE LICENSOR, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF LICENSED PRODUCT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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 PARTYS 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.
+
+11. Responsibility for Claims. As between Licensor and Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License. You agree to work with Licensor and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or
+shall be deemed to constitute any admission of liability.
+
+12. U.S. Government End Users. The Licensed Product is a commercial item, as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of commercial computer software and commercial computer software documentation, as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through
+227.7202-4 (June 1995), all U.S. Government End Users acquire Licensed Product with only those rights set forth herein.
+
+13. 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. This License shall be governed by California law provisions (except to the extent applicable
+law, if any, provides otherwise), excluding its conflict-of-law provisions. You expressly agree that any litigation relating to this license shall be subject to the jurisdiction of the Federal Courts of the Northern District of California or the Superior Court of the County of Santa Clara, California (as appropriate), with venue lying in Santa Clara County, California, with the losing party responsible for costs including, without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. You and Licensor expressly waive any rights to a jury trial in any litigation concerning Licensed Product or this License. Any law or regulation that provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+14. Definition of You in This License. You throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 7. 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 (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.
+
+15. Glossary. All defined terms in this License that are used in more than one Section of this License are repeated here, in alphabetical order, for the convenience of the reader. The Section of this License in which each defined term is first used is shown in parentheses.
+
+Contributor: Each person or entity who created or contributed to the creation of, and distributed, a Modification. (See Section 2)
+
+Derivative Works: That term as used in this License is defined under U.S. copyright law. (See Section 1(b))
+
+License: This BitTorrent Open Source License. (See first paragraph of License)
+
+Licensed Product: Any BitTorrent Product licensed pursuant to this License. The term "Licensed Product" includes all previous Modifications from any Contributor that you receive. (See first paragraph of License and Section 2)
+
+Licensor: BitTorrent, Inc. (See first paragraph of License)
+
+Modifications: Any additions to or deletions from the substance or structure of (i) a file containing Licensed Product, or (ii) any new file that contains any part of Licensed Product. (See Section 2)
+
+Notice: The notice contained in Exhibit A. (See Section 4(e))
+
+Source Code: The preferred form for making modifications to the Licensed Product, including all modules contained therein, plus any associated interface definition files, scripts used to control compilation and installation of an executable program, or a list of differential comparisons against the Source Code of the Licensed Product. (See
+Section 1(a))
+
+You: This term is defined in Section 14 of this License.
+
+EXHIBIT A
+
+The Notice below must appear in each file of the Source Code of any copy you distribute of the Licensed Product or any hereto. Contributors to any Modifications may add their own copyright notices to identify their own contributions.
+
+License:
+
+The contents of this file are subject to the BitTorrent Open Source License Version 1.0 (the License). You may not copy or use this file, in either source code or executable form, except in compliance with the License. You may obtain a copy of the License at http://www.bittorrent.com/license/.
+
+Software distributed under the License is distributed on an AS IS basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
\ No newline at end of file
diff --git a/options/license/BitTorrent-1.1 b/options/license/BitTorrent-1.1
new file mode 100644
index 0000000..76e2ef2
--- /dev/null
+++ b/options/license/BitTorrent-1.1
@@ -0,0 +1,137 @@
+BitTorrent Open Source License
+Version 1.1
+
+This BitTorrent Open Source License (the "License") applies to the BitTorrent client and related software products as well as any updates or maintenance releases of that software ("BitTorrent Products") that are distributed by BitTorrent, Inc. ("Licensor"). Any BitTorrent Product licensed pursuant to this License is a Licensed Product. Licensed Product, in its entirety, is protected by U.S. copyright law. This License identifies the terms under which you may use, copy, distribute or modify Licensed Product.
+
+Preamble
+
+This Preamble is intended to describe, in plain English, the nature and scope of this License. However, this Preamble is not a part of this license. The legal effect of this License is dependent only upon the terms of the License and not this Preamble.
+
+This License complies with the Open Source Definition and is derived from the Jabber Open Source License 1.0 (the "JOSL"), which has been approved by Open Source Initiative. Sections 4(c) and 4(f)(iii) from the JOSL have been deleted.
+
+This License provides that:
+
+1. You may use or give away the Licensed Product, alone or as a component of an aggregate software distribution containing programs from several different sources. No royalty or other fee is required.
+
+2. Both Source Code and executable versions of the Licensed Product, including Modifications made by previous Contributors, are available for your use. (The terms "Licensed Product," "Modifications," "Contributors" and "Source Code" are defined in the License.)
+
+3. You are allowed to make Modifications to the Licensed Product, and you can create Derivative Works from it. (The term "Derivative Works" is defined in the License.)
+
+4. By accepting the Licensed Product under the provisions of this License, you agree that any Modifications you make to the Licensed Product and then distribute are governed by the provisions of this License. In particular, you must make the Source Code of your Modifications available to others free of charge and without a royalty.
+
+5. You may sell, accept donations or otherwise receive compensation for executable versions of a Licensed Product, without paying a royalty or other fee to the Licensor or any Contributor, provided that such executable versions contain your or another Contributor's material Modifications. For the avoidance of doubt, to the extent your executable version of a Licensed Product does not contain your or another Contributor's material Modifications, you may not sell, accept donations or otherwise receive compensation for such executable.
+
+You may use the Licensed Product for any purpose, but the Licensor is not providing you any warranty whatsoever, nor is the Licensor accepting any liability in the event that the Licensed Product doesn't work properly or causes you any injury or damages.
+
+6. If you sublicense the Licensed Product or Derivative Works, you may charge fees for warranty or support, or for accepting indemnity or liability obligations to your customers. You cannot charge for, sell, accept donations or otherwise receive compensation for the Source Code.
+
+7. If you assert any patent claims against the Licensor relating to the Licensed Product, or if you breach any terms of the License, your rights to the Licensed Product under this License automatically terminate.
+You may use this License to distribute your own Derivative Works, in which case the provisions of this License will apply to your Derivative Works just as they do to the original Licensed Product.
+
+Alternatively, you may distribute your Derivative Works under any other OSI-approved Open Source license, or under a proprietary license of your choice. If you use any license other than this License, however, you must continue to fulfill the requirements of this License (including the provisions relating to publishing the Source Code) for those portions of your Derivative Works that consist of the Licensed Product, including the files containing
+Modifications.
+
+New versions of this License may be published from time to time in connection with new versions of a Licensed Product or otherwise. You may choose to continue to use the license terms in this version of the License for the Licensed Product that was originally licensed hereunder, however, the new versions of this License will at all times apply to new versions of the Licensed Product released by Licensor after the release of the new version of this License. Only the Licensor has the right to change the License terms as they apply to the Licensed Product.
+
+This License relies on precise definitions for certain terms. Those terms are defined when they are first used, and the definitions are repeated for your convenience in a Glossary at the end of the License.
+
+License Terms
+
+1. Grant of License From Licensor. Subject to the terms and conditions of this License, Licensor hereby grants you a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims, to do the following:
+
+ a. Use, reproduce, modify, display, perform, sublicense and distribute any Modifications created by a Contributor or portions thereof, in both Source Code or as an executable program, either on an unmodified basis or as part of Derivative Works.
+ b. Under claims of patents now or hereafter owned or controlled by Contributor, to make, use, sell, offer for sale, have made, and/or otherwise dispose of Modifications or portions thereof, but solely to the extent that any such claim is necessary to enable you to make, use, sell, offer for sale, have made, and/or otherwise dispose of Modifications or portions thereof or Derivative Works thereof.
+
+2. Grant of License to Modifications From Contributor. "Modifications" means any additions to or deletions from the substance or structure of (i) a file containing a Licensed Product, or (ii) any new file that contains any part of a Licensed Product. Hereinafter in this License, the term "Licensed Product" shall include all previous Modifications that you receive from any Contributor. Subject to the terms and conditions of this License, By application of the provisions in Section 4(a) below, each person or entity who created or contributed to the creation of, and distributed, a Modification (a "Contributor") hereby grants you a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims, to do the following:
+
+ a. Use, reproduce, modify, display, perform, sublicense and distribute any Modifications created by such Contributor or portions thereof, in both Source Code or as an executable program, either on an unmodified basis or as part of Derivative Works.
+
+ b. Under claims of patents now or hereafter owned or controlled by Contributor, to make, use, sell, offer for sale, have made, and/or otherwise dispose of Modifications or portions thereof, but solely to the extent that any such claim is necessary to enable you to make, use, sell, offer for sale, have made, and/or otherwise dispose of Modifications or portions thereof or Derivative Works thereof.
+
+3. Exclusions From License Grant. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor or any Contributor except as expressly stated herein. No patent license is granted separate from the Licensed Product, for code that you delete from the Licensed Product, or for combinations of the Licensed Product with other software or hardware. No right is granted to the trademarks of Licensor or any Contributor even if such marks are included in the Licensed Product. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any code that Licensor otherwise would have a right to license. As an express condition for your use of the Licensed Product, you hereby agree that you will not, without the prior written consent of Licensor, use any trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor or any Contributor except as expressly stated herein. For the avoidance of doubt and without limiting the foregoing, you hereby agree that you will not use or display any trademark of Licensor or any Contributor in any domain name, directory filepath, advertisement, link or other reference to you in any manner or in any media.
+
+4. Your Obligations Regarding Distribution.
+
+ a. Application of This License to Your Modifications. As an express condition for your use of the Licensed Product, you hereby agree that any Modifications that you create or to which you contribute, and which you distribute, are governed by the terms of this License including, without limitation, Section 2. Any Modifications that you create or to which you contribute may be distributed only under the terms of this License or a future version of this License released under Section 7. You must include a copy of this License with every copy of the Modifications you distribute. You agree not to offer or impose any terms on any Source Code or executable version of the Licensed Product or Modifications that alter or restrict the applicable version of this License or the recipients' rights hereunder. However, you may include an additional document offering the additional rights described in Section 4(d).
+
+ b. Availability of Source Code. You must make available, without charge, under the terms of this License, the Source Code of the Licensed Product and any Modifications that you distribute, either on the same media as you distribute any executable or other form of the Licensed Product, or via a mechanism generally accepted in the software development community for the electronic transfer of data (an "Electronic Distribution Mechanism"). The Source Code for any version of Licensed Product or Modifications that you distribute must remain available for as long as any executable or other form of the Licensed Product is distributed by you. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+ c. Intellectual Property Matters.
+
+ i. Third Party Claims. If you have knowledge that a license to a third party's intellectual property right is required to exercise the rights granted by this License, you must include a text file with the Source Code distribution titled "LEGAL" that describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after you make any Modifications available as described in Section 4(b), you shall promptly modify the LEGAL file in all copies you make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Licensed Product from you that new knowledge has been obtained.
+ ii. Contributor APIs. If your Modifications include an application programming interface ("API") and you have knowledge of patent licenses that are reasonably necessary to implement that API, you must also include this information in the LEGAL file.
+ iii. Representations. You represent that, except as disclosed pursuant to 4(c)(i) above, you believe that any Modifications you distribute are your original creations and that you have sufficient rights to grant the rights conveyed by this License.
+
+ d. Required Notices. You must duplicate this License in any documentation you provide along with the Source Code of any Modifications you create or to which you contribute, and which you distribute, wherever you describe recipients' rights relating to Licensed Product. You must duplicate the notice contained in Exhibit A (the "Notice") in each file of the Source Code of any copy you distribute of the Licensed Product. If you created a Modification, you may add your name as a Contributor to the Notice. If it is not possible to put the Notice in a particular Source Code file due to its structure, then you must include such Notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Licensed Product. However, you may do so only on your own behalf, and not on behalf of the Licensor or any Contributor. You must make it clear that any such warranty, support, indemnity or liability obligation is offered by you alone, and you hereby agree to indemnify the Licensor and every Contributor for any liability incurred by the Licensor or such Contributor as a result of warranty, support, indemnity or liability terms you offer.
+
+ e. Distribution of Executable Versions. You may distribute Licensed Product as an executable program under a license of your choice that may contain terms different from this License provided (i) you have satisfied the requirements of Sections 4(a) through 4(d) for that distribution, (ii) you include a conspicuous notice in the executable version, related documentation and collateral materials stating that the Source Code version of the Licensed Product is available under the terms of this License, including a description of how and where you have fulfilled the obligations of Section 4(b), and (iii) you make it clear that any terms that differ from this License are offered by you alone, not by Licensor or any Contributor. You hereby agree to indemnify the Licensor and every Contributor for any liability incurred by Licensor or such Contributor as a result of any terms you offer.
+
+ f. Distribution of Derivative Works. You may create Derivative Works (e.g., combinations of some or all of the Licensed Product with other code) and distribute the Derivative Works as products under any other license you select, with the proviso that the requirements of this License are fulfilled for those portions of the Derivative Works that consist of the Licensed Product or any Modifications thereto.
+
+ g. Compensation for Distribution of Executable Versions of Licensed Products, Modifications or Derivative Works. Notwithstanding any provision of this License to the contrary, by distributing, selling, licensing, sublicensing or otherwise making available any Licensed Product, or Modification or Derivative Work thereof, you and Licensor hereby acknowledge and agree that you may sell, license or sublicense for a fee, accept donations or otherwise receive compensation for executable versions of a Licensed Product, without paying a royalty or other fee to the Licensor or any other Contributor, provided that such executable versions (i) contain your or another Contributor's material Modifications, or (ii) are otherwise material Derivative Works. For purposes of this License, an executable version of the Licensed Product will be deemed to contain a material Modification, or will otherwise be deemed a material Derivative Work, if (a) the Licensed Product is modified with your own or a third party's software programs or other code, and/or the Licensed Product is combined with a number of your own or a third party's software programs or code, respectively, and (b) such software programs or code add or contribute material value, functionality or features to the License Product. For the avoidance of doubt, to the extent your executable version of a Licensed Product does not contain your or another Contributor's material Modifications or is otherwise not a material Derivative Work, in each case as contemplated herein, you may not sell, license or sublicense for a fee, accept donations or otherwise receive compensation for such executable. Additionally, without limitation of the foregoing and notwithstanding any provision of this License to the contrary, you cannot charge for, sell, license or sublicense for a fee, accept donations or otherwise receive compensation for the Source Code.
+
+5. 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 Licensed Product due to statute, judicial order, or regulation, then you must (i) comply with the terms of this License to the maximum extent possible, (ii) cite the statute or regulation that prohibits you from adhering to the License, and (iii) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 4(d), and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill at computer programming to be able to understand it.
+
+6. Application of This License. This License applies to code to which Licensor or Contributor has attached the Notice in Exhibit A, which is incorporated herein by this reference.
+
+7. Versions of This License.
+
+ a. New Versions. Licensor may publish from time to time revised and/or new versions of the License.
+
+ b. Effect of New Versions. Once Licensed Product has been published under a particular version of the License, you may always continue to use it under the terms of that version, provided that any such license be in full force and effect at the time, and has not been revoked or otherwise terminated. You may also choose to use such Licensed Product under the terms of any subsequent version (but not any prior version) of the License published by Licensor. No one other than Licensor has the right to modify the terms applicable to Licensed Product created under this License.
+
+ c. Derivative Works of this License. If you create or use a modified version of this License, which you may do only in order to apply it to software that is not already a Licensed Product under this License, you must rename your license so that it is not confusingly similar to this License, and must make it clear that your license contains terms that differ from this License. In so naming your license, you may not use any trademark of Licensor or any Contributor.
+
+8. Disclaimer of Warranty. LICENSED PRODUCT IS PROVIDED UNDER THIS LICENSE ON AN AS IS BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE LICENSED PRODUCT IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LICENSED PRODUCT IS WITH YOU. SHOULD LICENSED PRODUCT PROVE DEFECTIVE IN ANY RESPECT, YOU (AND NOT THE LICENSOR OR ANY OTHER 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 LICENSED PRODUCT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+9. Termination.
+
+ a. Automatic Termination Upon Breach. This license and the rights granted hereunder will terminate automatically if you fail to comply with the terms herein and fail to cure such breach within ten (10) days of being notified of the breach by the Licensor. For purposes of this provision, proof of delivery via email to the address listed in the 'WHOIS' database of the registrar for any website through which you distribute or market any Licensed Product, or to any alternate email address which you designate in writing to the Licensor, shall constitute sufficient notification. All sublicenses to the Licensed Product that are properly granted shall survive any termination of this license so long as they continue to complye with the terms of this License. Provisions that, by their nature, must remain in effect beyond the termination of this License, shall survive.
+
+ b. Termination Upon Assertion of Patent Infringement. If you initiate litigation by asserting a patent infringement claim (excluding declaratory judgment actions) against Licensor or a Contributor (Licensor or Contributor against whom you file such an action is referred to herein as Respondent) alleging that Licensed Product directly or indirectly infringes any patent, then any and all rights granted by such Respondent to you under Sections 1 or 2 of this License shall terminate prospectively upon sixty (60) days notice from Respondent (the "Notice Period") unless within that Notice Period you either agree in writing (i) to pay Respondent a mutually agreeable reasonably royalty for your past or future use of Licensed Product made by such Respondent, or (ii) withdraw your litigation claim with respect to Licensed Product against such Respondent. If within said Notice Period a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Licensor to you under Sections 1 and 2 automatically terminate at the expiration of said Notice Period.
+
+ c. Reasonable Value of This License. If you assert a patent infringement claim against Respondent alleging that Licensed Product directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by said Respondent under Sections 1 and 2 shall be taken into account in determining the amount or value of any payment or license.
+
+ d. No Retroactive Effect of Termination. In the event of termination under Sections 9(a) or 9(b) above, all end user license agreements (excluding licenses to distributors and resellers) that have been validly granted by you or any distributor hereunder prior to termination shall survive termination.
+
+10. Limitation of Liability. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE LICENSOR, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF LICENSED PRODUCT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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 PARTYS 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.
+
+11. Responsibility for Claims. As between Licensor and Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License. You agree to work with Licensor and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+12. U.S. Government End Users. The Licensed Product is a commercial item, as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of commercial computer software and commercial computer software documentation, as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Licensed Product with only those rights set forth herein.
+
+13. 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. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. You expressly agree that in any litigation relating to this license the losing party shall be responsible for costs including, without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation that provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+14. Definition of You in This License. You throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 7. For legal entities, you includes any entity that controls, is controlled by, is under common control with, or affiliated with, you. For 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 are responsible for advising any affiliated entity of the terms of this License, and that any rights or privileges derived from or obtained by way of this License are subject to the restrictions outlined herein.
+
+15. Glossary. All defined terms in this License that are used in more than one Section of this License are repeated here, in alphabetical order, for the convenience of the reader. The Section of this License in which each defined term is first used is shown in parentheses.
+
+Contributor: Each person or entity who created or contributed to the creation of, and distributed, a Modification. (See Section 2)
+
+Derivative Works: That term as used in this License is defined under U.S. copyright law. (See Section 1(b))
+
+License: This BitTorrent Open Source License. (See first paragraph of License)
+
+Licensed Product: Any BitTorrent Product licensed pursuant to this License. The term "Licensed Product" includes all previous Modifications from any Contributor that you receive. (See first paragraph of License and Section 2)
+
+Licensor: BitTorrent, Inc. (See first paragraph of License)
+
+Modifications: Any additions to or deletions from the substance or structure of (i) a file containing Licensed
+Product, or (ii) any new file that contains any part of Licensed Product. (See Section 2)
+
+Notice: The notice contained in Exhibit A. (See Section 4(e))
+
+Source Code: The preferred form for making modifications to the Licensed Product, including all modules contained therein, plus any associated interface definition files, scripts used to control compilation and installation of an executable program, or a list of differential comparisons against the Source Code of the Licensed Product. (See Section 1(a))
+
+You: This term is defined in Section 14 of this License.
+
+EXHIBIT A
+
+The Notice below must appear in each file of the Source Code of any copy you distribute of the Licensed Product or any hereto. Contributors to any Modifications may add their own copyright notices to identify their own contributions.
+
+License:
+The contents of this file are subject to the BitTorrent Open Source License Version 1.0 (the License). You may not copy or use this file, in either source code or executable form, except in compliance with the License. You may obtain a copy of the License at http://www.bittorrent.com/license/.
+
+Software distributed under the License is distributed on an AS IS basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+BitTorrent, Inc.
diff --git a/options/license/Borceux b/options/license/Borceux
new file mode 100644
index 0000000..4856e78
--- /dev/null
+++ b/options/license/Borceux
@@ -0,0 +1,19 @@
+Copyright 1993 Francis Borceux
+You may freely use, modify, and/or distribute each of the files in this package without limitation. The package consists of the following files:
+
+README
+compatibility/OldDiagram
+compatibility/OldMaxiDiagram
+compatibility/OldMicroDiagram
+compatibility/OldMiniDiagram
+compatibility/OldMultipleArrows
+diagram/Diagram
+diagram/MaxiDiagram
+diagram/MicroDiagram
+diagram/MiniDiagram
+diagram/MultipleArrows
+user-guides/Diagram_Mode_d_Emploi
+user-guides/Diagram_Read_Me
+
+Of course no support is guaranteed, but the author will attempt to assist with problems. Current email address:
+francis dot borceux at uclouvain dot be.
diff --git a/options/license/CATOSL-1.1 b/options/license/CATOSL-1.1
new file mode 100644
index 0000000..1baf2aa
--- /dev/null
+++ b/options/license/CATOSL-1.1
@@ -0,0 +1,114 @@
+Computer Associates Trusted Open Source License
+Version 1.1
+
+PLEASE READ THIS DOCUMENT CAREFULLY AND IN ITS ENTIRETY. THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMPUTER ASSOCIATES TRUSTED OPEN SOURCE LICENSE ("LICENSE"). ANY USE, REPRODUCTION, MODIFICATION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES THE RECIPIENT'S ACCEPTANCE OF THIS LICENSE.
+
+License Background
+
+Computer Associates International, Inc. (CA) believes in open source. We believe that the open source development approach can take appropriate software programs to unprecedented levels of quality, growth, and innovation. To demonstrate our continuing commitment to open source, we are releasing the Program (as defined below) under this License.
+
+This License is intended to permit contributors and recipients of the Program to use the Program, including its source code, freely and without many of the concerns of some other open source licenses. Although we expect the underlying Program, and Contributions (as defined below) made to such Program, to remain open, this License is designed to permit you to maintain your own software programs free of this License unless you choose to do so. Thus, only your Contributions to the Program must be distributed under the terms of this License.
+
+The provisions that follow set forth the terms and conditions under which you may use the Program.
+
+1. DEFINITIONS
+
+1.1 Contribution means (a) in the case of CA, the Original Program; and (b) in the case of each Contributor (including CA), changes and additions to the Program, where such changes and/or additions to the Program originate from and are distributed by that particular Contributor to unaffiliated third parties. A Contribution originates from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributors behalf. Contributions do not include additions to the Program which: (x) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (y) are not derivative works of the Program.
+
+1.2 Contributor means CA and any other person or entity that distributes the Program.
+
+1.3 Contributor Version means as to a Contributor, that version of the Program that includes the Contributors Contribution but not any Contributions made to the Program thereafter.
+
+1.4 Larger Work means a work that combines the Program or portions thereof with code not governed by the terms of this License.
+
+1.5 Licensed Patents mean patents licensable by a Contributor that are infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+1.6 Original Program means the original version of the software to which this License is attached and as released by CA, including source code, object code and documentation, if any.
+
+1.7 Program means the Original Program and Contributions.
+
+1.8 Recipient means anyone who modifies, copies, uses or distributes the Program.
+
+2. GRANT OF RIGHTS
+
+2.1 Subject to the terms of this License, each Contributor hereby grants Recipient an irrevocable, non-exclusive, worldwide, royalty-free license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. For the avoidance of doubt, the license provided in this Section 2.1 shall not include a license to any Licensed Patents of a Contributor.
+
+2.2 Subject to the terms of this License, each Contributor hereby grants Recipient an irrevocable, non-exclusive, worldwide, royalty-free license to the Licensed Patents to the extent necessary to make, use, sell, offer to sell and import the Contribution of such Contributor, if any, in source code and object code form. The license granted in this Section 2.2 shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes the Licensed Patents to be infringed by such combination. Notwithstanding the foregoing, no license is granted under this Section 2.2: (a) for any code or works that do not include the Contributor Version, as it exists and is used in accordance with the terms hereof; (b) for infringements caused by: (i) third party modifications of the Contributor Version; or (ii) the combination of Contributions made by each such Contributor with other software (except as part of the Contributor Version) or other devices; or (c) with respect to Licensed Patents infringed by the Program in the absence of Contributions made by that Contributor.
+
+2.3 Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, except as provided in Section 2.4, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other person or entity. Each Contributor disclaims any liability to Recipient for claims brought by any other person or entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.
+
+2.4 Each Contributor represents and warrants that it has all right, title and interest in the copyrights in its Contributions, and has the right to grant the copyright licenses set forth in this License.
+
+3. DISTRIBUTION REQUIREMENTS
+
+3.1 If the Program is distributed in object code form, then a prominent notice must be included in the code itself as well as in any related documentation, stating that the source code for the Program is available from the Contributor with information on how and where to obtain the source code. A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+ * it complies with the terms and conditions of this License; and
+ * its license agreement:
+ * effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose, to the maximum extent permitted by applicable law;
+ * effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits, to the maximum extent permitted by applicable law;
+ * states that any provisions which are inconsistent with this License are offered by that Contributor alone and not by any other party; and
+ * states that source code for the Program is available from such Contributor at the cost of distribution, and informs licensees how to obtain it in a reasonable manner.
+
+3.2 When the Program is made available in source code form:
+
+ * it must be made available under this License; and
+ * a copy of this License must be included with each copy of the Program.
+
+3.3 This License is intended to facilitate the commercial distribution of the Program by any Contributor. However, Contributors may only charge Recipients a one-time, upfront fee for the distribution of the Program. Contributors may not charge Recipients any recurring charge, license fee, or any ongoing royalty for the Recipients exercise of its rights under this License to the Program. Contributors shall make the source code for the Contributor Version they distribute available at a cost, if any, equal to the cost to the Contributor to physically copy and distribute the work. It is not the intent of this License to prohibit a Contributor from charging fees for any service or maintenance that a Contributor may charge to a Recipient, so long as such fees are not an attempt to circumvent the foregoing restrictions on charging royalties or other recurring fees for the Program itself.
+
+3.4 A Contributor may create a Larger Work by combining the Program with other software code not governed by the terms of this License, and distribute the Larger Work as a single product. In such a case, the Contributor must make sure that the requirements of this License are fulfilled for the Program. Any Contributor who includes the Program in a commercial product offering, including as part of a Larger Work, may subject itself, but not any other Contributor, to additional contractual commitments, including, but not limited to, performance warranties and non-infringement representations on suchContributors behalf. No Contributor may create any additional liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor (Commercial Contributor) hereby agrees to defend and indemnify every other Contributor (Indemnified Contributor) who made Contributions to the Program distributed by the Commercial Contributor against any losses, damages and costs (collectively Losses) arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions, including any additional contractual commitments, of such Commercial Contributor in connection with its distribution of the Program. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.
+
+3.5 If Contributor has knowledge that a license under a third partys intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must (a) include a text file with the Program source code distribution titled ../IP_ISSUES, and (b) notify CA in writing at Computer Associates International, Inc., One Computer Associates Plaza, Islandia, New York 11749, Attn: Open Source Group or by email at opensource@ca.com, both describing the claim and the party making the claim in sufficient detail that a Recipient and CA will know whom to contact with regard to such matter. If Contributor obtains such knowledge after the Contribution is made available, Contributor shall also promptly modify the IP_ISSUES file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Program that such new knowledge has been obtained.
+
+3.6 Recipient shall not remove, obscure, or modify any CA or other Contributor copyright or patent proprietary notices appearing in the Program, whether in the source code, object code or in any documentation. In addition to the obligations set forth in Section 4, each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
+
+4. CONTRIBUTION RESTRICTIONS
+
+4.1 Each Contributor must cause the Program to which the Contributor provides a Contribution to contain a file documenting the changes the Contributor made to create its version of the Program and the date of any change. Each Contributor must also include a prominent statement that the Contribution is derived, directly or indirectly, from the Program distributed by a prior Contributor, including the name of the prior Contributor from which such Contribution was derived, in (a) the Program source code, and (b) in any notice in an executable version or related documentation in which the Contributor describes the origin or ownership of the Program.
+
+5. NO WARRANTY
+
+5.1 EXCEPT AS EXPRESSLY SET FORTH IN THIS LICENSE, THE PROGRAM IS PROVIDED AS IS AND IN ITS PRESENT STATE AND CONDITION. NO WARRANTY, REPRESENTATION, CONDITION, UNDERTAKING OR TERM, EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, AS TO THE CONDITION, QUALITY, DURABILITY, PERFORMANCE, NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE OR USE OF THE PROGRAM IS GIVEN OR ASSUMED BY ANY CONTRIBUTOR AND ALL SUCH WARRANTIES, REPRESENTATIONS, CONDITIONS, UNDERTAKINGS AND TERMS ARE HEREBY EXCLUDED TO THE FULLEST EXTENT PERMITTED BY LAW.
+
+5.2 Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this License, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+5.3 Each Recipient acknowledges that the Program is not intended for use in the operation of nuclear facilities, aircraft navigation, communication systems, or air traffic control machines in which case the failure of the Program could lead to death, personal injury, or severe physical or environmental damage.
+
+6. DISCLAIMER OF LIABILITY
+
+6.1 EXCEPT AS EXPRESSLY SET FORTH IN THIS LICENSE, AND TO THE EXTENT PERMITTED BY LAW, NO CONTRIBUTOR SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. TRADEMARKS AND BRANDING
+
+7.1 This License does not grant any Recipient or any third party any rights to use the trademarks or trade names now or subsequently posted at http://www.ca.com/catrdmrk.htm, or any other trademarks, service marks, logos or trade names belonging to CA (collectively CA Marks) or to any trademark, service mark, logo or trade name belonging to any Contributor. Recipient agrees not to use any CA Marks in or as part of the name of products derived from the Original Program or to endorse or promote products derived from the Original Program.
+
+7.2 Subject to Section 7.1, Recipients may distribute the Program under trademarks, logos, and product names belonging to the Recipient provided that all copyright and other attribution notices remain in the Program.
+
+8. PATENT LITIGATION
+
+8.1 If Recipient institutes patent litigation against any person or entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipients patent(s), then such Recipients rights granted under Section 2.2 shall terminate as of the date such litigation is filed.
+
+9. OWNERSHIP
+
+9.1 Subject to the licenses granted under this License in Sections 2.1 and 2.2 above, each Contributor retains all rights, title and interest in and to any Contributions made by such Contributor. CA retains all rights, title and interest in and to the Original Program and any Contributions made by or on behalf of CA (CA Contributions), and such CA Contributions will not be automatically subject to this License. CA may, at its sole discretion, choose to license such CA Contributions under this License, or on different terms from those contained in this License or may choose not to license them at all.
+
+10. TERMINATION
+
+10.1 All of Recipients rights under this License shall terminate if it fails to comply with any of the material terms or conditions of this License and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If Recipients rights under this License terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipients obligations under this License and any licenses granted by Recipient as a Contributor relating to the Program shall continue and survive termination.
+
+11. GENERAL
+
+11.1 If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+11.2 CA may publish new versions (including revisions) of this License from time to time. Each new version of the License will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the License under which it was received. In addition, after a new version of the License is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. No one other than CA has the right to modify this License.
+
+11.3 If it is impossible for Recipient to comply with any of the terms of this License with respect to some or all of the Program due to statute, judicial order, or regulation, then Recipient 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 included in the IP_ISSUES file described in Section 3.5 and must be included with all distributions of the Program source code. 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.
+
+11.4 This License is governed by the laws of the State of New York. No Recipient will bring a legal action under this License more than one year after the cause of action arose. Each Recipient waives its rights to a jury trial in any resulting litigation. Any litigation or other dispute resolution between a Recipient and CA relating to this License shall take place in the State of New York, and Recipient and CA hereby consent to the personal jurisdiction of, and venue in, the state and federal courts within that district with respect to this License. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded.
+
+11.5 Where Recipient is located in the province of Quebec, Canada, the following clause applies: The parties hereby confirm that they have requested that this License and all related documents be drafted in English. Les parties contractantes confirment qu'elles ont exige que le present contrat et tous les documents associes soient rediges en anglais.
+
+11.6 The Program is subject to all export and import laws, restrictions and regulations of the country in which Recipient receives the Program. Recipient is solely responsible for complying with and ensuring that Recipient does not export, re-export, or import the Program in violation of such laws, restrictions or regulations, or without any necessary licenses and authorizations.
+
+11.7 This License constitutes the entire agreement between the parties with respect to the subject matter hereof.
\ No newline at end of file
diff --git a/options/license/CC-BY-1.0 b/options/license/CC-BY-1.0
new file mode 100644
index 0000000..f2392b3
--- /dev/null
+++ b/options/license/CC-BY-1.0
@@ -0,0 +1,80 @@
+Creative Commons Attribution 1.0
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DRAFT LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. <>
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+
+ b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License.
+
+ c. "Licensor" means the individual or entity that offers the Work under the terms of this License.
+
+ d. "Original Author" means the individual or entity who created the Work.
+
+ e. "Work" means the copyrightable work of authorship offered under the terms of this License.
+
+ f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+
+ b. to create and reproduce Derivative Works;
+
+ c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+
+ d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works;
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested.
+
+ b. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+5. Representations, Warranties and Disclaimer
+
+ a. By offering the Work for public release under this License, Licensor represents and warrants that, to the best of Licensor's knowledge after reasonable inquiry:
+
+ i. Licensor has secured all rights in the Work necessary to grant the license rights hereunder and to permit the lawful exercise of the rights granted hereunder without You having any obligation to pay any royalties, compulsory license fees, residuals or any other payments;
+
+ ii. The Work does not infringe the copyright, trademark, publicity rights, common law rights or any other right of any third party or constitute defamation, invasion of privacy or other tortious injury to any third party.
+
+ b. EXCEPT AS EXPRESSLY STATED IN THIS LICENSE OR OTHERWISE AGREED IN WRITING OR REQUIRED BY APPLICABLE LAW, THE WORK IS LICENSED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES REGARDING THE CONTENTS OR ACCURACY OF THE WORK.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, AND EXCEPT FOR DAMAGES ARISING FROM LIABILITY TO A THIRD PARTY RESULTING FROM BREACH OF THE WARRANTIES IN SECTION 5, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+
+ c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+Creative Commons may be contacted at http://creativecommons.org/.
diff --git a/options/license/CC-BY-2.0 b/options/license/CC-BY-2.0
new file mode 100644
index 0000000..9228f69
--- /dev/null
+++ b/options/license/CC-BY-2.0
@@ -0,0 +1,81 @@
+Creative Commons Attribution 2.0
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.<>
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+
+ b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
+
+ c. "Licensor" means the individual or entity that offers the Work under the terms of this License.
+
+ d. "Original Author" means the individual or entity who created the Work.
+
+ e. "Work" means the copyrightable work of authorship offered under the terms of this License.
+
+ f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+
+ b. to create and reproduce Derivative Works;
+
+ c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+
+ d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works.
+
+ e. For the avoidance of doubt, where the work is a musical composition:
+
+ i. Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work.
+
+ ii. Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights agency or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions).
+
+ f. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions).
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested.
+
+ b. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+
+ c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+Creative Commons may be contacted at http://creativecommons.org/.
\ No newline at end of file
diff --git a/options/license/CC-BY-3.0 b/options/license/CC-BY-3.0
new file mode 100644
index 0000000..7d48247
--- /dev/null
+++ b/options/license/CC-BY-3.0
@@ -0,0 +1,93 @@
+Creative Commons Attribution 3.0 Unported
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. <>
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
+
+ b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
+
+ c. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
+
+ d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
+
+ e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
+
+ f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
+
+ g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+ h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
+
+ i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
+
+2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
+
+ b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
+
+ c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
+
+ d. to Distribute and Publicly Perform Adaptations.
+
+ e. For the avoidance of doubt:
+
+ i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
+
+ ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,
+
+ iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(b), as requested.
+
+ b. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
+
+ c. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+
+ c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You.
+
+ e. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+ f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
+
+Creative Commons Notice
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License.
+
+Creative Commons may be contacted at http://creativecommons.org/.
\ No newline at end of file
diff --git a/options/license/CC-BY-4.0 b/options/license/CC-BY-4.0
new file mode 100644
index 0000000..c13c4c7
--- /dev/null
+++ b/options/license/CC-BY-4.0
@@ -0,0 +1,154 @@
+Creative Commons Attribution 4.0 International
+
+<> Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
+
+Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors.
+
+Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public. <>
+
+Creative Commons Attribution 4.0 International Public License
+
+By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
+
+Section 1 – Definitions.
+
+ a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
+
+ b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
+
+ c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
+
+ d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
+
+ e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
+
+ f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
+
+ g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
+
+ h. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
+
+ i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
+
+ j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
+
+ k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
+
+Section 2 – Scope.
+
+ a. License grant.
+
+ 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
+
+ A. reproduce and Share the Licensed Material, in whole or in part; and
+
+ B. produce, reproduce, and Share Adapted Material.
+
+ 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
+
+ 3. Term. The term of this Public License is specified in Section 6(a).
+
+ 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
+
+ 5. Downstream recipients.
+
+ A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
+
+ B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
+
+b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this Public License.
+
+ 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties.
+
+Section 3 – License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material (including in modified form), You must:
+
+ A. retain the following if it is supplied by the Licensor with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
+
+ B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
+
+ C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
+
+ 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
+
+ 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
+
+ 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License.
+
+Section 4 – Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database;
+
+ b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and
+
+ c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
+For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
+
+Section 5 – Disclaimer of Warranties and Limitation of Liability.
+
+ a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
+
+ b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
+
+ c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
+
+Section 6 – Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
+
+ d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
+
+ e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
+
+Section 7 – Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
+
+Section 8 – Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
+
+ c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
+
+Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
Creative Commons may be contacted at creativecommons.org.
diff --git a/options/license/CC-BY-NC-1.0 b/options/license/CC-BY-NC-1.0
new file mode 100644
index 0000000..7e55e08
--- /dev/null
+++ b/options/license/CC-BY-NC-1.0
@@ -0,0 +1,75 @@
+Creative Commons Attribution-NonCommercial 1.0
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DRAFT LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. <>
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+
+ b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License.
+
+ c. "Licensor" means the individual or entity that offers the Work under the terms of this License.
+
+ d. "Original Author" means the individual or entity who created the Work.
+
+ e. "Work" means the copyrightable work of authorship offered under the terms of this License.
+
+ f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+
+ b. to create and reproduce Derivative Works;
+
+ c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+
+ d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works;
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested.
+
+ b. You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.
+
+ c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+5. Representations, Warranties and Disclaimer
+
+By offering the Work for public release under this License, Licensor represents and warrants that, to the best of Licensor's knowledge after reasonable inquiry: Licensor has secured all rights in the Work necessary to grant the license rights hereunder and to permit the lawful exercise of the rights granted hereunder without You having any obligation to pay any royalties, compulsory license fees, residuals or any other payments; The Work does not infringe the copyright, trademark, publicity rights, common law rights or any other right of any third party or constitute defamation, invasion of privacy or other tortious injury to any third party. EXCEPT AS EXPRESSLY STATED IN THIS LICENSE OR OTHERWISE AGREED IN WRITING OR REQUIRED BY APPLICABLE LAW, THE WORK IS LICENSED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES REGARDING THE CONTENTS OR ACCURACY OF THE WORK.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, AND EXCEPT FOR DAMAGES ARISING FROM LIABILITY TO A THIRD PARTY RESULTING FROM BREACH OF THE WARRANTIES IN SECTION 5, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+
+ c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+Creative Commons may be contacted at http://creativecommons.org/.
\ No newline at end of file
diff --git a/options/license/CC-BY-NC-2.0 b/options/license/CC-BY-NC-2.0
new file mode 100644
index 0000000..a99d065
--- /dev/null
+++ b/options/license/CC-BY-NC-2.0
@@ -0,0 +1,81 @@
+Creative Commons Attribution-NonCommercial 2.0
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. <>
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+
+ b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
+
+ c. "Licensor" means the individual or entity that offers the Work under the terms of this License.
+
+ d. "Original Author" means the individual or entity who created the Work.
+
+ e. "Work" means the copyrightable work of authorship offered under the terms of this License.
+
+ f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+
+ b. to create and reproduce Derivative Works;
+
+ c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+
+ d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works;
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Sections 4(d) and 4(e).
+
+4. Restrictions.The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested.
+
+ b. You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.
+
+ c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+ d. For the avoidance of doubt, where the Work is a musical composition:
+
+ i. Performance Royalties Under Blanket Licenses. Licensor reserves the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work if that performance is primarily intended for or directed toward commercial advantage or private monetary compensation.
+
+ ii. Mechanical Rights and Statutory Royalties. Licensor reserves the exclusive right to collect, whether individually or via a music rights agency or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions), if Your distribution of such cover version is primarily intended for or directed toward commercial advantage or private monetary compensation. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor reserves the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions), if Your public digital performance is primarily intended for or directed toward commercial advantage or private monetary compensation.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+
+ c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+Creative Commons may be contacted at http://creativecommons.org/.
\ No newline at end of file
diff --git a/options/license/CC-BY-NC-3.0 b/options/license/CC-BY-NC-3.0
new file mode 100644
index 0000000..5cd4720
--- /dev/null
+++ b/options/license/CC-BY-NC-3.0
@@ -0,0 +1,95 @@
+Creative Commons Attribution-NonCommercial 3.0 Unported
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. <>
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
+
+ b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
+
+ c. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
+
+ d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
+
+ e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
+
+ f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
+
+ g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+ h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
+
+ i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
+
+2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
+
+ b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
+
+ c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
+
+ d. to Distribute and Publicly Perform Adaptations.
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d).
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested.
+
+ b. You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.
+
+ c. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and, (iv) consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
+
+ d. For the avoidance of doubt:
+
+ i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
+
+ ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and,
+
+ iii. Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c).
+
+ e. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+
+ c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+ f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
+
+Creative Commons Notice
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of the License.
+
+Creative Commons may be contacted at http://creativecommons.org/.
\ No newline at end of file
diff --git a/options/license/CC-BY-NC-4.0 b/options/license/CC-BY-NC-4.0
new file mode 100644
index 0000000..5c36579
--- /dev/null
+++ b/options/license/CC-BY-NC-4.0
@@ -0,0 +1,156 @@
+Creative Commons Attribution-NonCommercial 4.0 International
+
+<> Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
+
+Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors.
+
+Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public. <>
+
+Creative Commons Attribution-NonCommercial 4.0 International Public License
+
+By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
+
+Section 1 – Definitions.
+
+ a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
+
+ b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
+
+ c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
+
+ d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
+
+ e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
+
+ f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
+
+ g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
+
+ h. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
+
+ i. NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange.
+
+ j. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
+
+ k. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
+
+ l. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
+
+Section 2 – Scope.
+
+ a. License grant.
+
+ 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
+
+ A. reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and
+
+ B. produce, reproduce, and Share Adapted Material for NonCommercial purposes only.
+
+ 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
+
+ 3. Term. The term of this Public License is specified in Section 6(a).
+
+ 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
+
+ 5. Downstream recipients.
+
+ A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
+
+ B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
+
+ b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this Public License.
+
+ 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes.
+
+Section 3 – License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material (including in modified form), You must:
+
+ A. retain the following if it is supplied by the Licensor with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
+
+ B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
+
+ C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
+
+ 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
+
+ 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
+
+ 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License.
+
+Section 4 – Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only;
+
+ b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and
+
+ c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
+For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
+
+Section 5 – Disclaimer of Warranties and Limitation of Liability.
+
+ a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
+
+ b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
+
+ c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
+
+Section 6 – Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
+
+ d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
+
+ e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
+
+Section 7 – Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
+
+Section 8 – Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
+
+ c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
+
+Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
Creative Commons may be contacted at creativecommons.org.
diff --git a/options/license/CC-BY-NC-ND-1.0 b/options/license/CC-BY-NC-ND-1.0
new file mode 100644
index 0000000..daeb921
--- /dev/null
+++ b/options/license/CC-BY-NC-ND-1.0
@@ -0,0 +1,75 @@
+Creative Commons Attribution-NoDerivs-NonCommercial 1.0
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DRAFT LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. <>
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+
+ b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License.
+
+ c. "Licensor" means the individual or entity that offers the Work under the terms of this License.
+
+ d. "Original Author" means the individual or entity who created the Work.
+
+ e. "Work" means the copyrightable work of authorship offered under the terms of this License.
+
+ f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+
+ b. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested.
+
+ b. You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.
+
+ c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied. Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+5. Representations, Warranties and Disclaimer
+
+ a. By offering the Work for public release under this License, Licensor represents and warrants that, to the best of Licensor's knowledge after reasonable inquiry:
+
+ i. Licensor has secured all rights in the Work necessary to grant the license rights hereunder and to permit the lawful exercise of the rights granted hereunder without You having any obligation to pay any royalties, compulsory license fees, residuals or any other payments;
+
+ ii. The Work does not infringe the copyright, trademark, publicity rights, common law rights or any other right of any third party or constitute defamation, invasion of privacy or other tortious injury to any third party.
+
+ b. EXCEPT AS EXPRESSLY STATED IN THIS LICENSE OR OTHERWISE AGREED IN WRITING OR REQUIRED BY APPLICABLE LAW, THE WORK IS LICENSED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES REGARDING THE CONTENTS OR ACCURACY OF THE WORK.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, AND EXCEPT FOR DAMAGES ARISING FROM LIABILITY TO A THIRD PARTY RESULTING FROM BREACH OF THE WARRANTIES IN SECTION 5, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ c. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ d. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+Creative Commons may be contacted at http://creativecommons.org/.
\ No newline at end of file
diff --git a/options/license/CC-BY-NC-ND-2.0 b/options/license/CC-BY-NC-ND-2.0
new file mode 100644
index 0000000..29c2701
--- /dev/null
+++ b/options/license/CC-BY-NC-ND-2.0
@@ -0,0 +1,77 @@
+Creative Commons Attribution-NonCommercial-NoDerivs 2.0
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. <>
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+
+ b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
+
+ c. "Licensor" means the individual or entity that offers the Work under the terms of this License.
+
+ d. "Original Author" means the individual or entity who created the Work.
+
+ e. "Work" means the copyrightable work of authorship offered under the terms of this License.
+
+ f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+
+ b. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Derivative Works. All rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Sections 4(d) and 4(e).
+
+4. Restrictions.The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested.
+
+ b. You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.
+
+ c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; and to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+ d. For the avoidance of doubt, where the Work is a musical composition:
+
+ i. Performancf Royalties Under Blanket Licenses. Licensor reserves the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work if that performance is primarily intended for or directed toward commercial advantage or private monetary compensation.
+
+ ii. Mechanical Rights and Statutory Royalties. Licensor reserves the exclusive right to collect, whether individually or via a music rights agency or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions), if Your distribution of such cover version is primarily intended for or directed toward commercial advantage or private monetary compensation.
+
+ e. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor reserves the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions), if Your public digital performance is primarily intended for or directed toward commercial advantage or private monetary compensation.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ c. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ d. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+Creative Commons may be contacted at http://creativecommons.org/.
\ No newline at end of file
diff --git a/options/license/CC-BY-NC-ND-3.0 b/options/license/CC-BY-NC-ND-3.0
new file mode 100644
index 0000000..1af8856
--- /dev/null
+++ b/options/license/CC-BY-NC-ND-3.0
@@ -0,0 +1,89 @@
+Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. <>
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
+
+ b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
+
+ c. "Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership.
+
+ d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
+
+ e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
+
+ f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
+
+ g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+ h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
+
+ i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
+
+2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and,
+
+ b. to Distribute and Publicly Perform the Work including as incorporated in Collections.
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d).
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested.
+
+ b. You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.
+
+ c. If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
+
+ d. For the avoidance of doubt:
+
+ i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
+
+ ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and,
+
+ iii. Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b).
+
+ e. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ c. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ d. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+ e. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
+
+Creative Commons Notice
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License.
+
+Creative Commons may be contacted at http://creativecommons.org/.
\ No newline at end of file
diff --git a/options/license/CC-BY-NC-ND-4.0 b/options/license/CC-BY-NC-ND-4.0
new file mode 100644
index 0000000..f1107b0
--- /dev/null
+++ b/options/license/CC-BY-NC-ND-4.0
@@ -0,0 +1,153 @@
+Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International
+
+<> Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
+
+Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors.
+
+Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public. <>
+
+Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License
+
+By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
+
+Section 1 – Definitions.
+
+ a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
+
+ b. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
+
+ c. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
+
+ d. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
+
+ e. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
+
+ f. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
+
+ g. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
+
+ h. NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange.
+
+ i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
+
+ j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
+
+ k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
+
+Section 2 – Scope.
+
+ a. License grant.
+
+ 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
+
+ A. reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and
+
+ B. produce and reproduce, but not Share, Adapted Material for NonCommercial purposes only.
+
+ 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
+
+ 3. Term. The term of this Public License is specified in Section 6(a).
+
+ 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
+
+ 5. Downstream recipients.
+ A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
+
+ B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
+
+ b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this Public License.
+
+ 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes.
+
+Section 3 – License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material, You must:
+
+ A. retain the following if it is supplied by the Licensor with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
+
+ B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
+
+ C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
+
+ 2. For the avoidance of doubt, You do not have permission under this Public License to Share Adapted Material.
+
+ 3. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
+
+ 4. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
+
+Section 4 – Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only and provided You do not Share Adapted Material;
+
+ b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and
+
+ c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
+For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
+
+Section 5 – Disclaimer of Warranties and Limitation of Liability.
+
+ a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
+
+ b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
+
+ c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
+
+Section 6 – Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
+
+ d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
+
+ e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
+
+Section 7 – Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
+
+Section 8 – Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
+
+ c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
+
+Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
Creative Commons may be contacted at creativecommons.org.
\ No newline at end of file
diff --git a/options/license/CC-BY-NC-SA-1.0 b/options/license/CC-BY-NC-SA-1.0
new file mode 100644
index 0000000..7905c96
--- /dev/null
+++ b/options/license/CC-BY-NC-SA-1.0
@@ -0,0 +1,83 @@
+Creative Commons Attribution-NonCommercial-ShareAlike 1.0
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DRAFT LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. <>
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+
+ b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License.
+
+ c. "Licensor" means the individual or entity that offers the Work under the terms of this License.
+
+ d. "Original Author" means the individual or entity who created the Work.
+
+ e. "Work" means the copyrightable work of authorship offered under the terms of this License.
+
+ f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+
+ b. to create and reproduce Derivative Works;
+
+ c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+
+ d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works;
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested.
+
+ b. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License.
+
+ c. You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.
+
+ d. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+5. Representations, Warranties and Disclaimer
+
+ a. By offering the Work for public release under this License, Licensor represents and warrants that, to the best of Licensor's knowledge after reasonable inquiry:
+
+ i. Licensor has secured all rights in the Work necessary to grant the license rights hereunder and to permit the lawful exercise of the rights granted hereunder without You having any obligation to pay any royalties, compulsory license fees, residuals or any other payments;
+
+ ii. The Work does not infringe the copyright, trademark, publicity rights, common law rights or any other right of any third party or constitute defamation, invasion of privacy or other tortious injury to any third party.
+
+ b. EXCEPT AS EXPRESSLY STATED IN THIS LICENSE OR OTHERWISE AGREED IN WRITING OR REQUIRED BY APPLICABLE LAW, THE WORK IS LICENSED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES REGARDING THE CONTENTS OR ACCURACY OF THE WORK.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, AND EXCEPT FOR DAMAGES ARISING FROM LIABILITY TO A THIRD PARTY RESULTING FROM BREACH OF THE WARRANTIES IN SECTION 5, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+
+ c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+Creative Commons may be contacted at http://creativecommons.org/.
\ No newline at end of file
diff --git a/options/license/CC-BY-NC-SA-2.0 b/options/license/CC-BY-NC-SA-2.0
new file mode 100644
index 0000000..82d806f
--- /dev/null
+++ b/options/license/CC-BY-NC-SA-2.0
@@ -0,0 +1,87 @@
+Creative Commons Attribution-NonCommercial-ShareAlike 2.0
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. <>
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+
+ b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
+
+ c. "Licensor" means the individual or entity that offers the Work under the terms of this License.
+
+ d. "Original Author" means the individual or entity who created the Work.
+
+ e. "Work" means the copyrightable work of authorship offered under the terms of this License.
+
+ f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+ g. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, Noncommercial, ShareAlike.
+
+2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+
+ b. to create and reproduce Derivative Works;
+
+ c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+
+ d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works;
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Sections 4(e) and 4(f).
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested.
+
+ b. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, a later version of this License with the same License Elements as this License, or a Creative Commons iCommons license that contains the same License Elements as this License (e.g. Attribution-NonCommercial-ShareAlike 2.0 Japan). You must include a copy of, or the Uniform Resource Identifier for, this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License.
+
+ c. You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.
+
+ d. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+ e. For the avoidance of doubt, where the Work is a musical composition:
+
+ i. Performance Royalties Under Blanket Licenses. Licensor reserves the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work if that performance is primarily intended for or directed toward commercial advantage or private monetary compensation.
+
+ ii. Mechanical Rights and Statutory Royalties. Licensor reserves the exclusive right to collect, whether individually or via a music rights agency or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions), if Your distribution of such cover version is primarily intended for or directed toward commercial advantage or private monetary compensation.
+
+ f. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor reserves the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions), if Your public digital performance is primarily intended for or directed toward commercial advantage or private monetary compensation.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+
+ c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+Creative Commons may be contacted at http://creativecommons.org/.
\ No newline at end of file
diff --git a/options/license/CC-BY-NC-SA-3.0 b/options/license/CC-BY-NC-SA-3.0
new file mode 100644
index 0000000..ac9b2be
--- /dev/null
+++ b/options/license/CC-BY-NC-SA-3.0
@@ -0,0 +1,99 @@
+Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. <>
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
+
+ b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(g) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
+
+ c. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
+
+ d. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, Noncommercial, ShareAlike.
+
+ e. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
+
+ f. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
+
+ g. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
+
+ h. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+ i. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
+
+ j. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
+
+2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
+
+ b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
+
+ c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
+
+ d. to Distribute and Publicly Perform Adaptations.
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights described in Section 4(e).
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(d), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(d), as requested.
+
+ b. You may Distribute or Publicly Perform an Adaptation only under: (i) the terms of this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-NonCommercial-ShareAlike 3.0 US) ("Applicable License"). You must include a copy of, or the URI, for Applicable License with every copy of each Adaptation You Distribute or Publicly Perform. You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License. You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License.
+
+ c. You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in con-nection with the exchange of copyrighted works.
+
+ d. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and, (iv) consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(d) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
+
+ e. For the avoidance of doubt:
+
+ i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
+
+ ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and,
+
+ iii. Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c).
+
+ f. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING AND TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THIS EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+
+ c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+ f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
+
+Creative Commons Notice
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License.
+
+Creative Commons may be contacted at http://creativecommons.org/.
\ No newline at end of file
diff --git a/options/license/CC-BY-NC-SA-4.0 b/options/license/CC-BY-NC-SA-4.0
new file mode 100644
index 0000000..60454c8
--- /dev/null
+++ b/options/license/CC-BY-NC-SA-4.0
@@ -0,0 +1,168 @@
+Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
+
+<> Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
+
+Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors.
+
+Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public. <>
+
+Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License
+
+By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
+
+Section 1 – Definitions.
+
+ a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
+
+ b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
+
+ c. BY-NC-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License.
+
+ d. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
+
+ e. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
+
+ f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
+
+ g. License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution, NonCommercial, and ShareAlike.
+
+ h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
+
+ i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
+
+ j. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
+
+ k. NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange.
+
+ l. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
+
+ m. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
+
+ n. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
+
+Section 2 – Scope.
+
+ a. License grant.
+
+ 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
+
+ A. reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and
+
+ B. produce, reproduce, and Share Adapted Material for NonCommercial purposes only.
+
+ 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
+
+ 3. Term. The term of this Public License is specified in Section 6(a).
+
+ 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
+
+ 5. Downstream recipients.
+
+ A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
+
+ B. Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply.
+
+ C. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
+
+ b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this Public License.
+
+ 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes.
+
+Section 3 – License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material (including in modified form), You must:
+
+ A. retain the following if it is supplied by the Licensor with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
+
+ B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
+
+ C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
+
+ 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
+
+ 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
+
+ b. ShareAlike.In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply.
+
+ 1. The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-NC-SA Compatible License.
+
+ 2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material.
+
+ 3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply.
+
+Section 4 – Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only;
+
+ b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and
+
+ c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
+For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
+
+Section 5 – Disclaimer of Warranties and Limitation of Liability.
+
+ a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
+
+ b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
+
+ c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
+
+Section 6 – Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
+
+ d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
+
+ e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
+
+Section 7 – Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
+
+Section 8 – Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
+
+ c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
+
+Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
Creative Commons may be contacted at creativecommons.org.
diff --git a/options/license/CC-BY-ND-1.0 b/options/license/CC-BY-ND-1.0
new file mode 100644
index 0000000..2f350e3
--- /dev/null
+++ b/options/license/CC-BY-ND-1.0
@@ -0,0 +1,73 @@
+Creative Commons Attribution-NoDerivs 1.0
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DRAFT LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. <>
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+
+ b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License.
+
+ c. "Licensor" means the individual or entity that offers the Work under the terms of this License.
+
+ d. "Original Author" means the individual or entity who created the Work.
+
+ e. "Work" means the copyrightable work of authorship offered under the terms of this License.
+
+ f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+
+ b. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested.
+
+ b. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied. Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+5. Representations, Warranties and Disclaimer
+
+ a. By offering the Work for public release under this License, Licensor represents and warrants that, to the best of Licensor's knowledge after reasonable inquiry:
+
+ i. Licensor has secured all rights in the Work necessary to grant the license rights hereunder and to permit the lawful exercise of the rights granted hereunder without You having any obligation to pay any royalties, compulsory license fees, residuals or any other payments;
+
+ ii. The Work does not infringe the copyright, trademark, publicity rights, common law rights or any other right of any third party or constitute defamation, invasion of privacy or other tortious injury to any third party.
+
+ b. EXCEPT AS EXPRESSLY STATED IN THIS LICENSE OR OTHERWISE AGREED IN WRITING OR REQUIRED BY APPLICABLE LAW, THE WORK IS LICENSED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES REGARDING THE CONTENTS OR ACCURACY OF THE WORK.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, AND EXCEPT FOR DAMAGES ARISING FROM LIABILITY TO A THIRD PARTY RESULTING FROM BREACH OF THE WARRANTIES IN SECTION 5, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ c. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ d. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+Creative Commons may be contacted at http://creativecommons.org/.
\ No newline at end of file
diff --git a/options/license/CC-BY-ND-2.0 b/options/license/CC-BY-ND-2.0
new file mode 100644
index 0000000..06e6e13
--- /dev/null
+++ b/options/license/CC-BY-ND-2.0
@@ -0,0 +1,75 @@
+Creative Commons Attribution-NoDerivs 2.0
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. <>
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+
+ b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
+
+ c. "Licensor" means the individual or entity that offers the Work under the terms of this License.
+
+ d. "Original Author" means the individual or entity who created the Work.
+
+ e. "Work" means the copyrightable work of authorship offered under the terms of this License.
+
+ f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+
+ b. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works.
+
+ c. For the avoidance of doubt, where the work is a musical composition:
+
+ i. Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work.
+
+ ii. Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights society or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions).
+
+ d. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions).
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Derivative Works. All rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested.
+
+ b. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; and to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You distribute or publicly digitally perform the Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ c. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You.
+
+ d. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+Creative Commons may be contacted at http://creativecommons.org/.
\ No newline at end of file
diff --git a/options/license/CC-BY-ND-3.0 b/options/license/CC-BY-ND-3.0
new file mode 100644
index 0000000..47c9ada
--- /dev/null
+++ b/options/license/CC-BY-ND-3.0
@@ -0,0 +1,87 @@
+Creative Commons Attribution-NoDerivs 3.0 Unported
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. <>
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
+
+ b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
+
+ c. "Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership.
+
+ d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
+
+ e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
+
+ f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
+
+ g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+ h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
+
+ i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
+
+2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and,
+
+ b. to Distribute and Publicly Perform the Work including as incorporated in Collections.
+
+ c. For the avoidance of doubt:
+
+ i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
+
+ ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,
+
+ iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested.
+
+ b. If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(b) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
+
+ c. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ c. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ d. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+ e. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
+
+Creative Commons Notice
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License.
+
+Creative Commons may be contacted at http://creativecommons.org/.
\ No newline at end of file
diff --git a/options/license/CC-BY-ND-4.0 b/options/license/CC-BY-ND-4.0
new file mode 100644
index 0000000..efbd8b6
--- /dev/null
+++ b/options/license/CC-BY-ND-4.0
@@ -0,0 +1,152 @@
+Creative Commons Attribution-NoDerivatives 4.0 International
+
+<> Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
+
+Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors.
+
+Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public. <>
+
+Creative Commons Attribution-NoDerivatives 4.0 International Public License
+
+By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NoDerivatives 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
+
+Section 1 – Definitions.
+
+ a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
+
+ b. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
+
+ c. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
+
+ d. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
+
+ e. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
+
+ f. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
+
+ g. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
+
+ h. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
+
+ i. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
+
+ j. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
+
+Section 2 – Scope.
+
+ a. License grant.
+
+ 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
+
+ A. reproduce and Share the Licensed Material, in whole or in part; and
+
+ B. produce and reproduce, but not Share, Adapted Material.
+
+ 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
+
+ 3. Term. The term of this Public License is specified in Section 6(a).
+
+ 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
+
+ 5. Downstream recipients.
+
+ A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
+
+ B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
+
+ b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this Public License.
+
+ 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties.
+
+Section 3 – License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material, You must:
+
+ A. retain the following if it is supplied by the Licensor with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
+
+ B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
+
+ C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
+
+ 2. For the avoidance of doubt, You do not have permission under this Public License to Share Adapted Material.
+
+ 3. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
+
+ 4. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
+
+Section 4 – Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database, provided You do not Share Adapted Material;
+
+ b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and
+
+ c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
+For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
+
+Section 5 – Disclaimer of Warranties and Limitation of Liability.
+
+ a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
+
+ b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
+
+ c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
+
+Section 6 – Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
+
+ d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
+
+ e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
+
+Section 7 – Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
+
+Section 8 – Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
+
+ c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
+
+Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
Creative Commons may be contacted at creativecommons.org.
diff --git a/options/license/CC-BY-SA-1.0 b/options/license/CC-BY-SA-1.0
new file mode 100644
index 0000000..7ce6c5a
--- /dev/null
+++ b/options/license/CC-BY-SA-1.0
@@ -0,0 +1,81 @@
+Creative Commons Attribution-ShareAlike 1.0
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DRAFT LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. <>
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+
+ b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License.
+
+ c. "Licensor" means the individual or entity that offers the Work under the terms of this License.
+
+ d. "Original Author" means the individual or entity who created the Work.
+
+ e. "Work" means the copyrightable work of authorship offered under the terms of this License.
+
+ f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+
+ b. to create and reproduce Derivative Works;
+
+ c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+
+ d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works;
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested.
+
+ b. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License.
+
+ c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+5. Representations, Warranties and Disclaimer
+
+ a. By offering the Work for public release under this License, Licensor represents and warrants that, to the best of Licensor's knowledge after reasonable inquiry:
+
+ i. Licensor has secured all rights in the Work necessary to grant the license rights hereunder and to permit the lawful exercise of the rights granted hereunder without You having any obligation to pay any royalties, compulsory license fees, residuals or any other payments;
+
+ ii. The Work does not infringe the copyright, trademark, publicity rights, common law rights or any other right of any third party or constitute defamation, invasion of privacy or other tortious injury to any third party.
+
+ b. EXCEPT AS EXPRESSLY STATED IN THIS LICENSE OR OTHERWISE AGREED IN WRITING OR REQUIRED BY APPLICABLE LAW, THE WORK IS LICENSED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES REGARDING THE CONTENTS OR ACCURACY OF THE WORK.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, AND EXCEPT FOR DAMAGES ARISING FROM LIABILITY TO A THIRD PARTY RESULTING FROM BREACH OF THE WARRANTIES IN SECTION 5, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+
+ c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+Creative Commons may be contacted at http://creativecommons.org/.
\ No newline at end of file
diff --git a/options/license/CC-BY-SA-2.0 b/options/license/CC-BY-SA-2.0
new file mode 100644
index 0000000..fc4b6b2
--- /dev/null
+++ b/options/license/CC-BY-SA-2.0
@@ -0,0 +1,85 @@
+Creative Commons Attribution-ShareAlike 2.0
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. <>
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+
+ b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
+
+ c. "Licensor" means the individual or entity that offers the Work under the terms of this License.
+
+ d. "Original Author" means the individual or entity who created the Work.
+
+ e. "Work" means the copyrightable work of authorship offered under the terms of this License.
+
+ f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+ g. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike.
+
+2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+
+ b. to create and reproduce Derivative Works;
+
+ c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+
+ d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works.
+
+ e. For the avoidance of doubt, where the work is a musical composition:
+
+ i. Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work.
+
+ ii. Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights society or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions).
+
+ f. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions).
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested.
+
+ b. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, a later version of this License with the same License Elements as this License, or a Creative Commons iCommons license that contains the same License Elements as this License (e.g. Attribution-ShareAlike 2.0 Japan). You must include a copy of, or the Uniform Resource Identifier for, this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License.
+
+ c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+
+ c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+Creative Commons may be contacted at http://creativecommons.org/.
\ No newline at end of file
diff --git a/options/license/CC-BY-SA-3.0 b/options/license/CC-BY-SA-3.0
new file mode 100644
index 0000000..50bffd5
--- /dev/null
+++ b/options/license/CC-BY-SA-3.0
@@ -0,0 +1,99 @@
+Creative Commons Attribution-ShareAlike 3.0 Unported
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. <>
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
+
+ b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined below) for the purposes of this License.
+
+ c. "Creative Commons Compatible License" means a license that is listed at http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as being essentially equivalent to this License, including, at a minimum, because that license: (i) contains terms that have the same purpose, meaning and effect as the License Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of works made available under that license under this License or a Creative Commons jurisdiction license with the same License Elements as this License.
+
+ d. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
+
+ e. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike.
+
+ f. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
+
+ g. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
+
+ h. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
+
+ i. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+ j. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
+
+ k. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
+
+2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
+
+ b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
+
+ c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
+
+ d. to Distribute and Publicly Perform Adaptations.
+
+ e. For the avoidance of doubt:
+
+ i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
+
+ ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,
+
+ iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested.
+
+ b. You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you license the Adaptation under one of the licenses mentioned in (iv), you must comply with the terms of that license. If you license the Adaptation under the terms of any of the licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply with the terms of the Applicable License generally and the following provisions: (I) You must include a copy of, or the URI for, the Applicable License with every copy of each Adaptation You Distribute or Publicly Perform; (II) You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License; (III) You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License.
+
+ c. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Ssection 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
+
+ d. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+
+ b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+
+ c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+ f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
+
+Creative Commons Notice
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of the License.
+
+Creative Commons may be contacted at http://creativecommons.org/.
\ No newline at end of file
diff --git a/options/license/CC-BY-SA-4.0 b/options/license/CC-BY-SA-4.0
new file mode 100644
index 0000000..1d09048
--- /dev/null
+++ b/options/license/CC-BY-SA-4.0
@@ -0,0 +1,168 @@
+Creative Commons Attribution-ShareAlike 4.0 International
+
+<> Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
+
+Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors.
+
+Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described.
+
+Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public. <>
+
+Creative Commons Attribution-ShareAlike 4.0 International Public License
+
+By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
+
+Section 1 – Definitions.
+
+ a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
+
+ b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
+
+ c. BY-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License.
+
+ d. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
+
+ e. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
+
+ f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
+
+ g. License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike.
+
+ h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
+
+ i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
+
+ j. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
+
+ k. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
+
+ l. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
+
+ m. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
+
+Section 2 – Scope.
+
+ a. License grant.
+
+ 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
+
+ A. reproduce and Share the Licensed Material, in whole or in part; and
+
+ B. produce, reproduce, and Share Adapted Material.
+
+ 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
+
+ 3. Term. The term of this Public License is specified in Section 6(a).
+
+ 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
+
+ 5. Downstream recipients.
+
+ A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
+
+ B. Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply.
+
+ C. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
+
+ b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this Public License.
+
+ 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties.
+
+Section 3 – License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material (including in modified form), You must:
+
+ A. retain the following if it is supplied by the Licensor with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
+
+ B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
+
+ C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
+
+ 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
+
+ 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
+
+ b. ShareAlike.In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply.
+
+ 1. The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License.
+
+ 2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material.
+
+ 3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply.
+
+Section 4 – Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database;
+
+ b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and
+
+ c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
+For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
+
+Section 5 – Disclaimer of Warranties and Limitation of Liability.
+
+ a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
+
+ b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
+
+ c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
+
+Section 6 – Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
+
+ d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
+
+ e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
+
+Section 7 – Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
+
+Section 8 – Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
+
+ c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
+
+Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
Creative Commons may be contacted at creativecommons.org.
diff --git a/options/license/Creative Commons CC0 1.0 Universal b/options/license/CC0-1.0
similarity index 62%
rename from options/license/Creative Commons CC0 1.0 Universal
rename to options/license/CC0-1.0
index af03882..ec1dd6d 100644
--- a/options/license/Creative Commons CC0 1.0 Universal
+++ b/options/license/CC0-1.0
@@ -1,5 +1,7 @@
Creative Commons CC0 1.0 Universal
-CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER.
+
+<> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. <>
+
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work").
@@ -10,19 +12,19 @@ For these and/or other purposes and motivations, and without any expectation of
1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following:
-i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
+ i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
-ii. moral rights retained by the original author(s) and/or performer(s);
+ ii. moral rights retained by the original author(s) and/or performer(s);
-iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;
+ iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;
-iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;
+ iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;
-v. rights protecting the extraction, dissemination, use and reuse of data in a Work;
+ v. rights protecting the extraction, dissemination, use and reuse of data in a Work;
-vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
+ vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
-vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.
+ vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose.
@@ -30,10 +32,10 @@ vii. other similar, equivalent or corresponding rights throughout the world base
4. Limitations and Disclaimers.
-a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
+ a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
-b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
+ b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
-c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.
+ c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.
-d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
+ d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
\ No newline at end of file
diff --git a/options/license/CDDL-1.0 b/options/license/CDDL-1.0
new file mode 100644
index 0000000..6d85329
--- /dev/null
+++ b/options/license/CDDL-1.0
@@ -0,0 +1,119 @@
+COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)
+Version 1.0
+
+1. Definitions.
+
+1.1. “Contributor” means each individual or entity that creates or contributes to the creation of Modifications.
+
+1.2. “Contributor Version” means the combination of the Original Software, prior Modifications used by a Contributor (if any), and the Modifications made by that particular Contributor.
+
+1.3. “Covered Software” means (a) the Original Software, or (b) Modifications, or (c) the combination of files containing Original Software with files containing Modifications, in each case including portions thereof.
+
+1.4. “Executable” means the Covered Software in any form other than Source Code.
+
+1.5. “Initial Developer” means the individual or entity that first makes Original Software available under this License.
+
+1.6. “Larger Work” means a work which combines Covered Software or portions thereof with code not governed by the terms of this License.
+
+1.7. “License” means this document.
+
+1.8. “Licensable” means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+1.9. “Modifications” means the Source Code and Executable form of any of the following:
+
+ A. Any file that results from an addition to, deletion from or modification of the contents of a file containing Original Software or previous Modifications;
+
+ B. Any new file that contains any part of the Original Software or previous Modification; or
+
+ C. Any new file that is contributed or otherwise made available under the terms of this License.
+
+1.10. “Original Software” means the Source Code and Executable form of computer software code that is originally released under this License.
+
+1.11. “Patent Claims” means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+1.12. “Source Code” means (a) the common form of computer software code in which modifications are made and (b) associated documentation included in or with such code.
+
+1.13. “You” (or “Your”) means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, “You” includes any entity which 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.
+
+2.1. The Initial Developer Grant.
+Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, the Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license:
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer, to use, reproduce, modify, display, perform, sublicense and distribute the Original Software (or portions thereof), with or without Modifications, and/or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using or selling of Original Software, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Software (or portions thereof).
+
+ (c) The licenses granted in Sections 2.1(a) and (b) are effective on the date Initial Developer first distributes or otherwise makes the Original Software available to a third party under the terms of this License.
+
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: (1) for code that You delete from the Original Software, or (2) for infringements caused by: (i) the modification of the Original Software, or (ii) the combination of the Original Software with other software or devices.
+
+2.2. Contributor Grant.
+Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof), either on an unmodified basis, with other Modifications, as Covered Software and/or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: (1) Modifications made by that Contributor (or portions thereof); and (2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+
+ (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first distributes or otherwise makes the Modifications available to a third party.
+
+ (d) Notwithstanding Section 2.2(b) above, no patent license is granted: (1) for any code that Contributor has deleted from the Contributor Version; (2) for infringements caused by: (i) third party modifications of Contributor Version, or (ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or (3) under Patent Claims infringed by Covered Software in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+3.1. Availability of Source Code.
+Any Covered Software that You distribute or otherwise make available in Executable form must also be made available in Source Code form and that Source Code form must be distributed only under the terms of this License. You must include a copy of this License with every copy of the Source Code form of the Covered Software You distribute or otherwise make available. You must inform recipients of any such Covered Software in Executable form as to how they can obtain such Covered Software in Source Code form in a reasonable manner on or through a medium customarily used for software exchange.
+
+3.2. Modifications.
+The Modifications that You create or to which You contribute are governed by the terms of this License. You represent that You believe Your Modifications are Your original creation(s) and/or You have sufficient rights to grant the rights conveyed by this License.
+
+3.3. Required Notices.
+You must include a notice in each of Your Modifications that identifies You as the Contributor of the Modification. You may not remove or alter any copyright, patent or trademark notices contained within the Covered Software, or any notices of licensing or any descriptive text giving attribution to any Contributor or the Initial Developer.
+
+3.4. Application of Additional Terms.
+You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the applicable version of this License or the recipients’ rights hereunder. 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 the Initial Developer or 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 the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+3.5. Distribution of Executable Versions.
+You may distribute the Executable form of the Covered Software under the terms of this License or under the terms of a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable form does not attempt to limit or alter the recipient’s rights in the Source Code form from the rights set forth in this License. If You distribute the Covered Software in Executable form under a different license, You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+3.6. Larger Works.
+You may create a Larger Work by combining Covered Software with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Software.
+
+4. Versions of the License.
+
+4.1. New Versions.
+Sun Microsystems, Inc. is the initial license steward and may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Except as provided in Section 4.3, no one other than the license steward has the right to modify this License.
+
+4.2. Effect of New Versions.
+You may always continue to use, distribute or otherwise make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. If the Initial Developer includes a notice in the Original Software prohibiting it from being distributed or otherwise made available under any subsequent version of the License, You must distribute and make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. Otherwise, You may also choose to use, distribute or otherwise make the Covered Software available under the terms of any subsequent version of the License published by the license steward.
+
+4.3. Modified Versions.
+When You are an Initial Developer and You want to create a new license for Your Original Software, You may create and use a modified version of this License if You: (a) rename the license and remove any references to the name of the license steward (except to note that the license differs from this License); and (b) otherwise make it clear that the license contains terms which differ from this License.
+
+5. DISCLAIMER OF WARRANTY.
+
+COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN “AS IS” BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, 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 THE INITIAL DEVELOPER OR ANY OTHER 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 HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+6. TERMINATION.
+
+6.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+6.2. If You assert a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You assert such claim is referred to as “Participant”) alleging that the Participant Software (meaning the Contributor Version where the Participant is a Contributor or the Original Software where the Participant is the Initial Developer) directly or indirectly infringes any patent, then any and all rights granted directly or indirectly to You by such Participant, the Initial Developer (if the Initial Developer is not the Participant) and all Contributors under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively and automatically at the expiration of such 60 day notice period, unless if within such 60 day period You withdraw Your claim with respect to the Participant Software against such Participant either unilaterally or pursuant to a written agreement with Participant.
+
+6.3. In the event of termination under Sections 6.1 or 6.2 above, all end user licenses that have been validly granted by You or any distributor hereunder prior to termination (excluding licenses granted to You by any distributor) shall survive termination.
+
+7. LIMITATION OF LIABILITY.
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY 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. U.S. GOVERNMENT END USERS.
+
+The Covered Software is a “commercial item,” as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of “commercial computer software” (as that term is defined at 48 C.F.R. § 252.227-7014(a)(1)) and “commercial computer software documentation” as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those rights set forth herein. This U.S. Government Rights clause is in lieu of, and supersedes, any other FAR, DFAR, or other clause or provision that addresses Government rights in computer software under this License.
+
+9. MISCELLANEOUS.
+
+This License represents the complete agreement concerning 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. This License shall be governed by the law of the jurisdiction specified in a notice contained within the Original Software (except to the extent applicable law, if any, provides otherwise), excluding such jurisdiction’s conflict-of-law provisions. Any litigation relating to this License shall be subject to the jurisdiction of the courts located in the jurisdiction and venue specified in a notice contained within the Original Software, with the losing party responsible for costs, including, without limitation, court costs and reasonable attorneys’ fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. You agree that You alone are responsible for compliance with the United States export administration regulations (and the export control laws and regulation of any other countries) when You use, distribute or otherwise make available any Covered Software.
+
+10. RESPONSIBILITY FOR CLAIMS.
+
+As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
\ No newline at end of file
diff --git a/options/license/CDDL-1.1 b/options/license/CDDL-1.1
new file mode 100644
index 0000000..c718f33
--- /dev/null
+++ b/options/license/CDDL-1.1
@@ -0,0 +1,123 @@
+COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)
+Version 1.1
+
+1. Definitions.
+
+1.1. “Contributor” means each individual or entity that creates or contributes to the creation of Modifications.
+
+1.2. “Contributor Version” means the combination of the Original Software, prior Modifications used by a Contributor (if any), and the Modifications made by that particular Contributor.
+
+1.3. “Covered Software” means (a) the Original Software, or (b) Modifications, or (c) the combination of files containing Original Software with files containing Modifications, in each case including portions thereof.
+
+1.4. “Executable” means the Covered Software in any form other than Source Code.
+
+1.5. “Initial Developer” means the individual or entity that first makes Original Software available under this License.
+
+1.6. “Larger Work” means a work which combines Covered Software or portions thereof with code not governed by the terms of this License.
+
+1.7. “License” means this document.
+
+1.8. “Licensable” means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+1.9. “Modifications” means the Source Code and Executable form of any of the following:
+
+ A. Any file that results from an addition to, deletion from or modification of the contents of a file containing Original Software or previous Modifications;
+
+ B. Any new file that contains any part of the Original Software or previous Modification; or
+
+ C. Any new file that is contributed or otherwise made available under the terms of this License.
+
+1.10. “Original Software” means the Source Code and Executable form of computer software code that is originally released under this License.
+
+1.11. “Patent Claims” means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+1.12. “Source Code” means (a) the common form of computer software code in which modifications are made and (b) associated documentation included in or with such code.
+
+1.13. “You” (or “Your”) means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, “You” includes any entity which 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.
+
+2.1. The Initial Developer Grant.
+Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, the Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license:
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer, to use, reproduce, modify, display, perform, sublicense and distribute the Original Software (or portions thereof), with or without Modifications, and/or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using or selling of Original Software, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Software (or portions thereof).
+
+ (c) The licenses granted in Sections 2.1(a) and (b) are effective on the date Initial Developer first distributes or otherwise makes the Original Software available to a third party under the terms of this License.
+
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: (1) for code that You delete from the Original Software, or (2) for infringements caused by: (i) the modification of the Original Software, or (ii) the combination of the Original Software with other software or devices.
+
+2.2. Contributor Grant.
+Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof), either on an unmodified basis, with other Modifications, as Covered Software and/or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: (1) Modifications made by that Contributor (or portions thereof); and (2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+
+ (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first distributes or otherwise makes the Modifications available to a third party.
+
+ (d) Notwithstanding Section 2.2(b) above, no patent license is granted: (1) for any code that Contributor has deleted from the Contributor Version; (2) for infringements caused by: (i) third party modifications of Contributor Version, or (ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or (3) under Patent Claims infringed by Covered Software in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+3.1. Availability of Source Code.
+Any Covered Software that You distribute or otherwise make available in Executable form must also be made available in Source Code form and that Source Code form must be distributed only under the terms of this License. You must include a copy of this License with every copy of the Source Code form of the Covered Software You distribute or otherwise make available. You must inform recipients of any such Covered Software in Executable form as to how they can obtain such Covered Software in Source Code form in a reasonable manner on or through a medium customarily used for software exchange.
+
+3.2. Modifications.
+The Modifications that You create or to which You contribute are governed by the terms of this License. You represent that You believe Your Modifications are Your original creation(s) and/or You have sufficient rights to grant the rights conveyed by this License.
+
+3.3. Required Notices.
+You must include a notice in each of Your Modifications that identifies You as the Contributor of the Modification. You may not remove or alter any copyright, patent or trademark notices contained within the Covered Software, or any notices of licensing or any descriptive text giving attribution to any Contributor or the Initial Developer.
+
+3.4. Application of Additional Terms.
+You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the applicable version of this License or the recipients' rights hereunder. 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 the Initial Developer or 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 the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+3.5. Distribution of Executable Versions.
+You may distribute the Executable form of the Covered Software under the terms of this License or under the terms of a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable form does not attempt to limit or alter the recipient's rights in the Source Code form from the rights set forth in this License. If You distribute the Covered Software in Executable form under a different license, You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+3.6. Larger Works.
+You may create a Larger Work by combining Covered Software with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Software.
+
+4. Versions of the License.
+
+4.1. New Versions.
+Oracle is the initial license steward and may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Except as provided in Section 4.3, no one other than the license steward has the right to modify this License.
+
+4.2. Effect of New Versions.
+You may always continue to use, distribute or otherwise make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. If the Initial Developer includes a notice in the Original Software prohibiting it from being distributed or otherwise made available under any subsequent version of the License, You must distribute and make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. Otherwise, You may also choose to use, distribute or otherwise make the Covered Software available under the terms of any subsequent version of the License published by the license steward.
+
+4.3. Modified Versions.
+When You are an Initial Developer and You want to create a new license for Your Original Software, You may create and use a modified version of this License if You: (a) rename the license and remove any references to the name of the license steward (except to note that the license differs from this License); and (b) otherwise make it clear that the license contains terms which differ from this License.
+
+5. DISCLAIMER OF WARRANTY.
+COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN “AS IS” BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, 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 THE INITIAL DEVELOPER OR ANY OTHER 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 HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+6. TERMINATION.
+
+6.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+6.2. If You assert a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You assert such claim is referred to as “Participant”) alleging that the Participant Software (meaning the Contributor Version where the Participant is a Contributor or the Original Software where the Participant is the Initial Developer) directly or indirectly infringes any patent, then any and all rights granted directly or indirectly to You by such Participant, the Initial Developer (if the Initial Developer is not the Participant) and all Contributors under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively and automatically at the expiration of such 60 day notice period, unless if within such 60 day period You withdraw Your claim with respect to the Participant Software against such Participant either unilaterally or pursuant to a written agreement with Participant.
+
+6.3. If You assert a patent infringement claim against Participant alleging that the Participant Software directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+6.4. In the event of termination under Sections 6.1 or 6.2 above, all end user licenses that have been validly granted by You or any distributor hereunder prior to termination (excluding licenses granted to You by any distributor) shall survive termination.
+
+7. LIMITATION OF LIABILITY.
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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. U.S. GOVERNMENT END USERS.
+
+The Covered Software is a “commercial item,” as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of “commercial computer software” (as that term is defined at 48 C.F.R. § 252.227-7014(a)(1)) and “commercial computer software documentation” as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those rights set forth herein. This U.S. Government Rights clause is in lieu of, and supersedes, any other FAR, DFAR, or other clause or provision that addresses Government rights in computer software under this License.
+
+9. MISCELLANEOUS.
+
+This License represents the complete agreement concerning 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. This License shall be governed by the law of the jurisdiction specified in a notice contained within the Original Software (except to the extent applicable law, if any, provides otherwise), excluding such jurisdiction's conflict-of-law provisions. Any litigation relating to this License shall be subject to the jurisdiction of the courts located in the jurisdiction and venue specified in a notice contained within the Original Software, with the losing party responsible for costs, including, without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. You agree that You alone are responsible for compliance with the United States export administration regulations (and the export control laws and regulation of any other countries) when You use, distribute or otherwise make available any Covered Software.
+
+10. RESPONSIBILITY FOR CLAIMS.
+
+As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)
+The code released under the CDDL shall be governed by the laws of the State of California (excluding conflict-of-law provisions). Any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California and the state courts of the State of California, with venue lying in Santa Clara County, California.
diff --git a/options/license/CECILL-1.0 b/options/license/CECILL-1.0
new file mode 100644
index 0000000..18d9db3
--- /dev/null
+++ b/options/license/CECILL-1.0
@@ -0,0 +1,216 @@
+CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL
+
+Avertissement
+
+Ce contrat est une licence de logiciel libre issue d’une concertation entre ses auteurs afin que le respect de deux grands principes préside à sa rédaction:
+ • d’une part, sa conformité au droit français, tant au regard du droit de la responsabilité civile que du droit de la propriété intellectuelle et de la protection qu’il offre aux auteurs et titulaires des droits patrimoniaux sur un logiciel.
+ • d’autre part, le respect des principes de diffusion des logiciels libres: accès au code source, droits étendus conférés aux utilisateurs.
+
+Les auteurs de la licence CeCILL1 sont:
+
+Commissariat à l’Energie Atomique – CEA, établissement public de caractère scientifique technique et industriel, dont le siège est situé 31-33 rue de la Fédération, 75752 PARIS cedex 15.
+
+Centre National de la Recherche Scientifique – CNRS, établissement public à caractère scientifique et technologique, dont le siège est situé 3 rue Michel-Ange 75794 Paris cedex 16.
+
+Institut National de Recherche en Informatique et en Automatique – INRIA, établissement public à caractère scientifique et technologique, dont le siège est situé Domaine de Voluceau, Rocquencourt, BP 105, 78153 Le Chesnay cedex.
+
+PREAMBULE
+
+Ce contrat est une licence de logiciel libre dont l'objectif est de conférer aux utilisateurs la liberté de modification et de redistribution du logiciel régi par cette licence dans le cadre d'un modèle de diffusion «open source».
+
+L'exercice de ces libertés est assorti de certains devoirs à la charge des utilisateurs afin de préserver ce statut au cours des redistributions ultérieures.
+
+L’accessibilité au code source et les droits de copie, de modification et de redistribution qui en découlent ont pour contrepartie de n’offrir aux utilisateurs qu’une garantie limitée et de ne faire peser sur l’auteur du logiciel, le titulaire des droits patrimoniaux et les concédants successifs qu’une responsabilité restreinte.
+
+A cet égard l’attention de l’utilisateur est attirée sur les risques associés au chargement, à l’utilisation, à la modification et/ou au développement et à la reproduction du logiciel par l’utilisateur étant donné sa spécificité de logiciel libre, qui peut le rendre complexe à manipuler et qui le réserve donc à des développeurs et des professionnels avertis possédant des connaissances informatiques approfondies. Les utilisateurs sont donc invités à charger et tester l’adéquation du Logiciel à leurs besoins dans des conditions permettant d'assurer la sécurité de leurs systèmes et ou de leurs données et, plus généralement, à l'utiliser et l'exploiter dans les même conditions de sécurité. Ce contrat peut être reproduit et diffusé librement, sous réserve de le conserver en l’état, sans ajout ni suppression de clauses.
+
+Ce contrat est susceptible de s’appliquer à tout logiciel dont le titulaire des droits patrimoniaux décide de soumettre l’exploitation aux dispositions qu’il contient.
+
+Article 1er - DEFINITIONS
+
+Dans ce contrat, les termes suivants, lorsqu’ils seront écrits avec une lettre capitale, auront la signification suivante:
+
+Contrat: désigne le présent contrat de licence, ses éventuelles versions postérieures et annexes.
+
+Logiciel: désigne le logiciel sous sa forme de Code Objet et/ou de Code Source et le cas échéant sa documentation, dans leur état au moment de l’acceptation du
+Contrat par le Licencié.
+
+Logiciel Initial: désigne le Logiciel sous sa forme de Code Source et de Code Objet et le cas échéant sa documentation, dans leur état au moment de leur première diffusion sous les termes du Contrat.
+
+Logiciel Modifié: désigne le Logiciel modifié par au moins une Contribution.
+
+Code Source: désigne l’ensemble des instructions et des lignes de programme du Logiciel et auquel l’accès est nécessaire en vue de modifier le Logiciel.
+
+Code Objet: désigne les fichiers binaires issus de la compilation du Code Source.
+
+Titulaire : désigne le détenteur des droits patrimoniaux d’auteur sur le Logiciel Initial.
+
+Licencié(s): désigne le ou les utilisateur(s) du Logiciel ayant accepté le Contrat.
+
+Contributeur: désigne le Licencié auteur d’au moins une Contribution.
+
+Concédant: désigne le Titulaire ou toute personne physique ou morale distribuant le Logiciel sous le Contrat.
+
+Contributions: désigne l’ensemble des modifications, corrections, traductions, adaptations et/ou nouvelles fonctionnalités intégrées dans le Logiciel par tout
+
+Contributeur, ainsi que les Modules Statiques.
+
+Module: désigne un ensemble de fichiers sources y compris leur documentation qui, une fois compilé sous forme exécutable, permet de réaliser des fonctionnalités ou
+services supplémentaires à ceux fournis par le Logiciel.
+
+Module Dynamique: désigne tout Module, créé par le Contributeur, indépendant du Logiciel, tel que ce Module et le Logiciel sont sous forme de deux exécutables indépendants qui s’exécutent dans un espace d’adressage indépendant, l’un appelant l’autre au moment de leur exécution.
+
+Module Statique: désigne tout Module créé par le Contributeur et lié au Logiciel par un lien statique rendant leur code objet dépendant l'un de l'autre. Ce Module et le Logiciel auquel il est lié, sont regroupés en un seul exécutable.
+
+Parties: désigne collectivement le Licencié et le Concédant.
+
+Ces termes s’entendent au singulier comme au pluriel.
+
+Article 2 - OBJET
+
+Le Contrat a pour objet la concession par le Concédant au Licencié d’une Licence non exclusive, transférable et mondiale du Logiciel telle que définie ci-après à l'article 5 pour toute la durée de protection des droits portant sur ce Logiciel.
+
+Article 3 - ACCEPTATION
+
+3.1. L’acceptation par le Licencié des termes du Contrat est réputée acquise du fait du premier des faits suivants:
+ • (i) le chargement du Logiciel par tout moyen notamment par téléchargement à partir d’un serveur distant ou par chargement à partir d’un support physique;
+ • (ii) le premier exercice par le Licencié de l’un quelconque des droits concédés par le Contrat.
+
+3.2. Un exemplaire du Contrat, contenant notamment un avertissement relatif aux spécificités du Logiciel, à la restriction de garantie et à la limitation à un usage par des utilisateurs expérimentés a été mis à disposition du Licencié préalablement à son acceptation telle que définie à l'article 3.1 ci dessus et le Licencié reconnaît en avoir pris connaissances.
+
+Article 4 - ENTREE EN VIGUEUR ET DUREE
+
+4.1.ENTREE EN VIGUEUR
+
+Le Contrat entre en vigueur à la date de son acceptation par le Licencié telle que définie en 3.1.
+
+4.2. DUREE
+
+Le Contrat produira ses effets pendant toute la durée légale de protection des droits patrimoniaux portant sur le Logiciel.
+
+Article 5 - ETENDUE DES DROITS CONCEDES
+
+Le Concédant concède au Licencié, qui accepte, les droits suivants sur le Logiciel pour toutes destinations et pour la durée du Contrat dans les conditions ci-après détaillées.
+
+Par ailleurs, le Concédant concède au Licencié à titre gracieux les droits d’exploitation du ou des brevets qu’il détient sur tout ou partie des inventions
+implémentées dans le Logiciel.
+
+5.1. DROITS D’UTILISATION
+
+Le Licencié est autorisé à utiliser le Logiciel, sans restriction quant aux domaines d’application, étant ci-après précisé que cela comporte:
+ 1. la reproduction permanente ou provisoire du Logiciel en tout ou partie par tout moyen et sous toute forme.
+ 2. le chargement, l’affichage, l’exécution, ou le stockage du Logiciel sur tout support.
+ 3. la possibilité d’en observer, d’en étudier, ou d’en tester le fonctionnement afin de déterminer les idées et principes qui sont à la base de n’importe quel élément de ce Logiciel; et ceci, lorsque le Licencié effectue toute opération de chargement, d’affichage, d’exécution, de transmission ou de stockage du Logiciel qu’il est en droit d’effectuer en vertu du Contrat.
+
+5.2. DROIT D’APPORTER DES CONTRIBUTIONS
+
+Le droit d’apporter des Contributions comporte le droit de traduire, d’adapter, d’arranger ou d’apporter toute autre modification du Logiciel et le droit de reproduire le Logiciel en résultant.
+
+Le Licencié est autorisé à apporter toute Contribution au Logiciel sous réserve de mentionner, de façon explicite, son nom en tant qu’auteur de cette Contribution et la date de création de celle-ci.
+
+5.3. DROITS DE DISTRIBUTION ET DE DIFFUSION
+
+Le droit de distribution et de diffusion comporte notamment le droit de transmettre et de communiquer le Logiciel au public sur tout support et par tout moyen ainsi que le droit de mettre sur le marché à titre onéreux ou gratuit, un ou des exemplaires du Logiciel par tout procédé.
+
+Le Licencié est autorisé à redistribuer des copies du Logiciel, modifié ou non, à des tiers dans les conditions ci-après détaillées.
+
+5.3.1. REDISTRIBUTION DU LOGICIEL SANS MODIFICATION
+Le Licencié est autorisé à redistribuer des copies conformes du Logiciel, sous forme de Code Source ou de Code Objet, à condition que cette redistribution respecte les dispositions du Contrat dans leur totalité et soit accompagnée:
+ 1. d’un exemplaire du Contrat,
+ 2. d’un avertissement relatif à la restriction de garantie et de responsabilité du Concédant telle que prévue aux articles 8 et 9,
+et que, dans le cas où seul le Code Objet du Logiciel est redistribué, le Licencié permette aux futurs Licenciés d’accéder facilement au Code Source complet du Logiciel en indiquant les modalités d’accès, étant entendu que le coût additionnel d’acquisition du Code Source ne devra pas excéder le simple coût de transfert des données.
+
+5.3.2. REDISTRIBUTION DU LOGICIEL MODIFIE
+Lorsque le Licencié apporte une Contribution au Logiciel, les conditions de redistribution du Logiciel Modifié sont alors soumises à l’intégralité des dispositions du Contrat.
+Le Licencié est autorisé à redistribuer le Logiciel Modifié, sous forme de Code Source ou de Code Objet, à condition que cette redistribution respecte les dispositions du Contrat dans leur totalité et soit accompagnée:
+ 1. d’un exemplaire du Contrat,
+ 2. d’un avertissement relatif à la restriction de garantie et de responsabilité du concédant telle que prévue aux articles 8 et 9,
+et que, dans le cas où seul le Code Objet du Logiciel Modifié est redistribué, le Licencié permette aux futurs Licenciés d’accéder facilement au Code Source complet du Logiciel Modifié en indiquant les modalités d’accès, étant entendu que le coût additionnel d’acquisition du Code Source ne devra pas excéder le simple coût de transfert des données.
+
+5.3.3. REDISTRIBUTION DES MODULES DYNAMIQUES
+Lorsque le Licencié a développé un Module Dynamique les conditions du Contrat ne s’appliquent pas à ce Module Dynamique, qui peut être distribué sous un contrat de licence différent.
+
+5.3.4. COMPATIBILITE AVEC LA LICENCE GPL
+Dans le cas où le Logiciel, Modifié ou non, est intégré à un code soumis aux dispositions de la licence GPL, le Licencié est autorisé à redistribuer l’ensemble sous la licence GPL.
+Dans le cas où le Logiciel Modifié intègre un code soumis aux dispositions de la licence GPL, le Licencié est autorisé à redistribuer le Logiciel Modifié sous la licence GPL.
+
+Article 6 - PROPRIETE INTELLECTUELLE
+
+6.1. SUR LE LOGICIEL INITIAL
+Le Titulaire est détenteur des droits patrimoniaux sur le Logiciel Initial. Toute utilisation du Logiciel Initial est soumise au respect des conditions dans lesquelles le Titulaire a choisi de diffuser son œuvre et nul autre n’a la faculté de modifier les conditions de diffusion de ce Logiciel Initial.
+Le Titulaire s'engage à maintenir la diffusion du Logiciel initial sous les conditions du Contrat et ce, pour la durée visée à l'article 4.2.
+
+6.2. SUR LES CONTRIBUTIONS
+Les droits de propriété intellectuelle sur les Contributions sont attachés au titulaire de droits patrimoniaux désigné par la législation applicable.
+
+6.3. SUR LES MODULES DYNAMIQUES
+Le Licencié ayant développé un Module Dynamique est titulaire des droits de propriété intellectuelle sur ce Module Dynamique et reste libre du choix du contrat régissant sa diffusion.
+
+6.4. DISPOSITIONS COMMUNES
+
+6.4.1. Le Licencié s’engage expressément:
+ 1. à ne pas supprimer ou modifier de quelque manière que ce soit les mentions de propriété intellectuelle apposées sur le Logiciel;
+ 2. à reproduire à l’identique lesdites mentions de propriété intellectuelle sur les copies du Logiciel.
+6.4.2. Le Licencié s’engage à ne pas porter atteinte, directement ou indirectement, aux droits de propriété intellectuelle du Titulaire et/ou des Contributeurs et à prendre, le cas échéant, à l’égard de son personnel toutes les mesures nécessaires pour assurer le respect des dits droits de propriété intellectuelle du Titulaire et/ou des Contributeurs.
+
+Article 7 - SERVICES ASSOCIES
+
+7.1. Le Contrat n’oblige en aucun cas le Concédant à la réalisation de prestations d’assistance technique ou de maintenance du Logiciel.
+Cependant le Concédant reste libre de proposer ce type de services. Les termes et conditions d’une telle assistance technique et/ou d’une telle maintenance seront alors déterminés dans un acte séparé. Ces actes de maintenance et/ou assistance technique n’engageront que la seule responsabilité du Concédant qui les propose.
+
+7.2. De même, tout Concédant est libre de proposer, sous sa seule responsabilité, à ses licenciés une garantie, qui n’engagera que lui, lors de la redistribution du Logiciel et/ou du Logiciel Modifié et ce, dans les conditions qu’il souhaite. Cette garantie et les modalités financières de son application feront l’objet d’un acte séparé entre le Concédant et le Licencié.
+
+Article 8 - RESPONSABILITE
+
+8.1. Sous réserve des dispositions de l’article 8.2, si le Concédant n’exécute pas tout ou partie des obligations mises à sa charge par le Contrat, le Licencié a la faculté, sous réserve de prouver la faute du Concédant concerné, de solliciter la réparation du préjudice direct qu’il subit et dont il apportera la preuve.
+
+8.2. La responsabilité du Concédant est limitée aux engagements pris en application du Contrat et ne saurait être engagée en raison notamment:(i) des dommages dus à l’inexécution, totale ou partielle, de ses obligations par le Licencié, (ii) des dommages directs ou indirects découlant de l’utilisation ou des performances du Logiciel subis par le Licencié lorsqu’il s’agit d’un professionnel utilisant le Logiciel à des fins professionnelles et (iii) des dommages indirects découlant de l’utilisation ou des performances du Logiciel. Les Parties conviennent expressément que tout préjudice financier ou commercial (par exemple perte de données, perte de bénéfices, perte d’exploitation, perte de clientèle ou de commandes, manque à gagner, trouble commercial quelconque) ou toute action dirigée contre le Licencié par un tiers, constitue un dommage indirect et n’ouvre pas droit à réparation par le Concédant.
+
+Article 9 - GARANTIE
+
+9.1. Le Licencié reconnaît que l’état actuel des connaissances scientifiques et techniques au moment de la mise en circulation du Logiciel ne permet pas d’en tester et d’en vérifier toutes les utilisations ni de détecter l’existence d’éventuels défauts. L’attention du Licencié a été attirée sur ce point sur les risques associés au chargement, à l’utilisation, la modification et/ou au développement et à la reproduction du Logiciel qui sont réservés à des utilisateurs avertis.
+Il relève de la responsabilité du Licencié de contrôler, par tous moyens, l’adéquation du produit à ses besoins, son bon fonctionnement et de s'assurer qu’il ne causera pas de dommages aux personnes et aux biens.
+
+9.2. Le Concédant déclare de bonne foi être en droit de concéder l'ensemble des droits attachés au Logiciel (comprenant notamment les droits visés à l'article 5).
+
+9.3. Le Licencié reconnaît que le Logiciel est fourni «en l'état» par le Concédant sans autre garantie, expresse ou tacite, que celle prévue à l’article 9.2 et notamment sans aucune garantie sur sa valeur commerciale, son caractère sécurisé, innovant ou pertinent.
+En particulier, le Concédant ne garantit pas que le Logiciel est exempt d'erreur, qu’il fonctionnera sans interruption, qu’il sera compatible avec l’équipement du Licencié et sa configuration logicielle ni qu’il remplira les besoins du Licencié.
+
+9.4. Le Concédant ne garantit pas, de manière expresse ou tacite, que le Logiciel ne porte pas atteinte à un quelconque droit de propriété intellectuelle d’un tiers portant sur un brevet, un logiciel ou sur tout autre droit de propriété. Ainsi, le Concédant exclut toute garantie au profit du Licencié contre les actions en contrefaçon qui pourraient être diligentées au titre de l’utilisation, de la modification, et de la redistribution du Logiciel. Néanmoins, si de telles actions sont exercées contre le Licencié, le Concédant lui apportera son aide technique et juridique pour sa défense. Cette aide technique et juridique est déterminée au cas par cas entre le Concédant concerné et le Licencié dans le cadre d’un protocole d’accord. Le Concédant dégage toute responsabilité quant à l’utilisation de la dénomination du Logiciel par le Licencié. Aucune garantie n’est apportée quant à l’existence de droits antérieurs sur le nom du Logiciel et sur l’existence d’une marque.
+
+Article 10 - RESILIATION
+
+10.1. En cas de manquement par le Licencié aux obligations mises à sa charge par le Contrat, le Concédant pourra résilier de plein droit le Contrat trente (30) jours après notification adressée au Licencié et restée sans effet.
+10.2. Le Licencié dont le Contrat est résilié n’est plus autorisé à utiliser, modifier ou distribuer le Logiciel. Cependant, toutes les licences qu’il aura concédées antérieurement à la résiliation du Contrat resteront valides sous réserve qu’elles aient été effectuées en conformité avec le Contrat.
+
+Article 11 - DISPOSITIONS DIVERSES
+
+11.1. CAUSE EXTERIEURE
+Aucune des Parties ne sera responsable d’un retard ou d’une défaillance d’exécution du Contrat qui serait dû à un cas de force majeure, un cas fortuit ou une cause extérieure, telle que, notamment, le mauvais fonctionnement ou les interruptions du réseau électrique ou de télécommunication, la paralysie du réseau liée à une attaque informatique, l’intervention des autorités gouvernementales, les catastrophes naturelles, les dégâts des eaux, les tremblements de terre, le feu, les explosions, les grèves et les conflits sociaux, l’état de guerre…
+
+11.2. Le fait, par l’une ou l’autre des Parties, d’omettre en une ou plusieurs occasions de se prévaloir d’une ou plusieurs dispositions du Contrat, ne pourra en aucun cas impliquer renonciation par la Partie intéressée à s’en prévaloir ultérieurement.
+
+11.3. Le Contrat annule et remplace toute convention antérieure, écrite ou orale, entre les Parties sur le même objet et constitue l’accord entier entre les Parties sur cet objet. Aucune addition ou modification aux termes du Contrat n’aura d’effet à l’égard des Parties à moins d’être faite par écrit et signée par leurs représentants dûment habilités.
+
+11.4. Dans l’hypothèse où une ou plusieurs des dispositions du Contrat s’avèrerait contraire à une loi ou à un texte applicable, existants ou futurs, cette loi ou ce texte prévaudrait, et les Parties feraient les amendements nécessaires pour se conformer à cette loi ou à ce texte. Toutes les autres dispositions resteront en vigueur. De même, la nullité, pour quelque raison que ce soit, d’une des dispositions du Contrat ne saurait entraîner la nullité de l’ensemble du Contrat.
+
+11.5. LANGUE
+Le Contrat est rédigé en langue française et en langue anglaise. En cas de divergence d’interprétation, seule la version française fait foi.
+
+Article 12 - NOUVELLES VERSIONS DU CONTRAT
+
+12.1. Toute personne est autorisée à copier et distribuer des copies de ce Contrat.
+
+12.2. Afin d’en préserver la cohérence, le texte du Contrat est protégé et ne peut être modifié que par les auteurs de la licence, lesquels se réservent le droit de publier périodiquement des mises à jour ou de nouvelles versions du Contrat, qui possèderont chacune un numéro distinct. Ces versions ultérieures seront susceptibles de prendre en compte de nouvelles problématiques rencontrées par les logiciels libres.
+
+12.3. Tout Logiciel diffusé sous une version donnée du Contrat ne pourra faire l'objet d'une diffusion ultérieure que sous la même version du Contrat ou une version postérieure, sous réserve des dispositions de l'article 5.3.4.
+
+Article 13 - LOI APPLICABLE ET COMPETENCE TERRITORIALE
+
+13.1. Le Contrat est régi par la loi française. Les Parties conviennent de tenter de régler à l’amiable les différends ou litiges qui viendraient à se produire par suite ou à l’occasion du Contrat.
+
+13.2. A défaut d’accord amiable dans un délai de deux (2) mois à compter de leur survenance et sauf situation relevant d’une procédure d’urgence, les différends ou litiges seront portés par la Partie la plus diligente devant les Tribunaux compétents de Paris.
+
+1 Ce: CEA, C: CNRS, I: INRIA, LL: Logiciel Libre
+
+Version 1 du 21/06/2004
diff --git a/options/license/CECILL-1.1 b/options/license/CECILL-1.1
new file mode 100644
index 0000000..8dfaeeb
--- /dev/null
+++ b/options/license/CECILL-1.1
@@ -0,0 +1,229 @@
+ FREE SOFTWARE LICENSING AGREEMENT CeCILL
+
+Notice
+
+This Agreement is a free software license that is the result of discussions between its authors in order to ensure compliance with the two main principles guiding its drafting:
+ - firstly, its conformity with French law, both as regards the law of torts and intellectual property law, and the protection that it offers to authors and the holders of economic rights over software.
+ - secondly, compliance with the principles for the distribution of free software: access to source codes, extended user-rights.
+
+The following bodies are the authors of this license CeCILL (Ce : CEA, C : CNRS, I : INRIA, LL : Logiciel Libre):
+
+Commissariat à l'Energie Atomique - CEA, a public scientific, technical and industrial establishment, having its principal place of business at 31-33 rue de la Fédération, 75752 PARIS cedex 15, France.
+
+Centre National de la Recherche Scientifique - CNRS, a public scientific and technological establishment, having its principal place of business at 3 rue Michel-Ange 75794 Paris cedex 16, France.
+
+Institut National de Recherche en Informatique et en Automatique - INRIA, a public scientific and technological establishment, having its principal place of business at Domaine de Voluceau, Rocquencourt, BP 105, 78153 Le Chesnay cedex.
+
+PREAMBLE
+
+The purpose of this Free Software Licensing Agreement is to grant users the right to modify and redistribute the software governed by this license within the framework of an "open source" distribution model.
+
+The exercising of these rights is conditional upon certain obligations for users so as to ensure that this status is retained for subsequent redistribution operations.
+
+As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors only have limited liability.
+
+In this respect, it is brought to the user's attention that the risks associated with loading, using, modifying and/or developing or reproducing the software by the user given its nature of Free Software, that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge. Users are therefore encouraged to load and test the Software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured and, more generally, to use and operate it in the same conditions of security. This Agreement may be freely reproduced and published, provided it is not altered, and that no Articles are either added or removed herefrom.
+
+This Agreement may apply to any or all software for which the holder of the economic rights decides to submit the operation thereof to its provisions.
+
+Article 1 - DEFINITIONS
+
+For the purposes of this Agreement, when the following expressions commence with a capital letter, they shall have the following meaning:
+
+Agreement: means this Licensing Agreement, and any or all of its subsequent versions.
+
+Software: means the software in its Object Code and/or Source Code form and, where applicable, its documentation, "as is" at the time when the Licensee accepts the Agreement.
+
+Initial Software: means the Software in its Source Code and/or Object Code form and, where applicable, its documentation, "as is" at the time when it is distributed for the first time under the terms and conditions of the Agreement.
+
+Modified Software: means the Software modified by at least one Contribution.
+
+Source Code: means all the Software's instructions and program lines to which access is required so as to modify the Software.
+
+Object Code: means the binary files originating from the compilation of the Source Code.
+
+Holder: means the holder of the economic rights over the Initial Software.
+
+Licensee(s): mean(s) the Software user(s) having accepted the Agreement.
+
+Contributor: means a Licensee having made at least one Contribution.
+
+Licensor: means the Holder, or any or all other individual or legal entity, that distributes the Software under the Agreement.
+
+Contributions: mean any or all modifications, corrections, translations, adaptations and/or new functionalities integrated into the Software by any or all Contributor, and the Static Modules.
+
+Module: means a set of sources files including their documentation that, once compiled in executable form, enables supplementary functionalities or services to be developed in addition to those offered by the Software.
+
+Dynamic Module: means any or all module, created by the Contributor, that is independent of the Software, so that this module and the Software are in two different executable forms that are run in separate address spaces, with one calling the other when they are run.
+
+Static Module: means any or all module, created by the Contributor and connected to the Software by a static link that makes their object codes interdependent. This module and the Software to which it is connected, are combined in a single executable.
+
+Parties: mean both the Licensee and the Licensor.
+
+These expressions may be used both in singular and plural form.
+
+Article 2 - PURPOSE
+
+The purpose of the Agreement is to enable the Licensor to grant the Licensee a free, non-exclusive, transferable and worldwide License for the Software as set forth in Article 5 hereinafter for the whole term of protection of the rights over said Software.
+
+Article 3 - ACCEPTANCE
+
+3.1. The Licensee shall be deemed as having accepted the terms and conditions of this Agreement by the occurrence of the first of the following events:
+ (i) loading the Software by any or all means, notably, by downloading from a remote server, or by loading from a physical medium;
+ (ii) the first time the Licensee exercises any of the rights granted hereunder.
+
+3.2. One copy of the Agreement, containing a notice relating to the specific nature of the Software, to the limited warranty, and to the limitation to use by experienced users has been provided to the Licensee prior to its acceptance as set forth in Article 3.1 hereinabove, and the Licensee hereby acknowledges that it is aware thereof.
+
+Article 4 - EFFECTIVE DATE AND TERM
+
+4.1. EFFECTIVE DATE
+
+The Agreement shall become effective on the date when it is accepted by the Licensee as set forth in Article 3.1.
+
+4.2. TERM
+
+The Agreement shall remain in force during the whole legal term of protection of the economic rights over the Software.
+
+Article 5 - SCOPE OF THE RIGHTS GRANTED ---------------------------------------
+
+The Licensor hereby grants to the Licensee, that accepts such, the following rights as regards the Software for any or all use, and for the term of the Agreement, on the basis of the terms and conditions set forth hereinafter.
+
+Otherwise, the Licensor grants to the Licensee free of charge exploitation rights on the patents he holds on whole or part of the inventions implemented in the Software.
+
+5.1. RIGHTS OF USE
+
+The Licensee is authorized to use the Software, unrestrictedly, as regards the fields of application, with it being hereinafter specified that this relates to:
+ 1. permanent or temporary reproduction of all or part of the Software by any or all means and in any or all form.
+ 2. loading, displaying, running, or storing the Software on any or all medium.
+ 3. entitlement to observe, study or test the operation thereof so as to establish the ideas and principles that form the basis for any or all constituent elements of said Software. This shall apply when the Licensee carries out any or all loading, displaying, running, transmission or storage operation as regards the Software, that it is entitled to carry out hereunder.
+
+5.2. entitlement to make CONTRIBUTIONS
+
+The right to make Contributions includes the right to translate, adapt, arrange, or make any or all modification to the Software, and the right to reproduce the resulting Software.
+
+The Licensee is authorized to make any or all Contribution to the Software provided that it explicitly mentions its name as the author of said Contribution and the date of the development thereof.
+
+5.3. DISTRIBUTION AND PUBLICATION RIGHTS
+
+In particular, the right of distribution and publication includes the right to transmit and communicate the Software to the general public on any or all medium, and by any or all means, and the right to market, either in consideration of a fee, or free of charge, a copy or copies of the Software by means of any or all process. The Licensee is further authorized to redistribute copies of the modified or unmodified Software to third parties according to the terms and conditions set forth hereinafter.
+
+5.3.1. REDISTRIBUTION OF SOFTWARE WITHOUT MODIFICATION
+
+The Licensee is authorized to redistribute true copies of the Software in Source Code or Object Code form, provided that said redistribution complies with all the provisions of the Agreement and is accompanied by:
+
+ 1. a copy of the Agreement,
+ 2. a notice relating to the limitation of both the Licensor's warranty and liability as set forth in Articles 8 and 9,
+
+and that, in the event that only the Software's Object Code is redistributed, the Licensee allows future Licensees unhindered access to the Software's full Source Code by providing them with the terms and conditions for access thereto, it being understood that the additional cost of acquiring the Source Code shall not exceed the cost of transferring the data.
+
+5.3.2. REDISTRIBUTION OF MODIFIED SOFTWARE
+
+When the Licensee makes a Contribution to the Software, the terms and conditions for the redistribution of the Modified Software shall then be subject to all the provisions hereof.
+
+The Licensee is authorized to redistribute the Modified Software, in Source Code or Object Code form, provided that said redistribution complies with all the provisions of the Agreement and is accompanied by:
+
+ 1. a copy of the Agreement,
+ 2. a notice relating to the limitation of both the Licensor's warranty and liability as set forth in Articles 8 and 9,
+
+and that, in the event that only the Modified Software's Object Code is redistributed, the Licensee allows future Licensees unhindered access to the Modified Software's full Source Code by providing them with the terms and conditions for access thereto, it being understood that the additional cost of acquiring the Source Code shall not exceed the cost of transferring the data.
+
+5.3.3. redistribution OF DYNAMIC MODULES
+
+When the Licensee has developed a Dynamic Module, the terms and conditions hereof do not apply to said Dynamic Module, that may be distributed under a separate Licensing Agreement.
+
+5.3.4. COMPATIBILITY WITH THE GPL LICENSE
+
+In the event that the Modified or unmodified Software is included in a code that is subject to the provisions of the GPL License, the Licensee is authorized to redistribute the whole under the GPL License.
+
+In the event that the Modified Software includes a code that is subject to the provisions of the GPL License, the Licensee is authorized to redistribute the Modified Software under the GPL License.
+
+Article 6 - INTELLECTUAL PROPERTY
+
+6.1. OVER THE INITIAL SOFTWARE
+
+The Holder owns the economic rights over the Initial Software. Any or all use of the Initial Software is subject to compliance with the terms and conditions under which the Holder has elected to distribute its work and no one shall be entitled to and it shall have sole entitlement to modify the terms and conditions for the distribution of said Initial Software.
+
+The Holder undertakes to maintain the distribution of the Initial Software under the conditions of the Agreement, for the duration set forth in article 4.2..
+
+6.2. OVER THE CONTRIBUTIONS
+
+The intellectual property rights over the Contributions belong to the holder of the economic rights as designated by effective legislation.
+
+6.3. OVER THE DYNAMIC MODULES
+
+The Licensee having developed a Dynamic Module is the holder of the intellectual property rights over said Dynamic Module and is free to choose the agreement that shall govern its distribution.
+
+6.4. JOINT PROVISIONS
+
+6.4.1. The Licensee expressly undertakes:
+
+ 1. not to remove, or modify, in any or all manner, the intellectual property notices affixed to the Software;
+ 2. to reproduce said notices, in an identical manner, in the copies of the Software.
+
+6.4.2. The Licensee undertakes not to directly or indirectly infringe the intellectual property rights of the Holder and/or Contributors and to take, where applicable, vis-à-vis its staff, any or all measures required to ensure respect for said intellectual property rights of the Holder and/or Contributors.
+
+Article 7 - RELATED SERVICES
+
+7.1. Under no circumstances shall the Agreement oblige the Licensor to provide technical assistance or maintenance services for the Software.
+
+However, the Licensor is entitled to offer this type of service. The terms and conditions of such technical assistance, and/or such maintenance, shall then be set forth in a separate instrument. Only the Licensor offering said maintenance and/or technical assistance services shall incur liability therefor.
+
+7.2. Similarly, any or all Licensor shall be entitled to offer to its Licensees, under its own responsibility, a warranty, that shall only be binding upon itself, for the redistribution of the Software and/or the Modified Software, under terms and conditions that it shall decide upon itself. Said warranty, and the financial terms and conditions of its application, shall be subject to a separate instrument executed between the Licensor and the Licensee.
+
+Article 8 - LIABILITY
+
+8.1. Subject to the provisions of Article 8.2, should the Licensor fail to fulfill all or part of its obligations hereunder, the Licensee shall be entitled to claim compensation for the direct loss suffered as a result of a fault on the part of the Licensor, subject to providing evidence of it.
+
+8.2. The Licensor's liability is limited to the commitments made under this Licensing Agreement and shall not be incurred as a result , in particular: (i) of loss due the Licensee's total or partial failure to fulfill its obligations, (ii) direct or consequential loss due to the Software's use or performance that is suffered by the Licensee, when the latter is a professional using said Software for professional purposes and (iii) consequential loss due to the Software's use or performance. The Parties expressly agree that any or all pecuniary or business loss (i.e. loss of data, loss of profits, operating loss, loss of customers or orders, opportunity cost, any disturbance to business activities) or any or all legal proceedings instituted against the Licensee by a third party, shall constitute consequential loss and shall not provide entitlement to any or all compensation from the Licensor.
+
+Article 9 - WARRANTY
+
+9.1. The Licensee acknowledges that the current situation as regards scientific and technical know-how at the time when the Software was distributed did not enable all possible uses to be tested and verified, nor for the presence of any or all faults to be detected. In this respect, the Licensee's attention has been drawn to the risks associated with loading, using, modifying and/or developing and reproducing the Software that are reserved for experienced users.
+
+The Licensee shall be responsible for verifying, by any or all means, the product's suitability for its requirements, its due and proper functioning, and for ensuring that it shall not cause damage to either persons or property.
+
+9.2. The Licensor hereby represents, in good faith, that it is entitled to grant all the rights on the Software (including in particular the rights set forth in Article 5 hereof over the Software).
+
+9.3. The Licensee acknowledges that the Software is supplied "as is" by the Licensor without any or all other express or tacit warranty, other than that provided for in Article 9.2 and, in particular, without any or all warranty as to its market value, its secured, innovative or relevant nature.
+
+Specifically, the Licensor does not warrant that the Software is free from any or all error, that it shall operate continuously, that it shall be compatible with the Licensee's own equipment and its software configuration, nor that it shall meet the Licensee's requirements.
+
+9.4. The Licensor does not either expressly or tacitly warrant that the Software does not infringe any or all third party intellectual right relating to a patent, software or to any or all other property right. Moreover, the Licensor shall not hold the Licensee harmless against any or all proceedings for infringement that may be instituted in respect of the use, modification and redistribution of the Software. Nevertheless, should such proceedings be instituted against the Licensee, the Licensor shall provide it with technical and legal assistance for its defense. Such technical and legal assistance shall be decided upon on a case-by-case basis between the relevant Licensor and the Licensee pursuant to a memorandum of understanding. The Licensor disclaims any or all liability as regards the Licensee's use of the Software's name. No warranty shall be provided as regards the existence of prior rights over the name of the Software and as regards the existence of a trademark.
+
+Article 10 - TERMINATION
+
+10.1. In the event of a breach by the Licensee of its obligations hereunder, the Licensor may automatically terminate this Agreement thirty (30) days after notice has been sent to the Licensee and has remained ineffective.
+
+10.2. The Licensee whose Agreement is terminated shall no longer be authorized to use, modify or distribute the Software. However, any or all licenses that it may have granted prior to termination of the Agreement shall remain valid subject to their having been granted in compliance with the terms and conditions hereof.
+
+Article 11 - MISCELLANEOUS PROVISIONS
+
+11.1. EXCUSABLE EVENTS
+
+Neither Party shall be liable for any or all delay, or failure to perform the Agreement, that may be attributable to an event of force majeure, an act of God or an outside cause, such as, notably, defective functioning, or interruptions affecting the electricity or telecommunications networks, blocking of the network following a virus attack, the intervention of the government authorities, natural disasters, water damage, earthquakes, fire, explosions, strikes and labor unrest, war, etc.
+
+11.2. The fact that either Party may fail, on one or several occasions, to invoke one or several of the provisions hereof, shall under no circumstances be interpreted as being a waiver by the interested Party of its entitlement to invoke said provision(s) subsequently.
+
+11.3. The Agreement cancels and replaces any or all previous agreement, whether written or oral, between the Parties and having the same purpose, and constitutes the entirety of the agreement between said Parties concerning said purpose. No supplement or modification to the terms and conditions hereof shall be effective as regards the Parties unless it is made in writing and signed by their duly authorized representatives.
+
+11.4. In the event that one or several of the provisions hereof were to conflict with a current or future applicable act or legislative text, said act or legislative text shall take precedence, and the Parties shall make the necessary amendments so as to be in compliance with said act or legislative text. All the other provisions shall remain effective. Similarly, the fact that a provision of the Agreement may be null and void, for any reason whatsoever, shall not cause the Agreement as a whole to be null and void.
+
+11.5. LANGUAGE
+
+The Agreement is drafted in both French and English. In the event of a conflict as regards construction, the French version shall be deemed authentic.
+
+Article 12 - NEW VERSIONS OF THE AGREEMENT
+
+12.1. Any or all person is authorized to duplicate and distribute copies of this Agreement.
+
+12.2. So as to ensure coherence, the wording of this Agreement is protected and may only be modified by the authors of the License, that reserve the right to periodically publish updates or new versions of the Agreement, each with a separate number. These subsequent versions may address new issues encountered by Free Software.
+
+12.3. Any or all Software distributed under a given version of the Agreement may only be subsequently distributed under the same version of the Agreement, or a subsequent version, subject to the provisions of article 5.3.4.
+
+Article 13 - GOVERNING LAW AND JURISDICTION
+
+13.1. The Agreement is governed by French law. The Parties agree to endeavor to settle the disagreements or disputes that may arise during the performance of the Agreement out-of-court.
+
+13.2. In the absence of an out-of-court settlement within two (2) months as from their occurrence, and unless emergency proceedings are necessary, the disagreements or disputes shall be referred to the Paris Courts having jurisdiction, by the first Party to take action.
+
+ Version 1.1 of 10/26/2004
\ No newline at end of file
diff --git a/options/license/CECILL-2.0 b/options/license/CECILL-2.0
new file mode 100644
index 0000000..edac8f4
--- /dev/null
+++ b/options/license/CECILL-2.0
@@ -0,0 +1,241 @@
+CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL
+
+Avertissement
+
+Ce contrat est une licence de logiciel libre issue d'une concertation entre ses auteurs afin que le respect de deux grands principes préside à sa rédaction:
+
+d'une part, le respect des principes de diffusion des logiciels libres: accès au code source, droits étendus conférés aux utilisateurs,
+d'autre part, la désignation d'un droit applicable, le droit français, auquel elle est conforme, tant au regard du droit de la responsabilité civile que du droit de la propriété intellectuelle et de la protection qu'il offre aux auteurs et titulaires des droits patrimoniaux sur un logiciel.
+Les auteurs de la licence CeCILL1 sont:
+
+Commissariat à l'Energie Atomique - CEA, établissement public de recherche à caractère scientifique, technique et industriel, dont le siège est situé 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris.
+
+Centre National de la Recherche Scientifique - CNRS, établissement public à caractère scientifique et technologique, dont le siège est situé 3 rue Michel-Ange, 75794 Paris cedex 16.
+
+Institut National de Recherche en Informatique et en Automatique - INRIA, établissement public à caractère scientifique et technologique, dont le siège est situé Domaine de Voluceau, Rocquencourt, BP 105, 78153 Le Chesnay cedex.
+
+Préambule
+
+Ce contrat est une licence de logiciel libre dont l'objectif est de conférer aux utilisateurs la liberté de modification et de redistribution du logiciel régi par cette licence dans le cadre d'un modèle de diffusion en logiciel libre.
+
+L'exercice de ces libertés est assorti de certains devoirs à la charge des utilisateurs afin de préserver ce statut au cours des redistributions ultérieures.
+
+L'accessibilité au code source et les droits de copie, de modification et de redistribution qui en découlent ont pour contrepartie de n'offrir aux utilisateurs qu'une garantie limitée et de ne faire peser sur l'auteur du logiciel, le titulaire des droits patrimoniaux et les concédants successifs qu'une responsabilité restreinte.
+
+A cet égard l'attention de l'utilisateur est attirée sur les risques associés au chargement, à l'utilisation, à la modification et/ou au développement et à la reproduction du logiciel par l'utilisateur étant donné sa spécificité de logiciel libre, qui peut le rendre complexe à manipuler et qui le réserve donc à des développeurs ou des professionnels avertis possédant des connaissances informatiques approfondies. Les utilisateurs sont donc invités à charger et tester l'adéquation du logiciel à leurs besoins dans des conditions permettant d'assurer la sécurité de leurs systèmes et/ou de leurs données et, plus généralement, à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. Ce contrat peut être reproduit et diffusé librement, sous réserve de le conserver en l'état, sans ajout ni suppression de clauses.
+
+Ce contrat est susceptible de s'appliquer à tout logiciel dont le titulaire des droits patrimoniaux décide de soumettre l'exploitation aux dispositions qu'il contient.
+
+Article 1 - DEFINITIONS
+
+Dans ce contrat, les termes suivants, lorsqu'ils seront écrits avec une lettre capitale, auront la signification suivante:
+
+Contrat: désigne le présent contrat de licence, ses éventuelles versions postérieures et annexes.
+
+Logiciel: désigne le logiciel sous sa forme de Code Objet et/ou de Code Source et le cas échéant sa documentation, dans leur état au moment de l'acceptation du Contrat par le Licencié.
+
+Logiciel Initial: désigne le Logiciel sous sa forme de Code Source et éventuellement de Code Objet et le cas échéant sa documentation, dans leur état au moment de leur première diffusion sous les termes du Contrat.
+
+Logiciel Modifié: désigne le Logiciel modifié par au moins une Contribution.
+
+Code Source: désigne l'ensemble des instructions et des lignes de programme du Logiciel et auquel l'accès est nécessaire en vue de modifier le Logiciel.
+
+Code Objet: désigne les fichiers binaires issus de la compilation du Code Source.
+
+Titulaire: désigne le ou les détenteurs des droits patrimoniaux d'auteur sur le Logiciel Initial.
+
+Licencié: désigne le ou les utilisateurs du Logiciel ayant accepté le Contrat.
+
+Contributeur: désigne le Licencié auteur d'au moins une Contribution.
+
+Concédant: désigne le Titulaire ou toute personne physique ou morale distribuant le Logiciel sous le Contrat.
+
+Contribution: désigne l'ensemble des modifications, corrections, traductions, adaptations et/ou nouvelles fonctionnalités intégrées dans le Logiciel par tout Contributeur, ainsi que tout Module Interne.
+
+Module: désigne un ensemble de fichiers sources y compris leur documentation qui permet de réaliser des fonctionnalités ou services supplémentaires à ceux fournis par le Logiciel.
+
+Module Externe: désigne tout Module, non dérivé du Logiciel, tel que ce Module et le Logiciel s'exécutent dans des espaces d'adressage différents, l'un appelant l'autre au moment de leur exécution.
+
+Module Interne: désigne tout Module lié au Logiciel de telle sorte qu'ils s'exécutent dans le même espace d'adressage.
+
+GNU GPL: désigne la GNU General Public License dans sa version 2 ou toute version ultérieure, telle que publiée par Free Software Foundation Inc.
+
+Parties: désigne collectivement le Licencié et le Concédant.
+
+Ces termes s'entendent au singulier comme au pluriel.
+
+Article 2 - OBJET
+
+Le Contrat a pour objet la concession par le Concédant au Licencié d'une licence non exclusive, cessible et mondiale du Logiciel telle que définie ci-après à l'article 5 pour toute la durée de protection des droits portant sur ce Logiciel.
+
+Article 3 - ACCEPTATION
+
+3.1 L'acceptation par le Licencié des termes du Contrat est réputée acquise du fait du premier des faits suivants:
+
+(i) le chargement du Logiciel par tout moyen notamment par téléchargement à partir d'un serveur distant ou par chargement à partir d'un support physique;
+(ii) le premier exercice par le Licencié de l'un quelconque des droits concédés par le Contrat.
+3.2 Un exemplaire du Contrat, contenant notamment un avertissement relatif aux spécificités du Logiciel, à la restriction de garantie et à la limitation à un usage par des utilisateurs expérimentés a été mis à disposition du Licencié préalablement à son acceptation telle que définie à l'article 3.1 ci dessus et le Licencié reconnaît en avoir pris connaissance.
+
+Article 4 - ENTREE EN VIGUEUR ET DUREE
+
+4.1 ENTREE EN VIGUEUR
+
+Le Contrat entre en vigueur à la date de son acceptation par le Licencié telle que définie en 3.1.
+
+4.2 DUREE
+
+Le Contrat produira ses effets pendant toute la durée légale de protection des droits patrimoniaux portant sur le Logiciel.
+
+Article 5 - ETENDUE DES DROITS CONCEDES
+
+Le Concédant concède au Licencié, qui accepte, les droits suivants sur le Logiciel pour toutes destinations et pour la durée du Contrat dans les conditions ci-après détaillées.
+
+Par ailleurs, si le Concédant détient ou venait à détenir un ou plusieurs brevets d'invention protégeant tout ou partie des fonctionnalités du Logiciel ou de ses composants, il s'engage à ne pas opposer les éventuels droits conférés par ces brevets aux Licenciés successifs qui utiliseraient, exploiteraient ou modifieraient le Logiciel. En cas de cession de ces brevets, le Concédant s'engage à faire reprendre les obligations du présent alinéa aux cessionnaires.
+
+5.1 DROIT D'UTILISATION
+
+Le Licencié est autorisé à utiliser le Logiciel, sans restriction quant aux domaines d'application, étant ci-après précisé que cela comporte:
+
+la reproduction permanente ou provisoire du Logiciel en tout ou partie par tout moyen et sous toute forme.
+
+le chargement, l'affichage, l'exécution, ou le stockage du Logiciel sur tout support.
+
+la possibilité d'en observer, d'en étudier, ou d'en tester le fonctionnement afin de déterminer les idées et principes qui sont à la base de n'importe quel élément de ce Logiciel; et ceci, lorsque le Licencié effectue toute opération de chargement, d'affichage, d'exécution, de transmission ou de stockage du Logiciel qu'il est en droit d'effectuer en vertu du Contrat.
+
+5.2 DROIT D'APPORTER DES CONTRIBUTIONS
+
+Le droit d'apporter des Contributions comporte le droit de traduire, d'adapter, d'arranger ou d'apporter toute autre modification au Logiciel et le droit de reproduire le logiciel en résultant.
+
+Le Licencié est autorisé à apporter toute Contribution au Logiciel sous réserve de mentionner, de façon explicite, son nom en tant qu'auteur de cette Contribution et la date de création de celle-ci.
+
+5.3 DROIT DE DISTRIBUTION
+
+Le droit de distribution comporte notamment le droit de diffuser, de transmettre et de communiquer le Logiciel au public sur tout support et par tout moyen ainsi que le droit de mettre sur le marché à titre onéreux ou gratuit, un ou des exemplaires du Logiciel par tout procédé.
+
+Le Licencié est autorisé à distribuer des copies du Logiciel, modifié ou non, à des tiers dans les conditions ci-après détaillées.
+
+5.3.1 DISTRIBUTION DU LOGICIEL SANS MODIFICATION
+
+Le Licencié est autorisé à distribuer des copies conformes du Logiciel, sous forme de Code Source ou de Code Objet, à condition que cette distribution respecte les dispositions du Contrat dans leur totalité et soit accompagnée:
+
+d'un exemplaire du Contrat,
+
+d'un avertissement relatif à la restriction de garantie et de responsabilité du Concédant telle que prévue aux articles 8 et 9,
+
+et que, dans le cas où seul le Code Objet du Logiciel est redistribué, le Licencié permette aux futurs Licenciés d'accéder facilement au Code Source complet du Logiciel en indiquant les modalités d'accès, étant entendu que le coût additionnel d'acquisition du Code Source ne devra pas excéder le simple coût de transfert des données.
+
+5.3.2 DISTRIBUTION DU LOGICIEL MODIFIE
+
+Lorsque le Licencié apporte une Contribution au Logiciel, les conditions de distribution du Logiciel Modifié en résultant sont alors soumises à l'intégralité des dispositions du Contrat.
+
+Le Licencié est autorisé à distribuer le Logiciel Modifié, sous forme de code source ou de code objet, à condition que cette distribution respecte les dispositions du Contrat dans leur totalité et soit accompagnée:
+
+d'un exemplaire du Contrat,
+
+d'un avertissement relatif à la restriction de garantie et de responsabilité du Concédant telle que prévue aux articles 8 et 9,
+
+et que, dans le cas où seul le code objet du Logiciel Modifié est redistribué, le Licencié permette aux futurs Licenciés d'accéder facilement au code source complet du Logiciel Modifié en indiquant les modalités d'accès, étant entendu que le coût additionnel d'acquisition du code source ne devra pas excéder le simple coût de transfert des données.
+
+5.3.3 DISTRIBUTION DES MODULES EXTERNES
+
+Lorsque le Licencié a développé un Module Externe les conditions du Contrat ne s'appliquent pas à ce Module Externe, qui peut être distribué sous un contrat de licence différent.
+
+5.3.4 COMPATIBILITE AVEC LA LICENCE GNU GPL
+
+Le Licencié peut inclure un code soumis aux dispositions d'une des versions de la licence GNU GPL dans le Logiciel modifié ou non et distribuer l'ensemble sous les conditions de la même version de la licence GNU GPL.
+
+Le Licencié peut inclure le Logiciel modifié ou non dans un code soumis aux dispositions d'une des versions de la licence GNU GPL et distribuer l'ensemble sous les conditions de la même version de la licence GNU GPL.
+
+Article 6 - PROPRIETE INTELLECTUELLE
+
+6.1 SUR LE LOGICIEL INITIAL
+
+Le Titulaire est détenteur des droits patrimoniaux sur le Logiciel Initial. Toute utilisation du Logiciel Initial est soumise au respect des conditions dans lesquelles le Titulaire a choisi de diffuser son oeuvre et nul autre n'a la faculté de modifier les conditions de diffusion de ce Logiciel Initial.
+
+Le Titulaire s'engage à ce que le Logiciel Initial reste au moins régi par le Contrat et ce, pour la durée visée à l'article 4.2.
+
+6.2 SUR LES CONTRIBUTIONS
+
+Le Licencié qui a développé une Contribution est titulaire sur celle-ci des droits de propriété intellectuelle dans les conditions définies par la législation applicable.
+
+6.3 SUR LES MODULES EXTERNES
+
+Le Licencié qui a développé un Module Externe est titulaire sur celui-ci des droits de propriété intellectuelle dans les conditions définies par la législation applicable et reste libre du choix du contrat régissant sa diffusion.
+
+6.4 DISPOSITIONS COMMUNES
+
+Le Licencié s'engage expressément:
+
+à ne pas supprimer ou modifier de quelque manière que ce soit les mentions de propriété intellectuelle apposées sur le Logiciel;
+
+à reproduire à l'identique lesdites mentions de propriété intellectuelle sur les copies du Logiciel modifié ou non.
+
+Le Licencié s'engage à ne pas porter atteinte, directement ou indirectement, aux droits de propriété intellectuelle du Titulaire et/ou des Contributeurs sur le Logiciel et à prendre, le cas échéant, à l'égard de son personnel toutes les mesures nécessaires pour assurer le respect des dits droits de propriété intellectuelle du Titulaire et/ou des Contributeurs.
+
+Article 7 - SERVICES ASSOCIES
+
+7.1 Le Contrat n'oblige en aucun cas le Concédant à la réalisation de prestations d'assistance technique ou de maintenance du Logiciel.
+
+Cependant le Concédant reste libre de proposer ce type de services. Les termes et conditions d'une telle assistance technique et/ou d'une telle maintenance seront alors déterminés dans un acte séparé. Ces actes de maintenance et/ou assistance technique n'engageront que la seule responsabilité du Concédant qui les propose.
+
+7.2 De même, tout Concédant est libre de proposer, sous sa seule responsabilité, à ses licenciés une garantie, qui n'engagera que lui, lors de la redistribution du Logiciel et/ou du Logiciel Modifié et ce, dans les conditions qu'il souhaite. Cette garantie et les modalités financières de son application feront l'objet d'un acte séparé entre le Concédant et le Licencié.
+
+Article 8 - RESPONSABILITE
+
+8.1 Sous réserve des dispositions de l'article 8.2, le Licencié a la faculté, sous réserve de prouver la faute du Concédant concerné, de solliciter la réparation du préjudice direct qu'il subirait du fait du Logiciel et dont il apportera la preuve.
+
+8.2 La responsabilité du Concédant est limitée aux engagements pris en application du Contrat et ne saurait être engagée en raison notamment: (i) des dommages dus à l'inexécution, totale ou partielle, de ses obligations par le Licencié, (ii) des dommages directs ou indirects découlant de l'utilisation ou des performances du Logiciel subis par le Licencié et (iii) plus généralement d'un quelconque dommage indirect. En particulier, les Parties conviennent expressément que tout préjudice financier ou commercial (par exemple perte de données, perte de bénéfices, perte d'exploitation, perte de clientèle ou de commandes, manque à gagner, trouble commercial quelconque) ou toute action dirigée contre le Licencié par un tiers, constitue un dommage indirect et n'ouvre pas droit à réparation par le Concédant.
+
+Article 9 - GARANTIE
+
+9.1 Le Licencié reconnaît que l'état actuel des connaissances scientifiques et techniques au moment de la mise en circulation du Logiciel ne permet pas d'en tester et d'en vérifier toutes les utilisations ni de détecter l'existence d'éventuels défauts. L'attention du Licencié a été attirée sur ce point sur les risques associés au chargement, à l'utilisation, la modification et/ou au développement et à la reproduction du Logiciel qui sont réservés à des utilisateurs avertis.
+
+Il relève de la responsabilité du Licencié de contrôler, par tous moyens, l'adéquation du produit à ses besoins, son bon fonctionnement et de s'assurer qu'il ne causera pas de dommages aux personnes et aux biens.
+
+9.2 Le Concédant déclare de bonne foi être en droit de concéder l'ensemble des droits attachés au Logiciel (comprenant notamment les droits visés à l'article 5).
+
+9.3 Le Licencié reconnaît que le Logiciel est fourni "en l'état" par le Concédant sans autre garantie, expresse ou tacite, que celle prévue à l'article 9.2 et notamment sans aucune garantie sur sa valeur commerciale, son caractère sécurisé, innovant ou pertinent.
+
+En particulier, le Concédant ne garantit pas que le Logiciel est exempt d'erreur, qu'il fonctionnera sans interruption, qu'il sera compatible avec l'équipement du Licencié et sa configuration logicielle ni qu'il remplira les besoins du Licencié.
+
+9.4 Le Concédant ne garantit pas, de manière expresse ou tacite, que le Logiciel ne porte pas atteinte à un quelconque droit de propriété intellectuelle d'un tiers portant sur un brevet, un logiciel ou sur tout autre droit de propriété. Ainsi, le Concédant exclut toute garantie au profit du Licencié contre les actions en contrefaçon qui pourraient être diligentées au titre de l'utilisation, de la modification, et de la redistribution du Logiciel. Néanmoins, si de telles actions sont exercées contre le Licencié, le Concédant lui apportera son aide technique et juridique pour sa défense. Cette aide technique et juridique est déterminée au cas par cas entre le Concédant concerné et le Licencié dans le cadre d'un protocole d'accord. Le Concédant dégage toute responsabilité quant à l'utilisation de la dénomination du Logiciel par le Licencié. Aucune garantie n'est apportée quant à l'existence de droits antérieurs sur le nom du Logiciel et sur l'existence d'une marque.
+
+Article 10 - RESILIATION
+
+10.1 En cas de manquement par le Licencié aux obligations mises à sa charge par le Contrat, le Concédant pourra résilier de plein droit le Contrat trente (30) jours après notification adressée au Licencié et restée sans effet.
+
+10.2 Le Licencié dont le Contrat est résilié n'est plus autorisé à utiliser, modifier ou distribuer le Logiciel. Cependant, toutes les licences qu'il aura concédées antérieurement à la résiliation du Contrat resteront valides sous réserve qu'elles aient été effectuées en conformité avec le Contrat.
+
+Article 11 - DISPOSITIONS DIVERSES
+
+11.1 CAUSE EXTERIEURE
+
+Aucune des Parties ne sera responsable d'un retard ou d'une défaillance d'exécution du Contrat qui serait dû à un cas de force majeure, un cas fortuit ou une cause extérieure, telle que, notamment, le mauvais fonctionnement ou les interruptions du réseau électrique ou de télécommunication, la paralysie du réseau liée à une attaque informatique, l'intervention des autorités gouvernementales, les catastrophes naturelles, les dégâts des eaux, les tremblements de terre, le feu, les explosions, les grèves et les conflits sociaux, l'état de guerre...
+
+11.2 Le fait, par l'une ou l'autre des Parties, d'omettre en une ou plusieurs occasions de se prévaloir d'une ou plusieurs dispositions du Contrat, ne pourra en aucun cas impliquer renonciation par la Partie intéressée à s'en prévaloir ultérieurement.
+
+11.3 Le Contrat annule et remplace toute convention antérieure, écrite ou orale, entre les Parties sur le même objet et constitue l'accord entier entre les Parties sur cet objet. Aucune addition ou modification aux termes du Contrat n'aura d'effet à l'égard des Parties à moins d'être faite par écrit et signée par leurs représentants dûment habilités.
+
+11.4 Dans l'hypothèse où une ou plusieurs des dispositions du Contrat s'avèrerait contraire à une loi ou à un texte applicable, existants ou futurs, cette loi ou ce texte prévaudrait, et les Parties feraient les amendements nécessaires pour se conformer à cette loi ou à ce texte. Toutes les autres dispositions resteront en vigueur. De même, la nullité, pour quelque raison que ce soit, d'une des dispositions du Contrat ne saurait entraîner la nullité de l'ensemble du Contrat.
+
+11.5 LANGUE
+
+Le Contrat est rédigé en langue française et en langue anglaise, ces deux versions faisant également foi.
+
+Article 12 - NOUVELLES VERSIONS DU CONTRAT
+
+12.1 Toute personne est autorisée à copier et distribuer des copies de ce Contrat.
+
+12.2 Afin d'en préserver la cohérence, le texte du Contrat est protégé et ne peut être modifié que par les auteurs de la licence, lesquels se réservent le droit de publier périodiquement des mises à jour ou de nouvelles versions du Contrat, qui posséderont chacune un numéro distinct. Ces versions ultérieures seront susceptibles de prendre en compte de nouvelles problématiques rencontrées par les logiciels libres.
+
+12.3 Tout Logiciel diffusé sous une version donnée du Contrat ne pourra faire l'objet d'une diffusion ultérieure que sous la même version du Contrat ou une version postérieure, sous réserve des dispositions de l'article 5.3.4.
+
+Article 13 - LOI APPLICABLE ET COMPETENCE TERRITORIALE
+
+13.1 Le Contrat est régi par la loi française. Les Parties conviennent de tenter de régler à l'amiable les différends ou litiges qui viendraient à se produire par suite ou à l'occasion du Contrat.
+
+13.2 A défaut d'accord amiable dans un délai de deux (2) mois à compter de leur survenance et sauf situation relevant d'une procédure d'urgence, les différends ou litiges seront portés par la Partie la plus diligente devant les Tribunaux compétents de Paris.
+
+1 CeCILL est pour Ce(a) C(nrs) I(nria) L(ogiciel) L(ibre)
+
+Version 2.0 du 2006-09-05.
\ No newline at end of file
diff --git a/options/license/CECILL-2.1 b/options/license/CECILL-2.1
new file mode 100644
index 0000000..c8ac1f7
--- /dev/null
+++ b/options/license/CECILL-2.1
@@ -0,0 +1,249 @@
+CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL
+
+Version 2.1 du 2013-06-21
+
+Avertissement
+
+Ce contrat est une licence de logiciel libre issue d'une concertation entre ses auteurs afin que le respect de deux grands principes préside à sa rédaction:
+
+ * d'une part, le respect des principes de diffusion des logiciels libres: accès au code source, droits étendus conférés aux utilisateurs,
+
+ * d'autre part, la désignation d'un droit applicable, le droit français, auquel elle est conforme, tant au regard du droit de la responsabilité civile que du droit de la propriété intellectuelle et de la protection qu'il offre aux auteurs et titulaires des droits patrimoniaux sur un logiciel.
+
+Les auteurs de la licence CeCILL (Ce[a] C[nrs] I[nria] L[ogiciel] L[ibre]) sont:
+
+Commissariat à l'énergie atomique et aux énergies alternatives - CEA, établissement public de recherche à caractère scientifique, technique et industriel, dont le siège est situé 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris.
+
+Centre National de la Recherche Scientifique - CNRS, établissement public à caractère scientifique et technologique, dont le siège est situé 3 rue Michel-Ange, 75794 Paris cedex 16.
+
+Institut National de Recherche en Informatique et en Automatique - Inria, établissement public à caractère scientifique et technologique, dont le siège est situé Domaine de Voluceau, Rocquencourt, BP 105, 78153 Le Chesnay cedex.
+
+ Préambule
+
+Ce contrat est une licence de logiciel libre dont l'objectif est de conférer aux utilisateurs la liberté de modification et de redistribution du logiciel régi par cette licence dans le cadre d'un modèle de diffusion en logiciel libre.
+
+L'exercice de ces libertés est assorti de certains devoirs à la charge des utilisateurs afin de préserver ce statut au cours des redistributions ultérieures.
+
+L'accessibilité au code source et les droits de copie, de modification et de redistribution qui en découlent ont pour contrepartie de n'offrir aux utilisateurs qu'une garantie limitée et de ne faire peser sur l'auteur du logiciel, le titulaire des droits patrimoniaux et les concédants successifs qu'une responsabilité restreinte.
+
+A cet égard l'attention de l'utilisateur est attirée sur les risques associés au chargement, à l'utilisation, à la modification et/ou au développement et à la reproduction du logiciel par l'utilisateur étant donné sa spécificité de logiciel libre, qui peut le rendre complexe à manipuler et qui le réserve donc à des développeurs ou des professionnels avertis possédant des connaissances informatiques approfondies. Les utilisateurs sont donc invités à charger et tester l'adéquation du logiciel à leurs besoins dans des conditions permettant d'assurer la sécurité de leurs systèmes et/ou de leurs données et, plus généralement, à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. Ce contrat peut être reproduit et diffusé librement, sous réserve de le conserver en l'état, sans ajout ni suppression de clauses.
+
+Ce contrat est susceptible de s'appliquer à tout logiciel dont le titulaire des droits patrimoniaux décide de soumettre l'exploitation aux dispositions qu'il contient.
+
+Une liste de questions fréquemment posées se trouve sur le site web officiel de la famille des licences CeCILL (http://www.cecill.info/index.fr.html) pour toute clarification qui serait nécessaire.
+
+ Article 1 - DEFINITIONS
+
+Dans ce contrat, les termes suivants, lorsqu'ils seront écrits avec une lettre capitale, auront la signification suivante:
+
+Contrat: désigne le présent contrat de licence, ses éventuelles versions postérieures et annexes.
+
+Logiciel: désigne le logiciel sous sa forme de Code Objet et/ou de Code Source et le cas échéant sa documentation, dans leur état au moment de l'acceptation du Contrat par le Licencié.
+
+Logiciel Initial: désigne le Logiciel sous sa forme de Code Source et éventuellement de Code Objet et le cas échéant sa documentation, dans leur état au moment de leur première diffusion sous les termes du Contrat.
+
+Logiciel Modifié: désigne le Logiciel modifié par au moins une Contribution.
+
+Code Source: désigne l'ensemble des instructions et des lignes de programme du Logiciel et auquel l'accès est nécessaire en vue de modifier le Logiciel.
+
+Code Objet: désigne les fichiers binaires issus de la compilation du Code Source.
+
+Titulaire: désigne le ou les détenteurs des droits patrimoniaux d'auteur sur le Logiciel Initial.
+
+Licencié: désigne le ou les utilisateurs du Logiciel ayant accepté le Contrat.
+
+Contributeur: désigne le Licencié auteur d'au moins une Contribution.
+
+Concédant: désigne le Titulaire ou toute personne physique ou morale distribuant le Logiciel sous le Contrat.
+
+Contribution: désigne l'ensemble des modifications, corrections, traductions, adaptations et/ou nouvelles fonctionnalités intégrées dans le Logiciel par tout Contributeur, ainsi que tout Module Interne.
+
+Module: désigne un ensemble de fichiers sources y compris leur documentation qui permet de réaliser des fonctionnalités ou services supplémentaires à ceux fournis par le Logiciel.
+
+Module Externe: désigne tout Module, non dérivé du Logiciel, tel que ce Module et le Logiciel s'exécutent dans des espaces d'adressage différents, l'un appelant l'autre au moment de leur exécution.
+
+Module Interne: désigne tout Module lié au Logiciel de telle sorte qu'ils s'exécutent dans le même espace d'adressage.
+
+GNU GPL: désigne la GNU General Public License dans sa version 2 ou toute version ultérieure, telle que publiée par Free Software Foundation Inc.
+
+GNU Affero GPL: désigne la GNU Affero General Public License dans sa version 3 ou toute version ultérieure, telle que publiée par Free Software Foundation Inc.
+
+EUPL: désigne la Licence Publique de l'Union européenne dans sa version 1.1 ou toute version ultérieure, telle que publiée par la Commission Européenne.
+
+Parties: désigne collectivement le Licencié et le Concédant.
+
+Ces termes s'entendent au singulier comme au pluriel.
+
+ Article 2 - OBJET
+
+Le Contrat a pour objet la concession par le Concédant au Licencié d'une licence non exclusive, cessible et mondiale du Logiciel telle que définie ci-après à l'article 5 <#etendue> pour toute la durée de protection des droits portant sur ce Logiciel.
+
+ Article 3 - ACCEPTATION
+
+3.1 L'acceptation par le Licencié des termes du Contrat est réputée acquise du fait du premier des faits suivants:
+
+ * (i) le chargement du Logiciel par tout moyen notamment par téléchargement à partir d'un serveur distant ou par chargement à partir d'un support physique;
+
+ * (ii) le premier exercice par le Licencié de l'un quelconque des droits concédés par le Contrat.
+
+3.2 Un exemplaire du Contrat, contenant notamment un avertissement relatif aux spécificités du Logiciel, à la restriction de garantie et à la limitation à un usage par des utilisateurs expérimentés a été mis à disposition du Licencié préalablement à son acceptation telle que définie à l'article 3.1 <#acceptation-acquise> ci dessus et le Licencié reconnaît en avoir pris connaissance.
+
+ Article 4 - ENTREE EN VIGUEUR ET DUREE
+
+ 4.1 ENTREE EN VIGUEUR
+
+Le Contrat entre en vigueur à la date de son acceptation par le Licencié telle que définie en 3.1 <#acceptation-acquise>.
+
+ 4.2 DUREE
+
+Le Contrat produira ses effets pendant toute la durée légale de protection des droits patrimoniaux portant sur le Logiciel.
+
+ Article 5 - ETENDUE DES DROITS CONCEDES
+
+Le Concédant concède au Licencié, qui accepte, les droits suivants sur le Logiciel pour toutes destinations et pour la durée du Contrat dans les conditions ci-après détaillées.
+
+Par ailleurs, si le Concédant détient ou venait à détenir un ou plusieurs brevets d'invention protégeant tout ou partie des fonctionnalités du Logiciel ou de ses composants, il s'engage à ne pas opposer les éventuels droits conférés par ces brevets aux Licenciés successifs qui utiliseraient, exploiteraient ou modifieraient le Logiciel. En cas de cession de ces brevets, le Concédant s'engage à faire reprendre les obligations du présent alinéa aux cessionnaires.
+
+ 5.1 DROIT D'UTILISATION
+
+Le Licencié est autorisé à utiliser le Logiciel, sans restriction quant aux domaines d'application, étant ci-après précisé que cela comporte:
+
+ 1. la reproduction permanente ou provisoire du Logiciel en tout ou partie par tout moyen et sous toute forme.
+
+ 2. le chargement, l'affichage, l'exécution, ou le stockage du Logiciel sur tout support.
+
+ 3. la possibilité d'en observer, d'en étudier, ou d'en tester le fonctionnement afin de déterminer les idées et principes qui sont à la base de n'importe quel élément de ce Logiciel; et ceci, lorsque le Licencié effectue toute opération de chargement, d'affichage, d'exécution, de transmission ou de stockage du Logiciel qu'il est en droit d'effectuer en vertu du Contrat.
+
+ 5.2 DROIT D'APPORTER DES CONTRIBUTIONS
+
+Le droit d'apporter des Contributions comporte le droit de traduire, d'adapter, d'arranger ou d'apporter toute autre modification au Logiciel et le droit de reproduire le logiciel en résultant.
+
+Le Licencié est autorisé à apporter toute Contribution au Logiciel sous réserve de mentionner, de façon explicite, son nom en tant qu'auteur de cette Contribution et la date de création de celle-ci.
+
+ 5.3 DROIT DE DISTRIBUTION
+
+Le droit de distribution comporte notamment le droit de diffuser, de transmettre et de communiquer le Logiciel au public sur tout support et par tout moyen ainsi que le droit de mettre sur le marché à titre onéreux ou gratuit, un ou des exemplaires du Logiciel par tout procédé.
+
+Le Licencié est autorisé à distribuer des copies du Logiciel, modifié ou non, à des tiers dans les conditions ci-après détaillées.
+
+ 5.3.1 DISTRIBUTION DU LOGICIEL SANS MODIFICATION
+
+ Le Licencié est autorisé à distribuer des copies conformes du Logiciel, sous forme de Code Source ou de Code Objet, à condition que cette distribution respecte les dispositions du Contrat dans leur totalité et soit accompagnée:
+
+ 1. d'un exemplaire du Contrat,
+
+ 2. d'un avertissement relatif à la restriction de garantie et de responsabilité du Concédant telle que prévue aux articles 8 <#responsabilite> et 9 <#garantie>,
+
+ et que, dans le cas où seul le Code Objet du Logiciel est redistribué, le Licencié permette un accès effectif au Code Source complet du Logiciel pour une durée d'au moins 3 ans à compter de la distribution du logiciel, étant entendu que le coût additionnel d'acquisition du Code Source ne devra pas excéder le simple coût de transfert des données.
+
+ 5.3.2 DISTRIBUTION DU LOGICIEL MODIFIE
+
+ Lorsque le Licencié apporte une Contribution au Logiciel, les conditions de distribution du Logiciel Modifié en résultant sont alors soumises à l'intégralité des dispositions du Contrat.
+
+ Le Licencié est autorisé à distribuer le Logiciel Modifié, sous forme de code source ou de code objet, à condition que cette distribution respecte les dispositions du Contrat dans leur totalité et soit accompagnée:
+
+ 1. d'un exemplaire du Contrat,
+
+ 2. d'un avertissement relatif à la restriction de garantie et de responsabilité du Concédant telle que prévue aux articles 8 <#responsabilite> et 9 <#garantie>,
+
+et, dans le cas où seul le code objet du Logiciel Modifié est redistribué,
+
+ 3. d'une note précisant les conditions d'accès effectif au code source complet du Logiciel Modifié, pendant une période d'au moins 3 ans à compter de la distribution du Logiciel Modifié, étant entendu que le coût additionnel d'acquisition du code source ne devra pas excéder le simple coût de transfert des données.
+
+ 5.3.3 DISTRIBUTION DES MODULES EXTERNES
+
+ Lorsque le Licencié a développé un Module Externe les conditions du Contrat ne s'appliquent pas à ce Module Externe, qui peut être distribué sous un contrat de licence différent.
+
+ 5.3.4 COMPATIBILITE AVEC D'AUTRES LICENCES
+
+ Le Licencié peut inclure un code soumis aux dispositions d'une des versions de la licence GNU GPL, GNU Affero GPL et/ou EUPL dans le Logiciel modifié ou non et distribuer l'ensemble sous les conditions de la même version de la licence GNU GPL, GNU Affero GPL et/ou EUPL.
+
+ Le Licencié peut inclure le Logiciel modifié ou non dans un code soumis aux dispositions d'une des versions de la licence GNU GPL, GNU Affero GPL et/ou EUPL et distribuer l'ensemble sous les conditions de la même version de la licence GNU GPL, GNU Affero GPL et/ou EUPL.
+
+ Article 6 - PROPRIETE INTELLECTUELLE
+
+ 6.1 SUR LE LOGICIEL INITIAL
+
+Le Titulaire est détenteur des droits patrimoniaux sur le Logiciel Initial. Toute utilisation du Logiciel Initial est soumise au respect des conditions dans lesquelles le Titulaire a choisi de diffuser son oeuvre et nul autre n'a la faculté de modifier les conditions de diffusion de ce Logiciel Initial.
+
+Le Titulaire s'engage à ce que le Logiciel Initial reste au moins régi par le Contrat et ce, pour la durée visée à l'article 4.2 <#duree>.
+
+ 6.2 SUR LES CONTRIBUTIONS
+
+Le Licencié qui a développé une Contribution est titulaire sur celle-ci des droits de propriété intellectuelle dans les conditions définies par la législation applicable.
+
+ 6.3 SUR LES MODULES EXTERNES
+
+Le Licencié qui a développé un Module Externe est titulaire sur celui-ci des droits de propriété intellectuelle dans les conditions définies par la législation applicable et reste libre du choix du contrat régissant sa diffusion.
+
+ 6.4 DISPOSITIONS COMMUNES
+
+Le Licencié s'engage expressément:
+
+ 1. à ne pas supprimer ou modifier de quelque manière que ce soit les mentions de propriété intellectuelle apposées sur le Logiciel;
+
+ 2. à reproduire à l'identique lesdites mentions de propriété intellectuelle sur les copies du Logiciel modifié ou non.
+
+Le Licencié s'engage à ne pas porter atteinte, directement ou indirectement, aux droits de propriété intellectuelle du Titulaire et/ou des Contributeurs sur le Logiciel et à prendre, le cas échéant, à l'égard de son personnel toutes les mesures nécessaires pour assurer le respect des dits droits de propriété intellectuelle du Titulaire et/ou des Contributeurs.
+
+ Article 7 - SERVICES ASSOCIES
+
+7.1 Le Contrat n'oblige en aucun cas le Concédant à la réalisation de prestations d'assistance technique ou de maintenance du Logiciel.
+
+Cependant le Concédant reste libre de proposer ce type de services. Les termes et conditions d'une telle assistance technique et/ou d'une telle maintenance seront alors déterminés dans un acte séparé. Ces actes de maintenance et/ou assistance technique n'engageront que la seule responsabilité du Concédant qui les propose.
+
+7.2 De même, tout Concédant est libre de proposer, sous sa seule responsabilité, à ses licenciés une garantie, qui n'engagera que lui, lors de la redistribution du Logiciel et/ou du Logiciel Modifié et ce, dans les conditions qu'il souhaite. Cette garantie et les modalités financières de son application feront l'objet d'un acte séparé entre le Concédant et le Licencié.
+
+ Article 8 - RESPONSABILITE
+
+8.1 Sous réserve des dispositions de l'article 8.2 <#limite-responsabilite>, le Licencié a la faculté, sous réserve de prouver la faute du Concédant concerné, de solliciter la réparation du préjudice direct qu'il subirait du fait du Logiciel et dont il apportera la preuve.
+
+8.2 La responsabilité du Concédant est limitée aux engagements pris en application du Contrat et ne saurait être engagée en raison notamment: (i) des dommages dus à l'inexécution, totale ou partielle, de ses obligations par le Licencié, (ii) des dommages directs ou indirects découlant de l'utilisation ou des performances du Logiciel subis par le Licencié et (iii) plus généralement d'un quelconque dommage indirect. En particulier, les Parties conviennent expressément que tout préjudice financier ou commercial (par exemple perte de données, perte de bénéfices, perte d'exploitation, perte de clientèle ou de commandes, manque à gagner, trouble commercial quelconque) ou toute action dirigée contre le Licencié par un tiers, constitue un dommage indirect et n'ouvre pas droit à réparation par le Concédant.
+
+ Article 9 - GARANTIE
+
+9.1 Le Licencié reconnaît que l'état actuel des connaissances scientifiques et techniques au moment de la mise en circulation du Logiciel ne permet pas d'en tester et d'en vérifier toutes les utilisations ni de détecter l'existence d'éventuels défauts. L'attention du Licencié a été attirée sur ce point sur les risques associés au chargement, à l'utilisation, la modification et/ou au développement et à la reproduction du Logiciel qui sont réservés à des utilisateurs avertis.
+
+Il relève de la responsabilité du Licencié de contrôler, par tous moyens, l'adéquation du produit à ses besoins, son bon fonctionnement et de s'assurer qu'il ne causera pas de dommages aux personnes et aux biens.
+
+9.2 Le Concédant déclare de bonne foi être en droit de concéder l'ensemble des droits attachés au Logiciel (comprenant notamment les droits visés à l'article 5 <#etendue>).
+
+9.3 Le Licencié reconnaît que le Logiciel est fourni "en l'état" par le Concédant sans autre garantie, expresse ou tacite, que celle prévue à l'article 9.2 <#bonne-foi> et notamment sans aucune garantie sur sa valeur commerciale, son caractère sécurisé, innovant ou pertinent.
+
+En particulier, le Concédant ne garantit pas que le Logiciel est exempt d'erreur, qu'il fonctionnera sans interruption, qu'il sera compatible avec l'équipement du Licencié et sa configuration logicielle ni qu'il remplira les besoins du Licencié.
+
+9.4 Le Concédant ne garantit pas, de manière expresse ou tacite, que le Logiciel ne porte pas atteinte à un quelconque droit de propriété intellectuelle d'un tiers portant sur un brevet, un logiciel ou sur tout autre droit de propriété. Ainsi, le Concédant exclut toute garantie au profit du Licencié contre les actions en contrefaçon qui pourraient être diligentées au titre de l'utilisation, de la modification, et de la redistribution du Logiciel. Néanmoins, si de telles actions sont exercées contre le Licencié, le Concédant lui apportera son expertise technique et juridique pour sa défense. Cette expertise technique et juridique est déterminée au cas par cas entre le Concédant concerné et le Licencié dans le cadre d'un protocole d'accord. Le Concédant dégage toute responsabilité quant à l'utilisation de la dénomination du Logiciel par le Licencié. Aucune garantie n'est apportée quant à l'existence de droits antérieurs sur le nom du Logiciel et sur l'existence d'une marque.
+
+ Article 10 - RESILIATION
+
+10.1 En cas de manquement par le Licencié aux obligations mises à sa charge par le Contrat, le Concédant pourra résilier de plein droit le Contrat trente (30) jours après notification adressée au Licencié et restée sans effet.
+
+10.2 Le Licencié dont le Contrat est résilié n'est plus autorisé à utiliser, modifier ou distribuer le Logiciel. Cependant, toutes les licences qu'il aura concédées antérieurement à la résiliation du Contrat resteront valides sous réserve qu'elles aient été effectuées en conformité avec le Contrat.
+
+ Article 11 - DISPOSITIONS DIVERSES
+
+11.1 CAUSE EXTERIEURE
+Aucune des Parties ne sera responsable d'un retard ou d'une défaillance d'exécution du Contrat qui serait dû à un cas de force majeure, un cas fortuit ou une cause extérieure, telle que, notamment, le mauvais fonctionnement ou les interruptions du réseau électrique ou de télécommunication, la paralysie du réseau liée à une attaque informatique, l'intervention des autorités gouvernementales, les catastrophes naturelles, les dégâts des eaux, les tremblements de terre, le feu, les explosions, les grèves et les conflits sociaux, l'état de guerre...
+
+11.2 Le fait, par l'une ou l'autre des Parties, d'omettre en une ou plusieurs occasions de se prévaloir d'une ou plusieurs dispositions du Contrat, ne pourra en aucun cas impliquer renonciation par la Partie intéressée à s'en prévaloir ultérieurement.
+
+11.3 Le Contrat annule et remplace toute convention antérieure, écrite ou orale, entre les Parties sur le même objet et constitue l'accord entier entre les Parties sur cet objet. Aucune addition ou modification aux termes du Contrat n'aura d'effet à l'égard des Parties à moins d'être faite par écrit et signée par leurs représentants dûment habilités.
+
+11.4 Dans l'hypothèse où une ou plusieurs des dispositions du Contrat s'avèrerait contraire à une loi ou à un texte applicable, existants ou futurs, cette loi ou ce texte prévaudrait, et les Parties feraient les amendements nécessaires pour se conformer à cette loi ou à ce texte. Toutes les autres dispositions resteront en vigueur. De même, la nullité, pour quelque raison que ce soit, d'une des dispositions du Contrat ne saurait entraîner la nullité de l'ensemble du Contrat.
+
+11.5 LANGUE
+Le Contrat est rédigé en langue française et en langue anglaise, ces deux versions faisant également foi.
+
+ Article 12 - NOUVELLES VERSIONS DU CONTRAT
+
+12.1 Toute personne est autorisée à copier et distribuer des copies de ce Contrat.
+
+12.2 Afin d'en préserver la cohérence, le texte du Contrat est protégé et ne peut être modifié que par les auteurs de la licence, lesquels se réservent le droit de publier périodiquement des mises à jour ou de nouvelles versions du Contrat, qui posséderont chacune un numéro distinct. Ces versions ultérieures seront susceptibles de prendre en compte de nouvelles problématiques rencontrées par les logiciels libres.
+
+12.3 Tout Logiciel diffusé sous une version donnée du Contrat ne pourra faire l'objet d'une diffusion ultérieure que sous la même version du Contrat ou une version postérieure, sous réserve des dispositions de l'article 5.3.4 <#compatibilite>.
+
+ Article 13 - LOI APPLICABLE ET COMPETENCE TERRITORIALE
+
+13.1 Le Contrat est régi par la loi française. Les Parties conviennent de tenter de régler à l'amiable les différends ou litiges qui viendraient à se produire par suite ou à l'occasion du Contrat.
+
+13.2 A défaut d'accord amiable dans un délai de deux (2) mois à compter de leur survenance et sauf situation relevant d'une procédure d'urgence, les différends ou litiges seront portés par la Partie la plus diligente devant les Tribunaux compétents de Paris.
\ No newline at end of file
diff --git a/options/license/CECILL-B b/options/license/CECILL-B
new file mode 100644
index 0000000..e251521
--- /dev/null
+++ b/options/license/CECILL-B
@@ -0,0 +1,245 @@
+CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B
+
+Avertissement
+
+Ce contrat est une licence de logiciel libre issue d'une concertation entre ses auteurs afin que le respect de deux grands principes préside à sa rédaction:
+
+d'une part, le respect des principes de diffusion des logiciels libres: accès au code source, droits étendus conférés aux utilisateurs,
+d'autre part, la désignation d'un droit applicable, le droit français, auquel elle est conforme, tant au regard du droit de la responsabilité civile que du droit de la propriété intellectuelle et de la protection qu'il offre aux auteurs et titulaires des droits patrimoniaux sur un logiciel.
+Les auteurs de la licence CeCILL-B1 sont:
+
+Commissariat à l'Energie Atomique - CEA, établissement public de recherche à caractère scientifique, technique et industriel, dont le siège est situé 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris.
+
+Centre National de la Recherche Scientifique - CNRS, établissement public à caractère scientifique et technologique, dont le siège est situé 3 rue Michel-Ange, 75794 Paris cedex 16.
+
+Institut National de Recherche en Informatique et en Automatique - INRIA, établissement public à caractère scientifique et technologique, dont le siège est situé Domaine de Voluceau, Rocquencourt, BP 105, 78153 Le Chesnay cedex.
+
+Préambule
+
+Ce contrat est une licence de logiciel libre dont l'objectif est de conférer aux utilisateurs une très large liberté de modification et de redistribution du logiciel régi par cette licence.
+
+L'exercice de cette liberté est assorti d'une obligation forte de citation à la charge de ceux qui distribueraient un logiciel incorporant un logiciel régi par la présente licence afin d'assurer que les contributions de tous soient correctement identifiées et reconnues.
+
+L'accessibilité au code source et les droits de copie, de modification et de redistribution qui découlent de ce contrat ont pour contrepartie de n'offrir aux utilisateurs qu'une garantie limitée et de ne faire peser sur l'auteur du logiciel, le titulaire des droits patrimoniaux et les concédants successifs qu'une responsabilité restreinte.
+
+A cet égard l'attention de l'utilisateur est attirée sur les risques associés au chargement, à l'utilisation, à la modification et/ou au développement et à la reproduction du logiciel par l'utilisateur étant donné sa spécificité de logiciel libre, qui peut le rendre complexe à manipuler et qui le réserve donc à des développeurs ou des professionnels avertis possédant des connaissances informatiques approfondies. Les utilisateurs sont donc invités à charger et tester l'adéquation du logiciel à leurs besoins dans des conditions permettant d'assurer la sécurité de leurs systèmes et/ou de leurs données et, plus généralement, à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. Ce contrat peut être reproduit et diffusé librement, sous réserve de le conserver en l'état, sans ajout ni suppression de clauses.
+
+Ce contrat est susceptible de s'appliquer à tout logiciel dont le titulaire des droits patrimoniaux décide de soumettre l'exploitation aux dispositions qu'il contient.
+
+Article 1 - DEFINITIONS
+
+Dans ce contrat, les termes suivants, lorsqu'ils seront écrits avec une lettre capitale, auront la signification suivante:
+
+Contrat: désigne le présent contrat de licence, ses éventuelles versions postérieures et annexes.
+
+Logiciel: désigne le logiciel sous sa forme de Code Objet et/ou de Code Source et le cas échéant sa documentation, dans leur état au moment de l'acceptation du Contrat par le Licencié.
+
+Logiciel Initial: désigne le Logiciel sous sa forme de Code Source et éventuellement de Code Objet et le cas échéant sa documentation, dans leur état au moment de leur première diffusion sous les termes du Contrat.
+
+Logiciel Modifié: désigne le Logiciel modifié par au moins une Contribution.
+
+Code Source: désigne l'ensemble des instructions et des lignes de programme du Logiciel et auquel l'accès est nécessaire en vue de modifier le Logiciel.
+
+Code Objet: désigne les fichiers binaires issus de la compilation du Code Source.
+
+Titulaire: désigne le ou les détenteurs des droits patrimoniaux d'auteur sur le Logiciel Initial.
+
+Licencié: désigne le ou les utilisateurs du Logiciel ayant accepté le Contrat.
+
+Contributeur: désigne le Licencié auteur d'au moins une Contribution.
+
+Concédant: désigne le Titulaire ou toute personne physique ou morale distribuant le Logiciel sous le Contrat.
+
+Contribution: désigne l'ensemble des modifications, corrections, traductions, adaptations et/ou nouvelles fonctionnalités intégrées dans le Logiciel par tout Contributeur, ainsi que tout Module Interne.
+
+Module: désigne un ensemble de fichiers sources y compris leur documentation qui permet de réaliser des fonctionnalités ou services supplémentaires à ceux fournis par le Logiciel.
+
+Module Externe: désigne tout Module, non dérivé du Logiciel, tel que ce Module et le Logiciel s'exécutent dans des espaces d'adressage différents, l'un appelant l'autre au moment de leur exécution.
+
+Module Interne: désigne tout Module lié au Logiciel de telle sorte qu'ils s'exécutent dans le même espace d'adressage.
+
+Parties: désigne collectivement le Licencié et le Concédant.
+
+Ces termes s'entendent au singulier comme au pluriel.
+
+Article 2 - OBJET
+
+Le Contrat a pour objet la concession par le Concédant au Licencié d'une licence non exclusive, cessible et mondiale du Logiciel telle que définie ci-après à l'article 5 pour toute la durée de protection des droits portant sur ce Logiciel.
+
+Article 3 - ACCEPTATION
+
+3.1 L'acceptation par le Licencié des termes du Contrat est réputée acquise du fait du premier des faits suivants:
+
+(i) le chargement du Logiciel par tout moyen notamment par téléchargement à partir d'un serveur distant ou par chargement à partir d'un support physique;
+(ii) le premier exercice par le Licencié de l'un quelconque des droits concédés par le Contrat.
+3.2 Un exemplaire du Contrat, contenant notamment un avertissement relatif aux spécificités du Logiciel, à la restriction de garantie et à la limitation à un usage par des utilisateurs expérimentés a été mis à disposition du Licencié préalablement à son acceptation telle que définie à l'article 3.1 ci dessus et le Licencié reconnaît en avoir pris connaissance.
+
+Article 4 - ENTREE EN VIGUEUR ET DUREE
+
+4.1 ENTREE EN VIGUEUR
+
+Le Contrat entre en vigueur à la date de son acceptation par le Licencié telle que définie en 3.1.
+
+4.2 DUREE
+
+Le Contrat produira ses effets pendant toute la durée légale de protection des droits patrimoniaux portant sur le Logiciel.
+
+Article 5 - ETENDUE DES DROITS CONCEDES
+
+Le Concédant concède au Licencié, qui accepte, les droits suivants sur le Logiciel pour toutes destinations et pour la durée du Contrat dans les conditions ci-après détaillées.
+
+Par ailleurs, si le Concédant détient ou venait à détenir un ou plusieurs brevets d'invention protégeant tout ou partie des fonctionnalités du Logiciel ou de ses composants, il s'engage à ne pas opposer les éventuels droits conférés par ces brevets aux Licenciés successifs qui utiliseraient, exploiteraient ou modifieraient le Logiciel. En cas de cession de ces brevets, le Concédant s'engage à faire reprendre les obligations du présent alinéa aux cessionnaires.
+
+5.1 DROIT D'UTILISATION
+
+Le Licencié est autorisé à utiliser le Logiciel, sans restriction quant aux domaines d'application, étant ci-après précisé que cela comporte:
+
+la reproduction permanente ou provisoire du Logiciel en tout ou partie par tout moyen et sous toute forme.
+
+le chargement, l'affichage, l'exécution, ou le stockage du Logiciel sur tout support.
+
+la possibilité d'en observer, d'en étudier, ou d'en tester le fonctionnement afin de déterminer les idées et principes qui sont à la base de n'importe quel élément de ce Logiciel; et ceci, lorsque le Licencié effectue toute opération de chargement, d'affichage, d'exécution, de transmission ou de stockage du Logiciel qu'il est en droit d'effectuer en vertu du Contrat.
+
+5.2 DROIT D'APPORTER DES CONTRIBUTIONS
+
+Le droit d'apporter des Contributions comporte le droit de traduire, d'adapter, d'arranger ou d'apporter toute autre modification au Logiciel et le droit de reproduire le logiciel en résultant.
+
+Le Licencié est autorisé à apporter toute Contribution au Logiciel sous réserve de mentionner, de façon explicite, son nom en tant qu'auteur de cette Contribution et la date de création de celle-ci.
+
+5.3 DROIT DE DISTRIBUTION
+
+Le droit de distribution comporte notamment le droit de diffuser, de transmettre et de communiquer le Logiciel au public sur tout support et par tout moyen ainsi que le droit de mettre sur le marché à titre onéreux ou gratuit, un ou des exemplaires du Logiciel par tout procédé.
+
+Le Licencié est autorisé à distribuer des copies du Logiciel, modifié ou non, à des tiers dans les conditions ci-après détaillées.
+
+5.3.1 DISTRIBUTION DU LOGICIEL SANS MODIFICATION
+
+Le Licencié est autorisé à distribuer des copies conformes du Logiciel, sous forme de Code Source ou de Code Objet, à condition que cette distribution respecte les dispositions du Contrat dans leur totalité et soit accompagnée:
+
+d'un exemplaire du Contrat,
+
+d'un avertissement relatif à la restriction de garantie et de responsabilité du Concédant telle que prévue aux articles 8 et 9,
+
+et que, dans le cas où seul le Code Objet du Logiciel est redistribué, le Licencié permette un accès effectif au Code Source complet du Logiciel pendant au moins toute la durée de sa distribution du Logiciel, étant entendu que le coût additionnel d'acquisition du Code Source ne devra pas excéder le simple coût de transfert des données.
+
+5.3.2 DISTRIBUTION DU LOGICIEL MODIFIE
+
+Lorsque le Licencié apporte une Contribution au Logiciel, le Logiciel Modifié peut être distribué sous un contrat de licence autre que le présent Contrat sous réserve du respect des dispositions de l'article 5.3.4.
+
+5.3.3 DISTRIBUTION DES MODULES EXTERNES
+
+Lorsque le Licencié a développé un Module Externe les conditions du Contrat ne s'appliquent pas à ce Module Externe, qui peut être distribué sous un contrat de licence différent.
+
+5.3.4 CITATIONS
+
+Le Licencié qui distribue un Logiciel Modifié s'engage expressément:
+
+à indiquer dans sa documentation qu'il a été réalisé à partir du Logiciel régi par le Contrat, en reproduisant les mentions de propriété intellectuelle du Logiciel,
+
+à faire en sorte que l'utilisation du Logiciel, ses mentions de propriété intellectuelle et le fait qu'il est régi par le Contrat soient indiqués dans un texte facilement accessible depuis l'interface du Logiciel Modifié,
+
+à mentionner, sur un site Web librement accessible décrivant le Logiciel Modifié, et pendant au moins toute la durée de sa distribution, qu'il a été réalisé à partir du Logiciel régi par le Contrat, en reproduisant les mentions de propriété intellectuelle du Logiciel,
+
+lorsqu'il le distribue à un tiers susceptible de distribuer lui-même un Logiciel Modifié, sans avoir à en distribuer le code source, à faire ses meilleurs efforts pour que les obligations du présent article 5.3.4 soient reprises par le dit tiers.
+
+Lorsque le Logiciel modifié ou non est distribué avec un Module Externe qui a été conçu pour l'utiliser, le Licencié doit soumettre le dit Module Externe aux obligations précédentes.
+
+5.3.5 COMPATIBILITE AVEC LES LICENCES CeCILL et CeCILL-C
+
+Lorsqu'un Logiciel Modifié contient une Contribution soumise au contrat de licence CeCILL, les stipulations prévues à l'article 5.3.4 sont facultatives.
+
+Un Logiciel Modifié peut être distribué sous le contrat de licence CeCILL-C. Les stipulations prévues à l'article 5.3.4 sont alors facultatives.
+
+Article 6 - PROPRIETE INTELLECTUELLE
+
+6.1 SUR LE LOGICIEL INITIAL
+
+Le Titulaire est détenteur des droits patrimoniaux sur le Logiciel Initial. Toute utilisation du Logiciel Initial est soumise au respect des conditions dans lesquelles le Titulaire a choisi de diffuser son oeuvre et nul autre n'a la faculté de modifier les conditions de diffusion de ce Logiciel Initial.
+
+Le Titulaire s'engage à ce que le Logiciel Initial reste au moins régi par le Contrat et ce, pour la durée visée à l'article 4.2.
+
+6.2 SUR LES CONTRIBUTIONS
+
+Le Licencié qui a développé une Contribution est titulaire sur celle-ci des droits de propriété intellectuelle dans les conditions définies par la législation applicable.
+
+6.3 SUR LES MODULES EXTERNES
+
+Le Licencié qui a développé un Module Externe est titulaire sur celui-ci des droits de propriété intellectuelle dans les conditions définies par la législation applicable et reste libre du choix du contrat régissant sa diffusion.
+
+6.4 DISPOSITIONS COMMUNES
+
+Le Licencié s'engage expressément:
+
+à ne pas supprimer ou modifier de quelque manière que ce soit les mentions de propriété intellectuelle apposées sur le Logiciel;
+
+à reproduire à l'identique lesdites mentions de propriété intellectuelle sur les copies du Logiciel modifié ou non.
+
+Le Licencié s'engage à ne pas porter atteinte, directement ou indirectement, aux droits de propriété intellectuelle du Titulaire et/ou des Contributeurs sur le Logiciel et à prendre, le cas échéant, à l'égard de son personnel toutes les mesures nécessaires pour assurer le respect des dits droits de propriété intellectuelle du Titulaire et/ou des Contributeurs.
+
+Article 7 - SERVICES ASSOCIES
+
+7.1 Le Contrat n'oblige en aucun cas le Concédant à la réalisation de prestations d'assistance technique ou de maintenance du Logiciel.
+
+Cependant le Concédant reste libre de proposer ce type de services. Les termes et conditions d'une telle assistance technique et/ou d'une telle maintenance seront alors déterminés dans un acte séparé. Ces actes de maintenance et/ou assistance technique n'engageront que la seule responsabilité du Concédant qui les propose.
+
+7.2 De même, tout Concédant est libre de proposer, sous sa seule responsabilité, à ses licenciés une garantie, qui n'engagera que lui, lors de la redistribution du Logiciel et/ou du Logiciel Modifié et ce, dans les conditions qu'il souhaite. Cette garantie et les modalités financières de son application feront l'objet d'un acte séparé entre le Concédant et le Licencié.
+
+Article 8 - RESPONSABILITE
+
+8.1 Sous réserve des dispositions de l'article 8.2, le Licencié a la faculté, sous réserve de prouver la faute du Concédant concerné, de solliciter la réparation du préjudice direct qu'il subirait du fait du Logiciel et dont il apportera la preuve.
+
+8.2 La responsabilité du Concédant est limitée aux engagements pris en application du Contrat et ne saurait être engagée en raison notamment: (i) des dommages dus à l'inexécution, totale ou partielle, de ses obligations par le Licencié, (ii) des dommages directs ou indirects découlant de l'utilisation ou des performances du Logiciel subis par le Licencié et (iii) plus généralement d'un quelconque dommage indirect. En particulier, les Parties conviennent expressément que tout préjudice financier ou commercial (par exemple perte de données, perte de bénéfices, perte d'exploitation, perte de clientèle ou de commandes, manque à gagner, trouble commercial quelconque) ou toute action dirigée contre le Licencié par un tiers, constitue un dommage indirect et n'ouvre pas droit à réparation par le Concédant.
+
+Article 9 - GARANTIE
+
+9.1 Le Licencié reconnaît que l'état actuel des connaissances scientifiques et techniques au moment de la mise en circulation du Logiciel ne permet pas d'en tester et d'en vérifier toutes les utilisations ni de détecter l'existence d'éventuels défauts. L'attention du Licencié a été attirée sur ce point sur les risques associés au chargement, à l'utilisation, la modification et/ou au développement et à la reproduction du Logiciel qui sont réservés à des utilisateurs avertis.
+
+Il relève de la responsabilité du Licencié de contrôler, par tous moyens, l'adéquation du produit à ses besoins, son bon fonctionnement et de s'assurer qu'il ne causera pas de dommages aux personnes et aux biens.
+
+9.2 Le Concédant déclare de bonne foi être en droit de concéder l'ensemble des droits attachés au Logiciel (comprenant notamment les droits visés à l'article 5).
+
+9.3 Le Licencié reconnaît que le Logiciel est fourni "en l'état" par le Concédant sans autre garantie, expresse ou tacite, que celle prévue à l'article 9.2 et notamment sans aucune garantie sur sa valeur commerciale, son caractère sécurisé, innovant ou pertinent.
+
+En particulier, le Concédant ne garantit pas que le Logiciel est exempt d'erreur, qu'il fonctionnera sans interruption, qu'il sera compatible avec l'équipement du Licencié et sa configuration logicielle ni qu'il remplira les besoins du Licencié.
+
+9.4 Le Concédant ne garantit pas, de manière expresse ou tacite, que le Logiciel ne porte pas atteinte à un quelconque droit de propriété intellectuelle d'un tiers portant sur un brevet, un logiciel ou sur tout autre droit de propriété. Ainsi, le Concédant exclut toute garantie au profit du Licencié contre les actions en contrefaçon qui pourraient être diligentées au titre de l'utilisation, de la modification, et de la redistribution du Logiciel. Néanmoins, si de telles actions sont exercées contre le Licencié, le Concédant lui apportera son aide technique et juridique pour sa défense. Cette aide technique et juridique est déterminée au cas par cas entre le Concédant concerné et le Licencié dans le cadre d'un protocole d'accord. Le Concédant dégage toute responsabilité quant à l'utilisation de la dénomination du Logiciel par le Licencié. Aucune garantie n'est apportée quant à l'existence de droits antérieurs sur le nom du Logiciel et sur l'existence d'une marque.
+
+Article 10 - RESILIATION
+
+10.1 En cas de manquement par le Licencié aux obligations mises à sa charge par le Contrat, le Concédant pourra résilier de plein droit le Contrat trente (30) jours après notification adressée au Licencié et restée sans effet.
+
+10.2 Le Licencié dont le Contrat est résilié n'est plus autorisé à utiliser, modifier ou distribuer le Logiciel. Cependant, toutes les licences qu'il aura concédées antérieurement à la résiliation du Contrat resteront valides sous réserve qu'elles aient été effectuées en conformité avec le Contrat.
+
+Article 11 - DISPOSITIONS DIVERSES
+
+11.1 CAUSE EXTERIEURE
+
+Aucune des Parties ne sera responsable d'un retard ou d'une défaillance d'exécution du Contrat qui serait dû à un cas de force majeure, un cas fortuit ou une cause extérieure, telle que, notamment, le mauvais fonctionnement ou les interruptions du réseau électrique ou de télécommunication, la paralysie du réseau liée à une attaque informatique, l'intervention des autorités gouvernementales, les catastrophes naturelles, les dégâts des eaux, les tremblements de terre, le feu, les explosions, les grèves et les conflits sociaux, l'état de guerre...
+
+11.2 Le fait, par l'une ou l'autre des Parties, d'omettre en une ou plusieurs occasions de se prévaloir d'une ou plusieurs dispositions du Contrat, ne pourra en aucun cas impliquer renonciation par la Partie intéressée à s'en prévaloir ultérieurement.
+
+11.3 Le Contrat annule et remplace toute convention antérieure, écrite ou orale, entre les Parties sur le même objet et constitue l'accord entier entre les Parties sur cet objet. Aucune addition ou modification aux termes du Contrat n'aura d'effet à l'égard des Parties à moins d'être faite par écrit et signée par leurs représentants dûment habilités.
+
+11.4 Dans l'hypothèse où une ou plusieurs des dispositions du Contrat s'avèrerait contraire à une loi ou à un texte applicable, existants ou futurs, cette loi ou ce texte prévaudrait, et les Parties feraient les amendements nécessaires pour se conformer à cette loi ou à ce texte. Toutes les autres dispositions resteront en vigueur. De même, la nullité, pour quelque raison que ce soit, d'une des dispositions du Contrat ne saurait entraîner la nullité de l'ensemble du Contrat.
+
+11.5 LANGUE
+
+Le Contrat est rédigé en langue française et en langue anglaise, ces deux versions faisant également foi.
+
+Article 12 - NOUVELLES VERSIONS DU CONTRAT
+
+12.1 Toute personne est autorisée à copier et distribuer des copies de ce Contrat.
+
+12.2 Afin d'en préserver la cohérence, le texte du Contrat est protégé et ne peut être modifié que par les auteurs de la licence, lesquels se réservent le droit de publier périodiquement des mises à jour ou de nouvelles versions du Contrat, qui posséderont chacune un numéro distinct. Ces versions ultérieures seront susceptibles de prendre en compte de nouvelles problématiques rencontrées par les logiciels libres.
+
+12.3 Tout Logiciel diffusé sous une version donnée du Contrat ne pourra faire l'objet d'une diffusion ultérieure que sous la même version du Contrat ou une version postérieure.
+
+Article 13 - LOI APPLICABLE ET COMPETENCE TERRITORIALE
+
+13.1 Le Contrat est régi par la loi française. Les Parties conviennent de tenter de régler à l'amiable les différends ou litiges qui viendraient à se produire par suite ou à l'occasion du Contrat.
+
+13.2 A défaut d'accord amiable dans un délai de deux (2) mois à compter de leur survenance et sauf situation relevant d'une procédure d'urgence, les différends ou litiges seront portés par la Partie la plus diligente devant les Tribunaux compétents de Paris.
+
+1 CeCILL est pour Ce(a) C(nrs) I(nria) L(ogiciel) L(ibre)
+
+Version 1.0 du 2006-09-05.
\ No newline at end of file
diff --git a/options/license/CECILL-C b/options/license/CECILL-C
new file mode 100644
index 0000000..143e50d
--- /dev/null
+++ b/options/license/CECILL-C
@@ -0,0 +1,239 @@
+CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-C
+
+Avertissement
+
+Ce contrat est une licence de logiciel libre issue d'une concertation entre ses auteurs afin que le respect de deux grands principes préside à sa rédaction:
+
+d'une part, le respect des principes de diffusion des logiciels libres: accès au code source, droits étendus conférés aux utilisateurs,
+d'autre part, la désignation d'un droit applicable, le droit français, auquel elle est conforme, tant au regard du droit de la responsabilité civile que du droit de la propriété intellectuelle et de la protection qu'il offre aux auteurs et titulaires des droits patrimoniaux sur un logiciel.
+Les auteurs de la licence CeCILL-C1 sont:
+
+Commissariat à l'Energie Atomique - CEA, établissement public de recherche à caractère scientifique, technique et industriel, dont le siège est situé 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris.
+
+Centre National de la Recherche Scientifique - CNRS, établissement public à caractère scientifique et technologique, dont le siège est situé 3 rue Michel-Ange, 75794 Paris cedex 16.
+
+Institut National de Recherche en Informatique et en Automatique - INRIA, établissement public à caractère scientifique et technologique, dont le siège est situé Domaine de Voluceau, Rocquencourt, BP 105, 78153 Le Chesnay cedex.
+
+Préambule
+
+Ce contrat est une licence de logiciel libre dont l'objectif est de conférer aux utilisateurs la liberté de modifier et de réutiliser le logiciel régi par cette licence.
+
+L'exercice de cette liberté est assorti d'une obligation de remettre à la disposition de la communauté les modifications apportées au code source du logiciel afin de contribuer à son évolution.
+
+L'accessibilité au code source et les droits de copie, de modification et de redistribution qui découlent de ce contrat ont pour contrepartie de n'offrir aux utilisateurs qu'une garantie limitée et de ne faire peser sur l'auteur du logiciel, le titulaire des droits patrimoniaux et les concédants successifs qu'une responsabilité restreinte.
+
+A cet égard l'attention de l'utilisateur est attirée sur les risques associés au chargement, à l'utilisation, à la modification et/ou au développement et à la reproduction du logiciel par l'utilisateur étant donné sa spécificité de logiciel libre, qui peut le rendre complexe à manipuler et qui le réserve donc à des développeurs ou des professionnels avertis possédant des connaissances informatiques approfondies. Les utilisateurs sont donc invités à charger et tester l'adéquation du logiciel à leurs besoins dans des conditions permettant d'assurer la sécurité de leurs systèmes et/ou de leurs données et, plus généralement, à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. Ce contrat peut être reproduit et diffusé librement, sous réserve de le conserver en l'état, sans ajout ni suppression de clauses.
+
+Ce contrat est susceptible de s'appliquer à tout logiciel dont le titulaire des droits patrimoniaux décide de soumettre l'exploitation aux dispositions qu'il contient.
+
+Article 1 - DEFINITIONS
+
+Dans ce contrat, les termes suivants, lorsqu'ils seront écrits avec une lettre capitale, auront la signification suivante:
+
+Contrat: désigne le présent contrat de licence, ses éventuelles versions postérieures et annexes.
+
+Logiciel: désigne le logiciel sous sa forme de Code Objet et/ou de Code Source et le cas échéant sa documentation, dans leur état au moment de l'acceptation du Contrat par le Licencié.
+
+Logiciel Initial: désigne le Logiciel sous sa forme de Code Source et éventuellement de Code Objet et le cas échéant sa documentation, dans leur état au moment de leur première diffusion sous les termes du Contrat.
+
+Logiciel Modifié: désigne le Logiciel modifié par au moins une Contribution Intégrée.
+
+Code Source: désigne l'ensemble des instructions et des lignes de programme du Logiciel et auquel l'accès est nécessaire en vue de modifier le Logiciel.
+
+Code Objet: désigne les fichiers binaires issus de la compilation du Code Source.
+
+Titulaire: désigne le ou les détenteurs des droits patrimoniaux d'auteur sur le Logiciel Initial.
+
+Licencié: désigne le ou les utilisateurs du Logiciel ayant accepté le Contrat.
+
+Contributeur: désigne le Licencié auteur d'au moins une Contribution Intégrée.
+
+Concédant: désigne le Titulaire ou toute personne physique ou morale distribuant le Logiciel sous le Contrat.
+
+Contribution Intégrée: désigne l'ensemble des modifications, corrections, traductions, adaptations et/ou nouvelles fonctionnalités intégrées dans le Code Source par tout Contributeur.
+
+Module Lié: désigne un ensemble de fichiers sources y compris leur documentation qui, sans modification du Code Source, permet de réaliser des fonctionnalités ou services supplémentaires à ceux fournis par le Logiciel.
+
+Logiciel Dérivé: désigne toute combinaison du Logiciel, modifié ou non, et d'un Module Lié.
+
+Parties: désigne collectivement le Licencié et le Concédant.
+
+Ces termes s'entendent au singulier comme au pluriel.
+
+Article 2 - OBJET
+
+Le Contrat a pour objet la concession par le Concédant au Licencié d'une licence non exclusive, cessible et mondiale du Logiciel telle que définie ci-après à l'article 5 pour toute la durée de protection des droits portant sur ce Logiciel.
+
+Article 3 - ACCEPTATION
+
+3.1 L'acceptation par le Licencié des termes du Contrat est réputée acquise du fait du premier des faits suivants:
+
+(i) le chargement du Logiciel par tout moyen notamment par téléchargement à partir d'un serveur distant ou par chargement à partir d'un support physique;
+(ii) le premier exercice par le Licencié de l'un quelconque des droits concédés par le Contrat.
+3.2 Un exemplaire du Contrat, contenant notamment un avertissement relatif aux spécificités du Logiciel, à la restriction de garantie et à la limitation à un usage par des utilisateurs expérimentés a été mis à disposition du Licencié préalablement à son acceptation telle que définie à l'article 3.1 ci dessus et le Licencié reconnaît en avoir pris connaissance.
+
+Article 4 - ENTREE EN VIGUEUR ET DUREE
+
+4.1 ENTREE EN VIGUEUR
+
+Le Contrat entre en vigueur à la date de son acceptation par le Licencié telle que définie en 3.1.
+
+4.2 DUREE
+
+Le Contrat produira ses effets pendant toute la durée légale de protection des droits patrimoniaux portant sur le Logiciel.
+
+Article 5 - ETENDUE DES DROITS CONCEDES
+
+Le Concédant concède au Licencié, qui accepte, les droits suivants sur le Logiciel pour toutes destinations et pour la durée du Contrat dans les conditions ci-après détaillées.
+
+Par ailleurs, si le Concédant détient ou venait à détenir un ou plusieurs brevets d'invention protégeant tout ou partie des fonctionnalités du Logiciel ou de ses composants, il s'engage à ne pas opposer les éventuels droits conférés par ces brevets aux Licenciés successifs qui utiliseraient, exploiteraient ou modifieraient le Logiciel. En cas de cession de ces brevets, le Concédant s'engage à faire reprendre les obligations du présent alinéa aux cessionnaires.
+
+5.1 DROIT D'UTILISATION
+
+Le Licencié est autorisé à utiliser le Logiciel, sans restriction quant aux domaines d'application, étant ci-après précisé que cela comporte:
+
+la reproduction permanente ou provisoire du Logiciel en tout ou partie par tout moyen et sous toute forme.
+
+le chargement, l'affichage, l'exécution, ou le stockage du Logiciel sur tout support.
+
+la possibilité d'en observer, d'en étudier, ou d'en tester le fonctionnement afin de déterminer les idées et principes qui sont à la base de n'importe quel élément de ce Logiciel; et ceci, lorsque le Licencié effectue toute opération de chargement, d'affichage, d'exécution, de transmission ou de stockage du Logiciel qu'il est en droit d'effectuer en vertu du Contrat.
+
+5.2 DROIT DE MODIFICATION
+
+Le droit de modification comporte le droit de traduire, d'adapter, d'arranger ou d'apporter toute autre modification au Logiciel et le droit de reproduire le logiciel en résultant. Il comprend en particulier le droit de créer un Logiciel Dérivé.
+
+Le Licencié est autorisé à apporter toute modification au Logiciel sous réserve de mentionner, de façon explicite, son nom en tant qu'auteur de cette modification et la date de création de celle-ci.
+
+5.3 DROIT DE DISTRIBUTION
+
+Le droit de distribution comporte notamment le droit de diffuser, de transmettre et de communiquer le Logiciel au public sur tout support et par tout moyen ainsi que le droit de mettre sur le marché à titre onéreux ou gratuit, un ou des exemplaires du Logiciel par tout procédé.
+
+Le Licencié est autorisé à distribuer des copies du Logiciel, modifié ou non, à des tiers dans les conditions ci-après détaillées.
+
+5.3.1 DISTRIBUTION DU LOGICIEL SANS MODIFICATION
+
+Le Licencié est autorisé à distribuer des copies conformes du Logiciel, sous forme de Code Source ou de Code Objet, à condition que cette distribution respecte les dispositions du Contrat dans leur totalité et soit accompagnée:
+
+d'un exemplaire du Contrat,
+
+d'un avertissement relatif à la restriction de garantie et de responsabilité du Concédant telle que prévue aux articles 8 et 9,
+
+et que, dans le cas où seul le Code Objet du Logiciel est redistribué, le Licencié permette un accès effectif au Code Source complet du Logiciel pendant au moins toute la durée de sa distribution du Logiciel, étant entendu que le coût additionnel d'acquisition du Code Source ne devra pas excéder le simple coût de transfert des données.
+
+5.3.2 DISTRIBUTION DU LOGICIEL MODIFIE
+
+Lorsque le Licencié apporte une Contribution Intégrée au Logiciel, les conditions de distribution du Logiciel Modifié en résultant sont alors soumises à l'intégralité des dispositions du Contrat.
+
+Le Licencié est autorisé à distribuer le Logiciel Modifié sous forme de code source ou de code objet, à condition que cette distribution respecte les dispositions du Contrat dans leur totalité et soit accompagnée:
+
+d'un exemplaire du Contrat,
+
+d'un avertissement relatif à la restriction de garantie et de responsabilité du Concédant telle que prévue aux articles 8 et 9,
+
+et que, dans le cas où seul le code objet du Logiciel Modifié est redistribué, le Licencié permette un accès effectif à son code source complet pendant au moins toute la durée de sa distribution du Logiciel Modifié, étant entendu que le coût additionnel d'acquisition du code source ne devra pas excéder le simple coût de transfert des données.
+
+5.3.3 DISTRIBUTION DU LOGICIEL DERIVE
+
+Lorsque le Licencié crée un Logiciel Dérivé, ce Logiciel Dérivé peut être distribué sous un contrat de licence autre que le présent Contrat à condition de respecter les obligations de mention des droits sur le Logiciel telles que définies à l'article 6.4. Dans le cas où la création du Logiciel Dérivé a nécessité une modification du Code Source le licencié s'engage à ce que:
+
+le Logiciel Modifié correspondant à cette modification soit régi par le présent Contrat,
+les Contributions Intégrées dont le Logiciel Modifié résulte soient clairement identifiées et documentées,
+le Licencié permette un accès effectif au code source du Logiciel Modifié, pendant au moins toute la durée de la distribution du Logiciel Dérivé, de telle sorte que ces modifications puissent être reprises dans une version ultérieure du Logiciel, étant entendu que le coût additionnel d'acquisition du code source du Logiciel Modifié ne devra pas excéder le simple coût du transfert des données.
+5.3.4 COMPATIBILITE AVEC LA LICENCE CeCILL
+
+Lorsqu'un Logiciel Modifié contient une Contribution Intégrée soumise au contrat de licence CeCILL, ou lorsqu'un Logiciel Dérivé contient un Module Lié soumis au contrat de licence CeCILL, les stipulations prévues au troisième item de l'article 6.4 sont facultatives.
+
+Article 6 - PROPRIETE INTELLECTUELLE
+
+6.1 SUR LE LOGICIEL INITIAL
+
+Le Titulaire est détenteur des droits patrimoniaux sur le Logiciel Initial. Toute utilisation du Logiciel Initial est soumise au respect des conditions dans lesquelles le Titulaire a choisi de diffuser son oeuvre et nul autre n'a la faculté de modifier les conditions de diffusion de ce Logiciel Initial.
+
+Le Titulaire s'engage à ce que le Logiciel Initial reste au moins régi par le Contrat et ce, pour la durée visée à l'article 4.2.
+
+6.2 SUR LES CONTRIBUTIONS INTEGREES
+
+Le Licencié qui a développé une Contribution Intégrée est titulaire sur celle-ci des droits de propriété intellectuelle dans les conditions définies par la législation applicable.
+
+6.3 SUR LES MODULES LIES
+
+Le Licencié qui a développé un Module Lié est titulaire sur celui-ci des droits de propriété intellectuelle dans les conditions définies par la législation applicable et reste libre du choix du contrat régissant sa diffusion dans les conditions définies à l'article 5.3.3.
+
+6.4 MENTIONS DES DROITS
+
+Le Licencié s'engage expressément:
+
+à ne pas supprimer ou modifier de quelque manière que ce soit les mentions de propriété intellectuelle apposées sur le Logiciel;
+
+à reproduire à l'identique lesdites mentions de propriété intellectuelle sur les copies du Logiciel modifié ou non;
+
+à faire en sorte que l'utilisation du Logiciel, ses mentions de propriété intellectuelle et le fait qu'il est régi par le Contrat soient indiqués dans un texte facilement accessible notamment depuis l'interface de tout Logiciel Dérivé.
+Le Licencié s'engage à ne pas porter atteinte, directement ou indirectement, aux droits de propriété intellectuelle du Titulaire et/ou des Contributeurs sur le Logiciel et à prendre, le cas échéant, à l'égard de son personnel toutes les mesures nécessaires pour assurer le respect des dits droits de propriété intellectuelle du Titulaire et/ou des Contributeurs.
+
+Article 7 - SERVICES ASSOCIES
+
+7.1 Le Contrat n'oblige en aucun cas le Concédant à la réalisation de prestations d'assistance technique ou de maintenance du Logiciel.
+
+Cependant le Concédant reste libre de proposer ce type de services. Les termes et conditions d'une telle assistance technique et/ou d'une telle maintenance seront alors déterminés dans un acte séparé. Ces actes de maintenance et/ou assistance technique n'engageront que la seule responsabilité du Concédant qui les propose.
+
+7.2 De même, tout Concédant est libre de proposer, sous sa seule responsabilité, à ses licenciés une garantie, qui n'engagera que lui, lors de la redistribution du Logiciel et/ou du Logiciel Modifié et ce, dans les conditions qu'il souhaite. Cette garantie et les modalités financières de son application feront l'objet d'un acte séparé entre le Concédant et le Licencié.
+
+Article 8 - RESPONSABILITE
+
+8.1 Sous réserve des dispositions de l'article 8.2, le Licencié a la faculté, sous réserve de prouver la faute du Concédant concerné, de solliciter la réparation du préjudice direct qu'il subirait du fait du Logiciel et dont il apportera la preuve.
+
+8.2 La responsabilité du Concédant est limitée aux engagements pris en application du Contrat et ne saurait être engagée en raison notamment: (i) des dommages dus à l'inexécution, totale ou partielle, de ses obligations par le Licencié, (ii) des dommages directs ou indirects découlant de l'utilisation ou des performances du Logiciel subis par le Licencié et (iii) plus généralement d'un quelconque dommage indirect. En particulier, les Parties conviennent expressément que tout préjudice financier ou commercial (par exemple perte de données, perte de bénéfices, perte d'exploitation, perte de clientèle ou de commandes, manque à gagner, trouble commercial quelconque) ou toute action dirigée contre le Licencié par un tiers, constitue un dommage indirect et n'ouvre pas droit à réparation par le Concédant.
+
+Article 9 - GARANTIE
+
+9.1 Le Licencié reconnaît que l'état actuel des connaissances scientifiques et techniques au moment de la mise en circulation du Logiciel ne permet pas d'en tester et d'en vérifier toutes les utilisations ni de détecter l'existence d'éventuels défauts. L'attention du Licencié a été attirée sur ce point sur les risques associés au chargement, à l'utilisation, la modification et/ou au développement et à la reproduction du Logiciel qui sont réservés à des utilisateurs avertis.
+
+Il relève de la responsabilité du Licencié de contrôler, par tous moyens, l'adéquation du produit à ses besoins, son bon fonctionnement et de s'assurer qu'il ne causera pas de dommages aux personnes et aux biens.
+
+9.2 Le Concédant déclare de bonne foi être en droit de concéder l'ensemble des droits attachés au Logiciel (comprenant notamment les droits visés à l'article 5).
+
+9.3 Le Licencié reconnaît que le Logiciel est fourni "en l'état" par le Concédant sans autre garantie, expresse ou tacite, que celle prévue à l'article 9.2 et notamment sans aucune garantie sur sa valeur commerciale, son caractère sécurisé, innovant ou pertinent.
+
+En particulier, le Concédant ne garantit pas que le Logiciel est exempt d'erreur, qu'il fonctionnera sans interruption, qu'il sera compatible avec l'équipement du Licencié et sa configuration logicielle ni qu'il remplira les besoins du Licencié.
+
+9.4 Le Concédant ne garantit pas, de manière expresse ou tacite, que le Logiciel ne porte pas atteinte à un quelconque droit de propriété intellectuelle d'un tiers portant sur un brevet, un logiciel ou sur tout autre droit de propriété. Ainsi, le Concédant exclut toute garantie au profit du Licencié contre les actions en contrefaçon qui pourraient être diligentées au titre de l'utilisation, de la modification, et de la redistribution du Logiciel. Néanmoins, si de telles actions sont exercées contre le Licencié, le Concédant lui apportera son aide technique et juridique pour sa défense. Cette aide technique et juridique est déterminée au cas par cas entre le Concédant concerné et le Licencié dans le cadre d'un protocole d'accord. Le Concédant dégage toute responsabilité quant à l'utilisation de la dénomination du Logiciel par le Licencié. Aucune garantie n'est apportée quant à l'existence de droits antérieurs sur le nom du Logiciel et sur l'existence d'une marque.
+
+Article 10 - RESILIATION
+
+10.1 En cas de manquement par le Licencié aux obligations mises à sa charge par le Contrat, le Concédant pourra résilier de plein droit le Contrat trente (30) jours après notification adressée au Licencié et restée sans effet.
+
+10.2 Le Licencié dont le Contrat est résilié n'est plus autorisé à utiliser, modifier ou distribuer le Logiciel. Cependant, toutes les licences qu'il aura concédées antérieurement à la résiliation du Contrat resteront valides sous réserve qu'elles aient été effectuées en conformité avec le Contrat.
+
+Article 11 - DISPOSITIONS DIVERSES
+
+11.1 CAUSE EXTERIEURE
+
+Aucune des Parties ne sera responsable d'un retard ou d'une défaillance d'exécution du Contrat qui serait dû à un cas de force majeure, un cas fortuit ou une cause extérieure, telle que, notamment, le mauvais fonctionnement ou les interruptions du réseau électrique ou de télécommunication, la paralysie du réseau liée à une attaque informatique, l'intervention des autorités gouvernementales, les catastrophes naturelles, les dégâts des eaux, les tremblements de terre, le feu, les explosions, les grèves et les conflits sociaux, l'état de guerre...
+
+11.2 Le fait, par l'une ou l'autre des Parties, d'omettre en une ou plusieurs occasions de se prévaloir d'une ou plusieurs dispositions du Contrat, ne pourra en aucun cas impliquer renonciation par la Partie intéressée à s'en prévaloir ultérieurement.
+
+11.3 Le Contrat annule et remplace toute convention antérieure, écrite ou orale, entre les Parties sur le même objet et constitue l'accord entier entre les Parties sur cet objet. Aucune addition ou modification aux termes du Contrat n'aura d'effet à l'égard des Parties à moins d'être faite par écrit et signée par leurs représentants dûment habilités.
+
+11.4 Dans l'hypothèse où une ou plusieurs des dispositions du Contrat s'avèrerait contraire à une loi ou à un texte applicable, existants ou futurs, cette loi ou ce texte prévaudrait, et les Parties feraient les amendements nécessaires pour se conformer à cette loi ou à ce texte. Toutes les autres dispositions resteront en vigueur. De même, la nullité, pour quelque raison que ce soit, d'une des dispositions du Contrat ne saurait entraîner la nullité de l'ensemble du Contrat.
+
+11.5 LANGUE
+
+Le Contrat est rédigé en langue française et en langue anglaise, ces deux versions faisant également foi.
+
+Article 12 - NOUVELLES VERSIONS DU CONTRAT
+
+12.1 Toute personne est autorisée à copier et distribuer des copies de ce Contrat.
+
+12.2 Afin d'en préserver la cohérence, le texte du Contrat est protégé et ne peut être modifié que par les auteurs de la licence, lesquels se réservent le droit de publier périodiquement des mises à jour ou de nouvelles versions du Contrat, qui posséderont chacune un numéro distinct. Ces versions ultérieures seront susceptibles de prendre en compte de nouvelles problématiques rencontrées par les logiciels libres.
+
+12.3 Tout Logiciel diffusé sous une version donnée du Contrat ne pourra faire l'objet d'une diffusion ultérieure que sous la même version du Contrat ou une version postérieure.
+
+Article 13 - LOI APPLICABLE ET COMPETENCE TERRITORIALE
+
+13.1 Le Contrat est régi par la loi française. Les Parties conviennent de tenter de régler à l'amiable les différends ou litiges qui viendraient à se produire par suite ou à l'occasion du Contrat.
+
+13.2 A défaut d'accord amiable dans un délai de deux (2) mois à compter de leur survenance et sauf situation relevant d'une procédure d'urgence, les différends ou litiges seront portés par la Partie la plus diligente devant les Tribunaux compétents de Paris.
+
+1 CeCILL est pour Ce(a) C(nrs) I(nria) L(ogiciel) L(ibre)
+
+Version 1.0 du 2006-09-05.
\ No newline at end of file
diff --git a/options/license/CNRI-Jython b/options/license/CNRI-Jython
new file mode 100644
index 0000000..7529387
--- /dev/null
+++ b/options/license/CNRI-Jython
@@ -0,0 +1,10 @@
+
+1. This LICENSE AGREEMENT is between the Corporation for National Research Initiatives, having an office at 1895 Preston White Drive, Reston, VA 20191 ("CNRI"), and the Individual or Organization ("Licensee") accessing and using JPython version 1.1.x in source or binary form and its associated documentation as provided herein ("Software").
+2. Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a non-exclusive, non-transferable, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use the Software alone or in any derivative version, provided, however, that CNRI's License Agreement and CNRI's notice of copyright, i.e., “Copyright (c) 1996-1999 Corporation for National Research Initiatives; All Rights Reserved” are both retained in the Software, alone or in any derivative version prepared by Licensee.
Alternatively, in lieu of CNRI's License Agreement, Licensee may substitute the following text (omitting the quotes), provided, however, that such text is displayed prominently in the Software alone or in any derivative version prepared by Licensee: “JPython (Version 1.1.x) is made available subject to the terms and conditions in CNRI's License Agreement. This Agreement may be located on the Internet using the following unique, persistent identifier (known as a handle): 1895.22/1006. The License may also be obtained from a proxy server on the Web using the following URL: http://hdl.handle.net/1895.22/1006.”
+3. In the event Licensee prepares a derivative work that is based on or incorporates the Software or any part thereof, and wants to make the derivative work available to the public as provided herein, then Licensee hereby agrees to indicate in any such work, in a prominently visible way, the nature of the modifications made to CNRI's Software.
+4. Licensee may not use CNRI trademarks or trade name, including JPython or CNRI, in a trademark sense to endorse or promote products or services of Licensee, or any third party. Licensee may use the mark JPython in connection with Licensee's derivative versions that are based on or incorporate the Software, but only in the form “JPython-based ___________________,” or equivalent.
+5. CNRI is making the Software available to Licensee on an “AS IS” basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
+6. CNRI SHALL NOT BE LIABLE TO LICENSEE OR OTHER USERS OF THE SOFTWARE FOR ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. SOME STATES DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY SO THE ABOVE DISCLAIMER MAY NOT APPLY TO LICENSEE.
+7. This License Agreement may be terminated by CNRI (i) immediately upon written notice from CNRI of any material breach by the Licensee, if the nature of the breach is such that it cannot be promptly remedied; or (ii) sixty (60) days following notice from CNRI to Licensee of a material remediable breach, if Licensee has not remedied such breach within that sixty-day period.
+8. This License Agreement shall be governed by and interpreted in all respects by the law of the State of Virginia, excluding conflict of law provisions. Nothing in this Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between CNRI and Licensee.
+9. By clicking on the "ACCEPT" button where indicated, or by installing, copying or otherwise using the Software, Licensee agrees to be bound by the terms and conditions of this License Agreement.
diff --git a/options/license/CNRI-Python b/options/license/CNRI-Python
new file mode 100644
index 0000000..da7dad3
--- /dev/null
+++ b/options/license/CNRI-Python
@@ -0,0 +1,25 @@
+CNRI OPEN SOURCE LICENSE AGREEMENT
+
+IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY.
+
+BY CLICKING ON "ACCEPT" WHERE INDICATED BELOW, OR BY COPYING, INSTALLING OR OTHERWISE USING PYTHON 1.6, beta 1 SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT.
+
+1. This LICENSE AGREEMENT is between the Corporation for National Research Initiatives, having an office at 1895 Preston White Drive, Reston, VA 20191 ("CNRI"), and the Individual or Organization ("Licensee") accessing and otherwise using Python 1.6, beta 1 software in source or binary form and its associated documentation, as released at the www.python.org Internet site on August 4, 2000 ("Python 1.6b1").
+
+2. Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6b1 alone or in any derivative version, provided, however, that CNRIs License Agreement is retained in Python 1.6b1, alone or in any derivative version prepared by Licensee.
+
+Alternately, in lieu of CNRIs License Agreement, Licensee may substitute the following text (omitting the quotes): "Python 1.6, beta 1, is made available subject to the terms and conditions in CNRIs License Agreement. This Agreement may be located on the Internet using the following unique, persistent identifier (known as a handle): 1895.22/1011. This Agreement may also be obtained from a proxy server on the Internet using the URL:http://hdl.handle.net/1895.22/1011".
+
+3. In the event Licensee prepares a derivative work that is based on or incorporates Python 1.6b1 or any part thereof, and wants to make the derivative work available to the public as provided herein, then Licensee hereby agrees to indicate in any such work the nature of the modifications made to Python 1.6b1.
+
+4. CNRI is making Python 1.6b1 available to Licensee on an "AS IS" basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6b1 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF USING, MODIFYING OR DISTRIBUTING PYTHON 1.6b1, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material breach of its terms and conditions.
+
+7. This License Agreement shall be governed by and interpreted in all respects by the law of the State of Virginia, excluding conflict of law provisions. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between CNRI and Licensee. This License Agreement does not grant permission to use CNRI trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party.
+
+8. By clicking on the "ACCEPT" button where indicated, or by copying, installing or otherwise using Python 1.6b1, Licensee agrees to be bound by the terms and conditions of this License Agreement.
+
+ACCEPT
\ No newline at end of file
diff --git a/options/license/CNRI-Python-GPL-Compatible b/options/license/CNRI-Python-GPL-Compatible
new file mode 100644
index 0000000..2754c70
--- /dev/null
+++ b/options/license/CNRI-Python-GPL-Compatible
@@ -0,0 +1,23 @@
+CNRI OPEN SOURCE GPL-COMPATIBLE LICENSE AGREEMENT
+
+IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY.
+
+BY CLICKING ON "ACCEPT" WHERE INDICATED BELOW, OR BY COPYING, INSTALLING OR OTHERWISE USING PYTHON 1.6.1 SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT.
+
+1. This LICENSE AGREEMENT is between the Corporation for National Research Initiatives, having an office at 1895 Preston White Drive, Reston, VA 20191 ("CNRI"), and the Individual or Organization ("Licensee") accessing and otherwise using Python 1.6.1 software in source or binary form and its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6.1 alone or in any derivative version, provided, however, that CNRI's License Agreement and CNRI's notice of copyright, i.e., "Copyright © 1995-2001 Corporation for National Research Initiatives; All Rights Reserved" are retained in Python 1.6.1 alone or in any derivative version prepared by Licensee. Alternately, in lieu of CNRI's License Agreement, Licensee may substitute the following text (omitting the quotes): "Python 1.6.1 is made available subject to the terms and conditions in CNRI's License Agreement. This Agreement together with Python 1.6.1 may be located on the Internet using the following unique, persistent identifier (known as a handle): 1895.22/1013. This Agreement may also be obtained from a proxy server on the Internet using the following URL: http://hdl.handle.net/1895.22/1013".
+
+3. In the event Licensee prepares a derivative work that is based on or incorporates Python 1.6.1 or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Python 1.6.1.
+
+4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material breach of its terms and conditions.
+
+7. This License Agreement shall be governed by the federal intellectual property law of the United States, including without limitation the federal copyright law, and, to the extent such U.S. federal law does not apply, by the law of the Commonwealth of Virginia, excluding Virginia's conflict of law provisions. Notwithstanding the foregoing, with regard to derivative works based on Python 1.6.1 that incorporate non-separable material that was previously distributed under the GNU General Public License (GPL), the law of the Commonwealth of Virginia shall govern this License Agreement only as to issues arising under or with respect to Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between CNRI and Licensee. This License Agreement does not grant permission to use CNRI trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party.
+
+8. By clicking on the "ACCEPT" button where indicated, or by copying, installing or otherwise using Python 1.6.1, Licensee agrees to be bound by the terms and conditions of this License Agreement.
+
+ACCEPT
diff --git a/options/license/CPAL-1.0 b/options/license/CPAL-1.0
new file mode 100644
index 0000000..596c996
--- /dev/null
+++ b/options/license/CPAL-1.0
@@ -0,0 +1,172 @@
+Common Public Attribution License Version 1.0 (CPAL)
+
+1. “Definitions”
+
+1.0.1 “Commercial Use” means distribution or otherwise making the Covered Code available to a third party.
+
+1.1 “Contributor” means each entity that creates or contributes to the creation of Modifications.
+
+1.2 “Contributor Version” means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+1.3 “Covered Code” means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+1.4 “Electronic Distribution Mechanism” means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+1.5 “Executable” means Covered Code in any form other than Source Code.
+
+1.6 “Initial Developer” means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+1.7 “Larger Work” means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+1.8 “License” means this document.
+
+1.8.1 “Licensable” means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+1.9 “Modifications” means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+
+A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+
+B. Any new file that contains any part of the Original Code or previous Modifications.
+
+1.10 “Original Code” means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+1.10.1 “Patent Claims” means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+1.11 “Source Code” means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor’s choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+1.12 “You” (or “Your”) means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, “You” includes any entity which 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. Source Code License.
+
+2.1 The Initial Developer Grant.
+The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+
+ (b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+
+ (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
+
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
+
+2.2 Contributor Grant.
+Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+
+ (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code.
+
+ (d) Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+3.1 Application of License.
+The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients’ rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+3.2 Availability of Source Code.
+Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+3.3 Description of Modifications.
+You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+3.4 Intellectual Property Matters
+
+ (a) Third Party Claims. If Contributor has knowledge that a license under a third party’s intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled “LEGAL” which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+
+ (b) Contributor APIs. If Contributor’s Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
+
+ (c) Representations. Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor’s Modifications are Contributor’s original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+
+3.5 Required Notices.
+You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients’ rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+3.6 Distribution of Executable Versions.
+You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients’ rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient’s rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer, Original Developer or any Contributor. You hereby agree to indemnify the Initial Developer, Original Developer and every Contributor for any liability incurred by the Initial Developer, Original Developer or such Contributor as a result of any such terms You offer.
+
+3.7 Larger Works.
+You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+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 Code 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 included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. 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. Application of this License.
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+6.1 New Versions.
+Socialtext, Inc. (“Socialtext”) may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+6.2 Effect of New Versions.
+Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Socialtext. No one other than Socialtext has the right to modify the terms applicable to Covered Code created under this License.
+
+6.3 Derivative Works.
+If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases “Socialtext”, “CPAL” or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the CPAL. (Filling in the name of the Initial Developer, Original Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY.
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN “AS IS” BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE 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 CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER, ORIGINAL DEVELOPER OR ANY OTHER 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 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+8.1 This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+8.2 If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer, Original Developer or a Contributor (the Initial Developer, Original Developer or Contributor against whom You file such action is referred to as “Participant”) alleging that:
+
+ (a) such Participant’s Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+
+ (b) any software, hardware, or device, other than such Participant’s Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
+
+8.3 If You assert a patent infringement claim against Participant alleging that such Participant’s Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+8.4 In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY.
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ORIGINAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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.
+
+10. U.S. GOVERNMENT END USERS.
+The Covered Code is a “commercial item,” as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of “commercial computer software” and “commercial computer software documentation,” as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. MISCELLANEOUS.
+This License represents the complete agreement concerning 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. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys’ fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+As between Initial Developer, Original Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer, Original Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+13. MULTIPLE-LICENSED CODE.
+Initial Developer may designate portions of the Covered Code as Multiple-Licensed. Multiple-Licensed means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the CPAL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.
+
+14. ADDITIONAL TERM: ATTRIBUTION
+
+ (a) As a modest attribution to the organizer of the development of the Original Code (“Original Developer”), in the hope that its promotional value may help justify the time, money and effort invested in writing the Original Code, the Original Developer may include in Exhibit B (“Attribution Information”) a requirement that each time an Executable and Source Code or a Larger Work is launched or initially run (which includes initiating a session), a prominent display of the Original Developer’s Attribution Information (as defined below) must occur on the graphic user interface employed by the end user to access such Covered Code (which may include display on a splash screen), if any. The size of the graphic image should be consistent with the size of the other elements of the Attribution Information. If the access by the end user to the Executable and Source Code does not create a graphic user interface for access to the Covered Code, this obligation shall not apply. If the Original Code displays such Attribution Information in a particular form (such as in the form of a splash screen, notice at login, an “about” display, or dedicated attribution area on user interface screens), continued use of such form for that Attribution Information is one way of meeting this requirement for notice.
+
+ (b) Attribution information may only include a copyright notice, a brief phrase, graphic image and a URL (“Attribution Information”) and is subject to the Attribution Limits as defined below. For these purposes, prominent shall mean display for sufficient duration to give reasonable notice to the user of the identity of the Original Developer and that if You include Attribution Information or similar information for other parties, You must ensure that the Attribution Information for the Original Developer shall be no less prominent than such Attribution Information or similar information for the other party. For greater certainty, the Original Developer may choose to specify in Exhibit B below that the above attribution requirement only applies to an Executable and Source Code resulting from the Original Code or any Modification, but not a Larger Work. The intent is to provide for reasonably modest attribution, therefore the Original Developer cannot require that You display, at any time, more than the following information as Attribution Information: (a) a copyright notice including the name of the Original Developer; (b) a word or one phrase (not exceeding 10 words); (c) one graphic image provided by the Original Developer; and (d) a URL (collectively, the “Attribution Limits”).
+
+ (c) If Exhibit B does not include any Attribution Information, then there are no requirements for You to display any Attribution Information of the Original Developer.
+
+ (d) You acknowledge that all trademarks, service marks and/or trade names contained within the Attribution Information distributed with the Covered Code are the exclusive property of their owners and may only be used with the permission of their owners, or under circumstances otherwise permitted by law or as expressly set out in this License.
+
+15. ADDITIONAL TERM: NETWORK USE.
+The term “External Deployment” means the use, distribution, or communication of the Original Code or Modifications in any way such that the Original Code or Modifications may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Code or Modifications as a distribution under section 3.1 and make Source Code available under Section 3.2.
+
+EXHIBIT A. Common Public Attribution License Version 1.0.
+
+“The contents of this file are subject to the Common Public Attribution License Version 1.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at _____________. The License is based on the Mozilla Public License Version 1.1 but Sections 14 and 15 have been added to cover use of software over a computer network and provide for limited attribution for the Original Developer. In addition, Exhibit A has been modified to be consistent with Exhibit B.
+Software distributed under the License is distributed on an “AS IS” basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+The Original Code is______________________.
+The Original Developer is not the Initial Developer and is __________. If left blank, the Original Developer is the Initial Developer.
+The Initial Developer of the Original Code is ____________. All portions of the code written by ___________ are Copyright (c) _____. All Rights Reserved.
+Contributor ______________________.
+Alternatively, the contents of this file may be used under the terms of the _____ license (the [___] License), in which case the provisions of [______] License are applicable instead of those above.
+If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the CPAL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the [___] License. If you do not delete the provisions above, a recipient may use your version of this file under either the CPAL or the [___] License.”
+
+[NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.]
+
+EXHIBIT B. Attribution Information
+
+Attribution Copyright Notice: _______________________
+Attribution Phrase (not exceeding 10 words): _______________________
+Attribution URL: _______________________
+Graphic Image as provided in the Covered Code, if any.
+Display of Attribution Information is [required/not required] in Larger Works which are defined in the CPAL as a work which combines Covered Code or portions thereof with code not governed by the terms of the CPAL.
\ No newline at end of file
diff --git a/options/license/CPL-1.0 b/options/license/CPL-1.0
new file mode 100644
index 0000000..7732b21
--- /dev/null
+++ b/options/license/CPL-1.0
@@ -0,0 +1,87 @@
+Common Public License Version 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+ a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+ b) in the case of each subsequent Contributor:
+
+ i) changes to the Program, and
+
+ ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+ a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+ b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+ c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+ d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+ a) it complies with the terms and conditions of this Agreement; and
+
+ b) its license agreement:
+
+ i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
+
+ ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
+
+ iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
+
+ iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+ a) it must be made available under this Agreement; and
+
+ b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
\ No newline at end of file
diff --git a/options/license/CPOL-1.02 b/options/license/CPOL-1.02
new file mode 100644
index 0000000..8f0a750
--- /dev/null
+++ b/options/license/CPOL-1.02
@@ -0,0 +1,98 @@
+The Code Project Open License (CPOL) 1.02
+
+Preamble
+
+This License governs Your use of the Work. This License is intended to allow developers to use the Source Code and Executable Files provided as part of the Work in any application in any form.
+
+The main points subject to the terms of the License are:
+- Source Code and Executable Files can be used in commercial applications;
+- Source Code and Executable Files can be redistributed; and
+- Source Code can be modified to create derivative works.
+- No claim of suitability, guarantee, or any warranty whatsoever is provided. The software is provided "as-is".
+- The Article accompanying the Work may not be distributed or republished without the Author's consent
+
+This License is entered between You, the individual or other entity reading or otherwise making use of the Work licensed pursuant to this License and the individual or other entity which offers the Work under the terms of this License ("Author").
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CODE PROJECT OPEN LICENSE ("LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HEREIN, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE AUTHOR GRANTS YOU THE RIGHTS CONTAINED HEREIN IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. IF YOU DO NOT AGREE TO ACCEPT AND BE BOUND BY THE TERMS OF THIS LICENSE, YOU CANNOT MAKE ANY USE OF THE WORK.
+
+1. Definitions.
+
+ a. "Articles" means, collectively, all articles written by Author which describes how the Source Code and Executable Files for the Work may be used by a user.
+
+ b. "Author" means the individual or entity that offers the Work under the terms of this License.
+
+ c. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works.
+
+ d. "Executable Files" refer to the executables, binary files, configuration and any required data files included in the Work.
+
+ e. "Publisher" means the provider of the website, magazine, CD-ROM, DVD or other medium from or by which the Work is obtained by You.
+
+ f. "Source Code" refers to the collection of source code and configuration files used to create the Executable Files.
+
+ g. "Standard Version" refers to such a Work if it has not been modified, or has been modified in accordance with the consent of the Author, such consent being in the full discretion of the Author.
+
+ h. "Work" refers to the collection of files distributed by the Publisher, including the Source Code, Executable Files, binaries, data files, documentation, whitepapers and the Articles.
+
+ i. "You" is you, an individual or entity wishing to use the Work and exercise your rights under this License.
+
+2. Fair Use/Fair Use Rights. Nothing in this License is intended to reduce, limit, or restrict any rights arising from fair use, fair dealing, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, the Author hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. You may use the standard version of the Source Code or Executable Files in Your own applications.
+
+ b. You may apply bug fixes, portability fixes and other modifications obtained from the Public Domain or from the Author. A Work modified in such a way shall still be considered the standard version and will be subject to this License.
+
+ c. You may otherwise modify Your copy of this Work (excluding the Articles) in any way to create a Derivative Work, provided that You insert a prominent notice in each changed file stating how, when and where You changed that file.
+
+ d. You may distribute the standard version of the Executable Files and Source Code or Derivative Work in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution.
+
+ e. The Articles discussing the Work published in any form by the author may not be distributed or republished without the Author's consent. The author retains copyright to any such Articles. You may use the Executable Files and Source Code pursuant to this License but you may not repost or republish or otherwise distribute or make available the Articles, without the prior written consent of the Author.
+
+Any subroutines or modules supplied by You and linked into the Source Code or Executable Files of this Work shall not be considered part of this Work and will not be subject to the terms of this License.
+
+4. Patent License. Subject to the terms and conditions of this License, each Author 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, import, and otherwise transfer the Work.
+
+5. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You agree not to remove any of the original copyright, patent, trademark, and attribution notices and associated disclaimers that may appear in the Source Code or Executable Files.
+
+ b. You agree not to advertise or in any way imply that this Work is a product of Your own.
+
+ c. The name of the Author may not be used to endorse or promote products derived from the Work without the prior written consent of the Author.
+
+ d. You agree not to sell, lease, or rent any part of the Work. This does not restrict you from including the Work or any part of the Work inside a larger software distribution that itself is being sold. The Work by itself, though, cannot be sold, leased or rented.
+
+ e. You may distribute the Executable Files and Source Code only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy of the Executable Files or Source Code You distribute and ensure that anyone receiving such Executable Files and Source Code agrees that the terms of this License apply to such Executable Files and/or Source Code. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute the Executable Files or Source Code with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License.
+
+ f. You agree not to use the Work for illegal, immoral or improper purposes, or on pages containing illegal, immoral or improper material. The Work is subject to applicable export laws. You agree to comply with all such laws and regulations that may apply to the Work after Your receipt of the Work.
+
+6. Representations, Warranties and Disclaimer. THIS WORK IS PROVIDED "AS IS", "WHERE IS" AND "AS AVAILABLE", WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES OR CONDITIONS OR GUARANTEES. YOU, THE USER, ASSUME ALL RISK IN ITS USE, INCLUDING COPYRIGHT INFRINGEMENT, PATENT INFRINGEMENT, SUITABILITY, ETC. AUTHOR EXPRESSLY DISCLAIMS ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES OR CONDITIONS, INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF MERCHANTABILITY, MERCHANTABLE QUALITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ANY WARRANTY OF TITLE OR NON-INFRINGEMENT, OR THAT THE WORK (OR ANY PORTION THEREOF) IS CORRECT, USEFUL, BUG-FREE OR FREE OF VIRUSES. YOU MUST PASS THIS DISCLAIMER ON WHENEVER YOU DISTRIBUTE THE WORK OR DERIVATIVE WORKS.
+
+7. Indemnity. You agree to defend, indemnify and hold harmless the Author and the Publisher from and against any claims, suits, losses, damages, liabilities, costs, and expenses (including reasonable legal or attorneys' fees) resulting from or relating to any use of the Work by You.
+
+8. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL THE AUTHOR OR THE PUBLISHER BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK OR OTHERWISE, EVEN IF THE AUTHOR OR THE PUBLISHER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+9. Termination.
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of any term of this License. Individuals or entities who have received Derivative Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 6, 7, 8, 9, 10 and 11 will survive any termination of this License.
+
+ b. If You bring a copyright, trademark, patent or any other infringement claim against any contributor over infringements You claim are made by the Work, your License from such contributor to the Work ends automatically.
+
+ c. Subject to the above terms and conditions, this License is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, the Author reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+10. Publisher. The parties hereby confirm that the Publisher shall not, under any circumstances, be responsible for and shall not have any liability in respect of the subject matter of this License. The Publisher makes no warranty whatsoever in connection with the Work and shall not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. The Publisher reserves the right to cease making the Work available to You at any time without notice
+
+11. Miscellaneous
+
+ a. This License shall be governed by the laws of the location of the head office of the Author or if the Author is an individual, the laws of location of the principal place of residence of the Author.
+
+ b. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this License, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+ c. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+
+ d. This License constitutes the entire agreement between the parties with respect to the Work licensed herein. There are no understandings, agreements or representations with respect to the Work not specified herein. The Author shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Author and You.
diff --git a/options/license/Mozilla Public License 1.1 b/options/license/CUA-OPL-1.0
similarity index 60%
rename from options/license/Mozilla Public License 1.1
rename to options/license/CUA-OPL-1.0
index 8118cfd..fc6bab8 100644
--- a/options/license/Mozilla Public License 1.1
+++ b/options/license/CUA-OPL-1.0
@@ -1,4 +1,5 @@
-Mozilla Public License Version 1.1
+CUA Office Public License Version 1.0
+
1. Definitions.
1.0.1. "Commercial Use" means distribution or otherwise making the Covered Code available to a third party.
@@ -21,9 +22,11 @@ Mozilla Public License Version 1.1
1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
-1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
-Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
-Any new file that contains any part of the Original Code or previous Modifications.
+1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+
+ B. Any new file that contains any part of the Original Code or previous Modifications.
1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
@@ -37,17 +40,23 @@ Any new file that contains any part of the Original Code or previous Modificatio
2.1. The Initial Developer Grant. The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
-a. under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
-b. under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
-c. the licenses granted in this Section 2.1 (a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
-d. Notwithstanding Section 2.1 (b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+
+ (b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+
+ (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
+
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
2.2. Contributor Grant. Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
-a. under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
-b. under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
-c. the licenses granted in Sections 2.2 (a) and 2.2 (b) are effective on the date Contributor first makes Commercial Use of the Covered Code.
-d. Notwithstanding Section 2.2 (b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+
+ (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code.
+
+ (d) Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
3. Distribution Obligations.
@@ -59,84 +68,76 @@ d. Notwithstanding Section 2.2 (b) above, no patent license is granted: 1) for a
3.4. Intellectual Property Matters
-(a) Third Party Claims
-If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+ (a) Third Party Claims. If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
-(b) Contributor APIs
-If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
+ (b) Contributor APIs. If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
-(c) Representations.
-Contributor represents that, except as disclosed pursuant to Section 3.4 (a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+ (c) Representations. Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
3.5. Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
-3.6. Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Sections 3.1, 3.2, 3.3, 3.4 and 3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+3.6. Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
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 Code 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 included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. 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. Application of this License.
+5. Application of this License.
This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
6. Versions of the License.
-6.1. New Versions
-Netscape Communications Corporation ("Netscape") may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+6.1. New Versions. CUA Office Project may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
-6.2. Effect of New Versions
-Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License.
+6.2. Effect of New Versions. Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by CUA Office Project. No one other than CUA Office Project has the right to modify the terms applicable to Covered Code created under this License.
-6.3. Derivative Works
-If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", "MPL", "NPL" or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+6.3. Derivative Works. If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases "CUA Office", "CUA", "CUAPL", or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the CUA Office Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
-7. DISCLAIMER OF WARRANTY
+7. DISCLAIMER OF WARRANTY.
COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE 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 CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER 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 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-8. Termination
+8. TERMINATION.
8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
8.2. If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that:
-a. such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
-b. any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
+ (a) such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+
+ (b) any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
-9. LIMITATION OF LIABILITY
+9. LIMITATION OF LIABILITY.
UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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.
-10. U.S. government end users
+10. U.S. GOVERNMENT END USERS.
The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
-11. Miscellaneous
+11. MISCELLANEOUS.
This License represents the complete agreement concerning 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. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
-12. Responsibility for claims
+12. RESPONSIBILITY FOR CLAIMS.
As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
-13. Multiple-licensed code
-Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the MPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.
+13. MULTIPLE-LICENSED CODE.
+Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the NPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.
-Exhibit A - Mozilla Public License.
+EXHIBIT A - CUA Office Public License.
-"The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
+"The contents of this file are subject to the CUA Office Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://cuaoffice.sourceforge.net/
Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
The Original Code is ______________________________________.
-The Initial Developer of the Original Code is ________________________.
-Portions created by ______________________ are Copyright (C) ______
-_______________________. All Rights Reserved.
+The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved.
Contributor(s): ______________________________________.
-Alternatively, the contents of this file may be used under the terms of the _____ license (the "[___] License"), in which case the provisions of [______] License are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the [___] License. If you do not delete the provisions above, a recipient may use your version of this file under either the MPL or the [___] License."
+Alternatively, the contents of this file may be used under the terms of the _____ license (the "[___] License"), in which case the provisions of [______] License are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the CUAPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the [___] License. If you do not delete the provisions above, a recipient may use your version of this file under either the CUAPL or the [___] License."
-NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.
+[NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.]
\ No newline at end of file
diff --git a/options/license/Caldera b/options/license/Caldera
new file mode 100644
index 0000000..7e729a3
--- /dev/null
+++ b/options/license/Caldera
@@ -0,0 +1,25 @@
+Caldera International, Inc. hereby grants a fee free license that includes the rights use, modify and distribute this named source code, including creating derived binary products created from the source code. The source code for which Caldera International, Inc. grants rights are limited to the following UNIX Operating Systems that operate on the 16-Bit PDP-11 CPU and early versions of the 32-Bit UNIX Operating System, with specific exclusion of UNIX System III and UNIX System V and successor operating systems:
+
+ 32-bit 32V UNIX
+ 16 bit UNIX Versions 1, 2, 3, 4, 5, 6, 7
+
+Caldera International, Inc. makes no guarantees or commitments that any source code is available from Caldera
+International, Inc.
+
+The following copyright notice applies to the source code files for which this license is granted.
+
+Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code and documentation must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ All advertising materials mentioning features or use of this software must display the following acknowledgement:
+This product includes software developed or owned by Caldera International, Inc.
+
+ Neither the name of Caldera International, Inc. nor the names of other contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/ClArtistic b/options/license/ClArtistic
new file mode 100644
index 0000000..6901ee4
--- /dev/null
+++ b/options/license/ClArtistic
@@ -0,0 +1,61 @@
+The Clarified Artistic License
+
+Preamble
+
+The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder as specified below.
+
+ "Copyright Holder" is whoever is named in the copyright or copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing this Package.
+
+ "Distribution fee" is a fee you charge for providing a copy of this Package to another party.
+
+ "Freely Available" means that no fee is charged for the right to use the item, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain, or those made Freely Available, or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major network archive site allowing unrestricted access to them, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+ e) permit and encourge anyone who receives a copy of the modified Package permission to make your modifications Freely Available in some specific way.
+
+4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of the Package with your modifications.
+
+ c) give non-standard executables non-standard names, and clearly document the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+ e) offer the machine-readable source of the Package, with your modifications, by mail order.
+
+5. You may charge a distribution fee for any distribution of this Package. If you offer support for this Package, you may charge any fee you choose for that support. You may not charge a license fee for the right to use this Package itself. You may distribute this Package in aggregate with other (possibly commercial and possibly nonfree) programs as part of a larger (possibly commercial and possibly nonfree) software distribution, and charge license fees for other parts of that software distribution, provided that you do not advertise this Package as a product of your own. If the Package includes an interpreter, You may embed this Package's interpreter within an executable of yours (by linking); this shall be construed as a mere form of aggregation, provided that the complete Standard Version of the interpreter is so embedded.
+
+6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whoever generated them, and may be sold commercially, and may be aggregated with this Package. If such scripts or library files are aggregated with this Package via the so-called "undump" or "unexec" methods of producing a binary executable image, then distribution of such an image shall neither be construed as a distribution of this Package nor shall it fall under the restrictions of Paragraphs 3 and 4, provided that you do not represent such an executable image as a Standard Version of this Package.
+
+7. C subroutines (or comparably compiled subroutines in other languages) supplied by you and linked into this Package in order to emulate subroutines and variables of the language defined by this Package shall not be considered part of this Package, but are the equivalent of input as in Paragraph 6, provided these subroutines do not change the language in any way that would cause it to fail the regression tests for the language.
+
+8. Aggregation of the Standard Version of the Package with a commercial distribution is always permitted provided that the use of this Package is embedded; that is, when no overt attempt is made to make this Package's interfaces visible to the end user of the commercial distribution. Such use shall not be construed as a distribution of this Package.
+
+9. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
\ No newline at end of file
diff --git a/options/license/Condor-1.1 b/options/license/Condor-1.1
new file mode 100644
index 0000000..7c78eb8
--- /dev/null
+++ b/options/license/Condor-1.1
@@ -0,0 +1,39 @@
+Condor Public License
+
+Version 1.1, October 30, 2003
+
+Copyright © 1990-2006 Condor Team, Computer Sciences Department, University of Wisconsin-Madison, Madison, WI. All Rights Reserved. For more information contact: Condor Team, Attention: Professor Miron Livny, Dept of Computer Sciences, 1210 W. Dayton St., Madison, WI 53706-1685, (608) 262-0856 or miron@cs.wisc.edu.
+
+This software referred to as the Condor® Version 6.x software ("Software") was developed by the Condor Project, Condor Team, Computer Sciences Department, University of Wisconsin-Madison, under the authority of the Board of Regents of the University of Wisconsin System and includes voluntary contributions made to the Condor Project ("Copyright Holders and Contributors and the University"). For more information on the Condor Project, please see http://www.condorproject.org/.
+
+Installation, use, reproduction, display, modification and redistribution of this Software, with or without modification, in source and binary forms, are permitted. Any exercise of rights under this license including sublicenses by you is subject to the following conditions:
+
+1. Redistributions of this Software, with or without modification, must reproduce this Condor Public License in: (1) the Software, and (2) any user documentation or other similar material which is provided with the Software.
+
+2. Any user documentation included with a redistribution must include the following notice:
``This product includes software from the Condor® Project (http://www.condorproject.org/)"
Alternatively, if that is where third-party acknowledgments normally appear, this acknowledgment must be reproduced in the Software itself.
+3. Any academic report, publication, or other academic disclosure of results obtained with this Software will acknowledge this Software's use by an appropriate citation.
+
+4. The name Condor® is a registered trademark of the University of Wisconsin-Madison. The trademark may not be used to endorse or promote software, or products derived therefrom, and, other than as required by section 2 and 3 above, it may not be affixed to modified redistributions of this Software without the prior written approval, obtainable via email to condor-admin@cs.wisc.edu.
+
+5. To the extent that patent claims licensable by the University of Wisconsin-Madison are necessarily infringed by the use or sale of the Software, you are granted a non-exclusive, worldwide, royalty- free perpetual license under such patent claims, with the rights for you to make, use, sell, offer to sell, import and otherwise transfer the Software in source code and object code form and derivative works. This patent license shall apply to the combination of the Software with other software if, at the time the Software is added by you, such addition of the Software causes such combination to be covered by such patent claims. This patent license shall not apply to any other combinations which include the Software. No hardware per se is licensed hereunder.If you or any subsequent sub-licensee (a ``Recipient") institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Software infringes such Recipient's patent(s), then such Recipient's rights granted (directly or indirectly) under the patent license above shall terminate as of the date such litigation is filed. All sublicenses to the Software which have been properly granted prior to termination shall survive any termination of said patent license, if not otherwise terminated pursuant to this section.
+
+6. DISCLAIMER
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AND THE UNIVERSITY "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, OF SATISFACTORY QUALITY, AND FITNESS FOR A PARTICULAR PURPOSE OR USE ARE DISCLAIMED. THE COPYRIGHT HOLDERS AND CONTRIBUTORS AND THE UNIVERSITY MAKE NO REPRESENTATION THAT THE SOFTWARE, MODIFICATIONS, ENHANCEMENTS OR DERIVATIVE WORKS THEREOF, WILL NOT INFRINGE ANY PATENT, COPYRIGHT, TRADEMARK, TRADE SECRET OR OTHER PROPRIETARY RIGHT.
+7. LIMITATION OF LIABILITY
+THE COPYRIGHT HOLDERS AND CONTRIBUTORS AND ANY OTHER OFFICER, AGENT, OR EMPLOYEE OF THE UNIVERSITY SHALL HAVE NO LIABILITY TO LICENSEE OR OTHER PERSONS FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, LOSS OF USE, DATA OR PROFITS, OR BUSINESS INTERRUPTION, HOWEVER CAUSED AND ON ANY THEORY OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCT LIABILITY OR OTHERWISE, ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+8. Certain uses and transfers of the Software or documentation, and/or items or software incorporating the Condor Software or documentation, may require a license under U.S. Export Control laws. Licensee represents and warrants that all uses and transfers of the Condor Software or documentation and/or any items or software incorporating Condor shall be in compliance with U.S. Export Control laws, and Licensee further understands that failure to comply with such export control laws may result in criminal liability to Licensee under U.S. laws.
+
+9. The Condor Team may publish revised and/or new versions of this Condor Public License (``this License") from time to time. Each version will be given a distinguishing version number. Once Software has been published under a particular version of this License, you may always continue to use it under the terms of that version. You may also choose to use such Software under the terms of any subsequent version of this License published by the Condor Team. No one other than the Condor Team has the right to modify the terms of this License.
+
+For more information:
+
+Condor Team
+Attention: Professor Miron Livny
+7367 Computer Sciences
+1210 W. Dayton St.
+Madison, WI 53706-1685
+miron@cs.wisc.edu
+http://pages.cs.wisc.edu/~miron/miron.html
+
+
+
diff --git a/options/license/Crossword b/options/license/Crossword
new file mode 100644
index 0000000..74ecbb4
--- /dev/null
+++ b/options/license/Crossword
@@ -0,0 +1,5 @@
+Copyright (C) 1995-2009 Gerd Neugebauer
+
+cwpuzzle.dtx is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. No author or distributor accepts responsibility to anyone for the consequences of using it or for whether it serves any particular purpose or works at all, unless he says so in writing.
+ .
+Everyone is granted permission to copy, modify and redistribute cwpuzzle.dtx, provided this copyright notice is preserved and any modifications are indicated.
diff --git a/options/license/CrystalStacker b/options/license/CrystalStacker
new file mode 100644
index 0000000..7705e91
--- /dev/null
+++ b/options/license/CrystalStacker
@@ -0,0 +1,7 @@
+Crystal Stacker is freeware. This means you can pass copies around freely provided you include this document in it's original form in your distribution. Please see the "Contacting Us" section of this document if you need to contact us for any reason.
+
+Disclaimer
+
+NewCreature Design makes no guarantees regarding the Crystal Stacker software. We are not responsible for damages caused by it, though the software is not known to cause any problems. If you have trouble with the software, see the "Contacting Us" section of this document.
+
+The source code is provided as-is and you may do with it whatsoever you please provided that you include this file in its unmodified form with any new distribution. NewCreature Design makes no gaurantees regarding the usability of the source but are willing to help with any problems you might run into. Please see the "Contacting Us" section of this document if you need to get in touch with us about any issues you have regarding the source.
\ No newline at end of file
diff --git a/options/license/Cube b/options/license/Cube
new file mode 100644
index 0000000..3a61403
--- /dev/null
+++ b/options/license/Cube
@@ -0,0 +1,17 @@
+Cube game engine source code, 20 dec 2003 release.
+
+Copyright (C) 2001-2003 Wouter van Oortmerssen.
+
+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.
+
+additional clause specific to Cube:
+
+ 4. Source versions may not be "relicensed" under a different license without my explicitly written permission.
\ No newline at end of file
diff --git a/options/license/D-FSL-1.0 b/options/license/D-FSL-1.0
new file mode 100644
index 0000000..393d14f
--- /dev/null
+++ b/options/license/D-FSL-1.0
@@ -0,0 +1,147 @@
+Deutsche Freie Software Lizenz
+
+(c) Ministerium für Wissenschaft und Forschung Nordrhein-Westfalen 2004
+
+Erstellt von Axel Metzger und Till Jaeger, Institut für Rechtsfragen der Freien und Open Source Software - (http://www.ifross.de).
+
+Präambel
+
+Software ist mehr als ein Wirtschaftsgut. Sie ist die technische Grundlage der Informationsgesellschaft. Die Frage der Teilhabe der Allgemeinheit ist deswegen von besonderer Bedeutung. Herkömmlich lizenzierte Programme werden nur im Object Code vertrieben, der Nutzer darf das Programm weder verändern noch weitergeben. Das Lizenzmodell der Freien Software (synonym "Open Source Software") gewährt Ihnen dagegen umfassende Freiheiten im Umgang mit dem Programm. Die Deutsche Freie Software Lizenz folgt diesem Lizenzmodell. Sie gewährt Ihnen das Recht, das Programm in umfassender Weise zu nutzen. Es ist Ihnen gestattet, das Programm nach Ihren Vorstellungen zu verändern, in veränderter oder unveränderter Form zu vervielfältigen, zu verbreiten und öffentlich zugänglich zu machen. Diese Rechte werden unentgeltlich eingeräumt.
+
+Die Deutsche Freie Software Lizenz verbindet die Rechtseinräumung allerdings mit Pflichten, die dem Zweck dienen, das freie Zirkulieren des Programms und aller veröffentlichten Fortentwicklungen zu sichern. Wenn Sie das Programm verbreiten oder öffentlich zugänglich machen, dann müssen Sie jedem, der das Programm von Ihnen erhält, eine Kopie dieser Lizenz mitliefern und den Zugriff auf den Source Code ermöglichen. Eine weitere Pflicht betrifft Fortentwicklungen des Programms. Änderungen am Programm, die Sie öffentlich verbreiten oder zugänglich machen, müssen nach den Bestimmungen dieser Lizenz frei gegeben werden.
+
+Die Deutsche Freie Software Lizenz nimmt auf die besonderen Anforderungen des deutschen und europäischen Rechts Rücksicht. Sie ist zweisprachig gestaltet und damit auch auf den internationalen Vertrieb ausgerichtet.
+
+§ 0 Definitionen
+
+Dokumentation: Die Beschreibung des Aufbaus und/oder der Struktur der Programmierung und/oder der Funktionalitäten des Programms, unabhängig davon, ob sie im Source Code oder gesondert vorgenommen wird.
+
+Lizenz: Die zwischen dem Lizenzgeber und Ihnen geschlossene Vereinbarung mit dem Inhalt der "Deutschen Freien Software Lizenz" bzw. das Angebot hierzu.
+
+Lizenznehmer: Jede natürliche oder juristische Person, die die Lizenz angenommen hat.
+
+Programm: Jedes Computerprogramm, das von den Rechtsinhabern nach den Bestimmungen dieser Lizenz verbreitet oder öffentlich zugänglich gemacht worden ist.
+
+Object Code: Die maschinenlesbare, übersetzte Form des Programms.
+
+Öffentlich: Nicht nur an einen bestimmten Personenkreis gerichtet, der persönlich oder durch die Zugehörigkeit zu einer juristischen Person oder einem öffentlichen Träger miteinander verbunden ist.
+
+Öffentlich zugänglich machen: Die öffentliche Weitergabe des Programms in unkörperlicher Form, insbesondere das Bereithalten zum Download in Datennetzen.
+
+Rechtsinhaber: Der bzw. die Urheber oder sonstigen Inhaber der ausschließlichen Nutzungsrechte an dem Programm.
+
+Source Code: Die für Menschen lesbare, in Programmiersprache dargestellte Form des Programms.
+
+Verändern: Jede Erweiterung, Kürzung und Bearbeitung des Programms, insbesondere Weiterentwicklungen.
+
+Verbreiten: Die öffentliche Weitergabe körperlicher Vervielfältigungsstücke, insbesondere auf Datenträgern oder in Verbindung mit Hardware.
+
+Vollständiger Source Code: Der Source Code in der für die Erstellung bzw. die Bearbeitung benutzten Form zusammen mit den zur Übersetzung und Installation erforderlichen Konfigurationsdateien und Software-Werkzeugen, sofern diese in der benötigten Form nicht allgemein gebräuchlich (z.B. Standard-Kompiler) oder für jedermann lizenzgebührenfrei im Internet abrufbar sind.
+
+§ 1 Rechte
+
+(1) Sie dürfen das Programm in unveränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen.
+
+(2) Sie dürfen das Programm verändern und entsprechend veränderte Versionen vervielfältigen, verbreiten und öffentlich zugänglich machen. Gestattet ist auch die Kombination des Programms oder Teilen hiervon mit anderen Programmen.
+
+(3) Sie erhalten die Rechte unentgeltlich.
+
+§ 2 Pflichten beim Vertrieb
+
+(1) Wenn Sie das Programm verbreiten oder öffentlich zugänglich machen, sei es in unveränderter oder veränderter Form, sei es in einer Kombination mit anderen Programmen oder in Verbindung mit Hardware, dann müssen sie mitliefern:
+1. alle Vermerke im Source Code und/oder Object Code, die auf diese Lizenz hinweisen;
+2. alle Vermerke im Source Code und/oder Object Code, die über die Urheber des Programms Auskunft geben;
+3. einen für den Empfänger deutlich wahrnehmbaren Hinweis auf diese Lizenz und die Internetadresse http://www.d-fsl.de;
+4. den vollständigen Text dieser Lizenz in deutlich wahrnehmbarer Weise.
+
+(2) Wenn bei der Installation des Programms und/oder beim Programmstart Lizenz- und/oder Vertragsbedingungen angezeigt werden, dann müssen
+1. diese Lizenz,
+2. ein Hinweis auf diese Lizenz und
+3. ein Hinweis auf den oder die Rechtsinhaber an den ersten unter dieser Lizenz nutzbaren Programmbestandteilen
+ebenfalls angezeigt werden.
+
+(3) Sie dürfen die Nutzung des Programms nicht von Pflichten oder Bedingungen abhängig machen, die nicht in dieser Lizenz vorgesehen sind.
+
+(4) Sofern Sie mit dem Programm eine Dokumentation erhalten haben, muss diese Dokumentation entsprechend mitgeliefert werden, es sei denn, die freie Mitlieferung der Dokumentation ist Ihnen aufgrund der Lizenz für die Dokumentation nicht gestattet.
+
+§ 3 Weitere Pflichten beim Vertrieb veränderter Versionen
+
+(1) Veränderte Versionen des Programms dürfen Sie nur unter den Bedingungen dieser Lizenz verbreiten oder öffentlich zugänglich machen, so dass Dritte das veränderte Programm insgesamt unter dieser Lizenz nutzen können.
+
+(2) Wird das Programm oder ein Teil hiervon mit einem anderen Programm kombiniert, gilt auch die Kombination insgesamt als eine veränderte Version des Programms, es sei denn, das andere Programm ist formal und inhaltlich eigenständig. Ein anderes Programm ist dann als eigenständig anzusehen, wenn es die folgenden Voraussetzungen alle erfüllt:
+1. Der Source Code der kombinierten Programme muss jeweils in eigenen Dateien vorhanden sein, die keine Bestandteile des anderen Teils enthalten, die über die zur Programmkombination üblichen und erforderlichen Informationen über den anderen Teil hinausgehen, wobei der Source Code des anderen Programms nicht mitgeliefert werden muss.
+2. Der mit dem Programm kombinierte Teil muss auch dann sinnvoll nutzbar sein, wenn er nicht mit dem Programm kombiniert wird, und zwar entweder alleine oder mit sonstigen Programmen. Was als "sinnvoll nutzbar" anzusehen ist, richtet sich nach der Auffassung der betroffenen Fachkreise. Zu den betroffenen Fachkreisen gehören alle Personen, die das Programm oder Programme mit vergleichbarer Funktionalität entwickeln, benutzen, verbreiten oder öffentlich zugänglich machen.
+
+(3) Wenn Sie das Programm oder einen Teil hiervon - verändert oder unverändert - zusammen mit einem anderen Programm verbreiten oder öffentlich zugänglich machen, das unter der GNU General Public License (GPL) lizenziert wird, darf das Programm auch unter den Bedingungen der GPL genutzt werden, sofern es mit dem anderen Programm ein "derivative work" im Sinne der GPL bildet. Dabei sollen die Hinweise auf diese Lizenz entfernt und durch einen Hinweis auf die GPL ersetzt werden. Ob bei der Zusammenstellung ein "derivate work" im Sinne der GPL entsteht, beurteilt sich nach Ziffer 2 b) der GPL. Diese Bestimmung lautet: "You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License." Die GPL kann abgerufen werden unter http://www.fsf.org/licenses/gpl.
+
+(4) Wenn Sie das Programm in einer veränderten Form verbreiten oder öffentlich zugänglich machen, müssen Sie im Source Code einen Hinweis mit den Änderungen aufnehmen und mit dem Datum der Änderung versehen. Der Hinweis muss erkennen lassen, welche Änderungen vorgenommen wurden und bestehende Vermerke, die über die Urheber des Programms Auskunft geben, übernehmen. Dies gilt unabhängig davon, ob Sie einen eigenen Urhebervermerk hinzufügen. Anstelle eines Hinweises im Source Code können Sie auch ein Versionskontrollsystem verwenden oder weiterführen, sofern dieses mitverbreitet wird oder öffentlich zugänglich ist.
+
+(5) Sie dürfen von Dritten für die Einräumung eines einfachen Nutzungsrechts an veränderten Versionen des Programms kein Entgelt verlangen.
+
+(6) Wenn Sie an der veränderten Version des Programms ein anderes Schutzrecht als ein Urheberrecht erwerben, insbesondere ein Patent oder Gebrauchsmuster, lizenzieren Sie dieses Schutzrecht für veränderte und unveränderte Versionen des Programms in dem Umfang, der erforderlich ist, um die Rechte aus dieser Lizenz wahrnehmen zu können.
+
+§ 4 Weitere Pflichten beim Vertrieb im Object Code
+
+(1) Wenn Sie das Programm nur im Object Code verbreiten, dann müssen Sie zusätzlich zu den in § 2 und § 3 geregelten Pflichten entweder
+1. den vollständigen Source Code im Internet öffentlich zugänglich machen und bei der Verbreitung des Object Codes deutlich auf die vollständige Internetadresse hinweisen, unter der der Source Code abgerufen werden kann oder
+2. den vollständigen Source Code auf einem hierfür üblichen Datenträger unter Beachtung der §§ 2 und 3 mitverbreiten.
+
+(2) Wenn Sie das Programm im Object Code öffentlich zugänglich machen, dann müssen Sie zusätzlich zu den in § 2 und § 3 geregelten Pflichten den vollständigen Source Code im Internet öffentlich zugänglich machen und dabei deutlich auf die vollständige Internetadresse hinweisen.
+
+(3) Sofern Sie mit dem Programm eine Dokumentation erhalten haben, muss diese Dokumentation entsprechend der Absätze 1 und 2 mitgeliefert werden, es sei denn, die freie Mitlieferung der Dokumentation ist Ihnen aufgrund der Lizenz für die Dokumentation nicht gestattet.
+
+§ 5 Vertragsschluss
+
+(1) Mit dieser Lizenz wird Ihnen und jeder anderen Person ein Angebot auf Abschluss eines Vertrages über die Nutzung des Programms unter den Bedingungen der Deutschen Freien Softwarelizenz unterbreitet.
+
+(2) Sie dürfen das Programm nach den jeweils anwendbaren gesetzlichen Vorschriften bestimmungsgemäß benutzen, ohne dass es der Annahme dieser Lizenz bedarf. Dieses Recht umfasst in der Europäischen Union und in den meisten anderen Rechtsordnungen insbesondere die folgenden Befugnisse:
+1. das Programm ablaufen zu lassen sowie die Erstellung von hierfür erforderlichen Vervielfältigungen im Haupt- und Arbeitsspeicher;
+2. das Erstellen einer Sicherungskopie;
+3. die Fehlerberichtigung;
+4. die Weitergabe einer rechtmäßig erworbenen körperlichen Kopie des Programms.
+
+(3) Sie erklären Ihre Zustimmung zum Abschluss dieser Lizenz, indem Sie das Programm verbreiten, öffentlich zugänglich machen, verändern oder in einer Weise vervielfältigen, die über die bestimmungsgemäße Nutzung im Sinne von Absatz 2 hinausgeht. Ab diesem Zeitpunkt ist diese Lizenz als rechtlich verbindlicher Vertrag zwischen den Rechtsinhabern und Ihnen geschlossen, ohne dass es eines Zugangs der Annahmeerklärung bei den Rechtsinhabern bedarf.
+
+(4) Sie und jeder andere Lizenznehmer erhalten die Rechte aus dieser Lizenz direkt von den Rechtsinhabern. Eine Unterlizenzierung oder Übertragung der Rechte ist nicht gestattet.
+
+§ 6 Beendigung der Rechte bei Zuwiderhandlung
+
+(1) Jede Verletzung Ihrer Verpflichtungen aus dieser Lizenz führt zu einer automatischen Beendigung Ihrer Rechte aus dieser Lizenz.
+
+(2) Die Rechte Dritter, die das Programm oder Rechte an dem Programm von Ihnen erhalten haben, bleiben hiervon unberührt.
+
+§ 7 Haftung und Gewährleistung
+
+(1) Für entgegenstehende Rechte Dritter haften die Rechtsinhaber nur, sofern sie Kenntnis von diesen Rechten hatten, ohne Sie zu informieren.
+
+(2) Die Haftung für Fehler und sonstige Mängel des Programms richtet sich nach den außerhalb dieser Lizenz getroffenen Vereinbarungen zwischen Ihnen und den Rechtsinhabern oder, wenn eine solche Vereinbarung nicht existiert, nach den gesetzlichen Regelungen.
+
+§ 8 Verträge mit Dritten
+
+(1) Diese Lizenz regelt nur die Beziehung zwischen Ihnen und den Rechtsinhabern. Sie ist nicht Bestandteil der Verträge zwischen Ihnen und Dritten.
+
+(2) Die Lizenz beschränkt Sie nicht in der Freiheit, mit Dritten, die von Ihnen Kopien des Programms erhalten oder Leistungen in Anspruch nehmen, die im Zusammenhang mit dem Programm stehen, Verträge beliebigen Inhalts zu schließen, sofern Sie dabei Ihren Verpflichtungen aus dieser Lizenz nachkommen und die Rechte der Dritten aus dieser Lizenz nicht beeinträchtigt werden. Insbesondere dürfen Sie für die Überlassung des Programms oder sonstige Leistungen ein Entgelt verlangen.
+
+(3) Diese Lizenz verpflichtet Sie nicht, das Programm an Dritte weiterzugeben. Es steht Ihnen frei zu entscheiden, wem Sie das Programm zugänglich machen. Sie dürfen aber die weitere Nutzung durch Dritte nicht durch den Einsatz technischer Schutzmaßnahmen, insbesondere durch den Einsatz von Kopierschutzvorrichtungen jeglicher Art, verhindern oder erschweren. Eine passwortgeschützte Zugangsbeschränkung oder die Nutzung in einem Intranet wird nicht als technische Schutzmaßnahme angesehen.
+
+§ 9 Text der Lizenz
+
+(1) Diese Lizenz ist in deutscher und englischer Sprache abgefasst. Beide Fassungen sind gleich verbindlich. Es wird unterstellt, dass die in der Lizenz verwandten Begriffe in beiden Fassungen dieselbe Bedeutung haben. Ergeben sich dennoch Unterschiede, so ist die Bedeutung maßgeblich, welche die Fassungen unter Berücksichtigung des Ziels und Zwecks der Lizenz am besten miteinander in Einklang bringt.
+
+(2) Der Lizenzrat der Deutschen Freien Software Lizenz kann mit verbindlicher Wirkung neue Versionen der Lizenz in Kraft setzen, soweit dies erforderlich und zumutbar ist. Neue Versionen der Lizenz werden auf der Internetseite http://www.d-fsl.de mit einer eindeutigen Versionsnummer veröffentlicht. Die neue Version der Lizenz erlangt für Sie verbindliche Wirkung, wenn Sie von deren Veröffentlichung Kenntnis genommen haben. Gesetzliche Rechtsbehelfe gegen die Änderung der Lizenz werden durch die vorstehenden Bestimmungen nicht beschränkt.
+
+(3) Sie dürfen diese Lizenz in unveränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen.
+
+§ 10 Anwendbares Recht
+
+Auf diese Lizenz findet deutsches Recht Anwendung.
+
+
+Anhang: Wie unterstellen Sie ein Programm der Deutschen Freien Software Lizenz?
+Um jedermann den Abschluss dieser Lizenz zu ermöglichen, wird empfohlen, das Programm mit folgendem Hinweis auf die Lizenz zu versehen:
+
+"Copyright (C) 20[jj] [Name des Rechtsinhabers].
+
+Dieses Programm kann durch jedermann gemäß den Bestimmungen der Deutschen Freien Software Lizenz genutzt werden.
+
+Die Lizenz kann unter http://www.d-fsl.de abgerufen werden."
\ No newline at end of file
diff --git a/options/license/DOC b/options/license/DOC
new file mode 100644
index 0000000..4bb9608
--- /dev/null
+++ b/options/license/DOC
@@ -0,0 +1,16 @@
+Copyright and Licensing Information for ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), and CoSMIC(TM)
+
+ACE(TM), TAO(TM), CIAO(TM), DAnCE>(TM), and CoSMIC(TM) (henceforth referred to as "DOC software") are copyrighted by Douglas C. Schmidt and his research group at Washington University, University of California, Irvine, and Vanderbilt University, Copyright (c) 1993-2009, all rights reserved. Since DOC software is open-source, freely available software, you are free to use, modify, copy, and distribute--perpetually and irrevocably--the DOC software source code and object code produced from the source, as well as copy and distribute modified versions of this software. You must, however, include this copyright statement along with any code built using DOC software that you release. No copyright statement needs to be provided if you just ship binary executables of your software products.
+
+You can use DOC software in commercial and/or binary software releases and are under no obligation to redistribute any of your source code that is built using DOC software. Note, however, that you may not misappropriate the DOC software code, such as copyrighting it yourself or claiming authorship of the DOC software code, in a way that will prevent DOC software from being distributed freely using an open-source development model. You needn't inform anyone that you're using DOC software in your software, though we encourage you to let us know so we can promote your project in the DOC software success stories.
+
+The ACE, TAO, CIAO, DAnCE, and CoSMIC web sites are maintained by the DOC Group at the Institute for Software Integrated Systems (ISIS) and the Center for Distributed Object Computing of Washington University, St. Louis for the development of open-source software as part of the open-source software community. Submissions are provided by the submitter ``as is'' with no warranties whatsoever, including any warranty of merchantability, noninfringement of third party intellectual property, or fitness for any particular purpose. In no event shall the submitter be liable for any direct, indirect, special, exemplary, punitive, or consequential damages, including without limitation, lost profits, even if advised of the possibility of such damages. Likewise, DOC software is provided as is with no warranties of any kind, including the warranties of design, merchantability, and fitness for a particular purpose, noninfringement, or arising from a course of dealing, usage or trade practice. Washington University, UC Irvine, Vanderbilt University, their employees, and students shall have no liability with respect to the infringement of copyrights, trade secrets or any patents by DOC software or any part thereof. Moreover, in no event will Washington University, UC Irvine, or Vanderbilt University, their employees, or students be liable for any lost revenue or profits or other special, indirect and consequential damages.
+
+DOC software is provided with no support and without any obligation on the part of Washington University, UC Irvine, Vanderbilt University, their employees, or students to assist in its use, correction, modification, or enhancement. A number of companies around the world provide commercial support for DOC software, however. DOC software is Y2K-compliant, as long as the underlying OS platform is Y2K-compliant. Likewise, DOC software is compliant with the new US daylight savings rule passed by Congress as "The Energy Policy Act of 2005," which established new daylight savings times (DST) rules for the United States that expand DST as of March 2007. Since DOC software obtains time/date and calendaring information from operating systems users will not be affected by the new DST rules as long as they upgrade their operating systems accordingly.
+
+The names ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), CoSMIC(TM), Washington University, UC Irvine, and Vanderbilt University, may not be used to endorse or promote products or services derived from this source without express written permission from Washington University, UC Irvine, or Vanderbilt University. This license grants no permission to call products or services derived from this source ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), or CoSMIC(TM), nor does it grant permission for the name Washington University, UC Irvine, or Vanderbilt University to appear in their names.
+
+If you have any suggestions, additions, comments, or questions, please let me know.
+
+Douglas C. Schmidt
+
diff --git a/options/license/DSDP b/options/license/DSDP
new file mode 100644
index 0000000..bf2ec89
--- /dev/null
+++ b/options/license/DSDP
@@ -0,0 +1,18 @@
+COPYRIGHT NOTIFICATION
+
+(C) COPYRIGHT 2004 UNIVERSITY OF CHICAGO
+
+This program discloses material protectable under copyright laws of the United States. Permission to copy and modify this software and its documentation is hereby granted, provided that this notice is retained thereon and on all copies or modifications. The University of Chicago makes no representations as to the suitability and operability of this software for any purpose. It is provided "as is"; without express or implied warranty. Permission is hereby granted to use, reproduce, prepare derivative works, and to redistribute to others, so long as this original copyright notice is retained. Any publication resulting from research that made use of this software should cite this document.
+
+ This software was authored by:
+
+ Steven J. Benson Mathematics and Computer Science Division Argonne National Laboratory Argonne IL 60439
+
+ Yinyu Ye Department of Management Science and Engineering Stanford University Stanford, CA U.S.A
+
+ Any questions or comments on the software may be directed to benson@mcs.anl.gov or yinyu-ye@stanford.edu
+
+Argonne National Laboratory with facilities in the states of Illinois and Idaho, is owned by The United States Government, and operated by the University of Chicago under provision of a contract with the Department of Energy.
+
+DISCLAIMER
+THIS PROGRAM WAS PREPARED AS AN ACCOUNT OF WORK SPONSORED BY AN AGENCY OF THE UNITED STATES GOVERNMENT. NEITHER THE UNITED STATES GOVERNMENT NOR ANY AGENCY THEREOF, NOR THE UNIVERSITY OF CHICAGO, NOR ANY OF THEIR EMPLOYEES OR OFFICERS, MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LEGAL LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY INFORMATION, APPARATUS, PRODUCT, OR PROCESS DISCLOSED, OR REPRESENTS THAT ITS USE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS. REFERENCE HEREIN TO ANY SPECIFIC COMMERCIAL PRODUCT, PROCESS, OR SERVICE BY TRADE NAME, TRADEMARK, MANUFACTURER, OR OTHERWISE, DOES NOT NECESSARILY CONSTITUTE OR IMPLY ITS ENDORSEMENT, RECOMMENDATION, OR FAVORING BY THE UNITED STATES GOVERNMENT OR ANY AGENCY THEREOF. THE VIEW AND OPINIONS OF AUTHORS EXPRESSED HEREIN DO NOT NECESSARILY STATE OR REFLECT THOSE OF THE UNITED STATES GOVERNMENT OR ANY AGENCY THEREOF.
\ No newline at end of file
diff --git a/options/license/Dotseqn b/options/license/Dotseqn
new file mode 100644
index 0000000..9833407
--- /dev/null
+++ b/options/license/Dotseqn
@@ -0,0 +1,5 @@
+Copyright (C) 1995 by Donald Arseneau
+
+This file may be freely transmitted and reproduced, but it may not be changed unless the name is changed also (except that you may freely change the paper-size option for \documentclass).
+
+This notice must be left intact.
diff --git a/options/license/Educational Community License v1.0 b/options/license/ECL-1.0
similarity index 71%
rename from options/license/Educational Community License v1.0
rename to options/license/ECL-1.0
index eb69cbd..e207abf 100644
--- a/options/license/Educational Community License v1.0
+++ b/options/license/ECL-1.0
@@ -1,22 +1,23 @@
The Educational Community License
+
This Educational Community License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
-Copyright (c)
+ Copyright (c) < ;match=.+>>
-Licensed under the Educational Community License version 1.0
+ Licensed under the Educational Community License version 1.0
This Original Work, including software, source code, documents, or other related items, is being provided by the copyright holder(s) subject to the terms of the Educational Community License. By obtaining, using and/or copying this Original Work, you agree that you have read, understand, and will comply with the following terms and conditions of the Educational Community License:
-Permission to use, copy, modify, merge, publish, distribute, and sublicense this Original Work and its documentation, with or without modification, for any purpose, and without fee or royalty to the copyright holder(s) is hereby granted, provided that you include the following on ALL copies of the Original Work or portions thereof, including modifications or derivatives, that you make:
+Permission to use, copy, modify, merge, publish, distribute, and sublicense this Original Work and its documentation, with or without modification, for any purpose, and without fee or royalty to the copyright holder(s) is hereby granted, provided that you include the following on ALL copies of the Original Work or portions thereof, including modifications or derivatives, that you make:
-The full text of the Educational Community License in a location viewable to users of the redistributed or derivative work.
+ The full text of the Educational Community License in a location viewable to users of the redistributed or derivative work.
-Any pre-existing intellectual property disclaimers, notices, or terms and conditions.
+ Any pre-existing intellectual property disclaimers, notices, or terms and conditions.
-Notice of any changes or modifications to the Original Work, including the date the changes were made.
+ Notice of any changes or modifications to the Original Work, including the date the changes were made.
-Any modifications of the Original Work must be distributed in such a manner as to avoid any confusion with the Original Work of the copyright holders.
+ Any modifications of the Original Work must be distributed in such a manner as to avoid any confusion with the Original Work of the copyright holders.
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.
-The name and trademarks of copyright holder(s) may NOT be used in advertising or publicity pertaining to the Original or Derivative Works without specific, written prior permission. Title to copyright in the Original Work and any associated documentation will at all times remain with the copyright holders.
+The name and trademarks of copyright holder(s) may NOT be used in advertising or publicity pertaining to the Original or Derivative Works without specific, written prior permission. Title to copyright in the Original Work and any associated documentation will at all times remain with the copyright holders.
\ No newline at end of file
diff --git a/options/license/Educational Community License v2.0 b/options/license/ECL-2.0
similarity index 79%
rename from options/license/Educational Community License v2.0
rename to options/license/ECL-2.0
index 4c69417..a4b4cbd 100644
--- a/options/license/Educational Community License v2.0
+++ b/options/license/ECL-2.0
@@ -1,5 +1,6 @@
-Educational Community License
+Educational Community License
Version 2.0, April 2007
+
http://www.osedu.org/licenses/
The Educational Community License version 2.0 ("ECL") consists of the Apache 2.0 license, modified to change the scope of the patent grant in section 3 to be specific to the needs of the education communities using this license. The original Apache 2.0 license can be found at: http://www.apache.org/licenses/LICENSE-2.0
@@ -40,13 +41,13 @@ Subject to the terms and conditions of this License, each Contributor hereby gra
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
+ 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
+ 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
+ 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.
+ 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.
@@ -74,24 +75,24 @@ END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Educational Community License to your work
-To apply the Educational Community License to your work, attach
-the following boilerplate notice, with the fields enclosed by
-brackets "[]" replaced with your own identifying information.
-(Don't include the brackets!) The text should be enclosed in the
-appropriate comment syntax for the file format. We also recommend
-that a file or class name and description of purpose be included on
-the same "printed page" as the copyright notice for easier
+To apply the Educational Community License to your work, attach
+the following boilerplate notice, with the fields enclosed by
+brackets "[]" replaced with your own identifying information.
+(Don't include the brackets!) The text should be enclosed in the
+appropriate comment syntax for the file format. We also recommend
+that a file or class name and description of purpose be included on
+the same "printed page" as the copyright notice for easier
identification within third-party archives.
-Copyright [yyyy] [name of copyright owner] Licensed under the
-Educational Community License, Version 2.0 (the "License"); you may
-not use this file except in compliance with the License. You may
-obtain a copy of the License at
+ Copyright [yyyy] [name of copyright owner] Licensed under the
+ Educational Community License, Version 2.0 (the "License"); you may
+ not use this file except in compliance with the License. You may
+ obtain a copy of the License at
+
+ http://www.osedu.org/licenses/ECL-2.0
-http://www.osedu.org/licenses/ECL-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an "AS IS"
-BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
-or implied. See the License for the specific language governing
-permissions and limitations under the License.
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an "AS IS"
+ BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ or implied. See the License for the specific language governing
+ permissions and limitations under the License.
\ No newline at end of file
diff --git a/options/license/EFL-1.0 b/options/license/EFL-1.0
new file mode 100644
index 0000000..8fff15c
--- /dev/null
+++ b/options/license/EFL-1.0
@@ -0,0 +1,13 @@
+Eiffel Forum License, version 1
+
+Permission is hereby granted to use, copy, modify and/or distribute this package, provided that:
+
+ - copyright notices are retained unchanged
+
+ - any distribution of this package, whether modified or not, includes this file
+
+Permission is hereby also granted to distribute binary programs which depend on this package, provided that:
+
+ - if the binary program depends on a modified version of this package, you must publicly release the modified version of this package
+
+THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT WARRANTY. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE TO ANY PARTY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THIS PACKAGE.
\ No newline at end of file
diff --git a/options/license/EFL-2.0 b/options/license/EFL-2.0
new file mode 100644
index 0000000..e1d36e4
--- /dev/null
+++ b/options/license/EFL-2.0
@@ -0,0 +1,9 @@
+Eiffel Forum License, version 2
+
+1. Permission is hereby granted to use, copy, modify and/or distribute this package, provided that:
+ - copyright notices are retained unchanged,
+ - any distribution of this package, whether modified or not, includes this license text.
+
+2. Permission is hereby also granted to distribute binary programs which depend on this package. If the binary program depends on a modified version of this package, you are encouraged to publicly release the modified version of this package.
+
+THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT WARRANTY. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE TO ANY PARTY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THIS PACKAGE.
\ No newline at end of file
diff --git a/options/license/Eclipse Public License 1.0 b/options/license/EPL-1.0
similarity index 68%
rename from options/license/Eclipse Public License 1.0
rename to options/license/EPL-1.0
index a5965ff..1e9afbe 100644
--- a/options/license/Eclipse Public License 1.0
+++ b/options/license/EPL-1.0
@@ -1,15 +1,16 @@
Eclipse Public License - v 1.0
+
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
1. DEFINITIONS
-"Contribution" means:
-a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
-b) in the case of each subsequent Contributor:
-i) changes to the Program, and
-ii) additions to the Program;
+"Contribution" means:
+ a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+ b) in the case of each subsequent Contributor:
+ i) changes to the Program, and
+ ii) additions to the Program;
-where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
"Contributor" means any person or entity that distributes the Program.
"Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
@@ -20,43 +21,43 @@ where such changes and/or additions to the Program originate from and are distri
2. GRANT OF RIGHTS
-a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+ a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+ b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
-b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+ c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
-c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+ d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
-d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
-
-3. REQUIREMENTS
+3. REQUIREMENTS
A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
-a) it complies with the terms and conditions of this Agreement; and
-
-b) its license agreement:
-i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
-ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
-iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
-iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
+ a) it complies with the terms and conditions of this Agreement; and
+
+ b) its license agreement:
+ i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
+ ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
+ iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
+ iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
When the Program is made available in source code form:
-a) it must be made available under this Agreement; and
+ a) it must be made available under this Agreement; and
-b) a copy of this Agreement must be included with each copy of the Program.
+ b) a copy of this Agreement must be included with each copy of the Program.
Contributors may not remove or alter any copyright notices contained within the Program.
Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
-4. COMMERCIAL DISTRIBUTION
+4. COMMERCIAL DISTRIBUTION
Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
-5. NO WARRANTY
+5. NO WARRANTY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
-6. DISCLAIMER OF LIABILITY
+6. DISCLAIMER OF LIABILITY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. GENERAL
@@ -69,4 +70,4 @@ All Recipient's rights under this Agreement shall terminate if it fails to compl
Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
-This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
\ No newline at end of file
diff --git a/options/license/EUDatagrid b/options/license/EUDatagrid
new file mode 100644
index 0000000..44db87e
--- /dev/null
+++ b/options/license/EUDatagrid
@@ -0,0 +1,24 @@
+EU DataGrid Software License
+
+Copyright (c) 2001 EU DataGrid. All rights reserved.
+
+This software includes voluntary contributions made to the EU DataGrid. For more information on the EU DataGrid, please see http://www.eu-datagrid.org/.
+
+Installation, use, reproduction, display, modification and redistribution of this software, with or without modification, in source and binary forms, are permitted. Any exercise of rights under this license by you or your sub-licensees is subject to the following conditions:
+
+1. Redistributions of this software, with or without modification, must reproduce the above copyright notice and the above license statement as well as this list of conditions, in the software, the user documentation and any other materials provided with the software.
+
+2. The user documentation, if any, included with a redistribution, must include the following notice:
+ “"This product includes software developed by the EU DataGrid (http://www.eu-datagrid.org/)."
+
+Alternatively, if that is where third-party acknowledgments normally appear, this acknowledgment must be reproduced in the software itself.
+
+3. The names "EDG", "EDG Toolkit", “EU DataGrid” and "EU DataGrid Project" may not be used to endorse or promote software, or products derived therefrom, except with prior written permission by hep-project-grid-edg-license@cern.ch.
+
+4. You are under no obligation to provide anyone with any bug fixes, patches, upgrades or other modifications, enhancements or derivatives of the features,functionality or performance of this software that you may develop. However, if you publish or distribute your modifications, enhancements or derivative works without contemporaneously requiring users to enter into a separate written license agreement, then you are deemed to have granted participants in the EU DataGrid a worldwide, non-exclusive, royalty-free, perpetual license to install, use, reproduce, display, modify, redistribute and sub-license your modifications, enhancements or derivative works, whether in binary or source code form, under the license conditions stated in this list of conditions.
+
+5. DISCLAIMER
+THIS SOFTWARE IS PROVIDED BY THE EU DATAGRID AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, OF SATISFACTORY QUALITY, AND FITNESS FOR A PARTICULAR PURPOSE OR USE ARE DISCLAIMED. THE EU DATAGRID AND CONTRIBUTORS MAKE NO REPRESENTATION THAT THE SOFTWARE, MODIFICATIONS, ENHANCEMENTS OR DERIVATIVE WORKS THEREOF, WILL NOT INFRINGE ANY PATENT, COPYRIGHT, TRADE SECRET OR OTHER PROPRIETARY RIGHT.
+
+6. LIMITATION OF LIABILITY
+THE EU DATAGRID AND CONTRIBUTORS SHALL HAVE NO LIABILITY TO LICENSEE OR OTHER PERSONS FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, LOSS OF USE, DATA OR PROFITS, OR BUSINESS INTERRUPTION, HOWEVER CAUSED AND ON ANY THEORY OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCT LIABILITY OR OTHERWISE, ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
\ No newline at end of file
diff --git a/options/license/EUPL-1.0 b/options/license/EUPL-1.0
new file mode 100644
index 0000000..5b1a6e6
--- /dev/null
+++ b/options/license/EUPL-1.0
@@ -0,0 +1,154 @@
+European Union Public Licence V.1.0
+
+EUPL (c) the European Community 2007
+
+This European Union Public Licence (the “EUPL”) applies to the Work or Software (as defined below) which is provided under the terms of this Licence. Any use of the Work, other than as authorised under this Licence is prohibited (to the extent such use is covered by a right of the copyright holder of the Work).
+
+The Original Work is provided under the terms of this Licence when the Licensor (as defined below) has placed the following notice immediately following the copyright notice for the Original Work:
+
+ Licensed under the EUPL V.1.0
+
+or has expressed by any other mean his willingness to license under the EUPL.
+
+1. Definitions
+
+In this Licence, the following terms have the following meaning:
+
+ − The Licence: this Licence.
+
+ − The Original Work or the Software: the software distributed and/or communicated by the Licensor under this Licence, available as Source Code and also as Executable Code as the case may be.
+
+ − Derivative Works: the works or software that could be created by the Licensee, based upon the Original Work or modifications thereof. This Licence does not define the extent of modification or dependence on the Original Work required in order to classify a work as a Derivative Work; this extent is determined by copyright law applicable in the country mentioned in Article 15.
+
+ − The Work: the Original Work and/or its Derivative Works.
+
+ − The Source Code: the human-readable form of the Work which is the most convenient for people to study and modify.
+
+ − The Executable Code: any code which has generally been compiled and which is meant to be interpreted by a computer as a program.
+
+ − The Licensor: the natural or legal person that distributes and/or communicates the Work under the Licence.
+
+ − Contributor(s): any natural or legal person who modifies the Work under the Licence, or otherwise contributes to the creation of a Derivative Work.
+
+ − The Licensee or “You”: any natural or legal person who makes any usage of the Software under the terms of the Licence. − Distribution and/or Communication: any act of selling, giving, lending, renting, distributing, communicating, transmitting, or otherwise making available, on-line or off-line, copies of the Work at the disposal of any other natural or legal person.
+
+2. Scope of the rights granted by the Licence
+
+The Licensor hereby grants You a world-wide, royalty-free, non-exclusive, sub-licensable licence to do the following, for the duration of copyright vested in the Original Work:
+
+ − use the Work in any circumstance and for all usage,
+
+ − reproduce the Work,
+
+ − modify the Original Work, and make Derivative Works based upon the Work,
+
+ − communicate to the public, including the right to make available or display the Work or copies thereof to the public and perform publicly, as the case may be, the Work,
+
+ − distribute the Work or copies thereof,
+
+ − lend and rent the Work or copies thereof,
+
+ − sub-license rights in the Work or copies thereof.
+
+Those rights can be exercised on any media, supports and formats, whether now known or later invented, as far as the applicable law permits so.
+
+In the countries where moral rights apply, the Licensor waives his right to exercise his moral right to the extent allowed by law in order to make effective the licence of the economic rights here above listed.
+
+The Licensor grants to the Licensee royalty-free, non exclusive usage rights to any patents held by the Licensor, to the extent necessary to make use of the rights granted on the Work under this Licence.
+
+3. Communication of the Source Code
+
+The Licensor may provide the Work either in its Source Code form, or as Executable Code. If the Work is provided as Executable Code, the Licensor provides in addition a machinereadable copy of the Source Code of the Work along with each copy of the Work that the Licensor distributes or indicates, in a notice following the copyright notice attached to the Work, a repository where the Source Code is easily and freely accessible for as long as the Licensor continues to distribute and/or communicate the Work.
+
+4. Limitations on copyright
+
+Nothing in this Licence is intended to deprive the Licensee of the benefits from any exception or limitation to the exclusive rights of the rights owners in the Original Work or Software, of the exhaustion of those rights or of other applicable limitations thereto.
+
+5. Obligations of the Licensee
+
+The grant of the rights mentioned above is subject to some restrictions and obligations imposed on the Licensee. Those obligations are the following:
+
+Attribution right: the Licensee shall keep intact all copyright, patent or trademarks notices and all notices that refer to the Licence and to the disclaimer of warranties. The Licensee must include a copy of such notices and a copy of the Licence with every copy of the Work he/she distributes and/or communicates. The Licensee must cause any Derivative Work to carry prominent notices stating that the Work has been modified and the date of modification.
+
+Copyleft clause: If the Licensee distributes and/or communicates copies of the Original Works or Derivative Works based upon the Original Work, this Distribution and/or Communication will be done under the terms of this Licence. The Licensee (becoming Licensor) cannot offer or impose any additional terms or conditions on the Work or Derivative Work that alter or restrict the terms of the Licence.
+
+Compatibility clause: If the Licensee Distributes and/or Communicates Derivative Works or copies thereof based upon both the Original Work and another work licensed under a Compatible Licence, this Distribution and/or Communication can be done under the terms of this Compatible Licence. For the sake of this clause, “Compatible Licence” refers to the licences listed in the appendix attached to this Licence. Should the Licensee’s obligations under the Compatible Licence conflict with his/her obligations under this Licence, the obligations of the Compatible Licence shall prevail.
+
+Provision of Source Code: When distributing and/or communicating copies of the Work, the Licensee will provide a machine-readable copy of the Source Code or indicate a repository where this Source will be easily and freely available for as long as the Licensee continues to distribute and/or communicate the Work.
+
+Legal Protection: This Licence does not grant permission to use the trade names, trademarks, service marks, or 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 copyright notice.
+
+6. Chain of Authorship
+
+The original Licensor warrants that the copyright in the Original Work granted hereunder is owned by him/her or licensed to him/her and that he/she has the power and authority to grant the Licence.
+
+Each Contributor warrants that the copyright in the modifications he/she brings to the Work are owned by him/her or licensed to him/her and that he/she has the power and authority to grant the Licence.
+
+Each time You, as a Licensee, receive the Work, the original Licensor and subsequent Contributors grant You a licence to their contributions to the Work, under the terms of this Licence.
+
+7. Disclaimer of Warranty
+
+The Work is a work in progress, which is continuously improved by numerous contributors. It is not a finished work and may therefore contain defects or “bugs” inherent to this type of software development.
+
+For the above reason, the Work is provided under the Licence on an “as is” basis and without warranties of any kind concerning the Work, including without limitation merchantability, fitness for a particular purpose, absence of defects or errors, accuracy, non-infringement of intellectual property rights other than copyright as stated in Article 6 of this Licence.
+
+This disclaimer of warranty is an essential part of the Licence and a condition for the grant of any rights to the Work.
+
+8. Disclaimer of Liability
+
+Except in the cases of wilful misconduct or damages directly caused to natural persons, the Licensor will in no event be liable for any direct or indirect, material or moral, damages of any kind, arising out of the Licence or of the use of the Work, including without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, loss of data or any commercial damage, even if the Licensor has been advised of the possibility of such damage. However, the Licensor will be liable under statutory product liability laws as far such laws apply to the Work.
+
+9. Additional agreements
+
+While distributing the Original Work or Derivative Works, You may choose to conclude an additional agreement to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or services consistent with this Licence. However, in accepting such obligations, You may act only on your own behalf and on your sole responsibility, not on behalf of the original Licensor or 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 the fact You have accepted any such warranty or additional liability.
+
+10. Acceptance of the Licence
+
+The provisions of this Licence can be accepted by clicking on an icon “I agree” placed under the bottom of a window displaying the text of this Licence or by affirming consent in any other similar way, in accordance with the rules of applicable law. Clicking on that icon indicates your clear and irrevocable acceptance of this Licence and all of its terms and conditions.
+
+Similarly, you irrevocably accept this Licence and all of its terms and conditions by exercising any rights granted to You by Article 2 of this Licence, such as the use of the Work, the creation by You of a Derivative Work or the Distribution and/or Communication by You of the Work or copies thereof.
+
+11. Information to the public
+
+In case of any Distribution and/or Communication of the Work by means of electronic communication by You (for example, by offering to download the Work from a remote location) the distribution channel or media (for example, a website) must at least provide to the public the information requested by the applicable law regarding the identification and address of the Licensor, the Licence and the way it may be accessible, concluded, stored and reproduced by the Licensee.
+
+12. Termination of the Licence
+
+The Licence and the rights granted hereunder will terminate automatically upon any breach by the Licensee of the terms of the Licence.
+
+Such a termination will not terminate the licences of any person who has received the Work from the Licensee under the Licence, provided such persons remain in full compliance with the Licence.
+
+13. Miscellaneous
+
+Without prejudice of Article 9 above, the Licence represents the complete agreement between the Parties as to the Work licensed hereunder.
+
+If any provision of the Licence is invalid or unenforceable under applicable law, this will not affect the validity or enforceability of the Licence as a whole. Such provision will be construed and/or reformed so as necessary to make it valid and enforceable.
+
+The European Commission may put into force translations and/or binding new versions of this Licence, so far this is required and reasonable. New versions of the Licence will be published with a unique version number. The new version of the Licence becomes binding for You as soon as You become aware of its publication.
+
+14. Jurisdiction
+
+Any litigation resulting from the interpretation of this License, arising between the European Commission, as a Licensor, and any Licensee, will be subject to the jurisdiction of the Court of Justice of the European Communities, as laid down in article 238 of the Treaty establishing the European Community.
+
+Any litigation arising between Parties, other than the European Commission, and resulting from the interpretation of this License, will be subject to the exclusive jurisdiction of the competent court where the Licensor resides or conducts its primary business.
+
+15. Applicable Law
+
+This Licence shall be governed by the law of the European Union country where the Licensor resides or has his registered office.
+
+This licence shall be governed by the Belgian law if:
+
+ − a litigation arises between the European Commission, as a Licensor, and any Licensee;
+
+ − the Licensor, other than the European Commission, has no residence or registered office inside a European Union country.
+
+
+Appendix
+
+“Compatible Licences” according to article 5 EUPL are:
+
+− General Public License (GPL) v. 2
+− Open Software License (OSL) v. 2.1, v. 3.0
+− Common Public License v. 1.0
+− Eclipse Public License v. 1.0
+− Cecill v. 2.0
\ No newline at end of file
diff --git a/options/license/EUPL-1.1 b/options/license/EUPL-1.1
new file mode 100644
index 0000000..ddc66e2
--- /dev/null
+++ b/options/license/EUPL-1.1
@@ -0,0 +1,157 @@
+European Union Public Licence V. 1.1
+
+EUPL (c) the European Community 2007
+
+This European Union Public Licence (the "EUPL") applies to the Work or Software (as defined below) which is provided under the terms of this Licence. Any use of the Work, other than as authorised under this Licence is prohibited (to the extent such use is covered by a right of the copyright holder of the Work).
+
+The Original Work is provided under the terms of this Licence when the Licensor (as defined below) has placed the following notice immediately following the copyright notice for the Original Work:
+
+ Licensed under the EUPL V.1.1
+
+or has expressed by any other mean his willingness to license under the EUPL.
+
+1. Definitions
+
+In this Licence, the following terms have the following meaning:
+
+ - The Licence: this Licence.
+
+ - The Original Work or the Software: the software distributed and/or communicated by the Licensor under this Licence, available as Source Code and also as Executable Code as the case may be.
+
+ - Derivative Works: the works or software that could be created by the Licensee, based upon the Original Work or modifications thereof. This Licence does not define the extent of modification or dependence on the Original Work required in order to classify a work as a Derivative Work; this extent is determined by copyright law applicable in the country mentioned in Article 15.
+
+ - The Work: the Original Work and/or its Derivative Works.
+
+ - The Source Code: the human-readable form of the Work which is the most convenient for people to study and modify.
+
+ - The Executable Code: any code which has generally been compiled and which is meant to be interpreted by a computer as a program.
+
+ - The Licensor: the natural or legal person that distributes and/or communicates the Work under the Licence.
+
+ - Contributor(s): any natural or legal person who modifies the Work under the Licence, or otherwise contributes to the creation of a Derivative Work.
+
+ - The Licensee or "You": any natural or legal person who makes any usage of the Software under the terms of the Licence.
+
+ - Distribution and/or Communication: any act of selling, giving, lending, renting, distributing, communicating, transmitting, or otherwise making available, on-line or off-line, copies of the Work or providing access to its essential functionalities at the disposal of any other natural or legal person.
+
+2. Scope of the rights granted by the Licence
+
+The Licensor hereby grants You a world-wide, royalty-free, non-exclusive, sublicensable licence to do the following, for the duration of copyright vested in the Original Work:
+
+ - use the Work in any circumstance and for all usage,
+
+ - reproduce the Work,
+
+ - modify the Original Work, and make Derivative Works based upon the Work,
+
+ - communicate to the public, including the right to make available or display the Work or copies thereof to the public and perform publicly, as the case may be, the Work,
+
+ - distribute the Work or copies thereof,
+
+ - lend and rent the Work or copies thereof,
+
+ - sub-license rights in the Work or copies thereof.
+
+Those rights can be exercised on any media, supports and formats, whether now known or later invented, as far as the applicable law permits so.
+
+In the countries where moral rights apply, the Licensor waives his right to exercise his moral right to the extent allowed by law in order to make effective the licence of the economic rights here above listed.
+
+The Licensor grants to the Licensee royalty-free, non exclusive usage rights to any patents held by the Licensor, to the extent necessary to make use of the rights granted on the Work under this Licence.
+
+3. Communication of the Source Code
+
+The Licensor may provide the Work either in its Source Code form, or as Executable Code. If the Work is provided as Executable Code, the Licensor provides in addition a machine-readable copy of the Source Code of the Work along with each copy of the Work that the Licensor distributes or indicates, in a notice following the copyright notice attached to the Work, a repository where the Source Code is easily and freely accessible for as long as the Licensor continues to distribute and/or communicate the Work.
+
+4. Limitations on copyright
+
+Nothing in this Licence is intended to deprive the Licensee of the benefits from any exception or limitation to the exclusive rights of the rights owners in the Original Work or Software, of the exhaustion of those rights or of other applicable limitations thereto.
+
+5. Obligations of the Licensee
+
+The grant of the rights mentioned above is subject to some restrictions and obligations imposed on the Licensee. Those obligations are the following:
+
+Attribution right: the Licensee shall keep intact all copyright, patent or trademarks notices and all notices that refer to the Licence and to the disclaimer of warranties. The Licensee must include a copy of such notices and a copy of the Licence with every copy of the Work he/she distributes and/or communicates. The Licensee must cause any Derivative Work to carry prominent notices stating that the Work has been modified and the date of modification.
+
+Copyleft clause: If the Licensee distributes and/or communicates copies of the Original Works or Derivative Works based upon the Original Work, this Distribution and/or Communication will be done under the terms of this Licence or of a later version of this Licence unless the Original Work is expressly distributed only under this version of the Licence. The Licensee (becoming Licensor) cannot offer or impose any additional terms or conditions on the Work or Derivative Work that alter or restrict the terms of the Licence.
+
+Compatibility clause: If the Licensee Distributes and/or Communicates Derivative Works or copies thereof based upon both the Original Work and another work licensed under a Compatible Licence, this Distribution and/or Communication can be done under the terms of this Compatible Licence. For the sake of this clause, "Compatible Licence," refers to the licences listed in the appendix attached to this Licence. Should the Licensee's obligations under the Compatible Licence conflict with his/her obligations under this Licence, the obligations of the Compatible Licence shall prevail.
+
+Provision of Source Code: When distributing and/or communicating copies of the Work, the Licensee will provide a machine-readable copy of the Source Code or indicate a repository where this Source will be easily and freely available for as long as the Licensee continues to distribute and/or communicate the Work.
+
+Legal Protection: This Licence does not grant permission to use the trade names, trademarks, service marks, or 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 copyright notice.
+
+6. Chain of Authorship
+
+The original Licensor warrants that the copyright in the Original Work granted hereunder is owned by him/her or licensed to him/her and that he/she has the power and authority to grant the Licence.
+
+Each Contributor warrants that the copyright in the modifications he/she brings to the Work are owned by him/her or licensed to him/her and that he/she has the power and authority to grant the Licence.
+
+Each time You accept the Licence, the original Licensor and subsequent Contributors grant You a licence to their contributions to the Work, under the terms of this Licence.
+
+7. Disclaimer of Warranty
+
+The Work is a work in progress, which is continuously improved by numerous contributors. It is not a finished work and may therefore contain defects or "bugs" inherent to this type of software development.
+
+For the above reason, the Work is provided under the Licence on an "as is" basis and without warranties of any kind concerning the Work, including without limitation merchantability, fitness for a particular purpose, absence of defects or errors, accuracy, non-infringement of intellectual property rights other than copyright as stated in Article 6 of this Licence.
+
+This disclaimer of warranty is an essential part of the Licence and a condition for the grant of any rights to the Work.
+
+8. Disclaimer of Liability
+
+Except in the cases of wilful misconduct or damages directly caused to natural persons, the Licensor will in no event be liable for any direct or indirect, material or moral, damages of any kind, arising out of the Licence or of the use of the Work, including without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, loss of data or any commercial damage, even if the Licensor has been advised of the possibility of such damage. However, the Licensor will be liable under statutory product liability laws as far such laws apply to the Work.
+
+9. Additional agreements
+
+While distributing the Original Work or Derivative Works, You may choose to conclude an additional agreement to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or services consistent with this Licence. However, in accepting such obligations, You may act only on your own behalf and on your sole responsibility, not on behalf of the original Licensor or 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 the fact You have accepted any such warranty or additional liability.
+
+10. Acceptance of the Licence
+
+The provisions of this Licence can be accepted by clicking on an icon "I agree" placed under the bottom of a window displaying the text of this Licence or by affirming consent in any other similar way, in accordance with the rules of applicable law. Clicking on that icon indicates your clear and irrevocable acceptance of this Licence and all of its terms and conditions.
+
+Similarly, you irrevocably accept this Licence and all of its terms and conditions by exercising any rights granted to You by Article 2 of this Licence, such as the use of the Work, the creation by You of a Derivative Work or the Distribution and/or Communication by You of the Work or copies thereof.
+
+11. Information to the public
+
+In case of any Distribution and/or Communication of the Work by means of electronic communication by You (for example, by offering to download the Work from a remote location) the distribution channel or media (for example, a website) must at least provide to the public the information requested by the applicable law regarding the Licensor, the Licence and the way it may be accessible, concluded, stored and reproduced by the Licensee.
+
+12. Termination of the Licence
+
+The Licence and the rights granted hereunder will terminate automatically upon any breach by the Licensee of the terms of the Licence. Such a termination will not terminate the licences of any person who has received the Work from the Licensee under the Licence, provided such persons remain in full compliance with the Licence.
+
+13. Miscellaneous
+
+Without prejudice of Article 9 above, the Licence represents the complete agreement between the Parties as to the Work licensed hereunder.
+
+If any provision of the Licence is invalid or unenforceable under applicable law, this will not affect the validity or enforceability of the Licence as a whole. Such provision will be construed and/or reformed so as necessary to make it valid and enforceable.
+
+The European Commission may publish other linguistic versions and/or new versions of this Licence, so far this is required and reasonable, without reducing the scope of the rights granted by the Licence. New versions of the Licence will be published with a unique version number.
+
+All linguistic versions of this Licence, approved by the European Commission, have identical value. Parties can take advantage of the linguistic version of their choice.
+
+14. Jurisdiction
+
+Any litigation resulting from the interpretation of this License, arising between the European Commission, as a Licensor, and any Licensee, will be subject to the jurisdiction of the Court of Justice of the European Communities, as laid down in article 238 of the Treaty establishing the European Community.
+
+Any litigation arising between Parties, other than the European Commission, and resulting from the interpretation of this License, will be subject to the exclusive jurisdiction of the competent court where the Licensor resides or conducts its primary business.
+
+15. Applicable Law
+
+This Licence shall be governed by the law of the European Union country where the Licensor resides or has his registered office.
+
+This licence shall be governed by the Belgian law if:
+
+ - a litigation arises between the European Commission, as a Licensor, and any Licensee;
+
+ - the Licensor, other than the European Commission, has no residence or registered office inside a European Union country.
+
+
+
+Appendix
+
+"Compatible Licences" according to article 5 EUPL are:
+
+ - GNU General Public License (GNU GPL) v. 2
+ - Open Software License (OSL) v. 2.1, v. 3.0
+ - Common Public License v. 1.0
+ - Eclipse Public License v. 1.0
+ - Cecill v. 2.0
\ No newline at end of file
diff --git a/options/license/Entessa b/options/license/Entessa
new file mode 100644
index 0000000..baea965
--- /dev/null
+++ b/options/license/Entessa
@@ -0,0 +1,22 @@
+Entessa Public License Version. 1.0
+Copyright (c) 2003 Entessa, LLC. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment:
+
+ "This product includes open source software developed by openSEAL (http://www.openseal.org/)."
+
+Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear.
+
+4. The names "openSEAL" and "Entessa" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact epl@entessa.com.
+
+5. Products derived from this software may not be called "openSEAL", nor may "openSEAL" appear in their name, without prior written permission of Entessa.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ENTESSA, LLC, OPENSEAL OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+This software consists of voluntary contributions made by many individuals on behalf of openSEAL and was originally based on software contributed by Entessa, LLC, http://www.entessa.com. For more information on the openSEAL, please see .
\ No newline at end of file
diff --git a/options/license/ErlPL-1.1 b/options/license/ErlPL-1.1
new file mode 100644
index 0000000..de7c620
--- /dev/null
+++ b/options/license/ErlPL-1.1
@@ -0,0 +1,93 @@
+ERLANG PUBLIC LICENSE Version 1.1
+
+1. Definitions.
+
+1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications.
+
+1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+1.5. ``Executable'' means Covered Code in any form other than Source Code.
+
+1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+1.8. ``License'' means this document.
+
+1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities,``You'' includes any entity which 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 fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+2. Source Code License.
+
+2.1. The Initial Developer Grant. The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and
+
+ (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations.
+
+2.2. Contributor Grant. Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and
+
+ (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations.
+
+3. Distribution Obligations.
+
+3.1. Application of License. The Modifications which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+3.2. Availability of Source Code. Any Modification which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+3.3. Description of Modifications. You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+3.4. Intellectual Property Matters
+
+ (a) Third Party Claims. If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+
+ (b) Contributor APIs. If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file.
+
+3.5. Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+3.6. Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+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 Code due to statute 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 included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. 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. Application of this License.
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code.
+
+6. CONNECTION TO MOZILLA PUBLIC LICENSE
+This Erlang License is a derivative work of the Mozilla Public License, Version 1.0. It contains terms which differ from the Mozilla Public License, Version 1.0.
+
+7. DISCLAIMER OF WARRANTY.
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE 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 CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER 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 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+9. DISCLAIMER OF LIABILITY
+Any utilization of Covered Code shall not cause the Initial Developer or any Contributor to be liable for any damages (neither direct nor indirect).
+
+10. MISCELLANEOUS
+This License represents the complete agreement concerning the subject matter hereof. If any provision is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be construed by and in accordance with the substantive laws of Sweden. Any dispute, controversy or claim arising out of or relating to this License, or the breach, termination or invalidity thereof, shall be subject to the exclusive jurisdiction of Swedish courts, with the Stockholm City Court as the first instance.
+
+EXHIBIT A.
+
+``The contents of this file are subject to the Erlang Public License, Version 1.1, (the "License"); you may not use this file except in compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved via the world wide web at http://www.erlang.org/.
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+The Initial Developer of the Original Code is Ericsson Utvecklings AB. Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings AB. All Rights Reserved.''
\ No newline at end of file
diff --git a/options/license/Eurosym b/options/license/Eurosym
new file mode 100644
index 0000000..2d2b659
--- /dev/null
+++ b/options/license/Eurosym
@@ -0,0 +1,18 @@
+Copyright (c) 1999-2002 Henrik Theiling
+Licence Version 2
+
+This software is provided 'as-is', without warranty of any kind, express or implied. In no event will the authors or copyright holders 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.
+
+ 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
+
+ 3. You must not use any of the names of the authors or copyright holders of the original software for advertising or publicity pertaining to distribution without specific, written prior permission.
+
+ 4. If you change this software and redistribute parts or all of it in any form, you must make the source code of the altered version of this software available.
+
+ 5. This notice may not be removed or altered from any source distribution.
+
+This licence is governed by the Laws of Germany. Disputes shall be settled by Saarbruecken City Court.
\ No newline at end of file
diff --git a/options/license/FSFAP b/options/license/FSFAP
new file mode 100644
index 0000000..32bc8a8
--- /dev/null
+++ b/options/license/FSFAP
@@ -0,0 +1 @@
+Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.
diff --git a/options/license/FSFUL b/options/license/FSFUL
new file mode 100644
index 0000000..f976e3c
--- /dev/null
+++ b/options/license/FSFUL
@@ -0,0 +1,3 @@
+Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+
+This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it.
diff --git a/options/license/FSFULLR b/options/license/FSFULLR
new file mode 100644
index 0000000..2acb219
--- /dev/null
+++ b/options/license/FSFULLR
@@ -0,0 +1,3 @@
+Copyright 1996-2006 Free Software Foundation, Inc.
+
+This file is free software; the Free Software Foundation gives unlimited permission to copy and/or distribute it, with or without modifications, as long as this notice is preserved.
diff --git a/options/license/FTL b/options/license/FTL
new file mode 100644
index 0000000..b2cfd9d
--- /dev/null
+++ b/options/license/FTL
@@ -0,0 +1,79 @@
+The FreeType Project LICENSE
+
+2006-Jan-27
+
+Copyright 1996-2002, 2006 by David Turner, Robert Wilhelm, and Werner Lemberg
+
+Introduction
+
+The FreeType Project is distributed in several archive packages; some of them may contain, in addition to the FreeType font engine, various tools and contributions which rely on, or relate to, the FreeType Project.
+
+This license applies to all files found in such packages, and which do not fall under their own explicit license. The license affects thus the FreeType font engine, the test programs, documentation and makefiles, at the very least.
+
+This license was inspired by the BSD, Artistic, and IJG (Independent JPEG Group) licenses, which all encourage inclusion and use of free software in commercial and freeware products alike. As a consequence, its main points are that:
+
+ o We don't promise that this software works. However, we will be interested in any kind of bug reports. (`as is' distribution)
+
+ o You can use this software for whatever you want, in parts or full form, without having to pay us. (`royalty-free' usage)
+
+ o You may not pretend that you wrote this software. If you use it, or only parts of it, in a program, you must acknowledge somewhere in your documentation that you have used the FreeType code. (`credits')
+
+We specifically permit and encourage the inclusion of this software, with or without modifications, in commercial products. We disclaim all warranties covering The FreeType Project and assume no liability related to The FreeType Project.
+
+Finally, many people asked us for a preferred form for a credit/disclaimer to use in compliance with this license. We thus encourage you to use the following text:
+
+ """ Portions of this software are copyright © The FreeType Project (www.freetype.org). All rights reserved. """
+
+Please replace with the value from the FreeType version you actually use.
+
+Legal Terms
+
+0. Definitions
+
+Throughout this license, the terms `package', `FreeType Project', and `FreeType archive' refer to the set of files originally distributed by the authors (David Turner, Robert Wilhelm, and Werner Lemberg) as the `FreeType Project', be they named as alpha, beta or final release.
+
+`You' refers to the licensee, or person using the project, where `using' is a generic term including compiling the project's source code as well as linking it to form a `program' or `executable'. This program is referred to as `a program using the FreeType engine'.
+
+This license applies to all files distributed in the original FreeType Project, including all source code, binaries and documentation, unless otherwise stated in the file in its original, unmodified form as distributed in the original archive. If you are unsure whether or not a particular file is covered by this license, you must contact us to verify this.
+
+The FreeType Project is copyright (C) 1996-2000 by David Turner, Robert Wilhelm, and Werner Lemberg. All rights reserved except as specified below.
+
+1. No Warranty
+
+THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO USE, OF THE FREETYPE PROJECT.
+
+2. Redistribution
+
+This license grants a worldwide, royalty-free, perpetual and irrevocable right and license to use, execute, perform, compile, display, copy, create derivative works of, distribute and sublicense the FreeType Project (in both source and object code forms) and derivative works thereof for any purpose; and to authorize others to exercise some or all of the rights granted herein, subject to the following conditions:
+
+ o Redistribution of source code must retain this license file (`FTL.TXT') unaltered; any additions, deletions or changes to the original files must be clearly indicated in accompanying documentation. The copyright notices of the unaltered, original files must be preserved in all copies of source files.
+
+ o Redistribution in binary form must provide a disclaimer that states that the software is based in part of the work of the FreeType Team, in the distribution documentation. We also encourage you to put an URL to the FreeType web page in your documentation, though this isn't mandatory.
+
+These conditions apply to any software derived from or based on the FreeType Project, not just the unmodified files. If you use our work, you must acknowledge us. However, no fee need be paid to us.
+
+3. Advertising
+
+Neither the FreeType authors and contributors nor you shall use the name of the other for commercial, advertising, or promotional purposes without specific prior written permission.
+
+We suggest, but do not require, that you use one or more of the following phrases to refer to this software in your documentation or advertising materials: `FreeType Project', `FreeType Engine', `FreeType library', or `FreeType Distribution'.
+
+As you have not signed this license, you are not required to accept it. However, as the FreeType Project is copyrighted material, only this license, or another one contracted with the authors, grants you the right to use, distribute, and modify it. Therefore, by using, distributing, or modifying the FreeType Project, you indicate that you understand and accept all the terms of this license.
+
+4. Contacts
+
+There are two mailing lists related to FreeType:
+
+ o freetype@nongnu.org
+
+ Discusses general use and applications of FreeType, as well as future and wanted additions to the library and distribution. If you are looking for support, start in this list if you haven't found anything to help you in the documentation.
+
+ o freetype-devel@nongnu.org
+
+ Discusses bugs, as well as engine internals, design issues, specific licenses, porting, etc.
+
+Our home page can be found at
+
+ http://www.freetype.org
+
+--- end of FTL.TXT ---
\ No newline at end of file
diff --git a/options/license/Fair b/options/license/Fair
new file mode 100644
index 0000000..ccc3d67
--- /dev/null
+++ b/options/license/Fair
@@ -0,0 +1,9 @@
+Fair License
+
+
+
+Usage of the works is permitted provided that this instrument is retained with the works, so that any entity that uses the works is notified of this instrument.
+
+DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
+
+[2004, Fair License: rhid.com/fair (this URL no longer works)]
\ No newline at end of file
diff --git a/options/license/Frameworx-1.0 b/options/license/Frameworx-1.0
new file mode 100644
index 0000000..12b4b2f
--- /dev/null
+++ b/options/license/Frameworx-1.0
@@ -0,0 +1,69 @@
+THE FRAMEWORX OPEN LICENSE 1.0
+
+This License Agreement, The Frameworx Open License 1.0, has been entered into between The Frameworx Company and you, the licensee hereunder, effective as of Your acceptance of the Frameworx Code Base or an Downstream Distribution (each as defined below).
+
+AGREEMENT BACKGROUND
+The Frameworx Company is committed to the belief that open source software results in better quality, greater technical and product innovation in the market place and a more empowered and productive developer and end-user community. Our objective is to ensure that the Frameworx Code Base, and the source code for improvements and innovations to it, remain free and open to the community.To further these beliefs and objectives, we are distributing the Frameworx Code Base, without royalties and in source code form, to the community pursuant to this License Agreement.
+
+AGREEMENT TERMS
+The Frameworx Company and You have agreed as follows:
+
+1.Definitions.The following terms have the following respective meanings:
+
+ (a) Frameworx Code Base means the software developed by The Frameworx Company and made available under this License Agreement
+
+ (b) Downstream Distribution means any direct or indirect release, distribution or remote availability of software (i) that directly or indirectly contains, or depends for its intended functioning on, the Frameworx Code Base or any portion or element thereof and (ii) in which rights to use and distribute such Frameworx Code Base software depend, directly or indirectly, on the License provided in Section 2 below.
+
+ (c) "Source Code" to any software means the preferred form for making modifications to that software, including any associated documentation, interface definition files and compilation or installation scripts, or any version thereof that has been compressed or archived, and can be reconstituted, using an appropriate and generally available archival or compression technology.
+
+ (d) Value-Added Services means any commercial or fee-based software-related service, including without limitation: system or application development or consulting; technical or end-user support or training; distribution maintenance, configuration or versioning; or outsourced, hosted or network-based application services.
+
+2. License Grant. Subject to the terms and conditions hereof, The Frameworx Company hereby grants You a non-exclusive license (the License), subject to third party intellectual property claims, and for no fee other than a nominal charge reflecting the costs of physical distribution, to:
+
+ (a) use the Frameworx Code Base, in either Source Code or machine-readable form;
+
+ (b) make modifications, additions and deletions to the content or structure of the Frameworx Code Base; or
+
+ (c) create larger works or derivative works including the Frameworx Code Base or any portion or element thereof; and
+
+ (d) release, distribute or make available, either generally or to any specific third-party, any of the foregoing in Source Code or binary form.
+
+3. License Conditions. The grant of the License under Section 1 hereof, and your exercise of all rights in connection with this License Agreement, will remain subject to the following terms and conditions, as well as to the other provisions hereof:
+
+ (a) Complete Source Code for any Downstream Distribution directly or indirectly made by You that contains, or depends for its intended functionality on, the Frameworx Code Base, or any portion or element thereof, shall be made freely available to all users thereof on terms and conditions no more restrictive, and no less favorable for any user (including, without limitation, with regard to Source Code availability and royalty-free use) than those terms and conditions provided in this License Agreement.
+
+ (b) Any Value-Added Services that you offer or provide, directly or indirectly, in relation to any Downstream Distribution shall be offered and provided on commercial terms that are reasonably commensurate to the fair market value of such Value-Added Services. In addition, the terms and conditions on which any such Value Added Services are so offered or provided shall be consistent with, and shall fully support, the intent and purpose of this License Agreement.
+
+ (c) All Downstream Distributions shall:
+
+ (i) include all portions and elements of the Frameworx Code Base required to build the Source Code of such Downstream Distribution into a fully functional machine-executable system, or additional build scripts or comparable software necessary and sufficient for such purposes;
+
+ (ii) include, in each file containing any portion or element of the Frameworx Code Base, the following identifying legend: This file contains software that has been made available under The Frameworx Open License 1.0. Use and distribution hereof are subject to the restrictions set forth therein.
+
+ (iii) include all other copyright notices, authorship credits, warranty disclaimers (including that provided in Section 6 below), legends, documentation, annotations and comments contained in the Frameworx Code Base as provided to You hereunder;
+
+ (iv) contain an unaltered copy of the html file named frameworx_community_invitation.html included within the Frameworx Code Base that acknowledges new users and provides them with information on the Frameworx Code Base community;
+
+ (v) contain an unaltered copy of the text file named the_frameworx_license.txt included within the Frameworx Code Base that includes a text copy of the form of this License Agreement; and
+
+ (vi) prominently display to any viewer or user of the Source Code of such Open Downstream Distribution, in the place and manner normally used for such displays, the following legend:
+
+Source code licensed under from The Frameworx Company is contained herein, and such source code has been obtained either under The Frameworx Open License, or another license granted by The Frameworx Company. Use and distribution hereof is subject to the restrictions provided in the relevant such license and to the copyrights of the licensor thereunder. A copy of The Frameworx Open License is provided in a file named the_frameworx_license.txt and included herein, and may also be available for inspection at http://www.frameworx.com.
+
+4. Restrictions on Open Downstream Distributions. Each Downstream Distribution made by You, and by any party directly or indirectly obtaining rights to the Frameworx Code Base through You, shall be made subject to a license grant or agreement to the extent necessary so that each distributee under that Downstream Distribution will be subject to the same restrictions on re-distribution and use as are binding on You hereunder. You may satisfy this licensing requirement either by:
+
+ (a) requiring as a condition to any Downstream Distribution made by you, or by any direct or indirect distributee of Your Downstream Distribution (or any portion or element thereof), that each distributee under the relevant Downstream Distribution obtain a direct license (on the same terms and conditions as those in this License Agreement) from The Frameworx Company; or
+
+ (b) sub-licensing all (and not less than all) of Your rights and obligations hereunder to that distributee, including (without limitation) Your obligation to require distributees to be bound by license restrictions as contemplated by this Section 4 above.
+
+The Frameworx Company hereby grants to you all rights to sub-license your rights hereunder as necessary to fully effect the intent and purpose of this Section 4 above, provided, however, that your rights and obligations hereunder shall be unaffected by any such sublicensing. In addition, The Frameworx Company expressly retains all rights to take all appropriate action (including legal action) against any such direct or indirect sub-licensee to ensure its full compliance with the intent and purposes of this License Agreement.
+
+5. Intellectual Property. Except as expressly provided herein, this License Agreement preserves and respects Your and The Frameworx Companys respective intellectual property rights, including, in the case of The Frameworx Company, its copyrights and patent rights relating to the Frameworx Code Base.
+
+6. Warranty Disclaimer. THE SOFTWARE LICENSED HEREUNDER IS PROVIDED ``AS IS.'' ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT, ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE LICENSOR OF THIS SOFTWARE, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES INCLUDING (BUT NOT LIMITED TO) PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+7. License Violation. The License, and all of your rights thereunder, shall be deemed automatically terminated and void as of any Downstream Distribution directly or indirectly made or facilitated by You that violates the provisions of this License Agreement, provided, however, that this License Agreement shall survive any such termination in order to remedy the effects of such violation. This License Agreement shall be binding on the legal successors and assigns of the parties hereto.
+
+Your agreement to the foregoing as of the date hereof has been evidenced by your acceptance of the relevant software distribution hereunder.
+
+(C) THE FRAMEWORX COMPANY 2003
\ No newline at end of file
diff --git a/options/license/FreeImage b/options/license/FreeImage
new file mode 100644
index 0000000..f1b9c72
--- /dev/null
+++ b/options/license/FreeImage
@@ -0,0 +1,117 @@
+FreeImage Public License - Version 1.0
+
+1. Definitions.
+
+ 1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+ 1.3. "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+ 1.4. "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.5. "Executable" means Covered Code in any form other than Source Code.
+
+ 1.6. "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+ 1.7. "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.8. "License" means this document.
+
+ 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a
+Modification is:
+
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+ 1.11. "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+ 1.12. "You" means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which 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 fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+2. Source Code License.
+
+ 2.1. The Initial Developer Grant.
+ The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and
+
+ (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell ("Utilize") the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations.
+
+ 2.2. Contributor Grant.
+ Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and
+
+ (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations.
+
+3. Distribution Obligations.
+
+ 3.1. Application of License.
+ The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+ 3.2. Availability of Source Code.
+ Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+ 3.3. Description of Modifications.
+ You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+ 3.4. Intellectual Property Matters
+
+ (a) Third Party Claims.
+ If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+
+ (b) Contributor APIs.
+ If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file.
+
+ 3.5. Required Notices.
+ You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.6. Distribution of Executable Versions.
+ You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You descr ibe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License,provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+ 3.7. Larger Works.
+ You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+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 Code due to statute 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 included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. 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. Application of this License.
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code.
+
+6. Versions of the License.
+
+ 6.1. New Versions.
+ Floris van den Berg may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+ 6.2. Effect of New Versions.
+ Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Floris van den Berg
+No one other than Floris van den Berg has the right to modify the terms applicable to Covered Code created under this License.
+
+ 6.3. Derivative Works.
+ If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases "FreeImage", `FreeImage Public License", "FIPL", or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the FreeImage Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY.
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE 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 CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER 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 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+9. LIMITATION OF LIABILITY.
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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 THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS.
+The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. MISCELLANEOUS.
+This License represents the complete agreement concerning 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. This License shall be governed by Dutch law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the The Netherlands: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Almelo, The Netherlands; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the court of Almelo, The Netherlands with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis.
+
+EXHIBIT A.
+
+"The contents of this file are subject to the FreeImage Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://home.wxs.nl/~flvdberg/freeimage-license.txt
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
\ No newline at end of file
diff --git a/options/license/GNU Free Documentation License v1.1 b/options/license/GFDL-1.1
similarity index 78%
rename from options/license/GNU Free Documentation License v1.1
rename to options/license/GFDL-1.1
index cb852fa..d1ff4cd 100644
--- a/options/license/GNU Free Documentation License v1.1
+++ b/options/license/GFDL-1.1
@@ -1,8 +1,9 @@
GNU Free Documentation License
Version 1.1, March 2000
-Copyright (C) 2000 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+Copyright (C) 2000 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
0. PREAMBLE
@@ -10,7 +11,7 @@ The purpose of this License is to make a manual, textbook, or other written docu
This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
-We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
1. APPLICABILITY AND DEFINITIONS
@@ -28,13 +29,13 @@ A "Transparent" copy of the Document means a machine-readable copy, represented
Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only.
-The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
+The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
-You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
3. COPYING IN QUANTITY
@@ -44,26 +45,26 @@ If the required texts for either cover are too voluminous to fit legibly, you sh
If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
-It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
-A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
-B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five).
-C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
-D. Preserve all the copyright notices of the Document.
-E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
-F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
-G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
-H. Include an unaltered copy of this License.
-I. Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
-J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
-K. In any section entitled "Acknowledgements" or "Dedications", preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
-L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
-M. Delete any section entitled "Endorsements". Such a section may not be included in the Modified Version.
-N. Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section.
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five).
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
+ H. Include an unaltered copy of this License.
+ I. Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. In any section entitled "Acknowledgements" or "Dedications", preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section.
If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
@@ -71,7 +72,7 @@ You may add a section entitled "Endorsements", provided it contains nothing but
You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
-The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
5. COMBINING DOCUMENTS
@@ -79,40 +80,40 @@ You may combine the Document with other documents released under this License, u
The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
-In the combination, you must combine any sections entitled "History" in the various original documents, forming one section entitled "History"; likewise combine any sections entitled "Acknowledgements", and any sections entitled "Dedications". You must delete all sections entitled "Endorsements."
+In the combination, you must combine any sections entitled "History" in the various original documents, forming one section entitled "History"; likewise combine any sections entitled "Acknowledgements", and any sections entitled "Dedications". You must delete all sections entitled "Endorsements."
6. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
-You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an "aggregate", and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document.
-If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate.
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate.
8. TRANSLATION
-Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail.
+Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail.
9. TERMINATION
-You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
10. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
-Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
ADDENDUM: How to use this License for your documents
To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
-Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled "GNU Free Documentation License".
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled "GNU Free Documentation License".
If you have no Invariant Sections, write "with no Invariant Sections" instead of saying which ones are invariant. If you have no Front-Cover Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise for Back-Cover Texts.
-If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
\ No newline at end of file
diff --git a/options/license/GNU Free Documentation License v1.2 b/options/license/GFDL-1.2
similarity index 80%
rename from options/license/GNU Free Documentation License v1.2
rename to options/license/GFDL-1.2
index 206e5ee..58863d0 100644
--- a/options/license/GNU Free Documentation License v1.2
+++ b/options/license/GFDL-1.2
@@ -1,8 +1,9 @@
GNU Free Documentation License
-Version 1.2, November 2002
-Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+Version 1.2, November 2002
-Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
0. PREAMBLE
@@ -10,7 +11,7 @@ The purpose of this License is to make a manual, textbook, or other functional a
This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
-We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
1. APPLICABILITY AND DEFINITIONS
@@ -32,13 +33,13 @@ The "Title Page" means, for a printed book, the title page itself, plus such fol
A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.
-The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
+The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
-You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
3. COPYING IN QUANTITY
@@ -48,27 +49,27 @@ If the required texts for either cover are too voluminous to fit legibly, you sh
If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
-It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
-A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
-B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
-C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
-D. Preserve all the copyright notices of the Document.
-E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
-F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
-G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
-H. Include an unaltered copy of this License.
-I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
-J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
-K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
-L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
-M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
-N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
-O. Preserve any Warranty Disclaimers.
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.
+ H. Include an unaltered copy of this License.
+ I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
+ O. Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
@@ -76,7 +77,7 @@ You may add a section Entitled "Endorsements", provided it contains nothing but
You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
-The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
5. COMBINING DOCUMENTS
@@ -84,46 +85,46 @@ You may combine the Document with other documents released under this License, u
The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
-In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
+In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
6. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
-You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
-If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
8. TRANSLATION
Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
-If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
+If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
9. TERMINATION
-You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
10. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
-Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
+Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
ADDENDUM: How to use this License for your documents
To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
-Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:
-with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+ with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
-If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
\ No newline at end of file
diff --git a/options/license/GNU Free Documentation License v1.3 b/options/license/GFDL-1.3
similarity index 82%
rename from options/license/GNU Free Documentation License v1.3
rename to options/license/GFDL-1.3
index b0fefa8..6041ddd 100644
--- a/options/license/GNU Free Documentation License v1.3
+++ b/options/license/GFDL-1.3
@@ -1,6 +1,7 @@
GNU Free Documentation License
-Version 1.3, 3 November 2008
-Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+Version 1.3, 3 November 2008
+
+Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
@@ -10,7 +11,7 @@ The purpose of this License is to make a manual, textbook, or other functional a
This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
-We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
+We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
1. APPLICABILITY AND DEFINITIONS
@@ -40,7 +41,7 @@ The Document may include Warranty Disclaimers next to the notice which states th
You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
-You may also lend copies, under the same conditions stated above, and you may publicly display copies.
+You may also lend copies, under the same conditions stated above, and you may publicly display copies.
3. COPYING IN QUANTITY
@@ -50,26 +51,26 @@ If the required texts for either cover are too voluminous to fit legibly, you sh
If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
-It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
+It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
-A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
-B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
-C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
-D. Preserve all the copyright notices of the Document.
-E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
-F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
-G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License.
-I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
-J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
-K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
-L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
-M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
-N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
-O. Preserve any Warranty Disclaimers.
+ A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
+ C. State on the Title page the name of the publisher of the Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License.
+ I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
+ K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
+ M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.
+ N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.
+ O. Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
@@ -77,7 +78,7 @@ You may add a section Entitled "Endorsements", provided it contains nothing but
You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
-The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
+The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
5. COMBINING DOCUMENTS
@@ -85,25 +86,25 @@ You may combine the Document with other documents released under this License, u
The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
-In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
+In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".
6. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
-You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
+You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
-If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
+If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
8. TRANSLATION
Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
-If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
+If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
9. TERMINATION
@@ -113,7 +114,7 @@ However, if you cease all violation of this License, then your license from a pa
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
-Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it.
+Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it.
10. FUTURE REVISIONS OF THIS LICENSE
@@ -131,18 +132,18 @@ Each version of the License is given a distinguishing version number. If the Doc
An MMC is "eligible for relicensing" if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008.
-The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.
+The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.
ADDENDUM: How to use this License for your documents
To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
-Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
+ Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this:
-with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+ with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
-If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
+If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
\ No newline at end of file
diff --git a/options/license/GL2PS b/options/license/GL2PS
new file mode 100644
index 0000000..7536c03
--- /dev/null
+++ b/options/license/GL2PS
@@ -0,0 +1,13 @@
+GL2PS LICENSE Version 2, November 2003
+
+Copyright (C) 2003, Christophe Geuzaine
+
+Permission to use, copy, and distribute this software and its documentation for any purpose with or without fee is hereby granted, provided that the copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation.
+
+Permission to modify and distribute modified versions of this software is granted, provided that:
+
+1) the modifications are licensed under the same terms as this software;
+
+2) you make available the source code of any modifications that you distribute, either on the same media as you distribute any executable or other form of this software, or via a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+This software is provided "as is" without express or implied warranty.
\ No newline at end of file
diff --git a/options/license/GNU Affero General Public License v3.0 b/options/license/GNU Affero General Public License v3.0
deleted file mode 100644
index 3d3266e..0000000
--- a/options/license/GNU Affero General Public License v3.0
+++ /dev/null
@@ -1,241 +0,0 @@
-GNU AFFERO GENERAL PUBLIC LICENSE
-Version 3, 19 November 2007
-Copyright (C) 2007 Free Software Foundation, Inc.
-
-Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
-
-Preamble
-
-The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community in the case of network server software.
-
-The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users.
-
-When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
-
-Developers that use our General Public Licenses protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License which gives you legal permission to copy, distribute and/or modify the software.
-
-A secondary benefit of defending all users' freedom is that improvements made in alternate versions of the program, if they receive widespread use, become available for other developers to incorporate. Many developers of free software are heartened and encouraged by the resulting cooperation. However, in the case of software used on network servers, this result may fail to come about. The GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the public.
-
-The GNU Affero General Public License is designed specifically to ensure that, in such cases, the modified source code becomes available to the community. It requires the operator of a network server to provide the source code of the modified version running there to the users of that server. Therefore, public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version.
-
-An older license, called the Affero General Public License and published by Affero, was designed to accomplish similar goals. This is a different license, not a version of the Affero GPL, but Affero has released a new version of the Affero GPL which permits relicensing under this license.
-
-The precise terms and conditions for copying, distribution and modification follow.
-
-TERMS AND CONDITIONS
-
-0. Definitions.
-
-"This License" refers to version 3 of the GNU Affero General Public License.
-
-"Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
-
-"The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations.
-
-To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work.
-
-A "covered work" means either the unmodified Program or a work based on the Program.
-
-To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
-
-To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
-
-An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
-
-1. Source Code.
-The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work.
-
-A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
-
-The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
-
-The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
-
-The Corresponding Source for a work in source code form is that same work.
-
-2. Basic Permissions.
-All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
-
-You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
-
-Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
-
-3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
-
-When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
-
-4. Conveying Verbatim Copies.
-You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
-
-You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
-
-5. Conveying Modified Source Versions.
-You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
-
-a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
-
-b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices".
-
-c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
-
-d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
-
-A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
-
-6. Conveying Non-Source Forms.
-You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
-
-a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
-
-b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
-
-c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
-
-d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
-
-e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
-
-A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
-
-A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
-
-"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
-
-If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
-
-The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
-
-Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
-
-7. Additional Terms.
-"Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
-
-When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
-
-Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
-
-a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
-
-b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
-
-c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
-
-d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
-
-e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
-
-f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
-
-All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
-
-If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
-
-Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
-
-8. Termination.
-
-You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
-
-However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
-
-Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
-
-Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
-
-9. Acceptance Not Required for Having Copies.
-
-You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
-
-10. Automatic Licensing of Downstream Recipients.
-
-Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
-
-An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
-
-You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
-
-11. Patents.
-
-A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version".
-
-A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
-
-Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
-
-In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to s ue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
-
-If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
-
-If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
-
-A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
-
-Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
-
-12. No Surrender of Others' Freedom.
-
-If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
-
-13. Remote Network Interaction; Use with the GNU General Public License.
-
-Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph.
-
-Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License.
-
-14. Revised Versions of this License.
-
-The Free Software Foundation may publish revised and/or new versions of the GNU Affero General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation.
-
-If the Program specifies that a proxy can decide which future versions of the GNU Affero General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
-
-Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
-
-15. Disclaimer of Warranty.
-
-THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-16. Limitation of Liability.
-
-IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-17. Interpretation of Sections 15 and 16.
-
-If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
-
-END OF TERMS AND CONDITIONS
-
-How to Apply These Terms to Your New Programs
-
-If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
-
-To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
-
-
-Copyright (C)
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU Affero General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Affero General Public License for more details.
-
-You should have received a copy of the GNU Affero General Public License
-along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
-If your software can interact with users remotely through a computer network, you should also make sure that it provides a way for users to get its source. For example, if your program is a web application, its interface could display a "Source" link that leads users to an archive of the code. There are many ways you could offer source, and different solutions will be better for different programs; see section 13 for the specific requirements.
-
-You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU AGPL, see .
diff --git a/options/license/GNU General Public License v3.0 b/options/license/GNU General Public License v3.0
deleted file mode 100644
index 7083002..0000000
--- a/options/license/GNU General Public License v3.0
+++ /dev/null
@@ -1,231 +0,0 @@
-GNU GENERAL PUBLIC LICENSE
-Version 3, 29 June 2007
-Copyright © 2007 Free Software Foundation, Inc.
-
-Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
-
-Preamble
-
-The GNU General Public License is a free, copyleft license for software and other kinds of works.
-
-The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.
-
-When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
-
-To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
-
-For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
-
-Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
-
-For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.
-
-Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
-
-Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
-
-The precise terms and conditions for copying, distribution and modification follow.
-
-TERMS AND CONDITIONS
-
-0. Definitions.
-
-“This License” refers to version 3 of the GNU General Public License.
-
-“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
-
-“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.
-
-To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.
-
-A “covered work” means either the unmodified Program or a work based on the Program.
-
-To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
-
-To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
-
-An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
-
-1. Source Code.
-The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
-
-A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
-
-The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
-
-The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
-
-The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
-
-The Corresponding Source for a work in source code form is that same work.
-
-2. Basic Permissions.
-All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
-
-You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
-
-Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
-
-3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
-
-When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
-
-4. Conveying Verbatim Copies.
-You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
-
-You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
-
-5. Conveying Modified Source Versions.
-You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
-
-a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
-
-b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
-
-c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
-
-d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
-
-A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
-
-6. Conveying Non-Source Forms.
-You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
-
-a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
-
-b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
-
-c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
-
-d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
-
-e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
-
-A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
-
-A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
-
-“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
-
-If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
-
-The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
-
-Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
-
-7. Additional Terms.
-“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
-
-When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
-
-Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
-
-a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
-
-b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
-
-c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
-
-d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
-
-e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
-
-f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
-
-All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
-
-If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
-
-Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
-
-8. Termination.
-You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
-
-However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
-
-Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
-
-Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
-
-9. Acceptance Not Required for Having Copies.
-You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
-
-10. Automatic Licensing of Downstream Recipients.
-Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
-
-An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
-
-You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
-
-11. Patents.
-A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.
-
-A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
-
-Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
-
-In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
-
-If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
-
-If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
-
-A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
-
-Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
-
-12. No Surrender of Others' Freedom.
-If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
-
-13. Use with the GNU Affero General Public License.
-Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
-
-14. Revised Versions of this License.
-The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
-
-If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
-
-Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
-
-15. Disclaimer of Warranty.
-THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-16. Limitation of Liability.
-IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-17. Interpretation of Sections 15 and 16.
-If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
-
-END OF TERMS AND CONDITIONS
-
-How to Apply These Terms to Your New Programs
-
-If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
-
-To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
-
-
-Copyright (C)
-
-This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
-
- Copyright (C)
-This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”.
-
-You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see .
-
-The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read .
diff --git a/options/license/GNU General Public License v1.0 b/options/license/GPL-1.0
similarity index 73%
rename from options/license/GNU General Public License v1.0
rename to options/license/GPL-1.0
index 902a4a4..434f1b2 100644
--- a/options/license/GNU General Public License v1.0
+++ b/options/license/GPL-1.0
@@ -1,6 +1,7 @@
GNU GENERAL PUBLIC LICENSE
Version 1, February 1989
-Copyright (C) 1989 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+Copyright (C) 1989 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
@@ -28,23 +29,23 @@ GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MO
2. You may modify your copy or copies of the Program or any portion of it, and copy and distribute such modifications under the terms of Paragraph 1 above, provided that you also do the following:
-a) cause the modified files to carry prominent notices stating that you changed the files and the date of any change; and
+ a) cause the modified files to carry prominent notices stating that you changed the files and the date of any change; and
-b) cause the whole of any work that you distribute or publish, that in whole or in part contains the Program or any part thereof, either with or without modifications, to be licensed at no charge to all third parties under the terms of this General Public License (except that you may choose to grant warranty protection to some or all third parties, at your option).
+ b) cause the whole of any work that you distribute or publish, that in whole or in part contains the Program or any part thereof, either with or without modifications, to be licensed at no charge to all third parties under the terms of this General Public License (except that you may choose to grant warranty protection to some or all third parties, at your option).
-c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the simplest and most usual way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this General Public License.
+ c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the simplest and most usual way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this General Public License.
-d) You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+ d) You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
Mere aggregation of another independent work with the Program (or its derivative) on a volume of a storage or distribution medium does not bring the other work under the scope of these terms.
3. You may copy and distribute the Program (or a portion or derivative of it, under Paragraph 2) in object code or executable form under the terms of Paragraphs 1 and 2 above provided that you also do one of the following:
-a) accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Paragraphs 1 and 2 above; or,
+ a) accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Paragraphs 1 and 2 above; or,
-b) accompany it with a written offer, valid for at least three years, to give any third party free (except for a nominal charge for the cost of distribution) a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Paragraphs 1 and 2 above; or,
+ b) accompany it with a written offer, valid for at least three years, to give any third party free (except for a nominal charge for the cost of distribution) a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Paragraphs 1 and 2 above; or,
-c) accompany it with the information you received as to where the corresponding source code may be obtained. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form alone.)
+ c) accompany it with the information you received as to where the corresponding source code may be obtained. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form alone.)
Source code for a work means the preferred form of the work for making modifications to it. For an executable file, complete source code means all the source code for all modules it contains; but, as a special exception, it need not include source code for modules which are standard libraries that accompany the operating system on which the executable file runs, or for standard header files or definitions files that accompany that operating system.
@@ -74,26 +75,26 @@ If you develop a new program, and you want it to be of the greatest possible use
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
- Copyright (C) 19yy
+ Copyright (C) 19yy
-This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version.
+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version.
-This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
-Gnomovision version 69, Copyright (C) 19xx name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
+ Gnomovision version 69, Copyright (C) 19xx name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here a sample; alter the names:
-Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (a program to direct compilers to make passes at assemblers) written by James Hacker.
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (a program to direct compilers to make passes at assemblers) written by James Hacker.
-, 1 April 1989 Ty Coon, President of Vice
+ , 1 April 1989 Ty Coon, President of Vice
-That's all there is to it!
+That's all there is to it!
\ No newline at end of file
diff --git a/options/license/GNU General Public License v2.0 b/options/license/GPL-2.0
similarity index 80%
rename from options/license/GNU General Public License v2.0
rename to options/license/GPL-2.0
index ee27892..cb39d53 100644
--- a/options/license/GNU General Public License v2.0
+++ b/options/license/GPL-2.0
@@ -1,7 +1,8 @@
-GNU GENERAL PUBLIC LICENSE
+GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
-Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
@@ -35,11 +36,11 @@ You may charge a fee for the physical act of transferring a copy, and you may at
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
-a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+ a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
-b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
+ b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
-c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
+ c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
@@ -49,11 +50,11 @@ In addition, mere aggregation of another work not based on the Program with the
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
-a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+ a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
-b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+ b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
-c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
+ c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
@@ -95,22 +96,22 @@ If you develop a new program, and you want it to be of the greatest possible use
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
-one line to give the program's name and an idea of what it does. Copyright (C) yyyy name of author
+ one line to give the program's name and an idea of what it does. Copyright (C) yyyy name of author
-This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
-This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how to contact you by electronic and paper mail.
+ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
-Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
+ Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
-Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
-signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice
+signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice
\ No newline at end of file
diff --git a/options/license/GPL-3.0 b/options/license/GPL-3.0
new file mode 100644
index 0000000..20dcfdf
--- /dev/null
+++ b/options/license/GPL-3.0
@@ -0,0 +1,15 @@
+GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc.
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for software and other kinds of works.
The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.
Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS
+
0. Definitions.
+
“This License” refers to version 3 of the GNU General Public License.
“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.
To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.
A “covered work” means either the unmodified Program or a work based on the Program.
To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
1. Source Code.
The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
The Corresponding Source for a work in source code form is that same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
+ b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
+ c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
+ d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
+ b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
+ d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
+ e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
7. Additional Terms.
“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
+ b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
+ c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
+ d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
+ e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
+ f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
11. Patents.
A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.
A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
+
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
Copyright (C)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see .
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
Copyright (C)
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”.
You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see .
The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read .
\ No newline at end of file
diff --git a/options/license/Giftware b/options/license/Giftware
new file mode 100644
index 0000000..c22c5a6
--- /dev/null
+++ b/options/license/Giftware
@@ -0,0 +1,9 @@
+Allegro 4 (the giftware license)
+
+Allegro is gift-ware. It was created by a number of people working in cooperation, and is given to you freely as a gift. You may use, modify, redistribute, and generally hack it about in any way you like, and you do not have to give us anything in return.
+
+However, if you like this product you are encouraged to thank us by making a return gift to the Allegro community. This could be by writing an add-on package, providing a useful bug report, making an improvement to the library, or perhaps just releasing the sources of your program so that other people can learn from them. If you redistribute parts of this code or make a game using it, it would be nice if you mentioned Allegro somewhere in the credits, but you are not required to do this. We trust you not to abuse our generosity.
+
+By Shawn Hargreaves, 18 October 1998.
+
+DISCLAIMER: 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.
diff --git a/options/license/Glide b/options/license/Glide
new file mode 100644
index 0000000..2059f97
--- /dev/null
+++ b/options/license/Glide
@@ -0,0 +1,95 @@
+3DFX GLIDE Source Code General Public License
+
+1. PREAMBLE
+
+This license is for software that provides a 3D graphics application program interface (API).The license is intended to offer terms similar to some standard General Public Licenses designed to foster open standards and unrestricted accessibility to source code. Some of these licenses require that, as a condition of the license of the software, any derivative works (that is, new software which is a work containing the original program or a portion of it) must be available for general use, without restriction other than for a minor transfer fee, and that the source code for such derivative works must likewise be made available. The only restriction is that such derivative works must be subject to the same General Public License terms as the original work.
+
+This 3dfx GLIDE Source Code General Public License differs from the standard licenses of this type in that it does not require the entire derivative work to be made available under the terms of this license nor is the recipient required to make available the source code for the entire derivative work. Rather, the license is limited to only the identifiable portion of the derivative work that is derived from the licensed software. The precise terms and conditions for copying, distribution and modification follow.
+
+2. DEFINITIONS
+
+ 2.1 This License applies to any program (or other "work") which contains a notice placed by the copyright holder saying it may be distributed under the terms of this 3dfx GLIDE Source Code General Public License.
+
+ 2.2 The term "Program" as used in this Agreement refers to 3DFX's GLIDE source code and object code and any Derivative Work.
+
+ 2.3 "Derivative Work" means, for the purpose of the License, that portion of any work that contains the Program or the identifiable portion of a work that is derived from the Program, either verbatim or with modifications and/or translated into another language, and that performs 3D graphics API operations. It does not include any other portions of a work.
+
+ 2.4 "Modifications of the Program" means any work, which includes a Derivative Work, and includes the whole of such work.
+
+ 2.5 "License" means this 3dfx GLIDE Source Code General Public License.
+
+ 2.6 The "Source Code" for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, any associated interface definition files, and the scripts used to control compilation and installation of the executable work.
+
+ 2.7 "3dfx" means 3dfx Interactive, Inc.
+
+3. LICENSED ACTIVITIES
+
+ 3.1 COPYING - You may copy and distribute verbatim copies of the Program's Source Code as you receive it, in any medium, subject to the provision of section 3.3 and provided also that:
+
+ (a) you conspicuously and appropriately publish on each copy an appropriate copyright notice (3dfx Interactive, Inc. 1999), a notice that recipients who wish to copy, distribute or modify the Program can only do so subject to this License, and a disclaimer of warranty as set forth in section 5;
+
+ (b) keep intact all the notices that refer to this License and to the absence of any warranty; and
+
+ (c) do not make any use of the GLIDE trademark without the prior written permission of 3dfx, and
+
+ (d) give all recipients of the Program a copy of this License along with the Program or instructions on how to easily receive a copy of this License.
+
+ 3.2 MODIFICATION OF THE PROGRAM/DERIVATIVE WORKS - You may modify your copy or copies of the Program or any portion of it, and copy and distribute such modifications subject to the provisions of section 3.3 and provided that you also meet all of the following conditions:
+
+ (a) you conspicuously and appropriately publish on each copy of a Derivative Work an appropriate copyright notice, a notice that recipients who wish to copy, distribute or modify the Derivative Work can only do so subject to this License, and a disclaimer of warranty as set forth in section 5;
+
+ (b) keep intact all the notices that refer to this License and to the absence of any warranty; and (c) give all recipients of the Derivative Work a copy of this License along with the Derivative Work or instructions on how to easily receive a copy of this License.
+
+ (d) You must cause the modified files of the Derivative Work to carry prominent notices stating that you changed the files and the date of any change.
+
+ (e) You must cause any Derivative Work that you distribute or publish to be licensed at no charge to all third parties under the terms of this License.
+
+ (f) You do not make any use of the GLIDE trademark without the prior written permission of 3dfx.
+
+ (g) If the Derivative Work normally reads commands interactively when run, you must cause it, when started running for such interactive use, to print or display an announcement as follows:
+
+ "COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED THIS SOFTWARE IS FREE AND PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. THERE IS NO RIGHT TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX INTERACTIVE, INC. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A FULL TEXT OF THE DISTRIBUTION AND NON-WARRANTY PROVISIONS (REQUEST COPY FROM INFO@3DFX.COM)."
+
+ (h) The requirements of this section 3.2 do not apply to the modified work as a whole but only to the Derivative Work. It is not the intent of this License to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of Derivative Works.
+
+ 3.3 DISTRIBUTION
+
+ (a) All copies of the Program or Derivative Works which are distributed must include in the file headers the following language verbatim:
+
+ "THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX INTERACTIVE, INC. A COPY OF THIS LICENSE MAY BE OBTAINED FROM THE DISTRIBUTOR OR BY CONTACTING 3DFX INTERACTIVE INC (info@3dfx.com). THIS PROGRAM. IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A FULL TEXT OF THE NON-WARRANTY PROVISIONS.
+
+ USE, DUPLICATION OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT TO RESTRICTIONS AS SET FORTH IN SUBDIVISION (C)(1)(II) OF THE RIGHTS IN TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013, AND/OR IN SIMILAR OR SUCCESSOR CLAUSES IN THE FAR, DOD OR NASA FAR SUPPLEMENT. UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF THE UNITED STATES.
+
+ COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED"
+
+ (b) You may distribute the Program or a Derivative Work in object code or executable form under the terms of Sections 3.1 and 3.2 provided that you also do one of the following:
+
+ (1) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 3.1 and 3.2; or,
+
+ (2) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 3.1 and 3.2 on a medium customarily used for software interchange; or,
+
+ (3) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection 3.3(b)(2) above.)
+
+ (c) The source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable code.
+
+ (d) If distribution of executable code or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
+
+ (e) Each time you redistribute the Program or any Derivative Work, the recipient automatically receives a license from 3dfx and successor licensors to copy, distribute or modify the Program and Derivative Works subject to the terms and conditions of the License. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
+
+ (f) You may not make any use of the GLIDE trademark without the prior written permission of 3dfx.
+
+ (g) You may not copy, modify, sublicense, or distribute the Program or any Derivative Works except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program or any Derivative Works is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+4. MISCELLANEOUS
+
+ 4.1 Acceptance of this License is voluntary. By using, modifying or distributing the Program or any Derivative Work, you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. Nothing else grants you permission to modify or distribute the Program or Derivative Works and doing so without acceptance of this License is in violation of the U.S. and international copyright laws.
+
+ 4.2 If the distribution and/or use of the Program or Derivative Works is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+
+ 4.3 This License is to be construed according to the laws of the State of California and you consent to personal jurisdiction in the State of California in the event it is necessary to enforce the provisions of this License.
+
+5. NO WARRANTIES
+
+ 5.1 TO THE EXTENT PERMITTED BY APPLICABLE LAW, THERE IS NO WARRANTY FOR THE PROGRAM. OR DERIVATIVE WORKS THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM AND ANY DERIVATIVE WORKS"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM AND ANY DERIVATIVE WORK IS WITH YOU. SHOULD THE PROGRAM OR ANY DERIVATIVE WORK PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 5.2 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL 3DFX INTERACTIVE, INC., OR ANY OTHER COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM OR DERIVATIVE WORKS AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM OR DERIVATIVE WORKS (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM OR DERIVATIVE WORKS TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
\ No newline at end of file
diff --git a/options/license/Glulxe b/options/license/Glulxe
new file mode 100644
index 0000000..8bbb720
--- /dev/null
+++ b/options/license/Glulxe
@@ -0,0 +1,3 @@
+The source code in this package is copyright 1999-2010 by Andrew Plotkin.
+
+You may copy and distribute it freely, by any means and under any conditions, as long as the code and documentation is not changed. You may also incorporate this code into your own program and distribute that, or modify this code and use and distribute the modified version, as long as you retain a notice in your program or documentation which mentions my name and the URL shown above.
diff --git a/options/license/HPND b/options/license/HPND
new file mode 100644
index 0000000..6da9371
--- /dev/null
+++ b/options/license/HPND
@@ -0,0 +1,7 @@
+Historical Permission Notice and Disclaimer
+
+
+
+Permission to use, copy, modify and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies[,] [and] that both [that] [the] copyright notice and this permission notice appear in supporting documentation[, and that the name [of] [or ] not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission]. [ makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.]
+
+[ DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS[,][.] IN NO EVENT SHALL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.]
diff --git a/options/license/HaskellReport b/options/license/HaskellReport
new file mode 100644
index 0000000..563b705
--- /dev/null
+++ b/options/license/HaskellReport
@@ -0,0 +1,6 @@
+Code derived from the document "Report on the Programming Language
+Haskell 2010", is distributed under the following license:
+
+Copyright (c) 2010 Simon Marlow
+
+The authors intend this Report to belong to the entire Haskell community, and so we grant permission to copy and distribute it for any purpose, provided that it is reproduced in its entirety, including this Notice. Modified versions of this Report may also be copied and distributed for any purpose, provided that the modified version is clearly presented as such, and that it does not claim to be a definition of the Haskell 2010 Language.
diff --git a/options/license/IBM-pibs b/options/license/IBM-pibs
new file mode 100644
index 0000000..43fe439
--- /dev/null
+++ b/options/license/IBM-pibs
@@ -0,0 +1,8 @@
+This source code has been made available to you by IBM on an AS-IS basis. Anyone receiving this source is licensed under IBM copyrights to use it in any way he or she deems fit, including copying it, modifying it, compiling it, and redistributing it either with or without modifications. No license under IBM patents or patent applications is to be implied by the copyright license.
+
+Any user of this software should understand that IBM cannot provide technical support for this software and will not be responsible for any consequences resulting from the use of this software.
+
+Any person who transfers this source code or any derivative work must include the IBM copyright notice, this paragraph, and the preceding two paragraphs in the transferred software.
+
+COPYRIGHT I B M CORPORATION 2002
+LICENSED MATERIAL - PROGRAM PROPERTY OF I B M
\ No newline at end of file
diff --git a/options/license/ICU b/options/license/ICU
new file mode 100644
index 0000000..883ab20
--- /dev/null
+++ b/options/license/ICU
@@ -0,0 +1,12 @@
+ICU License - ICU 1.8.1 and later
+
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright (c) 1995-2014 International Business Machines Corporation and others
+All rights reserved.
+
+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, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation.
+
+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 OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder.
diff --git a/options/license/IJG b/options/license/IJG
new file mode 100644
index 0000000..e8030ce
--- /dev/null
+++ b/options/license/IJG
@@ -0,0 +1,38 @@
+Independent JPEG Group License
+
+LEGAL ISSUES
+
+In plain English:
+
+1. We don't promise that this software works. (But if you find any bugs, please let us know!)
+2. You can use this software for whatever you want. You don't have to pay us.
+3. You may not pretend that you wrote this software. If you use it in a program, you must acknowledge somewhere in your documentation that you've used the IJG code.
+
+In legalese:
+
+The authors make NO WARRANTY or representation, either express or implied, with respect to this software, its quality, accuracy, merchantability, or fitness for a particular purpose. This software is provided "AS IS", and you, its user, assume the entire risk as to its quality and accuracy.
+
+This software is copyright (C) 1991-1998, Thomas G. Lane. All Rights Reserved except as specified below.
+
+Permission is hereby granted to use, copy, modify, and distribute this software (or portions thereof) for any purpose, without fee, subject to these conditions:
+
+ (1) If any part of the source code for this software is distributed, then this README file must be included, with this copyright and no-warranty notice unaltered; and any additions, deletions, or changes to the original files must be clearly indicated in accompanying documentation.
+ (2) If only executable code is distributed, then the accompanying documentation must state that "this software is based in part on the work of the Independent JPEG Group".
+ (3) Permission for use of this software is granted only if the user accepts full responsibility for any undesirable consequences; the authors accept NO LIABILITY for damages of any kind.
+
+These conditions apply to any software derived from or based on the IJG code, not just to the unmodified library. If you use our work, you ought to acknowledge us.
+
+Permission is NOT granted for the use of any IJG author's name or company name in advertising or publicity relating to this software or products derived from it. This software may be referred to only as "the Independent JPEG Group's software".
+
+We specifically permit and encourage the use of this software as the basis of commercial products, provided that all warranty or liability claims are assumed by the product vendor.
+
+ansi2knr.c is included in this distribution by permission of L. Peter Deutsch, sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA. ansi2knr.c is NOT covered by the above copyright and conditions, but instead by the usual distribution terms of the Free Software Foundation; principally, that you must include source code if you redistribute it. (See the file ansi2knr.c for full details.) However, since ansi2knr.c is not needed as part of any program generated from the IJG code, this does not limit you more than the foregoing paragraphs do.
+
+The Unix configuration script "configure" was produced with GNU Autoconf. It is copyright by the Free Software Foundation but is freely distributable. The same holds for its supporting scripts (config.guess, config.sub, ltconfig, ltmain.sh). Another support script, install-sh, is copyright by M.I.T. but is also freely distributable.
+
+It appears that the arithmetic coding option of the JPEG spec is covered by patents owned by IBM, AT&T, and Mitsubishi. Hence arithmetic coding cannot legally be used without obtaining one or more licenses. For this reason, support for arithmetic coding has been removed from the free JPEG software. (Since arithmetic coding provides only a marginal gain over the unpatented Huffman mode, it is unlikely that very many implementations will support it.) So far as we are aware, there are no patent restrictions on the remaining code.
+
+The IJG distribution formerly included code to read and write GIF files. To avoid entanglement with the Unisys LZW patent, GIF reading support has been removed altogether, and the GIF writer has been simplified to produce "uncompressed GIFs". This technique does not use the LZW algorithm; the resulting GIF files are larger than usual, but are readable by all standard GIF decoders.
+
+We are required to state that
+ "The Graphics Interchange Format(c) is the Copyright property of CompuServe Incorporated. GIF(sm) is a Service Mark property of CompuServe Incorporated."
\ No newline at end of file
diff --git a/options/license/IPA b/options/license/IPA
new file mode 100644
index 0000000..234c53e
--- /dev/null
+++ b/options/license/IPA
@@ -0,0 +1,83 @@
+IPA Font License Agreement v1.0
+
+The Licensor provides the Licensed Program (as defined in Article 1 below) under the terms of this license agreement ("Agreement"). Any use, reproduction or distribution of the Licensed Program, or any exercise of rights under this Agreement by a Recipient (as defined in Article 1 below) constitutes the Recipient's acceptance of this Agreement.
+
+Article 1 (Definitions)
+
+1. "Digital Font Program" shall mean a computer program containing, or used to render or display fonts.
+
+2. "Licensed Program" shall mean a Digital Font Program licensed by the Licensor under this Agreement.
+
+3. "Derived Program" shall mean a Digital Font Program created as a result of a modification, addition, deletion, replacement or any other adaptation to or of a part or all of the Licensed Program, and includes a case where a Digital Font Program newly created by retrieving font information from a part or all of the Licensed Program or Embedded Fonts from a Digital Document File with or without modification of the retrieved font information.
+
+4. "Digital Content" shall mean products provided to end users in the form of digital data, including video content, motion and/or still pictures, TV programs or other broadcasting content and products consisting of character text, pictures, photographic images, graphic symbols and/or the like.
+
+5. "Digital Document File" shall mean a PDF file or other Digital Content created by various software programs in which a part or all of the Licensed Program becomes embedded or contained in the file for the display of the font ("Embedded Fonts"). Embedded Fonts are used only in the display of characters in the particular Digital Document File within which they are embedded, and shall be distinguished from those in any Digital Font Program, which may be used for display of characters outside that particular Digital Document File.
+
+6. "Computer" shall include a server in this Agreement.
+
+7. "Reproduction and Other Exploitation" shall mean reproduction, transfer, distribution, lease, public transmission, presentation, exhibition, adaptation and any other exploitation.
+
+8. "Recipient" shall mean anyone who receives the Licensed Program under this Agreement, including one that receives the Licensed Program from a Recipient.
+
+Article 2 (Grant of License)
+
+The Licensor grants to the Recipient a license to use the Licensed Program in any and all countries in accordance with each of the provisions set forth in this Agreement. However, any and all rights underlying in the Licensed Program shall be held by the Licensor. In no sense is this Agreement intended to transfer any right relating to the Licensed Program held by the Licensor except as specifically set forth herein or any right relating to any trademark, trade name, or service mark to the Recipient.
+
+1. The Recipient may install the Licensed Program on any number of Computers and use the same in accordance with the provisions set forth in this Agreement.
+
+2. The Recipient may use the Licensed Program, with or without modification in printed materials or in Digital Content as an expression of character texts or the like.
+
+3. The Recipient may conduct Reproduction and Other Exploitation of the printed materials and Digital Content created in accordance with the preceding Paragraph, for commercial or non-commercial purposes and in any form of media including but not limited to broadcasting, communication and various recording media.
+
+4. If any Recipient extracts Embedded Fonts from a Digital Document File to create a Derived Program, such Derived Program shall be subject to the terms of this agreement.
+
+5. If any Recipient performs Reproduction or Other Exploitation of a Digital Document File in which Embedded Fonts of the Licensed Program are used only for rendering the Digital Content within such Digital Document File then such Recipient shall have no further obligations under this Agreement in relation to such actions.
+
+6. The Recipient may reproduce the Licensed Program as is without modification and transfer such copies, publicly transmit or otherwise redistribute the Licensed Program to a third party for commercial or non-commercial purposes ("Redistribute"), in accordance with the provisions set forth in Article 3 Paragraph 2.
+
+7. The Recipient may create, use, reproduce and/or Redistribute a Derived Program under the terms stated above for the Licensed Program: provided, that the Recipient shall follow the provisions set forth in Article 3 Paragraph 1 when Redistributing the Derived Program.
+
+Article 3 (Restriction)
+
+The license granted in the preceding Article shall be subject to the following restrictions:
+
+1. If a Derived Program is Redistributed pursuant to Paragraph 4 and 7 of the preceding Article, the following conditions must be met :
+
+ (1) The following must be also Redistributed together with the Derived Program, or be made available online or by means of mailing mechanisms in exchange for a cost which does not exceed the total costs of postage, storage medium and handling fees:
+
+ (a) a copy of the Derived Program; and
+
+ (b) any additional file created by the font developing program in the course of creating the Derived Program that can be used for further modification of the Derived Program, if any.
+
+ (2) It is required to also Redistribute means to enable recipients of the Derived Program to replace the Derived Program with the Licensed Program first released under this License (the "Original Program"). Such means may be to provide a difference file from the Original Program, or instructions setting out a method to replace the Derived Program with the Original Program.
+
+ (3) The Recipient must license the Derived Program under the terms and conditions of this Agreement.
+
+ (4) No one may use or include the name of the Licensed Program as a program name, font name or file name of the Derived Program.
+
+ (5) Any material to be made available online or by means of mailing a medium to satisfy the requirements of this paragraph may be provided, verbatim, by any party wishing to do so.
+
+2. If the Recipient Redistributes the Licensed Program pursuant to Paragraph 6 of the preceding Article, the Recipient shall meet all of the following conditions:
+
+ (1) The Recipient may not change the name of the Licensed Program.
+
+ (2) The Recipient may not alter or otherwise modify the Licensed Program.
+
+ (3) The Recipient must attach a copy of this Agreement to the Licensed Program.
+
+3. THIS LICENSED PROGRAM IS PROVIDED BY THE LICENSOR "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTY AS TO THE LICENSED PROGRAM OR ANY DERIVED PROGRAM, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE LICENSOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXTENDED, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO; PROCUREMENT OF SUBSTITUTED GOODS OR SERVICE; DAMAGES ARISING FROM SYSTEM FAILURE; LOSS OR CORRUPTION OF EXISTING DATA OR PROGRAM; LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE INSTALLATION, USE, THE REPRODUCTION OR OTHER EXPLOITATION OF THE LICENSED PROGRAM OR ANY DERIVED PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+4. The Licensor is under no obligation to respond to any technical questions or inquiries, or provide any other user support in connection with the installation, use or the Reproduction and Other Exploitation of the Licensed Program or Derived Programs thereof.
+
+Article 4 (Termination of Agreement)
+
+1. The term of this Agreement shall begin from the time of receipt of the Licensed Program by the Recipient and shall continue as long as the Recipient retains any such Licensed Program in any way.
+
+2. Notwithstanding the provision set forth in the preceding Paragraph, in the event of the breach of any of the provisions set forth in this Agreement by the Recipient, this Agreement shall automatically terminate without any notice. In the case of such termination, the Recipient may not use or conduct Reproduction and Other Exploitation of the Licensed Program or a Derived Program: provided that such termination shall not affect any rights of any other Recipient receiving the Licensed Program or the Derived Program from such Recipient who breached this Agreement.
+
+Article 5 (Governing Law)
+
+1. IPA may publish revised and/or new versions of this License. In such an event, the Recipient may select either this Agreement or any subsequent version of the Agreement in using, conducting the Reproduction and Other Exploitation of, or Redistributing the Licensed Program or a Derived Program. Other matters not specified above shall be subject to the Copyright Law of Japan and other related laws and regulations of Japan.
+
+2. This Agreement shall be construed under the laws of Japan.
\ No newline at end of file
diff --git a/options/license/IPL-1.0 b/options/license/IPL-1.0
new file mode 100644
index 0000000..9b5da18
--- /dev/null
+++ b/options/license/IPL-1.0
@@ -0,0 +1,215 @@
+IBM Public License Version 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS IBM
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
+OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+"Contribution" means:
+
+a. in the case of International Business Machines Corporation ("IBM"), the Original Program, and
+
+b. in the case of each Contributor,
+ i. changes to the Program, and
+ ii. additions to the Program;
+where such changes and/or additions to the Program originate from and
+are distributed by that particular Contributor. A Contribution
+'originates' from a Contributor if it was added to the Program by
+such Contributor itself or anyone acting on such Contributor's
+behalf. Contributions do not include additions to the Program which:
+(i) are separate modules of software distributed in conjunction with
+the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means IBM and any other entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.
+
+"Original Program" means the original version of the software
+accompanying this Agreement as released by IBM, including source
+code, object code and documentation, if any.
+
+"Program" means the Original Program and Contributions.
+
+"Recipient" means anyone who receives the Program under this
+Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+a. Subject to the terms of this Agreement, each Contributor hereby
+grants Recipient a non-exclusive, worldwide, royalty-free copyright
+license to reproduce, prepare derivative works of, publicly display,
+publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and
+object code form.
+
+b. Subject to the terms of this Agreement, each Contributor hereby
+grants Recipient a non-exclusive, worldwide, royalty-free patent
+license under Licensed Patents to make, use, sell, offer to sell,
+import and otherwise transfer the Contribution of such Contributor,
+if any, in source code and object code form. This patent license
+shall apply to the combination of the Contribution and the Program
+if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by
+the Licensed Patents. The patent license shall not apply to any
+other combinations which include the Contribution. No hardware per
+se is licensed hereunder.
+
+c. Recipient understands that although each Contributor grants the
+licenses to its Contributions set forth herein, no assurances are
+provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity.
+Each Contributor disclaims any liability to Recipient for claims
+brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the
+rights and licenses granted hereunder, each Recipient hereby assumes
+sole responsibility to secure any other intellectual property rights
+needed, if any. For example, if a third party patent license is
+required to allow Recipient to distribute the Program, it is
+Recipient's responsibility to acquire that license before
+distributing the Program.
+
+d. Each Contributor represents that to its knowledge it has
+sufficient copyright rights in its Contribution, if any, to grant the
+copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+A Contributor may choose to distribute
+the Program in object code form under its own license agreement,
+provided that:
+
+a. it complies with the terms and conditions of this Agreement; and
+b. its license agreement:
+ i. effectively disclaims on behalf of all Contributors all warranties
+ and conditions, express and implied, including warranties or
+ conditions of title and non-infringement, and implied warranties or
+ conditions of merchantability and fitness for a particular purpose;
+ ii. effectively excludes on behalf of all Contributors all liability
+ for damages, including direct, indirect, special, incidental and
+ consequential damages, such as lost profits;
+ iii. states that any provisions which differ from this Agreement are
+ offered by that Contributor alone and not by any other party; and
+ iv. states that source code for the Program is available from such
+ Contributor, and informs licensees how to obtain it in a reasonable
+ manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+a. it must be made available under this Agreement; and
+b. a copy of this Agreement must be included with each copy of the
+Program.
+
+Each Contributor must include the following in a conspicuous location in the Program:
+
+ Copyright (C) 1996, 1999 International Business Machines Corporation and others. All Rights Reserved.
+
+In addition, each Contributor must identify itself as the originator
+of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial
+use of the Program, the Contributor who includes the Program in a
+commercial product offering should do so in a manner which does not
+create potential liability for other Contributors. Therefore, if a
+Contributor includes the Program in a commercial product offering,
+such Contributor ("Commercial Contributor") hereby agrees to defend
+and indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses") arising
+from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with
+its distribution of the Program in a commercial product offering.
+The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement.
+In order to qualify, an Indemnified Contributor must: a) promptly
+notify the Commercial Contributor in writing of such claim, and b)
+allow the Commercial Contributor to control, and cooperate with the
+Commercial Contributor in, the defense and any related settlement
+negotiations. The Indemnified Contributor may participate in any
+such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's
+responsibility alone. Under this section, the Commercial Contributor
+would have to defend claims against the other Contributors related to
+those performance claims and warranties, and if a court requires any
+other Contributor to pay any damages as a result, the Commercial
+Contributor must pay those damages.
+
+5. NO WARRANTY
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED 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. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement, including but not limited to
+the risks and costs of program errors, compliance with applicable
+laws, damage to or loss of data, programs or equipment, and
+unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
+THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further
+action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with
+respect to a patent applicable to software (including a cross-claim
+or counterclaim in a lawsuit), then any patent licenses granted by
+that Contributor to such Recipient under this Agreement shall
+terminate as of the date such litigation is filed. In addition, if
+Recipient institutes patent litigation against any entity (including
+a cross-claim or counterclaim in a lawsuit) alleging that the Program
+itself (excluding combinations of the Program with other software or
+hardware) infringes such Recipient's patent(s), then such Recipient's
+rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of
+time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use
+and distribution of the Program as soon as reasonably practicable.
+However, Recipient's obligations under this Agreement and any
+licenses granted by Recipient relating to the Program shall continue
+and survive.
+
+IBM may publish new versions (including revisions) of this Agreement
+from time to time. Each new version of the Agreement will be given a
+distinguishing version number. The Program (including Contributions)
+may always be distributed subject to the version of the Agreement
+under which it was received. In addition, after a new version of the
+Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. No one
+other than IBM has the right to modify this Agreement. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives
+no rights or licenses to the intellectual property of any Contributor
+under this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under
+this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No
+party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each
+party waives its rights to a jury trial in any resulting litigation.
\ No newline at end of file
diff --git a/options/license/ISC license b/options/license/ISC
similarity index 81%
rename from options/license/ISC license
rename to options/license/ISC
index a4bac65..d50e0cf 100644
--- a/options/license/ISC license
+++ b/options/license/ISC
@@ -1,6 +1,8 @@
ISC License:
-Copyright (c) Year(s), Company or Person's Name
+
+Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC")
+Copyright (c) 1995-2003 by Internet Software Consortium
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
-THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
\ No newline at end of file
diff --git a/options/license/ImageMagick b/options/license/ImageMagick
new file mode 100644
index 0000000..865627a
--- /dev/null
+++ b/options/license/ImageMagick
@@ -0,0 +1,98 @@
+Before we get to the text of the license, lets just review what the license says in simple terms:
+
+It allows you to:
+
+ * freely download and use ImageMagick software, in whole or in part, for personal, company internal, or commercial purposes;
+ * use ImageMagick software in packages or distributions that you create;
+ * link against a library under a different license;
+ * link code under a different license against a library under this license;
+ * merge code into a work under a different license;
+ * extend patent grants to any code using code under this license;
+ * and extend patent protection.
+
+It forbids you to:
+
+ * redistribute any piece of ImageMagick-originated software without proper attribution;
+ * use any marks owned by ImageMagick Studio LLC in any way that might state or imply that ImageMagick Studio LLC endorses your distribution;
+ * use any marks owned by ImageMagick Studio LLC in any way that might state or imply that you created the ImageMagick software in question.
+
+It requires you to:
+
+ * include a copy of the license in any redistribution you may make that includes ImageMagick software;
+ * provide clear attribution to ImageMagick Studio LLC for any distributions that include ImageMagick software.
+
+It does not require you to:
+
+ * include the source of the ImageMagick software itself, or of any modifications you may have made to it, in any redistribution you may assemble that includes it;
+ * submit changes that you make to the software back to the ImageMagick Studio LLC (though such feedback is encouraged).
+
+A few other clarifications include:
+
+ * ImageMagick is freely available without charge;
+ * you may include ImageMagick on a DVD as long as you comply with the terms of the license;
+ * you can give modified code away for free or sell it under the terms of the ImageMagick license or distribute the result under a different license, but you need to acknowledge the use of the ImageMagick software;
+ * the license is compatible with the GPL V3.
+ * when exporting the ImageMagick software, review its export classification.
+
+Terms and Conditions for Use, Reproduction, and Distribution
+
+The legally binding and authoritative terms and conditions for use, reproduction, and distribution of ImageMagick follow:
+
+Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization dedicated to making software imaging solutions freely available.
+
+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 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.
+
+How to Apply the License to your Work
+
+To apply the ImageMagick License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information (don't include the brackets). The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the ImageMagick License (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
+
+ http://www.imagemagick.org/script/license.php
+
+ Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
\ No newline at end of file
diff --git a/options/license/Imlib2 b/options/license/Imlib2
new file mode 100644
index 0000000..065a179
--- /dev/null
+++ b/options/license/Imlib2
@@ -0,0 +1,9 @@
+Imlib2 License
+
+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 of the Software and its Copyright notices. In addition publicly documented acknowledgment must be given that this software has been used if no source code of this software is made available publicly. Making the source available publicly means including the source for this software with the distribution, or a method to get this software via some reasonable mechanism (electronic transfer via a network or media) as well as making an offer to supply the source on request. This Copyright notice serves as an offer to supply the source on on request as well. Instead of this, supplying acknowledgments of use of this software in either Copyright notices, Manuals, Publicity and Marketing documents or any documentation provided with any product containing this software. This License does not apply to any software that links to the libraries provided by this software (statically or dynamically), but only to the software provided.
+
+Please see the COPYING-PLAIN for a plain-english explanation of this notice and its intent.
+
+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 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.
\ No newline at end of file
diff --git a/options/license/Info-ZIP b/options/license/Info-ZIP
new file mode 100644
index 0000000..0e53f67
--- /dev/null
+++ b/options/license/Info-ZIP
@@ -0,0 +1,16 @@
+Info-ZIP License
+
+Copyright (c) 1990-2009 Info-ZIP. All rights reserved.
+
+For the purposes of this copyright and license, "Info-ZIP" is defined as the following set of individuals:
+
+ Mark Adler, John Bush, Karl Davis, Harald Denker, Jean-Michel Dubois, Jean-loup Gailly, Hunter Goatley, Ed Gordon, Ian Gorman, Chris Herborth, Dirk Haase, Greg Hartwig, Robert Heath, Jonathan Hudson, Paul Kienitz, David Kirschbaum, Johnny Lee, Onno van der Linden, Igor Mandrichenko, Steve P. Miller, Sergio Monesi, Keith Owens, George Petrov, Greg Roelofs, Kai Uwe Rommel, Steve Salisbury, Dave Smith, Steven M. Schweda, Christian Spieler, Cosmin Truta, Antoine Verheijen, Paul von Behren, Rich Wales, Mike White.
+
+This software is provided "as is," without warranty of any kind, express or implied. In no event shall Info-ZIP or its contributors be held liable for any direct, indirect, incidental, special or consequential damages arising out of the use of or inability to use 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 above disclaimer and the following restrictions:
+
+ * Redistributions of source code (in whole or in part) must retain the above copyright notice, definition, disclaimer, and this list of conditions.
+ * Redistributions in binary form (compiled executables and libraries) must reproduce the above copyright notice, definition, disclaimer, and this list of conditions in documentation and/or other materials provided with the distribution. Additional documentation is not needed for executables where a command line license option provides these and a note regarding this option is in the executable's startup banner. The sole exception to this condition is redistribution of a standard UnZipSFX binary (including SFXWiz) as part of a self-extracting archive; that is permitted without inclusion of this license, as long as the normal SFX banner has not been removed from the binary or disabled.
+ * Altered versions--including, but not limited to, ports to new operating systems, existing ports with new graphical interfaces, versions with modified or added functionality, and dynamic, shared, or static library versions not from Info-ZIP--must be plainly marked as such and must not be misrepresented as being the original source or, if binaries, compiled from the original source. Such altered versions also must not be misrepresented as being Info-ZIP releases--including, but not limited to, labeling of the altered versions with the names "Info-ZIP" (or any variation thereof, including, but not limited to, different capitalizations), "Pocket UnZip," "WiZ" or "MacZip" without the explicit permission of Info-ZIP. Such altered versions are further prohibited from misrepresentative use of the Zip-Bugs or Info-ZIP e-mail addresses or the Info-ZIP URL(s), such as to imply Info-ZIP will provide support for the altered versions.
+ * Info-ZIP retains the right to use the names "Info-ZIP," "Zip," "UnZip," "UnZipSFX," "WiZ," "Pocket UnZip," "Pocket Zip," and "MacZip" for its own source and binary releases.
diff --git a/options/license/Intel b/options/license/Intel
new file mode 100644
index 0000000..3696e8d
--- /dev/null
+++ b/options/license/Intel
@@ -0,0 +1,13 @@
+Intel Open Source License
+
+Copyright (c) 1996-2000 Intel Corporation All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ • Neither the name of the Intel Corporation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+EXPORT LAWS: THIS LICENSE ADDS NO RESTRICTIONS TO THE EXPORT LAWS OF YOUR JURISDICTION. It is licensee's responsibility to comply with any export regulations applicable in licensee's jurisdiction. Under CURRENT (May 2000) U.S. export regulations this software is eligible for export from the U.S. and can be downloaded by or otherwise exported or reexported worldwide EXCEPT to U.S. embargoed destinations which include Cuba, Iraq, Libya, North Korea, Iran, Syria, Sudan, Afghanistan and any other country to which the U.S. has embargoed goods and services.
diff --git a/options/license/Intel-ACPI b/options/license/Intel-ACPI
new file mode 100644
index 0000000..7557060
--- /dev/null
+++ b/options/license/Intel-ACPI
@@ -0,0 +1,34 @@
+ACPI - Software License Agreement
+
Software License Agreement IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING.
+
+Do not use or load this software and any associated materials (collectively, the "Software") until you have carefully read the following terms and conditions. By loading or using the Software, you agree to the terms of this Agreement. If you do not wish to so agree, do not install or use the Software.
+
+1. COPYRIGHT NOTICE Some or all of this work - Copyright © 1999-2005, Intel Corp. All rights reserved.
+
+2. LICENSE
+
+ 2.1. This is your license from Intel Corp. under its intellectual property rights. You may have additional license terms from the party that provided you this software, covering your right to use that party's intellectual property rights.
+
+ 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a copy of the source code appearing in this file ("Covered Code") an irrevocable, perpetual, worldwide license under Intel's copyrights in the base code distributed originally by Intel ("Original Intel Code") to copy, make derivatives, distribute, use and display any portion of the Covered Code in any form, with the right to sublicense such rights; and
+
+ 2.3. Intel grants Licensee a non-exclusive and non-transferable patent license (with the right to sublicense), under only those claims of Intel patents that are infringed by the Original Intel Code, to make, use, sell, offer to sell, and import the Covered Code and derivative works thereof solely to the minimum extent necessary to exercise the above copyright license, and in no event shall the patent license extend to any additions to or modifications of the Original Intel Code. No other license or right is granted directly or by implication, estoppel or otherwise; The above copyright and patent license is granted only if the following conditions are met:
+
+3. CONDITIONS
+
+ 3.1. Redistribution of Source with Rights to Further Distribute Source. Redistribution of source code of any substantial portion of the Covered Code or modification with rights to further distribute source must include the above Copyright Notice, the above License, this list of Conditions, and the following Disclaimer and Export Compliance provision. In addition, Licensee must cause all Covered Code to which Licensee contributes to contain a file documenting the changes Licensee made to create that Covered Code and the date of any change. Licensee must include in that file the documentation of any changes made by any predecessor Licensee. Licensee must include a prominent statement that the modification is derived, directly or indirectly, from Original Intel Code.
+
+ 3.2. Redistribution of Source with no Rights to Further Distribute Source. Redistribution of source code of any substantial portion of the Covered Code or modification without rights to further distribute source must include the following Disclaimer and Export Compliance provision in the documentation and/or other materials provided with distribution. In addition, Licensee may not authorize further sublicense of source of any portion of the Covered Code, and must include terms to the effect that the license from Licensee to its licensee is limited to the intellectual property embodied in the software Licensee provides to its licensee, and not to intellectual property embodied in modifications its licensee may make.
+
+ 3.3. Redistribution of Executable. Redistribution in executable form of any substantial portion of the Covered Code or modification must reproduce the above Copyright Notice, and the following Disclaimer and Export Compliance provision in the documentation and/or other materials provided with the distribution.
+
+ 3.4. Intel retains all right, title, and interest in and to the Original Intel Code.
+
+ 3.5. Neither the name Intel nor any other trademark owned or controlled by Intel shall be used in advertising or otherwise to promote the sale, use or other dealings in products derived from or relating to the Covered Code without prior written authorization from Intel.
+
+4. DISCLAIMER AND EXPORT COMPLIANCE
+
+ 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
+
+ 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY LIMITED REMEDY.
+
+ 4.3. Licensee shall not export, either directly or indirectly, any of this software or system incorporating such software without first obtaining any required license or other approval from the U. S. Department of Commerce or any other agency or department of the United States Government. In the event Licensee exports any such software from the United States or re-exports any such software from a foreign destination, Licensee shall ensure that the distribution and export/re-export of the software is in compliance with all laws, regulations, orders, or other restrictions of the U.S. Export Administration Regulations. Licensee agrees that neither it nor any of its subsidiaries will export/re-export any technical data, process, software, or service, directly or indirectly, to any country for which the United States government or any agency thereof requires an export license, other governmental approval, or letter of assurance, without first obtaining such license, approval or letter.
diff --git a/options/license/Interbase-1.0 b/options/license/Interbase-1.0
new file mode 100644
index 0000000..77dbac7
--- /dev/null
+++ b/options/license/Interbase-1.0
@@ -0,0 +1,199 @@
+INTERBASE PUBLIC LICENSE
+Version 1.0
+
+1. Definitions.
+
+1.0.1. "Commercial Use" means distribution or otherwise making the Covered Code available to a third party.
+
+1.1. ''Contributor'' means each entity that creates or contributes to the creation of Modifications.
+
+1.2. ''Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+1.3. ''Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+1.4. ''Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+1.5. ''Executable'' means Covered Code in any form other than Source Code.
+
+1.6. ''Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+1.7. ''Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+1.8. ''License'' means this document.
+
+1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+1.9. ''Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+
+A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+
+B. Any new file that contains any part of the Original Code or previous Modifications.
+
+1.10. ''Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+1.11. ''Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+1.12. "You'' (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You'' includes any entity which 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. Source Code License.
+
+2.1. The Initial Developer Grant.
+
+The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+
+ (b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+
+ (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
+
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
+
+2.2. Contributor Grant.
+
+Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+
+ (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code.
+
+ (d) Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+3.1. Application of License.
+
+The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+3.2. Availability of Source Code.
+
+Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+3.3. Description of Modifications.
+
+You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+3.4. Intellectual Property Matters
+
+ (a) Third Party Claims.
+
+ If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+
+ (b) Contributor APIs.
+
+ If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
+
+ (c) Representations.
+
+ Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+
+3.5. Required Notices.
+
+You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+3.6. Distribution of Executable Versions.
+
+You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+3.7. Larger Works.
+
+You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+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 Code 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 included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. 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. Application of this License.
+
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+6.1. New Versions.
+
+Borland Software Corporation (''Interbase'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+6.2. Effect of New Versions.
+
+Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Interbase. No one other than Interbase has the right to modify the terms applicable to Covered Code created under this License.
+
+6.3. Derivative Works.
+
+If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases ''Mozilla'', ''MOZILLAPL'', ''MOZPL'', ''Netscape'', "MPL", ''NPL", "Interbase", "ISC", "IB'' or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+6.4 Origin of the Interbase Public License.
+
+The Interbase public license is based on the Mozilla Public License V 1.1 with the following changes:
+
+The license is published by Borland Software Corporation. Only Borland Software Corporation can modify the terms applicable to Covered Code.
+The license can be modified used for code which is not already governed by this license. Modified versions of the license must be renamed to avoid confusion with Netscape?s or Interbase Software?s license and must include a description of changes from the Interbase Public License.
+The name of the license in Exhibit A is the "Interbase Public License".
+The reference to an alternative license in Exhibit A has been removed.
+Amendments I, II, III, V, and VI have been deleted.
+Exhibit A, Netscape Public License has been deleted
+A new amendment (II) has been added, describing the required and restricted rights to use the trademarks of Borland Software Corporation
+7. DISCLAIMER OF WARRANTY.
+
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE 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 CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER 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 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+8.2. If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that:
+
+ (a) such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+
+ (b) any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
+
+8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY.
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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.
+
+10. U.S. GOVERNMENT END USERS.
+
+The Covered Code is a ''commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ''commercial computer software'' and ''commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. MISCELLANEOUS.
+
+This License represents the complete agreement concerning 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. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+
+As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+13. MULTIPLE-LICENSED CODE.
+
+Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the NPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.
+
+EXHIBIT A - InterBase Public License.
+
+``The contents of this file are subject to the Interbase Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.Interbase.com/IPL.html
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+The Original Code was created by InterBase Software Corp and its successors.
+
+Portions created by Borland/Inprise are Copyright (C) Borland/Inprise. All Rights Reserved.
+
+Contributor(s): ______________________________________.
+
+AMENDMENTS
+
+I. InterBase and logo. This License does not grant any rights to use the trademarks "Interbase'', "Java" or "JavaScript" even if such marks are included in the Original Code or Modifications.
+
+II. Trademark Usage.
+
+II.1. Advertising Materials. All advertising materials mentioning features or use of the covered Code must display the following acknowledgement: "This product includes software developed by Borland Software Corp. "
+
+II.2. Endorsements. The names "InterBase," "ISC," and "IB" must not be used to endorse or promote Contributor Versions or Larger Works without the prior written permission of Interbase.
+
+II.3. Product Names. Contributor Versions and Larger Works may not be called "InterBase" or "Interbase" nor may the word "InterBase" appear in their names without the prior written permission of Interbase.
\ No newline at end of file
diff --git a/options/license/JSON b/options/license/JSON
new file mode 100644
index 0000000..e29500b
--- /dev/null
+++ b/options/license/JSON
@@ -0,0 +1,11 @@
+JSON License
+
+Copyright (c) 2002 JSON.org
+
+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 shall be used for Good, not Evil.
+
+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.
diff --git a/options/license/JasPer-2.0 b/options/license/JasPer-2.0
new file mode 100644
index 0000000..93d1128
--- /dev/null
+++ b/options/license/JasPer-2.0
@@ -0,0 +1,17 @@
+JasPer License Version 2.0
+
+Copyright (c) 2001-2006 Michael David Adams
+Copyright (c) 1999-2000 Image Power, Inc.
+Copyright (c) 1999-2000 The University of British Columbia
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person (the "User") 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, 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:
+
+1. The above copyright notices and this permission notice (which includes the disclaimer below) shall be included in all copies or substantial portions of the Software.
+
+2. The name of a copyright holder shall not be used to endorse or promote products derived from the Software without specific prior written permission.
+
+THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
+"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 OF THIRD PARTY RIGHTS. IN NO
+EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. NO ASSURANCES ARE PROVIDED BY THE COPYRIGHT HOLDERS THAT THE SOFTWARE DOES NOT INFRINGE THE PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS OF ANY OTHER ENTITY. EACH COPYRIGHT HOLDER DISCLAIMS ANY LIABILITY TO THE USER FOR CLAIMS BROUGHT BY ANY OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR OTHERWISE. AS A CONDITION TO EXERCISING THE RIGHTS GRANTED HEREUNDER, EACH USER HEREBY ASSUMES SOLE RESPONSIBILITY TO SECURE ANY OTHER INTELLECTUAL PROPERTY RIGHTS NEEDED, IF ANY. THE SOFTWARE IS NOT FAULT-TOLERANT AND IS NOT INTENDED FOR USE IN MISSION-CRITICAL SYSTEMS, SUCH AS THOSE USED IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL SYSTEMS, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF THE SOFTWARE OR SYSTEM COULD LEAD DIRECTLY TO DEATH, PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
diff --git a/options/license/LAL-1.2 b/options/license/LAL-1.2
new file mode 100644
index 0000000..80e9204
--- /dev/null
+++ b/options/license/LAL-1.2
@@ -0,0 +1,67 @@
+Licence Art Libre
+
[ Copyleft Attitude ]
+
+Version 1.2
+
+Préambule :
+
+Avec cette Licence Art Libre, l’autorisation est donnée de copier, de diffuser et de transformer librement les oeuvres dans le respect des droits de l’auteur.
+
+Loin d’ignorer les droits de l’auteur, cette licence les reconnaît et les protège. Elle en reformule le principe en permettant au public de faire un usage créatif des oeuvres d’art.
+Alors que l’usage fait du droit de la propriété littéraire et artistique conduit à restreindre l’accès du public à l’oeuvre, la Licence Art Libre a pour but de le favoriser.
+L’intention est d’ouvrir l’accès et d’autoriser l’utilisation des ressources d’une oeuvre par le plus grand nombre. En avoir jouissance pour en multiplier les réjouissances, créer de nouvelles conditions de création pour amplifier les possibilités de création. Dans le respect des auteurs avec la reconnaissance et la défense de leur droit moral.
+
+En effet, avec la venue du numérique, l’invention de l’internet et des logiciels libres, un nouveau mode de création et de production est apparu. Il est aussi l’amplification de ce qui a été expérimenté par nombre d’artistes contemporains.
+Le savoir et la création sont des ressources qui doivent demeurer libres pour être encore véritablement du savoir et de la création. C’est à dire rester une recherche fondamentale qui ne soit pas directement liée à une application concrète. Créer c’est découvrir l’inconnu, c’est inventer le réel avant tout souci de réalisme.
+Ainsi, l’objet de l’art n’est pas confondu avec l’objet d’art fini et défini comme tel.
C’est la raison essentielle de cette Licence Art Libre : promouvoir et protéger des pratiques artistiques libérées des seules règles de l’économie de marché.
+
+DÉFINITIONS
+
+– L’oeuvre :
il s’agit d’une oeuvre commune qui comprend l’oeuvre originelle ainsi que toutes les contributions postérieures (les originaux conséquents et les copies). Elle est créée à l’initiative de l’auteur originel qui par cette licence définit les conditions selon lesquelles les contributions sont faites.
+
+– L’oeuvre originelle :
c’est-à-dire l’oeuvre créée par l’initiateur de l’oeuvre commune dont les copies vont être modifiées par qui le souhaite.
+
+– Les oeuvres conséquentes :
c’est-à-dire les propositions des auteurs qui contribuent à la formation de l’oeuvre en faisant usage des droits de reproduction, de diffusion et de modification que leur confère la licence.
+
+– Original (source ou ressource de l’oeuvre) :
exemplaire daté de l’oeuvre, de sa définition, de sa partition ou de son programme que l’auteur présente comme référence pour toutes actualisations, interprétations, copies ou reproductions ultérieures.
+
+– Copie :
toute reproduction d’un original au sens de cette licence.
+
+– Auteur de l’oeuvre originelle :
c’est la personne qui a créé l’oeuvre à l’origine d’une arborescence de cette oeuvre modifiée. Par cette licence, l’auteur détermine les conditions dans lesquelles ce travail se fait.
+
+– Contributeur :
toute personne qui contribue à la création de l’oeuvre. Il est l’auteur d’une oeuvre originale résultant de la modification d’une copie de l’oeuvre originelle ou de la modification d’une copie d’une oeuvre conséquente.
+
+1. OBJET
+Cette licence a pour objet de définir les conditions selon lesquelles vous pouvez jouir librement de cette oeuvre.
+
+2. L’ÉTENDUE DE LA JOUISSANCE
+Cette oeuvre est soumise au droit d’auteur, et l’auteur par cette
licence vous indique quelles sont vos libertés pour la copier, la
diffuser et la modifier:
+
+2.1 LA LIBERTÉ DE COPIER (OU DE REPRODUCTION)
+Vous avez la liberté de copier cette oeuvre pour un usage personnel, pour vos amis, ou toute autre personne et quelque soit la technique employée.
+
+2.2 LA LIBERTÉ DE DIFFUSER, D’INTERPRÉTER (OU DE REPRÉSENTATION)
+Vous pouvez diffuser librement les copies de ces oeuvres, modifiées
ou non, quel que soit le support, quel que soit le lieu, à titre onéreux ou gratuit si vous respectez toutes les conditions suivantes:
+ – joindre aux copies, cette licence à l’identique, ou indiquer précisément où se trouve la licence,
– indiquer au destinataire le nom de l’auteur des originaux,
– indiquer au destinataire où il pourra avoir accès aux originaux
(originels et/ou conséquents). L’auteur de l’original pourra, s’il le souhaite, vous autoriser à diffuser l’original dans les mêmes conditions que les copies.
+
+2.3 LA LIBERTÉ DE MODIFIER
+Vous avez la liberté de modifier les copies des originaux (originels
et conséquents), qui peuvent être partielles ou non, dans le respect des conditions prévues à l’article 2.2 en cas de diffusion (ou représentation) de la copie modifiée.
L’auteur de l’original pourra, s’il le souhaite, vous autoriser à modifier l’original dans les mêmes conditions que les copies.
+
+3. L’INCORPORATION DE L’OEUVRE
+Tous les éléments de cette oeuvre doivent demeurer libres, c’est pourquoi il ne vous est pas permis d’intégrer les originaux (originels et conséquents) dans une autre oeuvre qui ne serait pas soumise à cette licence.
+
+4. VOS DROITS D’AUTEUR
+Cette licence n’a pas pour objet de nier vos droits d’auteur sur votre contribution. En choisissant de contribuer à l’évolution de cette oeuvre, vous acceptez seulement d’offrir aux autres les mêmes droits sur votre contribution que ceux qui vous ont été accordés par cette licence.
+
+5. LA DURÉE DE LA LICENCE
+Cette licence prend effet dès votre acceptation de ses dispositions. Le fait de copier, de diffuser, ou de modifier l’oeuvre constitue une acception tacite.
Cette licence a pour durée la durée des droits d’auteur attachés à l’oeuvre. Si vous ne respectez pas les termes de cette licence, vous perdez automatiquement les droits qu’elle vous confère.
Si le régime juridique auquel vous êtes soumis ne vous permet pas de respecter les termes de cette licence, vous ne pouvez pas vous prévaloir des libertés qu’elle confère.
+
+6. LES DIFFÉRENTES VERSIONS DE LA LICENCE
+Cette licence pourra être modifiée régulièrement, en vue de son amélioration, par ses auteurs (les acteurs du mouvement « copyleft attitude ») sous la forme de nouvelles versions numérotées.
+Vous avez toujours le choix entre vous contenter des dispositions contenues dans la version sous laquelle la copie vous a été communiquée ou alors, vous prévaloir des dispositions d’une des versions ultérieures.
+
+7. LES SOUS-LICENCES
+Les sous licences ne sont pas autorisées par la présente. Toute personne qui souhaite bénéficier des libertés qu’elle confère sera liée directement à l’auteur de l’oeuvre originelle.
+
+8. LA LOI APPLICABLE AU CONTRAT
+Cette licence est soumise au droit français.
diff --git a/options/license/LAL-1.3 b/options/license/LAL-1.3
new file mode 100644
index 0000000..38331ed
--- /dev/null
+++ b/options/license/LAL-1.3
@@ -0,0 +1,88 @@
+Licence Art Libre 1.3 (LAL 1.3)
+
+Préambule :
+
+Avec la Licence Art Libre, l’autorisation est donnée de copier, de diffuser et de transformer librement les œuvres dans le respect des droits de l’auteur.
+
+Loin d’ignorer ces droits, la Licence Art Libre les reconnaît et les protège. Elle en reformule l’exercice en permettant à tout un chacun de faire un usage créatif des productions de l’esprit quels que soient leur genre et leur forme d’expression.
+
+Si, en règle générale, l’application du droit d’auteur conduit à restreindre l’accès aux œuvres de l’esprit, la Licence Art Libre, au contraire, le favorise. L’intention est d’autoriser l’utilisation des ressources d’une œuvre ; créer de nouvelles conditions de création pour amplifier les possibilités de création. La Licence Art Libre permet d’avoir jouissance des œuvres tout en reconnaissant les droits et les responsabilités de chacun.
+
+Avec le développement du numérique, l’invention d’internet et des logiciels libres, les modalités de création ont évolué : les productions de l’esprit s’offrent naturellement à la circulation, à l’échange et aux transformations. Elles se prêtent favorablement à la réalisation d’œuvres communes que chacun peut augmenter pour l’avantage de tous.
+
+C’est la raison essentielle de la Licence Art Libre : promouvoir et protéger ces productions de l’esprit selon les principes du copyleft : liberté d’usage, de copie, de diffusion, de transformation et interdiction d’appropriation exclusive.
+
+Définitions :
+
+Nous désignons par « œuvre », autant l’œuvre initiale, les œuvres conséquentes, que l’œuvre commune telles que définies ci-après :
+
+L’œuvre commune :
Il s’agit d’une œuvre qui comprend l’œuvre initiale ainsi que toutes les contributions postérieures (les originaux conséquents et les copies). Elle est créée à l’initiative de l’auteur initial qui par cette licence définit les conditions selon lesquelles les contributions sont faites.
+
+L’œuvre initiale :
C’est-à-dire l’œuvre créée par l’initiateur de l’œuvre commune dont les copies vont être modifiées par qui le souhaite.
+
+Les œuvres conséquentes :
C’est-à-dire les contributions des auteurs qui participent à la formation de l’œuvre commune en faisant usage des droits de reproduction, de diffusion et de modification que leur confère la licence.
+
+Originaux (sources ou ressources de l’œuvre) :
Chaque exemplaire daté de l’œuvre initiale ou conséquente que leurs auteurs présentent comme référence pour toutes actualisations, interprétations, copies ou reproductions ultérieures.
+
+Copie :
Toute reproduction d’un original au sens de cette licence.
+
+1- OBJET.
+Cette licence a pour objet de définir les conditions selon lesquelles vous pouvez jouir librement de l’œuvre.
+
+2. L’ÉTENDUE DE LA JOUISSANCE.
+Cette œuvre est soumise au droit d’auteur, et l’auteur par cette licence vous indique quelles sont vos libertés pour la copier, la diffuser et la modifier.
+
+2.1 LA LIBERTÉ DE COPIER (OU DE REPRODUCTION).
+Vous avez la liberté de copier cette œuvre pour vous, vos amis ou toute autre personne, quelle que soit la technique employée.
+
+2.2 LA LIBERTÉ DE DIFFUSER (INTERPRÉTER, REPRÉSENTER, DISTRIBUER).
+Vous pouvez diffuser librement les copies de ces œuvres, modifiées ou non, quel que soit le support, quel que soit le lieu, à titre onéreux ou gratuit, si vous respectez toutes les conditions suivantes :
+
+ 1. joindre aux copies cette licence à l’identique ou indiquer précisément où se trouve la licence ;
+ 2. indiquer au destinataire le nom de chaque auteur des originaux, y compris le vôtre si vous avez modifié l’œuvre ;
+ 3. indiquer au destinataire où il pourrait avoir accès aux originaux (initiaux et/ou conséquents).
+
+Les auteurs des originaux pourront, s’ils le souhaitent, vous autoriser à diffuser l’original dans les mêmes conditions que les copies.
+
+2.3 LA LIBERTÉ DE MODIFIER.
+Vous avez la liberté de modifier les copies des originaux (initiaux et conséquents) dans le respect des conditions suivantes :
+
+ 1. celles prévues à l’article 2.2 en cas de diffusion de la copie modifiée ;
+ 2. indiquer qu’il s’agit d’une œuvre modifiée et, si possible, la nature de la modification ;
+ 3. diffuser cette œuvre conséquente avec la même licence ou avec toute licence compatible ;
+ 4. Les auteurs des originaux pourront, s’ils le souhaitent, vous autoriser à modifier l’original dans les mêmes conditions que les copies.
+
+3. DROITS CONNEXES.
+Les actes donnant lieu à des droits d’auteur ou des droits voisins ne doivent pas constituer un obstacle aux libertés conférées par cette licence.
C’est pourquoi, par exemple, les interprétations doivent être soumises à la même licence ou une licence compatible. De même, l’intégration de l’œuvre à une base de données, une compilation ou une anthologie ne doit pas faire obstacle à la jouissance de l’œuvre telle que définie par cette licence.
+
+4. L’ INTÉGRATION DE L’ŒUVRE.
+Toute intégration de cette œuvre à un ensemble non soumis à la LAL doit assurer l’exercice des libertés conférées par cette licence.
+Si l’œuvre n’est plus accessible indépendamment de l’ensemble, alors l’intégration n’est possible qu’à condition que l’ensemble soit soumis à la LAL ou une licence compatible.
+
+5. CRITÈRES DE COMPATIBILITÉ.
+Une licence est compatible avec la LAL si et seulement si :
+
+ 1. elle accorde l’autorisation de copier, diffuser et modifier des copies de l’œuvre, y compris à des fins lucratives, et sans autres restrictions que celles qu’impose le respect des autres critères de compatibilité ;
+ 2. elle garantit la paternité de l’œuvre et l’accès aux versions antérieures de l’œuvre quand cet accès est possible ;
+ 3. elle reconnaît la LAL également compatible (réciprocité) ;
+ 4. elle impose que les modifications faites sur l’œuvre soient soumises à la même licence ou encore à une licence répondant aux critères de compatibilité posés par la LAL.
+
+6. VOS DROITS INTELLECTUELS.
+La LAL n’a pas pour objet de nier vos droits d’auteur sur votre contribution ni vos droits connexes. En choisissant de contribuer à l’évolution de cette œuvre commune, vous acceptez seulement d’offrir aux autres les mêmes autorisations sur votre contribution que celles qui vous ont été accordées par cette licence. Ces autorisations n’entraînent pas un dessaisissement de vos droits intellectuels.
+
+7. VOS RESPONSABILITÉS.
+La liberté de jouir de l’œuvre tel que permis par la LAL (liberté de copier, diffuser, modifier) implique pour chacun la responsabilité de ses propres faits.
+
+8. LA DURÉE DE LA LICENCE.
+Cette licence prend effet dès votre acceptation de ses dispositions. Le fait de copier, de diffuser, ou de modifier l’œuvre constitue une acceptation tacite.
+Cette licence a pour durée la durée des droits d’auteur attachés à l’œuvre. Si vous ne respectez pas les termes de cette licence, vous perdez automatiquement les droits qu’elle vous confère.
Si le régime juridique auquel vous êtes soumis ne vous permet pas de respecter les termes de cette licence, vous ne pouvez pas vous prévaloir des libertés qu’elle confère.
+
+9. LES DIFFÉRENTES VERSIONS DE LA LICENCE.
+Cette licence pourra être modifiée régulièrement, en vue de son amélioration, par ses auteurs (les acteurs du mouvement Copyleft Attitude) sous la forme de nouvelles versions numérotées.
+Vous avez toujours le choix entre vous contenter des dispositions contenues dans la version de la LAL sous laquelle la copie vous a été communiquée ou alors, vous prévaloir des dispositions d’une des versions ultérieures.
+
+10. LES SOUS-LICENCES.
+Les sous-licences ne sont pas autorisées par la présente. Toute personne qui souhaite bénéficier des libertés qu’elle confère sera liée directement aux auteurs de l’œuvre commune.
+
+11. LE CONTEXTE JURIDIQUE.
+Cette licence est rédigée en référence au droit français et à la Convention de Berne relative au droit d’auteur.
diff --git a/options/license/GNU Library General Public License v2.0 b/options/license/LGPL-2.0
similarity index 84%
rename from options/license/GNU Library General Public License v2.0
rename to options/license/LGPL-2.0
index a04e3a1..21a037c 100644
--- a/options/license/GNU Library General Public License v2.0
+++ b/options/license/LGPL-2.0
@@ -1,12 +1,13 @@
GNU LIBRARY GENERAL PUBLIC LICENSE
+
Version 2, June 1991
-Copyright (C) 1991 Free Software Foundation, Inc.
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+Copyright (C) 1991 Free Software Foundation, Inc.
+51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
-[This is the first released version of the library GPL. It is numbered 2 because it goes with version 2 of the ordinary GPL.]
+[This is the first released version of the library GPL. It is numbered 2 because it goes with version 2 of the ordinary GPL.]
Preamble
@@ -56,13 +57,13 @@ You may charge a fee for the physical act of transferring a copy, and you may at
2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
-a) The modified work must itself be a software library.
+ a) The modified work must itself be a software library.
-b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
+ b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.
-c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.
-
-d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful.
+ d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful.
(For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.)
@@ -96,13 +97,13 @@ Otherwise, if the work is a derivative of the Library, you may distribute the ob
You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:
-a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)
+ a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)
-b) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.
+ b) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.
+
+ c) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
-c) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
-
-d) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.
+ d) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
@@ -110,9 +111,9 @@ It may happen that this requirement contradicts the license restrictions of othe
7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things:
-a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above.
+ a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above.
-b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.
+ b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
@@ -130,7 +131,7 @@ This section is intended to make thoroughly clear what is believed to be a conse
12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
-13. The Free Software Foundation may publish revised and/or new versions of the Library General Public License from time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+13. The Free Software Foundation may publish revised and/or new versions of the Library General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation.
@@ -150,24 +151,24 @@ If you develop a new library, and you want it to be of the greatest possible use
To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
-one line to give the library's name and an idea of what it does.
-Copyright (C) year name of author
+ one line to give the library's name and an idea of what it does.
+ Copyright (C) year name of author
-This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
+ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
-This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.
+ This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+ You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names:
-Yoyodyne, Inc., hereby disclaims all copyright interest in
-the library `Frob' (a library for tweaking knobs) written
+Yoyodyne, Inc., hereby disclaims all copyright interest in
+the library `Frob' (a library for tweaking knobs) written
by James Random Hacker.
-signature of Ty Coon, 1 April 1990
+signature of Ty Coon, 1 April 1990
Ty Coon, President of Vice
-That's all there is to it!
+That's all there is to it!
\ No newline at end of file
diff --git a/options/license/GNU Lesser General Public License v2.1 b/options/license/LGPL-2.1
similarity index 83%
rename from options/license/GNU Lesser General Public License v2.1
rename to options/license/LGPL-2.1
index 7dd5aab..62ac6ff 100644
--- a/options/license/GNU Lesser General Public License v2.1
+++ b/options/license/LGPL-2.1
@@ -1,12 +1,13 @@
GNU LESSER GENERAL PUBLIC LICENSE
+
Version 2.1, February 1999
-Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
-[This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.]
+[This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.]
Preamble
@@ -58,13 +59,13 @@ You may charge a fee for the physical act of transferring a copy, and you may at
2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
-a) The modified work must itself be a software library.
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
-b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
+ c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.
-c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.
-
-d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful.
+ d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful.
(For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.)
@@ -98,15 +99,15 @@ Otherwise, if the work is a derivative of the Library, you may distribute the ob
You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:
-a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)
+ a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)
-b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with.
+ b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with.
-c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.
+ c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.
-d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
+ d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
-e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.
+ e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
@@ -114,9 +115,9 @@ It may happen that this requirement contradicts the license restrictions of othe
7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things:
-a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above.
+ a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above.
-b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.
+ b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
@@ -154,21 +155,21 @@ If you develop a new library, and you want it to be of the greatest possible use
To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
-one line to give the library's name and an idea of what it does.
-Copyright (C) year name of author
+ one line to give the library's name and an idea of what it does.
+ Copyright (C) year name of author
-This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
+ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
-This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
-You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail.
+ You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names:
-Yoyodyne, Inc., hereby disclaims all copyright interest in
-the library `Frob' (a library for tweaking knobs) written
+Yoyodyne, Inc., hereby disclaims all copyright interest in
+the library `Frob' (a library for tweaking knobs) written
by James Random Hacker.
-signature of Ty Coon, 1 April 1990
-Ty Coon, President of Vice
-That's all there is to it!
+signature of Ty Coon, 1 April 1990
+Ty Coon, President of Vice
+That's all there is to it!
\ No newline at end of file
diff --git a/options/license/GNU Lesser General Public License v3.0 b/options/license/LGPL-3.0
similarity index 51%
rename from options/license/GNU Lesser General Public License v3.0
rename to options/license/LGPL-3.0
index 0c8228d..dc29ef6 100644
--- a/options/license/GNU Lesser General Public License v3.0
+++ b/options/license/LGPL-3.0
@@ -1,7 +1,8 @@
-GNU LESSER GENERAL PUBLIC LICENSE
+GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
-Copyright (C) 2007 Free Software Foundation, Inc.
+Copyright (C) 2007 Free Software Foundation, Inc.
+
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below.
@@ -14,57 +15,57 @@ As used herein, "this License" refers to version 3 of the GNU Lesser General Pub
An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library.
-A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version".
+A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version".
The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work.
-1. Exception to Section 3 of the GNU GPL.
+1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL.
-2. Conveying Modified Versions.
+2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version:
-a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or
+ a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or
-b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy.
+ b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy.
-3. Object Code Incorporating Material from Library Header Files.
-The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following:
+3. Object Code Incorporating Material from Library Header Files.
+The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following:
-a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License.
+ a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License.
-b) Accompany the object code with a copy of the GNU GPL and this license document.
+ b) Accompany the object code with a copy of the GNU GPL and this license document.
-4. Combined Works.
+4. Combined Works.
You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following:
-a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License.
+ a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License.
-b) Accompany the Combined Work with a copy of the GNU GPL and this license document.
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license document.
-c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document.
+ c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document.
-d) Do one of the following:
+ d) Do one of the following:
-0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.
+ 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.
-1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version.
+ 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version.
-e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.)
+ e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.)
-5. Combined Libraries.
+5. Combined Libraries.
You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following:
-a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License.
+ a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License.
-b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.
+ b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.
-6. Revised Versions of the GNU Lesser General Public License.
+6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation.
-If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library.
+If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library.
\ No newline at end of file
diff --git a/options/license/LGPLLR b/options/license/LGPLLR
new file mode 100644
index 0000000..2372611
--- /dev/null
+++ b/options/license/LGPLLR
@@ -0,0 +1,89 @@
+Lesser General Public License For Linguistic Resources
+
+Preamble
+
+The licenses for most data are designed to take away your freedom to share and change it. By contrast, this License is intended to guarantee your freedom to share and change free data--to make sure the data are free for all their users.
+
+This License, the Lesser General Public License for Linguistic Resources, applies to some specially designated linguistic resources -- typically lexicons and grammars.
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License Agreement applies to any Linguistic Resource which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License for Linguistic Resources (also called "this License"). Each licensee is addressed as "you".
+
+A "linguistic resource" means a collection of data about language prepared so as to be used with application programs.
+
+The "Linguistic Resource", below, refers to any such work which has been distributed under these terms. A "work based on the Linguistic Resource" means either the Linguistic Resource or any derivative work under copyright law: that is to say, a work containing the Linguistic Resource or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".)
+
+"Legible form" for a linguistic resource means the preferred form of the resource for making modifications to it.
+
+Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Linguistic Resource is not restricted, and output from such a program is covered only if its contents constitute a work based on the Linguistic Resource (independent of the use of the Linguistic Resource in a tool for writing it). Whether that is true depends on what the program that uses the Linguistic Resource does.
+
+1. You may copy and distribute verbatim copies of the Linguistic Resource as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Linguistic Resource.
+
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Linguistic Resource or any portion of it, thus forming a work based on the Linguistic Resource, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a linguistic resource.
+
+ b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.
+
+These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Linguistic Resource, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Linguistic Resource, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Linguistic Resource.
+
+In addition, mere aggregation of another work not based on the Linguistic Resource with the Linguistic Resource (or with a work based on the Linguistic Resource) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+
+3. A program that contains no derivative of any portion of the Linguistic Resource, but is designed to work with the Linguistic Resource (or an encrypted form of the Linguistic Resource) by reading it or being compiled or linked with it, is called a "work that uses the Linguistic Resource". Such a work, in isolation, is not a derivative work of the Linguistic Resource, and therefore falls outside the scope of this License.
+
+However, combining a "work that uses the Linguistic Resource" with the Linguistic Resource (or an encrypted form of the Linguistic Resource) creates a package that is a derivative of the Linguistic Resource (because it contains portions of the Linguistic Resource), rather than a "work that uses the Linguistic Resource". If the package is a derivative of the Linguistic Resource, you may distribute the package under the terms of Section 4. Any works containing that package also fall under Section 4.
+
+4. As an exception to the Sections above, you may also combine a "work that uses the Linguistic Resource" with the Linguistic Resource (or an encrypted form of the Linguistic Resource) to produce a package containing portions of the Linguistic Resource, and distribute that package under terms of your choice, provided that the terms permit modification of the package for the customer's own use and reverse engineering for debugging such modifications.
+
+You must give prominent notice with each copy of the package that the Linguistic Resource is used in it and that the Linguistic Resource and its use are covered by this License. You must supply a copy of this License. If the package during execution displays copyright notices, you must include the copyright notice for the Linguistic Resource among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:
+
+ a) Accompany the package with the complete corresponding machine-readable legible form of the Linguistic Resource including whatever changes were used in the package (which must be distributed under Sections 1 and 2 above); and, if the package contains an encrypted form of the Linguistic Resource, with the complete machine-readable "work that uses the Linguistic Resource", as object code and/or source code, so that the user can modify the Linguistic Resource and then encrypt it to produce a modified package containing the modified Linguistic Resource.
+
+ b) Use a suitable mechanism for combining with the Linguistic Resource. A suitable mechanism is one that will operate properly with a modified version of the Linguistic Resource, if the user installs one, as long as the modified version is interface-compatible with the version that the package was made with.
+
+ c) Accompany the package with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 4a, above, for a charge no more than the cost of performing this distribution.
+
+ d) If distribution of the package is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.
+
+If the package includes an encrypted form of the Linguistic Resource, the required form of the "work that uses the Linguistic Resource" must include any data and utility programs needed for reproducing the package from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+
+It may happen that this requirement contradicts the license restrictions of proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Linguistic Resource together in a package that you distribute.
+
+5. You may not copy, modify, sublicense, link with, or distribute the Linguistic Resource except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Linguistic Resource is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+6. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Linguistic Resource or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Linguistic Resource (or any work based on the Linguistic Resource), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Linguistic Resource or works based on it.
+
+7. Each time you redistribute the Linguistic Resource (or any work based on the Linguistic Resource), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Linguistic Resource subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License.
+
+8. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Linguistic Resource at all. For example, if a patent license would not permit royalty-free redistribution of the Linguistic Resource by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Linguistic Resource.
+
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free resource distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of data distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute resources through any other system and a licensee cannot impose that choice.
+
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+
+9. If the distribution and/or use of the Linguistic Resource is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Linguistic Resource under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+
+10. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License for Linguistic Resources from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Linguistic Resource specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Linguistic Resource does not specify a license version number, you may choose any version ever published by the Free Software Foundation.
+
+11. If you wish to incorporate parts of the Linguistic Resource into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission.
+
+ NO WARRANTY
+
+12. BECAUSE THE LINGUISTIC RESOURCE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LINGUISTIC RESOURCE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LINGUISTIC RESOURCE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LINGUISTIC RESOURCE IS WITH YOU. SHOULD THE LINGUISTIC RESOURCE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+13. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LINGUISTIC RESOURCE AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LINGUISTIC RESOURCE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LINGUISTIC RESOURCE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
\ No newline at end of file
diff --git a/options/license/LPL-1.0 b/options/license/LPL-1.0
new file mode 100644
index 0000000..ae6edf0
--- /dev/null
+++ b/options/license/LPL-1.0
@@ -0,0 +1,81 @@
+Lucent Public License Version 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+ a. in the case of <;match=.+>> ("<;match=.+>>"), the Original Program, and
+ b. in the case of each Contributor,
+
+ i. changes to the Program, and
+ ii. additions to the Program; where such changes and/or additions to the Program originate from and are "Contributed" by that particular Contributor.
+
+ A Contribution is "Contributed" by a Contributor only (i) if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf, and (ii) the Contributor explicitly consents, in accordance with Section 3C, to characterization of the changes and/or additions as Contributions. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
+
+"Contributor" means <;match=.+>> and any other entity that has Contributed a Contribution to the Program.
+
+"Distributor" means a Recipient that distributes the Program, modifications to the Program, or any part thereof.
+
+"Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+"Original Program" means the original version of the software accompanying this Agreement as released by <;match=.+>>, including source code, object code and documentation, if any.
+
+"Program" means the Original Program and Contributions or any part thereof
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+ a. Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+ b. Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. The patent license granted by a Contributor shall also apply to the combination of the Contribution of that Contributor and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license granted by a Contributor shall not apply to (i) any other combinations which include the Contribution, nor to (ii) Contributions of other Contributors. No hardware per se is licensed hereunder.
+
+ c. Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+ d. Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+ A. Distributor may choose to distribute the Program in any form under this Agreement or under its own license agreement, provided that:
+
+ 1. it complies with the terms and conditions of this Agreement;
+ 2. if the Program is distributed in source code or other tangible form, a copy of this Agreement or Distributor's own license agreement is included with each copy of the Program; and
+ 3. if distributed under Distributor's own license agreement, such license agreement:
+
+ a. effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
+ b. effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; and
+ c. states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party.
+
+ B. Each Distributor must include the following in a conspicuous location in the Program:
+
+ Copyright (C) <, ;match=.+>> and others. All Rights Reserved.
+
+ C. In addition, each Contributor must identify itself as the originator of its Contribution, if any, and indicate its consent to characterization of its additions and/or changes as a Contribution, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. Once consent is granted, it may not thereafter be revoked.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Distributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for Contributors. Therefore, if a Distributor includes the Program in a commercial product offering, such Distributor ("Commercial Distributor") hereby agrees to defend and indemnify every Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Distributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Distributor in writing of such claim, and b) allow the Commercial Distributor to control, and cooperate with the Commercial Distributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Distributor might include the Program in a commercial product offering, Product X. That Distributor is then a Commercial Distributor. If that Commercial Distributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Distributor's responsibility alone. Under this section, the Commercial Distributor would have to defend claims against the Contributors related to those performance claims and warranties, and if a court requires any Contributor to pay any damages as a result, the Commercial Distributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+<;match=.+>> may publish new versions (including revisions) of this Agreement from time to time. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. No one other than <;match=.+>> has the right to modify this Agreement. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of <;match=.+>> and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
\ No newline at end of file
diff --git a/options/license/LPL-1.02 b/options/license/LPL-1.02
new file mode 100644
index 0000000..ce002a0
--- /dev/null
+++ b/options/license/LPL-1.02
@@ -0,0 +1,85 @@
+Lucent Public License Version 1.02
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+ a. in the case of Lucent Technologies Inc. ("LUCENT"), the Original Program, and
+ b. in the case of each Contributor,
+
+ i. changes to the Program, and
+ ii. additions to the Program;
+
+ where such changes and/or additions to the Program were added to the Program by such Contributor itself or anyone acting on such Contributor's behalf, and the Contributor explicitly consents, in accordance with Section 3C, to characterization of the changes and/or additions as Contributions.
+
+"Contributor" means LUCENT and any other entity that has Contributed a Contribution to the Program.
+
+"Distributor" means a Recipient that distributes the Program, modifications to the Program, or any part thereof.
+
+"Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+"Original Program" means the original version of the software accompanying this Agreement as released by LUCENT, including source code, object code and documentation, if any.
+
+"Program" means the Original Program and Contributions or any part thereof
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+ a. Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+ b. Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. The patent license granted by a Contributor shall also apply to the combination of the Contribution of that Contributor and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license granted by a Contributor shall not apply to (i) any other combinations which include the Contribution, nor to (ii) Contributions of other Contributors. No hardware per se is licensed hereunder.
+
+ c. Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+ d. Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+ A. Distributor may choose to distribute the Program in any form under this Agreement or under its own license agreement, provided that:
+
+ 1. it complies with the terms and conditions of this Agreement;
+ 2. if the Program is distributed in source code or other tangible form, a copy of this Agreement or Distributor's own license agreement is included with each copy of the Program; and
+ 3. if distributed under Distributor's own license agreement, such license agreement:
+
+ a. effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
+ b. effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; and
+ c. states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party.
+
+ B. Each Distributor must include the following in a conspicuous location in the Program:
+
+ Copyright (C) 2003, Lucent Technologies Inc. and others. All Rights Reserved.
+
+ C. In addition, each Contributor must identify itself as the originator of its Contribution in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. Also, each Contributor must agree that the additions and/or changes are intended to be a Contribution. Once a Contribution is contributed, it may not thereafter be revoked.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Distributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for Contributors. Therefore, if a Distributor includes the Program in a commercial product offering, such Distributor ("Commercial Distributor") hereby agrees to defend and indemnify every Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Distributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Distributor in writing of such claim, and b) allow the Commercial Distributor to control, and cooperate with the Commercial Distributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Distributor might include the Program in a commercial product offering, Product X. That Distributor is then a Commercial Distributor. If that Commercial Distributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Distributor's responsibility alone. Under this section, the Commercial Distributor would have to defend claims against the Contributors related to those performance claims and warranties, and if a court requires any Contributor to pay any damages as a result, the Commercial Distributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. EXPORT CONTROL
+
+Recipient agrees that Recipient alone is responsible for compliance with the United States export administration regulations (and the export control laws and regulation of any other countries).
+
+8. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+LUCENT may publish new versions (including revisions) of this Agreement from time to time. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. No one other than LUCENT has the right to modify this Agreement. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
\ No newline at end of file
diff --git a/options/license/LPPL-1.0 b/options/license/LPPL-1.0
new file mode 100644
index 0000000..324fc05
--- /dev/null
+++ b/options/license/LPPL-1.0
@@ -0,0 +1,103 @@
+LaTeX Project Public License
+
+LPPL Version 1.0 1999-03-01
+
+Copyright 1999 LaTeX3 Project
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but modification is not allowed.
+
+Preamble
+
+The LaTeX Project Public License (LPPL) is the license under which the base LaTeX distribution is distributed. As described below you may use this licence for any software that you wish to distribute.
+
+It may be particularly suitable if your software is TeX related (such as a LaTeX package file) but it may be used for any software, even if it is unrelated to TeX.
+
+To use this license, the files of your distribution should have an explicit copyright notice giving your name and the year, together with a reference to this license.
+
+A typical example would be
+
+ %% pig.sty %% Copyright 2001 M. Y. Name
+
+ % This program can redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or (at your option) any later version.
+
+Given such a notice in the file, the conditions of this document would apply, with:
+
+`The Program' referring to the software `pig.sty' and `The Copyright Holder' referring to the person `M. Y. Name'.
+
+To see a real example, see the file legal.txt which carries the copyright notice for the base latex distribution.
+
+This license gives terms under which files of The Program may be distributed and modified. Individual files may have specific further constraints on modification, but no file should have restrictions on distribution other than those specified below.
+
+This is to ensure that a distributor wishing to distribute a complete unmodified copy of The Program need only check the conditions in this file, and does not need to check every file in The Program for extra restrictions. If you do need to modify the distribution terms of some files, do not refer to this license, instead distribute The Program under a different license. You may use the parts of the text of LPPL as a model for your own license, but your license should not directly refer to the LPPL or otherwise give the impression that The Program is distributed under the LPPL.
+
+ The LaTeX Project Public License
+================================
+Terms And Conditions For Copying, Distribution And Modification
+===============================================================
+
+
+WARRANTY
+========
+
+There is no warranty for The Program, to the extent permitted by applicable law. Except when otherwise stated in writing, The Copyright Holder provides The Program `as is' without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the program is with you. Should The Program prove defective, you assume the cost of all necessary servicing, repair or correction.
+
+In no event unless required by applicable law or agreed to in writing will The Copyright Holder, or any of the individual authors named in the source for The Program, be liable to you for damages, including any general, special, incidental or consequential damages arising out of any use of The Program or out of inability to use The Program (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or by third parties as a result of a failure of The Program to operate with any other programs), even if such holder or other party has been advised of the possibility of such damages.
+
+
+DISTRIBUTION
+============
+
+Redistribution of unchanged files is allowed provided that all files that make up the distribution of The Program are distributed. In particular this means that The Program has to be distributed including its documentation if documentation was part of the original distribution.
+
+The distribution of The Program will contain a prominent file listing all the files covered by this license.
+
+If you receive only some of these files from someone, complain!
+
+The distribution of changed versions of certain files included in the The Program, and the reuse of code from The Program, are allowed under the following restrictions:
+
+ * It is allowed only if the legal notice in the file does not expressly forbid it. See note below, under "Conditions on individual files".
+
+ * You rename the file before you make any changes to it, unless the file explicitly says that renaming is not required. Any such changed files must be distributed under a license that forbids distribution of those files, and any files derived from them, under the names used by the original files in the distribution of The Program.
+
+ * You change any `identification string' in The Program to clearly indicate that the file is not part of the standard system.
+
+ * If The Program includes an `error report address' so that errors may be reported to The Copyright Holder, or other specified addresses, this address must be changed in any modified versions of The Program, so that reports for files not maintained by the original program maintainers are directed to the maintainers of the changed files.
+
+ * You acknowledge the source and authorship of the original version in the modified file.
+
+ * You also distribute the unmodified version of the file or alternatively provide sufficient information so that the user of your modified file can be reasonably expected to be able to obtain an original, unmodified copy of The Program. For example, you may specify a URL to a site that you expect will freely provide the user with a copy of The Program (either the version on which your modification is based, or perhaps a later version).
+
+ * If The Program is intended to be used with, or is based on, LaTeX, then files with the following file extensions which have special meaning in LaTeX Software, have special modification rules under the license:
+
+ - Files with extension `.ins' (installation files): these files may not be modified at all because they contain the legal notices that are placed in the generated files.
+
+ - Files with extension `.fd' (LaTeX font definitions files): these files are allowed to be modified without changing the name, but only to enable use of all available fonts and to prevent attempts to access unavailable fonts. However, modified files are not allowed to be distributed in place of original files.
+
+ - Files with extension `.cfg' (configuration files): these files can be created or modified to enable easy configuration of the system. The documentation in cfgguide.tex in the base LaTeX distribution describes when it makes sense to modify or generate such files.
+
+The above restrictions are not intended to prohibit, and hence do not apply to, the updating, by any method, of a file so that it becomes identical to the latest version of that file in The Program.
+
+========================================================================
+
+NOTES
+=====
+
+We believe that these requirements give you the freedom you to make modifications that conform with whatever technical specifications you wish, whilst maintaining the availability, integrity and reliability of The Program. If you do not see how to achieve your goal whilst adhering to these requirements then read the document cfgguide.tex in the base LaTeX distribution for suggestions.
+
+Because of the portability and exchangeability aspects of systems like LaTeX, The LaTeX3 Project deprecates the distribution of non-standard versions of components of LaTeX or of generally available contributed code for them but such distributions are permitted under the above restrictions.
+
+The document modguide.tex in the base LaTeX distribution details the reasons for the legal requirements detailed above. Even if The Program is unrelated to LaTeX, the argument in modguide.tex may still apply, and should be read before a modified version of The Program is distributed.
+
+Conditions on individual files
+==============================
+
+The individual files may bear additional conditions which supersede the general conditions on distribution and modification contained in this file. If there are any such files, the distribution of The Program will contain a prominent file that lists all the exceptional files.
+
+Typical examples of files with more restrictive modification conditions would be files that contain the text of copyright notices.
+
+ * The conditions on individual files differ only in the extent of *modification* that is allowed.
+
+ * The conditions on *distribution* are the same for all the files. Thus a (re)distributor of a complete, unchanged copy of The Program need meet only the conditions in this file; it is not necessary to check the header of every file in the distribution to check that a distribution meets these requirements.
\ No newline at end of file
diff --git a/options/license/LPPL-1.1 b/options/license/LPPL-1.1
new file mode 100644
index 0000000..bd95cea
--- /dev/null
+++ b/options/license/LPPL-1.1
@@ -0,0 +1,141 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.1 1999-07-10
+
+Copyright 1999 LaTeX3 Project
+
+Everyone is allowed to distribute verbatim copies of this license document, but modification of it is not allowed.
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the license under which the base LaTeX distribution is distributed.
+
+You may use this license for any program that you have written and wish to distribute. This license may be particularly suitable if your program is TeX-related (such as a LaTeX package), but you may use it even if your program is unrelated to TeX. The section `WHETHER AND HOW TO DISTRIBUTE PROGRAMS UNDER THIS LICENSE', below, gives instructions, examples, and recommendations for authors who are considering distributing their programs under this license.
+
+In this license document, `The Program' refers to any program distributed under this license.
+
+This license gives conditions under which The Program may be distributed and conditions under which modified versions of The Program may be distributed. Individual files of The Program may bear supplementary and/or superseding conditions on modification of themselves and on the distribution of modified versions of themselves, but *no* file of The Program may bear supplementary or superseding conditions on the distribution of an unmodified copy of the file. A distributor wishing to distribute a complete, unmodified copy of The Program therefore needs to check the conditions only in this license and nowhere else.
+
+Activities other than distribution and/or modification of The Program are not covered by this license; they are outside its scope. In particular, the act of running The Program is not restricted.
+
+We, the LaTeX3 Project, believe that the conditions below give you the freedom to make and distribute modified versions of The Program that conform with whatever technical specifications you wish while maintaining the availability, integrity, and reliability of The Program. If you do not see how to achieve your goal while meeting these conditions, then read the document `cfgguide.tex' in the base LaTeX distribution for suggestions.
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+You may distribute a complete, unmodified copy of The Program. Distribution of only part of The Program is not allowed.
+
+You may not modify in any way a file of The Program that bears a legal notice forbidding modification of that file.
+
+You may distribute a modified file of The Program if, and only if, the following eight conditions are met:
+
+ 1. You must meet any additional conditions borne by the file on the distribution of a modified version of the file as described below in the subsection `Additional Conditions on Individual Files of The Program'.
+
+ 2. If the file is a LaTeX software file, then you must meet any applicable additional conditions on the distribution of a modified version of the file that are described below in the subsection `Additional Conditions on LaTeX Software Files'.
+
+ 3. You must not distribute the modified file with the filename of the original file.
+
+ 4. In the modified file, you must acknowledge the authorship and name of the original file, and the name (if any) of the program which contains it.
+
+ 5. You must change any identification string in the file to indicate clearly that the modified file is not part of The Program.
+
+ 6. You must change any addresses in the modified file for the reporting of errors in the file or in The Program generally to ensure that reports for files no longer maintained by the original maintainers will be directed to the maintainers of the modified files.
+
+ 7. You must distribute the modified file under a license that forbids distribution both of the modified file and of any files derived from the modified file with the filename of the original file.
+
+ 8. You must do either (A) or (B):
+
+ (A) distribute a copy of The Program (that is, a complete, unmodified copy of The Program) together with the modified file; if your distribution of the modified file is made by offering access to copy the modified file from a designated place, then offering equivalent access to copy The Program from the same place meets this condition, even though third parties are not compelled to copy The Program along with the modified file;
+
+ (B) provide to those who receive the modified file information that is sufficient for them to obtain a copy of The Program; for example, you may provide a Uniform Resource Locator (URL) for a site that you expect will provide them with a copy of The Program free of charge (either the version from which your modification is derived, or perhaps a later version).
+
+Note that in the above, `distribution' of a file means making the file available to others by any means. This includes, for instance, installing the file on any machine in such a way that the file is accessible by users other than yourself. `Modification' of a file means any procedure that produces a derivative file under any applicable law -- that is, a file containing the original file or a significant portion of it, either verbatim or with modifications and/or translated into another language.
+
+Changing the name of a file is considered to be a modification of the file.
+
+The distribution conditions in this license do not have to be applied to files that have been modified in accordance with the above conditions. Note, however, that Condition 7. does apply to any such modified file.
+
+The conditions above are not intended to prohibit, and hence do not apply to, the updating, by any method, of a file so that it becomes identical to the latest version of that file of The Program.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a file of The Program, even for your own personal use, without also meeting the above eight conditions for distributing the modified file. While you might intend that such modified files will never be distributed, often this will happen by accident -- you may forget that you have modified the file; or it may not occur to you when allowing others to access the modified file that you are thus distributing it and violating the conditions of this license. It is usually in your best interest to keep your copy of The Program identical with the public one. Many programs provide ways to control the behavior of that program without altering its licensed files.
+
+Additional Conditions on Individual Files of The Program
+--------------------------------------------------------
+
+An individual file of The Program may bear additional conditions that supplement and/or supersede the conditions in this license if, and only if, such additional conditions exclusively concern modification of the file or distribution of a modified version of the file. The conditions on individual files of The Program therefore may differ only with respect to the kind and extent of modification of those files that is allowed, and with respect to the distribution of modified versions of those files.
+
+Additional Conditions on LaTeX Software Files
+---------------------------------------------
+
+If a file of The Program is intended to be used with LaTeX (that is, if it is a LaTeX software file), then the following additional conditions, which supplement and/or supersede the conditions above, apply to the file according to its filename extension:
+
+ - You may not modify any file with filename extension `.ins' since these are installation files containing the legal notices that are placed in the files they generate.
+
+ - You may distribute modified versions of files with filename extension `.fd' (LaTeX font definition files) under the standard conditions of the LPPL as described above. You may also distribute such modified LaTeX font definition files with their original names provided that:
+ (1) the only changes to the original files either enable use of available fonts or prevent attempts to access unavailable fonts;
+ (2) you also distribute the original, unmodified files (TeX input paths can be used to control which set of LaTeX font definition files is actually used by TeX).
+
+ - You may distribute modified versions of files with filename extension `.cfg' (configuration files) with their original names. The Program may (and usually will) specify the range of commands that are allowed in a particular configuration file.
+
+Because of portability and exchangeability issues in LaTeX software, The LaTeX3 Project deprecates the distribution of modified versions of components of LaTeX or of generally available contributed code for them, but such distribution can meet the conditions of this license.
+
+NO WARRANTY
+===========
+
+There is no warranty for The Program. Except when otherwise stated in writing, The Copyright Holder provides The Program `as is', without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of The Program is with you. Should The Program prove defective, you assume the cost of all necessary servicing, repair, or correction.
+
+In no event unless agreed to in writing will The Copyright Holder, or any author named in the files of The Program, or any other party who may distribute and/or modify The Program as permitted below, be liable to you for damages, including any general, special, incidental or consequential damages arising out of any use of The Program or out of inability to use The Program (including, but not limited to, loss of data, data being rendered inaccurate, or losses sustained by anyone as a result of any failure of The Program to operate with any other programs), even if The Copyright Holder or said author or said other party has been advised of the possibility of such damages.
+
+WHETHER AND HOW TO DISTRIBUTE PROGRAMS UNDER THIS LICENSE
+=========================================================
+
+This section contains important instructions, examples, and recommendations for authors who are considering distributing their programs under this license. These authors are addressed as `you' in this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your program you want or need to use *distribution* conditions that differ from those in this license, then do not refer to this license anywhere in your program but instead distribute your program under a different license. You may use the text of this license as a model for your own license, but your license should not refer to the LPPL or otherwise give the impression that your program is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains the motivation behind the conditions of this license. It explains, for example, why distributing LaTeX under the GNU General Public License (GPL) was considered inappropriate. Even if your program is unrelated to LaTeX, the discussion in `modguide.tex' may still be relevant, and authors intending to distribute their programs under any license are encouraged to read it.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the files of your program both an explicit copyright notice including your name and the year and also a statement that the distribution and/or modification of the file is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2001 M. Y. Name
+ %
+ % This program may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.1
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in % http://www.latex-project.org/lppl.txt
+ % and version 1.1 or later is part of all distributions of LaTeX % version 1999/06/01 or later.
+ %
+ % This program consists of the files pig.dtx and pig.ins
+
+Given such a notice and statement in a file, the conditions given in this license document would apply, with `The Program' referring to the two files `pig.dtx' and `pig.ins', and `The Copyright Holder' referring to the person `M. Y. Name'.
+
+Important Recommendations
+-------------------------
+
+Defining What Constitutes The Program
+
+The LPPL requires that distributions of The Program contain all the files of The Program. It is therefore important that you provide a way for the licensee to determine which files constitute The Program. This could, for example, be achieved by explicitly listing all the files of The Program near the copyright notice of each file or by using a line like
+
+ % This program consists of all files listed in manifest.txt.
+
+in that place. In the absence of an unequivocal list it might be impossible for the licensee to determine what is considered by you to comprise The Program.
+
+Noting Exceptional Files
+
+If The Program contains any files bearing additional conditions on modification, or on distribution of modified versions, of those files (other than those listed in `Additional Conditions on LaTeX Software Files'), then it is recommended that The Program contain a prominent file that defines the exceptional conditions, and either lists the exceptional files or defines one or more categories of exceptional files.
+
+Files containing the text of a license (such as this file) are often examples of files bearing more restrictive conditions on modification. LaTeX configuration files (with filename extension `.cfg') are examples of files bearing less restrictive conditions on the distribution of a modified version of the file. The additional conditions on LaTeX software given above are examples of declaring a category of files bearing exceptional additional conditions.
\ No newline at end of file
diff --git a/options/license/LPPL-1.2 b/options/license/LPPL-1.2
new file mode 100644
index 0000000..0728188
--- /dev/null
+++ b/options/license/LPPL-1.2
@@ -0,0 +1,140 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.2 1999-09-03
+
+Copyright 1999 LaTeX3 Project
+
+Everyone is allowed to distribute verbatim copies of this license document, but modification of it is not allowed.
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the license under which the base LaTeX distribution is distributed.
+
+You may use this license for any program that you have written and wish to distribute. This license may be particularly suitable if your program is TeX-related (such as a LaTeX package), but you may use it even if your program is unrelated to TeX. The section `WHETHER AND HOW TO DISTRIBUTE PROGRAMS UNDER THIS LICENSE', below, gives instructions, examples, and recommendations for authors who are considering distributing their programs under this license.
+
+In this license document, `The Program' refers to any program distributed under this license.
+
+This license gives conditions under which The Program may be distributed and conditions under which modified versions of The Program may be distributed. Individual files of The Program may bear supplementary and/or superseding conditions on modification of themselves and on the distribution of modified versions of themselves, but *no* file of The Program may bear supplementary or superseding conditions on the distribution of an unmodified copy of the file. A distributor wishing to distribute a complete, unmodified copy of The Program therefore needs to check the conditions only in this license and nowhere else.
+
+Activities other than distribution and/or modification of The Program are not covered by this license; they are outside its scope. In particular, the act of running The Program is not restricted.
+
+We, the LaTeX3 Project, believe that the conditions below give you the freedom to make and distribute modified versions of The Program that conform with whatever technical specifications you wish while maintaining the availability, integrity, and reliability of The Program. If you do not see how to achieve your goal while meeting these conditions, then read the document `cfgguide.tex' in the base LaTeX distribution for suggestions.
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+You may distribute a complete, unmodified copy of The Program. Distribution of only part of The Program is not allowed.
+
+You may not modify in any way a file of The Program that bears a legal notice forbidding modification of that file.
+
+You may distribute a modified file of The Program if, and only if, the following eight conditions are met:
+
+ 1. You must meet any additional conditions borne by the file on the distribution of a modified version of the file as described below in the subsection `Additional Conditions on Individual Files of The Program'.
+
+ 2. If the file is a LaTeX software file, then you must meet any applicable additional conditions on the distribution of a modified version of the file that are described below in the subsection `Additional Conditions on LaTeX Software Files'.
+
+ 3. You must not distribute the modified file with the filename of the original file.
+
+ 4. In the modified file, you must acknowledge the authorship and name of the original file, and the name (if any) of the program which contains it.
+
+ 5. You must change any identification string in the file to indicate clearly that the modified file is not part of The Program.
+
+ 6. You must change any addresses in the modified file for the reporting of errors in the file or in The Program generally to ensure that reports for files no longer maintained by the original maintainers will be directed to the maintainers of the modified files.
+
+ 7. You must distribute the modified file under a license that forbids distribution both of the modified file and of any files derived from the modified file with the filename of the original file.
+
+ 8. You must do either (A) or (B):
+
+ (A) distribute a copy of The Program (that is, a complete, unmodified copy of The Program) together with the modified file; if your distribution of the modified file is made by offering access to copy the modified file from a designated place, then offering equivalent access to copy The Program from the same place meets this condition, even though third parties are not compelled to copy The Program along with the modified file;
+
+ (B) provide to those who receive the modified file information that is sufficient for them to obtain a copy of The Program; for example, you may provide a Uniform Resource Locator (URL) for a site that you expect will provide them with a copy of The Program free of charge (either the version from which your modification is derived, or perhaps a later version).
+
+Note that in the above, `distribution' of a file means making the file available to others by any means. This includes, for instance, installing the file on any machine in such a way that the file is accessible by users other than yourself. `Modification' of a file means any procedure that produces a derivative file under any applicable law -- that is, a file containing the original file or a significant portion of it, either verbatim or with modifications and/or translated into another language.
+
+Changing the name of a file (other than as necessitated by the file conventions of the target file systems) is considered to be a modification of the file.
+
+The distribution conditions in this license do not have to be applied to files that have been modified in accordance with the above conditions. Note, however, that Condition 7. does apply to any such modified file.
+
+The conditions above are not intended to prohibit, and hence do not apply to, the updating, by any method, of a file so that it becomes identical to the latest version of that file of The Program.
+
+
+A Recommendation on Modification Without Distribution -----------------------------------------------------
+
+It is wise never to modify a file of The Program, even for your own personal use, without also meeting the above eight conditions for distributing the modified file. While you might intend that such modified files will never be distributed, often this will happen by accident -- you may forget that you have modified the file; or it may not occur to you when allowing others to access the modified file that you are thus distributing it and violating the conditions of this license. It is usually in your best interest to keep your copy of The Program identical with the public one. Many programs provide ways to control the behavior of that program without altering its licensed files.
+
+Additional Conditions on Individual Files of The Program --------------------------------------------------------
+
+An individual file of The Program may bear additional conditions that supplement and/or supersede the conditions in this license if, and only if, such additional conditions exclusively concern modification of the file or distribution of a modified version of the file. The conditions on individual files of The Program therefore may differ only with respect to the kind and extent of modification of those files that is allowed, and with respect to the distribution of modified versions of those files.
+
+Additional Conditions on LaTeX Software Files
+---------------------------------------------
+
+If a file of The Program is intended to be used with LaTeX (that is, if it is a LaTeX software file), then the following additional conditions, which supplement and/or supersede the conditions above, apply to the file according to its filename extension:
+
+ - You may not modify any file with filename extension `.ins' since these are installation files containing the legal notices that are placed in the files they generate.
+
+ - You may distribute modified versions of files with filename extension `.fd' (LaTeX font definition files) under the standard conditions of the LPPL as described above. You may also distribute such modified LaTeX font definition files with their original names provided that:
+ (1) the only changes to the original files either enable use of available fonts or prevent attempts to access unavailable fonts;
+ (2) you also distribute the original, unmodified files (TeX input paths can be used to control which set of LaTeX font definition files is actually used by TeX).
+
+ - You may distribute modified versions of files with filename extension `.cfg' (configuration files) with their original names. The Program may (and usually will) specify the range of commands that are allowed in a particular configuration file.
+
+Because of portability and exchangeability issues in LaTeX software, The LaTeX3 Project deprecates the distribution of modified versions of components of LaTeX or of generally available contributed code for them, but such distribution can meet the conditions of this license.
+
+NO WARRANTY
+===========
+
+There is no warranty for The Program. Except when otherwise stated in writing, The Copyright Holder provides The Program `as is', without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of The Program is with you. Should The Program prove defective, you assume the cost of all necessary servicing, repair, or correction.
+
+In no event unless agreed to in writing will The Copyright Holder, or any author named in the files of The Program, or any other party who may distribute and/or modify The Program as permitted above, be liable to you for damages, including any general, special, incidental or consequential damages arising out of any use of The Program or out of inability to use The Program (including, but not limited to, loss of data, data being rendered inaccurate, or losses sustained by anyone as a result of any failure of The Program to operate with any other programs), even if The Copyright Holder or said author or said other party has been advised of the possibility of such damages.
+
+WHETHER AND HOW TO DISTRIBUTE PROGRAMS UNDER THIS LICENSE =========================================================
+
+This section contains important instructions, examples, and recommendations for authors who are considering distributing their programs under this license. These authors are addressed as `you' in this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your program you want or need to use *distribution* conditions that differ from those in this license, then do not refer to this license anywhere in your program but instead distribute your program under a different license. You may use the text of this license as a model for your own license, but your license should not refer to the LPPL or otherwise give the impression that your program is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains the motivation behind the conditions of this license. It explains, for example, why distributing LaTeX under the GNU General Public License (GPL) was considered inappropriate. Even if your program is unrelated to LaTeX, the discussion in `modguide.tex' may still be relevant, and authors intending to distribute their programs under any license are encouraged to read it.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the files of your program both an explicit copyright notice including your name and the year and also a statement that the distribution and/or modification of the file is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2001 M. Y. Name
+ %
+ % This program may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.2
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.2 or later is part of all distributions of LaTeX
+ % version 1999/12/01 or later.
+ %
+ % This program consists of the files pig.dtx and pig.ins
+
+Given such a notice and statement in a file, the conditions given in this license document would apply, with `The Program' referring to the two files `pig.dtx' and `pig.ins', and `The Copyright Holder' referring to the person `M. Y. Name'.
+
+Important Recommendations
+-------------------------
+
+Defining What Constitutes The Program
+
+The LPPL requires that distributions of The Program contain all the files of The Program. It is therefore important that you provide a way for the licensee to determine which files constitute The Program. This could, for example, be achieved by explicitly listing all the files of The Program near the copyright notice of each file or by using a line like
+
+ % This program consists of all files listed in manifest.txt.
+
+in that place. In the absence of an unequivocal list it might be impossible for the licensee to determine what is considered by you to comprise The Program.
+
+Noting Exceptional Files If The Program contains any files bearing additional conditions on modification, or on distribution of modified versions, of those files (other than those listed in `Additional Conditions on LaTeX Software Files'), then it is recommended that The Program contain a prominent file that defines the exceptional conditions, and either lists the exceptional files or defines one or more categories of exceptional files.
+
+Files containing the text of a license (such as this file) are often examples of files bearing more restrictive conditions on modification. LaTeX configuration files (with filename extension `.cfg') are examples of files bearing less restrictive conditions on the distribution of a modified version of the file. The additional conditions on LaTeX software given above are examples of declaring a category of files bearing exceptional additional conditions.
+
diff --git a/options/license/LPPL-1.3a b/options/license/LPPL-1.3a
new file mode 100644
index 0000000..37cdd13
--- /dev/null
+++ b/options/license/LPPL-1.3a
@@ -0,0 +1,176 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3a 2004-10-01
+
+Copyright 1999 2002-04 LaTeX3
+Project Everyone is allowed to distribute verbatim copies of this license document, but modification of it is not allowed.
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under which the the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright and which you wish to distribute. This license may be particularly suitable if your work is TeX-related (such as a LaTeX package), but you may use it with small modifications even if your work is unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE', below, gives instructions, examples, and recommendations for authors who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed and modified, as well as conditions under which modified versions of that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you the freedom to make and distribute modified versions of your work that conform with whatever technical specifications you wish while maintaining the availability, integrity, and reliability of that work. If you do not see how to achieve your goal while meeting these conditions, then read the document `cfgguide.tex' and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+`Work' Any work being distributed under this License. `Derived Work' Any work that under any applicable law is derived from the Work.
+
+`Modification' Any procedure that produces a Derived Work under any applicable law -- for example, the production of a file containing an original file associated with the Work or a significant portion of such a file, either verbatim or with modifications and/or translated into another language.
+
+`Modify' To apply any procedure that produces a Derived Work under any applicable law. `Distribution' Making copies of the Work available from one person to another, in whole or in part. Distribution includes (but is not limited to) making any electronic components of the Work accessible by file transfer protocols such as FTP or HTTP or by shared file systems such as Sun's Network File System (NFS).
+
+`Compiled Work' A version of the Work that has been processed into a form where it is directly usable on a computer system. This processing may include using installation facilities provided by the Work, transformations of the Work, copying of components of the Work, or other activities. Note that modification of any installation facilities provided by the Work constitutes modification of the Work.
+
+`Current Maintainer' A person or persons nominated as such within the Work. If there is no such explicit nomination then it is the `Copyright Holder' under any applicable law.
+
+`Base Interpreter' A program or process that is normally needed for running or interpreting a part or the whole of the Work. A Base Interpreter may depend on external components but these are not considered part of the Base Interpreter provided that each external component clearly identifies itself whenever it is used interactively. Unless explicitly specified when applying the license to the Work, the only applicable Base Interpreter is a "LaTeX-Format".
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work are not covered by this license; they are outside its scope. In particular, the act of running the Work is not restricted and no requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you received it. Distribution of only part of the Work is considered modification of the Work, and no right to distribute such a Derived Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a complete, unmodified copy of the Work as distributed under Clause 2 above, as long as that Compiled Work is distributed in such a way that the recipients may install the Compiled Work on their system exactly as it would have been installed if they generated a Compiled Work directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without restriction, modify the Work, thus creating a Derived Work. You may also distribute the Derived Work without restriction, including Compiled Works generated from the Derived Work. Derived Works distributed in this manner by the Current Maintainer are considered to be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify your copy of the Work, thus creating a Derived Work based on the Work, and compile this Derived Work, thus creating a Compiled Work based on the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may distribute a Derived Work provided the following conditions are met for every component of the Work unless that component clearly states in the copyright notice that it is exempt from that condition. Only the Current Maintainer is allowed to add such statements of exemption to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement for a component of the Work when that component is used with the Base Interpreter, then, wherever this component of the Work identifies itself to the user when used interactively with that Base Interpreter, the replacement component of this Derived Work clearly and unambiguously identifies itself as a modified version of this component to the user when used interactively with that Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices detailing the nature of the changes to that component, or a prominent reference to another file that is distributed as part of the Derived Work and that contains a complete and accurate log of the changes.
+
+ c. No information in the Derived Work implies that any persons, including (but not limited to) the authors of the original version of the Work, provide any support, including (but not limited to) the reporting and handling of errors, to recipients of the Derived Work unless those persons have stated explicitly that they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work; if your distribution of a modified component is made by offering access to copy the modified component from a designated place, then offering equivalent access to copy the Work from the same or some similar place meets this condition, even though third parties are not compelled to copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete, unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may distribute a Compiled Work generated from a Derived Work, as long as the Derived Work is distributed to all recipients of the Compiled Work, and as long as the conditions of Clause 6, above, are met with regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not apply to, the modification, by any method, of any component so that it becomes identical to an updated version of that component of the Work as it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative format, where the Work or that Derived Work (in whole or in part) is then produced by applying some process to that format, does not relax or nullify any sections of this license as they pertain to the results of applying that process.
+
+10.
+ a. A Derived Work may be distributed under a different license provided that license itself honors the conditions listed in Clause 6 above, in regard to the Work, though it does not have to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under this license, that Derived Work must provide sufficient documentation as part of itself to allow each recipient of that Derived Work to honor the restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to the Work, nor does this license place any restrictions on aggregating such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent complete compliance by all parties with all applicable laws.
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in writing, the Copyright Holder provides the Work `as is', without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the Work is with you. Should the Work prove defective, you assume the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing will The Copyright Holder, or any author named in the components of the Work, or any other party who may distribute and/or modify the Work as permitted above, be liable to you for damages, including any general, special, incidental or consequential damages arising out of any use of the Work or out of inability to use the Work (including, but not limited to, loss of data, data being rendered inaccurate, or losses sustained by anyone as a result of any failure of the Work to operate with any other programs), even if the Copyright Holder or said author or said other party has been advised of the possibility of such damages.
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder explicitly and prominently states near the primary copyright notice in the Work that the Work can only be maintained by the Copyright Holder or simply that is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer who has indicated in the Work that they are willing to receive error reports for the Work (for example, by supplying a valid e-mail address). It is not required for the Current Maintainer to acknowledge or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there is no Current Maintainer, or the person stated to be Current Maintainer of the work cannot be reached through the indicated means of communication for a period of six months, and there are no other significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and the Copyright Holder, if the two differ) through the means of an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active maintenance is taken by the Current Maintainer, then announce within the pertinent community your intention to take over maintenance. (If the Work is a LaTeX work, this could be done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass maintenance of the Work to you, then this takes effect immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright Holder agrees that maintenance of the Work be passed to you, then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above and after three months your intention is challenged neither by the Current Maintainer nor by the Copyright Holder nor by other people, then you may arrange for the Work to be changed so as to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes reachable once more within three months of a change completed under the terms of 3b) or 4), then that Current Maintainer must become or remain the Current Maintainer upon request provided they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should immediately provide, within the Work, a prominent and unambiguous statement of your status as Current Maintainer. You should also announce your new status to the same pertinent community as in 2b) above.
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and recommendations for authors who are considering distributing their works under this license. These authors are addressed as `you' in this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution* conditions that differ significantly from those in this license, then do not refer to this license anywhere in your work but, instead, distribute your work under a different license. You may use the text of this license as a model for your own license, but your license should not refer to the LPPL or otherwise give the impression that your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains the motivation behind the conditions of this license. It explains, for example, why distributing LaTeX under the GNU General Public License (GPL) was considered inappropriate. Even if your work is unrelated to LaTeX, the discussion in `modguide.tex' may still be relevant, and authors intending to distribute their works under any license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own personal use, without also meeting the above conditions for distributing the modified component. While you might intend that such modifications will never be distributed, often this will happen by accident -- you may forget that you have modified that component; or it may not occur to you when allowing others to access the modified version that you are thus distributing it and violating the conditions of this license in ways that could have legal implications and, worse, cause problems for the community. It is therefore usually in your best interest to keep your copy of the Work identical with the public one. Many works provide ways to control the behavior of that work without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both an explicit copyright notice including your name and the year the work was authored and/or last substantially modified. Include also a statement that the distribution and/or modification of that component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2003 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.3 or later is part of all distributions of LaTeX
+ % version 2003/12/01 or later.
+ %
+ % This work has the LPPL maintenance status "maintained".
+ %
+ % This Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions given in this license document would apply, with the `Work' referring to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being generated from `pig.dtx' using `pig.ins'), the `Base Interpreter' referring to any "LaTeX-Format", and both `Copyright Holder' and `Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your Work, change "maintained" above into "author-maintained". However, we recommend that you use "maintained" as the Maintenance section was added in order to ensure that your Work remains useful to the community even when you can no longer maintain and support it yourself.
+
+Important Recommendations
+-------------------------
+
+Defining What Constitutes the Work
+
+The LPPL requires that distributions of the Work contain all the files of the Work. It is therefore important that you provide a way for the licensee to determine which files constitute the Work. This could, for example, be achieved by explicitly listing all the files of the Work near the copyright notice of each file or by using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+in that place. In the absence of an unequivocal list it might be impossible for the licensee to determine what is considered by you to comprise the Work and, in such a case, the licensee would be entitled to make reasonable conjectures as to which files comprise the Work.
+
diff --git a/options/license/LPPL-1.3c b/options/license/LPPL-1.3c
new file mode 100644
index 0000000..60ea951
--- /dev/null
+++ b/options/license/LPPL-1.3c
@@ -0,0 +1,184 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+
+Everyone is allowed to distribute verbatim copies of this license document, but modification of it is not allowed.
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright and which you wish to distribute. This license may be particularly suitable if your work is TeX-related (such as a LaTeX package), but it is written in such a way that you can use it even if your work is unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE', below, gives instructions, examples, and recommendations for authors who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed and modified, as well as conditions under which modified versions of that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you the freedom to make and distribute modified versions of your work that conform with whatever technical specifications you wish while maintaining the availability, integrity, and reliability of that work. If you do not see how to achieve your goal while meeting these conditions, then read the document `cfgguide.tex' and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+`Work' Any work being distributed under this License. `Derived Work' Any work that under any applicable law is derived from the Work.
+
+`Modification' Any procedure that produces a Derived Work under any applicable law -- for example, the production of a file containing an original file associated with the Work or a significant portion of such a file, either verbatim or with modifications and/or translated into another language.
+
+`Modify' To apply any procedure that produces a Derived Work under any applicable law. `Distribution' Making copies of the Work available from one person to another, in whole or in part. Distribution includes (but is not limited to) making any electronic components of the Work accessible by file transfer protocols such as FTP or HTTP or by shared file systems such as Sun's Network File System (NFS).
+
+`Compiled Work' A version of the Work that has been processed into a form where it is directly usable on a computer system. This processing may include using installation facilities provided by the Work, transformations of the Work, copying of components of the Work, or other activities. Note that modification of any installation facilities provided by the Work constitutes modification of the Work.
+
+`Current Maintainer' A person or persons nominated as such within the Work. If there is no such explicit nomination then it is the `Copyright Holder' under any applicable law.
+
+`Base Interpreter' A program or process that is normally needed for running or interpreting a part or the whole of the Work.
+
+A Base Interpreter may depend on external components but these are not considered part of the Base Interpreter provided that each external component clearly identifies itself whenever it is used interactively. Unless explicitly specified when applying the license to the Work, the only applicable Base Interpreter is a `LaTeX-Format' or in the case of files belonging to the `LaTeX-format' a program implementing the `TeX language'.
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work are not covered by this license; they are outside its scope. In particular, the act of running the Work is not restricted and no requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you received it. Distribution of only part of the Work is considered modification of the Work, and no right to distribute such a Derived Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a complete, unmodified copy of the Work as distributed under Clause 2 above, as long as that Compiled Work is distributed in such a way that the recipients may install the Compiled Work on their system exactly as it would have been installed if they generated a Compiled Work directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without restriction, modify the Work, thus creating a Derived Work. You may also distribute the Derived Work without restriction, including Compiled Works generated from the Derived Work. Derived Works distributed in this manner by the Current Maintainer are considered to be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify your copy of the Work, thus creating a Derived Work based on the Work, and compile this Derived Work, thus creating a Compiled Work based on the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may distribute a Derived Work provided the following conditions are met for every component of the Work unless that component clearly states in the copyright notice that it is exempt from that condition. Only the Current Maintainer is allowed to add such statements of exemption to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement for a component of the Work when that component is used with the Base Interpreter, then, wherever this component of the Work identifies itself to the user when used interactively with that Base Interpreter, the replacement component of this Derived Work clearly and unambiguously identifies itself as a modified version of this component to the user when used interactively with that Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices detailing the nature of the changes to that component, or a prominent reference to another file that is distributed as part of the Derived Work and that contains a complete and accurate log of the changes.
+
+ c. No information in the Derived Work implies that any persons, including (but not limited to) the authors of the original version of the Work, provide any support, including (but not limited to) the reporting and handling of errors, to recipients of the Derived Work unless those persons have stated explicitly that they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work; if your distribution of a modified component is made by offering access to copy the modified component from a designated place, then offering equivalent access to copy the Work from the same or some similar place meets this condition, even though third parties are not compelled to copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete, unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may distribute a Compiled Work generated from a Derived Work, as long as the Derived Work is distributed to all recipients of the Compiled Work, and as long as the conditions of Clause 6, above, are met with regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not apply to, the modification, by any method, of any component so that it becomes identical to an updated version of that component of the Work as it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative format, where the Work or that Derived Work (in whole or in part) is then produced by applying some process to that format, does not relax or nullify any sections of this license as they pertain to the results of applying that process.
+
+10.
+ a. A Derived Work may be distributed under a different license provided that license itself honors the conditions listed in Clause 6 above, in regard to the Work, though it does not have to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that Derived Work must provide sufficient documentation as part of itself to allow each recipient of that Derived Work to honor the restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to the Work, nor does this license place any restrictions on aggregating such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent complete compliance by all parties with all applicable laws.
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in writing, the Copyright Holder provides the Work `as is', without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the Work is with you. Should the Work prove defective, you assume the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing will The Copyright Holder, or any author named in the components of the Work, or any other party who may distribute and/or modify the Work as permitted above, be liable to you for damages, including any general, special, incidental or consequential damages arising out of any use of the Work or out of inability to use the Work (including, but not limited to, loss of data, data being rendered inaccurate, or losses sustained by anyone as a result of any failure of the Work to operate with any other programs), even if the Copyright Holder or said author or said other party has been advised of the possibility of such damages.
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder explicitly and prominently states near the primary copyright notice in the Work that the Work can only be maintained by the Copyright Holder or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer who has indicated in the Work that they are willing to receive error reports for the Work (for example, by supplying a valid e-mail address). It is not required for the Current Maintainer to acknowledge or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there is no Current Maintainer, or the person stated to be Current Maintainer of the work cannot be reached through the indicated means of communication for a period of six months, and there are no other significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of the Work through the following steps:
+
+1. Make a reasonable attempt to trace the Current Maintainer (and the Copyright Holder, if the two differ) through the means of an Internet or similar search.
+
+2. If this search is successful, then enquire whether the Work is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active maintenance is taken by the Current Maintainer, then announce within the pertinent community your intention to take over maintenance. (If the Work is a LaTeX work, this could be done, for example, by posting to comp.text.tex.)
+
+3a. If the Current Maintainer is reachable and agrees to pass maintenance of the Work to you, then this takes effect immediately upon announcement.
+
+b. If the Current Maintainer is not reachable and the Copyright Holder agrees that maintenance of the Work be passed to you, then this takes effect immediately upon announcement.
+
+4. If you make an `intention announcement' as described in 2b. above and after three months your intention is challenged neither by the Current Maintainer nor by the Copyright Holder nor by other people, then you may arrange for the Work to be changed so as to name you as the (new) Current Maintainer.
+
+5. If the previously unreachable Current Maintainer becomes reachable once more within three months of a change completed under the terms of 3b) or 4), then that Current Maintainer must become or remain the Current Maintainer upon request provided they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should immediately provide, within the Work, a prominent and unambiguous statement of your status as Current Maintainer. You should also announce your new status to the same pertinent community as in 2b) above.
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and recommendations for authors who are considering distributing their works under this license. These authors are addressed as `you' in this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution* conditions that differ significantly from those in this license, then do not refer to this license anywhere in your work but, instead, distribute your work under a different license. You may use the text of this license as a model for your own license, but your license should not refer to the LPPL or otherwise give the impression that your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains the motivation behind the conditions of this license. It explains, for example, why distributing LaTeX under the GNU General Public License (GPL) was considered inappropriate. Even if your work is unrelated to LaTeX, the discussion in `modguide.tex' may still be relevant, and authors intending to distribute their works under any license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own personal use, without also meeting the above conditions for distributing the modified component. While you might intend that such modifications will never be distributed, often this will happen by accident -- you may forget that you have modified that component; or it may not occur to you when allowing others to access the modified version that you are thus distributing it and violating the conditions of this license in ways that could have legal implications and, worse, cause problems for the community. It is therefore usually in your best interest to keep your copy of the Work identical with the public one. Many works provide ways to control the behavior of that work without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both an explicit copyright notice including your name and the year the work was authored and/or last substantially modified. Include also a statement that the distribution and/or modification of that component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2005 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.3 or later is part of all distributions of LaTeX
+ % version 2005/12/01 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions given in this license document would apply, with the `Work' referring to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being generated from `pig.dtx' using `pig.ins'), the `Base Interpreter' referring to any `LaTeX-Format', and both `Copyright Holder' and `Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your Work, change `maintained' above into `author-maintained'. However, we recommend that you use `maintained', as the Maintenance section was added in order to ensure that your Work remains useful to the community even when you can no longer maintain and support it yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and stability for the user community. They therefore concern themselves with the case that a Derived Work is intended to be used as a (compatible or incompatible) replacement of the original Work. If this is not the case (e.g., if a few lines of code are reused for a completely different task), then clauses 6b and 6d shall not apply.
+
+Important Recommendations
+-------------------------
+
+Defining What Constitutes the Work
+
+The LPPL requires that distributions of the Work contain all the files of the Work. It is therefore important that you provide a way for the licensee to determine which files constitute the Work. This could, for example, be achieved by explicitly listing all the files of the Work near the copyright notice of each file or by using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+in that place. In the absence of an unequivocal list it might be impossible for the licensee to determine what is considered by you to comprise the Work and, in such a case, the licensee would be entitled to make reasonable conjectures as to which files comprise the Work.
\ No newline at end of file
diff --git a/options/license/Latex2e b/options/license/Latex2e
new file mode 100644
index 0000000..3f67f81
--- /dev/null
+++ b/options/license/Latex2e
@@ -0,0 +1,9 @@
+Copyright (C) 2007, 2008, 2009, 2010 Karl Berry.
+Copyright (C) 1988, 1994, 2007 Stephen Gilmore.
+Copyright (C) 1994, 1995, 1996 Torsten Martinsen.
+
+Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
diff --git a/options/license/Leptonica b/options/license/Leptonica
new file mode 100644
index 0000000..0477a63
--- /dev/null
+++ b/options/license/Leptonica
@@ -0,0 +1,10 @@
+Copyright (C) 2001 Leptonica. All rights reserved.
+
+This software is distributed in the hope that it will be useful, but with NO WARRANTY OF ANY KIND.
+
+No author or distributor accepts responsibility to anyone for the consequences of using this software, or for whether it serves any particular purpose or works at all, unless he or she says so in writing. Everyone is granted permission to copy, modify and redistribute this source code, for commercial or non-commercial purposes, with the following restrictions:
+
+(1) the origin of this source code must not be misrepresented;
+(2) modified versions must be plainly marked as such; and
+(3) this notice may not be removed or altered from any source or modified source distribution.
+
diff --git a/options/license/LiLiQ-P-1.1 b/options/license/LiLiQ-P-1.1
new file mode 100644
index 0000000..53eefc4
--- /dev/null
+++ b/options/license/LiLiQ-P-1.1
@@ -0,0 +1,70 @@
+Licence Libre du Québec – Permissive (LiLiQ-P)
+
+Version 1.1
+
+1. Préambule
+Cette licence s'applique à tout logiciel distribué dont le titulaire du droit d'auteur précise qu'il est sujet aux termes de la Licence Libre du Québec – Permissive (LiLiQ-P) (ci-après appelée la « licence »).
+
+2. Définitions
+Dans la présente licence, à moins que le contexte n'indique un sens différent, on entend par:
+
+ « concédant » : le titulaire du droit d'auteur sur le logiciel, ou toute personne dûment autorisée par ce dernier à accorder la présente licence;
+ « contributeur » : le titulaire du droit d'auteur ou toute personne autorisée par ce dernier à soumettre au concédant une contribution. Un contributeur dont sa contribution est incorporée au logiciel est considéré comme un concédant en regard de sa contribution;
+ « contribution » : tout logiciel original, ou partie de logiciel original soumis et destiné à être incorporé dans le logiciel;
+ « distribution » : le fait de délivrer une copie du logiciel;
+ « licencié » : toute personne qui possède une copie du logiciel et qui exerce les droits concédés par la licence;
+ « logiciel » : une œuvre protégée par le droit d'auteur, telle qu'un programme d'ordinateur et sa documentation, pour laquelle le titulaire du droit d'auteur a précisé qu'elle est sujette aux termes de la présente licence;
+ « logiciel dérivé » : tout logiciel original réalisé par un licencié, autre que le logiciel ou un logiciel modifié, qui produit ou reproduit la totalité ou une partie importante du logiciel;
+ « logiciel modifié » : toute modification par un licencié de l'un des fichiers source du logiciel ou encore tout nouveau fichier source qui incorpore le logiciel ou une partie importante de ce dernier.
+
+3. Licence de droit d'auteur
+Sous réserve des termes de la licence, le concédant accorde au licencié une licence non exclusive et libre de redevances lui permettant d’exercer les droits suivants sur le logiciel :
+
+ 1 Produire ou reproduire la totalité ou une partie importante;
+ 2 Exécuter ou représenter la totalité ou une partie importante en public;
+ 3 Publier la totalité ou une partie importante;
+ 4 Sous-licencier sous une autre licence libre, approuvée ou certifiée par la Free Software Foundation ou l'Open Source Initiative.
+
+Cette licence est accordée sans limite territoriale et sans limite de temps.
+
+L'exercice complet de ces droits est sujet à la distribution par le concédant du code source du logiciel, lequel doit être sous une forme permettant d'y apporter des modifications. Le concédant peut aussi distribuer le logiciel accompagné d'une offre de distribuer le code source du logiciel, sans frais supplémentaires, autres que ceux raisonnables afin de permettre la livraison du code source. Cette offre doit être valide pendant une durée raisonnable.
+
+4. Distribution
+Le licencié peut distribuer des copies du logiciel, d'un logiciel modifié ou dérivé, sous réserve de respecter les conditions suivantes :
+
+ 1 Le logiciel doit être accompagné d'un exemplaire de cette licence;
+ 2 Si le logiciel a été modifié, le licencié doit en faire la mention, de préférence dans chacun des fichiers modifiés dont la nature permet une telle mention;
+ 3 Les étiquettes ou mentions faisant état des droits d'auteur, des marques de commerce, des garanties ou de la paternité concernant le logiciel ne doivent pas être modifiées ou supprimées, à moins que ces étiquettes ou mentions ne soient inapplicables à un logiciel modifié ou dérivé donné.
+
+5. Contributions
+Sous réserve d'une entente distincte, toute contribution soumise par un contributeur au concédant pour inclusion dans le logiciel sera soumise aux termes de cette licence.
+
+6. Marques de commerce
+La licence n'accorde aucune permission particulière qui permettrait d'utiliser les marques de commerce du concédant, autre que celle requise permettant d'identifier la provenance du logiciel.
+
+7. Garanties
+Sauf mention contraire, le concédant distribue le logiciel sans aucune garantie, aux risques et périls de l'acquéreur de la copie du logiciel, et ce, sans assurer que le logiciel puisse répondre à un besoin particulier ou puisse donner un résultat quelconque.
+
+Sans lier le concédant d'une quelconque manière, rien n'empêche un licencié d'offrir ou d'exclure des garanties ou du support.
+
+8. Responsabilité
+Le licencié est responsable de tout préjudice résultant de l'exercice des droits accordés par la licence.
+
+Le concédant ne saurait être tenu responsable de dommages subis par le licencié ou par des tiers, pour quelque cause que ce soit en lien avec la licence et les droits qui y sont accordés.
+
+9. Résiliation
+La présente licence est automatiquement résiliée dès que les droits qui y sont accordés ne sont pas exercés conformément aux termes qui y sont stipulés.
+
+Toutefois, si le défaut est corrigé dans un délai de 30 jours de sa prise de connaissance par la personne en défaut, et qu'il s'agit du premier défaut, la licence est accordée de nouveau.
+
+Pour tout défaut subséquent, le consentement exprès du concédant est nécessaire afin que la licence soit accordée de nouveau.
+
+10. Version de la licence
+Le Centre de services partagés du Québec, ses ayants cause ou toute personne qu'il désigne, peuvent diffuser des versions révisées ou modifiées de cette licence. Chaque version recevra un numéro unique. Si un logiciel est déjà soumis aux termes d'une version spécifique, c'est seulement cette version qui liera les parties à la licence.
+
+Le concédant peut aussi choisir de concéder la licence sous la version actuelle ou toute version ultérieure, auquel cas le licencié peut choisir sous quelle version la licence lui est accordée.
+
+11. Divers
+Dans la mesure où le concédant est un ministère, un organisme public ou une personne morale de droit public, créés en vertu d'une loi de l'Assemblée nationale du Québec, la licence est régie par le droit applicable au Québec et en cas de contestation, les tribunaux du Québec seront seuls compétents.
+
+La présente licence peut être distribuée sans conditions particulières. Toutefois, une version modifiée doit être distribuée sous un nom différent. Toute référence au Centre de services partagés du Québec, et, le cas échéant, ses ayant cause, doit être retirée, autre que celle permettant d'identifier la provenance de la licence.
diff --git a/options/license/LiLiQ-R-1.1 b/options/license/LiLiQ-R-1.1
new file mode 100644
index 0000000..3784f1a
--- /dev/null
+++ b/options/license/LiLiQ-R-1.1
@@ -0,0 +1,94 @@
+Licence Libre du Québec – Réciprocité (LiLiQ-R)
+
+Version 1.1
+
+1. Préambule
+Cette licence s'applique à tout logiciel distribué dont le titulaire du droit d'auteur précise qu'il est sujet aux termes de la Licence Libre du Québec – Réciprocité (LiLiQ-R) (ci-après appelée la « licence »).
+
+2. Définitions
+Dans la présente licence, à moins que le contexte n'indique un sens différent, on entend par:
+
+ « concédant » : le titulaire du droit d'auteur sur le logiciel, ou toute personne dûment autorisée par ce dernier à accorder la présente licence;
+ « contributeur » : le titulaire du droit d'auteur ou toute personne autorisée par ce dernier à soumettre au concédant une contribution. Un contributeur dont sa contribution est incorporée au logiciel est considéré comme un concédant en regard de sa contribution;
+ « contribution » : tout logiciel original, ou partie de logiciel original soumis et destiné à être incorporé dans le logiciel;
+ « distribution » : le fait de délivrer une copie du logiciel;
+ « licencié » : toute personne qui possède une copie du logiciel et qui exerce les droits concédés par la licence;
+ « logiciel » : une œuvre protégée par le droit d'auteur, telle qu'un programme d'ordinateur et sa documentation, pour laquelle le titulaire du droit d'auteur a précisé qu'elle est sujette aux termes de la présente licence;
+ « logiciel dérivé » : tout logiciel original réalisé par un licencié, autre que le logiciel ou un logiciel modifié, qui produit ou reproduit la totalité ou une partie importante du logiciel;
+ « logiciel modifié » : toute modification par un licencié de l'un des fichiers source du logiciel ou encore tout nouveau fichier source qui incorpore le logiciel ou une partie importante de ce dernier.
+
+3. Licence de droit d'auteur
+Sous réserve des termes de la licence, le concédant accorde au licencié une licence non exclusive et libre de redevances lui permettant d’exercer les droits suivants sur le logiciel :
+
+ 1 Produire ou reproduire la totalité ou une partie importante;
+ 2 Exécuter ou représenter la totalité ou une partie importante en public;
+ 3 Publier la totalité ou une partie importante.
+
+Cette licence est accordée sans limite territoriale et sans limite de temps.
+
+L'exercice complet de ces droits est sujet à la distribution par le concédant du code source du logiciel, lequel doit être sous une forme permettant d'y apporter des modifications. Le concédant peut aussi distribuer le logiciel accompagné d'une offre de distribuer le code source du logiciel, sans frais supplémentaires, autres que ceux raisonnables afin de permettre la livraison du code source. Cette offre doit être valide pendant une durée raisonnable.
+
+4. Distribution
+Le licencié peut distribuer des copies du logiciel, d'un logiciel modifié ou dérivé, sous réserve de respecter les conditions suivantes :
+
+ 1 Le logiciel doit être accompagné d'un exemplaire de cette licence;
+ 2 Si le logiciel a été modifié, le licencié doit en faire la mention, de préférence dans chacun des fichiers modifiés dont la nature permet une telle mention;
+ 3 Les étiquettes ou mentions faisant état des droits d'auteur, des marques de commerce, des garanties ou de la paternité concernant le logiciel ne doivent pas être modifiées ou supprimées, à moins que ces étiquettes ou mentions ne soient inapplicables à un logiciel modifié ou dérivé donné.
+
+4.1. Réciprocité
+Chaque fois que le licencié distribue le logiciel, le concédant offre au récipiendaire une concession sur le logiciel selon les termes de la présente licence. Le licencié doit offrir une concession selon les termes de la présente licence pour tout logiciel modifié qu'il distribue.
+
+Chaque fois que le licencié distribue le logiciel ou un logiciel modifié, ce dernier doit assumer l'obligation d'en distribuer le code source, de la manière prévue au troisième alinéa de l'article 3.
+
+4.2. Compatibilité
+Dans la mesure où le licencié souhaite distribuer un logiciel modifié combiné à un logiciel assujetti à une licence compatible, mais dont il ne serait pas possible d'en respecter les termes, le concédant offre, en plus de la présente concession, une concession selon les termes de cette licence compatible.
+
+Un licencié qui est titulaire exclusif du droit d'auteur sur le logiciel assujetti à une licence compatible ne peut pas se prévaloir de cette offre. Il en est de même pour toute autre personne dûment autorisée à sous-licencier par le titulaire exclusif du droit d'auteur sur le logiciel assujetti à une licence compatible.
+
+Est considérée comme une licence compatible toute licence libre approuvée ou certifiée par la Free Software Foundation ou l'Open Source Initiative, dont le niveau de réciprocité est comparable ou supérieur à celui de la présente licence, sans toutefois être moindre, notamment :
+
+ 1 Common Development and Distribution License (CDDL-1.0)
+ 2 Common Public License Version 1.0 (CPL-1.0)
+ 3 Contrat de licence de logiciel libre CeCILL, version 2.1 (CECILL-2.1)
+ 4 Contrat de licence de logiciel libre CeCILL-C (CECILL-C)
+ 5 Eclipse Public License - v 1.0 (EPL-1.0)
+ 6 European Union Public License, version 1.1 (EUPL v. 1.1)
+ 7 Licence Libre du Québec – Réciprocité forte version 1.1 (LiLiQ-R+ 1.1)
+ 8 GNU General Public License Version 2 (GNU GPLv2)
+ 9 GNU General Public License Version 3 (GNU GPLv3)
+ 10 GNU Lesser General Public License Version 2.1 (GNU LGPLv2.1)
+ 11 GNU Lesser General Public License Version 3 (GNU LGPLv3)
+ 12 Mozilla Public License Version 2.0 (MPL-2.0)
+
+5. Contributions
+Sous réserve d'une entente distincte, toute contribution soumise par un contributeur au concédant pour inclusion dans le logiciel sera soumise aux termes de cette licence.
+
+6. Marques de commerce
+La licence n'accorde aucune permission particulière qui permettrait d'utiliser les marques de commerce du concédant, autre que celle requise permettant d'identifier la provenance du logiciel.
+
+7. Garanties
+Sauf mention contraire, le concédant distribue le logiciel sans aucune garantie, aux risques et périls de l'acquéreur de la copie du logiciel, et ce, sans assurer que le logiciel puisse répondre à un besoin particulier ou puisse donner un résultat quelconque.
+
+Sans lier le concédant d'une quelconque manière, rien n'empêche un licencié d'offrir ou d'exclure des garanties ou du support.
+
+8. Responsabilité
+Le licencié est responsable de tout préjudice résultant de l'exercice des droits accordés par la licence.
+
+Le concédant ne saurait être tenu responsable du préjudice subi par le licencié ou par des tiers, pour quelque cause que ce soit en lien avec la licence et les droits qui y sont accordés.
+
+9. Résiliation
+La présente licence est résiliée de plein droit dès que les droits qui y sont accordés ne sont pas exercés conformément aux termes qui y sont stipulés.
+
+Toutefois, si le défaut est corrigé dans un délai de 30 jours de sa prise de connaissance par la personne en défaut, et qu'il s'agit du premier défaut, la licence est accordée de nouveau.
+
+Pour tout défaut subséquent, le consentement exprès du concédant est nécessaire afin que la licence soit accordée de nouveau.
+
+10. Version de la licence
+Le Centre de services partagés du Québec, ses ayants cause ou toute personne qu'il désigne, peuvent diffuser des versions révisées ou modifiées de cette licence. Chaque version recevra un numéro unique. Si un logiciel est déjà soumis aux termes d'une version spécifique, c'est seulement cette version qui liera les parties à la licence.
+
+Le concédant peut aussi choisir de concéder la licence sous la version actuelle ou toute version ultérieure, auquel cas le licencié peut choisir sous quelle version la licence lui est accordée.
+
+11. Divers
+Dans la mesure où le concédant est un ministère, un organisme public ou une personne morale de droit public, créés en vertu d'une loi de l'Assemblée nationale du Québec, la licence est régie par le droit applicable au Québec et en cas de contestation, les tribunaux du Québec seront seuls compétents.
+
+La présente licence peut être distribuée sans conditions particulières. Toutefois, une version modifiée doit être distribuée sous un nom différent. Toute référence au Centre de services partagés du Québec, et, le cas échéant, ses ayant droit, doit être retirée, autre que celle permettant d'identifier la provenance de la licence.
diff --git a/options/license/LiLiQ-Rplus-1.1 b/options/license/LiLiQ-Rplus-1.1
new file mode 100644
index 0000000..85a9f70
--- /dev/null
+++ b/options/license/LiLiQ-Rplus-1.1
@@ -0,0 +1,88 @@
+Licence Libre du Québec – Réciprocité forte (LiLiQ-R+)
+
+Version 1.1
+
+1. Préambule
+Cette licence s'applique à tout logiciel distribué dont le titulaire du droit d'auteur précise qu'il est sujet aux termes de la Licence Libre du Québec – Réciprocité forte (LiLiQ-R+) (ci-après appelée la « licence »).
+
+2. Définitions
+Dans la présente licence, à moins que le contexte n'indique un sens différent, on entend par:
+
+ « concédant » : le titulaire du droit d'auteur sur le logiciel, ou toute personne dûment autorisée par ce dernier à accorder la présente licence;
+ « contributeur » : le titulaire du droit d'auteur ou toute personne autorisée par ce dernier à soumettre au concédant une contribution. Un contributeur dont sa contribution est incorporée au logiciel est considéré comme un concédant en regard de sa contribution;
+ « contribution » : tout logiciel original, ou partie de logiciel original soumis et destiné à être incorporé dans le logiciel;
+ « distribution » : le fait de délivrer une copie du logiciel;
+ « licencié » : toute personne qui possède une copie du logiciel et qui exerce les droits concédés par la licence;
+ « logiciel » : une œuvre protégée par le droit d'auteur, telle qu'un programme d'ordinateur et sa documentation, pour laquelle le titulaire du droit d'auteur a précisé qu'elle est sujette aux termes de la présente licence;
+ « logiciel dérivé » : tout logiciel original réalisé par un licencié, autre que le logiciel ou un logiciel modifié, qui produit ou reproduit la totalité ou une partie importante du logiciel;
+ « logiciel modifié » : toute modification par un licencié de l'un des fichiers source du logiciel ou encore tout nouveau fichier source qui incorpore le logiciel ou une partie importante de ce dernier.
+
+3. Licence de droit d'auteur
+Sous réserve des termes de la licence, le concédant accorde au licencié une licence non exclusive et libre de redevances lui permettant d’exercer les droits suivants sur le logiciel :
+
+ 1 Produire ou reproduire la totalité ou une partie importante;
+ 2 Exécuter ou représenter la totalité ou une partie importante en public;
+ 3 Publier la totalité ou une partie importante.
+
+Cette licence est accordée sans limite territoriale et sans limite de temps.
+
+L'exercice complet de ces droits est sujet à la distribution par le concédant du code source du logiciel, lequel doit être sous une forme permettant d'y apporter des modifications. Le concédant peut aussi distribuer le logiciel accompagné d'une offre de distribuer le code source du logiciel, sans frais supplémentaires, autres que ceux raisonnables afin de permettre la livraison du code source. Cette offre doit être valide pendant une durée raisonnable.
+
+4. Distribution
+Le licencié peut distribuer des copies du logiciel, d'un logiciel modifié ou dérivé, sous réserve de respecter les conditions suivantes :
+
+ 1 Le logiciel doit être accompagné d'un exemplaire de cette licence;
+ 2 Si le logiciel a été modifié, le licencié doit en faire la mention, de préférence dans chacun des fichiers modifiés dont la nature permet une telle mention;
+ 3 Les étiquettes ou mentions faisant état des droits d'auteur, des marques de commerce, des garanties ou de la paternité concernant le logiciel ne doivent pas être modifiées ou supprimées, à moins que ces étiquettes ou mentions ne soient inapplicables à un logiciel modifié ou dérivé donné.
+
+4.1. Réciprocité
+Chaque fois que le licencié distribue le logiciel, le concédant offre au récipiendaire une concession sur le logiciel selon les termes de la présente licence. Le licencié doit offrir une concession selon les termes de la présente licence pour tout logiciel modifié ou dérivé qu'il distribue.
+
+Chaque fois que le licencié distribue le logiciel, un logiciel modifié, ou un logiciel dérivé, ce dernier doit assumer l'obligation d'en distribuer le code source, de la manière prévue au troisième alinéa de l'article 3.
+
+4.2. Compatibilité
+Dans la mesure où le licencié souhaite distribuer un logiciel modifié ou dérivé combiné à un logiciel assujetti à une licence compatible, mais dont il ne serait pas possible d'en respecter les termes, le concédant offre, en plus de la présente concession, une concession selon les termes de cette licence compatible.
+
+Un licencié qui est titulaire exclusif du droit d'auteur sur le logiciel assujetti à une licence compatible ne peut pas se prévaloir de cette offre. Il en est de même pour toute autre personne dûment autorisée à sous-licencier par le titulaire exclusif du droit d'auteur sur le logiciel assujetti à une licence compatible.
+
+Est considérée comme une licence compatible toute licence libre approuvée ou certifiée par la Free Software Foundation ou l'Open Source Initiative, dont le niveau de réciprocité est comparable à celui de la présente licence, sans toutefois être moindre, notamment :
+
+ 1 Common Public License Version 1.0 (CPL-1.0)
+ 2 Contrat de licence de logiciel libre CeCILL, version 2.1 (CECILL-2.1)
+ 3 Eclipse Public License - v 1.0 (EPL-1.0)
+ 4 European Union Public License, version 1.1 (EUPL v. 1.1)
+ 5 GNU General Public License Version 2 (GNU GPLv2)
+ 6 GNU General Public License Version 3 (GNU GPLv3)
+
+5. Contributions
+Sous réserve d'une entente distincte, toute contribution soumise par un contributeur au concédant pour inclusion dans le logiciel sera soumise aux termes de cette licence.
+
+6. Marques de commerce
+La licence n'accorde aucune permission particulière qui permettrait d'utiliser les marques de commerce du concédant, autre que celle requise permettant d'identifier la provenance du logiciel.
+
+7. Garanties
+Sauf mention contraire, le concédant distribue le logiciel sans aucune garantie, aux risques et périls de l'acquéreur de la copie du logiciel, et ce, sans assurer que le logiciel puisse répondre à un besoin particulier ou puisse donner un résultat quelconque.
+
+Sans lier le concédant d'une quelconque manière, rien n'empêche un licencié d'offrir ou d'exclure des garanties ou du support.
+
+8. Responsabilité
+Le licencié est responsable de tout préjudice résultant de l'exercice des droits accordés par la licence.
+
+Le concédant ne saurait être tenu responsable du préjudice subi par le licencié ou par des tiers, pour quelque cause que ce soit en lien avec la licence et les droits qui y sont accordés.
+
+9. Résiliation
+La présente licence est résiliée de plein droit dès que les droits qui y sont accordés ne sont pas exercés conformément aux termes qui y sont stipulés.
+
+Toutefois, si le défaut est corrigé dans un délai de 30 jours de sa prise de connaissance par la personne en défaut, et qu'il s'agit du premier défaut, la licence est accordée de nouveau.
+
+Pour tout défaut subséquent, le consentement exprès du concédant est nécessaire afin que la licence soit accordée de nouveau.
+
+10. Version de la licence
+Le Centre de services partagés du Québec, ses ayants cause ou toute personne qu'il désigne, peuvent diffuser des versions révisées ou modifiées de cette licence. Chaque version recevra un numéro unique. Si un logiciel est déjà soumis aux termes d'une version spécifique, c'est seulement cette version qui liera les parties à la licence.
+
+Le concédant peut aussi choisir de concéder la licence sous la version actuelle ou toute version ultérieure, auquel cas le licencié peut choisir sous quelle version la licence lui est accordée.
+
+11. Divers
+Dans la mesure où le concédant est un ministère, un organisme public ou une personne morale de droit public, créés en vertu d'une loi de l'Assemblée nationale du Québec, la licence est régie par le droit applicable au Québec et en cas de contestation, les tribunaux du Québec seront seuls compétents.
+
+La présente licence peut être distribuée sans conditions particulières. Toutefois, une version modifiée doit être distribuée sous un nom différent. Toute référence au Centre de services partagés du Québec, et, le cas échéant, ses ayant cause, doit être retirée, autre que celle permettant d'identifier la provenance de la licence.
diff --git a/options/license/Libpng b/options/license/Libpng
new file mode 100644
index 0000000..1636402
--- /dev/null
+++ b/options/license/Libpng
@@ -0,0 +1,76 @@
+This copy of the libpng notices is provided for your convenience. In case of any discrepancy between this copy and the notices in the file png.h that is included in the libpng distribution, the latter shall prevail.
+
+COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
+
+If you modify libpng you may insert additional notices immediately following this sentence.
+
+This code is released under the libpng license.
+
+libpng versions 1.2.6, August 15, 2004, through 1.4.5, December 9, 2010, are Copyright (c) 2004, 2006-2010 Glenn Randers-Pehrson, and are distributed according to the same disclaimer and license as libpng-1.2.5 with the following individual added to the list of Contributing Authors
+
+ Cosmin Truta
+
+libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are
+Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are distributed according to the same disclaimer and license as libpng-1.0.6 with the following individuals added to the list of Contributing Authors
+
+ Simon-Pierre Cadieux
+ Eric S. Raymond
+ Gilles Vollant
+
+and with the following additions to the disclaimer:
+
+ There is no warranty against interference with your enjoyment of the library or against infringement. There is no warranty that our efforts or the library will fulfill any of your particular purposes or needs. This library is provided with all faults, and the entire risk of satisfactory quality, performance, accuracy, and effort is with the user.
+
+libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
+Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are distributed according to the same disclaimer and license as libpng-0.96, with the following individuals added to the list of Contributing Authors:
+
+ Tom Lane
+ Glenn Randers-Pehrson
+ Willem van Schaik
+
+libpng versions 0.89, June 1996, through 0.96, May 1997, are
+Copyright (c) 1996, 1997 Andreas Digger
+Distributed according to the same disclaimer and license as libpng-0.88, with the following individuals added to the list of Contributing Authors:
+
+ John Bowler
+ Kevin Bracey
+ Sam Bushell
+ Magnus Holmgren
+ Greg Roelofs
+ Tom Tanner
+
+libpng versions 0.5, May 1995, through 0.88, January 1996, are
+Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
+
+For the purposes of this copyright and license, "Contributing Authors" is defined as the following set of individuals:
+
+ Andreas Dilger
+ Dave Martindale
+ Guy Eric Schalnat
+ Paul Schmidt
+ Tim Wegner
+
+The PNG Reference Library is supplied "AS IS". The Contributing Authors and Group 42, Inc. disclaim all warranties, expressed or implied, including, without limitation, the warranties of merchantability and of fitness for any purpose. The Contributing Authors and Group 42, Inc. assume no liability for direct, indirect, incidental, special, exemplary, or consequential damages, which may result from the use of the PNG Reference Library, even if advised of the possibility of such damage.
+
+Permission is hereby granted to use, copy, modify, and distribute this source code, or portions hereof, for any purpose, without fee, subject to the following restrictions:
+
+1. The origin of this source code must not be misrepresented.
+
+2. Altered versions must be plainly marked as such and must not be misrepresented as being the original source.
+
+3. This Copyright notice may not be removed or altered from any source or altered source distribution.
+
+The Contributing Authors and Group 42, Inc. specifically permit, without fee, and encourage the use of this source code as a component to supporting the PNG file format in commercial products. If you use this source code in a product, acknowledgment is not required but would be appreciated.
+
+
+A "png_get_copyright" function is available, for convenient use in "about" boxes and the like:
+
+ printf("%s",png_get_copyright(NULL));
+
+Also, the PNG logo (in PNG format, of course) is supplied in the files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
+
+Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a certification mark of the Open Source Initiative.
+
+Glenn Randers-Pehrson
+glennrp at users.sourceforge.net
+December 9, 2010
\ No newline at end of file
diff --git a/options/license/MIT License b/options/license/MIT
similarity index 98%
rename from options/license/MIT License
rename to options/license/MIT
index 472ac23..3f28a5f 100644
--- a/options/license/MIT License
+++ b/options/license/MIT
@@ -1,8 +1,9 @@
MIT License
+
Copyright (c)
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.
+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.
\ No newline at end of file
diff --git a/options/license/MIT-CMU b/options/license/MIT-CMU
new file mode 100644
index 0000000..c32911e
--- /dev/null
+++ b/options/license/MIT-CMU
@@ -0,0 +1,9 @@
+Copyright 1989, 1991, 1992 by Carnegie Mellon University
+
+Derivative Work - 1996, 1998-2000 Copyright 1996, 1998-2000 The Regents of the University of California
+
+All Rights Reserved
+
+Permission to use, copy, modify and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appears in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of CMU and The Regents of the University of California not be used in advertising or publicity pertaining to distribution of the software without specific written permission.
+
+CMU AND THE REGENTS OF THE UNIVERSITY OF CALIFORNIA DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL CMU OR THE REGENTS OF THE UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM THE LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
\ No newline at end of file
diff --git a/options/license/MIT-advertising b/options/license/MIT-advertising
new file mode 100644
index 0000000..e1d908d
--- /dev/null
+++ b/options/license/MIT-advertising
@@ -0,0 +1,7 @@
+Copyright (C) 2000-2008 Carsten Haitzler, Geoff Harrison and various contributors Copyright (C) 2004-2008 Kim Woelders
+
+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 of the Software, its documentation and marketing & publicity materials, and acknowledgment shall be given in the documentation, materials and software packages that this Software was used.
+
+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 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.
\ No newline at end of file
diff --git a/options/license/MIT-enna b/options/license/MIT-enna
new file mode 100644
index 0000000..0cf0d92
--- /dev/null
+++ b/options/license/MIT-enna
@@ -0,0 +1,9 @@
+Copyright (C) 2000 Carsten Haitzler and various contributors (see AUTHORS)
+
+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 of the Software and its Copyright notices. In addition publicly documented acknowledgment must be given that this software has been used if no source code of this software is made available publicly. This includes acknowledgments in either Copyright notices, Manuals, Publicity and Marketing documents or any documentation provided with any product containing this software. This License does not apply to any software that links to the libraries provided by this software (statically or dynamically), but only to the software provided.
+
+Please see the COPYING.PLAIN for a plain-english explanation of this notice and it's intent.
+
+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 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.
\ No newline at end of file
diff --git a/options/license/MIT-feh b/options/license/MIT-feh
new file mode 100644
index 0000000..f761334
--- /dev/null
+++ b/options/license/MIT-feh
@@ -0,0 +1,5 @@
+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 of the Software and its documentation and acknowledgment shall be given in the documentation and software packages that this Software was used.
+
+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 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.
\ No newline at end of file
diff --git a/options/license/MITNFA b/options/license/MITNFA
new file mode 100644
index 0000000..535427b
--- /dev/null
+++ b/options/license/MITNFA
@@ -0,0 +1,7 @@
+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.
+
+Distributions of all or part of the Software intended to be used by the recipients as they would use the unmodified Software, containing modifications that substantially alter, remove, or disable functionality of the Software, outside of the documented configuration mechanisms provided by the Software, shall be modified such that the Original Author's bug reporting email addresses and urls are either replaced with the contact information of the parties responsible for the changes, or removed entirely.
+
+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.
\ No newline at end of file
diff --git a/options/license/MPL-1.0 b/options/license/MPL-1.0
new file mode 100644
index 0000000..6047b95
--- /dev/null
+++ b/options/license/MPL-1.0
@@ -0,0 +1,123 @@
+MOZILLA PUBLIC LICENSE
+Version 1.0
+
+1. Definitions.
+
+ 1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications.
+
+ 1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+ 1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+ 1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.5. ``Executable'' means Covered Code in any form other than Source Code.
+
+ 1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+ 1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.8. ``License'' means this document.
+
+ 1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+ 1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+ 1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, ``You'' includes any entity which 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 fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+2. Source Code License.
+
+ 2.1. The Initial Developer Grant.
+The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and
+
+ (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations.
+
+ 2.2. Contributor Grant.
+Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and
+
+ (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations.
+
+3. Distribution Obligations.
+
+ 3.1. Application of License.
+ The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+ 3.2. Availability of Source Code.
+ Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+ 3.3. Description of Modifications.
+ You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+ 3.4. Intellectual Property Matters
+
+ (a) Third Party Claims.
+ If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+
+ (b) Contributor APIs.
+ If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file.
+
+ 3.5. Required Notices.
+ You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.6. Distribution of Executable Versions.
+ You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+ 3.7. Larger Works.
+ You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+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 Code due to statute 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 included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. 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. Application of this License.
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code.
+
+6. Versions of the License.
+
+ 6.1. New Versions.
+ Netscape Communications Corporation (``Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+ 6.2. Effect of New Versions.
+ Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License.
+
+ 6.3. Derivative Works.
+ If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY.
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE 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 CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER 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 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+9. LIMITATION OF LIABILITY.
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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 THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS.
+The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. MISCELLANEOUS.
+This License represents the complete agreement concerning 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. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis.
+
+EXHIBIT A.
+
+``The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+The Original Code is ______________________________________.
+
+The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved.
+
+Contributor(s): ______________________________________.''
\ No newline at end of file
diff --git a/options/license/MPL-1.1 b/options/license/MPL-1.1
new file mode 100644
index 0000000..e1c8428
--- /dev/null
+++ b/options/license/MPL-1.1
@@ -0,0 +1,143 @@
+Mozilla Public License Version 1.1
+
+1. Definitions.
+
+ 1.0.1. "Commercial Use" means distribution or otherwise making the Covered Code available to a third party.
+
+ 1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+ 1.3. "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+ 1.4. "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.5. "Executable" means Covered Code in any form other than Source Code.
+
+ 1.6. "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+ 1.7. "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.8. "License" means this document.
+
+ 1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+ 1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+ 1.11. "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+ 1.12. "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which 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. Source Code License.
+
+ 2.1. The Initial Developer Grant. The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ a. under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+ b. under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+ c. the licenses granted in this Section 2.1 (a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
+ d. Notwithstanding Section 2.1 (b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
+
+ 2.2. Contributor Grant. Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
+
+ a. under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
+ b. under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+ c. the licenses granted in Sections 2.2 (a) and 2.2 (b) are effective on the date Contributor first makes Commercial Use of the Covered Code.
+ d. Notwithstanding Section 2.2 (b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+ 3.1. Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+ 3.2. Availability of Source Code. Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+ 3.3. Description of Modifications. You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+ 3.4. Intellectual Property Matters
+
+ (a) Third Party Claims
+ If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+
+ (b) Contributor APIs
+ If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
+
+ (c) Representations.
+ Contributor represents that, except as disclosed pursuant to Section 3.4 (a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+
+ 3.5. Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.6. Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Sections 3.1, 3.2, 3.3, 3.4 and 3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+ 3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+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 Code 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 included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. 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. Application of this License.
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+ 6.1. New Versions
+ Netscape Communications Corporation ("Netscape") may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+ 6.2. Effect of New Versions
+ Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License.
+
+ 6.3. Derivative Works
+ If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", "MPL", "NPL" or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE 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 CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER 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 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. Termination
+
+ 8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+ 8.2. If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that:
+
+ a. such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+ b. any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
+
+ 8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+ 8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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.
+
+10. U.S. government end users
+The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. Miscellaneous
+This License represents the complete agreement concerning 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. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. Responsibility for claims
+As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+13. Multiple-licensed code
+Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the MPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.
+
+Exhibit A - Mozilla Public License.
+
+"The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+The Original Code is ______________________________________.
+
+The Initial Developer of the Original Code is ________________________.
+Portions created by ______________________ are Copyright (C) ______
+_______________________. All Rights Reserved.
+
+Contributor(s): ______________________________________.
+
+Alternatively, the contents of this file may be used under the terms of the _____ license (the "[___] License"), in which case the provisions of [______] License are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the [___] License. If you do not delete the provisions above, a recipient may use your version of this file under either the MPL or the [___] License."
+
+NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.
diff --git a/options/license/MPL-2.0 b/options/license/MPL-2.0
new file mode 100644
index 0000000..c42155d
--- /dev/null
+++ b/options/license/MPL-2.0
@@ -0,0 +1,144 @@
+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
+
+ (a) that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or
+
+ (b) 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:
+
+ (a) any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or
+
+ (b) 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:
+
+ (a) 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
+
+ (b) 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:
+
+ (a) for any code that a Contributor has removed from Covered Software; or
+
+ (b) 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
+
+ (c) 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:
+
+ (a) 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
+
+ (b) 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 http://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.
\ No newline at end of file
diff --git a/options/license/MPL-2.0-no-copyleft-exception b/options/license/MPL-2.0-no-copyleft-exception
new file mode 100644
index 0000000..c42155d
--- /dev/null
+++ b/options/license/MPL-2.0-no-copyleft-exception
@@ -0,0 +1,144 @@
+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
+
+ (a) that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or
+
+ (b) 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:
+
+ (a) any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or
+
+ (b) 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:
+
+ (a) 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
+
+ (b) 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:
+
+ (a) for any code that a Contributor has removed from Covered Software; or
+
+ (b) 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
+
+ (c) 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:
+
+ (a) 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
+
+ (b) 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 http://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.
\ No newline at end of file
diff --git a/options/license/MS-PL b/options/license/MS-PL
new file mode 100644
index 0000000..b44a385
--- /dev/null
+++ b/options/license/MS-PL
@@ -0,0 +1,22 @@
+Microsoft Public License (Ms-PL)
+
+This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.
+
+1. Definitions
+The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. A "contribution" is the original software, or any additions or changes to the software. A "contributor" is any person that distributes its contribution under this license. "Licensed patents" are a contributor's patent claims that read directly on its contribution.
+
+2. Grant of Rights
+ (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
+
+ (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
+
+3. Conditions and Limitations
+ (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
+
+ (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically.
+
+ (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.
+
+ (D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.
+
+ (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement.
\ No newline at end of file
diff --git a/options/license/MS-RL b/options/license/MS-RL
new file mode 100644
index 0000000..6a65aa7
--- /dev/null
+++ b/options/license/MS-RL
@@ -0,0 +1,30 @@
+Microsoft Reciprocal License (Ms-RL)
+
+This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.
+
+1. Definitions
+The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law.
+
+A "contribution" is the original software, or any additions or changes to the software.
+
+A "contributor" is any person that distributes its contribution under this license.
+
+"Licensed patents" are a contributor's patent claims that read directly on its contribution.
+
+2. Grant of Rights
+ (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
+
+ (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
+
+3. Conditions and Limitations
+ (A) Reciprocal Grants- For any file you distribute that contains code from the software (in source code or binary format), you must provide recipients the source code to that file along with a copy of this license, which license will govern that file. You may license other files that are entirely your own work and do not contain code from the software under any terms you choose.
+
+ (B) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
+
+ (C) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically.
+
+ (D) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.
+
+ (E) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.
+
+ (F) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement.
\ No newline at end of file
diff --git a/options/license/MTLL b/options/license/MTLL
new file mode 100644
index 0000000..00498c9
--- /dev/null
+++ b/options/license/MTLL
@@ -0,0 +1,24 @@
+Software License for MTL
+
+Copyright (c) 2007 The Trustees of Indiana University.
+ 2008 Dresden University of Technology and the Trustees of Indiana University.
+ 2010 SimuNova UG (haftungsbeschränkt), www.simunova.com.
+All rights reserved.
+Authors: Peter Gottschling and Andrew Lumsdaine
+
+This file is part of the Matrix Template Library
+
+Dresden University of Technology -- short TUD -- and Indiana University -- short IU -- have the exclusive rights to license this product under the following license.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ 1. All redistributions of source code must retain the above copyright notice, the list of authors in the original source code, this list of conditions and the disclaimer listed in this license;
+ 2. All redistributions in binary form must reproduce the above copyright notice, this list of conditions and the disclaimer listed in this license in the documentation and/or other materials provided with the distribution;
+ 3. Any documentation included with all redistributions must include the following acknowledgement:
+ "This product includes software developed at the University of Notre Dame, the Pervasive Technology Labs at Indiana University, and Dresden University of Technology. For technical information contact Andrew Lumsdaine at the Pervasive Technology Labs at Indiana University. For administrative and license questions contact the Advanced Research and Technology Institute at 1100 Waterway Blvd. Indianapolis, Indiana 46202, phone 317-274-5905, fax 317-274-5902."
+ Alternatively, this acknowledgement may appear in the software itself, and wherever such third-party acknowledgments normally appear.
+ 4. The name "MTL" shall not be used to endorse or promote products derived from this software without prior written permission from IU or TUD. For written permission, please contact Indiana University Advanced Research & Technology Institute.
+ 5. Products derived from this software may not be called "MTL", nor may "MTL" appear in their name, without prior written permission of Indiana University Advanced Research & Technology Institute.
+
+TUD and IU provide no reassurances that the source code provided does not infringe the patent or any other intellectual property rights of any other entity. TUD and IU disclaim any liability to any recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.
+
+LICENSEE UNDERSTANDS THAT SOFTWARE IS PROVIDED "AS IS" FOR WHICH NO WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. DRESDEN UNIVERSITY OF TECHNOLOGY AND INDIANA UNIVERSITY GIVE NO WARRANTIES AND MAKE NO REPRESENTATION THAT SOFTWARE IS FREE OF INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER PROPRIETARY RIGHTS. DRESDEN UNIVERSITY OF TECHNOLOGY AND INDIANA UNIVERSITY MAKE NO WARRANTIES THAT SOFTWARE IS FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS", OR OTHER HARMFUL CODE. LICENSEE ASSUMES THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF INFORMATION GENERATED USING SOFTWARE.
\ No newline at end of file
diff --git a/options/license/MakeIndex b/options/license/MakeIndex
new file mode 100644
index 0000000..c345384
--- /dev/null
+++ b/options/license/MakeIndex
@@ -0,0 +1,19 @@
+MakeIndex Distribution Notice
+
+11/11/1989
+
+Copyright (C) 1989 by Chen & Harrison International Systems, Inc.
+Copyright (C) 1988 by Olivetti Research Center
+Copyright (C) 1987 by Regents of the University of California
+
+Author:
+ Pehong Chen (phc@renoir.berkeley.edu)
+ Chen & Harrison International Systems, Inc.
+ Palo Alto, California
+ USA
+
+Permission is hereby granted to make and distribute original copies of this program provided that the copyright notice and this permission notice are preserved and provided that the recipient is not asked to waive or limit his right to redistribute copies as allowed by this permission notice and provided that anyone who receives an executable form of this program is granted access to a machine-readable form of the source code for this program at a cost not greater than reasonable reproduction, shipping, and handling costs. Executable forms of this program distributed without the source code must be accompanied by a conspicuous copy of this permission notice and a statement that tells the recipient how to obtain the source code.
+
+Permission is granted to distribute modified versions of all or part of this program under the conditions above with the additional requirement that the entire modified work must be covered by a permission notice identical to this permission notice. Anything distributed with and usable only in conjunction with something derived from this program, whose useful purpose is to extend or adapt or add capabilities to this program, is to be considered a modified version of this program under the requirement above. Ports of this program to other systems not supported in the distribution are also considered modified versions. All modified versions should be reported back to the author.
+
+This program is distributed with no warranty of any sort. No contributor accepts responsibility for the consequences of using this program or for whether it serves any particular purpose.
diff --git a/options/license/MirOS b/options/license/MirOS
new file mode 100644
index 0000000..62d0ac5
--- /dev/null
+++ b/options/license/MirOS
@@ -0,0 +1,28 @@
+MirOS License
+
+Copyright [YEAR]
+[NAME] [EMAIL]
+
+Provided that these terms and disclaimer and all copyright notices are retained or reproduced in an accompanying document, permission is granted to deal in this work without restriction, including unlimited rights to use, publicly perform, distribute, sell, modify, merge, give away, or sublicence.
+
+This work is provided "AS IS" and WITHOUT WARRANTY of any kind, to the utmost extent permitted by applicable law, neither express nor implied; without malicious intent or gross negligence. In no event may a licensor, author or contributor be held liable for indirect, direct, other damage, loss, or other issues arising in any way out of dealing in the work, even if advised of the possibility of such damage or existence of a defect, except proven that it results out of said person's immediate fault when using the work as intended.
+
+I_N_S_T_R_U_C_T_I_O_N_S_:_
+To apply the template(1) specify the years of copyright (separated by comma, not as a range), the legal names of the copyright holders, and the real names of the authors if different. Avoid adding text.
+
+R_A_T_I_O_N_A_L_E_:_
+This licence is apt for any kind of work (such as source code, fonts, documentation, graphics, sound etc.) and the preferred terms for work added to MirBSD. It has been drafted as universally usable equivalent of the "historic permission notice"(2) adapted to Europen law because in some (droit d'auteur) countries authors cannot disclaim all liabi‐ lities. Compliance to DFSG(3) 1.1 is ensured, and GPLv2 compatibility is asserted unless advertising clauses are used. The MirOS Licence is certified to conform to OKD(4) 1.0 and OSD(5) 1.9, and qualifies as a Free Software(6) and also Free Documentation(7) licence and is included in some relevant lists(8)(9)(10).
+
+We believe you are not liable for work inserted which is intellectual property of third parties, if you were not aware of the fact, act appropriately as soon as you become aware of that problem, seek an amicable solution for all parties, and never knowingly distribute a work without being authorised to do so by its licensors.
+
+R_E_F_E_R_E_N_C_E_S_:_
+(1) also at http://mirbsd.de/MirOS-Licence
+(2) http://www.opensource.org/licenses/historical.php
+(3) http://www.debian.org/social_contract#guidelines
+(4) http://www.opendefinition.org/1.0
+(5) http://www.opensource.org/docs/osd
+(6) http://www.gnu.org/philosophy/free-sw.html
+(7) http://www.gnu.org/philosophy/free-doc.html
+(8) http://www.ifross.de/ifross_html/lizenzcenter.html
+(9) http://www.opendefinition.org/licenses
+(10) http://opensource.org/licenses/miros.html
\ No newline at end of file
diff --git a/options/license/Motosoto b/options/license/Motosoto
new file mode 100644
index 0000000..204957b
--- /dev/null
+++ b/options/license/Motosoto
@@ -0,0 +1,110 @@
+MOTOSOTO OPEN SOURCE LICENSE - Version 0.9.1
+
+This Motosoto Open Source License (the "License") applies to "Community Portal Server" and related software products as well as any updatesor maintenance releases of that software ("Motosoto Products") that are distributed by Motosoto.Com B.V. ("Licensor"). Any Motosoto Product licensed pursuant to this License is a "Licensed Product." Licensed Product, in its entirety, is protected by Dutch copyright law. This License identifies the terms under which you may use, copy, distribute or modify Licensed Product and has been submitted to the Open Software Initiative (OSI) for approval.
+
+Preamble
+
+This Preamble is intended to describe, in plain English, the nature and scope of this License. However, this Preamble is not a part of this license. The legal effect of this License is dependent only upon the terms of the License and not this Preamble. This License complies with the Open Source Definition and has been approved by Open Source Initiative. Software distributed under this License may be marked as "OSI Certified Open Source Software."
+
+This License provides that:
+
+1. You may use, sell or give away the Licensed Product, alone or as a component of an aggregate software distribution containing programs from several different sources. No royalty or other fee is required.
+
+2. Both Source Code and executable versions of the Licensed Product, including Modifications made by previous Contributors, are available for your use. (The terms "Licensed Product," "Modifications," "Contributors" and "Source Code" are defined in the License.)
+
+3. You are allowed to make Modifications to the Licensed Product, and you can create Derivative Works from it. (The term "Derivative Works" is defined in the License.)
+
+4. By accepting the Licensed Product under the provisions of this License, you agree that any Modifications you make to the Licensed Product and then distribute are governed by the provisions of this License. In particular, you must make the Source Code of your Modifications available to others.
+
+5. You may use the Licensed Product for any purpose, but the Licensor is not providing you any warranty whatsoever, nor is the Licensor accepting any liability in the event that the Licensed Product doesn't work properly or causes you any injury or damages.
+
+6. If you sublicense the Licensed Product or Derivative Works, you may charge fees for warranty or support, or for accepting indemnity or liability obligations to your customers. You cannot charge for the Source Code.
+
+7. If you assert any patent claims against the Licensor relating to the Licensed Product, or if you breach any terms of the License, your rights to the Licensed Product under this License automatically terminate.
+
+You may use this License to distribute your own Derivative Works, in which case the provisions of this License will apply to your Derivative Works just as they do to the original Licensed Product.
+
+Alternatively, you may distribute your Derivative Works under any other OSI-approved Open Source license, or under a proprietary license of your choice. If you use any license other than this License, however, you must continue to fulfill the requirements of this License (including the provisions relating to publishing the Source Code) for those portions of your Derivative Works that consist of the Licensed Product, including the files containing Modifications.
+
+New versions of this License may be published from time to time. You may choose to continue to use the license terms in this version of the License or those from the new version. However, only the Licensor has the right to change the License terms as they apply to the Licensed Product. This License relies on precise definitions for certain terms. Those terms are defined when they are first used, and the definitions are repeated for your convenience in a Glossary at the end of the License.
+
+License Terms
+
+1. Grant of License From Licensor.
+
+Licensor hereby grants you a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims, to do the following:
+
+ a. Use, reproduce, modify, display, perform, sublicense and distribute Licensed Product or portions thereof (including Modifications as hereinafter defined), in both Source Code or as an executable program. "Source Code" means the preferred form for making modifications to the Licensed Product, including all modules contained therein, plus any associated interface definition files, scripts used to control compilation and installation of an executable program, or a list of differential comparisons against the Source Code of the Licensed Product.
+
+ b. Create Derivative Works (as that term is defined under Dutch copyright law) of Licensed Product by adding to or deleting from the substance or structure of said Licensed Product.
+
+ c. Under claims of patents now or hereafter owned or controlled by Licensor, to make, use, sell, offer for sale, have made, and/or otherwise dispose of Licensed Product or portions thereof, but solely to the extent that any such claim is necessary to enable you to make, use, sell, offer for sale, have made, and/or otherwise dispose of Licensed Product or portions thereof or Derivative Works thereof.
+
+2. Grant of License to Modifications From Contributor.
+
+"Modifications" means any additions to or deletions from the substance or structure of (i) a file containing Licensed Product, or (ii) any new file that contains any part of Licensed Product. Hereinafter in this License, the term "Licensed Product" shall include all previous Modifications that you receive from any Contributor. By application of the provisions in Section 4(a) below, each person or entity who created or contributed to the creation of, and distributed, a Modification (a "Contributor") hereby grants you a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims, to do the following:
+
+ a. Use, reproduce, modify, display, perform, sublicense and distribute any Modifications created by such Contributor or portions thereof, in both Source Code or as an executable program, either on an unmodified basis or as part of Derivative Works.
+
+ b. Under claims of patents now or hereafter owned or controlled by Contributor, to make, use, sell, offer for sale, have made, and/or otherwise dispose of Modifications or portions thereof, but solely to the extent that any such claim is necessary to enable you to make, use, sell, offer for sale, have made, and/or otherwise dispose of Modifications or portions thereof or Derivative Works thereof.
+
+3. Exclusions From License Grant.
+
+Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor or any Contributor except as expressly stated herein. No patent license is granted separate from the Licensed Product, for code that you delete from the Licensed Product, or for combinations of the Licensed Product with other software or hardware. No right is granted to the trademarks of Licensor or any Contributor even if such marks are included in the Licensed Product. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any code that Licensor otherwise would have a right to license.
+
+4. Your Obligations Regarding Distribution.
+
+ a. Application of This License to Your Modifications. As an express condition for your use of the Licensed Product, you hereby agree that any Modifications that you create or to which you contribute, and which you distribute, are governed by the terms of this License including, without limitation, Section 2. Any Modifications that you create or to which you contribute may be distributed only under the terms of this License or a future version of this License released under Section 7. You must include a copy of this License with every copy of the Modifications you distribute. You agree not to offer or impose any terms on any Source Code or executable version of the Licensed Product or Modifications that alter or restrict the applicable version of this License or the recipients' rights hereunder. However, you may include an additional document offering the additional rights described in Section 4(e).
+
+ b. Availability of Source Code. You must make available, under the terms of this License, the Source Code of the Licensed Product and any Modifications that you distribute, either on the same media as you distribute any executable or other form of the Licensed Product, or via a mechanism generally accepted in the software development community for the electronic transfer of data (an "Electronic Distribution Mechanism"). The Source Code for any version of Licensed Product or Modifications that you distribute must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of said Licensed Product or Modifications has been made available. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+ c. Description of Modifications. You must cause any Modifications that you create or to which you contribute, and which you distribute, to contain a file documenting the additions, changes or deletions you made to create or contribute to those Modifications, and the dates of any such additions, changes or deletions. You must include a prominent statement that the Modifications are derived, directly or indirectly, from the Licensed Product and include the names of the Licensor and any Contributor to the Licensed Product in (i) the Source Code and (ii) in any notice displayed by a version of the Licensed Product you distribute or in related documentation in which you describe the origin or ownership of the Licensed Product. You may not modify or delete any preexisting copyright notices in the Licensed Product.
+
+ d. Intellectual Property Matters.
+ i. Third Party Claims. If you have knowledge that a license to a third party's intellectual property right is required to exercise the rights granted by this License, you must include a text file with the Source Code distribution titled "LEGAL" that describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after you make any Modifications available as described in Section 4(b), you shall promptly modify the LEGAL file in all copies you make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Licensed Product from you that new knowledge has been obtained.
+
+ ii. Contributor APIs. If your Modifications include an application programming interface ("API") and you have knowledge of patent licenses that are reasonably necessary to implement that API, you must also include this information in the LEGAL file.
+
+ iii. Representations. You represent that, except as disclosed pursuant to 4(d)(i) above, you believe that any Modifications you distribute are your original creations and that you have sufficient rights to grant the rights conveyed by this License.
+
+ e. Required Notices. You must duplicate this License in any documentation you provide along with the Source Code of any Modifications you create or to which you contribute, and which you distribute, wherever you describe recipients' rights relating to Licensed Product. You must duplicate the notice contained in Exhibit A (the "Notice") in each file of the Source Code of any copy you distribute of the Licensed Product. If you created a Modification, you may add your name as a Contributor to the Notice. If it is not possible to put the Notice in a particular Source Code file due to its structure, then you must include such Notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Licensed Product. However, you may do so only on your own behalf, and not on behalf of the Licensor or any Contributor. You must make it clear that any such warranty, support, indemnity or liability obligation is offered by you alone, and you hereby agree to indemnify the Licensor and every Contributor for any liability incurred by the Licensor or such Contributor as a result of warranty, support, indemnity or liability terms you offer.
+
+ f. Distribution of Executable Versions. You may distribute Licensed Product as an executable program under a license of your choice that may contain terms different from this License provided (i) you have satisfied the requirements of Sections 4(a) through 4(e) for that distribution, (ii) you include a conspicuous notice in the executable version, related documentation and collateral materials stating that the Source Code version of the Licensed Product is available under the terms of this License, including a description of how and where you have fulfilled the obligations of Section 4(b), (iii) you retain all existing copyright notices in the Licensed Product, and (iv) you make it clear that any terms that differ from this License are offered by you alone, not by Licensor or any Contributor. You hereby agree to indemnify the Licensor and every Contributor for any liability incurred by Licensor or such Contributor as a result of any terms you offer.
+
+ g. Distribution of Derivative Works. You may create Derivative Works (e.g., combinations of some or all of the Licensed Product with other code) and distribute the Derivative Works as products under any other license you select, with the proviso that the requirements of this License are fulfilled for those portions of the Derivative Works that consist of the Licensed Product or any Modifications thereto.
+
+5. 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 Licensed Product due to statute, judicial order, or regulation, then you must (i) comply with the terms of this License to the maximum extent possible, (ii) cite the statute or regulation that prohibits you from adhering to the License, and (iii) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 4(d), and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill at computer programming to be able to understand it.
+
+6. Application of This License.
+
+This License applies to code to which Licensor or Contributor has attached the Notice in Exhibit A, which is incorporated herein by this reference.
+
+7. Versions of This License.
+
+ a. Version. The Motosoto Open Source License is derived from the Jabber Open Source License. All changes are related to applicable law and the location of court.
+
+ b. New Versions. Licensor may publish from time to time revised and/or new versions of the License.
+
+ c. Effect of New Versions. Once Licensed Product has been published under a particular version of the License, you may always continue to use it under the terms of that version. You may also choose to use such Licensed Product under the terms of any subsequent version of the License published by Licensor. No one other than Lic ensor has the right to modify the terms applicable to Licensed Product created under this License.
+
+ d. Derivative Works of this License. If you create or use a modified version of this License, which you may do only in order to apply it to software that is not already a Licensed Product under this License, you must rename your license so that it is not confusingly similar to this License, and must make it clear that your license contains terms that differ from this License. In so naming your license, you may not use any trademark of Licensor or any Contributor.
+
+8. Disclaimer of Warranty.
+
+LICENSED PRODUCT IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE LICENSED PRODUCT IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LICENSED PRODUCT IS WITH YOU. SHOULD LICENSED PRODUCT PROVE DEFECTIVE IN ANY RESPECT, YOU (AND NOT THE LICENSOR OR ANY OTHER 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 LICENSED PRODUCT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+9. Termination.
+
+ a. Automatic Termination Upon Breach. This license and the rights granted hereunder will terminate automatically if you fail to comply with the terms herein and fail to cure such breach within thirty (30) days of becoming aware of the breach. All sublicenses to the Licensed Product that are properly granted shall survive any termination of this license. Provisions that, by their nature, must remain in effect beyond the termination of this License, shall survive.
+
+ b. Termination Upon Assertion of Patent Infringement. If you initiate litigation by asserting a patent infringement claim (excluding declaratory judgment actions) against Licensor or a Contributor (Licensor or Contributor against whom you file such an action is referred to herein as "Respondent") alleging that Licensed Product directly or indirectly infringes any patent, then any and all rights granted by such Respondent to you under Sections 1 or 2 of this License shall terminate prospectively upon sixty (60) days notice from Respondent (the "Notice Period") unless within that Notice Period you either agree in writing (i) to pay Respondent a mutually agreeable reasonably royalty for your past or future use of Licensed Product made by such Respondent, or (ii) withdraw your litigation claim with respect to Licensed Product against such Respondent. If within said Notice Period a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Licensor to you under Sections 1 and 2 automatically terminate at the expiration of said Notice Period.
+
+ c. Reasonable Value of This License. If you assert a patent infringement claim against Respondent alleging that Licensed Product directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by said Respondent under Sections 1 and 2 shall be taken into account in determining the amount or value of any payment or license.
+
+ d. No Retroactive Effect of Termination. In the event of termination under Sections 9(a) or 9(b) above, all end user license agreements (excluding licenses to distributors and reselle rs) that have been validly granted by you or any distributor hereunder prior to termination shall survive termination.
+
+10. Limitation of Liability.
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE LICENSOR, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF LICENSED PRODUCT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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
\ No newline at end of file
diff --git a/options/license/Mozilla Public License 1.0 b/options/license/Mozilla Public License 1.0
deleted file mode 100644
index 731f43c..0000000
--- a/options/license/Mozilla Public License 1.0
+++ /dev/null
@@ -1,122 +0,0 @@
-MOZILLA PUBLIC LICENSE
-Version 1.0
-1. Definitions.
-
-1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications.
-
-1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
-
-1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
-
-1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data.
-
-1.5. ``Executable'' means Covered Code in any form other than Source Code.
-
-1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
-
-1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
-
-1.8. ``License'' means this document.
-
-1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
-
-A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
-
-B. Any new file that contains any part of the Original Code or previous Modifications.
-
-1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
-
-1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
-
-1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, ``You'' includes any entity which 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 fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
-
-2. Source Code License.
-
-2.1. The Initial Developer Grant.
-The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
-
-(a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and
-
-(b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations.
-
-2.2. Contributor Grant.
-Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
-
-(a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and
-
-(b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations.
-
-3. Distribution Obligations.
-
-3.1. Application of License.
-The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
-
-3.2. Availability of Source Code.
-Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
-
-3.3. Description of Modifications.
-You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
-
-3.4. Intellectual Property Matters
-
-(a) Third Party Claims.
-If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
-
-(b) Contributor APIs.
-If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file.
-
-3.5. Required Notices.
-You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
-
-3.6. Distribution of Executable Versions.
-You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
-
-3.7. Larger Works.
-You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
-
-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 Code due to statute 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 included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. 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. Application of this License.
-This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code.
-
-6. Versions of the License.
-
-6.1. New Versions.
-Netscape Communications Corporation (``Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
-
-6.2. Effect of New Versions.
-Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License.
-
-6.3. Derivative Works.
-If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
-
-7. DISCLAIMER OF WARRANTY.
-COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE 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 CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER 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 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-8. TERMINATION.
-This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
-
-9. LIMITATION OF LIABILITY.
-UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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 THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-
-10. U.S. GOVERNMENT END USERS.
-The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
-
-11. MISCELLANEOUS.
-This License represents the complete agreement concerning 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. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
-
-12. RESPONSIBILITY FOR CLAIMS.
-Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis.
-
-EXHIBIT A.
-
-``The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
-
-Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
-
-The Original Code is ______________________________________.
-
-The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved.
-
-Contributor(s): ______________________________________.''
diff --git a/options/license/Mozilla Public License 2.0 b/options/license/Mozilla Public License 2.0
deleted file mode 100644
index e57837d..0000000
--- a/options/license/Mozilla Public License 2.0
+++ /dev/null
@@ -1,143 +0,0 @@
-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
-
-(a) that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or
-
-(b) 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:
-
-(a) any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or
-
-(b) 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:
-
-(a) 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
-
-(b) 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:
-
-(a) for any code that a Contributor has removed from Covered Software; or
-
-(b) 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
-
-(c) 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:
-
-(a) 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
-
-(b) 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 http://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.
diff --git a/options/license/Multics b/options/license/Multics
new file mode 100644
index 0000000..60c1cd3
--- /dev/null
+++ b/options/license/Multics
@@ -0,0 +1,13 @@
+Multics License
+
+Historical Background
+
+This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. .
+
+-----------------------------------------------------------
+
+Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission.
+
+Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc.
+Copyright 2006 by BULL HN Information Systems Inc.
+Copyright 2006 by Bull SAS All Rights Reserved
\ No newline at end of file
diff --git a/options/license/Mup b/options/license/Mup
new file mode 100644
index 0000000..c2e6bc9
--- /dev/null
+++ b/options/license/Mup
@@ -0,0 +1,13 @@
+Copyright (c) 1995-2012 by Arkkra Enterprises. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following DISCLAIMER.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following DISCLAIMER in the documentation and/or other materials provided with the distribution.
+
+3. Any additions, deletions, or changes to the original files must be clearly indicated in accompanying documentation. including the reasons for the changes, and the names of those who made the modifications.
+
+DISCLAIMER
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/NASA-1.3 b/options/license/NASA-1.3
new file mode 100644
index 0000000..2dc1ad6
--- /dev/null
+++ b/options/license/NASA-1.3
@@ -0,0 +1,85 @@
+NASA OPEN SOURCE AGREEMENT VERSION 1.3
+
+THIS OPEN SOURCE AGREEMENT ("AGREEMENT") DEFINES THE RIGHTS OF USE, REPRODUCTION, DISTRIBUTION, MODIFICATION AND REDISTRIBUTION OF CERTAIN COMPUTER SOFTWARE ORIGINALLY RELEASED BY THE UNITED STATES GOVERNMENT AS REPRESENTED BY THE GOVERNMENT AGENCY LISTED BELOW ("GOVERNMENT AGENCY"). THE UNITED STATES GOVERNMENT, AS REPRESENTED BY GOVERNMENT AGENCY, IS AN INTENDED THIRD-PARTY BENEFICIARY OF ALL SUBSEQUENT DISTRIBUTIONS OR REDISTRIBUTIONS OF THE SUBJECT SOFTWARE. ANYONE WHO USES, REPRODUCES, DISTRIBUTES, MODIFIES OR REDISTRIBUTES THE SUBJECT SOFTWARE, AS DEFINED HEREIN, OR ANY PART THEREOF, IS, BY THAT ACTION, ACCEPTING IN FULL THE RESPONSIBILITIES AND OBLIGATIONS CONTAINED IN THIS AGREEMENT.
+
+Government Agency: _____ Government Agency Original Software Designation: __ Government Agency Original Software Title: _____ User Registration Requested. Please Visit http://___ Government Agency Point of Contact for Original Software: _____
+
+DEFINITIONS
+
+A. "Contributor" means Government Agency, as the developer of the Original Software, and any entity that makes a Modification. B. "Covered Patents" mean patent claims licensable by a Contributor that are necessarily infringed by the use or sale of its Modification alone or when combined with the Subject Software. C. "Display" means the showing of a copy of the Subject Software, either directly or by means of an image, or any other device. D. "Distribution" means conveyance or transfer of the Subject Software, regardless of means, to another. E. "Larger Work" means computer software that combines Subject Software, or portions thereof, with software separate from the Subject Software that is not governed by the terms of this Agreement. F. "Modification" means any alteration of, including addition to or deletion from, the substance or structure of either the Original Software or Subject Software, and includes derivative works, as that term is defined in the Copyright Statute, 17 USC 101. However, the act of including Subject Software as part of a Larger Work does not in and of itself constitute a Modification. G. "Original Software" means the computer software first released under this Agreement by Government Agency with Government Agency designation __ and entitled _________, including source code, object code and accompanying documentation, if any. H. "Recipient" means anyone who acquires the Subject Software under this Agreement, including all Contributors. I. "Redistribution" means Distribution of the Subject Software after a Modification has been made. J. "Reproduction" means the making of a counterpart, image or copy of the Subject Software. K. "Sale" means the exchange of the Subject Software for money or equivalent value. L. "Subject Software" means the Original Software, Modifications, or any respective parts thereof. M. "Use" means the application or employment of the Subject Software for any purpose.
+
+GRANT OF RIGHTS
+
+A. Under Non-Patent Rights: Subject to the terms and conditions of this Agreement, each Contributor, with respect to its own contribution to the Subject Software, hereby grants to each Recipient a non-exclusive, world-wide, royalty-free license to engage in the following activities pertaining to the Subject Software:
+
+ 1. Use
+ 2. Distribution
+ 3. Reproduction
+ 4. Modification
+ 5. Redistribution
+ 6. Display
+
+B. Under Patent Rights: Subject to the terms and conditions of this Agreement, each Contributor, with respect to its own contribution to the Subject Software, hereby grants to each Recipient under Covered Patents a non-exclusive, world-wide, royalty-free license to engage in the following activities pertaining to the Subject Software:
+
+ 1. Use
+ 2. Distribution
+ 3. Reproduction
+ 4. Sale
+ 5. Offer for Sale
+
+C. The rights granted under Paragraph B. also apply to the combination of a Contributor's Modification and the Subject Software if, at the time the Modification is added by the Contributor, the addition of such Modification causes the combination to be covered by the Covered Patents. It does not apply to any other combinations that include a Modification.
+
+D. The rights granted in Paragraphs A. and B. allow the Recipient to sublicense those same rights. Such sublicense must be under the same terms and conditions of this Agreement.
+
+OBLIGATIONS OF RECIPIENT
+
+A. Distribution or Redistribution of the Subject Software must be made under this Agreement except for additions covered under paragraph 3H.
+
+ 1. Whenever a Recipient distributes or redistributes the Subject Software, a copy of this Agreement must be included with each copy of the Subject Software; and
+ 2. If Recipient distributes or redistributes the Subject Software in any form other than source code, Recipient must also make the source code freely available, and must provide with each copy of the Subject Software information on how to obtain the source code in a reasonable manner on or through a medium customarily used for software exchange.
+
+B. Each Recipient must ensure that the following copyright notice appears prominently in the Subject Software:
+
+[Government Agency will insert the applicable copyright notice in each agreement accompanying the initial distribution of original software and remove this bracketed language.]
+
+[The following copyright notice will be used if created by a contractor pursuant to Government Agency contract and rights obtained from creator by assignment. Government Agency will insert the year and its Agency designation and remove the bracketed language.] Copyright (c) {YEAR} United States Government as represented by ___ ____. All Rights Reserved.
+
+[The following copyright notice will be used if created by civil servants only. Government Agency will insert the year and its Agency designation and remove the bracketed language.] Copyright (c) {YEAR} United States Government as represented by ____ ____. No copyright is claimed in the United States under Title 17, U.S.Code. All Other Rights Reserved.
+
+C. Each Contributor must characterize its alteration of the Subject Software as a Modification and must identify itself as the originator of its Modification in a manner that reasonably allows subsequent Recipients to identify the originator of the Modification. In fulfillment of these requirements, Contributor must include a file (e.g., a change log file) that describes the alterations made and the date of the alterations, identifies Contributor as originator of the alterations, and consents to characterization of the alterations as a Modification, for example, by including a statement that the Modification is derived, directly or indirectly, from Original Software provided by Government Agency. Once consent is granted, it may not thereafter be revoked.
+
+D. A Contributor may add its own copyright notice to the Subject Software. Once a copyright notice has been added to the Subject Software, a Recipient may not remove it without the express permission of the Contributor who added the notice.
+
+E. A Recipient may not make any representation in the Subject Software or in any promotional, advertising or other material that may be construed as an endorsement by Government Agency or by any prior Recipient of any product or service provided by Recipient, or that may seek to obtain commercial advantage by the fact of Government Agency's or a prior Recipient's participation in this Agreement.
+
+F. In an effort to track usage and maintain accurate records of the Subject Software, each Recipient, upon receipt of the Subject Software, is requested to register with Government Agency by visiting the following website: ______. Recipient's name and personal information shall be used for statistical purposes only. Once a Recipient makes a Modification available, it is requested that the Recipient inform Government Agency at the web site provided above how to access the Modification.
+
+[Alternative paragraph for use when a web site for release and monitoring of subject software will not be supported by releasing Government Agency] In an effort to track usage and maintain accurate records of the Subject Software, each Recipient, upon receipt of the Subject Software, is requested to provide Government Agency, by e-mail to the Government Agency Point of Contact listed in clause 5.F., the following information: ______. Recipient's name and personal information shall be used for statistical purposes only. Once a Recipient makes a Modification available, it is requested that the Recipient inform Government Agency, by e-mail to the Government Agency Point of Contact listed in clause 5.F., how to access the Modification.
+
+G. Each Contributor represents that that its Modification is believed to be Contributor's original creation and does not violate any existing agreements, regulations, statutes or rules, and further that Contributor has sufficient rights to grant the rights conveyed by this Agreement.
+
+H. A Recipient may choose to offer, and to charge a fee for, warranty, support, indemnity and/or liability obligations to one or more other Recipients of the Subject Software. A Recipient may do so, however, only on its own behalf and not on behalf of Government Agency or any other Recipient. Such a Recipient must make it absolutely clear that any such warranty, support, indemnity and/or liability obligation is offered by that Recipient alone. Further, such Recipient agrees to indemnify Government Agency and every other Recipient for any liability incurred by them as a result of warranty, support, indemnity and/or liability offered by such Recipient.
+
+I. A Recipient may create a Larger Work by combining Subject Software with separate software not governed by the terms of this agreement and distribute the Larger Work as a single product. In such case, the Recipient must make sure Subject Software, or portions thereof, included in the Larger Work is subject to this Agreement.
+
+J. Notwithstanding any provisions contained herein, Recipient is hereby put on notice that export of any goods or technical data from the United States may require some form of export license from the U.S. Government. Failure to obtain necessary export licenses may result in criminal liability under U.S. laws. Government Agency neither represents that a license shall not be required nor that, if required, it shall be issued. Nothing granted herein provides any such export license.
+
+DISCLAIMER OF WARRANTIES AND LIABILITIES; WAIVER AND INDEMNIFICATION
+
+A. No Warranty: THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN ANY MANNER, CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER, GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES IT "AS IS."
+
+B. Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT'S USE OF THE SUBJECT SOFTWARE RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING FROM, RECIPIENT'S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY AND HOLD HARMLESS THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY LAW. RECIPIENT'S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE, UNILATERAL TERMINATION OF THIS AGREEMENT.
+
+GENERAL TERMS
+
+A. Termination: This Agreement and the rights granted hereunder will terminate automatically if a Recipient fails to comply with these terms and conditions, and fails to cure such noncompliance within thirty (30) days of becoming aware of such noncompliance. Upon termination, a Recipient agrees to immediately cease use and distribution of the Subject Software. All sublicenses to the Subject Software properly granted by the breaching Recipient shall survive any such termination of this Agreement.
+
+B. Severability: If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement.
+
+C. Applicable Law: This Agreement shall be subject to United States federal law only for all purposes, including, but not limited to, determining the validity of this Agreement, the meaning of its provisions and the rights, obligations and remedies of the parties.
+
+D. Entire Understanding: This Agreement constitutes the entire understanding and agreement of the parties relating to release of the Subject Software and may not be superseded, modified or amended except by further written agreement duly executed by the parties.
+
+E. Binding Authority: By accepting and using the Subject Software under this Agreement, a Recipient affirms its authority to bind the Recipient to all terms and conditions of this Agreement and that that Recipient hereby agrees to all terms and conditions herein.
+
+F. Point of Contact: Any Recipient contact with Government Agency is to be directed to the designated representative as follows: ___________.
\ No newline at end of file
diff --git a/options/license/NBPL-1.0 b/options/license/NBPL-1.0
new file mode 100644
index 0000000..699619c
--- /dev/null
+++ b/options/license/NBPL-1.0
@@ -0,0 +1,59 @@
+The Net Boolean Public License
+
+Version 1, 22 August 1998 Copyright 1998, Net Boolean Incorporated, Redwood City, California, USA All Rights Reserved.
+
+Note: This license is derived from the "Artistic License" as distributed with the Perl Programming Language. Its terms are different from those of the "Artistic License."
+
+PREAMBLE
+
+The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder.
+
+ "Copyright Holder" is whoever is named in the copyright or copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as uunet.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of the Package with your modifications.
+
+ c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package.
+
+7. C subroutines supplied by you and linked into this Package in order to emulate subroutines and variables of the language defined by this Package shall not be considered part of this Package, but are the equivalent of input as in Paragraph 6, provided these subroutines do not change the language in any way that would cause it to fail the regression tests for the language.
+
+8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
\ No newline at end of file
diff --git a/options/license/NCSA b/options/license/NCSA
new file mode 100644
index 0000000..875e4dd
--- /dev/null
+++ b/options/license/NCSA
@@ -0,0 +1,15 @@
+University of Illinois/NCSA Open Source License
+
+Copyright (c) < ;match=.+>>. All rights reserved.
+
+Developed by: < ;match=.+>>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal with 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:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimers.
+
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution.
+
+ * Neither the names of <;match=.+>>, nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission.
+
+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 CONTRIBUTORS 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 WITH THE SOFTWARE.
\ No newline at end of file
diff --git a/options/license/NGPL b/options/license/NGPL
new file mode 100644
index 0000000..6f6ee54
--- /dev/null
+++ b/options/license/NGPL
@@ -0,0 +1,39 @@
+NETHACK GENERAL PUBLIC LICENSE
+
+(Copyright 1989 M. Stephenson)
+(Based on the BISON general public license, copyright 1988 Richard M. Stallman)
+
+Everyone is permitted to copy and distribute verbatim copies of this license, but changing it is not allowed. You can also use this wording to make the terms for other programs.
+
+The license agreements of most software companies keep you at the mercy of those companies. By contrast, our general public license is intended to give everyone the right to share NetHack. To make sure that you get the rights we want you to have, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. Hence this license agreement.
+
+Specifically, we want to make sure that you have the right to give away copies of NetHack, that you receive source code or else can get it if you want it, that you can change NetHack or use pieces of it in new free programs, and that you know you can do these things.
+
+To make sure that everyone has such rights, we have to forbid you to deprive anyone else of these rights. For example, if you distribute copies of NetHack, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must tell them their rights.
+
+Also, for our own protection, we must make certain that everyone finds out that there is no warranty for NetHack. If NetHack is modified by someone else and passed on, we want its recipients to know that what they have is not what we distributed.
+
+Therefore we (Mike Stephenson and other holders of NetHack copyrights) make the following terms which say what you must do to be allowed to distribute or change NetHack.
+
+COPYING POLICIES
+
+You may copy and distribute verbatim copies of NetHack source code as you receive it, in any medium, provided that you keep intact the notices on all files that refer to copyrights, to this License Agreement, and to the absence of any warranty; and give any other recipients of the NetHack program a copy of this License Agreement along with the program.
+
+You may modify your copy or copies of NetHack or any portion of it, and copy and distribute such modifications under the terms of Paragraph 1 above (including distributing this License Agreement), provided that you also do the following:
+
+ a) cause the modified files to carry prominent notices stating that you changed the files and the date of any change; and
+
+ b) cause the whole of any work that you distribute or publish, that in whole or in part contains or is a derivative of NetHack or any part thereof, to be licensed at no charge to all third parties on terms identical to those contained in this License Agreement (except that you may choose to grant more extensive warranty protection to some or all third parties, at your option)
+
+ c) You may charge a distribution fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+
+You may copy and distribute NetHack (or a portion or derivative of it, under Paragraph 2) in object code or executable form under the terms of Paragraphs 1 and 2 above provided that you also do one of the following:
+
+ a) accompany it with the complete machine-readable source code, which must be distributed under the terms of Paragraphs 1 and 2 above; or,
+
+ b) accompany it with full information as to how to obtain the complete machine-readable source code from an appropriate archive site. (This alternative is allowed only for noncommercial distribution.)
+
+For these purposes, complete source code means either the full source distribution as originally released over Usenet or updated copies of the files in this distribution used to create the object code or executable.
+
+You may not copy, sublicense, distribute or transfer NetHack except as expressly provided under this License Agreement. Any attempt otherwise to copy, sublicense, distribute or transfer NetHack is void and your rights to use the program under this License agreement shall be automatically terminated. However, parties who have received computer software programs from you with this License Agreement will not have their licenses terminated so long as such parties remain in full compliance.
+Stated plainly: You are permitted to modify NetHack, or otherwise use parts of NetHack, provided that you comply with the conditions specified above; in particular, your modified NetHack or program containing parts of NetHack must remain freely available as provided in this License Agreement. In other words, go ahead and share NetHack, but don't try to stop anyone else from sharing it farther.
diff --git a/options/license/NLOD-1.0 b/options/license/NLOD-1.0
new file mode 100644
index 0000000..a513227
--- /dev/null
+++ b/options/license/NLOD-1.0
@@ -0,0 +1,80 @@
+Norwegian Licence for Open Government Data (NLOD)
+
+Preface of licence
+
+This licence grants you the right to copy, use and distribute information, provided you acknowledge the contributors and comply with the terms and conditions stipulated in this licence. By using information made available under this licence, you accept the terms and conditions set forth in this licence. As set out in Section 7, the licensor disclaims any and all liability for the quality of the information and what the information is used for.
+
+This licence shall not impose any limitations on the rights or freedoms of the licensee under the Norwegian Freedom of Information Act or any other legislation granting the general public a right of access to public sector information, or that follow from exemptions or limitations stipulated in the Norwegian Copyright Act. Further, the licence shall not impose any limitations on the licensee's freedom of expression recognized by law.
+
+1. Definitions
+
+ «Database» shall mean a database or similar protected under Section 43 of the Norwegian Copyright Act.
+ «Information» shall mean texts, images, recordings, data sets or other works protected under Section 1 of the Norwegian Copyright Act, or which are protected under provisions addressing what is referred to as «neighbouring rights» in Chapter 5 of the Norwegian Copyright Act (including databases and photographs), and which are distributed under this licence.
+ «Copy» shall mean reproduction in any form.
+ «Licensee» and «you» shall mean natural or legal persons using information under this licence.
+ «Licensor» shall mean the natural or legal person that makes information available under this licence.
+ «Distribute» shall mean any actions whereby information is made available, including to distribute, transfer, communicate, disperse, show, perform, sell, lend and rent.
+ «Use» shall mean one or more actions relevant to copyright law requiring permission from the owner of the copyright.
+
+2. Licence
+The licensee, subject to the limitations that follow from this licence, may use the information for any purpose and in all contexts, by:
+
+ * copying the information and distributing the information to others,
+ * modifying the information and/or combining the information with other information, and
+ * copying and distributing such changed or combined information.
+ * This is a non-exclusive, free, perpetual and worldwide licence. The information may be used in any medium and format known today and/or which will become known in the future. The Licensee shall not sub-license or transfer this licence.
+
+3. Exemptions
+The licence does not apply to and therefore does not grant a right to use:
+
+ * information which contains personal data covered by the Norwegian Personal Data Act unless there is a legitimate basis for the disclosure and further processing of the personal data
+ * information distributed in violation of a statutory obligation to observe confidentiality
+ * information excluded from public disclosure pursuant to law, including information deemed sensitive under the Norwegian National Security Act
+ * information subject to third party rights which the licensor is not authorised to license to the licensee
+ * information protected by intellectual property rights other than copyright and neighbouring rights in accordance with Chapter 5 of the Norwegian Copyright Act, such as trademarks, patents and design rights, but this does not entail an impediment to use information where the licensor's logo has been permanently integrated into the information or to attribute the origin of the information in accordance with the article below relating to attribution.
+
+If the licensor has made available information not covered by the licence according to the above list, the licensee must cease all use of the information under the licence, and erase the information as soon as he or she becomes aware of or should have understood that the information is not covered by the licence.
+
+4. Effects of breach of the licence
+The licence is subject to the licensee's compliance with the terms and conditions of this licence. In the event that the licensee commits a breach of this licence, this will entail that the licensee's right to use the information will be revoked immediately without further notice. In case of such a breach, the licensee must immediately and without further notice take measures to cause the infringement to end. Because the right to use the information has been terminated, the licensee must cease all use of the information by virtue of the licence.
+
+5. Attribution
+The licensee shall attribute the licensor as specified by the licensor and include a reference to this licence. To the extent practically possible, the licensee shall provide a link to both this licence and the source of the information.
+
+If the licensor has not specified how attributions shall be made, the licensee shall normally state the following: «Contains data under the Norwegian licence for Open Government data (NLOD) distributed by [name of licensor]».
+
+If the licensor has specified that the information shall only be available under a specific version of this licence, cf. Section 10, the licensee shall also state this.
+
+If the information has been changed, the licensee must clearly indicate that changes have been made by the licensee.
+
+6. Proper use
+The licensee shall not use the information in a manner that appears misleading nor present the information in a distorted or incorrect manner.
+Neither the licensor's nor other contributors' names or trademarks must be used to support, recommend or market the licensee or any products or services using the information.
+
+7. Disclaimer of liability
+The information is licensed «as is». The information may contain errors and omissions. The licensor provides no warranties, including relating to the content and relevance of the information.
+
+The licensor disclaims any liability for errors and defects associated with the information to the maximum extent permitted by law.
+
+The licensor shall not be liable for direct or indirect losses as a result of use of the information or in connection with copying or further distribution of the information.
+
+8. Guarantees regarding data quality and accessibility
+This licence does not prevent the licensor from issuing supplementary statements regarding expected or intended data quality and accessibility. Such statements shall be regarded as indicative in nature and not binding on the part of the licensor. The disclaimers in Section 7 also apply in full for such indicative statements. Based on separate agreement, the licensor may provide guarantees and distribute the information on terms and conditions different from those set forth in this licence.
+
+9. Licence compatibility
+If the licensee is to distribute an adapted or combined work based on information covered by this licence and some other work licensed under a licence compatible by contract, such distribution may be based on an appropriate licence compatible by contract, cf. the list below.
+
+A licence compatible by contract shall mean the following licences:
+
+ * for all information: Open Government Licence (version 1.0),
+ * for those parts of the information which do not constitute databases: Creative Commons Attribution Licence (generic version 1.0, 2.0, 2.5 and unported version 3.0) and Creative Commons Navngivelse 3.0 Norge,
+ * for those parts of the information which constitute databases: Open Data Commons Attribution License (version 1.0).
+
+This provision does not prevent other licences from being compatible with this licence based on their content.
+
+10. New versions of the licence
+The licensee may choose to use the information covered by this licence under any new versions of the Norwegian licence for Open Government data (NLOD) issued by the responsible ministry (currently the Ministry of Government Administration, Reform and Church Affairs) when these versions are final and official, unless the licensor when making the information available under this licence specifically has stated that solely version 1.0 of this licence may be used.
+
+11. Governing law and legal venue
+This licence, including its formation, and any disputes and claims arising in connection with or relating to this licence, shall be regulated by Norwegian law. The legal venue shall be the licensor's ordinary legal venue. The licensor may, with regard to intellectual proprietary rights, choose to pursue a claim at other competent legal venues and/or based on the laws of the country where the intellectual property rights are sought enforced.
+
diff --git a/options/license/NLPL b/options/license/NLPL
new file mode 100644
index 0000000..79f83af
--- /dev/null
+++ b/options/license/NLPL
@@ -0,0 +1,14 @@
+NO LIMIT PUBLIC LICENSE
+ Version 0, June 2012
+
+Gilles LAMIRAL
+La Billais
+35580 Baulon
+France
+
+NO LIMIT PUBLIC LICENSE
+
+Terms and conditions for copying, distribution, modification
+or anything else.
+
+ 0. No limit to do anything with this work and this license.
diff --git a/options/license/NOSL b/options/license/NOSL
new file mode 100644
index 0000000..41a874d
--- /dev/null
+++ b/options/license/NOSL
@@ -0,0 +1,151 @@
+NETIZEN OPEN SOURCE LICENSE
+Version 1.0
+
+1. Definitions.
+
+ 1.0.1. "Commercial Use" means distribution or otherwise making the Covered Code available to a third party.
+
+ 1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+ 1.3. "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+ 1.4. "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.5. "Executable" means Covered Code in any form other than Source Code.
+
+ 1.6. "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+ 1.7. "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.8. "License" means this document.
+
+ 1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+ 1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+ 1.11. "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+ 1.12. "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which 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. Source Code License.
+
+ 2.1. The Initial Developer Grant. The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+ (b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+ (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
+
+ 2.2. Contributor Grant.
+ Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
+ (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+ (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code.
+ (d) Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+ 3.1. Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+ 3.2. Availability of Source Code. Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+ 3.3. Description of Modifications. You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+ 3.4. Intellectual Property Matters
+ (a) Third Party Claims.
+ If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+ (b) Contributor APIs.
+ If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
+ (c) Representations.
+ Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+trend
+
+ 3.5. Required Notices.
+ You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.6. Distribution of Executable Versions.
+ You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+ 3.7. Larger Works.
+ You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single LEDs product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+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 Code 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 included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. 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. Application of this License.
+
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+ 6.1. New Versions.
+ Netizen Pty Ltd ("Netizen ") may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+ 6.2. Effect of New Versions.
+ Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netizen. No one other than Netizen has the right to modify the terms applicable to Covered Code created under this License.
+
+ 6.3. Derivative Works.
+ If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases "Netizen", "NOSL" or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the Netizen Open Source License and Xen Open Source License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY.
+
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE 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 CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER 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 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+ 7.1 To the extent permitted by law and except as expressly provided to the contrary in this Agreement, all warranties whether express, implied, statutory or otherwise, relating in any way to the subject matter of this Agreement or to this Agreement generally, are excluded. Where legislation implies in this Agreement any condition or warranty and that legislation avoids or prohibits provisions in a contract excluding or modifying the application of or the exercise of or liability under such term, such term shall be deemed to be included in this Agreement. However, the liability of Supplier for any breach of such term shall be limited, at the option of Supplier, to any one or more of the following: if the breach related to goods: the replacement of the goods or the supply of equivalent goods; the repair of such goods; the payment of the cost of replacing the goods or of acquiring equivalent goods; or the payment of the cost of having the goods repaired; and if the breach relates to services the supplying of the services again; or the payment of the cost of having the services supplied again.
+
+8. TERMINATION.
+
+ 8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+ 8.2. If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that:
+ (a) such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+ (b) any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
+
+ 8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+ 8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY.
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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.
+
+10. U.S. GOVERNMENT END USERS.
+
+The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. MISCELLANEOUS.
+
+This License represents the complete agreement concerning 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.
+This Agreement shall be governed by and construed according to the law of the State of Victoria. The parties irrevocably submit to the exclusive jurisdiction of the Courts of Victoria and Australia and any Courts hearing appeals from such Courts. This Agreement is deemed to have been made in Victoria.
+The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+
+As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+13. MULTIPLE-LICENSED CODE.
+
+Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the NPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.
+
+EXHIBIT A - Netizen Open Source License
+
+ ``The contents of this file are subject to the Netizen Open Source License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://netizen.com.au/licenses/NOPL/
+
+ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+ The Original Code is ______________________________________.
+
+ The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved.
+
+ Contributor(s): ______________________________________.
+
+ Alternatively, the contents of this file may be used under the terms of the _____ license (the "[___] License"), in which case the provisions of [______] License are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the NOSL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the [___] License. If you do not delete the provisions above, a recipient may use your version of this file under either the NOSL or the [___] License."
+
+ [NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.]
diff --git a/options/license/NPL-1.0 b/options/license/NPL-1.0
new file mode 100644
index 0000000..7e2addf
--- /dev/null
+++ b/options/license/NPL-1.0
@@ -0,0 +1,99 @@
+NETSCAPE PUBLIC LICENSE
Version 1.0
+
+1. Definitions.
+
+ 1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications.
+
+ 1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+ 1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+ 1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data.
+ 1.5. ``Executable'' means Covered Code in any form other than Source Code.
+ 1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required byExhibit A.
+ 1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+ 1.8. ``License'' means this document.
+ 1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required byExhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+ 1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+ 1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, ``You'' includes any entity which 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 fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+2. Source Code License.
+
+ 2.1. The Initial Developer Grant. The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+ a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and
(b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations.
+
+ 2.2. Contributor Grant.
Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+ (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and
(b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations.
+
+3. Distribution Obligations.
+
+ 3.1. Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+ 3.2. Availability of Source Code. Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+ 3.3. Description of Modifications. You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+ 3.4. Intellectual Property Matters
+ (a) Third Party Claims. If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+ (b) Contributor APIs. If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file.
+
+ 3.5. Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+ 3.6. Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+ 3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+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 Code due to statute 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 included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. 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. Application of this License.
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code.
+
+6. Versions of the License.
+ 6.1. New Versions. Netscape Communications Corporation (``Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+ 6.2. Effect of New Versions. Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License.
+ 6.3. Derivative Works. If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY.
+
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE 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 CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER 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 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+9. LIMITATION OF LIABILITY.
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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 THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS.
+
+The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. MISCELLANEOUS.
+
+This License represents the complete agreement concerning 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. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+
+Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis.
+
+AMENDMENTS
+Additional Terms applicable to the Netscape Public License.
+
+ I. Effect.
These additional terms described in this Netscape Public License -- Amendments shall apply to the Mozilla Communicator client code and to all Covered Code under this License.
+ II. ``Netscape's Branded Code'' means Covered Code that Netscape distributes and/or permits others to distribute under one or more trademark(s) which are controlled by Netscape but which are not licensed for use under this License.
+ III. Netscape and logo.
This License does not grant any rights to use the trademark ``Netscape'', the ``Netscape N and horizon'' logo or the Netscape lighthouse logo, even if such marks are included in the Original Code.
+ IV. Inability to Comply Due to Contractual Obligation.
Prior to licensing the Original Code under this License, Netscape has licensed third party code for use in Netscape's Branded Code. To the extent that Netscape is limited contractually from making such third party code available under this License, Netscape may choose to reintegrate such code into Covered Code without being required to distribute such code in
+Source Code form, even if such code would otherwise be considered ``Modifications'' under this License.
+ V. Use of Modifications and Covered Code by Initial Developer.
+ V.1. In General. The obligations of Section 3 apply to Netscape, except to the extent specified in this Amendment, Section V.2 and V.3.
V.2. Other Products. Netscape may include Covered Code in products other than the Netscape's Branded Code which are released by Netscape during the two (2) years following the release date of the Original Code, without such additional products becoming subject to the terms of this License, and may license such additional products on different terms from those contained in this License.
V.3. Alternative Licensing. Netscape may license the Source Code of Netscape's Branded Code, including Modifications incorporated therein, without such additional products becoming subject to the terms of this License, and may license such additional products on different terms from those contained in this License.
+
+ VI. Arbitration and Litigation.
Notwithstanding the limitations of Section 11 above, the provisions regarding arbitration and litigation in Section 11(a), (b) and (c) of the License shall apply to all disputes relating to this License.
+
+EXHIBIT A.
+
+“The contents of this file are subject to the Netscape Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/NPL/
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+The Original Code is Mozilla Communicator client code, released March 31, 1998.
+The Initial Developer of the Original Code is Netscape Communications Corporation. Portions created by Netscape are Copyright (C) 1998 Netscape Communications Corporation. All Rights Reserved.
+Contributor(s): ______________________________________.”
[NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. This is due to time constraints encountered in simultaneously finalizing the License and in preparing the Original Code for release. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.]
diff --git a/options/license/NPL-1.1 b/options/license/NPL-1.1
new file mode 100644
index 0000000..f0640d7
--- /dev/null
+++ b/options/license/NPL-1.1
@@ -0,0 +1,176 @@
+Netscape Public LIcense version 1.1
+
+AMENDMENTS
+
+The Netscape Public License Version 1.1 ("NPL") consists of the Mozilla Public License Version 1.1 with the following Amendments, including Exhibit A-Netscape Public License. Files identified with "Exhibit A-Netscape Public License" are governed by the Netscape Public License Version 1.1.
+
+Additional Terms applicable to the Netscape Public License.
+
+ I. Effect.
+ These additional terms described in this Netscape Public License -- Amendments shall apply to the Mozilla Communicator client code and to all Covered Code under this License.
+
+ II. "Netscape's Branded Code" means Covered Code that Netscape distributes and/or permits others to distribute under one or more trademark(s) which are controlled by Netscape but which are not licensed for use under this License.
+ III. Netscape and logo.
This License does not grant any rights to use the trademarks "Netscape", the "Netscape N and horizon" logo or the "Netscape lighthouse" logo, "Netcenter", "Gecko", "Java" or "JavaScript", "Smart Browsing" even if such marks are included in the Original Code or Modifications.
+ IV. Inability to Comply Due to Contractual Obligation.
Prior to licensing the Original Code under this License, Netscape has licensed third party code for use in Netscape's Branded Code. To the extent that Netscape is limited contractually from making such third party code available under this License, Netscape may choose to reintegrate such code into Covered Code without being required to distribute such code in Source Code form, even if such code would otherwise be considered "Modifications" under this License.
+ V. Use of Modifications and Covered Code by Initial Developer.
+ V.1. In General.
+ The obligations of Section 3 apply to Netscape, except to the extent specified in this Amendment, Section V.2 and V.3.
+
+ V.2. Other Products.
Netscape may include Covered Code in products other than the Netscape's Branded Code which are released by Netscape during the two (2) years following the release date of the Original Code, without such additional products becoming subject to the terms of this License, and may license such additional products on different terms from those contained in this License.
+ V.3. Alternative Licensing.
Netscape may license the Source Code of Netscape's Branded Code, including Modifications incorporated therein, without such Netscape Branded Code becoming subject to the terms of this License, and may license such Netscape Branded Code on different terms from those contained in this License.
+ VI. Litigation.
+ Notwithstanding the limitations of Section 11 above, the provisions regarding litigation in Section 11(a), (b) and (c) of the License shall apply to all disputes relating to this License.
+
EXHIBIT A-Netscape Public License.
+
+"The contents of this file are subject to the Netscape Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/NPL/
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+The Original Code is Mozilla Communicator client code, released March 31, 1998.
+The Initial Developer of the Original Code is Netscape Communications Corporation. Portions created by Netscape are Copyright (C) 1998-1999 Netscape Communications Corporation. All Rights Reserved.
Contributor(s): ______________________________________.
+
+Alternatively, the contents of this file may be used under the terms of the _____ license (the "[___] License"), in which case the provisions of [______] License are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the NPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the [___] License. If you do not delete the provisions above, a recipient may use your version of this file under either the NPL or the [___] License."
+
+
+Mozilla Public License Version 1.1
+
+1. Definitions.
+
+ 1.0.1. "Commercial Use" means distribution or otherwise making the Covered Code available to a third party.
+
+ 1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+ 1.3. "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+ 1.4. "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.5. "Executable" means Covered Code in any form other than Source Code.
+
+ 1.6. "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+ 1.7. "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.8. "License" means this document.
+
+ 1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+ 1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+ 1.11. "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+ 1.12. "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which 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. Source Code License.
+
+ 2.1. The Initial Developer Grant. The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ a. under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+ b. under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+ c. the licenses granted in this Section 2.1 (a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
+ d. Notwithstanding Section 2.1 (b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
+
+ 2.2. Contributor Grant. Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
+
+ a. under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
+ b. under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+ c. the licenses granted in Sections 2.2 (a) and 2.2 (b) are effective on the date Contributor first makes Commercial Use of the Covered Code.
+ d. Notwithstanding Section 2.2 (b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+ 3.1. Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+ 3.2. Availability of Source Code. Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+ 3.3. Description of Modifications. You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+ 3.4. Intellectual Property Matters
+
+ (a) Third Party Claims
+ If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+
+ (b) Contributor APIs
+ If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
+
+ (c) Representations.
+ Contributor represents that, except as disclosed pursuant to Section 3.4 (a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+
+ 3.5. Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.6. Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Sections 3.1, 3.2, 3.3, 3.4 and 3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+ 3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+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 Code 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 included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. 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. Application of this License.
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+ 6.1. New Versions
+ Netscape Communications Corporation ("Netscape") may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+ 6.2. Effect of New Versions
+ Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License.
+
+ 6.3. Derivative Works
+ If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", "MPL", "NPL" or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE 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 CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER 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 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. Termination
+
+ 8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+ 8.2. If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that:
+
+ a. such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+ b. any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
+
+ 8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+ 8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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.
+
+10. U.S. government end users
+The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. Miscellaneous
+This License represents the complete agreement concerning 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. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. Responsibility for claims
+As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+13. Multiple-licensed code
+Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the MPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.
+
+Exhibit A - Mozilla Public License.
+
+"The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+The Original Code is ______________________________________.
+
+The Initial Developer of the Original Code is ________________________.
+Portions created by ______________________ are Copyright (C) ______
+_______________________. All Rights Reserved.
+
+Contributor(s): ______________________________________.
+
+Alternatively, the contents of this file may be used under the terms of the _____ license (the "[___] License"), in which case the provisions of [______] License are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the [___] License. If you do not delete the provisions above, a recipient may use your version of this file under either the MPL or the [___] License."
+
+NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.
diff --git a/options/license/NPOSL-3.0 b/options/license/NPOSL-3.0
new file mode 100644
index 0000000..54bfd8c
--- /dev/null
+++ b/options/license/NPOSL-3.0
@@ -0,0 +1,59 @@
+Non-Profit Open Software License 3.0
+
+This Non-Profit Open Software License ("Non-Profit OSL") version 3.0 (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work:
+
+ Licensed under the Non-Profit Open Software License version 3.0
+
+1) Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following:
+
+ a) to reproduce the Original Work in copies, either alone or as part of a collective work;
+
+ b) to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work;
+
+ c) to distribute or communicate copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute or communicate shall be licensed under this Non-Profit Open Software License or as provided in section 17(d);
+
+ d) to perform the Original Work publicly; and
+
+ e) to display the Original Work publicly.
+
+2) Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works.
+
+3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work.
+
+4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license.
+
+5) External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c).
+
+6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
+
+7) Warranty of Provenance and Disclaimer of Warranty. The Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer.
+
+8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation.
+
+9) Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including "fair use" or "fair dealing"). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c).
+
+10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
+
+11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License.
+
+12) Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
+
+13) Miscellaneous. 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.
+
+14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, 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 (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.
+
+15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
+
+16) Modification of This License. This License is Copyright © 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Open Software License" or "OSL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under " or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process.
+
+17) Non-Profit Amendment. The name of this amended version of the Open Software License ("OSL 3.0") is "Non-Profit Open Software License 3.0". The original OSL 3.0 license has been amended as follows:
+
+ (a) Licensor represents and declares that it is a not-for-profit organization that derives no revenue whatsoever from the distribution of the Original Work or Derivative Works thereof, or from support or services relating thereto.
+
+ (b) The first sentence of Section 7 ["Warranty of Provenance"] of OSL 3.0 has been stricken. For Original Works licensed under this Non-Profit OSL 3.0, LICENSOR OFFERS NO WARRANTIES WHATSOEVER.
+
+ (c) In the first sentence of Section 8 ["Limitation of Liability"] of this Non-Profit OSL 3.0, the list of damages for which LIABILITY IS LIMITED now includes "direct" damages.
+
+ (d) The proviso in Section 1(c) of this License now refers to this "Non-Profit Open Software License" rather than the "Open Software License". You may distribute or communicate the Original Work or Derivative Works thereof under this Non-Profit OSL 3.0 license only if You make the representation and declaration in paragraph (a) of this Section 17. Otherwise, You shall distribute or communicate the Original Work or Derivative Works thereof only under the OSL 3.0 license and You shall publish clear licensing notices so stating. Also by way of clarification, this License does not authorize You to distribute or communicate works under this Non-Profit OSL 3.0 if You received them under the original OSL 3.0 license.
+
+ (e) Original Works licensed under this license shall reference "Non-Profit OSL 3.0" in licensing notices to distinguish them from works licensed under the original OSL 3.0 license.
\ No newline at end of file
diff --git a/options/license/NRL b/options/license/NRL
new file mode 100644
index 0000000..aa559ef
--- /dev/null
+++ b/options/license/NRL
@@ -0,0 +1,28 @@
+NRL License
+
+COPYRIGHT NOTICE
+
+All of the documentation and software included in this software distribution from the US Naval Research Laboratory (NRL) are copyrighted by their respective developers.
+
+Portions of the software are derived from the Net/2 and 4.4-Lite Berkeley Software Distributions (BSD) of the University of California at Berkeley and those portions are copyright by The Regents of the University of California. All Rights Reserved. The UC Berkeley Copyright and License agreement is binding on those portions of the software. In all cases, the NRL developers have retained the original UC Berkeley copyright and license notices in the respective files in accordance with the UC Berkeley copyrights and license.
+
+Portions of this software and documentation were developed at NRL by various people. Those developers have each copyrighted the portions that they developed at NRL and have assigned All Rights for those portions to NRL. Outside the USA, NRL has copyright on some of the software developed at NRL. The affected files all contain specific copyright notices and those notices must be retained in any derived work.
+
+NRL LICENSE
+
+NRL grants permission for redistribution and use in source and binary forms, with or without modification, of the software and documentation created at NRL provided that the following conditions are met:
+
+ 1. All terms of the UC Berkeley copyright and license must be followed.
+ 2. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ 3. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ 4. All advertising materials mentioning features or use of this software must display the following acknowledgements:
+
+ This product includes software developed by the University of California, Berkeley and its contributors.
+
+ This product includes software developed at the Information Technology Division, US Naval Research Laboratory.
+
+ 5. Neither the name of the NRL nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THE SOFTWARE PROVIDED BY NRL IS PROVIDED BY NRL AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NRL OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the US Naval Research Laboratory (NRL).
\ No newline at end of file
diff --git a/options/license/NTP b/options/license/NTP
new file mode 100644
index 0000000..e3d118d
--- /dev/null
+++ b/options/license/NTP
@@ -0,0 +1,5 @@
+NTP License (NTP)
+
+Copyright (c) <>
+
+Permission to use, copy, modify, and distribute this software and its documentation for any purpose with or without fee is hereby granted, provided that the above copyright notice appears in all copies and that both the copyright notice and this permission notice appear in supporting documentation, and that the name <> not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. <> makes no representations about the suitability this software for any purpose. It is provided "as is" without express or implied warranty.
\ No newline at end of file
diff --git a/options/license/Naumen b/options/license/Naumen
new file mode 100644
index 0000000..a2e0da6
--- /dev/null
+++ b/options/license/Naumen
@@ -0,0 +1,21 @@
+NAUMEN Public License
+
+This software is Copyright (c) NAUMEN (tm) and Contributors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions in source code must retain the above copyright notice, this list of conditions, and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The name NAUMEN (tm) must not be used to endorse or promote products derived from this software without prior written permission from NAUMEN.
+
+4. The right to distribute this software or to use it for any purpose does not give you the right to use Servicemarks (sm) or Trademarks (tm) of NAUMEN.
+
+5. If any files originating from NAUMEN or Contributors are modified, you must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+
+Disclaimer:
+
+THIS SOFTWARE IS PROVIDED BY NAUMEN "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NAUMEN OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+This software consists of contributions made by NAUMEN and Contributors. Specific attributions are listed in the accompanying credits file.
\ No newline at end of file
diff --git a/options/license/Net-SNMP b/options/license/Net-SNMP
new file mode 100644
index 0000000..14f3fdb
--- /dev/null
+++ b/options/license/Net-SNMP
@@ -0,0 +1,107 @@
+ ---- Part 1: CMU/UCD copyright notice: (BSD like) -----
+
+ Copyright 1989, 1991, 1992 by Carnegie Mellon University
+
+ Derivative Work - 1996, 1998-2000 Copyright 1996, 1998-2000 The Regents of the University of California
+
+ All Rights Reserved
+
+Permission to use, copy, modify and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appears in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of CMU and The Regents of the University of California not be used in advertising or publicity pertaining to distribution of the software without specific written permission.
+
+CMU AND THE REGENTS OF THE UNIVERSITY OF CALIFORNIA DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL CMU OR THE REGENTS OF THE UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM THE LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+---- Part 2: Networks Associates Technology, Inc copyright notice (BSD) -----
+
+Copyright (c) 2001-2003, Networks Associates Technology, Inc All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ * Neither the name of the Networks Associates Technology, Inc nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+---- Part 3: Cambridge Broadband Ltd. copyright notice (BSD) -----
+
+Portions of this code are copyright (c) 2001-2003, Cambridge Broadband Ltd. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ * The name of Cambridge Broadband Ltd. may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+---- Part 4: Sun Microsystems, Inc. copyright notice (BSD) -----
+
+Copyright © 2003 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A. All rights reserved.
+
+Use is subject to license terms below.
+
+This distribution may include materials developed by third parties.
+
+Sun, Sun Microsystems, the Sun logo and Solaris are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ * Neither the name of the Sun Microsystems, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+---- Part 5: Sparta, Inc copyright notice (BSD) -----
+
+Copyright (c) 2003-2009, Sparta, Inc All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ * Neither the name of Sparta, Inc nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+---- Part 6: Cisco/BUPTNIC copyright notice (BSD) -----
+
+Copyright (c) 2004, Cisco, Inc and Information Network Center of Beijing University of Posts and Telecommunications. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ * Neither the name of Cisco, Inc, Beijing University of Posts and Telecommunications, nor the names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+---- Part 7: Fabasoft R&D Software GmbH & Co KG copyright notice (BSD) -----
+
+Copyright (c) Fabasoft R&D Software GmbH & Co KG, 2003 oss@fabasoft.com Author: Bernhard Penz
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ * The name of Fabasoft R&D Software GmbH & Co KG or any of its subsidiaries, brand or product names may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+---- Part 8: Apple Inc. copyright notice (BSD) -----
+
+Copyright (c) 2007 Apple Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ 3. Neither the name of Apple Inc. ("Apple") nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+---- Part 9: ScienceLogic, LLC copyright notice (BSD) -----
+
+Copyright (c) 2009, ScienceLogic, LLC All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ * Neither the name of ScienceLogic, LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/NetCDF b/options/license/NetCDF
new file mode 100644
index 0000000..a24607b
--- /dev/null
+++ b/options/license/NetCDF
@@ -0,0 +1,7 @@
+Copyright 1993-2014 University Corporation for Atmospheric Research/Unidata
+
+Portions of this software were developed by the Unidata Program at the University Corporation for Atmospheric Research.
+
+Access and use of this software shall impose the following obligations and understandings on the user. The user is granted the right, without any fee or cost, to use, copy, modify, alter, enhance and distribute this software, and any derivative works thereof, and its supporting documentation for any purpose whatsoever, provided that this entire notice appears in all copies of the software, derivative works and supporting documentation. Further, UCAR requests that the user credit UCAR/Unidata in any publications that result from the use of this software or in any product that includes this software, although this is not an obligation. The names UCAR and/or Unidata, however, may not be used in any advertising or publicity to endorse or promote any products or commercial entity unless specific written permission is obtained from UCAR/Unidata. The user also understands that UCAR/Unidata is not obligated to provide the user with any support, consulting, training or assistance of any kind with regard to the use, operation and performance of this software nor to provide the user with any updates, revisions, new versions or "bug fixes."
+
+THIS SOFTWARE IS PROVIDED BY UCAR/UNIDATA "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL UCAR/UNIDATA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE.
\ No newline at end of file
diff --git a/options/license/Newsletr b/options/license/Newsletr
new file mode 100644
index 0000000..6975008
--- /dev/null
+++ b/options/license/Newsletr
@@ -0,0 +1,7 @@
+Copyright 1989--2004 by Hunter Goatley.
+
+Permission is granted to anyone to use this software for any purpose on any computer system, and to redistribute it freely, subject to the following restrictions:
+
+1. This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+2. Altered versions must be plainly marked as such, and must not be misrepresented as being the original software.
\ No newline at end of file
diff --git a/options/license/Nokia b/options/license/Nokia
new file mode 100644
index 0000000..399bb30
--- /dev/null
+++ b/options/license/Nokia
@@ -0,0 +1,159 @@
+Nokia Open Source License (NOKOS License)
+
+Version 1.0a
+
+1. DEFINITIONS.
+
+"Affiliates" of a party shall mean an entity
+
+ a) which is directly or indirectly controlling such party;
+
+ b) which is under the same direct or indirect ownership or control as such party; or
+
+ c) which is directly or indirectly owned or controlled by such party.
+
+ For these purposes, an entity shall be treated as being controlled by another if that other entity has fifty percent (50%) or more of the votes in such entity, is able to direct its affairs and/or to control the composition of its board of directors or equivalent body.
+
+"Commercial Use" shall mean distribution or otherwise making the Covered Software available to a third party.
+
+"Contributor" shall mean each entity that creates or contributes to the creation of Modifications.
+
+"Contributor Version" shall mean in case of any Contributor the combination of the Original Software, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor and in case of Nokia in addition the Original Software in any form, including the form as Exceutable.
+
+"Covered Software" shall mean the Original Software or Modifications or the combination of the Original Software and Modifications, in each case including portions thereof.
+
+"Electronic Distribution Mechanism" shall mean a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+"Executable" shall mean Covered Software in any form other than Source Code.
+
+"Nokia" shall mean Nokia Corporation and its Affiliates.
+
+"Larger Work" shall mean a work, which combines Covered Software or portions thereof with code not governed by the terms of this License.
+
+"License" shall mean this document.
+
+"Licensable" shall mean having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+"Modifications" shall mean any addition to or deletion from the substance or structure of either the Original Software or any previous Modifications. When Covered Software is released as a series of files, a Modification is:
+
+ a) Any addition to or deletion from the contents of a file containing Original Software or previous Modifications.
+
+ b) Any new file that contains any part of the Original Software or previous Modifications.
+
+"Original Software" shall mean the Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Software, and which, at the time of its release under this License is not already Covered Software governed by this License.
+
+"Patent Claims" shall mean any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+"Source Code" shall mean the preferred form of the Covered Software for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Software or another well known, available Covered Software of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+"You" (or "Your") shall mean an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes Affiliates of such entity.
+
+2. SOURCE CODE LICENSE.
+
+ 2.1 Nokia Grant.
+ Subject to the terms of this License, Nokia hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ a) under copyrights Licensable by Nokia to use, reproduce, modify, display, perform, sublicense and distribute the Original Software (or portions thereof) with or without Modifications, and/or as part of a Larger Work;
+
+ b) and under Patents Claims necessarily infringed by the making, using or selling of Original Software, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Software (or portions thereof).
+
+ c) The licenses granted in this Section 2.1(a) and (b) are effective on the date Nokia first distributes Original Software under the terms of this License.
+
+ d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Software; 2) separate from the Original Software; or 3) for infringements caused by: i) the modification of the Original Software or ii) the combination of the Original Software with other software or devices.
+
+ 2.2 Contributor Grant.
+ Subject to the terms of this License and subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
+
+ a) under copyrights Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Software and/or as part of a Larger Work; and
+
+ b) under Patent Claims necessarily infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+
+ c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Software.
+
+ d) Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Software in the absence of Modifications made by that Contributor.
+
+3. DISTRIBUTION OBLIGATIONS.
+
+ 3.1 Application of License.
+ The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Software may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+ 3.2 Availability of Source Code.
+ Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+ 3.3 Description of Modifications.
+ You must cause all Covered Software to which You contribute to contain a file documenting the changes You made to create that Covered Software and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Software provided by Nokia and including the name of Nokia in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Software.
+
+ 3.4 Intellectual Property Matters
+
+ (a) Third Party Claims. If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Software that new knowledge has been obtained.
+
+ (b) Contributor APIs. If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
+
+ (c) Representations. Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+
+ 3.5 Required Notices.
+ You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Software. 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 Nokia or 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 Nokia and every Contributor for any liability incurred by Nokia or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.6 Distribution of Executable Versions.
+ You may distribute Covered Software in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Software, and if You include a notice stating that the Source Code version of the Covered Software is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Software. You may distribute the Executable version of Covered Software or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by Nokia or any Contributor. You hereby agree to indemnify Nokia and every Contributor for any liability incurred by Nokia or such Contributor as a result of any such terms You offer.
+
+ 3.7 Larger Works.
+ You may create a Larger Work by combining Covered Software with other software not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Software.
+
+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 included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code.
+
+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. APPLICATION OF THIS LICENSE.
+This License applies to code to which Nokia has attached the notice in Exhibit A and to related Covered Software.
+
+6. VERSIONS OF THE LICENSE.
+
+ 6.1 New Versions.
+ Nokia may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+ 6.2 Effect of New Versions.
+ Once Covered Software has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Software under the terms of any subsequent version of the License published by Nokia. No one other than Nokia has the right to modify the terms applicable to Covered Software created under this License.
+
+7. DISCLAIMER OF WARRANTY.
+COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, 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 NOKIA, ITS LICENSORS OR AFFILIATES OR ANY OTHER 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 HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+ 8.1 This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Software which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+ 8.2 If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Nokia or a Contributor (Nokia or Contributor against whom You file such action is referred to as "Participant") alleging that:
+
+ a) such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+
+ b) any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
+
+ 8.3 If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+ 8.4 In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY.
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, NOKIA, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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, BUT MAY ALLOW LIABILITY TO BE LIMITED; IN SUCH CASES, A PARTY's, ITS EMPLOYEES, LICENSORS OR AFFILIATES' LIABILITY SHALL BE LIMITED TO U.S. $50. Nothing contained in this License shall prejudice the statutory rights of any party dealing as a consumer.
+
+10. MISCELLANEOUS.
+This License represents the complete agreement concerning subject matter hereof. All rights in the Covered Software not expressly granted under this License are reserved. Nothing in this License shall grant You any rights to use any of the trademarks of Nokia or any of its Affiliates, even if any of such trademarks are included in any part of Covered Software and/or documentation to it.
+
+This License is governed by the laws of Finland excluding its conflict-of-law provisions. All disputes arising from or relating to this Agreement shall be settled by a single arbitrator appointed by the Central Chamber of Commerce of Finland. The arbitration procedure shall take place in Helsinki, Finland in the English language. If any part of this Agreement is found void and unenforceable, it will not affect the validity of the balance of the Agreement, which shall remain valid and enforceable according to its terms.
+
+11. RESPONSIBILITY FOR CLAIMS.
+As between Nokia and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Nokia and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+EXHIBIT A
+
+The contents of this file are subject to the NOKOS License Version 1.0 (the "License"); you may not use this file except in compliance with the License.
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+The Original Software is
+
+______________________________________.
+
+Copyright © Nokia and others. All Rights Reserved.
+
+Contributor(s): ______________________________________.
\ No newline at end of file
diff --git a/options/license/Noweb b/options/license/Noweb
new file mode 100644
index 0000000..f9cda87
--- /dev/null
+++ b/options/license/Noweb
@@ -0,0 +1,9 @@
+Noweb is copyright 1989-2000 by Norman Ramsey. All rights reserved.
+
+Noweb is protected by copyright. It is not public-domain software or shareware, and it is not protected by a ``copyleft'' agreement like the one used by the Free Software Foundation.
+
+Noweb is available free for any use in any field of endeavor. You may redistribute noweb in whole or in part provided you acknowledge its source and include this COPYRIGHT file. You may modify noweb and create derived works, provided you retain this copyright notice, but the result may not be called noweb without my written consent.
+
+You may sell noweb if you wish. For example, you may sell a CD-ROM including noweb.
+
+You may sell a derived work, provided that all source code for your derived work is available, at no additional charge, to anyone who buys your derived work in any form. You must give permisson for said source code to be used and modified under the terms of this license. You must state clearly that your work uses or is based on noweb and that noweb is available free of change. You must also request that bug reports on your work be reported to you.
\ No newline at end of file
diff --git a/options/license/Nunit b/options/license/Nunit
new file mode 100644
index 0000000..7e2b0a2
--- /dev/null
+++ b/options/license/Nunit
@@ -0,0 +1,14 @@
+Copyright © 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
+Copyright © 2000-2004 Philip A. Craig
+
+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 (see the following) in the product documentation is required.
+
+Portions Copyright © 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole or Copyright © 2000-2004 Philip A. Craig
+
+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.
\ No newline at end of file
diff --git a/options/license/OCCT-PL b/options/license/OCCT-PL
new file mode 100644
index 0000000..85df3c7
--- /dev/null
+++ b/options/license/OCCT-PL
@@ -0,0 +1,112 @@
+Open CASCADE Technology Public License
+Version 6.6, April 2013
+
+OPEN CASCADE releases and makes publicly available the source code of the software Open CASCADE Technology to the free software development community under the terms and conditions of this license.
+
+It is not the purpose of this license to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this license has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
+
+Please read this license carefully and completely before downloading this software. By downloading, using, modifying, distributing and sublicensing this software, you indicate your acceptance to be bound by the terms and conditions of this license. If you do not want to accept or cannot accept for any reasons the terms and conditions of this license, please do not download or use in any manner this software.
+
+1. Definitions
+
+Unless there is something in the subject matter or in the context inconsistent therewith, the capitalized terms used in this License shall have the following meaning.
+
+"Applicable Intellectual Property Rights" means (a) with respect to the Initial Developer, any rights under patents or patents applications or other intellectual property rights that are now or hereafter acquired, owned by or assigned to the Initial Developer and that cover subject matter contained in the Original Code, but only to the extent necessary to use, reproduce, modify, distribute or sublicense the Original Code without infringement; and (b) with respect to You or any Contributor, any rights under patents or patents applications or other intellectual property rights that are now or hereafter acquired, owned by or assigned to You or to such Contributor and that cover subject matter contained in Your Modifications or in such Contributor's Modifications, taken alone or in combination with Original Code.
+
+"Contributor" means each individual or legal entity that creates or contributes to the creation of any Modification, including the Initial Developer.
+
+"Derivative Program": means a new program combining the Software or portions thereof with other source code not governed by the terms of this License.
+
+"Initial Developer": means OPEN CASCADE, with main offices at 1, place des Frères Montgolfier, 78280, Guyancourt, France.
+
+"Modifications": mean any addition to, deletion from or change to the substance or the structure of the Software. When source code of the Software is released as a series of files, a Modification is: (a) any addition to, deletion from or change to the contents of a file containing the Software or (b) any new file or other representation of computer program statements that contains any part of the Software. By way of example, Modifications include any debug of, or improvement to, the Original Code or any of its components or portions as well as its next versions or releases thereof.
+
+"Original Code": means (a) the source code of the software Open CASCADE Technology originally made available by the Initial Developer under this License, including the source code of any updates or upgrades of the Original Code and (b) the object code compiled from such source code and originally made available by Initial Developer under this License.
+
+"Software": means the Original Code, the Modifications, the combination of Original Code and any Modifications or any respective portions thereof.
+
+"You" or "Your": means an individual or a legal entity exercising rights under this License
+
+2. Acceptance of license
+By using, reproducing, modifying, distributing or sublicensing the Software or any portion thereof, You expressly indicate Your acceptance of the terms and conditions of this License and undertake to act in accordance with all the provisions of this License applicable to You.
+
+3. Scope and purpose
+This License applies to the Software and You may not use, reproduce, modify, distribute, sublicense or circulate the Software, or any portion thereof, except as expressly provided under this License. Any attempt to otherwise use, reproduce, modify, distribute or sublicense the Software is void and will automatically terminate Your rights under this License.
+
+4. Contributor license
+Subject to the terms and conditions of this License, the Initial Developer and each of the Contributors hereby grant You a world-wide, royalty-free, irrevocable and non-exclusive license under the Applicable Intellectual Property Rights they own or control, to use, reproduce, modify, distribute and sublicense the Software provided that:
+
+ You reproduce in all copies of the Software the copyright and other proprietary notices and disclaimers of the Initial Developer as they appear in the Original Code and attached hereto as Schedule "A" and any other notices or disclaimers attached to the Software and keep intact all notices in the Original Code that refer to this License and to the absence of any warranty;
+
+ You include a copy of this License with every copy of the Software You distribute;
+
+ If you distribute or sublicense the Software (as modified by You or on Your behalf as the case may be), You cause such Software to be licensed as a whole, at no charge, to all third parties, under the terms and conditions of the License, making in particular available to all third parties the source code of the Software;
+
+ You document all Your Modifications, indicate the date of each such Modification, designate the version of the Software You used, prominently include a file carrying such information with respect to the Modifications and duplicate the copyright and other proprietary notices and disclaimers attached hereto as Schedule "B" or any other notices or disclaimers attached to the Software with your Modifications.
+
+For greater certainty, it is expressly understood that You may freely create Derivative Programs (without any obligation to publish such Derivative Program) and distribute same as a single product. In such case, You must ensure that all the requirements of this License are fulfilled for the Software or any portion thereof.
+
+5. Your license
+You hereby grant all Contributors and anyone who becomes a party under this License a world-wide, non-exclusive, royalty-free and irrevocable license under the Applicable Intellectual Property Rights owned or controlled by You, to use, reproduce, modify, distribute and sublicense all Your Modifications under the terms and conditions of this License.
+
+6. Software subject to license
+Your Modifications shall be governed by the terms and conditions of this License. You are not authorized to impose any other terms or conditions than those prevailing under this License when You distribute and/or sublicense the Software, save and except as permitted under Section 7 hereof.
+
+7. Additional terms
+You may choose to offer, on a non-exclusive basis, and to charge a fee for any warranty, support, maintenance, liability obligations or other rights consistent with the scope of this License with respect to the Software (the "Additional Terms") to the recipients of the Software. However, You may do so only on Your own behalf and on Your sole and exclusive responsibility. You must obtain the recipient's agreement that any such Additional Terms are offered by You alone, and You hereby agree to indemnify, defend and hold the Initial Developer and any Contributor harmless for any liability incurred by or claims asserted against the Initial Developer or any Contributors with respect to any such Additional Terms.
+
+8. Disclaimer of warranty
+The Software is provided under this License on an "as is" basis, without warranty of any kind, including without limitation, warranties that the 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 Software is with You.
+
+9. Liability
+Under no circumstances shall You, the Initial Developer or any Contributor be liable to any person for any direct or indirect damages of any kind including, without limitation, damages for loss of goodwill, loss of data, work stoppage, computer failure or malfunction or any and all other commercial damages or losses resulting from or relating to this License or indirectly to the use of the Software.
+
+10. Trademark
+This License does not grant any rights to use the trademarks, trade names and domain names "MATRA", "EADS Matra Datavision", "CAS.CADE", "Open CASCADE", "opencascade.com" and "opencascade.org" or any other trademarks, trade names or domain names used or owned by the Initial Developer.
+
+11. Copyright
+The Initial Developer retains all rights, title and interest in and to the Original Code. You may not remove the copyright © notice which appears when You download the Software.
+
+12. Term
+This License is granted to You for a term equal to the remaining period of protection covered by the intellectual property rights applicable to the Original Code.
+
+13. Termination
+In case of termination, as provided in Section 3 above, You agree to immediately stop any further use, reproduction, modification, distribution and sublicensing of the Software and to destroy all copies of the Software that are in Your possession or control. All sublicenses of the Software which have been properly granted prior to termination shall survive any termination of this License. In addition, Sections 5, 8 to 11, 13.2 and 15.2 of this License, in reason of their nature, shall survive the termination of this License for a period of fifteen (15) years.
+
+14. Versions of the license
+The Initial Developer may publish new versions of this License from time to time. Once Original Code has been published under a particular version of this License, You may choose to continue to use it under the terms and conditions of that version or use the Original Code under the terms of any subsequent version of this License published by the Initial Developer.
+
+15. Miscellaneous
+ 15.1 Relationship of the Parties This License will not be construed as creating an agency, partnership, joint venture or any other form of legal association between You and the Initial Developer, and You will not represent to the contrary, whether expressly, by implication or otherwise.
+
+ 15.2 Independent Development Nothing in this License will impair the Initial Developer's right to acquire, license, develop, have others develop for it, market or distribute technology or products that perform the same or similar functions as, or otherwise compete with, Modifications, Derivative Programs, technology or products that You may develop, produce, market or distribute.
+
+ 15.3 Severability If for any reason a court of competent jurisdiction finds any provision of this License, or portion thereof, to be unenforceable, that provision of the License will be enforced to the maximum extent permissible so as to effect the economic benefits and intent of the parties, and the remainder of this License will continue in full force and extent.
+
+END OF THE TERMS AND CONDITIONS OF THIS LICENSE
+
+OPEN CASCADE is a French société par actions simplifiée having its registered head office at 1, place des Frères Montgolfier, 78280, Guyancourt, France and main offices at 1, place des Frères Montgolfier, 78280, Guyancourt, France. Its web site is located at the following address opencascade.com
+
+Open CASCADE Technology Public License
+Schedule "A"
+
+ The content of this file is subject to the Open CASCADE Technology Public License (the "License"). You may not use the content of this file except in compliance with the License. Please obtain a copy of the License at opencascade.com and read it completely before using this file.
+
+ The Initial Developer of the Original Code is OPEN CASCADE, with main offices at 1, place des Frères Montgolfier, 78280, Guyancourt, France. The Original Code is copyright © OPEN CASCADE SAS, 2001. All rights reserved. "The Original Code and all software distributed under the License are distributed on an "AS IS" basis, without warranty of any kind, and the Initial Developer hereby disclaims all such warranties, including without limitation, any warranties of merchantability, fitness for a particular purpose or non-infringement.
+
+ Please see the License for the specific terms and conditions governing rights and limitations under the License".
+ End of Schedule "A"
+
+Open CASCADE Technology Public License
+Schedule "B"
+
+ "The content of this file is subject to the Open CASCADE Technology Public License (the "License"). You may not use the content of this file except in compliance with the License. Please obtain a copy of the License at opencascade.com and read it completely before using this file.
+
+ The Initial Developer of the Original Code is OPEN CASCADE, with main offices at 1, place des Frères Montgolfier, 78280, Guyancourt, France. The Original Code is copyright © Open CASCADE SAS, 2001. All rights reserved.
+
+ Modifications to the Original Code have been made by ________________________. Modifications are copyright © [Year to be included]. All rights reserved.
+
+ The software Open CASCADE Technology and all software distributed under the License are distributed on an "AS IS" basis, without warranty of any kind, and the Initial Developer hereby disclaims all such warranties, including without limitation, any warranties of merchantability, fitness for a particular purpose or non-infringement.
+
+ Please see the License for the specific terms and conditions governing rights and limitations under the License"
+ End of Schedule "B"
diff --git a/options/license/OCLC-2.0 b/options/license/OCLC-2.0
new file mode 100644
index 0000000..7767ecc
--- /dev/null
+++ b/options/license/OCLC-2.0
@@ -0,0 +1,76 @@
+OCLC Research Public License 2.0
+Terms & Conditions Of Use
+May, 2002
+Copyright © 2002. OCLC Online Computer Library Center, Inc. All Rights Reserved
+
+PLEASE READ THIS DOCUMENT CAREFULLY. BY DOWNLOADING OR USING THE CODE BASE AND/OR DOCUMENTATION ACCOMPANYING THIS LICENSE (THE "License"), YOU AGREE TO THE FOLLOWING TERMS AND CONDITIONS OF THIS LICENSE.
+
+Section 1. Your Rights
+
+Subject to these terms and conditions of this License, the OCLC Office of Research (the "Original Contributor") and each subsequent contributor (collectively with the Original Contributor, the "Contributors") hereby grant you a non-exclusive, worldwide, no-charge, transferable license to execute, prepare derivative works of, and distribute (internally and externally), for commercial and noncommercial purposes, the original code contributed by Original Contributor and all Modifications (collectively called the "Program").
+
+Section 2. Definitions
+
+A "Modification" to the Program is any addition to or deletion from the contents of any file of the Program and any new file that contains any part of the Program. If you make a Modification and distribute the Program externally you are a "Contributor." The distribution of the Program must be under the terms of this license including those in Section 3 below.
+
+A "Combined Work" results from combining and integrating all or parts of the Program with other code. A Combined Work may be thought of as having multiple parents or being result of multiple lines of code development.
+
+Section 3. Distribution Licensing Terms
+
+A. General Requirements
+Except as necessary to recognize third-party rights or third-party restriction (see below), a distribution of the Program in any of the forms listed below must not put any further restrictions on the recipient’s exercise of the rights granted herein.
+
+As a Contributor, you represent that your Modification(s) are your original creation(s) and, to the best of your knowledge, no third party has any claim (including but not limited to intellectual property claims) relating to your Modification(s). You represent that each of your Modifications includes complete details of any third-party right or other third-party restriction associated with any part of your Modification (including a copy of any applicable license agreement).
+
+The Program must be distributed without charge beyond the costs of physically transferring the files to the recipient.
+
+This Warranty Disclaimer/Limitation of Liability must be prominently displayed with every distribution of the Program in any form:
+
+YOU AGREE THAT THE PROGRAM IS PROVIDED AS-IS, WITHOUT WARRANTY OF ANY KIND (EITHER EXPRESS OR IMPLIED). ACCORDINGLY, OCLC MAKES NO WARRANTIES, REPRESENTATIONS OR GUARANTEES, EITHER EXPRESS OR IMPLIED, AND DISCLAIMS ALL SUCH WARRANTIES, REPRESENTATIONS OR GUARANTEES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ANY PARTICULAR PURPOSE, AS TO: (A) THE FUNCTIONALITY OR NONINFRINGEMENT OF PROGRAM, ANY MODIFICATION, A COMBINED WORK OR AN AGGREGATE WORK; OR (B) THE RESULTS OF ANY PROJECT UNDERTAKEN USING THE PROGRAM, ANY MODIFICATION, A COMBINED WORK OR AN AGGREGATE WORK. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, CONSEQUENTIAL OR ANY OTHER DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE PROGRAM, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. YOU HEREBY WAIVE ANY CLAIMS FOR DAMAGES OF ANY KIND AGAINST CONTRIBUTORS WHICH MAY RESULT FROM YOUR USE OF THE PROGRAM.
+
+B. Requirements for a Distribution of Modifiable Code
+If you distribute the Program in a form to which the recipient can make Modifications (e.g. source code), the terms of this license apply to use by recipient. In addition, each source and data file of the Program and any Modification you distribute must contain the following notice:
+
+ "Copyright (c) 2000- (insert then current year) OCLC Online Computer Library Center, Inc. and other contributors. All rights reserved. The contents of this file, as updated from time to time by the OCLC Office of Research, are subject to OCLC Research Public License Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a current copy of the License at http://purl.oclc.org/oclc/research/ORPL/. Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. This software consists of voluntary contributions made by many individuals on behalf of OCLC Research. For more information on OCLC Research, please see http://www.oclc.org/research/. The Original Code is ______________________________. The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) _____ _______________________. All Rights Reserved. Contributor(s): ______________________________________."
+
+C. Requirements for a Distribution of Non-modifiable Code
+If you distribute the Program in a form to which the recipient cannot make Modifications (e.g. object code), the terms of this license apply to use by recipient and you must include the following statement in appropriate and conspicuous locations:
+
+"Copyright (c) 2000- (insert then current year) OCLC Online Computer Library Center, Inc. and other contributors. All rights reserved."
+
+In addition, the source code must be included with the object code distribution or the distributor must provide the source code to the recipient upon request.
+
+D. Requirements for a Combined Work Distribution
+Distributions of Combined Works are subject to the terms of this license and must be made at no charge to the recipient beyond the costs of physically transferring the files to recipient.
+
+A Combined Work may be distributed as either modifiable or non-modifiable code. The requirements of Section 3.B or 3.C above (as appropriate) apply to such distributions.
+
+An "Aggregate Work" is when the Program exists, without integration, with other programs on a storage medium. This License does not apply to portions of an Aggregate Work which are not covered by the definition of "Program" provided in this License. You are not forbidden from selling an Aggregate Work. However, the Program contained in an Aggregate Work is subject to this License. Also, should the Program be extracted from an Aggregate Work, this License applies to any use of the Program apart from the Aggregate Work.
+
+Section 4. License Grant
+
+For purposes of permitting use of your Modifications by OCLC and other licensees hereunder, you hereby grant to OCLC and such other licensees the non-exclusive, worldwide, royalty-free, transferable, sublicenseable license to execute, copy, alter, delete, modify, adapt, change, revise, enhance, develop, publicly display, distribute (internally and externally) and/or create derivative works based on your Modifications (and derivative works thereof) in accordance with these Terms. This Section 4 shall survive termination of this License for any reason.
+
+Section 5. Termination of Rights
+
+This non-exclusive license (with respect to the grant from a particular Contributor) automatically terminates for any entity that initiates legal action for intellectual property infringement (with respect to the Program) against such Contributor as of the initiation of such action.
+
+If you fail to comply with this License, your rights (but not your obligations) under this License shall terminate automatically unless you cure such breach within thirty (30) days of becoming aware of the noncompliance. All sublicenses granted by you which preexist such termination and are properly granted shall survive such termination.
+
+Section 6. Other Terms
+
+Except for the copyright notices required above, you may not use any trademark of any of the Contributors without the prior written consent of the relevant Contributor. You agree not to remove, alter or obscure any copyright or other proprietary rights notice contained in the Program.
+
+All transfers of the Program or any part thereof shall be made in compliance with U.S. import/export regulations or other restrictions of the U.S. Department of Commerce, as well as other similar trade or commerce restrictions which might apply.
+
+Any patent obtained by any party covering the Program or any part thereof must include a provision providing for the free, perpetual and unrestricted commercial and noncommercial use by any third party.
+
+If, as a consequence of a court judgment or settlement relating to intellectual property infringement or any other cause of action, conditions are imposed on you that contradict the conditions of this License, such conditions do not excuse you from compliance with this License. If you cannot distribute the Program so as to simultaneously satisfy your obligations under this License and such other conditions, you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, you could not satisfy both the patent license and this License, and you would be required to refrain entirely from distribution of the Program.
+
+If you learn of a third party claim or other restriction relating to a Program you have already distributed you shall promptly redo your Program to address the issue and take all reasonable steps to inform those who may have received the Program at issue. An example of an appropriate reasonable step to inform would be posting an announcement on an appropriate web bulletin board.
+
+The provisions of this License are deemed to be severable, and the invalidity or unenforceability of any provision shall not affect or impair the remaining provisions which shall continue in full force and effect. In substitution for any provision held unlawful, there shall be substituted a provision of similar import reflecting the original intent of the parties hereto to the extent permissible under law.
+
+The Original Contributor from time to time may change this License, and the amended license will apply to all copies of the Program downloaded after the new license is posted. This License grants only the rights expressly stated herein and provides you with no implied rights or licenses to the intellectual property of any Contributor.
+
+This License is the complete and exclusive statement of the agreement between the parties concerning the subject matter hereof and may not be amended except by the written agreement of the parties. This License shall be governed by and construed in accordance with the laws of the State of Ohio and the United States of America, without regard to principles of conflicts of law.
\ No newline at end of file
diff --git a/options/license/ODbL-1.0 b/options/license/ODbL-1.0
new file mode 100644
index 0000000..2115ac0
--- /dev/null
+++ b/options/license/ODbL-1.0
@@ -0,0 +1,243 @@
+ODC Open Database License (ODbL)
+
+Preamble
+
+The Open Database License (ODbL) is a license agreement intended to allow users to freely share, modify, and use this Database while maintaining this same freedom for others. Many databases are covered by copyright, and therefore this document licenses these rights. Some jurisdictions, mainly in the European Union, have specific rights that cover databases, and so the ODbL addresses these rights, too. Finally, the ODbL is also an agreement in contract for users of this Database to act in certain ways in return for accessing this Database.
+
+Databases can contain a wide variety of types of content (images, audiovisual material, and sounds all in the same database, for example), and so the ODbL only governs the rights over the Database, and not the contents of the Database individually. Licensors should use the ODbL together with another license for the contents, if the contents have a single set of rights that uniformly covers all of the contents. If the contents have multiple sets of different rights, Licensors should describe what rights govern what contents together in the individual record or in some other way that clarifies what rights apply.
+
+Sometimes the contents of a database, or the database itself, can be covered by other rights not addressed here (such as private contracts, trade mark over the name, or privacy rights / data protection rights over information in the contents), and so you are advised that you may have to consult other documents or clear other rights before doing activities not covered by this License.
+
+------
+
+The Licensor (as defined below)
+
+and
+
+You (as defined below)
+
+agree as follows:
+
+1.0 Definitions of Capitalised Words
+
+"Collective Database" – Means this Database in unmodified form as part of a collection of independent databases in themselves that together are assembled into a collective whole. A work that constitutes a Collective Database will not be considered a Derivative Database.
+
+"Convey" – As a verb, means Using the Database, a Derivative Database, or the Database as part of a Collective Database in any way that enables a Person to make or receive copies of the Database or a Derivative Database. Conveying does not include interaction with a user through a computer network, or creating and Using a Produced Work, where no transfer of a copy of the Database or a Derivative Database occurs. "Contents" – The contents of this Database, which includes the information, independent works, or other material collected into the Database. For example, the contents of the Database could be factual data or works such as images, audiovisual material, text, or sounds.
+
+"Database" – A collection of material (the Contents) arranged in a systematic or methodical way and individually accessible by electronic or other means offered under the terms of this License.
+
+"Database Directive" – Means Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended or succeeded.
+
+"Database Right" – Means rights resulting from the Chapter III ("sui generis") rights in the Database Directive (as amended and as transposed by member states), which includes the Extraction and Re-utilisation of the whole or a Substantial part of the Contents, as well as any similar rights available in the relevant jurisdiction under Section 10.4.
+
+"Derivative Database" – Means a database based upon the Database, and includes any translation, adaptation, arrangement, modification, or any other alteration of the Database or of a Substantial part of the Contents. This includes, but is not limited to, Extracting or Re-utilising the whole or a Substantial part of the Contents in a new Database.
+
+"Extraction" – Means the permanent or temporary transfer of all or a Substantial part of the Contents to another medium by any means or in any form.
+
+"License" – Means this license agreement and is both a license of rights such as copyright and Database Rights and an agreement in contract.
+
+"Licensor" – Means the Person that offers the Database under the terms of this License.
+
+"Person" – Means a natural or legal person or a body of persons corporate or incorporate.
+
+"Produced Work" – a work (such as an image, audiovisual material, text, or sounds) resulting from using the whole or a Substantial part of the Contents (via a search or other query) from this Database, a Derivative Database, or this Database as part of a Collective Database.
+
+"Publicly" – means to Persons other than You or under Your control by either more than 50% ownership or by the power to direct their activities (such as contracting with an independent consultant).
+
+"Re-utilisation" – means any form of making available to the public all or a Substantial part of the Contents by the distribution of copies, by renting, by online or other forms of transmission.
+
+"Substantial" – Means substantial in terms of quantity or quality or a combination of both. The repeated and systematic Extraction or Re-utilisation of insubstantial parts of the Contents may amount to the Extraction or Re-utilisation of a Substantial part of the Contents.
+
+"Use" – As a verb, means doing any act that is restricted by copyright or Database Rights whether in the original medium or any other; and includes without limitation distributing, copying, publicly performing, publicly displaying, and preparing derivative works of the Database, as well as modifying the Database as may be technically necessary to use it in a different mode or format.
+
+"You" – Means a Person exercising rights under this License who has not previously violated the terms of this License with respect to the Database, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+
+Words in the singular include the plural and vice versa.
+
+2.0 What this License covers
+
+2.1. Legal effect of this document. This License is:
+
+ a. A license of applicable copyright and neighbouring rights;
+
+ b. A license of the Database Right; and
+
+ c. An agreement in contract between You and the Licensor.
+
+2.2 Legal rights covered. This License covers the legal rights in the Database, including:
+
+ a. Copyright. Any copyright or neighbouring rights in the Database. The copyright licensed includes any individual elements of the Database, but does not cover the copyright over the Contents independent of this Database. See Section 2.4 for details. Copyright law varies between jurisdictions, but is likely to cover: the Database model or schema, which is the structure, arrangement, and organisation of the Database, and can also include the Database tables and table indexes; the data entry and output sheets; and the Field names of Contents stored in the Database;
+
+ b. Database Rights. Database Rights only extend to the Extraction and Re-utilisation of the whole or a Substantial part of the Contents. Database Rights can apply even when there is no copyright over the Database. Database Rights can also apply when the Contents are removed from the Database and are selected and arranged in a way that would not infringe any applicable copyright; and
+
+ c. Contract. This is an agreement between You and the Licensor for access to the Database. In return you agree to certain conditions of use on this access as outlined in this License.
+
+2.3 Rights not covered.
+
+ a. This License does not apply to computer programs used in the making or operation of the Database;
+
+ b. This License does not cover any patents over the Contents or the Database; and
+
+ c. This License does not cover any trademarks associated with the Database.
+
+2.4 Relationship to Contents in the Database. The individual items of the Contents contained in this Database may be covered by other rights, including copyright, patent, data protection, privacy, or personality rights, and this License does not cover any rights (other than Database Rights or in contract) in individual Contents contained in the Database. For example, if used on a Database of images (the Contents), this License would not apply to copyright over individual images, which could have their own separate licenses, or one single license covering all of the rights over the images.
+
+3.0 Rights granted
+
+3.1 Subject to the terms and conditions of this License, the Licensor grants to You a worldwide, royalty-free, non-exclusive, terminable (but only under Section 9) license to Use the Database for the duration of any applicable copyright and Database Rights. These rights explicitly include commercial use, and do not exclude any field of endeavour. To the extent possible in the relevant jurisdiction, these rights may be exercised in all media and formats whether now known or created in the future.
+
+The rights granted cover, for example:
+
+ a. Extraction and Re-utilisation of the whole or a Substantial part of the Contents;
+
+ b. Creation of Derivative Databases;
+
+ c. Creation of Collective Databases;
+
+ d. Creation of temporary or permanent reproductions by any means and in any form, in whole or in part, including of any Derivative Databases or as a part of Collective Databases; and
+
+ e. Distribution, communication, display, lending, making available, or performance to the public by any means and in any form, in whole or in part, including of any Derivative Database or as a part of Collective Databases.
+
+3.2 Compulsory license schemes. For the avoidance of doubt:
+
+ a. Non-waivable compulsory license schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
+
+ b. Waivable compulsory license schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,
+
+ c. Voluntary license schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.
+
+3.3 The right to release the Database under different terms, or to stop distributing or making available the Database, is reserved. Note that this Database may be multiple-licensed, and so You may have the choice of using alternative licenses for this Database. Subject to Section 10.4, all other rights not expressly granted by Licensor are reserved.
+
+4.0 Conditions of Use
+
+4.1 The rights granted in Section 3 above are expressly made subject to Your complying with the following conditions of use. These are important conditions of this License, and if You fail to follow them, You will be in material breach of its terms.
+
+4.2 Notices. If You Publicly Convey this Database, any Derivative Database, or the Database as part of a Collective Database, then You must:
+
+ a. Do so only under the terms of this License or another license permitted under Section 4.4;
+
+ b. Include a copy of this License (or, as applicable, a license permitted under Section 4.4) or its Uniform Resource Identifier (URI) with the Database or Derivative Database, including both in the Database or Derivative Database and in any relevant documentation; and
+
+ c. Keep intact any copyright or Database Right notices and notices that refer to this License.
+
+ d. If it is not possible to put the required notices in a particular file due to its structure, then You must include the notices in a location (such as a relevant directory) where users would be likely to look for it.
+
+4.3 Notice for using output (Contents). Creating and Using a Produced Work does not require the notice in Section 4.2. However, if you Publicly Use a Produced Work, You must include a notice associated with the Produced Work reasonably calculated to make any Person that uses, views, accesses, interacts with, or is otherwise exposed to the Produced Work aware that Content was obtained from the Database, Derivative Database, or the Database as part of a Collective Database, and that it is available under this License.
+
+ a. Example notice. The following text will satisfy notice under Section 4.3:
+
+ Contains information from DATABASE NAME, which is made available here under the Open Database License (ODbL).
+
+DATABASE NAME should be replaced with the name of the Database and a hyperlink to the URI of the Database. "Open Database License" should contain a hyperlink to the URI of the text of this License. If hyperlinks are not possible, You should include the plain text of the required URI's with the above notice. 4.4 Share alike.
+
+ a. Any Derivative Database that You Publicly Use must be only under the terms of:
+
+ i. This License;
+
+ ii. A later version of this License similar in spirit to this License; or
+
+ iii. A compatible license.
+
+ If You license the Derivative Database under one of the licenses mentioned in (iii), You must comply with the terms of that license.
+
+ b. For the avoidance of doubt, Extraction or Re-utilisation of the whole or a Substantial part of the Contents into a new database is a Derivative Database and must comply with Section 4.4.
+
+ c. Derivative Databases and Produced Works. A Derivative Database is Publicly Used and so must comply with Section 4.4. if a Produced Work created from the Derivative Database is Publicly Used.
+
+ d. Share Alike and additional Contents. For the avoidance of doubt, You must not add Contents to Derivative Databases under Section 4.4 a that are incompatible with the rights granted under this License.
+
+ e. Compatible licenses. Licensors may authorise a proxy to determine compatible licenses under Section 4.4 a iii. If they do so, the authorised proxy's public statement of acceptance of a compatible license grants You permission to use the compatible license.
+
+4.5 Limits of Share Alike. The requirements of Section 4.4 do not apply in the following:
+
+ a. For the avoidance of doubt, You are not required to license Collective Databases under this License if You incorporate this Database or a Derivative Database in the collection, but this License still applies to this Database or a Derivative Database as a part of the Collective Database;
+
+ b. Using this Database, a Derivative Database, or this Database as part of a Collective Database to create a Produced Work does not create a Derivative Database for purposes of Section 4.4; and
+
+ c. Use of a Derivative Database internally within an organisation is not to the public and therefore does not fall under the requirements of Section 4.4.
+
+4.6 Access to Derivative Databases. If You Publicly Use a Derivative Database or a Produced Work from a Derivative Database, You must also offer to recipients of the Derivative Database or Produced Work a copy in a machine readable form of:
+
+ a. The entire Derivative Database; or
+
+ b. A file containing all of the alterations made to the Database or the method of making the alterations to the Database (such as an algorithm), including any additional Contents, that make up all the differences between the Database and the Derivative Database.
+
+The Derivative Database (under a.) or alteration file (under b.) must be available at no more than a reasonable production cost for physical distributions and free of charge if distributed over the internet.
+
+4.7 Technological measures and additional terms
+
+ a. This License does not allow You to impose (except subject to Section 4.7 b.) any terms or any technological measures on the Database, a Derivative Database, or the whole or a Substantial part of the Contents that alter or restrict the terms of this License, or any rights granted under it, or have the effect or intent of restricting the ability of any person to exercise those rights.
+
+ b. Parallel distribution. You may impose terms or technological measures on the Database, a Derivative Database, or the whole or a Substantial part of the Contents (a "Restricted Database") in contravention of Section 4.74 a. only if You also make a copy of the Database or a Derivative Database available to the recipient of the Restricted Database:
+
+ i. That is available without additional fee;
+
+ ii. That is available in a medium that does not alter or restrict the terms of this License, or any rights granted under it, or have the effect or intent of restricting the ability of any person to exercise those rights (an "Unrestricted Database"); and
+
+ iii. The Unrestricted Database is at least as accessible to the recipient as a practical matter as the Restricted Database.
+
+ c. For the avoidance of doubt, You may place this Database or a Derivative Database in an authenticated environment, behind a password, or within a similar access control scheme provided that You do not alter or restrict the terms of this License or any rights granted under it or have the effect or intent of restricting the ability of any person to exercise those rights.
+
+4.8 Licensing of others. You may not sublicense the Database. Each time You communicate the Database, the whole or Substantial part of the Contents, or any Derivative Database to anyone else in any way, the Licensor offers to the recipient a license to the Database on the same terms and conditions as this License. You are not responsible for enforcing compliance by third parties with this License, but You may enforce any rights that You have over a Derivative Database. You are solely responsible for any modifications of a Derivative Database made by You or another Person at Your direction. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License.
+
+5.0 Moral rights
+
+5.1 Moral rights. This section covers moral rights, including any rights to be identified as the author of the Database or to object to treatment that would otherwise prejudice the author's honour and reputation, or any other derogatory treatment:
+
+ a. For jurisdictions allowing waiver of moral rights, Licensor waives all moral rights that Licensor may have in the Database to the fullest extent possible by the law of the relevant jurisdiction under Section 10.4;
+
+ b. If waiver of moral rights under Section 5.1 a in the relevant jurisdiction is not possible, Licensor agrees not to assert any moral rights over the Database and waives all claims in moral rights to the fullest extent possible by the law of the relevant jurisdiction under Section 10.4; and
+
+ c. For jurisdictions not allowing waiver or an agreement not to assert moral rights under Section 5.1 a and b, the author may retain their moral rights over certain aspects of the Database.
+
+Please note that some jurisdictions do not allow for the waiver of moral rights, and so moral rights may still subsist over the Database in some jurisdictions.
+
+6.0 Fair dealing, Database exceptions, and other rights not affected
+
+6.1 This License does not affect any rights that You or anyone else may independently have under any applicable law to make any use of this Database, including without limitation:
+
+ a. Exceptions to the Database Right including: Extraction of Contents from non-electronic Databases for private purposes, Extraction for purposes of illustration for teaching or scientific research, and Extraction or Re-utilisation for public security or an administrative or judicial procedure.
+
+ b. Fair dealing, fair use, or any other legally recognised limitation or exception to infringement of copyright or other applicable laws.
+
+6.2 This License does not affect any rights of lawful users to Extract and Re-utilise insubstantial parts of the Contents, evaluated quantitatively or qualitatively, for any purposes whatsoever, including creating a Derivative Database (subject to other rights over the Contents, see Section 2.4). The repeated and systematic Extraction or Re-utilisation of insubstantial parts of the Contents may however amount to the Extraction or Re-utilisation of a Substantial part of the Contents.
+
+7.0 Warranties and Disclaimer
+
+7.1 The Database is licensed by the Licensor "as is" and without any warranty of any kind, either express, implied, or arising by statute, custom, course of dealing, or trade usage. Licensor specifically disclaims any and all implied warranties or conditions of title, non-infringement, accuracy or completeness, the presence or absence of errors, fitness for a particular purpose, merchantability, or otherwise. Some jurisdictions do not allow the exclusion of implied warranties, so this exclusion may not apply to You.
+
+8.0 Limitation of liability
+
+8.1 Subject to any liability that may not be excluded or limited by law, the Licensor is not liable for, and expressly excludes, all liability for loss or damage however and whenever caused to anyone by any use under this License, whether by You or by anyone else, and whether caused by any fault on the part of the Licensor or not. This exclusion of liability includes, but is not limited to, any special, incidental, consequential, punitive, or exemplary damages such as loss of revenue, data, anticipated profits, and lost business. This exclusion applies even if the Licensor has been advised of the possibility of such damages.
+
+8.2 If liability may not be excluded by law, it is limited to actual and direct financial loss to the extent it is caused by proved negligence on the part of the Licensor.
+
+9.0 Termination of Your rights under this License
+
+9.1 Any breach by You of the terms and conditions of this License automatically terminates this License with immediate effect and without notice to You. For the avoidance of doubt, Persons who have received the Database, the whole or a Substantial part of the Contents, Derivative Databases, or the Database as part of a Collective Database from You under this License will not have their licenses terminated provided their use is in full compliance with this License or a license granted under Section 4.8 of this License. Sections 1, 2, 7, 8, 9 and 10 will survive any termination of this License.
+
+9.2 If You are not in breach of the terms of this License, the Licensor will not terminate Your rights under it.
+
+9.3 Unless terminated under Section 9.1, this License is granted to You for the duration of applicable rights in the Database.
+
+9.4 Reinstatement of rights. If you cease any breach of the terms and conditions of this License, then your full rights under this License will be reinstated:
+
+ a. Provisionally and subject to permanent termination until the 60th day after cessation of breach;
+
+ b. Permanently on the 60th day after cessation of breach unless otherwise reasonably notified by the Licensor; or
+
+ c. Permanently if reasonably notified by the Licensor of the violation, this is the first time You have received notice of violation of this License from the Licensor, and You cure the violation prior to 30 days after your receipt of the notice.
+
+Persons subject to permanent termination of rights are not eligible to be a recipient and receive a license under Section 4.8.
+
+9.5 Notwithstanding the above, Licensor reserves the right to release the Database under different license terms or to stop distributing or making available the Database. Releasing the Database under different license terms or stopping the distribution of the Database will not withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+10.0 General
+
+10.1 If any provision of this License is held to be invalid or unenforceable, that must not affect the validity or enforceability of the remainder of the terms and conditions of this License and each remaining provision of this License shall be valid and enforced to the fullest extent permitted by law.
+
+10.2 This License is the entire agreement between the parties with respect to the rights granted here over the Database. It replaces any earlier understandings, agreements or representations with respect to the Database.
+
+10.3 If You are in breach of the terms of this License, You will not be entitled to rely on the terms of this License or to complain of any breach by the Licensor.
+
+10.4 Choice of law. This License takes effect in and will be governed by the laws of the relevant jurisdiction in which the License terms are sought to be enforced. If the standard suite of rights granted under applicable copyright law and Database Rights in the relevant jurisdiction includes additional rights not granted under this License, these additional rights are granted in this License in order to meet the terms of this License.
\ No newline at end of file
diff --git a/options/license/OFL-1.0 b/options/license/OFL-1.0
new file mode 100644
index 0000000..95894a2
--- /dev/null
+++ b/options/license/OFL-1.0
@@ -0,0 +1,49 @@
+SIL OPEN FONT LICENSE
+
+Version 1.0 - 22 November 2005
+
+PREAMBLE
+
+The goals of the Open Font License (OFL) are to stimulate worldwide development of cooperative font projects, to support the font creation efforts of academic and linguistic communities, and to provide an open framework in which fonts may be shared and improved in partnership with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and sold with any software provided that the font names of derivative works are changed. The fonts and derivatives, however, cannot be released under any other type of license.
+
+DEFINITIONS
+
+"Font Software" refers to any and all of the following:
+
+ - font files
+ - data files
+ - source code
+ - build scripts
+ - documentation
+
+"Reserved Font Name" refers to the Font Software name as seen by users and any other names as specified after the copyright statement.
+
+"Standard Version" refers to the collection of Font Software components as distributed by the Copyright Holder.
+
+"Modified Version" refers to any derivative font software made by adding to, deleting, or substituting — in part or in whole -- any of the components of the Standard Version, by changing formats or by porting the Font Software to a new environment.
+
+"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components, in Standard or Modified Versions, may be sold by itself.
+
+2) Standard or Modified Versions of the Font Software may be bundled, redistributed and sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font Name(s), in part or in whole, unless explicit written permission is granted by the Copyright Holder. This restriction applies to all references stored in the Font Software, such as the font menu name and other font description fields, which are used to differentiate the font from others.
+
+4) The name(s) of the Copyright Holder or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder and the Author(s) or with their explicit written permission.
+
+5) The Font Software, modified or unmodified, in part or in whole, must be distributed using this license, and may not be distributed under any other license.
+
+TERMINATION
+
+This license becomes null and void if any of the above conditions are not met.
+
+DISCLAIMER
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
\ No newline at end of file
diff --git a/options/license/OFL-1.1 b/options/license/OFL-1.1
new file mode 100644
index 0000000..181934d
--- /dev/null
+++ b/options/license/OFL-1.1
@@ -0,0 +1,43 @@
+SIL OPEN FONT LICENSE
+
+Version 1.1 - 26 February 2007
+
+PREAMBLE
+
+The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+
+"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
+
+"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
+
+5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
+
+TERMINATION
+
+This license becomes null and void if any of the above conditions are not met.
+
+DISCLAIMER
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
\ No newline at end of file
diff --git a/options/license/OGTSL b/options/license/OGTSL
new file mode 100644
index 0000000..f00ec00
--- /dev/null
+++ b/options/license/OGTSL
@@ -0,0 +1,55 @@
+The Open Group Test Suite License
+
+Preamble
+
+The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
+
+Testing is essential for proper development and maintenance of standards-based products.
+
+For buyers: adequate conformance testing leads to reduced integration costs and protection of investments in applications, software and people.
+
+For software developers: conformance testing of platforms and middleware greatly reduces the cost of developing and maintaining multi-platform application software.
+
+For suppliers: In-depth testing increases customer satisfaction and keeps development and support costs in check. API conformance is highly measurable and suppliers who claim it must be able to substantiate that claim.
+
+As such, since these are benchmark measures of conformance, we feel the integrity of test tools is of importance. In order to preserve the integrity of the existing conformance modes of this test package and to permit recipients of modified versions of this package to run the original test modes, this license requires that the original test modes be preserved.
+
+If you find a bug in one of the standards mode test cases, please let us know so we can feed this back into the original, and also raise any specification issues with the appropriate bodies (for example the POSIX committees).
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder.
+
+ "Copyright Holder" is whoever is named in the copyright or copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least the following:
+
+ rename any non-standard executables and testcases so the names do not conflict with standard executables and testcases, which must also be provided, and provide a separate manual page for each non-standard executable and testcase that clearly documents how it differs from the Standard Version.
+
+4. You may distribute the programs of this Package in object code or executable form, provided that you do at least the following:
+
+ accompany any non-standard executables and testcases with their corresponding Standard Version executables and testcases, giving the non-standard executables and testcases non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
+
+5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package.
+
+7.Subroutines supplied by you and linked into this Package shall not be considered part of this Package.
+
+8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
\ No newline at end of file
diff --git a/options/license/OLDAP-1.1 b/options/license/OLDAP-1.1
new file mode 100644
index 0000000..d558ec4
--- /dev/null
+++ b/options/license/OLDAP-1.1
@@ -0,0 +1,61 @@
+The OpenLDAP Public License
+Version 1.1, 25 August 1998
+
+Copyright 1998, The OpenLDAP Foundation. All Rights Reserved.
+
+Note: This license is derived from the "Artistic License" as distributed with the Perl Programming Language. Its terms are different from those of the "Artistic License."
+
+PREAMBLE
+
+The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder.
+
+ "Copyright Holder" is whoever is named in the copyright or copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as uunet.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of the Package with your modifications.
+
+ c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package.
+
+7. C subroutines supplied by you and linked into this Package in order to emulate subroutines and variables of the language defined by this Package shall not be considered part of this Package, but are the equivalent of input as in Paragraph 6, provided these subroutines do not change the language in any way that would cause it to fail the regression tests for the language.
+
+8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
+
diff --git a/options/license/OLDAP-1.2 b/options/license/OLDAP-1.2
new file mode 100644
index 0000000..7b34a76
--- /dev/null
+++ b/options/license/OLDAP-1.2
@@ -0,0 +1,61 @@
+The OpenLDAP Public License
+Version 1.2, 1 September 1998
+
+Copyright 1998, The OpenLDAP Foundation. All Rights Reserved.
+
+Note: This license is derived from the "Artistic License" as distributed with the Perl Programming Language. As differences may exist, the complete license should be read.
+
+PREAMBLE
+
+The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder.
+
+ "Copyright Holder" is whoever is named in the copyright or copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as uunet.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of the Package with your modifications.
+
+ c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package.
+
+7. C subroutines supplied by you and linked into this Package in order to emulate subroutines and variables of the language defined by this Package shall not be considered part of this Package, but are the equivalent of input as in Paragraph 6, provided these subroutines do not change the language in any way that would cause it to fail the regression tests for the language.
+
+8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
+
diff --git a/options/license/OLDAP-1.3 b/options/license/OLDAP-1.3
new file mode 100644
index 0000000..df43e18
--- /dev/null
+++ b/options/license/OLDAP-1.3
@@ -0,0 +1,63 @@
+The OpenLDAP Public License
+Version 1.3, 17 January 1999
+
+Copyright 1998-1999, The OpenLDAP Foundation. All Rights Reserved.
+
+Note: This license is derived from the "Artistic License" as distributed with the Perl Programming Language. As significant differences exist, the complete license should be read.
+
+PREAMBLE
+
+The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder.
+
+ "Copyright Holder" is whoever is named in the copyright or copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as uunet.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of the Package with your modifications.
+
+ c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package.
+
+7. C subroutines supplied by you and linked into this Package in order to emulate subroutines and variables defined by this Package shall not be considered part of this Package, but are the equivalent of input as in Paragraph 6, provided these subroutines do not change the behavior of the Package in any way that would cause it to fail the regression tests for the Package.
+
+8. Software supplied by you and linked with this Package in order to use subroutines and variables defined by this Package shall not be considered part of this Package and do not automatically fall under the copyright of this Package, and the executables produced by linking your software with this Package may be used and redistributed without restriction and may be sold commercially.
+
+9. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
+
diff --git a/options/license/OLDAP-1.4 b/options/license/OLDAP-1.4
new file mode 100644
index 0000000..0b2652a
--- /dev/null
+++ b/options/license/OLDAP-1.4
@@ -0,0 +1,63 @@
+The OpenLDAP Public License
+Version 1.4, 18 January 1999
+
+Copyright 1998-1999, The OpenLDAP Foundation. All Rights Reserved.
+
+Note: This license is derived from the "Artistic License" as distributed with the Perl Programming Language. As significant differences exist, the complete license should be read.
+
+PREAMBLE
+
+The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder.
+
+ "Copyright Holder" is whoever is named in the copyright or copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as uunet.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of the Package with your modifications.
+
+ c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package.
+
+7. C subroutines supplied by you and linked into this Package in order to emulate subroutines and variables defined by this Package shall not be considered part of this Package, but are the equivalent of input as in Paragraph 6, provided these subroutines do not change the behavior of the Package in any way that would cause it to fail the regression tests for the Package.
+
+8. Software supplied by you and linked with this Package in order to use subroutines and variables defined by this Package shall not be considered part of this Package and do not automatically fall under the copyright of this Package. Executables produced by linking your software with this Package may be used and redistributed without restriction and may be sold commercially so long as the primary function of your software is different than the package itself.
+
+9. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
+
+10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
+
diff --git a/options/license/OLDAP-2.0 b/options/license/OLDAP-2.0
new file mode 100644
index 0000000..57efcc9
--- /dev/null
+++ b/options/license/OLDAP-2.0
@@ -0,0 +1,19 @@
+The OpenLDAP Public License
+Version 2.0, 7 June 1999
+
+Copyright 1999, The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved.
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices. Redistributions must also contain a copy of this document.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The name "OpenLDAP" must not be used to endorse or promote products derived from this Software without prior written permission of the OpenLDAP Foundation. For written permission, please contact foundation@openldap.org.
+
+4. Products derived from this Software may not be called "OpenLDAP" nor may "OpenLDAP" appear in their names without prior written permission of the OpenLDAP Foundation. OpenLDAP is a registered trademark of the OpenLDAP Foundation.
+
+5. Due credit should be given to the OpenLDAP Project (http://www.openldap.org/).
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
diff --git a/options/license/OLDAP-2.0.1 b/options/license/OLDAP-2.0.1
new file mode 100644
index 0000000..681d4c5
--- /dev/null
+++ b/options/license/OLDAP-2.0.1
@@ -0,0 +1,19 @@
+The OpenLDAP Public License
+Version 2.0.1, 21 December 1999
+
+Copyright 1999, The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved.
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices. Redistributions must also contain a copy of this document.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The name "OpenLDAP" must not be used to endorse or promote products derived from this Software without prior written permission of the OpenLDAP Foundation. For written permission, please contact foundation@openldap.org.
+
+4. Products derived from this Software may not be called "OpenLDAP" nor may "OpenLDAP" appear in their names without prior written permission of the OpenLDAP Foundation. OpenLDAP is a trademark of the OpenLDAP Foundation.
+
+5. Due credit should be given to the OpenLDAP Project (http://www.openldap.org/).
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
diff --git a/options/license/OLDAP-2.1 b/options/license/OLDAP-2.1
new file mode 100644
index 0000000..f6b7567
--- /dev/null
+++ b/options/license/OLDAP-2.1
@@ -0,0 +1,21 @@
+The OpenLDAP Public License
+Version 2.1, 29 February 2000
+
+Copyright 1999-2000, The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved.
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices. Redistributions must also contain a copy of this document.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The name "OpenLDAP" must not be used to endorse or promote products derived from this Software without prior written permission of the OpenLDAP Foundation. For written permission, please contact foundation@openldap.org.
+
+4. Products derived from this Software may not be called "OpenLDAP" nor may "OpenLDAP" appear in their names without prior written permission of the OpenLDAP Foundation. OpenLDAP is a trademark of the OpenLDAP Foundation.
+
+5. Due credit should be given to the OpenLDAP Project (http://www.openldap.org/).
+
+6. The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use the Software under terms of this license revision or under the terms of any subsequent license revision.
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
diff --git a/options/license/OLDAP-2.2 b/options/license/OLDAP-2.2
new file mode 100644
index 0000000..df28ba2
--- /dev/null
+++ b/options/license/OLDAP-2.2
@@ -0,0 +1,23 @@
+The OpenLDAP Public License
+Version 2.2, 1 March 2000
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices. Redistributions must also contain a copy of this document.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The name "OpenLDAP" must not be used to endorse or promote products derived from this Software without prior written permission of the OpenLDAP Foundation.
+
+4. Products derived from this Software may not be called "OpenLDAP" nor may "OpenLDAP" appear in their names without prior written permission of the OpenLDAP Foundation.
+
+5. Due credit should be given to the OpenLDAP Project (http://www.openldap.org/).
+
+6. The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use the Software under terms of this license revision or under the terms of any subsequent the license.
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+OpenLDAP is a trademark of the OpenLDAP Foundation.
+
+Copyright 1999-2000, The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distributed verbatim copies of this document is granted.
+
diff --git a/options/license/OLDAP-2.2.1 b/options/license/OLDAP-2.2.1
new file mode 100644
index 0000000..a83adf3
--- /dev/null
+++ b/options/license/OLDAP-2.2.1
@@ -0,0 +1,23 @@
+The OpenLDAP Public License
+Version 2.2.1, 1 March 2000
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices. Redistributions must also contain a copy of this document.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The name "OpenLDAP" must not be used to endorse or promote products derived from this Software without prior written permission of the OpenLDAP Foundation.
+
+4. Products derived from this Software may not be called "OpenLDAP" nor may "OpenLDAP" appear in their names without prior written permission of the OpenLDAP Foundation.
+
+5. Due credit should be given to the OpenLDAP Project (http://www.openldap.org/).
+
+6. The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use the Software under terms of this license revision or under the terms of any subsequent revision of the license.
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+OpenLDAP is a trademark of the OpenLDAP Foundation.
+
+Copyright 1999-2000 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distributed verbatim copies of this document is granted.
+
diff --git a/options/license/OLDAP-2.2.2 b/options/license/OLDAP-2.2.2
new file mode 100644
index 0000000..2a9a8da
--- /dev/null
+++ b/options/license/OLDAP-2.2.2
@@ -0,0 +1,25 @@
+The OpenLDAP Public License
+Version 2.2.2, 28 July 2000
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices.
+
+2. Redistributions in binary form must reproduce applicable copyright statements and notices, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. Redistributions must contain a verbatim copy of this document.
+
+4. The name "OpenLDAP" must not be used to endorse or promote products derived from this Software without prior written permission of the OpenLDAP Foundation.
+
+5. Products derived from this Software may not be called "OpenLDAP" nor may "OpenLDAP" appear in their names without prior written permission of the OpenLDAP Foundation.
+
+6. Due credit should be given to the OpenLDAP Project (http://www.openldap.org/).
+
+7. The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use the Software under terms of this license revision or under the terms of any subsequent revision of the license.
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+OpenLDAP is a trademark of the OpenLDAP Foundation.
+
+Copyright 1999-2000 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distributed verbatim copies of this document is granted.
+
diff --git a/options/license/OLDAP-2.3 b/options/license/OLDAP-2.3
new file mode 100644
index 0000000..1a95dff
--- /dev/null
+++ b/options/license/OLDAP-2.3
@@ -0,0 +1,25 @@
+The OpenLDAP Public License
+Version 2.3, 28 July 2000
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices.
+
+2. Redistributions in binary form must reproduce applicable copyright statements and notices, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. Redistributions must contain a verbatim copy of this document.
+
+4. The name "OpenLDAP" must not be used to endorse or promote products derived from this Software without prior written permission of the OpenLDAP Foundation.
+
+5. Products derived from this Software may not be called "OpenLDAP" nor may "OpenLDAP" appear in their names without prior written permission of the OpenLDAP Foundation.
+
+6. Due credit should be given to the OpenLDAP Project (http://www.openldap.org/).
+
+7. The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use the Software under terms of this license revision or under the terms of any subsequent revision of the license.
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+OpenLDAP is a trademark of the OpenLDAP Foundation.
+
+Copyright 1999-2000 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distributed verbatim copies of this document is granted.
+
diff --git a/options/license/OLDAP-2.4 b/options/license/OLDAP-2.4
new file mode 100644
index 0000000..bd67198
--- /dev/null
+++ b/options/license/OLDAP-2.4
@@ -0,0 +1,23 @@
+The OpenLDAP Public License
+Version 2.4, 8 December 2000
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices.
+
+2. Redistributions in binary form must reproduce applicable copyright statements and notices, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. Redistributions must contain a verbatim copy of this document.
+
+4. The names and trademarks of the authors and copyright holders must not be used in advertising or otherwise to promote the sale, use or other dealing in this Software without specific, written prior permission.
+
+5. Due credit should be given to the OpenLDAP Project.
+
+6. The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use the Software under terms of this license revision or under the terms of any subsequent revision of the license.
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+OpenLDAP is a trademark of the OpenLDAP Foundation.
+
+Copyright 1999-2000 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distributed verbatim copies of this document is granted.
+
diff --git a/options/license/OLDAP-2.7 b/options/license/OLDAP-2.7
new file mode 100644
index 0000000..d9d6c39
--- /dev/null
+++ b/options/license/OLDAP-2.7
@@ -0,0 +1,20 @@
+The OpenLDAP Public License
+Version 2.7, 7 September 2001
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices,
+
+2. Redistributions in binary form must reproduce applicable copyright statements and notices, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution, and
+
+3. Redistributions must contain a verbatim copy of this document.
+
+The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use this Software under terms of this license revision or under the terms of any subsequent revision of the license.
+
+THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S) OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+The names of the authors and copyright holders must not be used in advertising or otherwise to promote the sale, use or other dealing in this Software without specific, written prior permission. Title to copyright in this Software shall at all times remain with copyright holders.
+
+OpenLDAP is a registered trademark of the OpenLDAP Foundation.
+
+Copyright 1999-2001 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distribute verbatim copies of this document is granted.
\ No newline at end of file
diff --git a/options/license/OML b/options/license/OML
new file mode 100644
index 0000000..526df0d
--- /dev/null
+++ b/options/license/OML
@@ -0,0 +1,5 @@
+This FastCGI application library source and object code (the "Software") and its documentation (the "Documentation") are copyrighted by Open Market, Inc ("Open Market"). The following terms apply to all files associated with the Software and Documentation unless explicitly disclaimed in individual files.
+
+Open Market permits you to use, copy, modify, distribute, and license this Software and the Documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this Software and Documentation may be copyrighted by their authors and need not follow the licensing terms described here. If modifications to this Software and Documentation have new licensing terms, the new terms must be clearly indicated on the first page of each file where they apply.
+
+OPEN MARKET MAKES NO EXPRESS OR IMPLIED WARRANTY WITH RESPECT TO THE SOFTWARE OR THE DOCUMENTATION, INCLUDING WITHOUT LIMITATION ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL OPEN MARKET BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY DAMAGES ARISING FROM OR RELATING TO THIS SOFTWARE OR THE DOCUMENTATION, INCLUDING, WITHOUT LIMITATION, ANY INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES OR SIMILAR DAMAGES, INCLUDING LOST PROFITS OR LOST DATA, EVEN IF OPEN MARKET HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THE SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS". OPEN MARKET HAS NO LIABILITY IN CONTRACT, TORT, NEGLIGENCE OR OTHERWISE ARISING OUT OF THIS SOFTWARE OR THE DOCUMENTATION.
\ No newline at end of file
diff --git a/options/license/OPL-1.0 b/options/license/OPL-1.0
new file mode 100644
index 0000000..3f5a6b9
--- /dev/null
+++ b/options/license/OPL-1.0
@@ -0,0 +1,136 @@
+OPEN PUBLIC LICENSE
+Version 1.0
+
+1. Definitions.
+
+ 1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+ 1.3. "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+ 1.4. "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.5. "Executable" means Covered Code in any form other than Source Code.
+
+ 1.6. "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+ 1.7. "Larger Work" means a work, which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.8. "License" means this document and the corresponding addendum described in section 6.4 below.
+
+ 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+ 1.11. "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+ 1.12. "You" means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You'' includes any entity which 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 fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+ 1.13 "License Author" means Lutris Technologies, Inc.
+
+2. Source Code License.
+
+ 2.1. The Initial Developer Grant. The Initial Developer hereby grants You a worldwide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) under intellectual property rights (other than patent or trademark) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and
+
+ (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``offer to sell and import'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations.
+
+ 2.2. Contributor Grant. Each Contributor hereby grants You a worldwide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) under intellectual property rights (other than patent or trademark) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and
+
+ (b) under patents now or hereafter owned or controlled by Contributor, to to make, have made, use and sell (``offer to sell and import'') the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations
+
+3. Distribution Obligations.
+
+ 3.1. Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+ 3.2. Availability of Source Code. Any Modification which You create or to which You contribute must be made available, prior to any use, except for internal development and practice, in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You shall notify the Initial Developer of the Modification and the location of the Source Code via the contact means provided for in the Developer Specific license. Initial Developer will be acting as maintainer of the Source Code and may provide an Electronic Distribution mechanism for the Modification to be made available.
+
+ 3.3. Description of Modifications. You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+ 3.4. Intellectual Property Matters
+
+ (a) Third Party Claims. If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+
+ (b) Representations. Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+
+ 3.5. Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or 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 the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.6. Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. If you distribute executable versions containing Covered Code, you must reproduce the notice in Exhibit B in the documentation and/or other materials provided with the product.
+
+ 3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+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 Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) Cite all of the statutes or regulations that prohibit you from complying fully with this license. (c) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. 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. Application of this License.
+
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code.
+
+6. Versions of the License.
+
+ 6.1. New Versions. License Author may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number and shall be submitted to opensource.org for certification.
+
+ 6.2. Effect of New Versions. Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Initial Developer. No one other than Initial Developer has the right to modify the terms applicable to Covered Code created under this License.
+
+ 6.3. Derivative Works. If you create or use a modified version of this License, except in association with the required Developer Specific License described in section 6.4, (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Open'', ``OpenPL'', ``OPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Open Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+ 6.4. Required Additional Developer Specific License
+This license is a union of the following two parts that should be found as text files in the same place (directory), in the order of preeminence:
+
+ [1] A Developer specific license.
+
+ [2] The contents of this file OPL_1_0.TXT, stating the general licensing policy of the software.
+
+In case of conflicting dispositions in the parts of this license, the terms of the lower-numbered part will always be superseded by the terms of the higher numbered part.
+
+7. DISCLAIMER OF WARRANTY.
+
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE 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 CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER 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 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+ 8.1 Termination upon Breach
+This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code, which are properly granted, shall survive any termination of this License. Provisions that, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+ 8.2. Termination Upon Litigation. If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that:
+
+ (a) such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+
+ (b) any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
+
+ 8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+ 8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY.
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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 THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS.
+
+The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. MISCELLANEOUS.
+
+ his section was intentionally left blank. The contents of this section are found in the corresponding addendum described above.
+
+12. RESPONSIBILITY FOR CLAIMS.
+
+Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute with Initial Developer responsibility on an equitable basis.
+
+EXHIBIT A.
+
+Text for this Exhibit A is found in the corresponding addendum, described in section 6.4 above, text file provided by the Initial Developer. This license is not valid or complete with out that file.
+
+EXHIBIT B.
+
+Text for this Exhibit B is found in the corresponding addendum, described in section 6.4 above, text file provided by the Initial Developer. This license is not valid or complete with out that file.
\ No newline at end of file
diff --git a/options/license/OSET-PL-2.1 b/options/license/OSET-PL-2.1
new file mode 100644
index 0000000..2511089
--- /dev/null
+++ b/options/license/OSET-PL-2.1
@@ -0,0 +1,138 @@
+OSET Public License
+(c) 2015 ALL RIGHTS RESERVED VERSION 2.1
+
+THIS LICENSE DEFINES THE RIGHTS OF USE, REPRODUCTION, DISTRIBUTION, MODIFICATION, AND REDISTRIBUTION OF CERTAIN COVERED SOFTWARE (AS DEFINED BELOW) ORIGINALLY RELEASED BY THE OPEN SOURCE ELECTION TECHNOLOGY FOUNDATION (FORMERLY “THE OSDV FOUNDATION”). ANYONE WHO USES, REPRODUCES, DISTRIBUTES, MODIFIES, OR REDISTRIBUTES THE COVERED SOFTWARE, OR ANY PART THEREOF, IS BY THAT ACTION, ACCEPTING IN FULL THE TERMS CONTAINED IN THIS AGREEMENT. IF YOU DO NOT AGREE TO SUCH TERMS, YOU ARE NOT PERMITTED TO USE THE COVERED SOFTWARE.
+
+This license was prepared based on the Mozilla Public License (“MPL”), version 2.0. For annotation of the differences between this license and MPL 2.0, please see the OSET Foundation web site at www.OSETFoundation.org/public-license.
+
+The text of the license begins here:
+
+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:
+ a. That the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or
b. that the Covered Software was made available under the terms of version 1.x 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:
+ a. any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or
b. 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 one of: 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:
a. 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
b. 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:
a. for any code that a Contributor has removed from Covered Software; or
b. 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
c. 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 must cause any of Your Modifications to carry prominent notices stating that You changed the files. 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:
+
+ a. 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
b. 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
+
+ 3.5.1 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.
+
+ 3.5.2 You may place additional conditions upon the rights granted in this License to the extent necessary due to statute, judicial order, regulation (including without limitation state and federal procurement regulation), national security, or public interest. Any such additional conditions must be clearly described in the notice provisions required under Section 3.4. Any alteration of the terms of this License will apply to all copies of the Covered Software distributed by You or by any downstream recipients that receive the Covered Software from You.
+
+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 included in the notices required under Section 3.4. 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 Failure to Comply
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 Patent Infringement Claims
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 Additional Compliance Terms
Notwithstanding the foregoing in this Section 5, for purposes of this Section, if You breach Section 3.1 (Distribution of Source Form), Section 3.2 (Distribution of Executable Form), Section 3.3 (Distribution of a Larger Work), or Section 3.4 (Notices), then becoming compliant as described in Section 5.1 must also include, no later than 30 days after receipt by You of notice of such violation by a Contributor, making the Covered Software available in Source Code Form as required by this License on a publicly available computer network for a period of no less than three (3) years.
+
+ 5.4 Contributor Remedies
If You fail to comply with the terms of this License and do not thereafter become
compliant in accordance with Section 5.1 and, if applicable, Section 5.3, then each Contributor reserves its right, in addition to any other rights it may have in law or in equity, to bring an action seeking injunctive relief, or damages for willful copyright or patent infringement (including without limitation damages for unjust enrichment, where available under law), for all actions in violation of rights that would otherwise have been granted under the terms of this License.
+
+ 5.5 End User License Agreements
In the event of termination under this Section 5, 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. Government Terms
+
+ 9.1 Commercial Item
The Covered Software is a “commercial item,” as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of “commercial computer software” and “commercial computer software documentation,” as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those rights set forth herein.
+
+ 9.2 No Sovereign Immunity
The U.S. federal government and states that use or distribute Covered Software hereby waive their sovereign immunity with respect to enforcement of the provisions of this License.
+
+ 9.3 Choice of Law and Venue
+
+ 9.3.1 If You are a government of a state of the United States, or Your use of the Covered Software is pursuant to a procurement contract with such a state government, this License shall be governed by the law of such state, excluding its conflict-of-law provisions, and the adjudication of disputes relating to this License will be subject to the exclusive jurisdiction of the state and federal courts located in such state.
+ 9.3.2 If You are an agency of the United States federal government, or Your use of the Covered Software is pursuant to a procurement contract with such an agency, this License shall be governed by federal law for all purposes, and the adjudication of disputes relating to this License will be subject to the exclusive jurisdiction of the federal courts located in Washington,
D.C.
+ 9.3.3 You may alter the terms of this Section 9.3 for this License as described in Section 3.5.2.
+
+ 9.4 Supremacy
This Section 9 is in lieu of, and supersedes, any other Federal Acquisition Regulation, Defense Federal Acquisition Regulation, or other clause or provision that addresses government rights in computer software under this License.
+
+10. 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.
+
+11. Versions of the License
+
+ 11.1 New Versions
The Open Source Election Technology Foundation (“OSET”) (formerly known as the Open Source Digital Voting Foundation) is the steward of this License. Except as provided in Section 11.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.
+
+ 11.2 Effects 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.
+
+ 11.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).
+
+ 11.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 OSET Public License, v.2.1
(“OSET-PL-2.1”). If a copy of the OPL was not distributed with this file, You can obtain one at:
www.OSETFoundation.org/public-license.
+
+If it is not possible or desirable to put the Notice in a particular file, then You may include the Notice in a location (e.g., 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 License” Notice
+
+This Source Code Form is “Incompatible With Secondary Licenses”, as defined by the
OSET Public License, v.2.1.
+
diff --git a/options/license/OSL-1.0 b/options/license/OSL-1.0
new file mode 100644
index 0000000..739b6e0
--- /dev/null
+++ b/options/license/OSL-1.0
@@ -0,0 +1,45 @@
+The Open Software License v. 1.0
+
+This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
+
+ "Licensed under the Open Software License version 1.0"
+
+License Terms
+
+1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, non-sublicenseable license to do the following:
+
+ a) to reproduce the Original Work in copies;
+
+ b) to prepare derivative works ("Derivative Works") based upon the Original Work;
+
+ c) to distribute copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute shall be licensed under the Open Software License;
+
+ d) to perform the Original Work publicly; and
+
+ e) to display the Original Work publicly.
+
+2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, non-sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor ("Licensed Claims") to make, use, sell and offer for sale the Original Work. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, non-sublicenseable license under the Licensed Claims to make, use, sell and offer for sale Derivative Works.
+
+3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to access and modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work.
+
+4) Exclusions From License Grant. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the Licensed Claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license.
+
+5) External Deployment. The term "External Deployment" means the use or distribution of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be accessed or used by anyone other than You, whether the Original Work or Derivative Works are distributed to those persons, made available as an application intended for use over a computer network, or used to provide services or otherwise deliver content to anyone other than You. As an express condition for the grants of license hereunder, You agree that any External Deployment by You shall be deemed a distribution and shall be licensed to all under the terms of this License, as prescribed in section 1(c) herein.
+
+6) Warranty and Disclaimer of Warranty. LICENSOR WARRANTS THAT THE COPYRIGHT IN AND TO THE ORIGINAL WORK IS OWNED BY THE LICENSOR OR THAT THE ORIGINAL WORK IS DISTRIBUTED BY LICENSOR UNDER A VALID CURRENT LICENSE FROM THE COPYRIGHT OWNER. EXCEPT AS EXPRESSLY STATED IN THE IMMEDIATELY PRECEEDING SENTENCE, THE ORIGINAL WORK IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE WARRANTY OF NON-INFRINGEMENT AND WARRANTIES THAT THE ORIGINAL WORK IS MERCHANTABLE OR FIT FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO LICENSE TO ORIGINAL WORK IS GRANTED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+7) Limitation of Liability. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE LICENSOR BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING AS A RESULT OF THIS LICENSE OR THE USE OF THE ORIGINAL WORK INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PERSON 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) Acceptance and Termination. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Sections 1 and 2 herein, You indicate Your acceptance of this License and all of its terms and conditions. This license shall terminate immediately and you may no longer exercise any of the rights granted to You by this License upon Your failure to honor the proviso in Section 1(c) herein.
+
+9) Mutual Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License if You file a lawsuit in any court alleging that any OSI Certified open source software that is licensed under any license containing this "Mutual Termination for Patent Action" clause infringes any patent claims that are essential to use that software.
+
+10) Jurisdiction, Venue and Governing Law. You agree that any lawsuit arising under or relating to this License shall be maintained in the courts of the jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. § 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License.
+
+11) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
+
+12) 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.
+
+13) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, 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 (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.
+
+This license is Copyright (C) 2002 Lawrence E. Rosen. All rights reserved. Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
\ No newline at end of file
diff --git a/options/license/OSL-1.1 b/options/license/OSL-1.1
new file mode 100644
index 0000000..9fbc30f
--- /dev/null
+++ b/options/license/OSL-1.1
@@ -0,0 +1,47 @@
+The Open Software License v. 1.1
+
+This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
+
+ Licensed under the Open Software License version 1.1
+
+1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, non-sublicenseable license to do the following:
+
+ a) to reproduce the Original Work in copies;
+
+ b) to prepare derivative works ("Derivative Works") based upon the Original Work;
+
+ c) to distribute copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute shall be licensed under the Open Software License;
+
+ d) to perform the Original Work publicly; and
+
+ e) to display the Original Work publicly.
+
+2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, non-sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor ("Licensed Claims") to make, use, sell and offer for sale the Original Work. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, non-sublicenseable license under the Licensed Claims to make, use, sell and offer for sale Derivative Works.
+
+3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work.
+
+4) Exclusions From License Grant. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the Licensed Claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license.
+
+5) External Deployment. The term "External Deployment" means the use or distribution of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether the Original Work or Derivative Works are distributed to those persons or made available as an application intended for use over a computer network. As an express condition for the grants of license hereunder, You agree that any External Deployment by You of a Derivative Work shall be deemed a distribution and shall be licensed to all under the terms of this License, as prescribed in section 1(c) herein.
+
+6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
+
+7) Warranty and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work is owned by the Licensor or that the Original Work is distributed by Licensor under a valid current license from the copyright owner. Except as expressly stated in the immediately proceeding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to Original Work is granted hereunder except under this disclaimer.
+
+8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor'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.
+
+9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express and volitional assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Sections 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Sections 1 herein, You indicate Your acceptance of this License and all of its terms and conditions. This License shall terminate immediately and you may no longer exercise any of the rights granted to You by this License upon Your failure to honor the proviso in Section 1(c) herein.
+
+10) Mutual Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License if You file a lawsuit in any court alleging that any OSI Certified open source software that is licensed under any license containing this "Mutual Termination for Patent Action" clause infringes any patent claims that are essential to use that software.
+
+11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. å¤ 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License.
+
+12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
+
+13) 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.
+
+14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, 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 (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.
+
+15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
+
+This license is Copyright (C) 2002 Lawrence E. Rosen. All rights reserved. Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
\ No newline at end of file
diff --git a/options/license/Academic Free License v2.0 b/options/license/OSL-2.0
similarity index 81%
rename from options/license/Academic Free License v2.0
rename to options/license/OSL-2.0
index cc175eb..43b627c 100644
--- a/options/license/Academic Free License v2.0
+++ b/options/license/OSL-2.0
@@ -1,15 +1,20 @@
-The Academic Free License
-v. 2.0
-This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
-Licensed under the Academic Free License version 2.0
+Open Software Licensev. 2.0
+
+This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
+
+ Licensed under the Open Software License version 2.0
1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license to do the following:
-a) to reproduce the Original Work in copies;
-b) to prepare derivative works ("Derivative Works") based upon the Original Work;
-c) to distribute copies of the Original Work and Derivative Works to the public;
-d) to perform the Original Work publicly; and
-e) to display the Original Work publicly.
+ a) to reproduce the Original Work in copies;
+
+ b) to prepare derivative works ("Derivative Works") based upon the Original Work;
+
+ c) to distribute copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute shall be licensed under the Open Software License;
+
+ d) to perform the Original Work publicly; and
+
+ e) to display the Original Work publicly.
2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and Derivative Works.
@@ -17,7 +22,7 @@ e) to display the Original Work publicly.
4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the licensed claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license.
-5) This section intentionally omitted.
+5) External Deployment. The term "External Deployment" means the use or distribution of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether the Original Work or Derivative Works are distributed to those persons or made available as an application intended for use over a computer network. As an express condition for the grants of license hereunder, You agree that any External Deployment by You of a Derivative Work shall be deemed a distribution and shall be licensed to all under the terms of this License, as prescribed in section 1(c) herein.
6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
@@ -25,11 +30,11 @@ e) to display the Original Work publicly.
8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor'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.
-9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions.
+9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions. This License shall terminate immediately and you may no longer exercise any of the rights granted to You by this License upon Your failure to honor the proviso in Section 1(c) herein.
10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, for patent infringement (i) against Licensor with respect to a patent applicable to software or (ii) against any entity with respect to a patent applicable to the Original Work (but excluding combinations of the Original Work with other software or hardware).
-11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. ¤ 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License.
+11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License.
12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
@@ -39,5 +44,4 @@ e) to display the Original Work publicly.
15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
-This license is Copyright (C) 2003 Lawrence E. Rosen. All rights reserved.
-Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
+This license is Copyright (C) 2003 Lawrence E. Rosen. All rights reserved. Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
\ No newline at end of file
diff --git a/options/license/Academic Free License v2.1 b/options/license/OSL-2.1
similarity index 82%
rename from options/license/Academic Free License v2.1
rename to options/license/OSL-2.1
index 2268d71..7f91b09 100644
--- a/options/license/Academic Free License v2.1
+++ b/options/license/OSL-2.1
@@ -1,16 +1,20 @@
-The Academic Free License
-v.2.1
-This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
+The Open Software Licensev. 2.1
-Licensed under the Academic Free License version 2.1
+This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
+
+ Licensed under the Open Software License version 2.1
1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license to do the following:
-a) to reproduce the Original Work in copies;
-b) to prepare derivative works ("Derivative Works") based upon the Original Work;
-c) to distribute copies of the Original Work and Derivative Works to the public;
-d) to perform the Original Work publicly; and
-e) to display the Original Work publicly.
+ a) to reproduce the Original Work in copies;
+
+ b) to prepare derivative works ("Derivative Works") based upon the Original Work;
+
+ c) to distribute copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute shall be licensed under the Open Software License;
+
+ d) to perform the Original Work publicly; and
+
+ e) to display the Original Work publicly.
2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and Derivative Works.
@@ -18,7 +22,7 @@ e) to display the Original Work publicly.
4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the licensed claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license.
-5) This section intentionally omitted.
+5) External Deployment. The term "External Deployment" means the use or distribution of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether the Original Work or Derivative Works are distributed to those persons or made available as an application intended for use over a computer network. As an express condition for the grants of license hereunder, You agree that any External Deployment by You of a Derivative Work shall be deemed a distribution and shall be licensed to all under the terms of this License, as prescribed in section 1(c) herein.
6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
@@ -26,11 +30,11 @@ e) to display the Original Work publicly.
8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor'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.
-9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions.
+9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions. This License shall terminate immediately and you may no longer exercise any of the rights granted to You by this License upon Your failure to honor the proviso in Section 1(c) herein.
10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
-11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. § 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License.
+11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. ¤ 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License.
12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
@@ -40,5 +44,4 @@ e) to display the Original Work publicly.
15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
-This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved.
-Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
+This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved. Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
\ No newline at end of file
diff --git a/options/license/OSL-3.0 b/options/license/OSL-3.0
new file mode 100644
index 0000000..2ebd481
--- /dev/null
+++ b/options/license/OSL-3.0
@@ -0,0 +1,47 @@
+Open Software License v. 3.0 (OSL-3.0)
+
+This Open Software License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work:
+
+ Licensed under the Open Software License version 3.0
+
+1) Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following:
+
+ a) to reproduce the Original Work in copies, either alone or as part of a collective work;
+
+ b) to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work;
+
+ c) to distribute or communicate copies of the Original Work and Derivative Works to the public, with the proviso that copies of Original Work or Derivative Works that You distribute or communicate shall be licensed under this Open Software License;
+
+ d) to perform the Original Work publicly; and
+
+ e) to display the Original Work publicly.
+
+2) Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works.
+
+3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work.
+
+4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor’s trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license.
+
+5) External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c).
+
+6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
+
+7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer.
+
+8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation.
+
+9) Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including “fair use” or “fair dealing”). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c).
+
+10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
+
+11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License.
+
+12) Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
+
+13) Miscellaneous. 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.
+
+14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, 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 (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.
+
+15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
+
+16) Modification of This License. This License is Copyright (c) 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Open Software License" or "OSL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under " or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process.
\ No newline at end of file
diff --git a/options/license/OpenSSL b/options/license/OpenSSL
new file mode 100644
index 0000000..fbdaf2a
--- /dev/null
+++ b/options/license/OpenSSL
@@ -0,0 +1,49 @@
+OpenSSL License
+
+Copyright (c) 1998-2008 The OpenSSL Project. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. All advertising materials mentioning features or use of this software must display the following acknowledgment: "This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
+
+4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact openssl-core@openssl.org.
+
+5. Products derived from this software may not be called "OpenSSL" nor may "OpenSSL" appear in their names without prior written permission of the OpenSSL Project.
+
+6. Redistributions of any form whatsoever must retain the following acknowledgment: "This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)"
+
+THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com).
+
+
+Original SSLeay License
+
+Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) All rights reserved.
+
+This package is an SSL implementation written by Eric Young (eay@cryptsoft.com). The implementation was written so as to conform with Netscapes SSL.
+
+This library is free for commercial and non-commercial use as long as the following conditions are aheared to. The following conditions apply to all code found in this distribution, be it the RC4, RSA, lhash, DES, etc., code; not just the SSL code. The SSL documentation included with this distribution is covered by the same copyright terms except that the holder is Tim Hudson (tjh@cryptsoft.com).
+
+Copyright remains Eric Young's, and as such any Copyright notices in the code are not to be removed. If this package is used in a product, Eric Young should be given attribution as the author of the parts of the library used. This can be in the form of a textual message at program startup or in documentation (online or textual) provided with the package.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. All advertising materials mentioning features or use of this software must display the following acknowledgement:
+"This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)"
+The word 'cryptographic' can be left out if the rouines from the library being used are not cryptographic related :-).
+
+4. If you include any Windows specific code (or a derivative thereof) from the apps directory (application code) you must include an acknowledgement: "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
+
+THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+The licence and distribution terms for any publically available version or derivative of this code cannot be changed. i.e. this code cannot simply be copied and put under another distribution licence [including the GNU Public Licence.]
+
diff --git a/options/license/PDDL-1.0 b/options/license/PDDL-1.0
new file mode 100644
index 0000000..ca04daa
--- /dev/null
+++ b/options/license/PDDL-1.0
@@ -0,0 +1,136 @@
+Open Data Commons - Public Domain Dedication & License (PDDL)
+
+Preamble
+The Open Data Commons - Public Domain Dedication & Licence is a document intended to allow you to freely share, modify, and use this work for any purpose and without any restrictions. This licence is intended for use on databases or their contents ("data"), either together or individually.
+
+Many databases are covered by copyright. Some jurisdictions, mainly in Europe, have specific special rights that cover databases called the "sui generis" database right. Both of these sets of rights, as well as other legal rights used to protect databases and data, can create uncertainty or practical difficulty for those wishing to share databases and their underlying data but retain a limited amount of rights under a "some rights reserved" approach to licensing as outlined in the Science Commons Protocol for Implementing Open Access Data. As a result, this waiver and licence tries to the fullest extent possible to eliminate or fully license any rights that cover this database and data. Any Community Norms or similar statements of use of the database or data do not form a part of this document, and do not act as a contract for access or other terms of use for the database or data.
+
+The position of the recipient of the work
+
+Because this document places the database and its contents in or as close as possible within the public domain, there are no restrictions or requirements placed on the recipient by this document. Recipients may use this work commercially, use technical protection measures, combine this data or database with other databases or data, and share their changes and additions or keep them secret. It is not a requirement that recipients provide further users with a copy of this licence or attribute the original creator of the data or database as a source. The goal is to eliminate restrictions held by the original creator of the data and database on the use of it by others.
+
+The position of the dedicator of the work
+
+Copyright law, as with most other law under the banner of "intellectual property", is inherently national law. This means that there exists several differences in how copyright and other IP rights can be relinquished, waived or licensed in the many legal jurisdictions of the world. This is despite much harmonisation of minimum levels of protection. The internet and other communication technologies span these many disparate legal jurisdictions and thus pose special difficulties for a document relinquishing and waiving intellectual property rights, including copyright and database rights, for use by the global community. Because of this feature of intellectual property law, this document first relinquishes the rights and waives the relevant rights and claims. It then goes on to license these same rights for jurisdictions or areas of law that may make it difficult to relinquish or waive rights or claims.
+
+The purpose of this document is to enable rightsholders to place their work into the public domain. Unlike licences for free and open source software, free cultural works, or open content licences, rightsholders will not be able to "dual license" their work by releasing the same work under different licences. This is because they have allowed anyone to use the work in whatever way they choose. Rightsholders therefore can’t re-license it under copyright or database rights on different terms because they have nothing left to license. Doing so creates truly accessible data to build rich applications and advance the progress of science and the arts.
+
+This document can cover either or both of the database and its contents (the data). Because databases can have a wide variety of content - not just factual data - rightsholders should use the Open Data Commons - Public Domain Dedication & Licence for an entire database and its contents only if everything can be placed under the terms of this document. Because even factual data can sometimes have intellectual property rights, rightsholders should use this licence to cover both the database and its factual data when making material available under this document; even if it is likely that the data would not be covered by copyright or database rights.
+
+Rightsholders can also use this document to cover any copyright or database rights claims over only a database, and leave the contents to be covered by other licences or documents. They can do this because this document refers to the "Work", which can be either - or both - the database and its contents. As a result, rightsholders need to clearly state what they are dedicating under this document when they dedicate it.
+
+Just like any licence or other document dealing with intellectual property, rightsholders should be aware that one can only license what one owns. Please ensure that the rights have been cleared to make this material available under this document.
+
+This document permanently and irrevocably makes the Work available to the public for any use of any kind, and it should not be used unless the rightsholder is prepared for this to happen.
+
+Part I: Introduction
+
+The Rightsholder (the Person holding rights or claims over the Work) agrees as follows:
+
+1.0 Definitions of Capitalised Words
+
+"Copyright" - Includes rights under copyright and under neighbouring rights and similarly related sets of rights under the law of the relevant jurisdiction under Section 6.4.
+
+"Data" - The contents of the Database, which includes the information, independent works, or other material collected into the Database offered under the terms of this Document.
+
+"Database" - A collection of Data arranged in a systematic or methodical way and individually accessible by electronic or other means offered under the terms of this Document.
+
+"Database Right" - Means rights over Data resulting from the Chapter III ("sui generis") rights in the Database Directive (Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases) and any future updates as well as any similar rights available in the relevant jurisdiction under Section 6.4.
+
+"Document" - means this relinquishment and waiver of rights and claims and back up licence agreement.
+
+"Person" - Means a natural or legal person or a body of persons corporate or incorporate.
+
+"Use" - As a verb, means doing any act that is restricted by Copyright or Database Rights whether in the original medium or any other; and includes modifying the Work as may be technically necessary to use it in a different mode or format. This includes the right to sublicense the Work.
+
+"Work" - Means either or both of the Database and Data offered under the terms of this Document.
+
+"You" - the Person acquiring rights under the licence elements of this Document.
+
+Words in the singular include the plural and vice versa.
+
+2.0 What this document covers
+
+2.1. Legal effect of this Document. This Document is:
+
+ a. A dedication to the public domain and waiver of Copyright and Database Rights over the Work; and
+
+ b. A licence of Copyright and Database Rights over the Work in jurisdictions that do not allow for relinquishment or waiver.
+
+2.2. Legal rights covered.
+
+ a. Copyright. Any copyright or neighbouring rights in the Work. Copyright law varies between jurisdictions, but is likely to cover: the Database model or schema, which is the structure, arrangement, and organisation of the Database, and can also include the Database tables and table indexes; the data entry and output sheets; and the Field names of Data stored in the Database. Copyright may also cover the Data depending on the jurisdiction and type of Data; and
+
+ b. Database Rights. Database Rights only extend to the extraction and re-utilisation of the whole or a substantial part of the Data. Database Rights can apply even when there is no copyright over the Database. Database Rights can also apply when the Data is removed from the Database and is selected and arranged in a way that would not infringe any applicable copyright.
+
+2.2 Rights not covered.
+
+ a. This Document does not apply to computer programs used in the making or operation of the Database;
+
+ b. This Document does not cover any patents over the Data or the Database. Please see Section 4.2 later in this Document for further details; and
+
+ c. This Document does not cover any trade marks associated with the Database. Please see Section 4.3 later in this Document for further details.
+
+Users of this Database are cautioned that they may have to clear other rights or consult other licences.
+
+2.3 Facts are free. The Rightsholder takes the position that factual information is not covered by Copyright. This Document however covers the Work in jurisdictions that may protect the factual information in the Work by Copyright, and to cover any information protected by Copyright that is contained in the Work.
+
+Part II: Dedication to the public domain
+
+3.0 Dedication, waiver, and licence of Copyright and Database Rights
+
+3.1 Dedication of Copyright and Database Rights to the public domain. The Rightsholder by using this Document, dedicates the Work to the public domain for the benefit of the public and relinquishes all rights in Copyright and Database Rights over the Work.
+
+ a. The Rightsholder realises that once these rights are relinquished, that the Rightsholder has no further rights in Copyright and Database Rights over the Work, and that the Work is free and open for others to Use.
+
+ b. The Rightsholder intends for their relinquishment to cover all present and future rights in the Work under Copyright and Database Rights, whether they are vested or contingent rights, and that this relinquishment of rights covers all their heirs and successors.
+
+The above relinquishment of rights applies worldwide and includes media and formats now known or created in the future.
+
+3.2 Waiver of rights and claims in Copyright and Database Rights when Section 3.1 dedication inapplicable. If the dedication in Section 3.1 does not apply in the relevant jurisdiction under Section 6.4, the Rightsholder waives any rights and claims that the Rightsholder may have or acquire in the future over the Work in:
+
+ a. Copyright; and
+
+ b. Database Rights.
+
+To the extent possible in the relevant jurisdiction, the above waiver of rights and claims applies worldwide and includes media and formats now known or created in the future. The Rightsholder agrees not to assert the above rights and waives the right to enforce them over the Work.
+
+3.3 Licence of Copyright and Database Rights when Sections 3.1 and 3.2 inapplicable. If the dedication and waiver in Sections 3.1 and 3.2 does not apply in the relevant jurisdiction under Section 6.4, the Rightsholder and You agree as follows:
+
+ a. The Licensor grants to You a worldwide, royalty-free, non-exclusive, licence to Use the Work for the duration of any applicable Copyright and Database Rights. These rights explicitly include commercial use, and do not exclude any field of endeavour. To the extent possible in the relevant jurisdiction, these rights may be exercised in all media and formats whether now known or created in the future.
+
+3.4 Moral rights. This section covers moral rights, including the right to be identified as the author of the Work or to object to treatment that would otherwise prejudice the author’s honour and reputation, or any other derogatory treatment:
+
+ a. For jurisdictions allowing waiver of moral rights, Licensor waives all moral rights that Licensor may have in the Work to the fullest extent possible by the law of the relevant jurisdiction under Section 6.4;
+
+ b. If waiver of moral rights under Section 3.4 a in the relevant jurisdiction is not possible, Licensor agrees not to assert any moral rights over the Work and waives all claims in moral rights to the fullest extent possible by the law of the relevant jurisdiction under Section 6.4; and
+
+ c. For jurisdictions not allowing waiver or an agreement not to assert moral rights under Section 3.4 a and b, the author may retain their moral rights over the copyrighted aspects of the Work.
+
+Please note that some jurisdictions do not allow for the waiver of moral rights, and so moral rights may still subsist over the work in some jurisdictions.
+
+4.0 Relationship to other rights
+
+4.1 No other contractual conditions. The Rightsholder makes this Work available to You without any other contractual obligations, either express or implied. Any Community Norms statement associated with the Work is not a contract and does not form part of this Document.
+
+4.2 Relationship to patents. This Document does not grant You a licence for any patents that the Rightsholder may own. Users of this Database are cautioned that they may have to clear other rights or consult other licences.
+
+4.3 Relationship to trade marks. This Document does not grant You a licence for any trade marks that the Rightsholder may own or that the Rightsholder may use to cover the Work. Users of this Database are cautioned that they may have to clear other rights or consult other licences. Part III: General provisions
+
+5.0 Warranties, disclaimer, and limitation of liability
+
+5.1 The Work is provided by the Rightsholder "as is" and without any warranty of any kind, either express or implied, whether of title, of accuracy or completeness, of the presence of absence of errors, of fitness for purpose, or otherwise. Some jurisdictions do not allow the exclusion of implied warranties, so this exclusion may not apply to You.
+
+5.2 Subject to any liability that may not be excluded or limited by law, the Rightsholder is not liable for, and expressly excludes, all liability for loss or damage however and whenever caused to anyone by any use under this Document, whether by You or by anyone else, and whether caused by any fault on the part of the Rightsholder or not. This exclusion of liability includes, but is not limited to, any special, incidental, consequential, punitive, or exemplary damages. This exclusion applies even if the Rightsholder has been advised of the possibility of such damages.
+
+5.3 If liability may not be excluded by law, it is limited to actual and direct financial loss to the extent it is caused by proved negligence on the part of the Rightsholder.
+
+6.0 General
+
+6.1 If any provision of this Document is held to be invalid or unenforceable, that must not affect the cvalidity or enforceability of the remainder of the terms of this Document.
+
+6.2 This Document is the entire agreement between the parties with respect to the Work covered here. It replaces any earlier understandings, agreements or representations with respect to the Work not specified here.
+
+6.3 This Document does not affect any rights that You or anyone else may independently have under any applicable law to make any use of this Work, including (for jurisdictions where this Document is a licence) fair dealing, fair use, database exceptions, or any other legally recognised limitation or exception to infringement of copyright or other applicable laws.
+
+6.4 This Document takes effect in the relevant jurisdiction in which the Document terms are sought to be enforced. If the rights waived or granted under applicable law in the relevant jurisdiction includes additional rights not waived or granted under this Document, these additional rights are included in this Document in order to meet the intent of this Document.
\ No newline at end of file
diff --git a/options/license/PHP-3.0 b/options/license/PHP-3.0
new file mode 100644
index 0000000..0491f11
--- /dev/null
+++ b/options/license/PHP-3.0
@@ -0,0 +1,28 @@
+The PHP License, version 3.0
+
+Copyright (c) 1999 - 2006 The PHP Group. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, is permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The name "PHP" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact group@php.net.
+
+4. Products derived from this software may not be called "PHP", nor may "PHP" appear in their name, without prior written permission from group@php.net. You may indicate that your software works in conjunction with PHP by saying "Foo for PHP" instead of calling it "PHP Foo" or "phpfoo"
+
+5. The PHP Group may publish revised and/or new versions of the license from time to time. Each version will be given a distinguishing version number. Once covered code has been published under a particular version of the license, you may always continue to use it under the terms of that version. You may also choose to use such covered code under the terms of any subsequent version of the license published by the PHP Group. No one other than the PHP Group has the right to modify the terms applicable to covered code created under this License.
+
+6. Redistributions of any form whatsoever must retain the following acknowledgment: "This product includes PHP, freely available from ".
+
+THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+This software consists of voluntary contributions made by many individuals on behalf of the PHP Group.
+
+The PHP Group can be contacted via Email at group@php.net.
+
+For more information on the PHP Group and the PHP project, please see .
+
+This product includes the Zend Engine, freely available at .
\ No newline at end of file
diff --git a/options/license/PHP-3.01 b/options/license/PHP-3.01
new file mode 100644
index 0000000..2d49e84
--- /dev/null
+++ b/options/license/PHP-3.01
@@ -0,0 +1,27 @@
+The PHP License, version 3.01
+
+Copyright (c) 1999 - 2012 The PHP Group. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, is permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The name "PHP" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact group@php.net.
+
+4. Products derived from this software may not be called "PHP", nor may "PHP" appear in their name, without prior written permission from group@php.net. You may indicate that your software works in conjunction with PHP by saying "Foo for PHP" instead of calling it "PHP Foo" or "phpfoo"
+
+5. The PHP Group may publish revised and/or new versions of the license from time to time. Each version will be given a distinguishing version number. Once covered code has been published under a particular version of the license, you may always continue to use it under the terms of that version. You may also choose to use such covered code under the terms of any subsequent version of the license published by the PHP Group. No one other than the PHP Group has the right to modify the terms applicable to covered code created under this License.
+
+6. Redistributions of any form whatsoever must retain the following acknowledgment: "This product includes PHP software, freely available from ".
+
+THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+This software consists of voluntary contributions made by many individuals on behalf of the PHP Group.
+
+The PHP Group can be contacted via Email at group@php.net.
+
+For more information on the PHP Group and the PHP project, please see .
+
+PHP includes the Zend Engine, freely available at .
\ No newline at end of file
diff --git a/options/license/Plexus b/options/license/Plexus
new file mode 100644
index 0000000..fe7bebf
--- /dev/null
+++ b/options/license/Plexus
@@ -0,0 +1,15 @@
+Copyright <>. All Rights Reserved.
+
+Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements and notices. Redistributions must also contain a copy of this document.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The name <> must not be used to endorse or promote products derived from this Software without prior written permission of <>. For written permission, please contact <>.
+
+4. Products derived from this Software may not be called <> nor may <> appear in their names without prior written permission of <>. <> is a registered trademark of <>.
+
+5. Due credit should be given to <>.
+
+THIS SOFTWARE IS PROVIDED BY <> AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <> OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/PostgreSQL b/options/license/PostgreSQL
new file mode 100644
index 0000000..ad2fcdd
--- /dev/null
+++ b/options/license/PostgreSQL
@@ -0,0 +1,12 @@
+PostgreSQL Database Management System
+(formerly known as Postgres, then as Postgres95)
+
+Portions Copyright (c) 1996-2010, The PostgreSQL Global Development Group
+
+Portions Copyright (c) 1994, The Regents of the University of California
+
+Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.
+
+IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
\ No newline at end of file
diff --git a/options/license/Python-2.0 b/options/license/Python-2.0
new file mode 100644
index 0000000..cc821dc
--- /dev/null
+++ b/options/license/Python-2.0
@@ -0,0 +1,72 @@
+PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
+
+ 1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), and the Individual or Organization ("Licensee") accessing and otherwise using this software ("Python") in source or binary form and its associated documentation.
+
+ 2. Subject to the terms and conditions of this License Agreement, PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights Reserved" are retained in Python alone or in any derivative version prepared by Licensee.
+
+ 3. In the event Licensee prepares a derivative work that is based on or incorporates Python or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Python.
+
+ 4. PSF is making Python available to Licensee on an "AS IS" basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
+
+ 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+ 6. This License Agreement will automatically terminate upon a material breach of its terms and conditions.
+
+ 7. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between PSF and Licensee. This License Agreement does not grant permission to use PSF trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party.
+
+ 8. By copying, installing or otherwise using Python, Licensee agrees to be bound by the terms and conditions of this License Agreement.
+
+
+BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
+
+BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
+
+ 1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the Individual or Organization ("Licensee") accessing and otherwise using this software in source or binary form and its associated documentation ("the Software").
+
+ 2. Subject to the terms and conditions of this BeOpen Python License Agreement, BeOpen hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use the Software alone or in any derivative version, provided, however, that the BeOpen Python License is retained in the Software, alone or in any derivative version prepared by Licensee.
+
+ 3. BeOpen is making the Software available to Licensee on an "AS IS" basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
+
+ 4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+ 5. This License Agreement will automatically terminate upon a material breach of its terms and conditions.
+
+ 6. This License Agreement shall be governed by and interpreted in all respects by the law of the State of California, excluding conflict of law provisions. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between BeOpen and Licensee. This License Agreement does not grant permission to use BeOpen trademarks or trade names in a trademark sense to endorse or promote products or services of Licensee, or any third party. As an exception, the "BeOpen Python" logos available at http://www.pythonlabs.com/logos.html may be used according to the permissions granted on that web page.
+
+ 7. By copying, installing or otherwise using the software, Licensee agrees to be bound by the terms and conditions of this License Agreement.
+
+
+CNRI OPEN SOURCE LICENSE AGREEMENT (for Python 1.6b1)
+
+IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY.
+
+BY CLICKING ON "ACCEPT" WHERE INDICATED BELOW, OR BY COPYING, INSTALLING OR OTHERWISE USING PYTHON 1.6, beta 1 SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT.
+
+ 1. This LICENSE AGREEMENT is between the Corporation for National Research Initiatives, having an office at 1895 Preston White Drive, Reston, VA 20191 ("CNRI"), and the Individual or Organization ("Licensee") accessing and otherwise using Python 1.6, beta 1 software in source or binary form and its associated documentation, as released at the www.python.org Internet site on August 4, 2000 ("Python 1.6b1").
+
+ 2. Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6b1 alone or in any derivative version, provided, however, that CNRIs License Agreement is retained in Python 1.6b1, alone or in any derivative version prepared by Licensee.
+
+ Alternately, in lieu of CNRIs License Agreement, Licensee may substitute the following text (omitting the quotes): "Python 1.6, beta 1, is made available subject to the terms and conditions in CNRIs License Agreement. This Agreement may be located on the Internet using the following unique, persistent identifier (known as a handle): 1895.22/1011. This Agreement may also be obtained from a proxy server on the Internet using the URL:http://hdl.handle.net/1895.22/1011".
+
+ 3. In the event Licensee prepares a derivative work that is based on or incorporates Python 1.6b1 or any part thereof, and wants to make the derivative work available to the public as provided herein, then Licensee hereby agrees to indicate in any such work the nature of the modifications made to Python 1.6b1.
+
+ 4. CNRI is making Python 1.6b1 available to Licensee on an "AS IS" basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6b1 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
+
+ 5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF USING, MODIFYING OR DISTRIBUTING PYTHON 1.6b1, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+ 6. This License Agreement will automatically terminate upon a material breach of its terms and conditions.
+
+ 7. This License Agreement shall be governed by and interpreted in all respects by the law of the State of Virginia, excluding conflict of law provisions. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between CNRI and Licensee. This License Agreement does not grant permission to use CNRI trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party.
+
+ 8. By clicking on the "ACCEPT" button where indicated, or by copying, installing or otherwise using Python 1.6b1, Licensee agrees to be bound by the terms and conditions of this License Agreement.
+
+ACCEPT
+
+
+CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
+
+Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, The Netherlands. All rights reserved.
+
+ Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Stichting Mathematisch Centrum or CWI not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission.
+
+ STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
\ No newline at end of file
diff --git a/options/license/QPL-1.0 b/options/license/QPL-1.0
new file mode 100644
index 0000000..6bf8bf7
--- /dev/null
+++ b/options/license/QPL-1.0
@@ -0,0 +1,50 @@
+THE Q PUBLIC LICENSE version 1.0
+
+Copyright (C) 1999-2005 Trolltech AS, Norway.
+
+Everyone is permitted to copy and distribute this license document.
+
+The intent of this license is to establish freedom to share and change the software regulated by this license under the open source model.
+
+This license applies to any software containing a notice placed by the copyright holder saying that it may be distributed under the terms of the Q Public License version 1.0. Such software is herein referred to as the Software. This license covers modification and distribution of the Software, use of third-party application programs based on the Software, and development of free software which uses the Software.
+
+Granted Rights
+
+1. You are granted the non-exclusive rights set forth in this license provided you agree to and comply with any and all conditions in this license. Whole or partial distribution of the Software, or software items that link with the Software, in any form signifies acceptance of this license.
+
+2. You may copy and distribute the Software in unmodified form provided that the entire package, including - but not restricted to - copyright, trademark notices and disclaimers, as released by the initial developer of the Software, is distributed.
+
+3. You may make modifications to the Software and distribute your modifications, in a form that is separate from the Software, such as patches. The following restrictions apply to modifications:
+
+a. Modifications must not alter or remove any copyright notices in the Software.
+b. When modifications to the Software are released under this license, a non-exclusive royalty-free right is granted to the initial developer of the Software to distribute your modification in future versions of the Software provided such versions remain available under these terms in addition to any other license(s) of the initial developer.
+
+4. You may distribute machine-executable forms of the Software or machine-executable forms of modified versions of the Software, provided that you meet these restrictions:
+
+ a. You must include this license document in the distribution.
+
+ b. You must ensure that all recipients of the machine-executable forms are also able to receive the complete machine-readable source code to the distributed Software, including all modifications, without any charge beyond the costs of data transfer, and place prominent notices in the distribution explaining this.
+
+ c. You must ensure that all modifications included in the machine-executable forms are available under the terms of this license.
+
+5. You may use the original or modified versions of the Software to compile, link and run application programs legally developed by you or by others.
+
+6. You may develop application programs, reusable components and other software items that link with the original or modified versions of the Software. These items, when distributed, are subject to the following requirements:
+
+ a. You must ensure that all recipients of machine-executable forms of these items are also able to receive and use the complete machine-readable source code to the items without any charge beyond the costs of data transfer.
+
+ b. You must explicitly license all recipients of your items to use and re-distribute original and modified versions of the items in both machine-executable and source code forms. The recipients must be able to do so without any charges whatsoever, and they must be able to re-distribute to anyone they choose.
+
+ c. If the items are not available to the general public, and the initial developer of the Software requests a copy of the items, then you must supply one.
+
+Limitations of Liability
+
+In no event shall the initial developers or copyright holders be liable for any damages whatsoever, including - but not restricted to - lost revenue or profits or other direct, indirect, special, incidental or consequential damages, even if they have been advised of the possibility of such damages, except to the extent invariable law, if any, provides otherwise.
+
+No Warranty
+
+The Software and this license document are provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+Choice of Law
+
+This license is governed by the Laws of Norway. Disputes shall be settled by Oslo City Court.
\ No newline at end of file
diff --git a/options/license/Qhull b/options/license/Qhull
new file mode 100644
index 0000000..9055f08
--- /dev/null
+++ b/options/license/Qhull
@@ -0,0 +1,17 @@
+Qhull, Copyright (c) 1993-2003
+
+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 The Geometry Center. Qhull is copyrighted as noted above. 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.
\ No newline at end of file
diff --git a/options/license/RHeCos-1.1 b/options/license/RHeCos-1.1
new file mode 100644
index 0000000..ea77d4a
--- /dev/null
+++ b/options/license/RHeCos-1.1
@@ -0,0 +1,137 @@
+Red Hat eCos Public License v1.1
+
+1. DEFINITIONS
+
+ 1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+ 1.3. "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+ 1.4. "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.5. "Executable" means Covered Code in any form other than Source Code.
+
+ 1.6. "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+ 1.7. "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.8. "License" means this document.
+
+ 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+ 1.11. "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+ 1.12. "You" means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which 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 fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+ 1.13. "Red Hat Branded Code" is code that Red Hat distributes and/or permits others to distribute under different terms than the Red Hat eCos Public License. Red Hat's Branded Code may contain part or all of the Covered Code.
+
+2. SOURCE CODE LICENSE
+
+ 2.1. The Initial Developer Grant. The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and
+
+ (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell ("Utilize") the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations.
+
+ 2.2. Contributor Grant. Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and
+
+ (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations.
+
+3. DISTRIBUTION OBLIGATIONS
+
+ 3.1. Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+ 3.2. Availability of Source Code. Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available and to the Initial Developer; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. You are responsible for notifying the Initial Developer of the Modification and the location of the Source if a contact means is provided. Red Hat will be acting as maintainer of the Source and may provide an Electronic Distribution mechanism for the Modification to be made available. You can contact Red Hat to make the Modification available and to notify the Initial Developer. (http://sourceware.cygnus.com/ecos/)
+
+ 3.3. Description of Modifications. You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+ 3.4. Intellectual Property Matters
+
+ (a) Third Party Claims. If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+
+ (b) Contributor APIs. If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file.
+
+ 3.5. Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code.
+
+ However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or 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 the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.6. Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+ If you distribute executable versions containing Covered Code, you must reproduce the notice in Exhibit B in the documentation and/or other materials provided with the product.
+
+ 3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+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 Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; (b) cite the statute or regulation that prohibits you from adhering to the license; and (c) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. 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. You must submit this LEGAL file to Red Hat for review, and You will not be able use the covered code in any means until permission is granted from Red Hat to allow for the inability to comply due to statute or regulation.
+
+5. APPLICATION OF THIS LICENSE
+
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code.
+
+Red Hat may include Covered Code in products without such additional products becoming subject to the terms of this License, and may license such additional products on different terms from those contained in this License.
+
+Red Hat may license the Source Code of Red Hat Branded Code without Red Hat Branded Code becoming subject to the terms of this License, and may license Red Hat Branded Code on different terms from those contained in this License. Contact Red Hat for details of alternate licensing terms available.
+
+6. VERSIONS OF THE LICENSE
+
+ 6.1. New Versions. Red Hat may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+ 6.2. Effect of New Versions. Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Red Hat. No one other than Red Hat has the right to modify the terms applicable to Covered Code beyond what is granted under this and subsequent Licenses.
+
+ 6.3. Derivative Works. If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases "ECOS", "eCos", "Red Hat", "RHEPL" or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Red Hat eCos Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY
+
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE 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 CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER 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 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION
+
+This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+9. LIMITATION OF LIABILITY
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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 THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS
+
+The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. MISCELLANEOUS
+
+This License represents the complete agreement concerning 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. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. RESPONSIBILITY FOR CLAIMS
+
+Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis.
+
+13. ADDITIONAL TERMS APPLICABLE TO THE RED HAT ECOS PUBLIC LICENSE
+
+Nothing in this License shall be interpreted to prohibit Red Hat from licensing under different terms than this License any code which Red Hat otherwise would have a right to license.
+
+Red Hat and logo - This License does not grant any rights to use the trademark Red Hat, the Red Hat logo, eCos logo, even if such marks are included in the Original Code. You may contact Red Hat for permission to display the Red Hat and eCos marks in either the documentation or the Executable version beyond that required in Exhibit B.
+
+Inability to Comply Due to Contractual Obligation - To the extent that Red Hat is limited contractually from making third party code available under this License, Red Hat may choose to integrate such third party code into Covered Code without being required to distribute such third party code in Source Code form, even if such third party code would otherwise be considered "Modifications" under this License.
+
+EXHIBIT A
+
+"The contents of this file are subject to the Red Hat eCos Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.redhat.com/
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+The Original Code is eCos - Embedded Configurable Operating System, released September 30, 1998. The Initial Developer of the Original Code is Red Hat. Portions created by Red Hat are Copyright (C) 1998, 1999, 2000 Red Hat, Inc. All Rights Reserved."
+
+EXHIBIT B
+
+Part of the software embedded in this product is eCos - Embedded Configurable Operating System, a trademark of Red Hat. Portions created by Red Hat are Copyright (C) 1998, 1999, 2000 Red Hat, Inc. (http://www.redhat.com/). All Rights Reserved.
+
+THE SOFTWARE IN THIS PRODUCT WAS IN PART PROVIDED BY RED HAT AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/RPL-1.1 b/options/license/RPL-1.1
new file mode 100644
index 0000000..2691652
--- /dev/null
+++ b/options/license/RPL-1.1
@@ -0,0 +1,177 @@
+Reciprocal Public License, version 1.1
+
+Copyright (C) 2001-2002 Technical Pursuit Inc., All Rights Reserved.
+
+PREAMBLE
+
+This Preamble is intended to describe, in plain English, the nature, intent, and scope of this License. However, this Preamble is not a part of this License. The legal effect of this License is dependent only upon the terms of the License and not this Preamble.
+
+This License is based on the concept of reciprocity. In exchange for being granted certain rights under the terms of this License to Licensor's Software, whose Source Code You have access to, You are required to reciprocate by providing equal access and rights to all third parties to the Source Code of any Modifications, Derivative Works, and Required Components for execution of same (collectively defined as Extensions) that You Deploy by Deploying Your Extensions under the terms of this License. In this fashion the available Source Code related to the original Licensed Software is enlarged for the benefit of everyone.
+
+Under the terms of this License You may:
+
+a. Distribute the Licensed Software exactly as You received it under the terms of this License either alone or as a component of an aggregate software distribution containing programs from several different sources without payment of a royalty or other fee.
+
+b. Use the Licensed Software for any purpose consistent with the rights granted by this License, but the Licensor is not providing You any warranty whatsoever, nor is the Licensor accepting any liability in the event that the Licensed Software doesn't work properly or causes You any injury or damages.
+
+c. Create Extensions to the Licensed Software consistent with the rights granted by this License, provided that You make the Source Code to any Extensions You Deploy available to all third parties under the terms of this License, document Your Modifications clearly, and title all Extensions distinctly from the Licensed Software.
+
+d. Charge a fee for warranty or support, or for accepting indemnity or liability obligations for Your customers.
+
+Under the terms of this License You may not:
+
+a. Charge for the Source Code to the Licensed Software, or Your Extensions, other than a nominal fee not to exceed Your cost for reproduction and distribution where such reproduction and distribution involve physical media.
+
+b. Modify or delete any pre-existing copyright notices, change notices, or License text in the Licensed Software.
+
+c. Assert any patent claims against the Licensor or Contributors, or which would in any way restrict the ability of any third party to use the Licensed Software or portions thereof in any form under the terms of this License, or Your rights to the Licensed Software under this License automatically terminate.
+
+d. Represent either expressly or by implication, appearance, or otherwise that You represent Licensor or
+
+Contributors in any capacity or that You have any form of legal association by virtue of this License.
+
+Under the terms of this License You must:
+
+a. Document any Modifications You make to the Licensed Software including the nature of the change, the authors of the change, and the date of the change. This documentation must appear both in the Source Code and in a text file titled "CHANGES" distributed with the Licensed Software and Your Extensions.
+
+b. Make the Source Code for any Extensions You Deploy available in a timely fashion via an Electronic Distribution Mechanism such as FTP or HTTP download.
+
+c. Notify the Licensor of the availability of Source Code to Your Extensions in a timely fashion and include in such notice a brief description of the Extensions, the distinctive title used, and instructions on how to acquire the Source Code and future updates.
+
+d. Grant Licensor and all third parties a world-wide, non-exclusive, royalty-free license under any intellectual property rights owned or controlled by You to use, reproduce, display, perform, modify, sublicense, and distribute Your Extensions, in any form, under the terms of this License.
+
+LICENSE TERMS
+
+1.0 General; Applicability & Definitions. This Reciprocal Public License Version 1.1 ("License") applies to any programs or other works as well as any and all updates or maintenance releases of said programs or works ("Software") not already covered by this License which the Software copyright holder ("Licensor") makes publicly available containing a Notice (hereinafter defined) from the Licensor specifying or allowing use or distribution under the terms of this License. As used in this License and Preamble:
+
+ 1.1 "Contributor" means any person or entity who created or contributed to the creation of an Extension.
+
+ 1.2 "Deploy" means to use, Serve, sublicense or distribute Licensed Software other than for Your internal Research and/or Personal Use, and includes without limitation, any and all internal use or distribution of Licensed Software within Your business or organization other than for Research and/or Personal Use, as well as direct or indirect sublicensing or distribution of Licensed Software by You to any third party in any form or manner.
+
+ 1.3 "Derivative Works" as used in this License is defined under U.S. copyright law.
+
+ 1.4 "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data such as download from an FTP or web site, where such mechanism is publicly accessible.
+
+ 1.5 "Extensions" means any Modifications, Derivative Works, or Required Components as those terms are defined in this License.
+
+ 1.6 "License" means this Reciprocal Public License.
+
+ 1.7 "Licensed Software" means any Software licensed pursuant to this License. Licensed Software also includes all previous Extensions from any Contributor that You receive.
+
+ 1.8 "Licensor" means the copyright holder of any Software previously uncovered by this License who releases the Software under the terms of this License.
+
+ 1.9 "Modifications" means any additions to or deletions from the substance or structure of (i) a file or other storage containing Licensed Software, or (ii) any new file or storage that contains any part of Licensed Software, or (iii) any file or storage which replaces or otherwise alters the original functionality of Licensed Software at runtime.
+
+ 1.10 "Notice" means the notice contained in EXHIBIT A.
+
+ 1.11 "Personal Use" means use of Licensed Software by an individual solely for his or her personal, private and non-commercial purposes. An individual's use of Licensed Software in his or her capacity as an officer, employee, member, independent contractor or agent of a corporation, business or organization (commercial or non-commercial) does not qualify as Personal Use.
+
+ 1.12 "Required Components" means any text, programs, scripts, schema, interface definitions, control files, or other works created by You which are required by a third party of average skill to successfully install and run Licensed Software containing Your Modifications, or to install and run Your Derivative Works.
+
+ 1.13 "Research" means investigation or experimentation for the purpose of understanding the nature and limits of the Licensed Software and its potential uses.
+
+ 1.14 "Serve" means to deliver Licensed Software and/or Your Extensions by means of a computer network to one or more computers for purposes of execution of Licensed Software and/or Your Extensions.
+
+ 1.15 "Software" means any computer programs or other works as well as any updates or maintenance releases of those programs or works which are distributed publicly by Licensor.
+
+ 1.16 "Source Code" means the preferred form for making modifications to the Licensed Software and/or Your Extensions, including all modules contained therein, plus any associated text, interface definition files, scripts used to control compilation and installation of an executable program or other components required by a third party of average skill to build a running version of the Licensed Software or Your Extensions.
+
+ 1.17 "You" or "Your" means an individual or a legal entity exercising rights under this License. For legal entities, "You" or "Your" includes any entity which controls, is controlled by, or is under common control with, You, where "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 fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+2.0 Acceptance Of License. You are not required to accept this License since you have not signed it, however nothing else grants you permission to use, copy, distribute, modify, or create derivatives of either the Software or any Extensions created by a Contributor. These actions are prohibited by law if you do not accept this License. Therefore, by performing any of these actions You indicate Your acceptance of this License and Your agreement to be bound by all its terms and conditions. IF YOU DO NOT AGREE WITH ALL THE TERMS AND CONDITIONS OF THIS LICENSE DO NOT USE, MODIFY, CREATE DERIVATIVES, OR DISTRIBUTE THE SOFTWARE. IF IT IS IMPOSSIBLE FOR YOU TO COMPLY WITH ALL THE TERMS AND CONDITIONS OF THIS LICENSE THEN YOU CAN NOT USE, MODIFY, CREATE DERIVATIVES, OR DISTRIBUTE THE SOFTWARE.
+
+3.0 Grant of License From Licensor. Subject to the terms and conditions of this License, Licensor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to Licensor's intellectual property rights, and any third party intellectual property claims derived from the Licensed Software under this License, to do the following:
+
+ 3.1 Use, reproduce, modify, display, perform, sublicense and distribute Licensed Software and Your Extensions in both Source Code form or as an executable program.
+
+ 3.2 Create Derivative Works (as that term is defined under U.S. copyright law) of Licensed Software by adding to or deleting from the substance or structure of said Licensed Software.
+
+ 3.3 Under claims of patents now or hereafter owned or controlled by Licensor, to make, use, have made, and/or otherwise dispose of Licensed Software or portions thereof, but solely to the extent that any such claim is necessary to enable You to make, use, have made, and/or otherwise dispose of Licensed Software or portions thereof.
+
+ 3.4 Licensor reserves the right to release new versions of the Software with different features, specifications, capabilities, functions, licensing terms, general availability or other characteristics. Title, ownership rights, and intellectual property rights in and to the Licensed Software shall remain in Licensor and/or its Contributors.
+
+4.0 Grant of License From Contributor. By application of the provisions in Section 6 below, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to said Contributor's intellectual property rights, and any third party intellectual property claims derived from the Licensed Software under this License, to do the following:
+
+ 4.1 Use, reproduce, modify, display, perform, sublicense and distribute any Extensions Deployed by such Contributor or portions thereof, in both Source Code form or as an executable program, either on an unmodified basis or as part of Derivative Works.
+
+ 4.2 Under claims of patents now or hereafter owned or controlled by Contributor, to make, use, have made, and/or otherwise dispose of Extensions or portions thereof, but solely to the extent that any such claim is necessary to enable You to make, use, have made, and/or otherwise dispose of Contributor's Extensions or portions thereof.
+
+5.0 Exclusions From License Grant. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor or any Contributor except as expressly stated herein. Except as expressly stated in Sections 3 and 4, no other patent rights, express or implied, are granted herein. Your Extensions may require additional patent licenses from Licensor or Contributors which each may grant in its sole discretion. No right is granted to the trademarks of Licensor or any Contributor even if such marks are included in the Licensed Software. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any code that Licensor otherwise would have a right to license.
+
+ 5.1 You expressly acknowledge and agree that although Licensor and each Contributor grants the licenses to their respective portions of the Licensed Software set forth herein, no assurances are provided by Licensor or any Contributor that the Licensed Software does not infringe the patent or other intellectual property rights of any other entity. Licensor and each Contributor disclaim any liability to You for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, You hereby assume sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow You to distribute the Licensed Software, it is Your responsibility to acquire that license before distributing the Licensed Software.
+
+6.0 Your Obligations And Grants. In consideration of, and as an express condition to, the licenses granted to You under this License You hereby agree that any Modifications, Derivative Works, or Required Components (collectively Extensions) that You create or to which You contribute are governed by the terms of this License including, without limitation, Section 4. Any Extensions that You create or to which You contribute must be Deployed under the terms of this License or a future version of this License released under Section 7. You hereby grant to Licensor and all third parties a world-wide, non-exclusive, royalty-free license under those intellectual property rights You own or control to use, reproduce, display, perform, modify, create derivatives, sublicense, and distribute Your Extensions, in any form. Any Extensions You make and Deploy must have a distinct title so as to readily tell any subsequent user or Contributor that the Extensions are by You. You must include a copy of this License with every copy of the Extensions You distribute. You agree not to offer or impose any terms on any Source Code or executable version of the Licensed Software, or its Extensions that alter or restrict the applicable version of this License or the recipients' rights hereunder.
+
+ 6.1 Availability of Source Code. You must make available, under the terms of this License, the Source Code of the Licensed Software and any Extensions that You Deploy, either on the same media as You distribute any executable or other form of the Licensed Software, or via an Electronic Distribution Mechanism. The Source Code for any version of Licensed Software, or its Extensions that You Deploy must be made available at the time of Deployment and must remain available for as long as You Deploy the Extensions or at least twelve (12) months after the date You Deploy, whichever is longer. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. You may not charge a fee for the Source Code distributed under this Section in excess of Your actual cost of duplication and distribution where such duplication and distribution involve physical media.
+
+ 6.2 Description of Modifications. You must cause any Modifications that You create or to which You contribute, to update the file titled "CHANGES" distributed with Licensed Software documenting the additions, changes or deletions You made, the authors of such Modifications, and the dates of any such additions, changes or deletions. You must also cause a cross-reference to appear in the Source Code at the location of each change. You must include a prominent statement that the Modifications are derived, directly or indirectly, from the Licensed Software and include the names of the Licensor and any Contributor to the Licensed Software in (i) the Source Code and (ii) in any notice displayed by the Licensed Software You distribute or in related documentation in which You describe the origin or ownership of the Licensed Software. You may not modify or delete any pre-existing copyright notices, change notices or License text in the Licensed Software.
+
+ 6.3 Intellectual Property Matters.
+
+ a. Third Party Claims. If You have knowledge that a license to a third party's intellectual property right is required to exercise the rights granted by this License, You must include a text file with the Source Code distribution titled "LEGAL" that describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If You obtain such knowledge after You make any Extensions available as described in Section 6.1, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Licensed Software from You that new knowledge has been obtained.
+
+ b. Contributor APIs. If Your Extensions include an application programming interface ("API") and You have knowledge of patent licenses that are reasonably necessary to implement that API, You must also include this information in the LEGAL file.
+
+ c. Representations. You represent that, except as disclosed pursuant to 6.3(a) above, You believe that any Extensions You distribute are Your original creations and that You have sufficient rights to grant the rights conveyed by this License.
+
+ 6.4 Required Notices.
+
+ a. License Text. You must duplicate this License in any documentation You provide along with the Source Code of any Extensions You create or to which You contribute, wherever You describe recipients' rights relating to Licensed Software. You must duplicate the notice contained in EXHIBIT A (the "Notice") in each file of the Source Code of any copy You distribute of the Licensed Software and Your Extensions. If You create an Extension, You may add Your name as a Contributor to the text file titled "CONTRIB" distributed with the Licensed Software along with a description of the contribution. If it is not possible to put the Notice in a particular Source Code file due to its structure, then You must include such Notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice.
+
+ b. Source Code Availability. You must notify Licensor within one (1) month of the date You initially Deploy of the availability of Source Code to Your Extensions and include in such notification the name under which you Deployed Your Extensions, a description of the Extensions, and instructions on how to acquire the Source Code, including instructions on how to acquire updates over time. Should such instructions change you must provide Licensor with revised instructions within one (1) month of the date of change. Should you be unable to notify Licensor directly, you must provide notification by posting to appropriate news groups, mailing lists, or web sites where a search engine would reasonably be expected to index them.
+
+ 6.5 Additional Terms. You may choose to offer, and charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Licensed Software. However, You may do so only on Your own behalf, and not on behalf of the Licensor or any Contributor. You must make it clear that any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Licensor and every Contributor for any liability plus attorney fees, costs, and related expenses due to any such action or claim incurred by the Licensor or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+ 6.6 Conflicts With Other Licenses. Where any portion of Your Extensions, by virtue of being Derivative Works of another product or similar circumstance, fall under the terms of another license, the terms of that license should be honored however You must also make Your Extensions available under this License. If the terms of this License continue to conflict with the terms of the other license you may write the Licensor for permission to resolve the conflict in a fashion that remains consistent with the intent of this License. Such permission will be granted at the sole discretion of the Licensor.
+
+7.0 Versions of This License. Licensor may publish from time to time revised and/or new versions of the License. Once Licensed Software has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Licensed Software under the terms of any subsequent version of the License published by Licensor. No one other than Licensor has the right to modify the terms applicable to Licensed Software created under this License.
+
+ 7.1 If You create or use a modified version of this License, which You may do only in order to apply it to software that is not already Licensed Software under this License, You must rename Your license so that it is not confusingly similar to this License, and must make it clear that Your license contains terms that differ from this License. In so naming Your license, You may not use any trademark of Licensor or of any Contributor. Should Your modifications to this License be limited to alteration of EXHIBIT A purely for purposes of adjusting the Notice You require of licensees, You may continue to refer to Your License as the Reciprocal Public License or simply the RPL.
+
+8.0 Disclaimer of Warranty. LICENSED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE LICENSED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. FURTHER THERE IS NO WARRANTY MADE AND ALL IMPLIED WARRANTIES ARE DISCLAIMED THAT THE LICENSED SOFTWARE MEETS OR COMPLIES WITH ANY DESCRIPTION OF PERFORMANCE OR OPERATION, SAID COMPATIBILITY AND SUITABILITY BEING YOUR RESPONSIBILITY. LICENSOR DISCLAIMS ANY WARRANTY, IMPLIED OR EXPRESSED, THAT ANY CONTRIBUTOR'S EXTENSIONS MEET ANY STANDARD OF COMPATIBILITY OR DESCRIPTION OF PERFORMANCE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LICENSED SOFTWARE IS WITH YOU. SHOULD LICENSED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (AND NOT THE LICENSOR OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. UNDER THE TERMS OF THIS LICENSOR WILL NOT SUPPORT THIS SOFTWARE AND IS UNDER NO OBLIGATION TO ISSUE UPDATES TO THIS SOFTWARE. LICENSOR HAS NO KNOWLEDGE OF ERRANT CODE OR VIRUS IN THIS SOFTWARE, BUT DOES NOT WARRANT THAT THE SOFTWARE IS FREE FROM SUCH ERRORS OR VIRUSES. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF LICENSED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+9.0 Limitation of Liability. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE LICENSOR, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF LICENSED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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.
+
+10.0 High Risk Activities. THE LICENSED SOFTWARE IS NOT FAULT-TOLERANT AND IS NOT DESIGNED, MANUFACTURED, OR INTENDED FOR USE OR DISTRIBUTION AS ON-LINE CONTROL EQUIPMENT IN HAZARDOUS ENVIRONMENTS REQUIRING FAIL-SAFE PERFORMANCE, SUCH AS IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR COMMUNICATIONS SYSTEMS, AIR TRAFFIC CONTROL, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF THE LICENSED SOFTWARE COULD LEAD DIRECTLY TO DEATH, PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH RISK ACTIVITIES"). LICENSOR AND CONTRIBUTORS SPECIFICALLY DISCLAIM ANY EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
+
+11.0 Responsibility for Claims. As between Licensor and Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License which specifically disclaims warranties and limits any liability of the Licensor. This paragraph is to be used in conjunction with and controlled by the Disclaimer Of Warranties of Section 8, the Limitation Of Damages in Section 9, and the disclaimer against use for High Risk Activities in Section 10. The Licensor has thereby disclaimed all warranties and limited any damages that it is or may be liable for. You agree to work with Licensor and Contributors to distribute such responsibility on an equitable basis consistent with the terms of this License including Sections 8, 9, and 10. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+12.0 Termination. This License and all rights granted hereunder will terminate immediately in the event of the circumstances described in Section 13.6 or if applicable law prohibits or restricts You from fully and or specifically complying with Sections 3, 4 and/or 6, or prevents the enforceability of any of those Sections, and You must immediately discontinue any use of Licensed Software.
+
+ 12.1 Automatic Termination Upon Breach. This License and the rights granted hereunder will terminate automatically if You fail to comply with the terms herein and fail to cure such breach within thirty (30) days of becoming aware of the breach. All sublicenses to the Licensed Software that are properly granted shall survive any termination of this License. Provisions that, by their nature, must remain in effect beyond the termination of this License, shall survive.
+
+ 12.2 Termination Upon Assertion of Patent Infringement. If You initiate litigation by asserting a patent infringement claim (excluding declaratory judgment actions) against Licensor or a Contributor (Licensor or Contributor against whom You file such an action is referred to herein as "Respondent") alleging that Licensed Software directly or indirectly infringes any patent, then any and all rights granted by such Respondent to You under Sections 3 or 4 of this License shall terminate prospectively upon sixty (60) days notice from Respondent (the "Notice Period") unless within that Notice Period You either agree in writing (i) to pay Respondent a mutually agreeable reasonably royalty for Your past or future use of Licensed Software made by such Respondent, or (ii) withdraw Your litigation claim with respect to Licensed Software against such Respondent. If within said Notice Period a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Licensor to You under Sections 3 and 4 automatically terminate at the expiration of said Notice Period.
+
+ 12.3 Reasonable Value of This License. If You assert a patent infringement claim against Respondent alleging that Licensed Software directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by said Respondent under Sections 3 and 4 shall be taken into account in determining the amount or value of any payment or license.
+
+ 12.4 No Retroactive Effect of Termination. In the event of termination under this Section all end user license agreements (excluding licenses to distributors and resellers) that have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+13.0 Miscellaneous.
+
+ 13.1 U.S. Government End Users. The Licensed Software is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Licensed Software with only those rights set forth herein.
+
+ 13.2 Relationship of Parties. This License will not be construed as creating an agency, partnership, joint venture, or any other form of legal association between or among You, Licensor, or any Contributor, and You will not represent to the contrary, whether expressly, by implication, appearance, or otherwise.
+
+ 13.3 Independent Development. Nothing in this License will impair Licensor's right to acquire, license, develop, subcontract, market, or distribute technology or products that perform the same or similar functions as, or otherwise compete with, Extensions that You may develop, produce, market, or distribute.
+
+ 13.4 Consent To Breach Not Waiver. Failure by Licensor or Contributor to enforce any provision of this License will not be deemed a waiver of future enforcement of that or any other provision.
+
+ 13.5 Severability. 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.
+
+ 13.6 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 Licensed Software due to statute, judicial order, or regulation, then You cannot use, modify, or distribute the software.
+
+ 13.7 Export Restrictions. You may be restricted with respect to downloading or otherwise acquiring, exporting, or reexporting the Licensed Software or any underlying information or technology by United States and other applicable laws and regulations. By downloading or by otherwise obtaining the Licensed Software, You are agreeing to be responsible for compliance with all applicable laws and regulations.
+
+ 13.8 Arbitration, Jurisdiction & Venue. This License shall be governed by Colorado law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. You expressly agree that any dispute relating to this License shall be submitted to binding arbitration under the rules then prevailing of the American Arbitration Association. You further agree that Adams County, Colorado USA is proper venue and grant such arbitration proceeding jurisdiction as may be appropriate for purposes of resolving any dispute under this License. Judgement upon any award made in arbitration may be entered and enforced in any court of competent jurisdiction. The arbitrator shall award attorney's fees and costs of arbitration to the prevailing party. Should either party find it necessary to enforce its arbitration award or seek specific performance of such award in a civil court of competent jurisdiction, the prevailing party shall be entitled to reasonable attorney's fees and costs. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. You and Licensor expressly waive any rights to a jury trial in any litigation concerning Licensed Software or this License. Any law or regulation that provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+ 13.9 Entire Agreement. This License constitutes the entire agreement between the parties with respect to the subject matter hereof.
+
+EXHIBIT A
+
+The Notice below must appear in each file of the Source Code of any copy You distribute of the Licensed Software or any Extensions thereto, except as may be modified as allowed under the terms of Section 7.1
+Copyright (C) 1999-2002 Technical Pursuit Inc., All Rights Reserved. Patent Pending, Technical Pursuit Inc.
+
+Unless explicitly acquired and licensed from Licensor under the Technical Pursuit License ("TPL") Version 1.0 or greater, the contents of this file are subject to the Reciprocal Public License ("RPL") Version 1.1, or subsequent versions as allowed by the RPL, and You may not copy or use this file in either source code or executable form, except in compliance with the terms and conditions of the RPL.
+You may obtain a copy of both the TPL and the RPL (the "Licenses") from Technical Pursuit Inc. at http://www.technicalpursuit.com.
+
+All software distributed under the Licenses is provided strictly on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, AND TECHNICAL PURSUIT INC. HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT, OR NON-INFRINGEMENT. See the Licenses for specific language governing rights and limitations under the Licenses.
diff --git a/options/license/RPSL-1.0 b/options/license/RPSL-1.0
new file mode 100644
index 0000000..4fecab4
--- /dev/null
+++ b/options/license/RPSL-1.0
@@ -0,0 +1,179 @@
+RealNetworks Public Source License Version 1.0
+
+(Rev. Date October 28, 2002)
+
+1. General Definitions. This License applies to any program or other work which RealNetworks, Inc., or any other entity that elects to use this license, ("Licensor") makes publicly available and which contains a notice placed by Licensor identifying such program or work as "Original Code" and stating that it is subject to the terms of this RealNetworks Public Source License version 1.0 (or subsequent version thereof) ("License"). You are not required to accept this License. However, nothing else grants You permission to use, copy, modify or distribute the software or its derivative works. These actions are prohibited by law if You do not accept this License. Therefore, by modifying, copying or distributing the software (or any work based on the software), You indicate your acceptance of this License to do so, and all its terms and conditions. In addition, you agree to the terms of this License by clicking the Accept button or downloading the software. As used in this License:
+
+ 1.1 "Applicable Patent Rights" mean: (a) in the case where Licensor is the grantor of rights, claims of patents that (i) are now or hereafter acquired, owned by or assigned to Licensor and (ii) are necessarily infringed by using or making the Original Code alone and not in combination with other software or hardware; and (b) in the case where You are the grantor of rights, claims of patents that (i) are now or hereafter acquired, owned by or assigned to You and (ii) are infringed (directly or indirectly) by using or making Your Modifications, taken alone or in combination with Original Code.
+
+ 1.2 "Compatible Source License" means any one of the licenses listed on Exhibit B or at https://www.helixcommunity.org/content/complicense or other licenses specifically identified by Licensor in writing. Notwithstanding any term to the contrary in any Compatible Source License, any code covered by any Compatible Source License that is used with Covered Code must be made readily available in Source Code format for royalty-free use under the terms of the Compatible Source License or this License.
+
+ 1.3 "Contributor" means any person or entity that creates or contributes to the creation of Modifications.
+
+ 1.4 "Covered Code" means the Original Code, Modifications, the combination of Original Code and any Modifications, and/or any respective portions thereof.
+
+ 1.5 "Deploy" means to use, sublicense or distribute Covered Code other than for Your internal research and development (R&D) and/or Personal Use, and includes without limitation, any and all internal use or distribution of Covered Code within Your business or organization except for R&D use and/or Personal Use, as well as direct or indirect sublicensing or distribution of Covered Code by You to any third party in any form or manner.
+
+ 1.6 "Derivative Work" means either the Covered Code or any derivative work under United States copyright law, and including any work containing or including any portion of the Covered Code or Modifications, either verbatim or with modifications and/or translated into another language. Derivative Work also includes any work which combines any portion of Covered Code or Modifications with code not otherwise governed by the terms of this License.
+
+ 1.7 "Externally Deploy" means to Deploy the Covered Code in any way that may be accessed or used by anyone other than You, used to provide any services to anyone other than You, or used in any way to deliver any content to anyone other than You, whether the Covered Code is distributed to those parties, made available as an application intended for use over a computer network, or used to provide services or otherwise deliver content to anyone other than You.
+
+ 1.8. "Interface" means interfaces, functions, properties, class definitions, APIs, header files, GUIDs, V-Tables, and/or protocols allowing one piece of software, firmware or hardware to communicate or interoperate with another piece of software, firmware or hardware.
+
+ 1.9 "Modifications" mean any addition to, deletion from, and/or change to, the substance and/or structure of the Original Code, any previous Modifications, the combination of Original Code and any previous Modifications, and/or any respective portions thereof. When code is released as a series of files, a Modification is: (a) any addition to or deletion from the contents of a file containing Covered Code; and/or (b) any new file or other representation of computer program statements that contains any part of Covered Code.
+
+ 1.10 "Original Code" means (a) the Source Code of a program or other work as originally made available by Licensor under this License, including the Source Code of any updates or upgrades to such programs or works made available by Licensor under this License, and that has been expressly identified by Licensor as such in the header file(s) of such work; and (b) the object code compiled from such Source Code and originally made available by Licensor under this License.
+
+ 1.11 "Personal Use" means use of Covered Code by an individual solely for his or her personal, private and non-commercial purposes. An individual's use of Covered Code in his or her capacity as an officer, employee, member, independent contractor or agent of a corporation, business or organization (commercial or non-commercial) does not qualify as Personal Use.
+
+ 1.12 "Source Code" means the human readable form of a program or other work that is suitable for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an executable (object code).
+
+ 1.13 "You" or "Your" means an individual or a legal entity exercising rights under this License. For legal entities, "You" or "Your" includes any entity which controls, is controlled by, or is under common control with, You, where "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 fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+2. Permitted Uses; Conditions & Restrictions. Subject to the terms and conditions of this License, Licensor hereby grants You, effective on the date You accept this License (via downloading or using Covered Code or otherwise indicating your acceptance of this License), a worldwide, royalty-free, non-exclusive copyright license, to the extent of Licensor's copyrights cover the Original Code, to do the following:
+
+ 2.1 You may reproduce, display, perform, modify and Deploy Covered Code, provided that in each instance:
+
+ (a) You must retain and reproduce in all copies of Original Code the copyright and other proprietary notices and disclaimers of Licensor as they appear in the Original Code, and keep intact all notices in the Original Code that refer to this License;
+
+ (b) You must include a copy of this License with every copy of Source Code of Covered Code and documentation You distribute, and You may not offer or impose any terms on such Source Code that alter or restrict this License or the recipients' rights hereunder, except as permitted under Section 6;
+
+ (c) You must duplicate, to the extent it does not already exist, the notice in Exhibit A in each file of the Source Code of all Your Modifications, and cause the modified files to carry prominent notices stating that You changed the files and the date of any change;
+
+ (d) You must make Source Code of all Your Externally Deployed Modifications publicly available under the terms of this License, including the license grants set forth in Section 3 below, for as long as you Deploy the Covered Code or twelve (12) months from the date of initial Deployment, whichever is longer. You should preferably distribute the Source Code of Your Deployed Modifications electronically (e.g. download from a web site); and
+
+ (e) if You Deploy Covered Code in object code, executable form only, You must include a prominent notice, in the code itself as well as in related documentation, stating that Source Code of the Covered Code is available under the terms of this License with information on how and where to obtain such Source Code. You must also include the Object Code Notice set forth in Exhibit A in the "about" box or other appropriate place where other copyright notices are placed, including any packaging materials.
+
+ 2.2 You expressly acknowledge and agree that although Licensor and each Contributor grants the licenses to their respective portions of the Covered Code set forth herein, no assurances are provided by Licensor or any Contributor that the Covered Code does not infringe the patent or other intellectual property rights of any other entity. Licensor and each Contributor disclaim any liability to You for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, You hereby assume sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow You to make, use, sell, import or offer for sale the Covered Code, it is Your responsibility to acquire such license(s).
+
+ 2.3 Subject to the terms and conditions of this License, Licensor hereby grants You, effective on the date You accept this License (via downloading or using Covered Code or otherwise indicating your acceptance of this License), a worldwide, royalty-free, perpetual, non-exclusive patent license under Licensor's Applicable Patent Rights to make, use, sell, offer for sale and import the Covered Code, provided that in each instance you comply with the terms of this License.
+
+3. Your Grants. In consideration of, and as a condition to, the licenses granted to You under this License:
+
+ (a) You grant to Licensor and all third parties a non-exclusive, perpetual, irrevocable, royalty free license under Your Applicable Patent Rights and other intellectual property rights owned or controlled by You, to make, sell, offer for sale, use, import, reproduce, display, perform, modify, distribute and Deploy Your Modifications of the same scope and extent as Licensor's licenses under Sections 2.1 and 2.2; and
+
+ (b) You grant to Licensor and its subsidiaries a non-exclusive, worldwide, royalty-free, perpetual and irrevocable license, under Your Applicable Patent Rights and other intellectual property rights owned or controlled by You, to make, use, sell, offer for sale, import, reproduce, display, perform, distribute, modify or have modified (for Licensor and/or its subsidiaries), sublicense and distribute Your Modifications, in any form and for any purpose, through multiple tiers of distribution.
+
+ (c) You agree not use any information derived from Your use and review of the Covered Code, including but not limited to any algorithms or inventions that may be contained in the Covered Code, for the purpose of asserting any of Your patent rights, or assisting a third party to assert any of its patent rights, against Licensor or any Contributor.
+
+4. Derivative Works. You may create a Derivative Work by combining Covered Code with other code not otherwise governed by the terms of this License and distribute the Derivative Work as an integrated product. In each such instance, You must make sure the requirements of this License are fulfilled for the Covered Code or any portion thereof, including all Modifications.
+
+ 4.1 You must cause any Derivative Work that you distribute, publish or Externally Deploy, that in whole or in part contains or is derived from the Covered Code or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License and no other license except as provided in Section 4.2. You also must make Source Code available for the Derivative Work under the same terms as Modifications, described in Sections 2 and 3, above.
+
+ 4.2 Compatible Source Licenses. Software modules that have been independently developed without any use of Covered Code and which contain no portion of the Covered Code, Modifications or other Derivative Works, but are used or combined in any way with the Covered Code or any Derivative Work to form a larger Derivative Work, are exempt from the conditions described in Section 4.1 but only to the extent that: the software module, including any software that is linked to, integrated with, or part of the same applications as, the software module by any method must be wholly subject to one of the Compatible Source Licenses. Notwithstanding the foregoing, all Covered Code must be subject to the terms of this License. Thus, the entire Derivative Work must be licensed under a combination of the RPSL (for Covered Code) and a Compatible Source License for any independently developed software modules within the Derivative Work. The foregoing requirement applies even if the Compatible Source License would ordinarily allow the software module to link with, or form larger works with, other software that is not subject to the Compatible Source License. For example, although the Mozilla Public License v1.1 allows Mozilla code to be combined with proprietary software that is not subject to the MPL, if MPL-licensed code is used with Covered Code the MPL-licensed code could not be combined or linked with any code not governed by the MPL. The general intent of this section 4.2 is to enable use of Covered Code with applications that are wholly subject to an acceptable open source license. You are responsible for determining whether your use of software with Covered Code is allowed under Your license to such software.
+
+ 4.3 Mere aggregation of another work not based on the Covered Code with the Covered Code (or with a work based on the Covered Code) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. If You deliver the Covered Code for combination and/or integration with an application previously provided by You (for example, via automatic updating technology), such combination and/or integration constitutes a Derivative Work subject to the terms of this License.
+
+5. Exclusions From License Grant. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor or any Contributor except as expressly stated herein. No right is granted to the trademarks of Licensor or any Contributor even if such marks are included in the Covered Code. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any code that Licensor otherwise would have a right to license. Modifications, Derivative Works and/or any use or combination of Covered Code with other technology provided by Licensor or third parties may require additional patent licenses from Licensor which Licensor may grant in its sole discretion. No patent license is granted separate from the Original Code or combinations of the Original Code with other software or hardware.
+
+ 5.1. Trademarks. This License does not grant any rights to use the trademarks or trade names owned by Licensor ("Licensor Marks" defined in Exhibit C) or to any trademark or trade name belonging to any Contributor. No Licensor Marks may be used to endorse or promote products derived from the Original Code other than as permitted by the Licensor Trademark Policy defined in Exhibit C.
+
+6. Additional Terms. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations and/or other rights consistent with the scope of the license granted herein ("Additional Terms") to one or more recipients of Covered Code. However, You may do so only on Your own behalf and as Your sole responsibility, and not on behalf of Licensor or any Contributor. You must obtain the recipient's agreement that any such Additional Terms are offered by You alone, and You hereby agree to indemnify, defend and hold Licensor and every Contributor harmless for any liability incurred by or claims asserted against Licensor or such Contributor by reason of any such Additional Terms.
+
+7. Versions of the License. Licensor may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Once Original Code has been published under a particular version of this License, You may continue to use it under the terms of that version. You may also choose to use such Original Code under the terms of any subsequent version of this License published by Licensor. No one other than Licensor has the right to modify the terms applicable to Covered Code created under this License.
+
+8. NO WARRANTY OR SUPPORT. The Covered Code may contain in whole or in part pre-release, untested, or not fully tested works. The Covered Code may contain errors that could cause failures or loss of data, and may be incomplete or contain inaccuracies. You expressly acknowledge and agree that use of the Covered Code, or any portion thereof, is at Your sole and entire risk. THE COVERED CODE IS PROVIDED "AS IS" AND WITHOUT WARRANTY, UPGRADES OR SUPPORT OF ANY KIND AND LICENSOR AND LICENSOR'S LICENSOR(S) (COLLECTIVELY REFERRED TO AS "LICENSOR" FOR THE PURPOSES OF SECTIONS 8 AND 9) AND ALL CONTRIBUTORS EXPRESSLY DISCLAIM ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY, OF SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR PURPOSE, OF ACCURACY, OF QUIET ENJOYMENT, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. LICENSOR AND EACH CONTRIBUTOR DOES NOT WARRANT AGAINST INTERFERENCE WITH YOUR ENJOYMENT OF THE COVERED CODE, THAT THE FUNCTIONS CONTAINED IN THE COVERED CODE WILL MEET YOUR REQUIREMENTS, THAT THE OPERATION OF THE COVERED CODE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS IN THE COVERED CODE WILL BE CORRECTED. NO ORAL OR WRITTEN DOCUMENTATION, INFORMATION OR ADVICE GIVEN BY LICENSOR, A LICENSOR AUTHORIZED REPRESENTATIVE OR ANY CONTRIBUTOR SHALL CREATE A WARRANTY. You acknowledge that the Covered Code is not intended for use in high risk activities, including, but not limited to, the design, construction, operation or maintenance of nuclear facilities, aircraft navigation, aircraft communication systems, or air traffic control machines in which case the failure of the Covered Code could lead to death, personal injury, or severe physical or environmental damage. Licensor disclaims any express or implied warranty of fitness for such uses.
+
+9. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT SHALL LICENSOR OR ANY CONTRIBUTOR BE LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO THIS LICENSE OR YOUR USE OR INABILITY TO USE THE COVERED CODE, OR ANY PORTION THEREOF, WHETHER UNDER A THEORY OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE OR STRICT LIABILITY), PRODUCTS LIABILITY OR OTHERWISE, EVEN IF LICENSOR OR SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY TO YOU. In no event shall Licensor's total liability to You for all damages (other than as may be required by applicable law) under this License exceed the amount of ten dollars ($10.00).
+
+10. Ownership. Subject to the licenses granted under this License, each Contributor retains all rights, title and interest in and to any Modifications made by such Contributor. Licensor retains all rights, title and interest in and to the Original Code and any Modifications made by or on behalf of Licensor ("Licensor Modifications"), and such Licensor Modifications will not be automatically subject to this License. Licensor may, at its sole discretion, choose to license such Licensor Modifications under this License, or on different terms from those contained in this License or may choose not to license them at all.
+
+11. Termination.
+
+ 11.1 Term and Termination. The term of this License is perpetual unless terminated as provided below. This License and the rights granted hereunder will terminate:
+
+ (a) automatically without notice from Licensor if You fail to comply with any term(s) of this License and fail to cure such breach within 30 days of becoming aware of such breach;
+
+ (b) immediately in the event of the circumstances described in Section 12.5(b); or
+
+ (c) automatically without notice from Licensor if You, at any time during the term of this License, commence an action for patent infringement against Licensor (including by cross-claim or counter claim in a lawsuit);
+
+ (d) upon written notice from Licensor if You, at any time during the term of this License, commence an action for patent infringement against any third party alleging that the Covered Code itself (excluding combinations with other software or hardware) infringes any patent (including by cross-claim or counter claim in a lawsuit).
+
+ 11.2 Effect of Termination. Upon termination, You agree to immediately stop any further use, reproduction, modification, sublicensing and distribution of the Covered Code and to destroy all copies of the Covered Code that are in your possession or control. All sublicenses to the Covered Code which have been properly granted prior to termination shall survive any termination of this License. Provisions which, by their nature, should remain in effect beyond the termination of this License shall survive, including but not limited to Sections 3, 5, 8, 9, 10, 11, 12.2 and 13. No party will be liable to any other for compensation, indemnity or damages of any sort solely as a result of terminating this License in accordance with its terms, and termination of this License will be without prejudice to any other right or remedy of any party.
+
+12. Miscellaneous.
+
+ 12.1 Government End Users. The Covered Code is a "commercial item" as defined in FAR 2.101. Government software and technical data rights in the Covered Code include only those rights customarily provided to the public as defined in this License. This customary commercial license in technical data and software is provided in accordance with FAR 12.211 (Technical Data) and 12.212 (Computer Software) and, for Department of Defense purchases, DFAR 252.227-7015 (Technical Data -- Commercial Items) and 227.7202-3 (Rights in Commercial Computer Software or Computer Software Documentation). Accordingly, all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+ 12.2 Relationship of Parties. This License will not be construed as creating an agency, partnership, joint venture or any other form of legal association between or among You, Licensor or any Contributor, and You will not represent to the contrary, whether expressly, by implication, appearance or otherwise.
+
+ 12.3 Independent Development. Nothing in this License will impair Licensor's right to acquire, license, develop, have others develop for it, market and/or distribute technology or products that perform the same or similar functions as, or otherwise compete with, Modifications, Derivative Works, technology or products that You may develop, produce, market or distribute.
+
+ 12.4 Waiver; Construction. Failure by Licensor or any Contributor to enforce any provision of this License will not be deemed a waiver of future enforcement of that or any other provision. Any law or regulation which provides that the language of a contract shall be construed against the drafter will not apply to this License.
+
+ 12.5 Severability. (a) If for any reason a court of competent jurisdiction finds any provision of this License, or portion thereof, to be unenforceable, that provision of the License will be enforced to the maximum extent permissible so as to effect the economic benefits and intent of the parties, and the remainder of this License will continue in full force and effect. (b) Notwithstanding the foregoing, if applicable law prohibits or restricts You from fully and/or specifically complying with Sections 2 and/or 3 or prevents the enforceability of either of those Sections, this License will immediately terminate and You must immediately discontinue any use of the Covered Code and destroy all copies of it that are in your possession or control.
+
+ 12.6 Dispute Resolution. Any litigation or other dispute resolution between You and Licensor relating to this License shall take place in the Seattle, Washington, and You and Licensor hereby consent to the personal jurisdiction of, and venue in, the state and federal courts within that District with respect to this License. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded.
+
+ 12.7 Export/Import Laws. This software is subject to all export and import laws and restrictions and regulations of the country in which you receive the Covered Code and You are solely responsible for ensuring that You do not export, re-export or import the Covered Code or any direct product thereof in violation of any such restrictions, laws or regulations, or without all necessary authorizations.
+
+ 12.8 Entire Agreement; Governing Law. This License constitutes the entire agreement between the parties with respect to the subject matter hereof. This License shall be governed by the laws of the United States and the State of Washington.
+
+ Where You are located in the province of Quebec, Canada, the following clause applies: The parties hereby confirm that they have requested that this License and all related documents be drafted in English. Les parties ont exig que le prsent contrat et tous les documents connexes soient rdigs en anglais.
+
+
+EXHIBIT A.
+
+"Copyright (c) 1995-2002 RealNetworks, Inc. and/or its licensors. All Rights Reserved.
+
+The contents of this file, and the files included with this file, are subject to the current version of the RealNetworks Public Source License Version 1.0 (the "RPSL") available at https://www.helixcommunity.org/content/rpsl unless you have licensed the file under the RealNetworks Community Source License Version 1.0 (the "RCSL") available at https://www.helixcommunity.org/content/rcsl, in which case the RCSL will apply. You may also obtain the license terms directly from RealNetworks. You may not use this file except in compliance with the RPSL or, if you have a valid RCSL with RealNetworks applicable to this file, the RCSL. Please see the applicable RPSL or RCSL for the rights, obligations and limitations governing use of the contents of the file.
+
+This file is part of the Helix DNA Technology. RealNetworks is the developer of the Original code and owns the copyrights in the portions it created.
+
+This file, and the files included with this file, is distributed and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+
+Contributor(s): ____________________________________
+
+Technology Compatibility Kit Test Suite(s) Location (if licensed under the RCSL):
+
+________________________________"
+
+Object Code Notice: Helix DNA Client technology included. Copyright (c) RealNetworks, Inc., 1995-2002. All rights reserved.
+
+EXHIBIT B
+
+Compatible Source Licenses for the RealNetworks Public Source License. The following list applies to the most recent version of the license as of October 25, 2002, unless otherwise indicated.
+
+Academic Free License
+Apache Software License
+Apple Public Source License
+Artistic license
+Attribution Assurance Licenses
+BSD license
+Common Public License1
+Eiffel Forum License
+GNU General Public License (GPL)1
+GNU Library or "Lesser" General Public License (LGPL)1
+IBM Public License
+Intel Open Source License
+Jabber Open Source License
+MIT license
+MITRE Collaborative Virtual Workspace License (CVW License)
+Motosoto License
+Mozilla Public License 1.0 (MPL)
+Mozilla Public License 1.1 (MPL)
+Nokia Open Source License
+Open Group Test Suite License
+Python Software Foundation License
+Ricoh Source Code Public License
+Sun Industry Standards Source License (SISSL)
+Sun Public License
+University of Illinois/NCSA Open Source License
+Vovida Software License v. 1.0
+W3C License
+X.Net License
+Zope Public License
+zlib/libpng license
+
+1Note: because this license contains certain reciprocal licensing terms that purport to extend to independently developed code, You may be prohibited under the terms of this otherwise compatible license from using code licensed under its terms with Covered Code because Covered Code may only be licensed under the RealNetworks Public Source License. Any attempt to apply non RPSL license terms, including without limitation the GPL, to Covered Code is expressly forbidden. You are responsible for ensuring that Your use of Compatible Source Licensed code does not violate either the RPSL or the Compatible Source License.
+
+The latest version of this list can be found at: https://www.helixcommunity.org/content/complicense
+
+EXHIBIT C
+
+RealNetworks' Trademark policy.
+
+RealNetworks defines the following trademarks collectively as "Licensor Trademarks": "RealNetworks", "RealPlayer", "RealJukebox", "RealSystem", "RealAudio", "RealVideo", "RealOne Player", "RealMedia", "Helix" or any other trademarks or trade names belonging to RealNetworks.
+
+RealNetworks "Licensor Trademark Policy" forbids any use of Licensor Trademarks except as permitted by and in strict compliance at all times with RealNetworks' third party trademark usage guidelines which are posted at www.realnetworks.com/info/helixlogo.html.
\ No newline at end of file
diff --git a/options/license/RSA-MD b/options/license/RSA-MD
new file mode 100644
index 0000000..e970131
--- /dev/null
+++ b/options/license/RSA-MD
@@ -0,0 +1,9 @@
+Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved.
+
+License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. <> Message-Digest Algorithm" in all material mentioning or referencing this software or this function.
+
+License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. <> Message-Digest Algorithm" in all material mentioning or referencing the derived work.
+
+RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind.
+
+These notices must be retained in any copies of any part of this documentation and/or software.
diff --git a/options/license/RSCPL b/options/license/RSCPL
new file mode 100644
index 0000000..d3b4243
--- /dev/null
+++ b/options/license/RSCPL
@@ -0,0 +1,128 @@
+Ricoh Source Code Public License
+Version 1.0
+
+1. Definitions.
+
+ 1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+ 1.3. "Electronic Distribution Mechanism" means a website or any other mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.4. "Executable Code" means Governed Code in any form other than Source Code.
+
+ 1.5. "Governed Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+ 1.6. "Larger Work" means a work which combines Governed Code or portions thereof with code not governed by the terms of this License.
+
+ 1.7. "Licensable" means the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.8. "License" means this document.
+
+ 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Governed Code is released as a series of files, a Modification is:
+
+ (a) Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+
+ (b) Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10. "Original Code" means the "Platform for Information Applications" Source Code as released under this License by RSV.
+
+ 1.11 "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by the grantor of a license thereto.
+
+ 1.12. "RSV" means Ricoh Silicon Valley, Inc., a California corporation with offices at 2882 Sand Hill Road, Suite 115, Menlo Park, CA 94025-7022.
+
+ 1.13. "Source Code" means the preferred form of the Governed Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of Executable Code, or a list of source code differential comparisons against either the Original Code or another well known, available Governed Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+ 1.14. "You" means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which 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 fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+2. Source Code License.
+
+ 2.1. Grant from RSV. RSV hereby grants You a worldwide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) to use, reproduce, modify, create derivative works of, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+
+ 2.2. Contributor Grant. Each Contributor hereby grants You a worldwide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) to use, reproduce, modify, create derivative works of, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Governed Code or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: (i) Modifications made by that Contributor (or portions thereof); and (ii) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+
+3. Distribution Obligations.
+
+ 3.1. Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Governed Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+ 3.2. Availability of Source Code. Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable Code version or via an Electronic Distribution Mechanism to anyone to whom you made an Executable Code version available; and if made available via an Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+ 3.3. Description of Modifications. You must cause all Governed Code to which you contribute to contain a file documenting the changes You made to create that Governed Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by RSV and including the name of RSV in (a) the Source Code, and (b) in any notice in an Executable Code version or related documentation in which You describe the origin or ownership of the Governed Code.
+
+ 3.4. Intellectual Property Matters.
+
+ 3.4.1. Third Party Claims. If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying RSV and appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Governed Code that new knowledge has been obtained. In the event that You are a Contributor, You represent that, except as disclosed in the LEGAL file, your Modifications are your original creations and, to the best of your knowledge, no third party has any claim (including but not limited to intellectual property claims) relating to your Modifications. You represent that the LEGAL file includes complete details of any license or other restriction associated with any part of your Modifications.
+
+ 3.4.2. Contributor APIs. If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file.
+
+ 3.5. Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Governed Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Governed Code. However, You may do so only on Your own behalf, and not on behalf of RSV or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify RSV and every Contributor for any liability incurred by RSV or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.6. Distribution of Executable Code Versions. You may distribute Governed Code in Executable Code form only if the requirements of Section 3.1-3.5 have been met for that Governed Code, and if You include a prominent notice stating that the Source Code version of the Governed Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable Code version, related documentation or collateral in which You describe recipients' rights relating to the Governed Code. You may distribute the Executable Code version of Governed Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable Code version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable Code version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by RSV or any Contributor. You hereby agree to indemnify RSV and every Contributor for any liability incurred by RSV or such Contributor as a result of any such terms You offer.
+
+ 3.7. Larger Works. You may create a Larger Work by combining Governed Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Governed Code.
+
+4. Inability to Comply Due to Statute or Regulation.
+If it is impossible for You to comply with any of theterms of this License with respect to some or all of the Governed Code due to statute 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 included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. 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. Trademark Usage.
+
+ 5.1. Advertising Materials. All advertising materials mentioning features or use of the Governed Code must display the following acknowledgement: "This product includes software developed by Ricoh Silicon Valley, Inc."
+
+ 5.2. Endorsements. The names "Ricoh," "Ricoh Silicon Valley," and "RSV" must not be used to endorse or promote Contributor Versions or Larger Works without the prior written permission of RSV.
+
+ 5.3. Product Names. Contributor Versions and Larger Works may not be called "Ricoh" nor may the word "Ricoh" appear in their names without the prior written permission of RSV.
+
+6. Versions of the License.
+
+ 6.1. New Versions. RSV may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+ 6.2. Effect of New Versions. Once Governed Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Governed Code under the terms of any subsequent version of the License published by RSV. No one other than RSV has the right to modify the terms applicable to Governed Code created under this License.
+
+7. Disclaimer of Warranty.
+GOVERNED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE GOVERNED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE GOVERNED CODE IS WITH YOU. SHOULD ANY GOVERNED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT RSV OR ANY OTHER 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 GOVERNED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. Termination.
+
+ 8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Governed Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+ 8.2. If You initiate patent infringement litigation against RSV or a Contributor (RSV or the Contributor against whom You file such action is referred to as "Participant") alleging that:
+
+ (a) such Participant's Original Code or Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of the Original Code or the Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Original Code or the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+
+ (b) any software, hardware, or device provided to You by the Participant, other than such Participant's Original Code or Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Original Code or the Modifications made by that Participant.
+
+ 8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Original Code or Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+ 8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9. Limitation of Liability.
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL RSV, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF GOVERNED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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 THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. TO THE EXTENT THAT ANY EXCLUSION OF DAMAGES ABOVE IS NOT VALID, YOU AGREE THAT IN NO EVENT WILL RSVS LIABILITY UNDER OR RELATED TO THIS AGREEMENT EXCEED FIVE THOUSAND DOLLARS ($5,000). THE GOVERNED CODE IS NOT INTENDED FOR USE IN CONNECTION WITH ANY NUCLER, AVIATION, MASS TRANSIT OR MEDICAL APPLICATION OR ANY OTHER INHERENTLY DANGEROUS APPLICATION THAT COULD RESULT IN DEATH, PERSONAL INJURY, CATASTROPHIC DAMAGE OR MASS DESTRUCTION, AND YOU AGREE THAT NEITHER RSV NOR ANY CONTRIBUTOR SHALL HAVE ANY LIABILITY OF ANY NATURE AS A RESULT OF ANY SUCH USE OF THE GOVERNED CODE.
+
+
+10. U.S. Government End Users.
+The Governed Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Governed Code with only those rights set forth herein.
+
+11. Miscellaneous.
+This License represents the complete agreement concerning 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. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. The parties submit to personal jurisdiction in California and further agree that any cause of action arising under or related to this Agreement shall be brought in the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California. The losing party shall be responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. Notwithstanding anything to the contrary herein, RSV may seek injunctive relief related to a breach of this Agreement in any court of competent jurisdiction. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. Responsibility for Claims.
+Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Governed Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis.
+
+
+EXHIBIT A
+
+"The contents of this file are subject to the Ricoh Source Code Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.risource.org/RPL
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+This code was initially developed by Ricoh Silicon Valley, Inc. Portions created by Ricoh Silicon Valley, Inc. are Copyright (C) 1995-1999. All Rights Reserved.
+
+Contributor(s): ______________________________________."
\ No newline at end of file
diff --git a/options/license/Rdisc b/options/license/Rdisc
new file mode 100644
index 0000000..4ec3c64
--- /dev/null
+++ b/options/license/Rdisc
@@ -0,0 +1,13 @@
+Rdisc (this program) was developed by Sun Microsystems, Inc. and is provided for unrestricted use provided that this legend is included on all tape media and as a part of the software program in whole or part. Users may copy or modify Rdisc without charge, and they may freely distribute it.
+
+RDISC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
+
+Rdisc is provided with no support and without any obligation on the part of Sun Microsystems, Inc. to assist in its use, correction, modification or enhancement.
+
+SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY RDISC OR ANY PART THEREOF.
+
+In no event will Sun Microsystems, Inc. be liable for any lost revenue or profits or other special, indirect and consequential damages, even if Sun has been advised of the possibility of such damages.
+
+Sun Microsystems, Inc.
+2550 Garcia Avenue
+Mountain View, California 94043
\ No newline at end of file
diff --git a/options/license/Ruby b/options/license/Ruby
new file mode 100644
index 0000000..7bd005e
--- /dev/null
+++ b/options/license/Ruby
@@ -0,0 +1,29 @@
+1. You may make and give away verbatim copies of the source form of the software without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may modify your copy of the software in any way, provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or by allowing the author to include your modifications in the software.
+
+ b) use the modified software only within your corporation or organization.
+
+ c) give non-standard binaries non-standard names, with instructions on where to get the original software distribution.
+
+ d) make other distribution arrangements with the author.
+
+3. You may distribute the software in object code or binary form, provided that you do at least ONE of the following:
+
+ a) distribute the binaries and library files of the software, together with instructions (in the manual page or equivalent) on where to get the original distribution.
+
+ b) accompany the distribution with the machine-readable source of the software.
+
+ c) give non-standard binaries non-standard names, with instructions on where to get the original software distribution.
+
+ d) make other distribution arrangements with the author.
+
+4. You may modify and include the part of the software into any other software (possibly commercial). But some files in the distribution are not written by the author, so that they are not under these terms.
+
+For the list of those files and their copying conditions, see the file LEGAL.
+
+5. The scripts and library files supplied as input to or produced as output from the software do not automatically fall under the copyright of the software, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this software.
+
+6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
\ No newline at end of file
diff --git a/options/license/SAX-PD b/options/license/SAX-PD
new file mode 100644
index 0000000..9eea696
--- /dev/null
+++ b/options/license/SAX-PD
@@ -0,0 +1,31 @@
+Copyright Status
+
+SAX is free!
+
+In fact, it's not possible to own a license to SAX, since it's been placed in the public domain.
+
+No Warranty
+
+Because SAX is released to the public domain, there is no warranty for the design or for the software implementation, to the extent permitted by applicable law. Except when otherwise stated in writing the copyright holders and/or other parties provide SAX "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of SAX is with you. Should SAX prove defective, you assume the cost of all necessary servicing, repair or correction.
+
+In no event unless required by applicable law or agreed to in writing will any copyright holder, or any other party who may modify and/or redistribute SAX, be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use SAX (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the SAX to operate with any other programs), even if such holder or other party has been advised of the possibility of such damages.
+
+Copyright Disclaimers
+
+This page includes statements to that effect by David Megginson, who would have been able to claim copyright for the original work.
+
+SAX 1.0
+
+Version 1.0 of the Simple API for XML (SAX), created collectively by the membership of the XML-DEV mailing list, is hereby released into the public domain.
+
+No one owns SAX: you may use it freely in both commercial and non-commercial applications, bundle it with your software distribution, include it on a CD-ROM, list the source code in a book, mirror the documentation at your own web site, or use it in any other way you see fit.
+
+David Megginson, Megginson Technologies Ltd.
+1998-05-11
+
+SAX 2.0
+
+I hereby abandon any property rights to SAX 2.0 (the Simple API for XML), and release all of the SAX 2.0 source code, compiled code, and documentation contained in this distribution into the Public Domain. SAX comes with NO WARRANTY or guarantee of fitness for any purpose.
+
+David Megginson, Megginson Technologies Ltd.
+2000-05-05
\ No newline at end of file
diff --git a/options/license/SCEA b/options/license/SCEA
new file mode 100644
index 0000000..74f2b28
--- /dev/null
+++ b/options/license/SCEA
@@ -0,0 +1,60 @@
+SCEA Shared Source License 1.0
+
+Terms and Conditions:
+
+1. Definitions:
+
+"Software" shall mean the software and related documentation, whether in Source or Object Form, made available under this SCEA Shared Source license ("License"), that is indicated by a copyright notice file included in the source files or attached or accompanying the source files.
+
+"Licensor" shall mean Sony Computer Entertainment America, Inc. (herein "SCEA")
+
+"Object Code" or "Object Form" shall mean any form that results from translation or transformation of Source Code, including but not limited to compiled object code or conversions to other forms intended for machine execution.
+"Source Code" or "Source Form" shall have the plain meaning generally accepted in the software industry, including but not limited to software source code, documentation source, header and configuration files.
+
+"You" or "Your" shall mean you as an individual or as a company, or whichever form under which you are exercising rights under this License.
+
+2. License Grant.
+
+Licensor hereby grants to You, free of charge subject to the terms and conditions of this License, an irrevocable, non-exclusive, worldwide, perpetual, and royalty-free license to use, modify, reproduce, distribute, publicly perform or display the Software in Object or Source Form .
+
+3. No Right to File for Patent.
+In exchange for the rights that are granted to You free of charge under this License, You agree that You will not file for any patent application, seek copyright protection or take any other action that might otherwise impair the ownership rights in and to the Software that may belong to SCEA or any of the other contributors/authors of the Software.
+
+4. Contributions.
+
+SCEA welcomes contributions in form of modifications, optimizations, tools or documentation designed to improve or expand the performance and scope of the Software (collectively "Contributions"). Per the terms of this License You are free to modify the Software and those modifications would belong to You. You may however wish to donate Your Contributions to SCEA for consideration for inclusion into the Software. For the avoidance of doubt, if You elect to send Your Contributions to SCEA, You are doing so voluntarily and are giving the Contributions to SCEA and its parent company Sony Computer Entertainment, Inc., free of charge, to use, modify or distribute in any form or in any manner. SCEA acknowledges that if You make a donation of Your Contributions to SCEA, such Contributions shall not exclusively belong to SCEA or its parent company and such donation shall not be to Your exclusion. SCEA, in its sole discretion, shall determine whether or not to include Your donated Contributions into the Software, in whole, in part, or as modified by SCEA. Should SCEA elect to include any such Contributions into the Software, it shall do so at its own risk and may elect to give credit or special thanks to any such contributors in the attached copyright notice. However, if any of Your contributions are included into the Software, they will become part of the Software and will be distributed under the terms and conditions of this License. Further, if Your donated Contributions are integrated into the Software then Sony Computer Entertainment, Inc. shall become the copyright owner of the Software now containing Your contributions and SCEA would be the Licensor.
+
+5. Redistribution in Source Form
+
+You may redistribute copies of the Software, modifications or derivatives thereof in Source Code Form, provided that You:
+
+ a. Include a copy of this License and any copyright notices with source
+
+ b. Identify modifications if any were made to the Software
+
+ c. Include a copy of all documentation accompanying the Software and modifications made by You
+
+6. Redistribution in Object Form
+
+If You redistribute copies of the Software, modifications or derivatives thereof in Object Form only (as incorporated into finished goods, i.e. end user applications) then You will not have a duty to include any copies of the code, this License, copyright notices, other attributions or documentation.
+
+7. No Warranty
+
+THE SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT ANY REPRESENTATIONS OR WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. YOU ARE SOLELY RESPONSIBLE FOR DETERMINING THE APPROPRIATENESS OF USING, MODIFYING OR REDISTRIBUTING THE SOFTWARE AND ASSUME ANY RISKS ASSOCIATED WITH YOUR EXERCISE OF PERMISSIONS UNDER THIS LICENSE.
+
+8. Limitation of Liability
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY WILL EITHER PARTY BE LIABLE TO THE OTHER PARTY OR ANY THIRD PARTY FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, SPECIAL, INCIDENTAL, OR EXEMPLARY DAMAGES WITH RESPECT TO ANY INJURY, LOSS, OR DAMAGE, ARISING UNDER OR IN CONNECTION WITH THIS LETTER AGREEMENT, WHETHER FORESEEABLE OR UNFORESEEABLE, EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH INJURY, LOSS, OR DAMAGE. THE LIMITATIONS OF LIABILITY SET FORTH IN THIS SECTION SHALL APPLY TO THE FULLEST EXTENT PERMISSIBLE AT LAW OR ANY GOVERMENTAL REGULATIONS.
+
+9. Governing Law and Consent to Jurisdiction
+
+This Agreement shall be governed by and interpreted in accordance with the laws of the State of California, excluding that body of law related to choice of laws, and of the United States of America. Any action or proceeding brought to enforce the terms of this Agreement or to adjudicate any dispute arising hereunder shall be brought in the Superior Court of the County of San Mateo, State of California or the United States District Court for the Northern District of California. Each of the parties hereby submits itself to the exclusive jurisdiction and venue of such courts for purposes of any such action. In addition, each party hereby waives the right to a jury trial in any action or proceeding related to this Agreement.
+
+10. Copyright Notice for Redistribution of Source Code
+
+Copyright 2005 Sony Computer Entertainment Inc.
+
+Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:
+http://research.scea.com/scea_shared_source_license.html
+
+Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
diff --git a/options/license/SGI-B-1.0 b/options/license/SGI-B-1.0
new file mode 100644
index 0000000..a39c02a
--- /dev/null
+++ b/options/license/SGI-B-1.0
@@ -0,0 +1,82 @@
+SGI FREE SOFTWARE LICENSE B
+(Version 1.0 1/25/2000)
+
+1. Definitions.
+
+ 1.1 "Additional Notice Provisions" means such additional provisions as appear in the Notice in Original Code under the heading "Additional Notice Provisions."
+
+ 1.2 "API" means an application programming interface established by SGI in conjunction with the Original Code.
+
+ 1.3 "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+ 1.4 "Hardware" means any physical device that accepts input, processes input, stores the results of processing, and/or provides output.
+
+ 1.5 "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.6 "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.7 "License" means this document.
+
+ 1.8 "Modifications" means any addition to the substance or structure of the Original Code and/or any addition to or deletion from previous Modifications. When Covered Code is released as a series of files, a Modification is:
+
+ A. Any addition to the contents of a file containing Original Code and/or any addition to or deletion from previous Modifications.
+
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.9 "Notice" means any notice in Original Code or Covered Code, as required by and in compliance with this License.
+
+ 1.10 "Original Code" means source code of computer software code which is described in the source code Notice required by Exhibit A as Original Code, and updates and error corrections specifically thereto.
+
+ 1.11 "Recipient" means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 8. For legal entities, "Recipient" includes any entity which controls, is controlled by, or is under common control with Recipient. For purposes of this definition, "control" of an entity means (a) the power, direct or indirect, to direct or manage such entity, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+ 1.12 SGI" means Silicon Graphics, Inc.
+
+2. License Grant and Restrictions.
+
+ 2.1v License Grant. Subject to the provisions of this License and any third party intellectual property claims, for the duration of intellectual property protections inherent in the Original Code, SGI hereby grants Recipient a worldwide, royalty-free, non-exclusive license, to do the following: (i) under copyrights Licensable by SGI, to reproduce, distribute, create derivative works from, and, to the extent applicable, display and perform the Original Code alone and/or as part of a Larger Work; and (ii) under any patent claims Licensable by SGI and embodied in the Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code. Recipient accepts the terms and conditions of this License by undertaking any of the aforementioned actions.
+
+ 2.2 Restriction on Patent License. Notwithstanding the provisions of Section 2.1(ii), no patent license is granted: 1) separate from the Original Code; nor 2) for infringements caused by (i) modification of the Original Code, or (ii) the combination of the Original Code with other software or Hardware.
+
+ 2.3 No License For Hardware Implementations. The licenses granted in Section 2.1 are not applicable to implementation in Hardware of the algorithms embodied in the Original Code.
+
+ 2.4 Modifications License and API Compliance. Modifications are only licensed under Section 2.1(i) to the extent such Modifications are fully compliant with any API as may be identified in Additional Notice Provisions as appear in the Original Code.
+
+3. Redistributions.
+
+ A. Retention of Notice/Copy of License. The Notice set forth in Exhibit A, below, must be conspicuously retained or included in any and all redistributions of Covered Code. For distributions of the Covered Code in source code form, the Notice must appear in every file that can include a text comments field; in executable form, the Notice and a copy of this License must appear in related documentation or collateral where the Recipient’s rights relating to Covered Code are described. Any Additional Notice Provisions which actually appears in the Original Code must also be retained or included in any and all redistributions of Covered Code.
+
+ B. Alternative License. Provided that Recipient is in compliance with the terms of this License, Recipient may distribute the source code and/or executable version(s) of Covered Code under (1) this License; (2) a license identical to this License but for only such changes as are necessary in order to clarify Recipient’s role as licensor of Modifications, without derogation of any of SGI’s rights; and/or (3) a license of Recipient’s choosing, containing terms different from this License, provided that the license terms include this Section 3 and Sections 4, 6, 7, 10, 12, and 13, which terms may not be modified or superseded by any other terms of such license. If Recipient elects to use any license other than this License, Recipient must make it absolutely clear that any of its terms which differ from this License are offered by Recipient alone, and not by SGI.
+
+ C. Indemnity. Recipient hereby agrees to indemnify SGI for any liability incurred by SGI as a result of any such alternative license terms Recipient offers.
+
+4. Termination. This License and the rights granted hereunder will terminate automatically if Recipient breaches any term herein and fails to cure such breach within 30 days thereof. Any sublicense to the Covered Code that is properly granted shall survive any termination of this License, absent termination by the terms of such sublicense. Provisions that, by their nature, must remain in effect beyond the termination of this License, shall survive.
+
+5. No Trademark Or Other Rights. This License does not grant any rights to: (i) any software apart from the Covered Code, nor shall any other rights or licenses not expressly granted hereunder arise by implication, estoppel or otherwise with respect to the Covered Code; (ii) any trade name, trademark or service mark whatsoever, including without limitation any related right for purposes of endorsement or promotion of products derived from the Covered Code, without prior written permission of SGI; or (iii) any title to or ownership of the Original Code, which shall at all times remains with SGI. All rights in the Original Code not expressly granted under this License are reserved.
+
+6. Compliance with Laws; Non-Infringement. Recipient hereby assures that it shall comply with all applicable laws, regulations, and executive orders, in connection with any and all dispositions of Covered Code, including but not limited to, all export, re-export, and import control laws, regulations, and executive orders, of the U.S. government and other countries. Recipient may not distribute Covered Code that (i) in any way infringes (directly or contributorily) the rights (including patent, copyright, trade secret, trademark or other intellectual property rights of any kind) of any other person or entity or (ii) breaches any representation or warranty, express, implied or statutory, to which, under any applicable law, it might be deemed to have been subject.
+
+7. Claims of Infringement. If Recipient learns of any third party claim that any disposition of Covered Code and/or functionality wholly or partially infringes the third party's intellectual property rights, Recipient will promptly notify SGI of such claim.
+
+8. Versions of the License. SGI may publish revised and/or new versions of the License from time to time, each with a distinguishing version number. Once Covered Code has been published under a particular version of the License, Recipient may, for the duration of the license, continue to use it under the terms of that version, or choose to use such Covered Code under the terms of any subsequent version published by SGI. Subject to the provisions of Sections 3 and 4 of this License, only SGI may modify the terms applicable to Covered Code created under this License.
+
+9. DISCLAIMER OF WARRANTY. COVERED CODE IS PROVIDED "AS IS." ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. SGI ASSUMES NO RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD THE SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY IS AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT SUBJECT TO THIS DISCLAIMER.
+
+10. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES NOR LEGAL THEORY, WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIABILITY), CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, LOSS OF DATA, 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 SGI'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 THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO RECIPIENT.
+
+11. Indemnity. Recipient shall be solely responsible for damages arising, directly or indirectly, out of its utilization of rights under this License. Recipient will defend, indemnify and hold harmless Silicon Graphics, Inc. from and against any loss, liability, damages, costs or expenses (including the payment of reasonable attorneys fees) arising out of Recipient's use, modification, reproduction and distribution of the Covered Code or out of any representation or warranty made by Recipient.
+
+12. U.S. Government End Users. The Covered Code is a "commercial item" consisting of "commercial computer software" as such terms are defined in title 48 of the Code of Federal Regulations and all U.S. Government End Users acquire only the rights set forth in this License and are subject to the terms of this License.
+
+13. Miscellaneous. This License represents the complete agreement concerning the its subject matter. If any provision of this License is held to be unenforceable, such provision shall be reformed so as to achieve as nearly as possible the same legal and economic effect as the original provision and the remainder of this License will remain in effect. This License shall be governed by and construed in accordance with the laws of the United States and the State of California as applied to agreements entered into and to be performed entirely within California between California residents. Any litigation relating to this License shall be subject to the exclusive jurisdiction of the Federal Courts of the Northern District of California (or, absent subject matter jurisdiction in such courts, the courts of the State of California), with venue lying exclusively in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+Exhibit A
+
+License Applicability. Except to the extent portions of this file are made subject to an alternative license as permitted in the SGI Free Software License B, Version 1.0 (the "License"), the contents of this file are subject only to the provisions of the License. You may not use this file except in compliance with the License. You may obtain a copy of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 Ampitheatre Parkway, Mountain View, CA 94043-1351, or at:
+
+http://oss.sgi.com/projects/FreeB
+
+Note that, as provided in the License, the Software is distributed on an "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+
+Original Code. The Original Code is: [name of software, version number, and release date], developed by Silicon Graphics, Inc. The Original Code is Copyright (c) [dates of first publication, as appearing in the Notice in the Original Code] Silicon Graphics, Inc. Copyright in any portions created by third parties is as indicated elsewhere herein. All Rights Reserved.
+
+Additional Notice Provisions: [such additional provisions, if any, as appear in the Notice in the Original Code under the heading "Additional Notice Provisions"]
diff --git a/options/license/SGI-B-1.1 b/options/license/SGI-B-1.1
new file mode 100644
index 0000000..654f5c0
--- /dev/null
+++ b/options/license/SGI-B-1.1
@@ -0,0 +1,84 @@
+SGI FREE SOFTWARE LICENSE B
+(Version 1.1 02/22/2000)
+
+1. Definitions.
+
+ 1.1 "Additional Notice Provisions" means such additional provisions as appear in the Notice in Original Code under the heading "Additional Notice Provisions."
+
+ 1.2 "Covered Code" means the Original Code or Modifications, or any combination thereof.
+
+ 1.3 "Hardware" means any physical device that accepts input, processes input, stores the results of processing, and/or provides output.
+
+ 1.4 "Larger Work" means a work that combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.5 "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.6 "License" means this document.
+
+ 1.7 "Licensed Patents" means patent claims Licensable by SGI that are infringed by the use or sale of Original Code or any Modifications provided by SGI, or any combination thereof.
+
+ 1.8 "Modifications" means any addition to or deletion from the substance or structure of the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+
+ A. Any addition to the contents of a file containing Original Code and/or addition to or deletion from the contents of a file containing previous Modifications.
+
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.9 "Notice" means any notice in Original Code or Covered Code, as required by and in compliance with this License.
+
+ 1.10 "Original Code" means source code of computer software code that is described in the source code Notice required by Exhibit A as Original Code, and updates and error corrections specifically thereto.
+
+ 1.11 "Recipient" means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 8. For legal entities, "Recipient" includes any entity that controls, is controlled by, or is under common control with Recipient. For purposes of this definition, "control" of an entity means (a) the power, direct or indirect, to direct or manage such entity, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+ 1.12 "Recipient Patents" means patent claims Licensable by a Recipient that are infringed by the use or sale of Original Code or any Modifications provided by SGI, or any combination thereof.
+
+ 1.13 "SGI" means Silicon Graphics, Inc.
+
+ 1.14 "SGI Patents" means patent claims Licensable by SGI other than the Licensed Patents.
+
+2. License Grant and Restrictions.
+
+ 2.1 SGI License Grant. Subject to the terms of this License and any third party intellectual property claims, for the duration of intellectual property protections inherent in the Original Code, SGI hereby grants Recipient a worldwide, royalty-free, non-exclusive license, to do the following: (i) under copyrights Licensable by SGI, to reproduce, distribute, create derivative works from, and, to the extent applicable, display and perform the Original Code and/or any Modifications provided by SGI alone and/or as part of a Larger Work; and (ii) under any Licensable Patents, to make, have made, use, sell, offer for sale, import and/or otherwise transfer the Original Code and/or any Modifications provided by SGI. Recipient accepts the terms and conditions of this License by undertaking any of the aforementioned actions. The patent license shall apply to the Covered Code if, at the time any related Modification is added, such addition of the Modification causes such combination to be covered by the Licensed Patents. The patent license in Section 2.1(ii) shall not apply to any other combinations that include the Modification. No patent license is provided under SGI Patents for infringements of SGI Patents by Modifications not provided by SGI or combinations of Original Code and Modifications not provided by SGI.
+
+ 2.2 Recipient License Grant. Subject to the terms of this License and any third party intellectual property claims, Recipient hereby grants SGI and any other Recipients a worldwide, royalty-free, non-exclusive license, under any Recipient Patents, to make, have made, use, sell, offer for sale, import and/or otherwise transfer the Original Code and/or any Modifications provided by SGI.
+
+ 2.3 No License For Hardware Implementations. The licenses granted in Section 2.1 and 2.2 are not applicable to implementation in Hardware of the algorithms embodied in the Original Code or any Modifications provided by SGI .
+
+3. Redistributions.
+
+ 3.1 Retention of Notice/Copy of License. The Notice set forth in Exhibit A, below, must be conspicuously retained or included in any and all redistributions of Covered Code. For distributions of the Covered Code in source code form, the Notice must appear in every file that can include a text comments field; in executable form, the Notice and a copy of this License must appear in related documentation or collateral where the Recipient’s rights relating to Covered Code are described. Any Additional Notice Provisions which actually appears in the Original Code must also be retained or included in any and all redistributions of Covered Code.
+
+ 3.2 Alternative License. Provided that Recipient is in compliance with the terms of this License, Recipient may, so long as without derogation of any of SGI’s rights in and to the Original Code, distribute the source code and/or executable version(s) of Covered Code under (1) this License; (2) a license identical to this License but for only such changes as are necessary in order to clarify Recipient’s role as licensor of Modifications; and/or (3) a license of Recipient’s choosing, containing terms different from this License, provided that the license terms include this Section 3 and Sections 4, 6, 7, 10, 12, and 13, which terms may not be modified or superseded by any other terms of such license. If Recipient elects to use any license other than this License, Recipient must make it absolutely clear that any of its terms which differ from this License are offered by Recipient alone, and not by SGI. It is emphasized that this License is a limited license, and, regardless of the license form employed by Recipient in accordance with this Section 3.2, Recipient may relicense only such rights, in Original Code and Modifications by SGI, as it has actually been granted by SGI in this License.
+
+ 3.3 Indemnity. Recipient hereby agrees to indemnify SGI for any liability incurred by SGI as a result of any such alternative license terms Recipient offers.
+
+4. Termination. This License and the rights granted hereunder will terminate automatically if Recipient breaches any term herein and fails to cure such breach within 30 days thereof. Any sublicense to the Covered Code that is properly granted shall survive any termination of this License, absent termination by the terms of such sublicense. Provisions that, by their nature, must remain in effect beyond the termination of this License, shall survive.
+
+5. No Trademark Or Other Rights. This License does not grant any rights to: (i) any software apart from the Covered Code, nor shall any other rights or licenses not expressly granted hereunder arise by implication, estoppel or otherwise with respect to the Covered Code; (ii) any trade name, trademark or service mark whatsoever, including without limitation any related right for purposes of endorsement or promotion of products derived from the Covered Code, without prior written permission of SGI; or (iii) any title to or ownership of the Original Code, which shall at all times remains with SGI. All rights in the Original Code not expressly granted under this License are reserved.
+
+6. Compliance with Laws; Non-Infringement. There are various worldwide laws, regulations, and executive orders applicable to dispositions of Covered Code, including without limitation export, re-export, and import control laws, regulations, and executive orders, of the U.S. government and other countries, and Recipient is reminded it is obliged to obey such laws, regulations, and executive orders. Recipient may not distribute Covered Code that (i) in any way infringes (directly or contributorily) any intellectual property rights of any kind of any other person or entity or (ii) breaches any representation or warranty, express, implied or statutory, to which, under any applicable law, it might be deemed to have been subject.
+
+7. Claims of Infringement. If Recipient learns of any third party claim that any disposition of Covered Code and/or functionality wholly or partially infringes the third party's intellectual property rights, Recipient will promptly notify SGI of such claim.
+
+8. Versions of the License. SGI may publish revised and/or new versions of the License from time to time, each with a distinguishing version number. Once Covered Code has been published under a particular version of the License, Recipient may, for the duration of the license, continue to use it under the terms of that version, or choose to use such Covered Code under the terms of any subsequent version published by SGI. Subject to the provisions of Sections 3 and 4 of this License, only SGI may modify the terms applicable to Covered Code created under this License.
+
+9. DISCLAIMER OF WARRANTY. COVERED CODE IS PROVIDED "AS IS." ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. SGI ASSUMES NO RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD THE SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY IS AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT SUBJECT TO THIS DISCLAIMER.
+
+10. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES NOR LEGAL THEORY, WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIABILITY), CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, LOSS OF DATA, 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 SGI'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 THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO RECIPIENT.
+
+11. Indemnity. Recipient shall be solely responsible for damages arising, directly or indirectly, out of its utilization of rights under this License. Recipient will defend, indemnify and hold harmless Silicon Graphics, Inc. from and against any loss, liability, damages, costs or expenses (including the payment of reasonable attorneys fees) arising out of Recipient's use, modification, reproduction and distribution of the Covered Code or out of any representation or warranty made by Recipient.
+
+12. U.S. Government End Users. The Covered Code is a "commercial item" consisting of "commercial computer software" as such terms are defined in title 48 of the Code of Federal Regulations and all U.S. Government End Users acquire only the rights set forth in this License and are subject to the terms of this License.
+
+13. Miscellaneous. This License represents the complete agreement concerning the its subject matter. If any provision of this License is held to be unenforceable, such provision shall be reformed so as to achieve as nearly as possible the same legal and economic effect as the original provision and the remainder of this License will remain in effect. This License shall be governed by and construed in accordance with the laws of the United States and the State of California as applied to agreements entered into and to be performed entirely within California between California residents. Any litigation relating to this License shall be subject to the exclusive jurisdiction of the Federal Courts of the Northern District of California (or, absent subject matter jurisdiction in such courts, the courts of the State of California), with venue lying exclusively in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation that provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+Exhibit A
+
+License Applicability. Except to the extent portions of this file are made subject to an alternative license as permitted in the SGI Free Software License B, Version 1.1 (the "License"), the contents of this file are subject only to the provisions of the License. You may not use this file except in compliance with the License. You may obtain a copy of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+
+http://oss.sgi.com/projects/FreeB
+
+Note that, as provided in the License, the Software is distributed on an "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+
+Original Code. The Original Code is: [name of software, version number, and release date], developed by Silicon Graphics, Inc. The Original Code is Copyright (c) [dates of first publication, as appearing in the Notice in the Original Code] Silicon Graphics, Inc. Copyright in any portions created by third parties is as indicated elsewhere herein. All Rights Reserved.
+
+Additional Notice Provisions: [such additional provisions, if any, as appear in the Notice in the Original Code under the heading "Additional Notice Provisions"]
diff --git a/options/license/SGI-B-2.0 b/options/license/SGI-B-2.0
new file mode 100644
index 0000000..4195ee5
--- /dev/null
+++ b/options/license/SGI-B-2.0
@@ -0,0 +1,13 @@
+SGI FREE SOFTWARE LICENSE B
+(Version 2.0, Sept. 18, 2008)
+
+Copyright (C) [dates of first publication] Silicon Graphics, Inc. All Rights Reserved.
+
+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 including the dates of first publication and either this permission notice or a reference to http://oss.sgi.com/projects/FreeB/ 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 SILICON GRAPHICS, INC. 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.
+
+Except as contained in this notice, the name of Silicon Graphics, Inc. shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Silicon Graphics, Inc.
+
diff --git a/options/license/SISSL b/options/license/SISSL
new file mode 100644
index 0000000..1d84d36
--- /dev/null
+++ b/options/license/SISSL
@@ -0,0 +1,116 @@
+Sun Industry Standards Source License - Version 1.1
+
+1.0 DEFINITIONS
+
+ 1.1 "Commercial Use" means distribution or otherwise making the Original Code available to a third party.
+
+ 1.2 "Contributor Version" means the combination of the Original Code, and the Modifications made by that particular Contributor.
+
+ 1.3 "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.4 "Executable" means Original Code in any form other than Source Code.
+
+ 1.5 "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+ 1.6 "Larger Work" means a work which combines Original Code or portions thereof with code not governed by the terms of this License.
+
+ 1.7 "License" means this document.
+
+ 1.8 "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.9 "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. A Modification is:
+
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10 "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code.
+
+ 1.11 "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+ 1.12 "Source Code" means the preferred form of the Original Code for making modifications to it, including all modules it contains, plus any associated interface definition files, or scripts used to control compilation and installation of an Executable.
+
+ 1.13 "Standards" means the standards identified in Exhibit B.
+
+ 1.14 "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You'' includes any entity which 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.0 SOURCE CODE LICENSE
+
+ 2.1 The Initial Developer Grant The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+
+ (b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+ (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices, including but not limited to Modifications.
+
+3.0 DISTRIBUTION OBLIGATIONS
+
+ 3.1 Application of License. The Source Code version of Original Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. Your license for shipment of the Contributor Version is conditioned upon Your full compliance with this Section. The Modifications which You create must comply with all requirements set out by the Standards body in effect one hundred twenty (120) days before You ship the Contributor Version. In the event that the Modifications do not meet such requirements, You agree to publish either (i) any deviation from the Standards protocol resulting from implementation of Your Modifications and a reference implementation of Your Modifications or (ii) Your Modifications in Source Code form, and to make any such deviation and reference implementation or Modifications available to all third parties under the same terms as this license on a royalty free basis within thirty (30) days of Your first customer shipment of Your Modifications.
+
+ 3.2 Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add Your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Initial Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Your version of the Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer for any liability incurred by the Initial Developer as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.3 Distribution of Executable Versions. You may distribute Original Code in Executable and Source form only if the requirements of Sections 3.1 and 3.2 have been met for that Original Code, and if You include a notice stating that the Source Code version of the Original Code is available under the terms of this License. The notice must be conspicuously included in any notice in an Executable or Source versions, related documentation or collateral in which You describe recipients' rights relating to the Original Code. You may distribute the Executable and Source versions of Your version of the Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License. If You distribute the Executable and Source versions under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer. You hereby agree to indemnify the Initial Developer for any liability incurred by the Initial Developer as a result of any such terms You offer.
+
+ 3.4 Larger Works. You may create a Larger Work by combining Original Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Original Code.
+
+4.0 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 Original Code 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 included in the LEGAL file described in Section 3.2 and must be included with all distributions of the Source Code. 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.0 APPLICATION OF THIS LICENSE
+
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Modifications as set out in Section 3.1.
+
+6.0 VERSIONS OF THE LICENSE
+
+ 6.1 New Versions. Sun may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+ 6.2 Effect of New Versions. Once Original Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Original Code under the terms of any subsequent version of the License published by Sun. No one other than Sun has the right to modify the terms applicable to Original Code.
+
+7.0 DISCLAIMER OF WARRANTY
+
+ORIGINAL CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE ORIGINAL CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE ORIGINAL CODE IS WITH YOU. SHOULD ANY ORIGINAL CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER) 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 ORIGINAL CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8.0 TERMINATION
+
+ 8.1 This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Original Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+ 8.2 In the event of termination under Section 8.1 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9.0 LIMIT OF LIABILITY
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF ORIGINAL CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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.
+
+10.0 U.S. GOVERNMENT END USERS
+
+U.S. Government: If this Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government prime contractor or subcontractor (at any tier), then the Government's rights in the Software and accompanying documentation shall be only as set forth in this license; this is in accordance with 48 C.F.R. 227.7201 through 227.7202-4 (for Department of Defense (DoD) acquisitions) and with 48 C.F.R. 2.101 and 12.212 (for non-DoD acquisitions).
+
+11.0 MISCELLANEOUS
+
+This License represents the complete agreement concerning 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. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+EXHIBIT A - Sun Standards License
+
+"The contents of this file are subject to the Sun Standards License Version 1.1 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at _______________________________.
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
+express or implied. See the License for the specific language governing rights and limitations under the License.
+
+The Original Code is ______________________________________.
+
+The Initial Developer of the Original Code is:
+Sun Microsystems, Inc..
+
+Portions created by: _______________________________________
+
+are Copyright (C): _______________________________________
+
+All Rights Reserved.
+
+Contributor(s): _______________________________________
+
EXHIBIT B - Standards
+
+The Standard is defined as the following:
+OpenOffice.org XML File Format Specification, located at http://xml.openoffice.org
+OpenOffice.org Application Programming Interface Specification, located at
http://api.openoffice.org
diff --git a/options/license/SISSL-1.2 b/options/license/SISSL-1.2
new file mode 100644
index 0000000..19f59ea
--- /dev/null
+++ b/options/license/SISSL-1.2
@@ -0,0 +1,115 @@
+SUN INDUSTRY STANDARDS SOURCE LICENSE
+Version 1.2
+
1.0 DEFINITIONS
+
+ 1.1 Commercial Use means distribution or otherwise making the Original Code available to a third party.
+
+ 1.2 Contributor Version means the combination of the Original Code, and the Modifications made by that particular Contributor.
+
+ 1.3 Electronic Distribution Mechanism means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.4 Executable means Original Code in any form other than Source Code.
+
+ 1.5 Initial Developer means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+ 1.6 Larger Work means a work which combines Original Code or portions thereof with code not governed by the terms of this License.
+
+ 1.7 License means this document.
+
+ 1.8 Licensable means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.9 Modifications means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. A Modification is:
+
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10 Original Code means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code.
+
+ 1.11 Patent Claims means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+ 1.12 Source Code means the preferred form of the Original Code for making modifications to it, including all modules it contains, plus any associated interface definition files, or scripts used to control compilation and installation of an Executable.
+
+ 1.13 Standards means the standards identified in Exhibit B.
+
+ 1.14 You (or Your) means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, You includes any entity which 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.0 SOURCE CODE LICENSE
+
+ 2.1 The Initial Developer Grant The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a)under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+
+ (b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+
+ (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
+
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices, including but not limited to Modifications.
+
+3.0 DISTRIBUTION OBLIGATIONS
+
+ 3.1 Application of License. The Source Code version of Original Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients rights hereunder. Your license for shipment of the Contributor Version is conditioned upon Your full compliance with this Section. The Modifications which You create must comply with all requirements set out by the Standards body in effect one hundred twenty (120) days before You ship the Contributor Version. In the event that the Modifications do not meet such requirements, You agree to publish either (i) any deviation from the Standards protocol resulting from implementation of Your Modifications and a reference implementation of Your Modifications or (ii) Your Modifications in Source Code form, and to make any such deviation and reference implementation or Modifications available to all third parties under the same terms a this license on a royalty free basis within thirty (30) days of Your first customer shipment of Your Modifications. Additionally, in the event that the Modifications you create do not meet the requirements set out in this Section, You agree to comply with the Standards requirements set out in Exhibit B.
+
+ 3.2 Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add Your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients rights or ownership rights relating to Initial Code.
+
+ You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Your version of the Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer for any liability incurred by the Initial Developer as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.3 Distribution of Executable Versions. You may distribute Original Code in Executable and Source form only if the requirements of Sections 3.1 and 3.2 have been met for that Original Code, and if You include a notice stating that the Source Code version of the Original Code is available under the terms of this License. The notice must be conspicuously included in any notice in an Executable or Source versions, related documentation or collateral in which You describe recipients rights relating to the Original Code. You may distribute the Executable and Source versions of Your version of the Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License. If You distribute the Executable and Source versions under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer. You hereby agree to indemnify the Initial Developer for any liability incurred by the Initial Developer as a result of any such terms You offer.
+
+ 3.4 Larger Works. You may create a Larger Work by combining Original Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Original Code.
+
+4.0 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 Original Code 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 included in the LEGAL file described in Section 3.2 and must be included with all distributions of the Source Code. 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.0 APPLICATION OF THIS LICENSE
+
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Modifications as set out in Section 3.1.
+
+6.0 VERSIONS OF THE LICENSE
+
+ 6.1 New Versions. Sun may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+ 6.2 Effect of New Versions. Once Original Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Original Code under the terms of any subsequent version of the License published by Sun. No one other than Sun has the right to modify the terms applicable to Original Code.
+
+7.0 DISCLAIMER OF WARRANTY
+
+ORIGINAL CODE IS PROVIDED UNDER THIS LICENSE ON AN AS IS BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE ORIGINAL CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE ORIGINAL CODE IS WITH YOU. SHOULD ANY ORIGINAL CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER) 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 ORIGINAL CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8.0 TERMINATION
+
+ 8.1 This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Original Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. 8.2 In the event of termination under Section 8.1 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+
+EXHIBIT A - Sun Industry Standards Source License
+
+"The contents of this file are subject to the Sun Industry Standards Source License Version 1.2 (the License); You
+may not use this file except in compliance with the License."
+
+"You may obtain a copy of the License at gridengine.sunsource.net/license.html"
+
+"Software distributed under the License is distributed on an AS IS basis, WITHOUT WARRANTY OF ANY KIND, either express or
+implied. See the License for the specific language governing rights and limitations under the License."
+
+"The Original Code is Grid Engine."
+
+"The Initial Developer of the Original Code is:
+Sun Microsystems, Inc."
+
+"Portions created by: Sun Microsystems, Inc. are Copyright (C) 2001 Sun Microsystems, Inc."
+
+"All Rights Reserved."
+
+"Contributor(s):__________________________________"
+
+EXHIBIT B - Standards
+
+1.0 Requirements for project Standards. The requirements for project Standards are version-dependent and are defined at: Grid Engine standards.
+
+2.0 Additional requirements. The additional requirements pursuant to Section 3.1 are defined as:
+
+ 2.1 Naming Conventions. If any of your Modifications do not meet the requirements of the Standard, then you must change the product name so that Grid Engine, gridengine, gridengine.sunsource, and similar naming conventions are not used.
+
+ 2.2 Compliance Claims. If any of your Modifications do not meet the requirements of the Standards you may not claim, directly or indirectly, that your implementation of the Standards is compliant.
+
+
diff --git a/options/license/SMLNJ b/options/license/SMLNJ
new file mode 100644
index 0000000..8ee7738
--- /dev/null
+++ b/options/license/SMLNJ
@@ -0,0 +1,7 @@
+STANDARD ML OF NEW JERSEY COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
+
+Copyright (c) 2001-2011 by The Fellowship of SML/NJ
Copyright (c) 1989-2001 by Lucent Technologies
+
+Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the name of Lucent Technologies, Bell Labs or any Lucent entity not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission.
+
+Lucent disclaims all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall Lucent be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software.
diff --git a/options/license/SMPPL b/options/license/SMPPL
new file mode 100644
index 0000000..cfcc838
--- /dev/null
+++ b/options/license/SMPPL
@@ -0,0 +1,29 @@
+Secure Messaging Protocol (SMP) Libraries [ACL, CML, SFL]
+
+Distribution Rights
+
+All source code for the SMP is being provided at no cost and with no financial limitations regarding its use and distribution. Organizations can use the SMP without paying any royalties or licensing fees. The SMP was originally developed by the U.S. Government. BAE Systems is enhancing and supporting the SMP under contract to the U.S. Government. The U.S. Government is furnishing the SMP software at no cost to the vendor subject to the conditions of the SMP Public License provided with the SMP software.
+
+29 May 2002
+
+Secure Messaging Protocol (SMP) Public License
+
+The United States Government/Department of Defense/National Security Agency/Office of Network Security (collectively "the U.S. Government") hereby grants permission to any person obtaining a copy of the SMP source and object files (the "SMP Software") and associated documentation files (the "SMP Documentation"), or any portions thereof, to do the following, subject to the following license conditions:
+
+You may, free of charge and without additional permission from the U.S. Government, use, copy, modify, sublicense and otherwise distribute the SMP Software or components of the SMP Software, with or without modifications developed by you and/or by others.
+
+You may, free of charge and without additional permission from the U.S. Government, distribute copies of the SMP Documentation, with or without modifications developed by you and/or by others, at no charge or at a charge that covers the cost of reproducing such copies, provided that this SMP Public License is retained.
+
+Furthermore, if you distribute the SMP Software or parts of the SMP Software, with or without modifications developed by you and/or others, then you must either make available the source code to all portions of the SMP Software (exclusive of any modifications made by you and/or by others) upon request, or instead you may notify anyone requesting the SMP Software source code that it is freely available from the U.S. Government.
+
+Transmission of this SMP Public License must accompany whatever portions of the SMP Software you redistribute.
+
+The SMP Software is provided without warranty or guarantee of any nature, express or implied, including without limitation the warranties of merchantability and fitness for a particular purpose.
+
+The U.S. Government cannot be held liable for any damages either directly or indirectly caused by the use of the SMP Software.
+
+It is not permitted to copy, sublicense, distribute or transfer any of the SMP Software except as expressly indicated herein. Any attempts to do otherwise will be considered a violation of this License and your rights to the SMP Software will be voided.
+
+The SMP uses the Enhanced SNACC (eSNACC) Abstract Syntax Notation One (ASN.1) C++ Library to ASN.1 encode and decode security-related data objects. The eSNACC ASN.1 C++ Library is covered by the ENHANCED SNACC SOFTWARE PUBLIC LICENSE. None of the GNU public licenses apply to the eSNACC ASN.1 C++ Library. The eSNACC Compiler is not distributed as part of the SMP.
+
+Copyright © 1997-2002 National Security Agency
diff --git a/options/license/SNIA b/options/license/SNIA
new file mode 100644
index 0000000..4879a5e
--- /dev/null
+++ b/options/license/SNIA
@@ -0,0 +1,122 @@
+STORAGE NETWORKING INDUSTRY ASSOCIATION
+PUBLIC LICENSE
+Version 1.1
+
+1. Definitions.
+
+1.1 "Commercial Use" means distribution or otherwise making the Covered Code available to a third party.
+
+1.2 "Contributor" means each entity that creates or contributes to the creation of Modifications.
+
+1.3 "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+1.4 "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+1.5 "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+1.6 "Executable" means Covered Code in any form other than Source Code.
+
+1.7 "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+1.8 "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+1.9 "License" means this document.
+
+1.10 "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+1.11 "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+1.12 "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+1.13 "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+1.14 "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+1.15 "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which 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. Source Code License.
+
+2.1 The Initial Developer Grant. The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+ (b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+ (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices.
+
+2.2 Contributor Grant. Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
+ (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+ (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code.
+ (d) Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+3.1 Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+3.2 Availability of Source Code. Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+3.3 Description of Modifications. You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+3.4 Intellectual Property Matters.
+ (a) Third Party Claims. If Contributor has actual knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter.
+ (b) Contributor API's. If Contributor's Modifications include an application programming interface and Contributor has actual knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
+ (c) Representations. Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+
+3.5 Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be most likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or 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 the Initial Developer and every Contributor for any liability (excluding any liability arising from intellectual property claims relating to the Covered Code) incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+3.6 Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligation of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability (excluding any liability arising from intellectual property claims relating to the Covered Code) incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+3.7 Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+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 Code 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 included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. 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. Application of this License. This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+6.1 New Versions. The Storage Networking Industry Association (the "SNIA") may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+6.2 Effect of New Versions. Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by the SNIA. No one other than the SNIA has the right to modify the terms applicable to Covered Code created under this License.
+
+6.3 Derivative Works. If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases "Storage Networking Industry Association," "SNIA," or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the SNIA Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY. COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE 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 CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER 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 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+8.1 This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within a reasonable time after becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+8.2 If You initiate litigation by asserting a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that: o (a) such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+
+8.3 If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+8.4 In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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.
+
+10. U.S. GOVERNMENT END USERS. The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. MISCELLANEOUS This License represents the complete agreement concerning 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. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. RESPONSIBILITY FOR CLAIMS. As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+13. MULTIPLE-LICENSED CODE. Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of this License or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.
+
+14. ACCEPTANCE. This License is accepted by You if You retain, use, or distribute the Covered Code for any purpose.
+
+EXHIBIT A The SNIA Public License.
+
+The contents of this file are subject to the SNIA Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
+
+www.snia.org/smi/developers/cim/
+
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+The Original Code is .
+
+The Initial Developer of the Original Code is [COMPLETE THIS] .
+
+Contributor(s): ______________________________________.
+
+Read more about this license at http://www.snia.org/smi/developers/open_source/
\ No newline at end of file
diff --git a/options/license/SPL-1.0 b/options/license/SPL-1.0
new file mode 100644
index 0000000..8ad00f1
--- /dev/null
+++ b/options/license/SPL-1.0
@@ -0,0 +1,149 @@
+SUN PUBLIC LICENSE Version 1.0
+
+1. Definitions.
+
+ 1.0.1. "Commercial Use" means distribution or otherwise making the Covered Code available to a third party.
+
+ 1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+ 1.3. "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof and corresponding documentation released with the source code.
+
+ 1.4. "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.5. "Executable" means Covered Code in any form other than Source Code.
+
+ 1.6. "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+ 1.7. "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.8. "License" means this document.
+
+ 1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ 1.10. "Original Code"../ means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+ 1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+ 1.11. "Source Code"../ means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated documentation, interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+ 1.12. "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which 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. Source Code License.
+
+ 2.1 The Initial Developer Grant. The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof).
+
+ (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License.
+
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by:
+
+ i) the modification of the Original Code or
+
+ ii) the combination of the Original Code with other software or devices.
+
+ 2.2. Contributor Grant. Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
+
+ b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+
+ (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code.
+
+ (d) notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+ 3.1. Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+ 3.2. Availability of Source Code. Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+ 3.3. Description of Modifications. You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+ 3.4. Intellectual Property Matters.
+
+ (a) Third Party Claims. If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "../LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+
+ (b) Contributor APIs. If Contributor's Modifications include an application programming interface ("API"../) and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
+
+ (c) Representations. Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+
+ 3.5. Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.6. Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+ 3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+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 Code 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 included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. 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. Application of this License.
+
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+ 6.1. New Versions. Sun Microsystems, Inc. ("Sun") may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+ 6.2. Effect of New Versions. Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Sun. No one other than Sun has the right to modify the terms applicable to Covered Code created under this License.
+
+ 6.3. Derivative Works. If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must: (a) rename Your license so that the phrases "Sun," "Sun Public License," or "SPL"../ or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the Sun Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY.
+
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "../AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE 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 CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER 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 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+ 8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+ 8.2. If You initiate litigation by asserting a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that:
+
+ (a) such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+
+ (b) any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
+
+ 8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+ 8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY.
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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.
+
+10. U.S. GOVERNMENT END USERS.
+
+The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation,"../ as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. MISCELLANEOUS.
+
+This License represents the complete agreement concerning 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. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+
+As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+13. MULTIPLE-LICENSED CODE.
+
+Initial Developer may designate portions of the Covered Code as ?Multiple-Licensed?. ?Multiple-Licensed? means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.
+
+Exhibit A -Sun Public License Notice.
+
+The contents of this file are subject to the Sun Public License Version 1.0 (the License); you may not use this file except in compliance with the License. A copy of the License is available at http://www.sun.com/
+
+The Original Code is _________________. The Initial Developer of the Original Code is ___________. Portions created by ______ are Copyright (C)_________. All Rights Reserved.
+
+Contributor(s): ______________________________________.
+
+Alternatively, the contents of this file may be used under the terms of the _____ license (the ?[___] License?), in which case the provisions of [______] License are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the SPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the [___] License. If you do not delete the provisions above, a recipient may use your version of this file under either the SPL or the [___] License. [NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.]
\ No newline at end of file
diff --git a/options/license/SWL b/options/license/SWL
new file mode 100644
index 0000000..c89a755
--- /dev/null
+++ b/options/license/SWL
@@ -0,0 +1,7 @@
+The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply.
+
+IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the terms specified in this license.
+
+BY INSTALLING THIS SOFTWARE, YOU ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT, THAT YOU UNDERSTAND IT, AND THAT YOU AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS.
\ No newline at end of file
diff --git a/options/license/Saxpath b/options/license/Saxpath
new file mode 100644
index 0000000..04da510
--- /dev/null
+++ b/options/license/Saxpath
@@ -0,0 +1,19 @@
+Copyright (C) 2000-2002 werken digital.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the disclaimer that follows these conditions in the documentation and/or other materials provided with the distribution.
+
+ 3. The name "SAXPath" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact license@saxpath.org.
+
+ 4. Products derived from this software may not be called "SAXPath", nor may "SAXPath" appear in their name, without prior written permission from the SAXPath Project Management (pm@saxpath.org).
+
+In addition, we request (but do not require) that you include in the end-user documentation provided with the redistribution and/or in the software itself an acknowledgement equivalent to the following:
+ "This product includes software developed by the SAXPath Project (http://www.saxpath.org/)."
+
+Alternatively, the acknowledgment may be graphical using the logos available at http://www.saxpath.org/
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE SAXPath AUTHORS OR THE PROJECT CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/Sendmail b/options/license/Sendmail
new file mode 100644
index 0000000..a386e58
--- /dev/null
+++ b/options/license/Sendmail
@@ -0,0 +1,36 @@
+SENDMAIL LICENSE
+
+The following license terms and conditions apply, unless a redistribution agreement or other license is obtained from Sendmail, Inc., 6475 Christie Ave, Third Floor, Emeryville, CA 94608, USA, or by electronic mail at license@sendmail.com.
+
+License Terms:
+
+Use, Modification and Redistribution (including distribution of any modified or derived work) in source and binary forms is permitted only if each of the following conditions is met:
+
+1. Redistributions qualify as "freeware" or "Open Source Software" under one of the following terms:
+
+ (a) Redistributions are made at no charge beyond the reasonable cost of materials and delivery.
+
+ (b) Redistributions are accompanied by a copy of the Source Code or by an irrevocable offer to provide a copy of the Source Code for up to three years at the cost of materials and delivery. Such redistributions must allow further use, modification, and redistribution of the Source Code under substantially the same terms as this license. For the purposes of redistribution "Source Code" means the complete compilable and linkable source code of sendmail including all modifications.
+
+2. Redistributions of Source Code must retain the copyright notices as they appear in each Source Code file, these license terms, and the disclaimer/limitation of liability set forth as paragraph 6 below.
+
+3. Redistributions in binary form must reproduce the Copyright Notice, these license terms, and the disclaimer/limitation of liability set forth as paragraph 6 below, in the documentation and/or other materials provided with the distribution. For the purposes of binary distribution the "Copyright Notice" refers to the following language:
+"Copyright (c) 1998-2010 Sendmail, Inc. All rights reserved."
+
+4. Neither the name of Sendmail, Inc. nor the University of California nor names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission. The name "sendmail" is a trademark of Sendmail, Inc.
+
+5. All redistributions must comply with the conditions imposed by the University of California on certain embedded code, which copyright Notice and conditions for redistribution are as follows:
+
+ (a) Copyright (c) 1988, 1993 The Regents of the University of California. All rights reserved.
+
+ (b) Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ (i) Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 139848.1
+
+ (ii) Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ (iii) Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+6. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY SENDMAIL, INC. AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SENDMAIL, INC., THE REGENTS OF THE UNIVERSITY OF CALIFORNIA OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+$Revision: 8.16 $, Last updated $Date: 2010/10/25 23:11:19 $, Document 139848.1
\ No newline at end of file
diff --git a/options/license/SimPL-2.0 b/options/license/SimPL-2.0
new file mode 100644
index 0000000..a8123ed
--- /dev/null
+++ b/options/license/SimPL-2.0
@@ -0,0 +1,37 @@
+Simple Public License (SimPL)
+
+Preamble
+
+This Simple Public License 2.0 (SimPL 2.0 for short) is a plain language implementation of GPL 2.0. The words are different, but the goal is the same - to guarantee for all users the freedom to share and change software. If anyone wonders about the meaning of the SimPL, they should interpret it as consistent with GPL 2.0.
+
+Simple Public License (SimPL) 2.0
+
+The SimPL applies to the software's source and object code and comes with any rights that I have in it (other than trademarks). You agree to the SimPL by copying, distributing, or making a derivative work of the software.
+
+You get the royalty free right to:
+
+- Use the software for any purpose;
+- Make derivative works of it (this is called a "Derived Work");
+- Copy and distribute it and any Derived Work.
+
+If you distribute the software or a Derived Work, you must give back to the community by:
+
+- Prominently noting the date of any changes you make;
+- Leaving other people's copyright notices, warranty disclaimers, and license terms in place;
+- Providing the source code, build scripts, installation scripts, and interface definitions in a form that is easy to get and best to modify;
+- Licensing it to everyone under SimPL, or substantially similar terms (such as GPL 2.0), without adding further restrictions to the rights provided;
+- Conspicuously announcing that it is available under that license.
+
+There are some things that you must shoulder:
+
+- You get NO WARRANTIES. None of any kind;
+- If the software damages you in any way, you may only recover direct damages up to the amount you paid for it (that is zero if you did not pay anything). You may not recover any other damages, including those called "consequential damages." (The state or country where you live may not allow you to limit your liability in this way, so this may not apply to you);
+
+The SimPL continues perpetually, except that your license rights end automatically if:
+
+- You do not abide by the "give back to the community" terms (your licensees get to keep their rights if they abide);
+- Anyone prevents you from distributing the software under the terms of the SimPL.
+
+License for the License
+
+You may do anything that you want with the SimPL text; it's a license form to use in any way that you find helpful. To avoid confusion, however, if you change the terms in any way then you may not call your license the Simple Public License or the SimPL (but feel free to acknowledge that your license is "based on the Simple Public License").
\ No newline at end of file
diff --git a/options/license/Sleepycat b/options/license/Sleepycat
new file mode 100644
index 0000000..580a6e9
--- /dev/null
+++ b/options/license/Sleepycat
@@ -0,0 +1,37 @@
+The Sleepycat License Copyright (c) 1990-1999 Sleepycat Software. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ - Redistributions in any form must be accompanied by information on how to obtain complete source code for the DB software and any accompanying software that uses the DB software. The source code must either be included in the distribution or be available for no more than the cost of distribution plus a nominal fee, and must be freely redistributable under reasonable conditions. For an executable file, complete source code means the source code for all modules it contains. It does not include source code for modules or files that typically accompany the major components of the operating system on which the executable file runs.
+
+THIS SOFTWARE IS PROVIDED BY SLEEPYCAT SOFTWARE ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL SLEEPYCAT SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+Copyright (c) 1990, 1993, 1994, 1995 The Regents of the University of California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ - Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+Copyright (c) 1995, 1996 The President and Fellows of Harvard University. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ - Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY HARVARD AND ITS CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL HARVARD OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/Spencer-86 b/options/license/Spencer-86
new file mode 100644
index 0000000..692a0bb
--- /dev/null
+++ b/options/license/Spencer-86
@@ -0,0 +1,11 @@
+Copyright (c) 1986 by University of Toronto. Written by Henry Spencer. Not derived from licensed software.
+
+Permission is granted to anyone to use this software for any purpose on any computer system, and to redistribute it freely, subject to the following restrictions:
+
+1. The author is not responsible for the consequences of use of this software, no matter how awful, even if they arise from defects in it.
+
+2. The origin of this software must not be misrepresented, either by explicit claim or by omission.
+
+3. Altered versions must be plainly marked as such, and must not be misrepresented as being the original software.
+
+Beware that some of this code is subtly aware of the way operator precedence is structured in regular expressions. Serious changes in regular-expression syntax might require a total rethink.
\ No newline at end of file
diff --git a/options/license/Spencer-94 b/options/license/Spencer-94
new file mode 100644
index 0000000..75ba7f7
--- /dev/null
+++ b/options/license/Spencer-94
@@ -0,0 +1,12 @@
+Copyright 1992, 1993, 1994 Henry Spencer. All rights reserved.
+This software is not subject to any license of the American Telephone and Telegraph Company or of the Regents of the University of California.
+
+Permission is granted to anyone to use this software for any purpose on any computer system, and to alter it and redistribute it, subject to the following restrictions:
+
+1. The author is not responsible for the consequences of use of this software, no matter how awful, even if they arise from flaws in it.
+
+2. The origin of this software must not be misrepresented, either by explicit claim or by omission. Since few users ever read sources, credits must appear in the documentation.
+
+3. Altered versions must be plainly marked as such, and must not be misrepresented as being the original software. Since few users ever read sources, credits must appear in the documentation.
+
+4. This notice may not be removed or altered.
diff --git a/options/license/Spencer-99 b/options/license/Spencer-99
new file mode 100644
index 0000000..256ec20
--- /dev/null
+++ b/options/license/Spencer-99
@@ -0,0 +1,9 @@
+Copyright (c) 1998, 1999 Henry Spencer. All rights reserved.
+
+Development of this software was funded, in part, by Cray Research Inc., UUNET Communications Services Inc., Sun Microsystems Inc., and Scriptics Corporation, none of whom are responsible for the results. The author thanks all of them.
+
+Redistribution and use in source and binary forms - with or without modification - are permitted for any purpose, provided that redistributions in source form retain this entire copyright notice and indicate the origin and nature of any modifications.
+
+I'd appreciate being given credit for this package in the documentation of software which uses it, but that is not a requirement.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL HENRY SPENCER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/SugarCRM-1.1.3 b/options/license/SugarCRM-1.1.3
new file mode 100644
index 0000000..10dc083
--- /dev/null
+++ b/options/license/SugarCRM-1.1.3
@@ -0,0 +1,149 @@
+SUGARCRM PUBLIC LICENSE
+
+Applies to Sugar Open Source Edition v1 through v4. Please note that these releases are no longer supported or distributed.
+
+Version 1.1.3
+
+The SugarCRM Public License Version ("SPL") consists of the Mozilla Public License Version 1.1, modified to be specific to SugarCRM, with the Additional Terms in Exhibit B. The original Mozilla Public License 1.1 can be found at: http://www.mozilla.org/MPL/MPL-1.1.html
+
+1. Definitions.
+
+ 1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+ 1.3. "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof.
+
+ 1.4. "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.5. "Executable" means Covered Code in any form other than Source Code.
+
+ 1.6. "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+ 1.7. "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.8. "License" means this document.
+
+ 1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+
+ B. Any new file that contains any part of the Original Code or previous Modifications.
+
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+
+ 1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+ 1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+ 1.11. "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+ 1.12. "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which 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. Source Code License.
+
+ 2.2. Contributor Grant.
+Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
+
+ (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
+
+ (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code.
+
+ (d) Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor.
+
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
+
+3. Distribution Obligations.
+
+ 3.2. Availability of Source Code. Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party.
+
+ 3.3. Description of Modifications. You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+ 3.4. Intellectual Property Matters
+
+ (b) Contributor APIs. If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
+
+ (a) Third Party Claims. If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+
+ (c) Representations. Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+
+ 3.5. Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
+
+ 3.6. Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
+
+ 3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+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 Code 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 included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. 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. Application of this License.
+
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+ 6.2. Effect of New Versions. Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by SugarCRM. No one other than SugarCRM has the right to modify the terms applicable to Covered Code created under this License.
+
+ 6.3. Derivative Works. If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases "SugarCRM", "SPL" or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the SugarCRM Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7. DISCLAIMER OF WARRANTY.
+
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE 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 CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER 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 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+ 8.2. If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that:
+
+ (a) such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above.
+
+ (b) any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant.
+
+ 8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+ 8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY.
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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.
+
+10. U.S. GOVERNMENT END USERS.
+
+The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+11. MISCELLANEOUS.
+
+This License represents the complete agreement concerning 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. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+
+As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+13. MULTIPLE-LICENSED CODE.
+
+Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the SPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A.
+
+SugarCRM Public License 1.1.3 - Exhibit A
+
+The contents of this file are subject to the SugarCRM Public License Version 1.1.3 ("License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.sugarcrm.com/SPL Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+
+The Original Code is: SugarCRM Open Source
+
+The Initial Developer of the Original Code is SugarCRM, Inc.
+Portions created by SugarCRM are Copyright (C) 2004 SugarCRM, Inc.;
+All Rights Reserved.
+Contributor(s): ______________________________________.
+
+[NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.]
+
+SugarCRM Public License 1.1.3 - Exhibit B
+
+Additional Terms applicable to the SugarCRM Public License.
+
+I. Effect.
+These additional terms described in this SugarCRM Public License - Additional Terms shall apply to the Covered Code under this License.
+
+II. SugarCRM and logo.
+This License does not grant any rights to use the trademarks "SugarCRM" and the "SugarCRM" logos even if such marks are included in the Original Code or Modifications.
+
+However, in addition to the other notice obligations, all copies of the Covered Code in Executable and Source Code form distributed must, as a form of attribution of the original author, include on each user interface screen (i) the "Powered by SugarCRM" logo and (ii) the copyright notice in the same form as the latest version of the Covered Code distributed by SugarCRM, Inc. at the time of distribution of such copy. In addition, the "Powered by SugarCRM" logo must be visible to all users and be located at the very bottom center of each user interface screen. Notwithstanding the above, the dimensions of the "Powered By SugarCRM" logo must be at least 106 x 23 pixels. When users click on the "Powered by SugarCRM" logo it must direct them back to http://www.sugarforge.org. In addition, the copyright notice must remain visible to all users at all times at the bottom of the user interface screen. When users click on the copyright notice, it must direct them back to http://www.sugarcrm.com
\ No newline at end of file
diff --git a/options/license/TCL b/options/license/TCL
new file mode 100644
index 0000000..1ea5f85
--- /dev/null
+++ b/options/license/TCL
@@ -0,0 +1,9 @@
+This software is copyrighted by <> and other parties. The following terms apply to all files associated with the software unless explicitly disclaimed in individual files.
+
+The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply.
+
+IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the terms specified in this license.
\ No newline at end of file
diff --git a/options/license/TCP-wrappers b/options/license/TCP-wrappers
new file mode 100644
index 0000000..e13d4f5
--- /dev/null
+++ b/options/license/TCP-wrappers
@@ -0,0 +1,7 @@
+Copyright 1995 by Wietse Venema. All rights reserved. Some individual files may be covered by other copyrights.
+
+This material was originally written and compiled by Wietse Venema at Eindhoven University of Technology, The Netherlands, in 1990, 1991, 1992, 1993, 1994 and 1995.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that this entire copyright notice is duplicated in all such copies.
+
+This software is provided "as is" and without any expressed or implied warranties, including, without limitation, the implied warranties of merchantibility and fitness for any particular purpose.
diff --git a/options/license/TMate b/options/license/TMate
new file mode 100644
index 0000000..ded80a4
--- /dev/null
+++ b/options/license/TMate
@@ -0,0 +1,21 @@
+The TMate Open Source License.
+
+This license applies to all portions of TMate SVNKit library, which are not externally-maintained libraries (e.g. Ganymed SSH library).
+
+All the source code and compiled classes in package org.tigris.subversion.javahl except SvnClient class are covered by the license in JAVAHL-LICENSE file
+
+Copyright (c) 2004-2012 TMate Software. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ * Redistributions in any form must be accompanied by information on how to obtain complete source code for the software that uses SVNKit and any accompanying software that uses the software that uses SVNKit. The source code must either be included in the distribution or be available for no more than the cost of distribution plus a nominal fee, and must be freely redistributable under reasonable conditions. For an executable file, complete source code means the source code for all modules it contains. It does not include source code for modules or files that typically accompany the major components of the operating system on which the executable file runs.
+
+ * Redistribution in any form without redistributing source code for software that uses SVNKit is possible only when such redistribution is explictly permitted by TMate Software. Please, contact TMate Software at support@svnkit.com to get such permission.
+
+THIS SOFTWARE IS PROVIDED BY TMATE SOFTWARE ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE DISCLAIMED.
+
+IN NO EVENT SHALL TMATE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/TORQUE-1.1 b/options/license/TORQUE-1.1
new file mode 100644
index 0000000..578b13a
--- /dev/null
+++ b/options/license/TORQUE-1.1
@@ -0,0 +1,25 @@
+TORQUE v2.5+ Software License v1.1
+Copyright (c) 2010-2011 Adaptive Computing Enterprises, Inc. All rights reserved.
+
+Use this license to use or redistribute the TORQUE software v2.5+ and later versions. For free support for TORQUE users, questions should be emailed to the community of TORQUE users at torqueusers@supercluster.org. Users can also subscribe to the user mailing list at http://www.supercluster.org/mailman/listinfo/torqueusers. Customers using TORQUE that also are licensed users of Moab branded software from Adaptive Computing Inc. can get TORQUE support from Adaptive Computing via:
+Email: torque-support@adaptivecomputing.com.
+Phone: (801) 717-3700
+Web: www.adaptivecomputing.com www.clusterresources.com
+
+This license covers use of the TORQUE v2.5 software (the "Software") at your site or location, and, for certain users, redistribution of the Software to other sites and locations1. Later versions of TORQUE are also covered by this license. Use and redistribution of TORQUE v2.5 in source and binary forms, with or without modification, are permitted provided that all of the following conditions are met.
+
+1. Any Redistribution of source code must retain the above copyright notice and the acknowledgment contained in paragraph 5, this list of conditions and the disclaimer contained in paragraph 5.
+
+2. Any Redistribution in binary form must reproduce the above copyright notice and the acknowledgment contained in paragraph 4, this list of conditions and the disclaimer contained in paragraph 5 in the documentation and/or other materials provided with the distribution.
+
+3. Redistributions in any form must be accompanied by information on how to obtain complete source code for TORQUE and any modifications and/or additions to TORQUE. The source code must either be included in the distribution or be available for no more than the cost of distribution plus a nominal fee, and all modifications and additions to the Software must be freely redistributable by any party (including Licensor) without restriction.
+
+4. All advertising materials mentioning features or use of the Software must display the following acknowledgment:
+"TORQUE is a modification of OpenPBS which was developed by NASA Ames Research Center, Lawrence Livermore National Laboratory, and Veridian TORQUE Open Source License v1.1. 1 Information Solutions, Inc. Visit www.clusterresources.com/products/ for more information about TORQUE and to download TORQUE. For information about Moab branded products and so receive support from Adaptive Computing for TORQUE, see www.adaptivecomputing.com.”
+
+5. DISCLAIMER OF WARRANTY THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT ARE EXPRESSLY DISCLAIMED. IN NO EVENT SHALL ADAPTIVE COMPUTING ENTERPRISES, INC. CORPORATION, ITS AFFILIATED COMPANIES, OR THE U.S. GOVERNMENT OR ANY OF ITS AGENCIES BE LIABLE FOR ANY DIRECT OR INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+This license will be governed by the laws of Utah, without reference to its choice of law rules.
+
+Note 1: TORQUE is developed from an earlier version v2.3 of OpenPBS. TORQUE has been developed beyond OpenPBS v2.3. The OpenPBS v2.3 license and OpenPBS software can be obtained at:
+http://www.pbsworks.com/ResLibSearchResult.aspx?keywords=openpbs&industry=All&pro duct_service=All&category=Free%20Software%20Downloads&order_by=title. Users of TORQUE should comply with the TORQUE license as well as the OpenPBS license.
\ No newline at end of file
diff --git a/options/license/TOSL b/options/license/TOSL
new file mode 100644
index 0000000..806ec81
--- /dev/null
+++ b/options/license/TOSL
@@ -0,0 +1,9 @@
+Trusster Open Source License version 1.0a (TRUST) copyright (c) 2006 Mike Mintz and Robert Ekendahl. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ * Redistributions in any form must be accompanied by information on how to obtain complete source code for this software and any accompanying software that uses this software. The source code must either be included in the distribution or be available in a timely fashion for no more than the cost of distribution plus a nominal fee, and must be freely redistributable under reasonable and no more restrictive conditions. For an executable file, complete source code means the source code for all modules it contains. It does not include source code for modules or files that typically accompany the major components of the operating system on which the executable file runs.
+
+THIS SOFTWARE IS PROVIDED BY MIKE MINTZ AND ROBERT EKENDAHL ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL MIKE MINTZ AND ROBERT EKENDAHL OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/UPL-1.0 b/options/license/UPL-1.0
new file mode 100644
index 0000000..a3ef9bb
--- /dev/null
+++ b/options/license/UPL-1.0
@@ -0,0 +1,19 @@
+The Universal Permissive License (UPL), Version 1.0
+
+Copyright (c) [year] [copyright holders]
+
+The Universal Permissive License (UPL), Version 1.0
+
+Subject to the condition set forth below, permission is hereby granted to any person obtaining a copy of this software, associated documentation and/or data (collectively the "Software"), free of charge and under any and all copyright rights in the Software, and any and all patent rights owned or freely licensable by each licensor hereunder covering either (i) the unmodified Software as contributed to or provided by such licensor, or (ii) the Larger Works (as defined below), to deal in both
+
+(a) the Software, and
+
+(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if one is included with the Software (each a “Larger Work” to which the Software is contributed by such licensors),
+
+without restriction, including without limitation the rights to copy, create derivative works of, display, perform, and distribute the Software and make, use, sell, offer for sale, import, export, have made, and have sold the Software and the Larger Work(s), and to sublicense the foregoing rights on either these or other terms.
+
+This license is subject to the following condition:
+
+The above copyright notice and either this complete permission notice or at a minimum a reference to the UPL must 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.
diff --git a/options/license/Unicode-DFS-2015 b/options/license/Unicode-DFS-2015
new file mode 100644
index 0000000..e9c4150
--- /dev/null
+++ b/options/license/Unicode-DFS-2015
@@ -0,0 +1,19 @@
+UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
+
+Unicode Data Files include all data files under the directories http://www.unicode.org/Public/, http://www.unicode.org/reports/, and http://www.unicode.org/cldr/data/. Unicode Data Files do not include PDF online code charts under the directory http://www.unicode.org/Public/. Software includes any source code published in the Unicode Standard or under the directories http://www.unicode.org/Public/, http://www.unicode.org/reports/, and http://www.unicode.org/cldr/data/.
+
+NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
+
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright © 1991-2015 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that
+
+ (a) this copyright and permission notice appear with all copies of the Data Files or Software,
+ (b) this copyright and permission notice appear in associated documentation, and
+ (c) there is clear notice in each modified Data File or in the Software as well as in the documentation associated with the Data File(s) or Software that the data or software has been modified.
+
+THE DATA FILES AND SOFTWARE ARE 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 OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder.
\ No newline at end of file
diff --git a/options/license/Unicode-DFS-2016 b/options/license/Unicode-DFS-2016
new file mode 100644
index 0000000..c78e8b4
--- /dev/null
+++ b/options/license/Unicode-DFS-2016
@@ -0,0 +1,22 @@
+UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
+
+Unicode Data Files include all data files under the directories http://www.unicode.org/Public/, http://www.unicode.org/reports/, http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and http://www.unicode.org/utility/trac/browser/.
+
+Unicode Data Files do not include PDF online code charts under the directory http://www.unicode.org/Public/.
+
+Software includes any source code published in the Unicode Standard or under the directories http://www.unicode.org/Public/, http://www.unicode.org/reports/, http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and http://www.unicode.org/utility/trac/browser/.
+
+NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
+
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright © 1991-2016 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that either
+
+ (a) this copyright and permission notice appear with all copies of the Data Files or Software, or
+ (b) this copyright and permission notice appear in associated Documentation.
+
+THE DATA FILES AND SOFTWARE ARE 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 OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder.
\ No newline at end of file
diff --git a/options/license/Unicode-TOU b/options/license/Unicode-TOU
new file mode 100644
index 0000000..b10fef1
--- /dev/null
+++ b/options/license/Unicode-TOU
@@ -0,0 +1,51 @@
+Unicode Terms of Use
+
+For the general privacy policy governing access to this site, see the Unicode Privacy Policy. For trademark usage, see the Unicode® Consortium Name and Trademark Usage Policy.
+
+A. Unicode Copyright.
+
+ 1. Copyright © 1991-2014 Unicode, Inc. All rights reserved.
+
+ 2. Certain documents and files on this website contain a legend indicating that "Modification is permitted." Any person is hereby authorized, without fee, to modify such documents and files to create derivative works conforming to the Unicode® Standard, subject to Terms and Conditions herein.
+
+ 3. Any person is hereby authorized, without fee, to view, use, reproduce, and distribute all documents and files solely for informational purposes in the creation of products supporting the Unicode Standard, subject to the Terms and Conditions herein.
+
+ 4. Further specifications of rights and restrictions pertaining to the use of the particular set of data files known as the "Unicode Character Database" can be found in Exhibit 1.
+
+ 5. Each version of the Unicode Standard has further specifications of rights and restrictions of use. For the book editions (Unicode 5.0 and earlier), these are found on the back of the title page. The online code charts carry specific restrictions. All other files, including online documentation of the core specification for Unicode 6.0 and later, are covered under these general Terms of Use.
+
+ 6. No license is granted to "mirror" the Unicode website where a fee is charged for access to the "mirror" site.
+
+ 7. Modification is not permitted with respect to this document. All copies of this document must be verbatim.
+
+B. Restricted Rights Legend. Any technical data or software which is licensed to the United States of America, its agencies and/or instrumentalities under this Agreement is commercial technical data or commercial computer software developed exclusively at private expense as defined in FAR 2.101, or DFARS 252.227-7014 (June 1995), as applicable. For technical data, use, duplication, or disclosure by the Government is subject to restrictions as set forth in DFARS 202.227-7015 Technical Data, Commercial and Items (Nov 1995) and this Agreement. For Software, in accordance with FAR 12-212 or DFARS 227-7202, as applicable, use, duplication or disclosure by the Government is subject to the restrictions set forth in this Agreement.
+
+C. Warranties and Disclaimers.
+
+ 1. This publication and/or website may include technical or typographical errors or other inaccuracies . Changes are periodically added to the information herein; these changes will be incorporated in new editions of the publication and/or website. Unicode may make improvements and/or changes in the product(s) and/or program(s) described in this publication and/or website at any time.
+
+ 2. If this file has been purchased on magnetic or optical media from Unicode, Inc. the sole and exclusive remedy for any claim will be exchange of the defective media within ninety (90) days of original purchase.
+
+ 3. EXCEPT AS PROVIDED IN SECTION C.2, THIS PUBLICATION AND/OR SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND EITHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. UNICODE AND ITS LICENSORS ASSUME NO RESPONSIBILITY FOR ERRORS OR OMISSIONS IN THIS PUBLICATION AND/OR SOFTWARE OR OTHER DOCUMENTS WHICH ARE REFERENCED BY OR LINKED TO THIS PUBLICATION OR THE UNICODE WEBSITE.
+
+D. Waiver of Damages. In no event shall Unicode or its licensors be liable for any special, incidental, indirect or consequential damages of any kind, or any damages whatsoever, whether or not Unicode was advised of the possibility of the damage, including, without limitation, those resulting from the following: loss of use, data or profits, in connection with the use, modification or distribution of this information or its derivatives.
+
+E. Trademarks & Logos.
+
+ 1. The Unicode Word Mark and the Unicode Logo are trademarks of Unicode, Inc. “The Unicode Consortium” and “Unicode, Inc.” are trade names of Unicode, Inc. Use of the information and materials found on this website indicates your acknowledgement of Unicode, Inc.’s exclusive worldwide rights in the Unicode Word Mark, the Unicode Logo, and the Unicode trade names.
+
+ 2. The Unicode Consortium Name and Trademark Usage Policy (“Trademark Policy”) are incorporated herein by reference and you agree to abide by the provisions of the Trademark Policy, which may be changed from time to time in the sole discretion of Unicode, Inc.
+
+ 3. All third party trademarks referenced herein are the property of their respective owners.
+
+F. Miscellaneous.
+
+ 1. Jurisdiction and Venue. This server is operated from a location in the State of California, United States of America. Unicode makes no representation that the materials are appropriate for use in other locations. If you access this server from other locations, you are responsible for compliance with local laws. This Agreement, all use of this site and any claims and damages resulting from use of this site are governed solely by the laws of the State of California without regard to any principles which would apply the laws of a different jurisdiction. The user agrees that any disputes regarding this site shall be resolved solely in the courts located in Santa Clara County, California. The user agrees said courts have personal jurisdiction and agree to waive any right to transfer the dispute to any other forum.
+
+ 2. Modification by Unicode Unicode shall have the right to modify this Agreement at any time by posting it to this site. The user may not assign any part of this Agreement without Unicode’s prior written consent.
+
+ 3. Taxes. The user agrees to pay any taxes arising from access to this website or use of the information herein, except for those based on Unicode’s net income.
+
+ 4. Severability. If any provision of this Agreement is declared invalid or unenforceable, the remaining provisions of this Agreement shall remain in effect.
+
+ 5. Entire Agreement. This Agreement constitutes the entire agreement between the parties.
\ No newline at end of file
diff --git a/options/license/Unlicense b/options/license/Unlicense
new file mode 100644
index 0000000..cde4ac6
--- /dev/null
+++ b/options/license/Unlicense
@@ -0,0 +1,10 @@
+This is free and unencumbered software released into the public domain.
+
+Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.
+
+In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and
+successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law.
+
+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 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.
+
+For more information, please refer to
diff --git a/options/license/Updating the SPDX Licenses b/options/license/Updating the SPDX Licenses
new file mode 100644
index 0000000..b4cd080
--- /dev/null
+++ b/options/license/Updating the SPDX Licenses
@@ -0,0 +1,29 @@
+Steps to update the SPDX License List on the spdx.org website:
+
+1. Download the current version of the SPDX licenses into a local directory (if you already have a git clone on your local machine,
+ that directory may be referenced).
+2. Create an output directory for the output files from the tool. Note: do NOT create this output directory as a subdirectory of your
+ local git repository - we don't want output files stored in the Git repo.
+3. Run the SPDX workgroup tool generateRdfaLicenses using the command:
+ java -jar spdx-tools.jar LicenseRDFAGenerator spreadsheet.xls outputDirectory [version] [releasedate]
+ where spreadsheet.xls is the excel version of the SPDX license list downloaded in step 1 and outputDirectory is the path the the directory you
+ created in step 2. If [version] and/or [releasedate] are specified, they will override the values in the spreadsheet (not reccomended).
+4. Review the console output for any errors - any slight variation in the spreadsheet columns will cause an error.
+5. Review the output in the created in the build output directory
+6. Create an archive file from the build folder named htmlfiles-vx.xx where x.xx is the version number of the license list.
+7. SFTP the archive file up to the Linux foundation server php1.linuxfoundation.org
+8. Log into the Linux Foundation server
+9. Create a new subdirectory in the ~/licenseArchive directory with the format mm-dd-yyyy where mm is the month, dd is the day, and yyyy
+ is the year the files were uploaded.
+10. Unarchive the uploaded file in the subdirectory created in step 9.
+11. Backup the current files by replacing the files in the ~/backup folder with the files in ~/www/spdx/content/licenses.
+ IMPORTANT NOTE: Do NOT do a recursive copy, only copy the files and do NOT copy any subdirectories.
+12. Create a new subdirectory ~/www/spdx/content/licenses/archive/archived_ll_vx.xx where x.xx is the version of the PREVIOUSLY PUBLISHED
+ license list being replaced.
+13. Copy the files from ~/backup to the subdirectory created in step 11
+14. Edit the file ~/www/spdx/content/licenses/archive/archived_ll_vx.xx/index.html. Add the line
+ "THIS IS NOT THE CURRENT VERSION OF THE SPDX LICENSE LIST. PLEASE USE THE CURRENT VERSION, LOCATED AT: http://spdx.org/licenses/
"
+ immediately prior to the line "SPDX License List "
+15. Copy the files from the subdirectory created in steps 9 and 10 to ~/www/spdx/content/licenses
+16. In the web browser, clear the browser cache and test the licenses at http://spdx.org/licenses
+17. If there are any problems, copy the files from the backup back to ~/www/spdx/content/licenses
diff --git a/options/license/VOSTROM b/options/license/VOSTROM
new file mode 100644
index 0000000..b21c41d
--- /dev/null
+++ b/options/license/VOSTROM
@@ -0,0 +1,27 @@
+VOSTROM Public License for Open Source
+
+Copyright (c) 2007 VOSTROM Holdings, Inc.
+
+This VOSTROM Holdings, Inc. (VOSTROM) Distribution (code and documentation) is made available to the open source community as a public service by VOSTROM. Contact VOSTROM at license@vostrom.com for information on other licensing arrangements (e.g. for use in proprietary applications).
+
+Under this license, this Distribution may be modified and the original version and modified versions may be copied, distributed, publicly displayed and performed provided that the following conditions are met:
+
+1. Modified versions are distributed with source code and documentation and with permission for others to use any code and documentation (whether in original or modified versions) as granted under this license;
+
+2. if modified, the source code, documentation, and user run-time elements should be clearly labeled by placing an identifier of origin (such as a name, initial, or other tag) after the version number;
+
+3. users, modifiers, distributors, and others coming into possession or using the Distribution in original or modified form accept the entire risk as to the possession, use, and performance of the Distribution;
+
+4. this copyright management information (software identifier and version number, copyright notice and license) shall be retained in all versions of the Distribution;
+
+5. VOSTROM may make modifications to the Distribution that are substantially similar to modified versions of the Distribution, and may make, use, sell, copy, distribute, publicly display, and perform such modifications, including making such modifications available under this or other licenses, without obligation or restriction;
+
+6. modifications incorporating code, libraries, and/or documentation subject to any other open source license may be made, and the resulting work may be distributed under the terms of such open source license if required by that open source license, but doing so will not affect this Distribution, other modifications made under this license or modifications made under other VOSTROM licensing arrangements;
+
+7. no permission is granted to distribute, publicly display, or publicly perform modifications to the Distribution made using proprietary materials that cannot be released in source format under conditions of this license;
+
+8. the name of VOSTROM may not be used in advertising or publicity pertaining to Distribution of the software without specific, prior written permission.
+
+This software is made available "as is", and
+
+VOSTROM DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN NO EVENT SHALL VOSTROM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
\ No newline at end of file
diff --git a/options/license/VSL-1.0 b/options/license/VSL-1.0
new file mode 100644
index 0000000..4cef076
--- /dev/null
+++ b/options/license/VSL-1.0
@@ -0,0 +1,18 @@
+Vovida Software License v. 1.0
+
+This license applies to all software incorporated in the "Vovida Open Communication Application Library" except for those portions incorporating third party software specifically identified as being licensed under separate license.
+
+The Vovida Software License, Version 1.0
+Copyright (c) 2000 Vovida Networks, Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+3. The names "VOCAL", "Vovida Open Communication Application Library", and "Vovida Open Communication Application Library (VOCAL)" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact vocal@vovida.org.
+
+4. Products derived from this software may not be called "VOCAL", nor may "VOCAL" appear in their name, without prior written permission.
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL VOVIDA NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DAMAGES IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/Vim b/options/license/Vim
new file mode 100644
index 0000000..2b370fe
--- /dev/null
+++ b/options/license/Vim
@@ -0,0 +1,30 @@
+VIM LICENSE
+
+I) There are no restrictions on distributing unmodified copies of Vim except that they must include this license text. You can also distribute unmodified parts of Vim, likewise unrestricted except that they must include this license text. You are also allowed to include executables that you made from the unmodified Vim sources, plus your own usage examples and Vim scripts.
+
+II) It is allowed to distribute a modified (or extended) version of Vim, including executables and/or source code, when the following four conditions are met:
+
+ 1) This license text must be included unmodified.
+
+ 2) The modified Vim must be distributed in one of the following five ways:
+
+ a) If you make changes to Vim yourself, you must clearly describe in the distribution how to contact you. When the maintainer asks you (in any way) for a copy of the modified Vim you distributed, you must make your changes, including source code, available to the maintainer without fee. The maintainer reserves the right to include your changes in the official version of Vim. What the maintainer will do with your changes and under what license they will be distributed is negotiable. If there has been no negotiation then this license, or a later version, also applies to your changes. The current maintainer is Bram Moolenaar . If this changes it will be announced in appropriate places (most likely vim.sf.net, www.vim.org and/or comp.editors). When it is completely impossible to contact the maintainer, the obligation to send him your changes ceases. Once the maintainer has confirmed that he has received your changes they will not have to be sent again.
+
+ b) If you have received a modified Vim that was distributed as mentioned under a) you are allowed to further distribute it unmodified, as mentioned at I). If you make additional changes the text under a) applies to those changes.
+
+ c) Provide all the changes, including source code, with every copy of the modified Vim you distribute. This may be done in the form of a context diff. You can choose what license to use for new code you add. The changes and their license must not restrict others from making their own changes to the official version of Vim.
+
+ d) When you have a modified Vim which includes changes as mentioned under c), you can distribute it without the source code for the changes if the following three conditions are met:
+ - The license that applies to the changes permits you to distribute the changes to the Vim maintainer without fee or restriction, and permits the Vim maintainer to include the changes in the official version of Vim without fee or restriction.
+ - You keep the changes for at least three years after last distributing the corresponding modified Vim. When the maintainer or someone who you distributed the modified Vim to asks you (in any way) for the changes within this period, you must make them available to him.
+ - You clearly describe in the distribution how to contact you. This contact information must remain valid for at least three years after last distributing the corresponding modified Vim, or as long as possible.
+
+ e) When the GNU General Public License (GPL) applies to the changes, you can distribute the modified Vim under the GNU GPL version 2 or any later version.
+
+ 3) A message must be added, at least in the output of the ":version" command and in the intro screen, such that the user of the modified Vim is able to see that it was modified. When distributing as mentioned under 2)e) adding the message is only required for as far as this does not conflict with the license used for the changes.
+
+ 4) The contact information as required under 2)a) and 2)d) must not be removed or changed, except that the person himself can make corrections.
+
+III) If you distribute a modified version of Vim, you are encouraged to use the Vim license for your changes and make them available to the maintainer, including the source code. The preferred way to do this is by e-mail or by uploading the files to a server and e-mailing the URL. If the number of changes is small (e.g., a modified Makefile) e-mailing a context diff will do. The e-mail address to be used is
+
+IV) It is not allowed to remove this license from the distribution of the Vim sources, parts of it or from a modified version. You may use this license for previous Vim releases instead of the license that they came with, at your option.
\ No newline at end of file
diff --git a/options/license/W3C b/options/license/W3C
new file mode 100644
index 0000000..ddb7ddb
--- /dev/null
+++ b/options/license/W3C
@@ -0,0 +1,29 @@
+W3C SOFTWARE NOTICE AND LICENSE
+
+This work (and included software, documentation such as READMEs, or other related items) is being provided by the copyright holders under the following license.
+
+License
+
+By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+
+Permission to copy, modify, and distribute this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications:
+
+ The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+
+ Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software Short Notice should be included (hypertext is preferred, text is permitted) within the body of any redistributed or derivative code.
+
+ Notice of any changes or modifications to the files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)
+
+Disclaimers
+
+THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
+
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
+
+Notes
+
+This version: http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+
+This formulation of W3C's notice and license became active on December 31 2002. This version removes the copyright ownership notice such that this license can be used with materials other than those owned by the W3C, reflects that ERCIM is now a host of the W3C, includes references to this specific dated version of the license, and removes the ambiguous grant of "use". Otherwise, this version is the same as the previous version and is written so as to preserve the Free Software Foundation's assessment of GPL compatibility and OSI's certification under the Open Source Definition.
\ No newline at end of file
diff --git a/options/license/W3C-19980720 b/options/license/W3C-19980720
new file mode 100644
index 0000000..ee02314
--- /dev/null
+++ b/options/license/W3C-19980720
@@ -0,0 +1,23 @@
+W3C® SOFTWARE NOTICE AND LICENSE
+
+Copyright (c) 1994-2002 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
+
+This W3C work (including software, documents, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:
+
+Permission to use, copy, modify, and distribute this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications, that you make:
+
+ 1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+
+ 2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, a short notice of the following form (hypertext is preferred, text is permitted) should be used within the body of any redistributed or derivative code: "Copyright © [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/"
+
+ 3. Notice of any changes or modifications to the W3C files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)
+
+THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
+
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
+
+____________________________________
+
+This formulation of W3C's notice and license became active on August 14 1998 so as to improve compatibility with GPL. This version ensures that W3C software licensing terms are no more restrictive than GPL and consequently W3C software may be distributed in GPL packages. See the older formulation for the policy prior to this date. Please see our Copyright FAQ for common questions about using materials from our site, including specific terms and conditions for packages like libwww, Amaya, and Jigsaw. Other questions about this notice can be directed to site-policy@w3.org.
diff --git a/options/license/W3C-20150513 b/options/license/W3C-20150513
new file mode 100644
index 0000000..7c9a838
--- /dev/null
+++ b/options/license/W3C-20150513
@@ -0,0 +1,17 @@
+This work is being provided by the copyright holders under the following license.
+
+License
+By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+
+Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
+
+ • The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+ • Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
+ • Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright (c) [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
+
+Disclaimers
+THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
+
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders.
\ No newline at end of file
diff --git a/options/license/WTFPL b/options/license/WTFPL
new file mode 100644
index 0000000..7a3094a
--- /dev/null
+++ b/options/license/WTFPL
@@ -0,0 +1,11 @@
+DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+Version 2, December 2004
+
+Copyright (C) 2004 Sam Hocevar
+
+Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed.
+
+DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. You just DO WHAT THE FUCK YOU WANT TO.
diff --git a/options/license/Watcom-1.0 b/options/license/Watcom-1.0
new file mode 100644
index 0000000..031b90f
--- /dev/null
+++ b/options/license/Watcom-1.0
@@ -0,0 +1,106 @@
+Sybase Open Watcom Public License version 1.0
+
+USE OF THE SYBASE OPEN WATCOM SOFTWARE DESCRIBED BELOW ("SOFTWARE") IS SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THE SYBASE OPEN WATCOM PUBLIC LICENSE SET FORTH BELOW ("LICENSE"). YOU MAY NOT USE THE SOFTWARE IN ANY MANNER UNLESS YOU ACCEPT THE TERMS AND CONDITIONS OF THE LICENSE. YOU INDICATE YOUR ACCEPTANCE BY IN ANY MANNER USING (INCLUDING WITHOUT LIMITATION BY REPRODUCING, MODIFYING OR DISTRIBUTING) THE SOFTWARE. IF YOU DO NOT ACCEPT ALL OF THE TERMS AND CONDITIONS OF THE LICENSE, DO NOT USE THE SOFTWARE IN ANY MANNER.
+
+Sybase Open Watcom Public License version 1.0
+
+1. General; Definitions. This License applies only to the following software programs: the open source versions of Sybase's Watcom C/C++ and Fortran compiler products ("Software"), which are modified versions of, with significant changes from, the last versions made commercially available by Sybase. As used in this License:
+
+ 1.1 "Applicable Patent Rights" mean: (a) in the case where Sybase is the grantor of rights, (i) claims of patents that are now or hereafter acquired, owned by or assigned to Sybase and (ii) that cover subject matter contained in the Original Code, but only to the extent necessary to use, reproduce and/or distribute the Original Code without infringement; and (b) in the case where You are the grantor of rights, (i) claims of patents that are now or hereafter acquired, owned by or assigned to You and (ii) that cover subject matter in Your Modifications, taken alone or in combination with Original Code.
+
+ 1.2 "Contributor" means any person or entity that creates or contributes to the creation of Modifications.
+
+ 1.3 "Covered Code" means the Original Code, Modifications, the combination of Original Code and any Modifications, and/or any respective portions thereof.
+
+ 1.4 "Deploy" means to use, sublicense or distribute Covered Code other than for Your internal research and development (R&D) and/or Personal Use, and includes without limitation, any and all internal use or distribution of Covered Code within Your business or organization except for R&D use and/or Personal Use, as well as direct or indirect sublicensing or distribution of Covered Code by You to any third party in any form or manner.
+
+ 1.5 "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.6 "Modifications" mean any addition to, deletion from, and/or change to, the substance and/or structure of the Original Code, any previous Modifications, the combination of Original Code and any previous Modifications, and/or any respective portions thereof. When code is released as a series of files, a Modification is: (a) any addition to or deletion from the contents of a file containing Covered Code; and/or (b) any new file or other representation of computer program statements that contains any part of Covered Code.
+
+ 1.7 "Original Code" means (a) the Source Code of a program or other work as originally made available by Sybase under this License, including the Source Code of any updates or upgrades to such programs or works made available by Sybase under this License, and that has been expressly identified by Sybase as such in the header file(s) of such work; and (b) the object code compiled from such Source Code and originally made available by Sybase under this License.
+
+ 1.8 "Personal Use" means use of Covered Code by an individual solely for his or her personal, private and non-commercial purposes. An individual's use of Covered Code in his or her capacity as an officer, employee, member, independent contractor or agent of a corporation, business or organization (commercial or non-commercial) does not qualify as Personal Use.
+
+ 1.9 "Source Code" means the human readable form of a program or other work that is suitable for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an executable (object code).
+
+ 1.10 "You" or "Your" means an individual or a legal entity exercising rights under this License. For legal entities, "You" or "Your" includes any entity which controls, is controlled by, or is under common control with, You, where "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 fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
+
+2. Permitted Uses; Conditions & Restrictions.Subject to the terms and conditions of this License, Sybase hereby grants You, effective on the date You accept this License and download the Original Code, a world-wide, royalty-free, non-exclusive license, to the extent of Sybase's Applicable Patent Rights and copyrights covering the Original Code, to do the following:
+
+ 2.1 You may use, reproduce, display, perform, modify and distribute Original Code, with or without Modifications, solely for Your internal research and development and/or Personal Use, provided that in each instance:
+
+ (a) You must retain and reproduce in all copies of Original Code the copyright and other proprietary notices and disclaimers of Sybase as they appear in the Original Code, and keep intact all notices in the Original Code that refer to this License; and
+
+ (b) You must retain and reproduce a copy of this License with every copy of Source Code of Covered Code and documentation You distribute, and You may not offer or impose any terms on such Source Code that alter or restrict this License or the recipients' rights hereunder, except as permitted under Section 6.
+
+ (c) Whenever reasonably feasible you should include the copy of this License in a click-wrap format, which requires affirmative acceptance by clicking on an "I accept" button or similar mechanism. If a click-wrap format is not included, you must include a statement that any use (including without limitation reproduction, modification or distribution) of the Software, and any other affirmative act that you define, constitutes acceptance of the License, and instructing the user not to use the Covered Code in any manner if the user does not accept all of the terms and conditions of the License.
+
+ 2.2 You may use, reproduce, display, perform, modify and Deploy Covered Code, provided that in each instance:
+
+ (a) You must satisfy all the conditions of Section 2.1 with respect to the Source Code of the Covered Code;
+
+ (b) You must duplicate, to the extent it does not already exist, the notice in Exhibit A in each file of the Source Code of all Your Modifications, and cause the modified files to carry prominent notices stating that You changed the files and the date of any change;
+
+ (c) You must make Source Code of all Your Deployed Modifications publicly available under the terms of this License, including the license grants set forth in Section 3 below, for as long as you Deploy the Covered Code or twelve (12) months from the date of initial Deployment, whichever is longer. You should preferably distribute the Source Code of Your Deployed Modifications electronically (e.g. download from a web site);
+
+ (d) if You Deploy Covered Code in object code, executable form only, You must include a prominent notice, in the code itself as well as in related documentation, stating that Source Code of the Covered Code is available under the terms of this License with information on how and where to obtain such Source Code; and
+
+ (e) the object code form of the Covered Code may be distributed under Your own license agreement, provided that such license agreement contains terms no less protective of Sybase and each Contributor than the terms of this License, and stating that any provisions which differ from this License are offered by You alone and not by any other party.
+
+ 2.3 You expressly acknowledge and agree that although Sybase and each Contributor grants the licenses to their respective portions of the Covered Code set forth herein, no assurances are provided by Sybase or any Contributor that the Covered Code does not infringe the patent or other intellectual property rights of any other entity. Sybase and each Contributor disclaim any liability to You for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, You hereby assume sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow You to distribute the Covered Code, it is Your responsibility to acquire that license before distributing the Covered Code.
+
+3. Your Grants. In consideration of, and as a condition to, the licenses granted to You under this License, You hereby grant to Sybase and all third parties a non-exclusive, royalty-free license, under Your Applicable Patent Rights and other intellectual property rights (other than patent) owned or controlled by You, to use, reproduce, display, perform, modify, distribute and Deploy Your Modifications of the same scope and extent as Sybase's licenses under Sections 2.1 and 2.2.
+
+4. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In each such instance, You must make sure the requirements of this License are fulfilled for the Covered Code or any portion thereof.
+
+5. Limitations on Patent License. Except as expressly stated in Section 2, no other patent rights, express or implied, are granted by Sybase herein. Modifications and/or Larger Works may require additional patent licenses from Sybase which Sybase may grant in its sole discretion.
+
+6. Additional Terms. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations and/or other rights consistent with this License ("Additional Terms") to one or more recipients of Covered Code. However, You may do so only on Your own behalf and as Your sole responsibility, and not on behalf of Sybase or any Contributor. You must obtain the recipient's agreement that any such Additional Terms are offered by You alone, and You hereby agree to indemnify, defend and hold Sybase and every Contributor harmless for any liability incurred by or claims asserted against Sybase or such Contributor by reason of any such Additional Terms.
+
+7. Versions of the License. Sybase may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Once Original Code has been published under a particular version of this License, You may continue to use it under the terms of that version. You may also choose to use such Original Code under the terms of any subsequent version of this License published by Sybase. No one other than Sybase has the right to modify the terms applicable to Covered Code created under this License.
+
+8. NO WARRANTY OR SUPPORT. The Covered Code may contain in whole or in part pre-release, untested, or not fully tested works. The Covered Code may contain errors that could cause failures or loss of data, and may be incomplete or contain inaccuracies. You expressly acknowledge and agree that use of the Covered Code, or any portion thereof, is at Your sole and entire risk. THE COVERED CODE IS PROVIDED "AS IS" AND WITHOUT WARRANTY, UPGRADES OR SUPPORT OF ANY KIND AND SYBASE AND SYBASE'S LICENSOR(S) (COLLECTIVELY REFERRED TO AS "SYBASE" FOR THE PURPOSES OF SECTIONS 8 AND 9) AND ALL CONTRIBUTORS EXPRESSLY DISCLAIM ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY, OF SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR PURPOSE, OF ACCURACY, OF QUIET ENJOYMENT, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. SYBASE AND EACH CONTRIBUTOR DOES NOT WARRANT AGAINST INTERFERENCE WITH YOUR ENJOYMENT OF THE COVERED CODE, THAT THE FUNCTIONS CONTAINED IN THE COVERED CODE WILL MEET YOUR REQUIREMENTS, THAT THE OPERATION OF THE COVERED CODE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS IN THE COVERED CODE WILL BE CORRECTED. NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY SYBASE, A SYBASE AUTHORIZED REPRESENTATIVE OR ANY CONTRIBUTOR SHALL CREATE A WARRANTY. You acknowledge that the Covered Code is not intended for use in the operation of nuclear facilities, aircraft navigation, communication systems, or air traffic control machines in which case the failure of the Covered Code could lead to death, personal injury, or severe physical or environmental damage.
+
+9. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT SHALL SYBASE OR ANY CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INCIDENTAL, SPECIAL, INDIRECT, CONSEQUENTIAL OR OTHER DAMAGES OF ANY KIND ARISING OUT OF OR RELATING TO THIS LICENSE OR YOUR USE OR INABILITY TO USE THE COVERED CODE, OR ANY PORTION THEREOF, WHETHER UNDER A THEORY OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCTS LIABILITY OR OTHERWISE, EVEN IF SYBASE OR SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY OF INCIDENTAL OR CONSEQUENTIAL OR OTHER DAMAGES OF ANY KIND, SO THIS LIMITATION MAY NOT APPLY TO YOU. In no event shall Sybase's or any Contributor's total liability to You for all damages (other than as may be required by applicable law) under this License exceed the amount of five hundred dollars ($500.00).
+
+10. Trademarks. This License does not grant any rights to use the trademarks or trade names "Sybase" or any other trademarks or trade names belonging to Sybase (collectively "Sybase Marks") or to any trademark or trade name belonging to any Contributor("Contributor Marks"). No Sybase Marks or Contributor Marks may be used to endorse or promote products derived from the Original Code or Covered Code other than with the prior written consent of Sybase or the Contributor, as applicable.
+
+11. Ownership. Subject to the licenses granted under this License, each Contributor retains all rights, title and interest in and to any Modifications made by such Contributor. Sybase retains all rights, title and interest in and to the Original Code and any Modifications made by or on behalf of Sybase ("Sybase Modifications"), and such Sybase Modifications will not be automatically subject to this License. Sybase may, at its sole discretion, choose to license such Sybase Modifications under this License, or on different terms from those contained in this License or may choose not to license them at all.
+
+12. Termination.
+
+ 12.1 Termination. This License and the rights granted hereunder will terminate:
+
+ (a) automatically without notice if You fail to comply with any term(s) of this License and fail to cure such breach within 30 days of becoming aware of such breach;
+
+ (b) immediately in the event of the circumstances described in Section 13.5(b); or
+
+ (c) automatically without notice if You, at any time during the term of this License, commence an action for patent infringement (including as a cross claim or counterclaim) against Sybase or any Contributor.
+
+ 12.2 Effect of Termination. Upon termination, You agree to immediately stop any further use, reproduction, modification, sublicensing and distribution of the Covered Code and to destroy all copies of the Covered Code that are in your possession or control. All sublicenses to the Covered Code that have been properly granted prior to termination shall survive any termination of this License. Provisions which, by their nature, should remain in effect beyond the termination of this License shall survive, including but not limited to Sections 3, 5, 8, 9, 10, 11, 12.2 and 13. No party will be liable to any other for compensation, indemnity or damages of any sort solely as a result of terminating this License in accordance with its terms, and termination of this License will be without prejudice to any other right or remedy of any party.
+
+13. Miscellaneous.
+
+ 13.1 Government End Users. The Covered Code is a "commercial item" as defined in FAR 2.101. Government software and technical data rights in the Covered Code include only those rights customarily provided to the public as defined in this License. This customary commercial license in technical data and software is provided in accordance with FAR 12.211 (Technical Data) and 12.212 (Computer Software) and, for Department of Defense purchases, DFAR 252.227-7015 (Technical Data -- Commercial Items) and 227.7202-3 (Rights in Commercial Computer Software or Computer Software Documentation). Accordingly, all U.S. Government End Users acquire Covered Code with only those rights set forth herein.
+
+ 13.2 Relationship of Parties. This License will not be construed as creating an agency, partnership, joint venture or any other form of legal association between or among you, Sybase or any Contributor, and You will not represent to the contrary, whether expressly, by implication, appearance or otherwise.
+
+ 13.3 Independent Development. Nothing in this License will impair Sybase's or any Contributor's right to acquire, license, develop, have others develop for it, market and/or distribute technology or products that perform the same or similar functions as, or otherwise compete with, Modifications, Larger Works, technology or products that You may develop, produce, market or distribute.
+
+ 13.4 Waiver; Construction. Failure by Sybase or any Contributor to enforce any provision of this License will not be deemed a waiver of future enforcement of that or any other provision. Any law or regulation which provides that the language of a contract shall be construed against the drafter will not apply to this License.
+
+ 13.5 Severability. (a) If for any reason a court of competent jurisdiction finds any provision of this License, or portion thereof, to be unenforceable, that provision of the License will be enforced to the maximum extent permissible so as to effect the economic benefits and intent of the parties, and the remainder of this License will continue in full force and effect. (b) Notwithstanding the foregoing, if applicable law prohibits or restricts You from fully and/or specifically complying with Sections 2 and/or 3 or prevents the enforceability of either of those Sections, this License will immediately terminate and You must immediately discontinue any use of the Covered Code and destroy all copies of it that are in your possession or control.
+
+ 13.6 Dispute Resolution. Any litigation or other dispute resolution between You and Sybase relating to this License shall take place in the Northern District of California, and You and Sybase hereby consent to the personal jurisdiction of, and venue in, the state and federal courts within that District with respect to this License. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded.
+
+ 13.7 Entire Agreement; Governing Law. This License constitutes the entire agreement between the parties with respect to the subject matter hereof. This License shall be governed by the laws of the United States and the State of California, except that body of California law concerning conflicts of law.
+Where You are located in the province of Quebec, Canada, the following clause applies: The parties hereby confirm that they have requested that this License and all related documents be drafted in English. Les parties ont exigè que le prèsent contrat et tous les documents connexes soient rèdiès en anglais.
+
+
+EXHIBIT A.
+
+"Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
+This file contains Original Code and/or Modifications of Original Code as defined in and that are subject to the Sybase Open Watcom Public License version 1.0 (the 'License'). You may not use this file except in compliance with the License. BY USING THIS FILE YOU AGREE TO ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is provided with the Original Code and Modifications, and is also available at www.sybase.com/developer/opensource.
+
+The Original Code and all software distributed under the License are distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the specific language governing rights and limitations under the License."
\ No newline at end of file
diff --git a/options/license/Wsuipa b/options/license/Wsuipa
new file mode 100644
index 0000000..7f81ede
--- /dev/null
+++ b/options/license/Wsuipa
@@ -0,0 +1,5 @@
+This file was added by Clea F. Rees on 2008/11/30 with the permission of Dean Guenther and pointers to this file were added to all source files.
+
+Unlimited copying and redistribution of each of the files is permitted as long as the file is not modified. Modifications, and redistribution of modified versions, are also permitted, but only if the resulting file is renamed.
+
+The copyright holder is Washington State University. The original author of the fonts is Janene Winter. The primary contact (as of 2008) is Dean Guenther.
\ No newline at end of file
diff --git a/options/license/X11 b/options/license/X11
new file mode 100644
index 0000000..6b41092
--- /dev/null
+++ b/options/license/X11
@@ -0,0 +1,13 @@
+X11 License
+
+Copyright (C) 1996 X Consortium
+
+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 X CONSORTIUM 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.
+
+Except as contained in this notice, the name of the X Consortium shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the X Consortium.
+
+X Window System is a trademark of X Consortium, Inc.
diff --git a/options/license/XFree86-1.1 b/options/license/XFree86-1.1
new file mode 100644
index 0000000..8bfdef0
--- /dev/null
+++ b/options/license/XFree86-1.1
@@ -0,0 +1,16 @@
+XFree86 License (version 1.1)
+
+Copyright (C) 1994-2006 The XFree86 Project, Inc.
+All rights reserved.
+
+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:
+
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution, and in the same place and form as other copyright, license and disclaimer information.
+
+ 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by The XFree86 Project, Inc (http://www.xfree86.org/) and its contributors", in the same place and form as other third-party acknowledgments. Alternately, this acknowledgment may appear in the software itself, in the same form and location as other such third-party acknowledgments.
+
+ 4. Except as contained in this notice, the name of The XFree86 Project, Inc shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from The XFree86 Project, Inc.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE XFREE86 PROJECT, INC OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/XSkat b/options/license/XSkat
new file mode 100644
index 0000000..0b77a07
--- /dev/null
+++ b/options/license/XSkat
@@ -0,0 +1,10 @@
+This program is free software; you can redistribute it freely.
+Use it at your own risk; there is NO WARRANTY.
+
+Redistribution of modified versions is permitted provided that the following conditions are met:
+
+1. All copyright & permission notices are preserved.
+
+2.a) Only changes required for packaging or porting are made.
+ or
+2.b) It is clearly stated who last changed the program. The program is renamed or the version number is of the form x.y.z, where x.y is the version of the original program and z is an arbitrary suffix.
diff --git a/options/license/Xerox b/options/license/Xerox
new file mode 100644
index 0000000..acd6dd6
--- /dev/null
+++ b/options/license/Xerox
@@ -0,0 +1,5 @@
+Copyright (c) 1995, 1996 Xerox Corporation. All Rights Reserved.
+
+Use and copying of this software and preparation of derivative works based upon this software are permitted. Any copy of this software or of any derivative work must include the above copyright notice of Xerox Corporation, this paragraph and the one after it. Any distribution of this software or derivative works must comply with all applicable United States export control laws.
+
+This software is made available AS IS, and XEROX CORPORATION DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND NOTWITHSTANDING ANY OTHER PROVISION CONTAINED HEREIN, ANY LIABILITY FOR DAMAGES RESULTING FROM THE SOFTWARE OR ITS USE IS EXPRESSLY DISCLAIMED, WHETHER ARISING IN CONTRACT, TORT (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, EVEN IF XEROX CORPORATION IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
\ No newline at end of file
diff --git a/options/license/Xnet b/options/license/Xnet
new file mode 100644
index 0000000..309f8e1
--- /dev/null
+++ b/options/license/Xnet
@@ -0,0 +1,11 @@
+The X.Net, Inc. License
+
+Copyright (c) 2000-2001 X.Net, Inc. Lafayette, California, USA
+
+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.
+
+This agreement shall be governed in all respects by the laws of the State of California and by the laws of the United States of America.
\ No newline at end of file
diff --git a/options/license/YPL-1.0 b/options/license/YPL-1.0
new file mode 100644
index 0000000..1877139
--- /dev/null
+++ b/options/license/YPL-1.0
@@ -0,0 +1,47 @@
+Yahoo! Public License, Version 1.0 (YPL)
+
+This Yahoo! Public License (this "Agreement") is a legal agreement that describes the terms under which Yahoo! Inc., a Delaware corporation having its principal place of business at 701 First Avenue, Sunnyvale, California 94089 ("Yahoo!") will provide software to you via download or otherwise ("Software"). By using the Software, you, an individual or an entity ("You") agree to the terms of this Agreement.
+
+In consideration of the mutual promises and upon the terms and conditions set forth below, the parties agree as follows:
+
+1. Grant of Copyright License
+
+ 1.1 - Subject to the terms and conditions of this Agreement, Yahoo! hereby grants to You, under any and all of its copyright interest in and to the Software, a royalty-free, non-exclusive, non-transferable license to copy, modify, compile, execute, and distribute the Software and Modifications. For the purposes of this Agreement, any change to, addition to, or abridgement of the Software made by You is a "Modification;" however, any file You add to the Software that does not contain any part of the Software is not a "Modification."
+
+ 1.2 - If You are an individual acting on behalf of a corporation or other entity, Your use of the Software or any Modification is subject to Your having the authority to bind such corporation or entity to this Agreement. Providing copies to persons within such corporation or entity is not considered distribution for purposes of this Agreement.
+
+ 1.3 - For the Software or any Modification You distribute in source code format, You must do so only under the terms of this Agreement, and You must include a complete copy of this Agreement with Your distribution. With respect to any Modification You distribute in source code format, the terms of this Agreement will apply to You in the same way those terms apply to Yahoo! with respect to the Software. In other words, when You are distributing Modifications under this Agreement, You "stand in the shoes" of Yahoo! in terms of the rights You grant and how the terms and conditions apply to You and the licensees of Your Modifications. Notwithstanding the foregoing, when You "stand in the shoes" of Yahoo!, You are not subject to the jurisdiction provision under Section 7, which requires all disputes under this Agreement to be subject to the jurisdiction of federal or state courts of northern California.
+
+ 1.4 - For the Software or any Modification You distribute in compiled or object code format, You must also provide recipients with access to the Software or Modification in source code format along with a complete copy of this Agreement. The distribution of the Software or Modifications in compiled or object code format may be under a license of Your choice, provided that You are in compliance with the terms of this Agreement. In addition, You must make absolutely clear that any license terms applying to such Software or Modification that differ from this Agreement are offered by You alone and not by Yahoo!, and that such license does not restrict recipients from exercising rights in the source code to the Software granted by Yahoo! under this Agreement or rights in the source code to any Modification granted by You as described in Section 1.3.
+
+ 1.5 - This Agreement does not limit Your right to distribute files that are entirely Your own work (i.e., which do not incorporate any portion of the Software and are not Modifications) under any terms You choose.
+
+2. Support
+Yahoo! has no obligation to provide technical support or updates to You. Nothing in this Agreement requires Yahoo! to enter into any license with You for any other edition of the Software.
+
+3. Intellectual Property Rights
+
+ 3.1 - Except for the license expressly granted under copyright in Section 1.1, no rights, licenses or forbearances are granted or may arise in relation to this Agreement whether expressly, by implication, exhaustion, estoppel or otherwise. All rights, including all intellectual property rights, that are not expressly granted under this Agreement are hereby reserved.
+
+ 3.2 - In any copy of the Software or in any Modification you create, You must retain and reproduce, any and all copyright, patent, trademark, and attribution notices that are included in the Software in the same form as they appear in the Software. This includes the preservation of attribution notices in the form of trademarks or logos that exist within a user interface of the Software.
+
+ 3.3 - This license does not grant You rights to use any party's name, logo, or trademarks, except solely as necessary to comply with Section 3.2.
+
+4. Disclaimer of Warranties
+THE SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND. YAHOO! MAKES NO WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY REGARDING OR RELATING TO THE SOFTWARE. SPECIFICALLY, YAHOO! DOES NOT WARRANT THAT THE SOFTWARE WILL BE ERROR FREE OR WILL PERFORM IN AN UNINTERRUPTED MANNER. TO THE GREATEST EXTENT ALLOWED BY LAW, YAHOO! SPECIFICALLY DISCLAIMS ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (EVEN IF YAHOO! HAD BEEN INFORMED OF SUCH PURPOSE), AND NONINFRINGEMENT WITH RESPECT TO THE SOFTWARE, ANY MODIFICATIONS THERETO AND WITH RESPECT TO THE USE OF THE FOREGOING.
+
+5. Limitation of Liability
+IN NO EVENT WILL YAHOO! BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES OF ANY KIND (INCLUDING WITHOUT LIMITATION LOSS OF PROFITS, LOSS OF USE, BUSINESS INTERRUPTION, LOSS OF DATA, COST OF COVER) IN CONNECTION WITH OR ARISING OUT OF OR RELATING TO THE FURNISHING, PERFORMANCE OR USE OF THE SOFTWARE OR ANY OTHER RIGHTS GRANTED HEREUNDER, WHETHER ALLEGED AS A BREACH OF CONTRACT OR TORTIOUS CONDUCT, INCLUDING NEGLIGENCE, AND EVEN IF YAHOO! HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+6. Term and Termination
+
+ 6.1 - This Agreement will continue in effect unless and until terminated earlier pursuant to this Section 6.
+
+ 6.2 - In the event Yahoo! determines that You have breached this Agreement, Yahoo! may terminate this Agreement.
+
+ 6.3 - All licenses granted hereunder shall terminate upon the termination of this Agreement. Termination will be in addition to any rights and remedies available to Yahoo! at law or equity or under this Agreement.
+
+ 6.4 - Termination of this Agreement will not affect the provisions regarding reservation of rights (Section 3.1), provisions disclaiming or limiting Yahoo!'s liability (Sections 4 and 5), Termination (Section 6) or Miscellaneous (Section 7), which provisions will survive termination of this Agreement.
+
+7. Miscellaneous
+This Agreement contains the entire agreement of the parties with respect to the subject matter of this Agreement and supersedes all previous communications, representations, understandings and agreements, either oral or written, between the parties with respect to said subject matter. The relationship of the parties hereunder is that of independent contractors, and this Agreement will not be construed as creating an agency, partnership, joint venture or any other form of legal association between the parties. If any term, condition, or provision in this Agreement is found to be invalid, unlawful or unenforceable to any extent, this Agreement will be construed in a manner that most closely effectuates the intent of this Agreement. Such invalid term, condition or provision will be severed from the remaining terms, conditions and provisions, which will continue to be valid and enforceable to the fullest extent permitted by law. This Agreement will be interpreted and construed in accordance with the laws of the State of California and the United States of America, without regard to conflict of law principles. The U.N. Convention on Contracts for the International Sale of Goods shall not apply to this Agreement. All disputes arising out of this Agreement involving Yahoo! or any of its subsidiaries shall be subject to the jurisdiction of the federal or state courts of northern California, with venue lying in Santa Clara County, California. No rights may be assigned, no obligations may be delegated, and this Agreement may not be transferred by You, in whole or in part, whether voluntary or by operation of law, including by way of sale of assets, merger or consolidation, without the prior written consent of Yahoo!, and any purported assignment, delegation or transfer without such consent shall be void ab initio. Any waiver of the provisions of this Agreement or of a party's rights or remedies under this Agreement must be in writing to be effective. Failure, neglect or delay by a party to enforce the provisions of this Agreement or its rights or remedies at any time, will not be construed or be deemed to be a waiver of such party's rights under this Agreement and will not in any way affect the validity of the whole or any part of this Agreement or prejudice such party's right to take subsequent action.
\ No newline at end of file
diff --git a/options/license/YPL-1.1 b/options/license/YPL-1.1
new file mode 100644
index 0000000..b5e9f21
--- /dev/null
+++ b/options/license/YPL-1.1
@@ -0,0 +1,47 @@
+Yahoo! Public License, Version 1.1 (YPL)
+
+This Yahoo! Public License (this "Agreement") is a legal agreement that describes the terms under which Yahoo! Inc., a Delaware corporation having its principal place of business at 701 First Avenue, Sunnyvale, California 94089 ("Yahoo!") will provide software to you via download or otherwise ("Software"). By using the Software, you, an individual or an entity ("You") agree to the terms of this Agreement.
+
+In consideration of the mutual promises and upon the terms and conditions set forth below, the parties agree as follows:
+
+1. Grant of Copyright License
+
+ 1.1 - Subject to the terms and conditions of this Agreement, Yahoo! hereby grants to You, under any and all of its copyright interest in and to the Software, a royalty-free, non-exclusive, non-transferable license to copy, modify, compile, execute, and distribute the Software and Modifications. For the purposes of this Agreement, any change to, addition to, or abridgement of the Software made by You is a "Modification;" however, any file You add to the Software that does not contain any part of the Software is not a "Modification."
+
+ 1.2 - If You are an individual acting on behalf of a corporation or other entity, Your use of the Software or any Modification is subject to Your having the authority to bind such corporation or entity to this Agreement. Providing copies to persons within such corporation or entity is not considered distribution for purposes of this Agreement.
+
+ 1.3 - For the Software or any Modification You distribute in source code format, You must do so only under the terms of this Agreement, and You must include a complete copy of this Agreement with Your distribution. With respect to any Modification You distribute in source code format, the terms of this Agreement will apply to You in the same way those terms apply to Yahoo! with respect to the Software. In other words, when You are distributing Modifications under this Agreement, You "stand in the shoes" of Yahoo! in terms of the rights You grant and how the terms and conditions apply to You and the licensees of Your Modifications. Notwithstanding the foregoing, when You "stand in the shoes" of Yahoo!, You are not subject to the jurisdiction provision under Section 7, which requires all disputes under this Agreement to be subject to the jurisdiction of federal or state courts of northern California.
+
+ 1.4 - For the Software or any Modification You distribute in compiled or object code format, You must also provide recipients with access to the Software or Modification in source code format along with a complete copy of this Agreement. The distribution of the Software or Modifications in compiled or object code format may be under a license of Your choice, provided that You are in compliance with the terms of this Agreement. In addition, You must make absolutely clear that any license terms applying to such Software or Modification that differ from this Agreement are offered by You alone and not by Yahoo!, and that such license does not restrict recipients from exercising rights in the source code to the Software granted by Yahoo! under this Agreement or rights in the source code to any Modification granted by You as described in Section 1.3.
+
+ 1.5 - This Agreement does not limit Your right to distribute files that are entirely Your own work (i.e., which do not incorporate any portion of the Software and are not Modifications) under any terms You choose.
+
+2. Support
+Yahoo! has no obligation to provide technical support or updates to You. Nothing in this Agreement requires Yahoo! to enter into any license with You for any other edition of the Software.
+
+3. Intellectual Property Rights
+
+ 3.1 - Except for the license expressly granted under copyright in Section 1.1, no rights, licenses or forbearances are granted or may arise in relation to this Agreement whether expressly, by implication, exhaustion, estoppel or otherwise. All rights, including all intellectual property rights, that are not expressly granted under this Agreement are hereby reserved.
+
+ 3.2 - In any copy of the Software or in any Modification you create, You must retain and reproduce, any and all copyright, patent, trademark, and attribution notices that are included in the Software in the same form as they appear in the Software. This includes the preservation of attribution notices in the form of trademarks or logos that exist within a user interface of the Software.
+
+ 3.3 - This license does not grant You rights to use any party's name, logo, or trademarks, except solely as necessary to comply with Section 3.2.
+
+4. Disclaimer of Warranties
+THE SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND. YAHOO! MAKES NO WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY REGARDING OR RELATING TO THE SOFTWARE. SPECIFICALLY, YAHOO! DOES NOT WARRANT THAT THE SOFTWARE WILL BE ERROR FREE OR WILL PERFORM IN AN UNINTERRUPTED MANNER. TO THE GREATEST EXTENT ALLOWED BY LAW, YAHOO! SPECIFICALLY DISCLAIMS ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (EVEN IF YAHOO! HAD BEEN INFORMED OF SUCH PURPOSE), AND NONINFRINGEMENT WITH RESPECT TO THE SOFTWARE, ANY MODIFICATIONS THERETO AND WITH RESPECT TO THE USE OF THE FOREGOING.
+
+5. Limitation of Liability
+IN NO EVENT WILL YAHOO! BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES OF ANY KIND (INCLUDING WITHOUT LIMITATION LOSS OF PROFITS, LOSS OF USE, BUSINESS INTERRUPTION, LOSS OF DATA, COST OF COVER) IN CONNECTION WITH OR ARISING OUT OF OR RELATING TO THE FURNISHING, PERFORMANCE OR USE OF THE SOFTWARE OR ANY OTHER RIGHTS GRANTED HEREUNDER, WHETHER ALLEGED AS A BREACH OF CONTRACT OR TORTIOUS CONDUCT, INCLUDING NEGLIGENCE, AND EVEN IF YAHOO! HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+6. Term and Termination
+
+ 6.1 - This Agreement will continue in effect unless and until terminated earlier pursuant to this Section 6.
+
+ 6.2 - In the event You violate the terms of this Agreement, Yahoo! may terminate this Agreement.
+
+ 6.3 - All licenses granted hereunder shall terminate upon the termination of this Agreement. Termination will be in addition to any rights and remedies available to Yahoo! at law or equity or under this Agreement.
+
+ 6.4 - Termination of this Agreement will not affect the provisions regarding reservation of rights (Section 3.1), provisions disclaiming or limiting Yahoo!'s liability (Sections 4 and 5), Termination (Section 6) or Miscellaneous (Section 7), which provisions will survive termination of this Agreement.
+
+7.Miscellaneous
+This Agreement contains the entire agreement of the parties with respect to the subject matter of this Agreement and supersedes all previous communications, representations, understandings and agreements, either oral or written, between the parties with respect to said subject matter. The relationship of the parties hereunder is that of independent contractors, and this Agreement will not be construed as creating an agency, partnership, joint venture or any other form of legal association between the parties. If any term, condition, or provision in this Agreement is found to be invalid, unlawful or unenforceable to any extent, this Agreement will be construed in a manner that most closely effectuates the intent of this Agreement. Such invalid term, condition or provision will be severed from the remaining terms, conditions and provisions, which will continue to be valid and enforceable to the fullest extent permitted by law. This Agreement will be interpreted and construed in accordance with the laws of the State of California and the United States of America, without regard to conflict of law principles. The U.N. Convention on Contracts for the International Sale of Goods shall not apply to this Agreement. All disputes arising out of this Agreement involving Yahoo! or any of its subsidiaries shall be subject to the jurisdiction of the federal or state courts of northern California, with venue lying in Santa Clara County, California. No rights may be assigned, no obligations may be delegated, and this Agreement may not be transferred by You, in whole or in part, whether voluntary or by operation of law, including by way of sale of assets, merger or consolidation, without the prior written consent of Yahoo!, and any purported assignment, delegation or transfer without such consent shall be void ab initio. Any waiver of the provisions of this Agreement or of a party's rights or remedies under this Agreement must be in writing to be effective. Failure, neglect or delay by a party to enforce the provisions of this Agreement or its rights or remedies at any time, will not be construed or be deemed to be a waiver of such party's rights under this Agreement and will not in any way affect the validity of the whole or any part of this Agreement or prejudice such party's right to take subsequent action.
diff --git a/options/license/ZPL-1.1 b/options/license/ZPL-1.1
new file mode 100644
index 0000000..ee87fa8
--- /dev/null
+++ b/options/license/ZPL-1.1
@@ -0,0 +1,33 @@
+Zope Public License (ZPL) Version 1.1
+
+Copyright (c) Zope Corporation. All rights reserved.
+
+This license has been certified as open source.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions in source code must retain the above copyright notice, this list of conditions, and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ 3. All advertising materials and documentation mentioning features derived from or use of this software must display the following acknowledgement:
+
+ "This product includes software developed by Zope Corporation for use in the Z Object Publishing Environment (http://www.zope.com/)."
+
+ In the event that the product being advertised includes an intact Zope distribution (with copyright and license included) then this clause is waived.
+
+ 4. Names associated with Zope or Zope Corporation must not be used to endorse or promote products derived from this software without prior written permission from Zope Corporation.
+
+ 5. Modified redistributions of any form whatsoever must retain the following acknowledgment:
+
+ "This product includes software developed by Zope Corporation for use in the Z Object Publishing Environment (http://www.zope.com/)."
+
+ Intact (re-)distributions of any official Zope release do not require an external acknowledgement.
+
+ 6. Modifications are encouraged but must be packaged separately as patches to official Zope releases. Distributions that do not clearly separate the patches from the original work must be clearly labeled as unofficial distributions. Modifications which do not carry the name Zope may be packaged in any form, as long as they conform to all of the clauses above.
+
+Disclaimer
+
+THIS SOFTWARE IS PROVIDED BY ZOPE CORPORATION ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ZOPE CORPORATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+This software consists of contributions made by Zope Corporation and many individuals on behalf of Zope Corporation. Specific attributions are listed in the accompanying credits file.
\ No newline at end of file
diff --git a/options/license/ZPL-2.0 b/options/license/ZPL-2.0
new file mode 100644
index 0000000..5fee14b
--- /dev/null
+++ b/options/license/ZPL-2.0
@@ -0,0 +1,23 @@
+Zope Public License (ZPL) Version 2.0
+
+This software is Copyright (c) Zope Corporation (tm) and Contributors. All rights reserved.
+
+This license has been certified as open source. It has also been designated as GPL compatible by the Free Software Foundation (FSF).
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions in source code must retain the above copyright notice, this list of conditions, and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ 3. The name Zope Corporation (tm) must not be used to endorse or promote products derived from this software without prior written permission from Zope Corporation.
+
+ 4. The right to distribute this software or to use it for any purpose does not give you the right to use Servicemarks (sm) or Trademarks (tm) of Zope Corporation. Use of them is covered in a separate agreement (see http://www.zope.com/Marks).
+
+ 5. If any files are modified, you must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+
+Disclaimer
+
+THIS SOFTWARE IS PROVIDED BY ZOPE CORPORATION ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ZOPE CORPORATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+This software consists of contributions made by Zope Corporation and many individuals on behalf of Zope Corporation. Specific attributions are listed in the accompanying credits file.
\ No newline at end of file
diff --git a/options/license/ZPL-2.1 b/options/license/ZPL-2.1
new file mode 100644
index 0000000..8b42a72
--- /dev/null
+++ b/options/license/ZPL-2.1
@@ -0,0 +1,21 @@
+Zope Public License (ZPL) Version 2.1
+
+A copyright notice accompanies this license document that identifies the copyright holders.
+
+This license has been certified as open source. It has also been designated as GPL compatible by the Free Software Foundation (FSF).
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions in source code must retain the accompanying copyright notice, this list of conditions, and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the accompanying copyright notice, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ 3. Names of the copyright holders must not be used to endorse or promote products derived from this software without prior written permission from the copyright holders.
+
+ 4. The right to distribute this software or to use it for any purpose does not give you the right to use Servicemarks (sm) or Trademarks (tm) of the copyright holders. Use of them is covered by separate agreement with the copyright holders.
+
+ 5. If any files are modified, you must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+
+Disclaimer
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/Zed b/options/license/Zed
new file mode 100644
index 0000000..5f7cd2c
--- /dev/null
+++ b/options/license/Zed
@@ -0,0 +1,3 @@
+(c) Jim Davies, January 1995
+You may copy and distribute this file freely. Any queries and complaints should be forwarded to Jim.Davies@comlab.ox.ac.uk.
+If you make any changes to this file, please do not distribute the results under the name `zed-csp.sty'.
diff --git a/options/license/Zend-2.0 b/options/license/Zend-2.0
new file mode 100644
index 0000000..edbe653
--- /dev/null
+++ b/options/license/Zend-2.0
@@ -0,0 +1,18 @@
+The Zend Engine License, version 2.00
+Copyright (c) 1999-2002 Zend Technologies Ltd. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, is permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+ 3. The names "Zend" and "Zend Engine" must not be used to endorse or promote products derived from this software without prior permission from Zend Technologies Ltd. For written permission, please contact license@zend.com.
+
+ 4. Zend Technologies Ltd. may publish revised and/or new versions of the license from time to time. Each version will be given a distinguishing version number. Once covered code has been published under a particular version of the license, you may always continue to use it under the terms of that version. You may also choose to use such covered code under the terms of any subsequent version of the license published by Zend Technologies Ltd. No one other than Zend Technologies Ltd. has the right to modify the terms applicable to covered code created under this License.
+
+ 5. Redistributions of any form whatsoever must retain the following acknowledgment: "This product includes the Zend Engine, freely available at http://www.zend.com"
+
+ 6. All advertising materials mentioning features or use of this software must display the following acknowledgment: "The Zend Engine is freely available at http://www.zend.com"
+
+THIS SOFTWARE IS PROVIDED BY ZEND TECHNOLOGIES LTD. ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ZEND TECHNOLOGIES LTD. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/options/license/Zimbra-1.3 b/options/license/Zimbra-1.3
new file mode 100644
index 0000000..4f8a248
--- /dev/null
+++ b/options/license/Zimbra-1.3
@@ -0,0 +1,47 @@
+Zimbra Public License, Version 1.3 (ZPL)
+
+This Zimbra Public License (this "Agreement") is a legal agreement that describes the terms under which VMware, Inc., a Delaware corporation having its principal place of business at 3401 Hillview Avenue, Palo Alto, California 94304 ("VMware") will provide software to you via download or otherwise ("Software"). By using the Software, you, an individual or an entity ("You") agree to the terms of this Agreement.
+
+In consideration of the mutual promises and upon the terms and conditions set forth below, the parties agree as follows:
+
+1. Grant of Copyright License
+
+ 1.1 - Subject to the terms and conditions of this Agreement, VMware hereby grants to You, under any and all of its copyright interest in and to the Software, a royalty-free, non-exclusive, non-transferable license to copy, modify, compile, execute, and distribute the Software and Modifications. For the purposes of this Agreement, any change to, addition to, or abridgement of the Software made by You is a "Modification;" however, any file You add to the Software that does not contain any part of the Software is not a "Modification."
+
+ 1.2 - If You are an individual acting on behalf of a corporation or other entity, Your use of the Software or any Modification is subject to Your having the authority to bind such corporation or entity to this Agreement. Providing copies to persons within such corporation or entity is not considered distribution for purposes of this Agreement.
+
+ 1.3 - For the Software or any Modification You distribute in source code format, You must do so only under the terms of this Agreement, and You must include a complete copy of this Agreement with Your distribution. With respect to any Modification You distribute in source code format, the terms of this Agreement will apply to You in the same way those terms apply to VMware with respect to the Software. In other words, when You are distributing Modifications under this Agreement, You "stand in the shoes" of VMware in terms of the rights You grant and how the terms and conditions apply to You and the licensees of Your Modifications. Notwithstanding the foregoing, when You "stand in the shoes" of VMware, You are not subject to the jurisdiction provision under Section 7, which requires all disputes under this Agreement to be subject to the jurisdiction of federal or state courts of northern California.
+
+ 1.4 - For the Software or any Modification You distribute in compiled or object code format, You must also provide recipients with access to the Software or Modification in source code format along with a complete copy of this Agreement. The distribution of the Software or Modifications in compiled or object code format may be under a license of Your choice, provided that You are in compliance with the terms of this Agreement. In addition, You must make absolutely clear that any license terms applying to such Software or Modification that differ from this Agreement are offered by You alone and not by VMware, and that such license does not restrict recipients from exercising rights in the source code to the Software granted by VMware under this Agreement or rights in the source code to any Modification granted by You as described in Section 1.3.
+
+ 1.5 - This Agreement does not limit Your right to distribute files that are entirely Your own work (i.e., which do not incorporate any portion of the Software and are not Modifications) under any terms You choose.
+
+2. Support
+VMware has no obligation to provide technical support or updates to You. Nothing in this Agreement requires VMware to enter into any license with You for any other edition of the Software.
+
+3. Intellectual Property Rights
+
+ 3.1 - Except for the license expressly granted under copyright in Section 1.1, no rights, licenses or forbearances are granted or may arise in relation to this Agreement whether expressly, by implication, exhaustion, estoppel or otherwise. All rights, including all intellectual property rights, that are not expressly granted under this Agreement are hereby reserved.
+
+ 3.2 - In any copy of the Software or in any Modification you create, You must retain and reproduce, any and all copyright, patent, trademark, and attribution notices that are included in the Software in the same form as they appear in the Software. This includes the preservation of attribution notices in the form of trademarks or logos that exist within a user interface of the Software.
+
+ 3.3 - This license does not grant You rights to use any party's name, logo, or trademarks, except solely as necessary to comply with Section 3.2.
+
+4. Disclaimer of Warranties
+THE SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND. VMWARE MAKES NO WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY REGARDING OR RELATING TO THE SOFTWARE. SPECIFICALLY, VMWARE DOES NOT WARRANT THAT THE SOFTWARE WILL BE ERROR FREE OR WILL PERFORM IN AN UNINTERRUPTED MANNER. TO THE GREATEST EXTENT ALLOWED BY LAW, VMWARE SPECIFICALLY DISCLAIMS ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (EVEN IF VMWARE HAD BEEN INFORMED OF SUCH PURPOSE), AND NONINFRINGEMENT WITH RESPECT TO THE SOFTWARE, ANY MODIFICATIONS THERETO AND WITH RESPECT TO THE USE OF THE FOREGOING.
+
+5. Limitation of Liability
+IN NO EVENT WILL VMWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES OF ANY KIND (INCLUDING WITHOUT LIMITATION LOSS OF PROFITS, LOSS OF USE, BUSINESS INTERRUPTION, LOSS OF DATA, COST OF COVER) IN CONNECTION WITH OR ARISING OUT OF OR RELATING TO THE FURNISHING, PERFORMANCE OR USE OF THE SOFTWARE OR ANY OTHER RIGHTS GRANTED HEREUNDER, WHETHER ALLEGED AS A BREACH OF CONTRACT OR TORTIOUS CONDUCT, INCLUDING NEGLIGENCE, AND EVEN IF VMWARE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+6. Term and Termination
+
+ 6.1 - This Agreement will continue in effect unless and until terminated earlier pursuant to this Section 6.
+
+ 6.2 - In the event You violate the terms of this Agreement, VMware may terminate this Agreement.
+
+ 6.3 - All licenses granted hereunder shall terminate upon the termination of this Agreement. Termination will be in addition to any rights and remedies available to VMware at law or equity or under this Agreement.
+
+ 6.4 - Termination of this Agreement will not affect the provisions regarding reservation of rights (Section 3.1), provisions disclaiming or limiting VMware's liability (Sections 4 and 5), Termination (Section 6) or Miscellaneous (Section 7), which provisions will survive termination of this Agreement.
+
+7. Miscellaneous
+This Agreement contains the entire agreement of the parties with respect to the subject matter of this Agreement and supersedes all previous communications, representations, understandings and agreements, either oral or written, between the parties with respect to said subject matter. The relationship of the parties hereunder is that of independent contractors, and this Agreement will not be construed as creating an agency, partnership, joint venture or any other form of legal association between the parties. If any term, condition, or provision in this Agreement is found to be invalid, unlawful or unenforceable to any extent, this Agreement will be construed in a manner that most closely effectuates the intent of this Agreement. Such invalid term, condition or provision will be severed from the remaining terms, conditions and provisions, which will continue to be valid and enforceable to the fullest extent permitted by law. This Agreement will be interpreted and construed in accordance with the laws of the State of California and the United States of America, without regard to conflict of law principles. The U.N. Convention on Contracts for the International Sale of Goods shall not apply to this Agreement. All disputes arising out of this Agreement involving VMware or any of its subsidiaries shall be subject to the jurisdiction of the federal or state courts of northern California, with venue lying in Santa Clara County, California. No rights may be assigned, no obligations may be delegated, and this Agreement may not be transferred by You, in whole or in part, whether voluntary or by operation of law, including by way of sale of assets, merger or consolidation, without the prior written consent of VMware, and any purported assignment, delegation or transfer without such consent shall be void ab initio. Any waiver of the provisions of this Agreement or of a party's rights or remedies under this Agreement must be in writing to be effective. Failure, neglect or delay by a party to enforce the provisions of this Agreement or its rights or remedies at any time, will not be construed or be deemed to be a waiver of such party's rights under this Agreement and will not in any way affect the validity of the whole or any part of this Agreement or prejudice such party's right to take subsequent action.
\ No newline at end of file
diff --git a/options/license/Zimbra-1.4 b/options/license/Zimbra-1.4
new file mode 100644
index 0000000..098aabb
--- /dev/null
+++ b/options/license/Zimbra-1.4
@@ -0,0 +1,47 @@
+Zimbra Public License, Version 1.4 (ZPL)
+
+This Zimbra Public License (this “Agreement”) is a legal agreement that describes the terms under which Zimbra, Inc., a Texas corporation (“Zimbra”) will provide software to you via download or otherwise (“Software”). By using the Software, you, an individual or an entity (“You”) agree to the terms of this Agreement.
+
+In consideration of the mutual promises and upon the terms and conditions set forth below, the parties agree as follows:
+
+1. Grant of Copyright License
+
+ 1.1 - Subject to the terms and conditions of this Agreement, Zimbra hereby grants to You, under any and all of its copyright interest in and to the Software, a royalty-free, non-exclusive, non-transferable license to copy, modify, compile, execute, and distribute the Software and Modifications. For the purposes of this Agreement, any change to, addition to, or abridgement of the Software made by You is a “Modification;” however, any file You add to the Software that does not contain any part of the Software is not a “Modification.”
+
+ 1.2 - If You are an individual acting on behalf of a corporation or other entity, Your use of the Software or any Modification is subject to Your having the authority to bind such corporation or entity to this Agreement. Providing copies to persons within such corporation or entity is not considered distribution for purposes of this Agreement.
+
+ 1.3 - For the Software or any Modification You distribute in source code format, You must do so only under the terms of this Agreement, and You must include a complete copy of this Agreement with Your distribution. With respect to any Modification You distribute in source code format, the terms of this Agreement will apply to You in the same way those terms apply to Zimbra with respect to the Software. In other words, when You are distributing Modifications under this Agreement, You “stand in the shoes” of Zimbra in terms of the rights You grant and how the terms and conditions apply to You and the licensees of Your Modifications. Notwithstanding the foregoing, when You “stand in the shoes” of Zimbra, You are not subject to the jurisdiction provision under Section 7, which requires all disputes under this Agreement to be subject to the jurisdiction of federal or state courts of Northern Texas.
+
+ 1.4 - For the Software or any Modification You distribute in compiled or object code format, You must also provide recipients with access to the Software or Modification in source code format along with a complete copy of this Agreement. The distribution of the Software or Modifications in compiled or object code format may be under a license of Your choice, provided that You are in compliance with the terms of this Agreement. In addition, You must make absolutely clear that any license terms applying to such Software or Modification that differ from this Agreement are offered by You alone and not by Zimbra, and that such license does not restrict recipients from exercising rights in the source code to the Software granted by Zimbra under this Agreement or rights in the source code to any Modification granted by You as described in Section 1.3.
+
+ 1.5 - This Agreement does not limit Your right to distribute files that are entirely Your own work (i.e., which do not incorporate any portion of the Software and are not Modifications) under any terms You choose.
+
+2. Support
+Zimbra has no obligation to provide technical support or updates to You. Nothing in this Agreement requires Zimbra to enter into any license with You for any other edition of the Software.
+
+3. Intellectual Property Rights
+
+ 3.1 - Except for the license expressly granted under copyright in Section 1.1, no rights, licenses or forbearances are granted or may arise in relation to this Agreement whether expressly, by implication, exhaustion, estoppel or otherwise. All rights, including all intellectual property rights, that are not expressly granted under this Agreement are hereby reserved.
+
+ 3.2 - In any copy of the Software or in any Modification you create, You must retain and reproduce any and all copyright, patent, trademark, and attribution notices that are included in the Software in the same form as they appear in the Software. This includes the preservation of attribution notices in the form of trademarks or logos that exist within a user interface of the Software.
+
+ 3.3 - This license does not grant You rights to use any party’s name, logo, or trademarks, except solely as necessary to comply with Section 3.2.
+
+4. Disclaimer of Warranties
+THE SOFTWARE IS PROVIDED “AS IS” AND WITHOUT WARRANTY OF ANY KIND. ZIMBRA MAKES NO WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, REGARDING OR RELATING TO THE SOFTWARE. SPECIFICALLY, ZIMBRA DOES NOT WARRANT THAT THE SOFTWARE WILL BE ERROR FREE OR WILL PERFORM IN AN UNINTERRUPTED MANNER. TO THE GREATEST EXTENT ALLOWED BY LAW, ZIMBRA SPECIFICALLY DISCLAIMS ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (EVEN IF ZIMBRA HAD BEEN INFORMED OF SUCH PURPOSE), AND NONINFRINGEMENT WITH RESPECT TO THE SOFTWARE, ANY MODIFICATIONS THERETO, AND WITH RESPECT TO THE USE OF THE FOREGOING.
+
+5. Limitation of Liability
+IN NO EVENT WILL ZIMBRA BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES OF ANY KIND (INCLUDING WITHOUT LIMITATION LOSS OF PROFITS, LOSS OF USE, BUSINESS INTERRUPTION, LOSS OF DATA, AND COST OF COVER) IN CONNECTION WITH OR ARISING OUT OF OR RELATING TO THE FURNISHING, PERFORMANCE, OR USE OF THE SOFTWARE OR ANY OTHER RIGHTS GRANTED HEREUNDER, WHETHER ALLEGED AS A BREACH OF CONTRACT OR TORTIOUS CONDUCT, INCLUDING NEGLIGENCE, AND EVEN IF ZIMBRA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+6. Term and Termination
+
+ 6.1 - This Agreement will continue in effect unless and until terminated earlier pursuant to this Section 6.
+
+ 6.2 - In the event You violate the terms of this Agreement, Zimbra may terminate this Agreement.
+
+ 6.3 - All licenses granted hereunder shall terminate upon the termination of this Agreement. Termination will be in addition to any rights and remedies available to Zimbra at law or equity or under this Agreement.
+
+ 6.4 - Termination of this Agreement will not affect the provisions regarding reservation of rights (Section 3.1), provisions disclaiming or limiting Zimbra’s liability (Sections 4 and 5), Termination (Section 6), or Miscellaneous (Section 7), which provisions will survive termination of this Agreement.
+
+7. Miscellaneous
+This Agreement contains the entire agreement of the parties with respect to the subject matter of this Agreement and supersedes all previous communications, representations, understandings, and agreements, either oral or written, between the parties with respect to said subject matter. The relationship of the parties hereunder is that of independent contractors, and this Agreement will not be construed as creating an agency, partnership, joint venture, or any other form of legal association between the parties. If any term, condition, or provision in this Agreement is found to be invalid, unlawful, or unenforceable to any extent, this Agreement will be construed in a manner that most closely effectuates the intent of this Agreement. Such invalid term, condition or provision will be severed from the remaining terms, conditions, and provisions, which will continue to be valid and enforceable to the fullest extent permitted by law. This Agreement will be interpreted and construed in accordance with the laws of the State of Delaware and the United States of America, without regard to conflict of law principles. The U.N. Convention on Contracts for the International Sale of Goods shall not apply to this Agreement. All disputes arising out of this Agreement involving Zimbra or any of its parents or subsidiaries shall be subject to the jurisdiction of the federal or state courts of Northern Texas, with venue lying in Dallas County, Texas. No rights may be assigned, no obligations may be delegated, and this Agreement may not be transferred by You, in whole or in part, whether voluntary or by operation of law, including by way of sale of assets, merger, or consolidation, without the prior written consent of Zimbra, and any purported assignment, delegation, or transfer without such consent shall be void ab initio. Any waiver of the provisions of this Agreement or of a party’s rights or remedies under this Agreement must be in writing to be effective. Failure, neglect, or delay by a party to enforce the provisions of this Agreement or its rights or remedies at any time will not be construed or be deemed to be a waiver of such party’s rights under this Agreement and will not in any way affect the validity of the whole or any part of this Agreement or prejudice such party’s right to take subsequent action.
diff --git a/options/license/Zlib b/options/license/Zlib
new file mode 100644
index 0000000..1c0c9ad
--- /dev/null
+++ b/options/license/Zlib
@@ -0,0 +1,11 @@
+zlib License
+
+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.
diff --git a/options/license/curl b/options/license/curl
new file mode 100644
index 0000000..dd333ab
--- /dev/null
+++ b/options/license/curl
@@ -0,0 +1,10 @@
+COPYRIGHT AND PERMISSION NOTICE
+
+Copyright (c) 1996 - 2015, Daniel Stenberg, .
+All rights reserved.
+
+Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
+
+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 OF THIRD PARTY RIGHTS. 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.
+
+Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder.
diff --git a/options/license/diffmark b/options/license/diffmark
new file mode 100644
index 0000000..02d3b50
--- /dev/null
+++ b/options/license/diffmark
@@ -0,0 +1,2 @@
+1. you can do what you want with it
+2. I refuse any responsibility for the consequences
diff --git a/options/license/dvipdfm b/options/license/dvipdfm
new file mode 100644
index 0000000..b73cb48
--- /dev/null
+++ b/options/license/dvipdfm
@@ -0,0 +1 @@
+A modified version of this file may be distributed, but it should be distributed with a *different* name. Changed files must be distributed *together with a complete and unchanged* distribution of these files.
diff --git a/options/license/eGenix b/options/license/eGenix
new file mode 100644
index 0000000..1593259
--- /dev/null
+++ b/options/license/eGenix
@@ -0,0 +1,40 @@
+EGENIX.COM PUBLIC LICENSE AGREEMENT
+Version 1.1.0
+
+This license agreement is based on the Python CNRI License Agreement, a widely accepted open- source license.
+
+1. Introduction
+This "License Agreement" is between eGenix.com Software, Skills and Services GmbH ("eGenix.com"), having an office at Pastor-Loeh-Str. 48, D-40764 Langenfeld, Germany, and the Individual or Organization ("Licensee") accessing and otherwise using this software in source or binary form and its associated documentation ("the Software").
+
+2. License
+Subject to the terms and conditions of this eGenix.com Public License Agreement, eGenix.com hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use the Software alone or in any derivative version, provided, however, that the eGenix.com Public License Agreement is retained in the Software, or in any derivative version of the Software prepared by Licensee.
+
+3. NO WARRANTY
+eGenix.com is making the Software available to Licensee on an "AS IS" basis. SUBJECT TO ANY STATUTORY WARRANTIES WHICH CAN NOT BE EXCLUDED, EGENIX.COM MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, EGENIX.COM MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
+
+4. LIMITATION OF LIABILITY
+EGENIX.COM SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE EXCLUSION OR LIMITATION MAY NOT APPLY TO LICENSEE.
+
+5. Termination
+This License Agreement will automatically terminate upon a material breach of its terms and conditions.
+
+6. Third Party Rights
+Any software or documentation in source or binary form provided along with the Software that is associated with a separate license agreement is licensed to Licensee under the terms of that license agreement. This License Agreement does not apply to those portions of the Software. Copies of the third party licenses are included in the Software Distribution.
+
+7. General
+Nothing in this License Agreement affects any statutory rights of consumers that cannot be waived or limited by contract.
+
+Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between eGenix.com and Licensee.
+
+If any provision of this License Agreement shall be unlawful, void, or for any reason unenforceable, such provision shall be modified to the extent necessary to render it enforceable without losing its intent, or, if no such modification is possible, be severed from this License Agreement and shall not affect the validity and enforceability of the remaining provisions of this License Agreement.
+
+This License Agreement shall be governed by and interpreted in all respects by the law of Germany, excluding conflict of law provisions. It shall not be governed by the United Nations Convention on Contracts for International Sale of Goods. This License Agreement does not grant permission to use eGenix.com trademarks or trade names in a trademark sense to endorse or promote products or services of Licensee, or any third party.
+
+The controlling language of this License Agreement is English. If Licensee has received a translation into another language, it has been provided for Licensee's convenience only.
+
+8. Agreement
+By downloading, copying, installing or otherwise using the Software, Licensee agrees to be bound by the terms and conditions of this License Agreement. For question regarding this License Agreement, please write to:
+ eGenix.com Software, Skills and Services GmbH
+ Pastor-Loeh-Str. 48
+ D-40764 Langenfeld
+ Germany
\ No newline at end of file
diff --git a/options/license/gSOAP-1.3b b/options/license/gSOAP-1.3b
new file mode 100644
index 0000000..c34dd0e
--- /dev/null
+++ b/options/license/gSOAP-1.3b
@@ -0,0 +1,148 @@
+gSOAP Public License
+
+Version 1.3b
+
+The gSOAP public license is derived from the Mozilla Public License (MPL1.1). The sections that were deleted from the original MPL1.1 text are 1.0.1, 2.1.(c),(d), 2.2.(c),(d), 8.2.(b), 10, and 11. Section 3.8 was added. The modified sections are 2.1.(b), 2.2.(b), 3.2 (simplified), 3.5 (deleted the last sentence), and 3.6 (simplified).
+
+This license applies to the gSOAP software package, with the exception of the soapcpp2 and wsdl2h source code located in gsoap/src and gsoap/wsdl, all code generated by soapcpp2 and wsdl2h, the UDDI source code gsoap/uddi2, and the Web server sample source code samples/webserver. To use any of these software tools and components commercially, a commercial license is required and can be obtained from www.genivia.com.
+
+1 DEFINITIONS.
+
+1.0.1.
+ 1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor.
+
+ 1.3. "Covered Code" means the Original Code, or Modifications or the combination of the Original Code, and Modifications, in each case including portions thereof.
+
+ 1.4. "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data.
+
+ 1.5. "Executable" means Covered Code in any form other than Source Code.
+
+ 1.6. "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A.
+
+ 1.7. "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.
+
+ 1.8. "License" means this document.
+
+ 1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is:
+ A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications.
+ B. Any new file that contains any part of the Original Code, or previous Modifications.
+
+ 1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License.
+
+ 1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
+
+ 1.11. "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge.
+
+ 1.12. "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which 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 SOURCE CODE LICENSE.
+
+2.1. The Initial Developer Grant.
+The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims:
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and
+ (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell ("offer to sell and import") the Original Code, Modifications, or portions thereof, but solely to the extent that any such patent is reasonably necessary to enable You to utilize, alone or in combination with other software, the Original Code, Modifications, or any combination or portions thereof.
+ (c)
+ (d)
+
+2.2. Contributor Grant.
+Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license
+ (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and
+ (b) under patents now or hereafter owned or controlled by Contributor, to make, have made, use and sell ("offer to sell and import") the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to utilize, alone or in combination with other software, the Contributor Version (or portions thereof).
+ (c)
+ (d)
+
+3 DISTRIBUTION OBLIGATIONS.
+
+3.1. Application of License.
+The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5.
+
+3.2. Availability of Source Code.
+Any Modification created by You will be provided to the Initial Developer in Source Code form and are subject to the terms of the License.
+
+3.3. Description of Modifications.
+You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code.
+
+3.4. Intellectual Property Matters.
+ (a) Third Party Claims. If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained.
+
+ (b) Contributor APIs. If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file.
+
+ (c) Representations. Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License.
+
+3.5. Required Notices.
+You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor.
+
+3.6. Distribution of Executable Versions.
+You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. If you distribute executable versions containing Covered Code as part of a product, you must reproduce the notice in Exhibit B in the documentation and/or other materials provided with the product.
+
+3.7. Larger Works.
+You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code.
+
+3.8. Restrictions.
+You may not remove any product identification, copyright, proprietary notices or labels from gSOAP.
+
+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 Code 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 included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. 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 APPLICATION OF THIS LICENSE.
+
+This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code.
+
+6 VERSIONS OF THE LICENSE.
+
+6.1. New Versions.
+Grantor may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number.
+
+6.2. Effect of New Versions.
+Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License.
+
+6.3. Derivative Works.
+If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrase "gSOAP" or any confusingly similar phrase do not appear in your license (except to note that you license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the gSOAP Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.)
+
+7 DISCLAIMER OF WARRANTY.
+
+COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY RIGHTS, AND ANY WARRANTY THAT MAY ARISE BY REASON OF TRADE USAGE, CUSTOM, OR COURSE OF DEALING. WITHOUT LIMITING THE FOREGOING, YOU ACKNOWLEDGE THAT THE SOFTWARE IS PROVIDED "AS IS" AND THAT THE AUTHORS DO NOT WARRANT THE SOFTWARE WILL RUN UNINTERRUPTED OR ERROR FREE. LIMITED LIABILITY THE ENTIRE RISK AS TO RESULTS AND PERFORMANCE OF THE SOFTWARE IS ASSUMED BY YOU. UNDER NO CIRCUMSTANCES WILL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY KIND OR NATURE WHATSOEVER, WHETHER BASED ON CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, ARISING OUT OF OR IN ANY WAY RELATED TO THE SOFTWARE, EVEN IF THE AUTHORS HAVE BEEN ADVISED ON THE POSSIBILITY OF SUCH DAMAGE OR IF SUCH DAMAGE COULD HAVE BEEN REASONABLY FORESEEN, AND NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY EXCLUSIVE REMEDY PROVIDED. SUCH LIMITATION ON DAMAGES INCLUDES, BUT IS NOT LIMITED TO, DAMAGES FOR LOSS OF GOODWILL, LOST PROFITS, LOSS OF DATA OR SOFTWARE, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION OR IMPAIRMENT OF OTHER GOODS. IN NO EVENT WILL THE AUTHORS BE LIABLE FOR THE COSTS OF PROCUREMENT OF SUBSTITUTE SOFTWARE OR SERVICES. YOU ACKNOWLEDGE THAT THIS SOFTWARE IS NOT DESIGNED FOR USE IN ON-LINE EQUIPMENT IN HAZARDOUS ENVIRONMENTS SUCH AS OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR CONTROL, OR LIFE-CRITICAL APPLICATIONS. THE AUTHORS EXPRESSLY DISCLAIM ANY LIABILITY RESULTING FROM USE OF THE SOFTWARE IN ANY SUCH ON-LINE EQUIPMENT IN HAZARDOUS ENVIRONMENTS AND ACCEPTS NO LIABILITY IN RESPECT OF ANY ACTIONS OR CLAIMS BASED ON THE USE OF THE SOFTWARE IN ANY SUCH ON-LINE EQUIPMENT IN HAZARDOUS ENVIRONMENTS BY YOU. FOR PURPOSES OF THIS PARAGRAPH, THE TERM "LIFE-CRITICAL APPLICATION" MEANS AN APPLICATION IN WHICH THE FUNCTIONING OR MALFUNCTIONING OF THE SOFTWARE MAY RESULT DIRECTLY OR INDIRECTLY IN PHYSICAL INJURY OR LOSS OF HUMAN LIFE. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8 TERMINATION.
+
+8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
+
+8.2.
+
+8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license.
+
+8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination.
+
+9 LIMITATION OF LIABILITY.
+
+UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR 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.
+
+10 U.S. GOVERNMENT END USERS.
+
+11 MISCELLANEOUS.
+
+12 RESPONSIBILITY FOR CLAIMS.
+
+As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
+
+EXHIBIT A.
+
+"The contents of this file are subject to the gSOAP Public License Version 1.3 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
+http://www.cs.fsu.edu/ engelen/soaplicense.html
+Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
+The Original Code of the gSOAP Software is: stdsoap.h, stdsoap2.h, stdsoap.c, stdsoap2.c, stdsoap.cpp, stdsoap2.cpp, soapcpp2.h, soapcpp2.c, soapcpp2_lex.l, soapcpp2_yacc.y, error2.h, error2.c, symbol2.c, init2.c, soapdoc2.html, and soapdoc2.pdf, httpget.h, httpget.c, stl.h, stldeque.h, stllist.h, stlvector.h, stlset.h.
+The Initial Developer of the Original Code is Robert A. van Engelen. Portions created by Robert A. van Engelen are Copyright (C) 2001-2004 Robert A. van Engelen, Genivia inc. All Rights Reserved.
+Contributor(s):
+"________________________."
+[Note: The text of this Exhibit A may differ slightly form the text of the notices in the Source Code files of the Original code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.]
+
+EXHIBIT B.
+
+"Part of the software embedded in this product is gSOAP software.
+Portions created by gSOAP are Copyright (C) 2001-2009 Robert A. van Engelen, Genivia inc. All Rights Reserved.
+THE SOFTWARE IN THIS PRODUCT WAS IN PART PROVIDED BY GENIVIA INC AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
\ No newline at end of file
diff --git a/options/license/gnuplot b/options/license/gnuplot
new file mode 100644
index 0000000..7f3e4d5
--- /dev/null
+++ b/options/license/gnuplot
@@ -0,0 +1,14 @@
+Copyright 1986 - 1993, 1998, 2004 Thomas Williams, Colin Kelley
+
+Permission to use, copy, and distribute this software and its documentation for any purpose with or without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation.
+
+Permission to modify the software is granted, but not the right to distribute the complete modified source code. Modifications are to be distributed as patches to the released version. Permission to distribute binaries produced by compiling modified sources is granted, provided you
+
+ 1. distribute the corresponding source modifications from the released version in the form of a patch file along with the binaries,
+ 2. add special version identification to distinguish your version in addition to the base release version number,
+ 3. provide your name and address as the primary contact for the support of your modified version, and
+ 4. retain our contact information in regard to use of the base software.
+
+Permission to distribute the released version of the source code along with corresponding source modifications in the form of a patch file is granted with same provisions 2 through 4 for binary distributions.
+
+This software is provided "as is" without express or implied warranty to the extent permitted by applicable law.
\ No newline at end of file
diff --git a/options/license/iMatix b/options/license/iMatix
new file mode 100644
index 0000000..344bf17
--- /dev/null
+++ b/options/license/iMatix
@@ -0,0 +1,39 @@
+The SFL License Agreement
+
+This license agreement covers your use of the iMatix STANDARD FUNCTION LIBRARY (SFL), its source code, documentation, and executable files, hereinafter referred to as "the Product".
+
+The Product is Copyright (c) 1991-2000 iMatix Corporation. You may use it and distribute it according to this following License Agreement. If you do not agree with these terms, please remove the Product from your system. By incorporating the Product in your work or distributing the Product to others you implicitly agree to these license terms.
+
+Statement Of Copyright
+
+The Product is, and remains, Copyright © 1991-2000 iMatix Corporation, with exception of specific copyrights as noted in the individual source files.
+
+Conditions Of Use
+
+You do not need to provide the source code for the Product as part of your product. However, you must do one of these things to comply with the Product License Agreement:
+
+ 1. Provide the source code for Product modules that you use, or
+ 2. Make your product freely available according to a license similar to the GNU General Public License, or the Perl Artistic License, or
+ 3. Add this phrase to the documentation for your product: "This product uses parts of the iMatix SFL, Copyright © 1991-2000 iMatix Corporation ".
+
+Rights Of Usage
+
+You may freely and at no cost use the Product in any project, commercial, academic, military, or private, so long as you respect the License Agreement. The License Agreement does not affect any software except the Product. In particular, any application that uses the Product does not itself fall under the License Agreement.
+
+You may modify any part of the Product, including sources and documentation, except this License Agreement, which you may not modify.
+
+You must clearly indicate any modifications at the start of each source file. The user of any modified Product code must know that the source file is not original.
+
+At your discretion, you may rewrite or reuse any part of the Product so that your derived code is not obviously part of the Product. This derived code does not fall under the Product License Agreement directly, but you must include a credit at the start of each source file indicating the original authorship and source of the code, and a statement of copyright as follows:
"Parts copyright (c) 1991-2000 iMatix Corporation."
+
+Rights Of Distribution
+
+You may freely distribute the Product, or any subset of the Product, by any means. The License, in the form of the file called "LICENSE.TXT" must accompany any such distribution.
+
+You may charge a fee for distributing the Product, for providing a warranty on the Product, for making modifications to the Product, or for any other service provided in relation to the Product. You are not required to ask our permission for any of these activities.
+
+At no time will iMatix associate itself with any distribution of the Product except that supplied from the Internet site http://www.imatix.com.
+
+Disclaimer Of Warranty
+
+The Product is provided as free software, in the hope that it will be useful. It is provided "as-is", without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the Product is with you. Should the Product prove defective, the full cost of repair, servicing, or correction lies with you.
diff --git a/options/license/libtiff b/options/license/libtiff
new file mode 100644
index 0000000..b11996b
--- /dev/null
+++ b/options/license/libtiff
@@ -0,0 +1,8 @@
+Copyright (c) 1988-1997 Sam Leffler
+Copyright (c) 1991-1997 Silicon Graphics, Inc.
+
+Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that (i) the above copyright notices and this permission notice appear in all copies of the software and related documentation, and (ii) the names of Sam Leffler and Silicon Graphics may not be used in any advertising or publicity relating to the software without the specific, prior written permission of Sam Leffler and Silicon Graphics.
+
+THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/options/license/mpich2 b/options/license/mpich2
new file mode 100644
index 0000000..1776574
--- /dev/null
+++ b/options/license/mpich2
@@ -0,0 +1,18 @@
+COPYRIGHT
+
+The following is a notice of limited availability of the code, and disclaimer which must be included in the prologue of the code and in all source listings of the code.
+
+Copyright Notice
++ 2002 University of Chicago
+
+Permission is hereby granted to use, reproduce, prepare derivative works, and to redistribute to others. This software was authored by:
+
+Argonne National Laboratory Group W. Gropp: (630) 252-4318; FAX: (630) 252-5986; e-mail: gropp@mcs.anl.gov E. Lusk: (630) 252-7852; FAX: (630) 252-5986; e-mail: lusk@mcs.anl.gov Mathematics and Computer Science Division Argonne National Laboratory, Argonne IL 60439
+
+GOVERNMENT LICENSE
+
+Portions of this material resulted from work developed under a U.S. Government Contract and are subject to the following license: the Government is granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable worldwide license in this computer software to reproduce, prepare derivative works, and perform publicly and display publicly.
+
+DISCLAIMER
+
+This computer code material was prepared, in part, as an account of work sponsored by an agency of the United States Government. Neither the United States, nor the University of Chicago, nor any of their employees, makes any warranty express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights.
\ No newline at end of file
diff --git a/options/license/psfrag b/options/license/psfrag
new file mode 100644
index 0000000..8667d59
--- /dev/null
+++ b/options/license/psfrag
@@ -0,0 +1,5 @@
+psfrag.dtx
+Copyright (C) 1996 Craig Barratt, Michael C. Grant, and David Carlisle.
+All rights are reserved.
+
+This system is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Don't come complaining to us if you modify this file and it doesn't work! If this file is modified by anyone but the authors, those changes and their authors must be explicitly stated HERE.
\ No newline at end of file
diff --git a/options/license/psutils b/options/license/psutils
new file mode 100644
index 0000000..a420741
--- /dev/null
+++ b/options/license/psutils
@@ -0,0 +1,29 @@
+PS Utilities Package
+
+The constituent files of this package listed below are copyright (C) 1991-1995 Angus J. C. Duggan.
+
+LICENSE Makefile.msc Makefile.nt Makefile.os2
+Makefile.unix README config.h descrip.mms
+epsffit.c epsffit.man extractres.man extractres.pl
+fixdlsrps.man fixdlsrps.pl fixfmps.man fixfmps.pl
+fixmacps.man fixmacps.pl fixpsditps.man fixpsditps.pl
+fixpspps.man fixpspps.pl fixscribeps.man fixscribeps.pl
+fixtpps.man fixtpps.pl fixwfwps.man fixwfwps.pl
+fixwpps.man fixwpps.pl fixwwps.man fixwwps.pl
+getafm getafm.man includeres.man includeres.pl
+maketext patchlev.h psbook.c psbook.man
+pserror.c pserror.h psmerge.man psmerge.pl
+psnup.c psnup.man psresize.c psresize.man
+psselect.c psselect.man psspec.c psspec.h
+pstops.c pstops.man psutil.c psutil.h
+showchar
+
+They may be copied and used for any purpose (including distribution as part of a for-profit product), provided:
+
+1) The original attribution of the programs is clearly displayed in the product and/or documentation, even if the programs are modified and/or renamed as part of the product.
+
+2) The original source code of the programs is provided free of charge (except for reasonable distribution costs). For a definition of reasonable distribution costs, see the Gnu General Public License or Larry Wall's Artistic License (provided with the Perl 4 kit). The GPL and Artistic License in NO WAY affect this license; they are merely used as examples of the spirit in which it is intended.
+
+3) These programs are provided "as-is". No warranty or guarantee of their fitness for any particular task is provided. Use of these programs is completely at your own risk.
+
+Basically, I don't mind how you use the programs so long as you acknowledge the author, and give people the originals if they want them.
diff --git a/options/license/xinetd b/options/license/xinetd
new file mode 100644
index 0000000..7a1141c
--- /dev/null
+++ b/options/license/xinetd
@@ -0,0 +1,25 @@
+ORIGINAL LICENSE: This software is
+
+(c) Copyright 1992 by Panagiotis Tsirigotis
+
+The author (Panagiotis Tsirigotis) grants permission to use, copy, and distribute this software and its documentation for any purpose and without fee, provided that the above copyright notice extant in files in this distribution is not removed from files included in any redistribution and that this copyright notice is also included in any redistribution.
+
+Modifications to this software may be distributed, either by distributing the modified software or by distributing patches to the original software, under the following additional terms:
+
+1. The version number will be modified as follows:
+ a. The first 3 components of the version number (i.e ..) will remain unchanged.
+ b. A new component will be appended to the version number to indicate the modification level. The form of this component is up to the author of the modifications.
+
+2. The author of the modifications will include his/her name by appending it along with the new version number to this file and will be responsible for any wrong behavior of the modified software.
+
+The author makes no representations about the suitability of this software for any purpose. It is provided "as is" without any express or implied warranty.
+
+Modifications: Version: 2.1.8.7-current Copyright 1998-2001 by Rob Braun
+
+Sensor Addition Version: 2.1.8.9pre14a Copyright 2001 by Steve Grubb
+
+This is an exerpt from an email I recieved from the original author, allowing xinetd as maintained by me (Rob Braun), to use the higher version numbers:
+
+I appreciate your maintaining the version string guidelines as specified in the copyright. But I did not mean them to last as long as they did.
+
+So, if you want, you may use any 2.N.* (N >= 3) version string for future xinetd versions that you release. Note that I am excluding the 2.2.* line; using that would only create confusion. Naming the next release 2.3.0 would put to rest the confusion about 2.2.1 and 2.1.8.*.
\ No newline at end of file
diff --git a/options/license/xpp b/options/license/xpp
new file mode 100644
index 0000000..9606258
--- /dev/null
+++ b/options/license/xpp
@@ -0,0 +1,21 @@
+LICENSE FOR THE Extreme! Lab PullParser
+
+Copyright (c) 2002 The Trustees of Indiana University. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+1) All redistributions of source code must retain the above copyright notice, the list of authors in the original source code, this list of conditions and the disclaimer listed in this license;
+
+2) All redistributions in binary form must reproduce the above copyright notice, this list of conditions and the disclaimer listed in this license in the documentation and/or other materials provided with the distribution;
+
+3) Any documentation included with all redistributions must include the following acknowledgement:
+
+ "This product includes software developed by the Indiana University Extreme! Lab. For further information please visit http://www.extreme.indiana.edu/"
+
+Alternatively, this acknowledgment may appear in the software itself, and wherever such third-party acknowledgments normally appear.
+
+4) The name "Indiana Univeristy" and "Indiana Univeristy Extreme! Lab" shall not be used to endorse or promote products derived from this software without prior written permission from Indiana University. For written permission, please contact http://www.extreme.indiana.edu/.
+
+5) Products derived from this software may not use "Indiana Univeristy" name nor may "Indiana Univeristy" appear in their name, without prior written permission of the Indiana University. Indiana University provides no reassurances that the source code provided does not infringe the patent or any other intellectual property rights of any other entity. Indiana University disclaims any liability to any recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.
+
+LICENSEE UNDERSTANDS THAT SOFTWARE IS PROVIDED "AS IS" FOR WHICH NO WARRANTIES AS TO CAPABILITIES OR ACCURACY ARE MADE. INDIANA UNIVERSITY GIVES NO WARRANTIES AND MAKES NO REPRESENTATION THAT SOFTWARE IS FREE OF INFRINGEMENT OF THIRD PARTY PATENT, COPYRIGHT, OR OTHER PROPRIETARY RIGHTS. INDIANA UNIVERSITY MAKES NO WARRANTIES THAT SOFTWARE IS FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES", "TRAP DOORS", "WORMS", OR OTHER HARMFUL CODE. LICENSEE ASSUMES THE ENTIRE RISK AS TO THE PERFORMANCE OF SOFTWARE AND/OR ASSOCIATED MATERIALS, AND TO THE PERFORMANCE AND VALIDITY OF INFORMATION GENERATED USING SOFTWARE.
\ No newline at end of file
diff --git a/options/license/zlib-acknowledgement b/options/license/zlib-acknowledgement
new file mode 100644
index 0000000..cf95431
--- /dev/null
+++ b/options/license/zlib-acknowledgement
@@ -0,0 +1,15 @@
+Copyright (c) 2002-2007 Charlie Poole
+Copyright (c) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov
+Copyright (c) 2000-2002 Philip A. Craig
+
+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 (see the following) in the product documentation is required.
+
+ Portions Copyright (c) 2002-2007 Charlie Poole or Copyright (c) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov or Copyright (c) 2000-2002 Philip A. Craig
+
+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.
diff --git a/options/locale/locale_bg-BG.ini b/options/locale/locale_bg-BG.ini
index 3abae27..594533b 100644
--- a/options/locale/locale_bg-BG.ini
+++ b/options/locale/locale_bg-BG.ini
@@ -28,7 +28,6 @@ mirror=Огледало
new_repo=Ново хранилище
new_migrate=Нова миграция
new_mirror=Ново огледало
-new_fork=Ново разклонено хранилище
new_org=Нова организация
manage_org=Управление на организации
admin_panel=Административен панел
@@ -37,6 +36,7 @@ settings=Настройки
your_profile=Вашият профил
your_settings=Вашите настройки
+
activities=Активности
pull_requests=Заявки за сливане
issues=Задачи
@@ -45,39 +45,29 @@ cancel=Отказ
[install]
install=Инсталация
-title=Стъпки за инсталиране при първоначално стартиране
-docker_helper=Ако Gitea е стартиран в Docker контейнер, моля прочетете нашите указания внимателно, преди да правите промени по настройките на тази страница!
-requite_db_desc=Gitea изисква MySQL, PostgreSQL, SQLite3 или TiDB.
db_title=Настройки на базата данни
db_type=Тип на база данни
host=Сървър
user=Потребител
password=Парола
db_name=Име на база данни
-db_helper=Моля, използвайте INNODB engine с utf8_general_ci кодиране на знаци за MySQL.
ssl_mode=Режим SSL
path=Път
-sqlite_helper=Файл на SQLite3 или TiDB база данни. Моля използвайте абсолютен път до файл когато стартирате Gitea като услуга.
err_empty_db_path=Пътят до SQLite3 или TiDB база данни не може да е празен.
err_invalid_tidb_name=TiDB не позволява "." и "-" в името на базата данни.
no_admin_and_disable_registration=Невъзможно изключване на регистрациите без предварително да е създаден поне един административен профил.
err_empty_admin_password=Паролата на администратор не може да е празна.
-general_title=Общи настройки на приложението
app_name=Име на приложението
-app_name_helper=Постави името на твоята организация тук - голямо е крещящо!
repo_path=Основен път към хранилищата
-repo_path_helper=Всички отдалечени хранилища на Git ще бъдат съхранени в тази директория.
run_user=Потребителски контекст
run_user_helper=Този потребител трябва да има достъп до основния път към хранилищата и права да стартира Gitea.
domain=Домейн
domain_helper=Тази настройка влияе на URL адреса за клониране чрез SSH.
ssh_port=SSH порт
-ssh_port_helper=Номер на порт на SSH сървъра. Оставете празно за да изключите достъп през SSH.
http_port=HTTP порт
http_port_helper=Порт, на който приложението ще слуша.
app_url=URL адрес на приложението
-app_url_helper=Този настройка променя HTTP/HTTPS адреса за клониране, а понякога и адреса на ел. поща.
log_root_path=Път към журналите
log_root_path_helper=Директория в която се записват журналите.
@@ -85,14 +75,10 @@ optional_title=Опционални настройки
email_title=Настройки на пощенска услуга
smtp_host=SMTP сървър
smtp_from=Подател
-smtp_from_helper=Адрес на подател на поща по RFC 5322. Може да бъде обикновен адрес на ел. поща или във формат "Име" .
-mailer_user=Ел. поща за изпращане
mailer_password=Парола за изпращане
register_confirm=Включи потвърждението на регистрациите
-mail_notify=Включи уведомления по пощата
server_service_title=Настройки на сървъра и други услуги
offline_mode=Включи офлайн режима
-offline_mode_popup=Изключи CDN дори в продукционен режим, всички ресурсни файлове ще бъдат доставяни локално.
disable_gravatar=Изключи връзка с Gravatar
disable_gravatar_popup=Изключва Gravatar и външни източници, така че всички аватари трябва да са или качени от потребителите или да се ползват аватари по подразбиране.
federated_avatar_lookup=Използване на външни аватари
@@ -103,7 +89,6 @@ enable_captcha=Включи Captcha
enable_captcha_popup=Изисква валидиране с captcha при саморегистрация на потребители.
require_sign_in_view=Включи задължително вписване за преглед на страници
require_sign_in_view_popup=Само вписани потребители могат да виждат страниците, анонимните посетители виждат само страниците за регистрация и вход.
-admin_setting_desc=Няма нужда от създаване на администраторски профил в момента, защото потребителят с първо ID в базата автоматично получава администраторски достъп.
admin_title=Настройки на профил на администратора
admin_name=Потребителско име
admin_password=Парола
@@ -111,13 +96,8 @@ confirm_password=Потвърждение на паролата
admin_email=Ел. поща
install_btn_confirm=Инсталирай Gitea
test_git_failed=Неуспешно тестването на "git" команда: %v
-sqlite3_not_available=Вашата версия не поддържа SQLite3, моля, изтеглете официалната двоична версия от %s, а не gobuild версията.
-invalid_db_setting=Настройките на базата данни са некоректни: %v
invalid_repo_path=Основният път към хранилищата е невалиден: %v
-run_user_not_match=Потребителският контекст на приложението не е на текущия потребител: %s -> %s
-save_config_failed=Неуспешно запазване на конфигурация: %v
invalid_admin_setting=Настройките на профил на администратора са невалидни: %v
-install_success=Добре дошли! Радваме се, че избрахте Gitea, и Ви пожелаваме приятна работа и сърдечни поздрави!
invalid_log_root_path=Основният път към журналите е невалиден: %v
[home]
@@ -125,7 +105,6 @@ uname_holder=Име или ел. поща
password_holder=Парола
switch_dashboard_context=Превключи контекст на таблото
my_repos=Моите хранилища
-show_more_repos=Покажи още хранилища...
collaborative_repos=Съвместни хранилища
my_orgs=Моите организации
my_mirrors=Моите огледала
@@ -139,36 +118,23 @@ users=Потребители
search=Търсене
[auth]
-create_new_account=Създай нов профил
register_helper_msg=Вече имате профил? Впишете се сега!
-social_register_helper_msg=Вече имате профил? Свържете се сега!
disable_register_prompt=За съжаление създаването на нови регистрации е изключено. Обърнете се към администратора на сайта.
disable_register_mail=За съжаление потвърждението на регистрации е изключено.
remember_me=Запомни ме
-forgot_password=Забравена парола
-forget_password=Забравена парола?
sign_up_now=Нуждаете се от профил? Регистрирайте се сега.
-confirmation_mail_sent_prompt=Ново писмо за потвърждение е изпратено до %s . Моля проверете пощенската си кутия в рамките на следващите %d часа, за да завършите процеса на регистрация.
active_your_account=Активиране на профил
prohibit_login=Влизане забранено
-prohibit_login_desc=Вашият профил е със забрана за влизане, моля свържете се с администратора.
-resent_limit_prompt=За съжаление Вие съвсем наскоро изпратихте писмо за активация. Моля изчакайте 3 минути, след което опитайте отново.
has_unconfirmed_mail=Здравейте %s, имате непотвърден адрес на ел. поща (%s ). Ако не сте получили писмо за потвърждение или имате нужда да се изпрати ново писмо, моля щракнете бутона по-долу.
resend_mail=Щракнете тук, за да се изпрати ново писмо за потвърждение
-email_not_associate=Този адрес на ел. поща не е свързан с никой профил.
-send_reset_mail=Щракнете тук, за да получите (отново) писмо за нулиране на паролата
reset_password=Нулиране на паролата
-invalid_code=За съжаление Вашия код за потвърждение е изтекъл или е невалиден.
reset_password_helper=Щракнете тук, за да нулирате паролата си
password_too_short=Размерът на паролата не може да бъде по-малък от %d знака.
-non_local_account=Нелокални потребители не могат да сменят паролата си през Gitea.
[mail]
activate_account=Моля активирайте Вашия профил
activate_email=Провери адрес на ел. поща
reset_password=Нулиране на паролата
-register_success=Успешна регистрация и добре дошли
-register_notify=Добре дошли
[modal]
yes=Да
@@ -196,8 +162,6 @@ TreeName=Път до файл
Content=Съдържание
require_error=` не може да бъде празен.`
-alpha_dash_error=` трябва да e валидна буква, число или тире(-_).`
-alpha_dash_dot_error=` трябва да e валидна буква, число, тире(-_) или точка.`
size_error=` трябва да е с размер %s.`
min_size_error=` трябва да съдържа поне %s знака.`
max_size_error=` трябва да съдържа най-много %s знака.`
@@ -205,28 +169,10 @@ email_error=` не е валиден адрес на ел. поща.`
url_error=` не е валиден URL адрес.`
include_error=` трябва да съдържа текст '%s'.`
unknown_error=Неизвестна грешка:
-captcha_incorrect=Captcha не е потвърдена.
-password_not_match=Паролата и потвърждението ѝ не съвпадат.
-username_been_taken=Потребителското име вече се ползва.
-repo_name_been_taken=Името на хранилището вече се ползва.
-org_name_been_taken=Името на организацията вече се ползва.
-team_name_been_taken=Името на екипа вече се ползва.
-email_been_used=Този адрес на ел. поща вече се ползва.
-username_password_incorrect=Потребителското име или паролата не са верни.
-enterred_invalid_repo_name=Моля уверете се, че въведеното име на хранилище е вярно.
-enterred_invalid_owner_name=Моля уверете се, че въведеното име на притежател е вярно.
-enterred_invalid_password=Моля уверете се, че въведената парола е вярна.
-user_not_exist=Даденият потребител не съществува.
-last_org_owner=Премахване на последния потребител от екип притежатели не е позволено, тъй като винаги трябва да има поне един притежател в дадена организация.
-invalid_ssh_key=За съжаление, ние не сме в състояние да проверим Вашия SSH ключ: %s
-unable_verify_ssh_key=Gitea не може да провери Вашия SSH ключ, но предполагаме, че е валиден. Моля, проверете го.
auth_failed=Неуспешно удостоверяване: %v
-still_own_repo=Вашият профил притежава поне едно хранилище. Първо трябва да ги изтриете или да ги прехвърлите на друг потребител.
-still_has_org=Вашият профил все още участва в поне една организация. Първо трябва да напуснете или изтриете Вашите участия в организациите.
-org_still_own_repo=Тази организация все още притежава хранилище. Първо трябва да го изтриете или да го прехвърлите на друга организация.
target_branch_not_exist=Целевият клон не съществува.
@@ -241,14 +187,11 @@ following=Следване
follow=Следване
unfollow=Не следвай
-form.name_reserved=Потребителското име '%s' е запазено.
-form.name_pattern_not_allowed=Потребителското име '%s' не е допустимо.
[settings]
profile=Профил
password=Парола
avatar=Аватар
-ssh_keys=SSH ключове
social=Социални профили
applications=Приложения
orgs=Организации
@@ -256,15 +199,11 @@ delete=Изтрий профил
uid=UID
public_profile=Публичен профил
-profile_desc=Вашият адрес на ел. поща е публичен и ще бъде използван за всички свързани с профила Ви уведомления и всички уеб базирани операции, направени чрез сайта.
-password_username_disabled=Нелокални потребители не могат да променят името си от тук.
full_name=Пълно име
website=Уебсайт
location=Локация
update_profile=Запази профила
-update_profile_success=Вашият профил е запазен успешно.
change_username=Потребителското име е променено
-change_username_prompt=Този промяна ще засегне всички връзки сочещи към профила Ви.
continue=Продължи
cancel=Отказ
@@ -275,15 +214,11 @@ choose_new_avatar=Избор на нов аватар
update_avatar=Запази настройките на аватара
delete_current_avatar=Изтрий аватар
uploaded_avatar_not_a_image=Каченият файл не е изображение.
-update_avatar_success=Настройките на аватара са запазени успешно.
change_password=Промяна на собствената парола
old_password=Текуща парола
new_password=Нова парола
retype_new_password=Повторно новата парола
-password_incorrect=Въведената парола не е вярна.
-change_password_success=Вашата парола е променена успешно. Вече може да влизате, използвайки тази нова парола.
-password_change_disabled=Нелокални потребители не могат да променят паролата си от тук.
emails=Адреси на ел. поща
manage_emails=Управление на адреси на ел. поща
@@ -291,70 +226,50 @@ email_desc=Вашият основен адрес на ел. поща ще се
primary=Основен
primary_email=Задай като основен
delete_email=Изтрий
-email_deletion=Изтрий ел. поща
-email_deletion_desc=При изтриване на тази ел. поща ще се премахне свързаната информация от Вашия профил. Желаете ли да продължите?
email_deletion_success=Ел. пощата беше изтрита успешно!
add_new_email=Добавяне на нов адрес на ел. поща
add_email=Добави ел. поща
-add_email_confirmation_sent=Ново писмо за потвърждение е изпратено до '%s'. Моля проверете пощенската си кутия в рамките на следващите %d часа, за да завършите процеса на регистрация.
add_email_success=Ваш нов адрес на ел. поща е добавен успешно.
manage_ssh_keys=Управление на SSH ключове
add_key=Добави ключ
-ssh_desc=Това е списък на SSH ключове, свързани с Вашия акаунт. Тъй като тези ключове позволяват на всеки, който ги използва да получи достъп до хранилищата Ви, много е важно да се уверите, че ги разпознавате.
-ssh_helper=Не знаете как? Проверете упътването на GitHub за създаване на собствени SSH ключове или погледнете Общи проблеми , които може да възникнат при използване на SSH.
add_new_key=Добавяне на SSH ключ
-ssh_key_been_used=Съдържанието на публичния ключ е използвано.
-ssh_key_name_used=Вече съществува публичен ключ с това име.
key_name=Име на ключа
key_content=Съдържание
-add_key_success=Новият SSH ключ '%s' е добавен успешно!
delete_key=Изтрий
ssh_key_deletion=Изтрий SSH ключ
-ssh_key_deletion_desc=При изтриване на този SSH ключ ще се премахнат свързаните права за достъп за Вашия профил. Желаете ли да продължите?
-ssh_key_deletion_success=SSH ключа беше изтрит успешно!
add_on=Добавен на
last_used=Последно използван на
no_activity=Няма скорошна дейност
-key_state_desc=Този ключ е използван през последните 7 дни
-token_state_desc=Този API ключ е използван през последните 7 дни
manage_social=Управление на свързани профили в социалните мрежи
-social_desc=Това е списък на свързани профили в социалните мрежи. Премахнете всички, които не разпознавате.
unbind=Освобождаване
-unbind_success=Социалния профил е освободен.
manage_access_token=Управление на индивидуални API ключове за достъп
generate_new_token=Генериране на нов API ключ
-tokens_desc=Генерирани API ключове, които могат да се използват за достъп до API на Gitea.
new_token_desc=Всеки API ключ ще има пълен достъп до Вашия профил.
token_name=Име на API ключ
generate_token=Генериране на API ключ
-generate_token_succees=Успешно е генериран API ключ за достъп. Уверете се, че сте го копирали, тъй като няма да можете да го видите отново!
delete_token=Изтрий
access_token_deletion=Изтрий индивидуален API ключ за достъп
-access_token_deletion_desc=При изтриване на този индивидуален API ключ за достъп ще се премахнат всички свързани права на приложението. Желаете ли да продължите?
-delete_token_success=Индивидуалният API ключ за достъп е изтрит успешно! Не забравяйте да преконфигурирате приложението също.
+
+
delete_account=Изтриване на собствения профил
delete_prompt=Тази операция ще изтрие Вашия профил завинаги и тя НЕ МОЖЕ да бъде отменена в последствие!
confirm_delete_account=Потвърди изтриването
delete_account_title=Изтриване на профил
-delete_account_desc=Този профил ще бъде окончателно изтрит. Желаете ли да продължите?
[repo]
owner=Притежател
repo_name=Име на хранилището
-repo_name_helper=Добро име на хранилище е име, състоящо от кратки, запомнящи се и уникални ключови думи.
visibility=Видимост
visiblity_helper=Това хранилище е Частно
-visiblity_helper_forced=Административна настройка задължава всички нови хранилища да бъдат Частни
visiblity_fork_helper=(Промяна на тази стойност ще се отрази на всички разклонения)
clone_helper=Нуждаете се от помощ при клониране? Посетете Помощ !
fork_repo=Разклони хранилището
fork_from=Разклонение от
-fork_visiblity_helper=Не може да променяте видимостта на разклонено хранилище.
repo_desc=Описание
repo_lang=Програмен език
repo_gitignore_helper=Избор на .gitignore шаблони
@@ -365,18 +280,12 @@ auto_init=Инициализиране на това хранилище с из
create_repo=Създай хранилище
default_branch=Клон по подразбиране
mirror_prune=Окастряне
-mirror_prune_desc=Премахва всички препратки за отдалечено проследяване, които не съществуват отдалечено
-mirror_interval=Интервал на отразяване (часове)
mirror_address=Адрес на огледало
-mirror_address_desc=Моля включете потребител и парола в адреса ако са нужни.
mirror_last_synced=Последна синхр.
watchers=Наблюдаващи
stargazers=Харесващи
forks=Разклонения
-form.reach_limit_of_creation=Притежателят е достигнал настроения лимит от %d брой хранилища.
-form.name_reserved=Името на хранилището '%s' е запазено.
-form.name_pattern_not_allowed=Име на хранилището от вида '%s' не е позволено.
need_auth=Изисква потребител и парола
migrate_type=Тип мигриране
@@ -403,9 +312,6 @@ fork=Разклонения
no_desc=Няма описание
quick_guide=Бърз справочник
clone_this_repo=Клонирай хранилището
-create_new_repo_command=Създай ново хранилище чрез командния ред
-push_exist_repo=Предай съществуващо хранилище през командния ред
-repo_is_empty=Това хранилище е празно. Моля проверете по-късно пак!
code=Код
branch=Клон
@@ -429,7 +335,6 @@ editor.new_file=Нов файл
editor.upload_file=Качи файл
editor.edit_file=Редактирай файл
editor.preview_changes=Преглед на промени
-editor.cannot_edit_non_text_files=Невъзможна редакция на нетекстови файлове
editor.edit_this_file=Редактирай този файл
editor.must_be_on_a_branch=Трябва да сте избрали клон за да предложите промени в този файл
editor.fork_before_edit=Първо трябва да разклоните хранилището преди да редактирате файл
@@ -455,7 +360,6 @@ editor.branch_already_exists=Клон '%s' вече съществува в то
editor.directory_is_a_file=Частта '%s' в пътя е файл, не директория в това хранилище.
editor.filename_is_a_directory=Име '%s' вече съществува като директория в това хранилище.
editor.file_editing_no_longer_exists=Файл '%s' който редактирате вече не съществува в това хранилище.
-editor.file_changed_while_editing=Съдържанието на файла е било променено докато правихте редакциите. Щракнете тук за да прегледате какво е променено или натиснете Запис на ревизия отново за да презапишете чуждите промени.
editor.file_already_exists=Файл с име '%s' вече съществува в това хранилище.
editor.no_changes_to_show=Няма промени.
editor.fail_to_update_file=Невъзможно модифициране/създаване на файл '%s' заради грешка: %v
@@ -465,13 +369,13 @@ editor.upload_files_to_dir=Качи файлове в '%s'
commits.commits=Ревизии
commits.search=Търсене в ревизии
-commits.find=Намери
commits.author=Автор
commits.message=Съобщение
commits.date=Дата
commits.older=По-стари
commits.newer=По-нови
+
issues.new=Нова задача
issues.new.labels=Етикети
issues.new.no_label=Няма етикет
@@ -489,7 +393,6 @@ issues.new_label=Нов етикет
issues.new_label_placeholder=Име на етикета...
issues.create_label=Създай етикет
issues.label_templates.title=Зареждане на предварително зададен набор от етикети
-issues.label_templates.info=Липсват етикети все още. Можете да щракнете върху "Нов етикет" по-горе, за да създадете нов или да изберете предварително зададени набори от по-долу.
issues.label_templates.helper=Изберете набор етикети
issues.label_templates.use=Използвай този набор етикети
issues.label_templates.fail_to_load_file=Неуспешно зареждане на шаблон с етикети '%s': %v
@@ -546,8 +449,6 @@ issues.label_edit=Редакция
issues.label_delete=Изтрий
issues.label_modify=Промяна на етикет
issues.label_deletion=Изтрий етикет
-issues.label_deletion_desc=При изтриване на този етикет ще се премахне информацията за него във всички свързани задачи. Желаете ли да продължите?
-issues.label_deletion_success=Етикетът е изтрит успешно!
issues.num_participants=%d участника
issues.attachment.open_tab=`Щракнете за да прегледате "%s" в нов раздел`
issues.attachment.download=`Щракнете за да изтеглите "%s"`
@@ -567,16 +468,12 @@ pulls.merged_title_desc=обедини %[1]d ревизии от %[2]s"%s". Моля, бъдете сигурни.
wiki.page_already_exists=Страница със същото име вече съществува.
wiki.pages=Страници
wiki.last_updated=Последна модификация на %s
@@ -632,7 +524,6 @@ settings.githooks=Git куки
settings.basic_settings=Основни настройки
settings.mirror_settings=Настройки на огледало
settings.sync_mirror=Синхр. сега
-settings.mirror_sync_in_progress=Синхронизация на огледалото е в ход, моля обновете страницата след минута.
settings.site=Официален сайт
settings.update_settings=Запази настройките
settings.advanced_settings=Разширени настройки
@@ -653,29 +544,18 @@ settings.pulls_desc=Включва заявки за сливане за да м
settings.danger_zone=Опасна зона
settings.new_owner_has_same_repo=Новият притежател вече има хранилище със същото име. Изберете друго име.
settings.convert=Промени към редовно хранилище
-settings.convert_desc=Можете да промените това огледало към редовно хранилище. Конверсията не може да се отмени.
settings.convert_notices_1=- Тази операция ще конвертира огледалото към редовно хранилище и не може да бъде отменена в последствие.
settings.convert_confirm=Потвърдете конверсията
-settings.convert_succeed=Конверсията към редовно хранилище е извършена успешно.
settings.transfer=Прехвърли притежание
settings.transfer_desc=Прехвърля това хранилище на друг потребител или към организация, в която имате права на администратор.
-settings.transfer_notices_1=- Вие ще загубите достъп, ако новият притежател е индивидуален потребител.
-settings.transfer_notices_2=- Вие ще запазите достъпа си, ако новият притежател е организация и ако вие сте един от притежателите ѝ.
-settings.transfer_form_title=Моля въведете следната информация за да потвърдите операцията:
settings.wiki_delete=Изтриване на данни на уики
settings.wiki_delete_desc=След като изтриете данни за уики, няма връщане назад. Моля, бъдете сигурни.
settings.wiki_delete_notices_1=- Това ще изтрие и ще деактивира уики за %s
-settings.wiki_deletion_success=Данните за уики на това хранилище са изтрити успешно.
settings.delete=Изтрий това хранилище
settings.delete_desc=След като изтриете хранилището, няма връщане назад. Моля, бъдете сигурни.
settings.delete_notices_1=- Тази операция НЕ МОЖЕ да бъде отменена в последствие.
-settings.delete_notices_2=- Тази операция ще изтрие всичко от това хранилище, включително Git данни, задачи, коментари и достъпа на сътрудници.
-settings.delete_notices_fork_1=- Всички разклонения ще станат независими след изтриването.
-settings.deletion_success=Хранилището е изтрито успешно!
-settings.update_settings_success=Настройките на хранилището са запазени успешно.
settings.transfer_owner=Нов притежател
settings.make_transfer=Прехвърли
-settings.transfer_succeed=Притежанието на хранилището е прехвърлено успешно.
settings.confirm_delete=Потвърди изтриването
settings.add_collaborator=Добави нов сътрудник
settings.add_collaborator_success=Добавен е нов сътрудник.
@@ -687,13 +567,10 @@ settings.search_user_placeholder=Име на потребител...
settings.org_not_allowed_to_be_collaborator=Невъзможно добавяне на организация като сътрудник.
settings.user_is_org_member=Потребителят вече участва в организацията и не може да бъде добавен като сътрудник.
settings.add_webhook=Добави уеб-кука
-settings.hooks_desc=Уеб-куките много приличат на обикновен HTTP POST тригер. Когато нещо се случи в Gitea, ние ще изпратим уведомление до сървъра, който посочите. Научете повече в Ръководство за уеб-куки .
settings.webhook_deletion=Изтрий уеб-кука
-settings.webhook_deletion_desc=При изтриване на тази уеб-кука ще се премахне информацията за нея и цялата хронология на нейното изпращане. Желаете ли да продължите?
settings.webhook_deletion_success=Уеб-куката е изтрита успешно!
settings.webhook.test_delivery=Тестово изпращане
settings.webhook.test_delivery_desc=Симулира тестово изпращане за тест на настройките на уеб-куката
-settings.webhook.test_delivery_success=Тестовата уеб-кука е добавена в опашката за изпращане. Може да отнеме няколко секунди преди да се появи в историята с доставени.
settings.webhook.request=Заявка
settings.webhook.response=Отговор
settings.webhook.headers=Заглавки
@@ -704,7 +581,6 @@ settings.githook_edit_desc=Ако куката е неактивна, ще бъ
settings.githook_name=Име на куката
settings.githook_content=Съдържание на куката
settings.update_githook=Запази куката
-settings.add_webhook_desc=Gitea ще изпрати POST заявка към указания URL адрес заедно с информация за събитието, което е настъпило. Също можете да укажете в какъв формат желаете да получите данните при задействане на куката (JSON, x-www-form-urlencoded, XML) и др. Допълнително описание можете да намерите в нашето Ръководство за уеб-куки .
settings.payload_url=URL адрес на изпращане
settings.content_type=Тип на съдържанието
settings.secret=Тайна
@@ -722,7 +598,6 @@ settings.event_pull_request_desc=Заявка за сливане е отвор
settings.event_push=Предаване
settings.event_push_desc=Git предаване към хранилището
settings.active=Активна
-settings.active_helper=Подробности относно събитието, което е задействало куката, също ще бъдат изпратени.
settings.add_hook_success=Новата уеб-кука е добавена успешно.
settings.update_webhook=Запази уеб-куката
settings.update_hook_success=Уеб-куката е запазена успешно.
@@ -743,13 +618,10 @@ settings.key_been_used=Съдържанието на ключа за внедр
settings.key_name_used=Ключ за внедряване с такова име вече съществува.
settings.add_key_success=Новият ключ за внедряване '%s' е добавен успешно!
settings.deploy_key_deletion=Изтрий ключ за внедряване
-settings.deploy_key_deletion_desc=При изтриването на този ключ за внедряване ще се премахнат свързаните права за достъп до това хранилище. Желаете ли да продължите?
-settings.deploy_key_deletion_success=Ключът за внедряване е изтрит успешно!
diff.browse_source=Преглед на файлове
diff.parent=родител
diff.commit=ревизия
-diff.data_not_available=Няма данни за разлики.
diff.show_diff_stats=Покажи статистика за разликите
diff.show_split_view=Разделен изглед
diff.show_unified_view=Обединен изглед
@@ -766,11 +638,8 @@ release.stable=Стабилни
release.edit=редактиране
release.ahead=%d ревизии на %s след тази версия
release.source_code=Изходен код
-release.new_subheader=Публикувайте версия на всяка нова итерация.
-release.edit_subheader=Подробният журнал на промените ще помогне на потребителите да разберат какви подобрения са направени.
release.tag_name=Име на маркера
release.target=Цел
-release.tag_helper=Изберете съществуващ маркер или създайте нов маркер по време на публикуване.
release.title=Заглавие
release.content=Съдържание
release.write=Редактор
@@ -784,8 +653,6 @@ release.save_draft=Запис на чернова
release.edit_release=Редактирай версия
release.delete_release=Изтриване на тази версия
release.deletion=Изтрий версията
-release.deletion_desc=При изтриване на тази версия ще се премахне и съответния Git маркер. Желаете ли да продължите?
-release.deletion_success=Версията беше изтрита успешно!
release.tag_name_already_exist=Версия с това име на маркер вече съществува.
release.tag_name_invalid=Името на етикета е невалидно.
release.downloads=Изтегляния
@@ -806,9 +673,6 @@ create_new_team=Създай нов екип
org_desc=Описание
team_name=Име на екипа
team_desc=Описание
-team_name_helper=Ще използвате това име при споменаване на този екип в разговори.
-team_desc_helper=Каква е целта на този екип?
-team_permission_desc=Какво ниво на достъп трябва да има този екип?
form.name_reserved=Името на организацията '%s' е запазено.
form.name_pattern_not_allowed=Име на организацията от вида '%s' не е разрешено.
@@ -819,16 +683,11 @@ settings.full_name=Пълно име
settings.website=Уебсайт
settings.location=Локация
settings.update_settings=Запази настройките
-settings.update_setting_success=Настройките на организацията са запазени успешно.
-settings.change_orgname_prompt=Този промяна ще засегне всички връзки сочещи към организацията.
-settings.update_avatar_success=Настройките на аватара на организацията са запазени успешно.
settings.delete=Изтрий организацията
settings.delete_account=Изтриване на тази организация
settings.delete_prompt=Организацията ще бъде изтрита и операцията НЕ МОЖЕ да бъде отменена в последствие!
settings.confirm_delete_account=Потвърди изтриването
settings.delete_org_title=Изтрий организацията
-settings.delete_org_desc=Тази организация ще бъде окончателно изтрита. Желаете ли да продължите?
-settings.hooks_desc=Добави уеб-куки, които ще бъдат използвани от всички хранилища в тази организация.
members.membership_visibility=Видимост:
members.public=Публични
@@ -848,9 +707,7 @@ teams.leave=Напусни
teams.read_access=Достъп за четене
teams.read_access_helper=Този екип ще може да вижда и клонира своите хранилища.
teams.write_access=Достъп за запис
-teams.write_access_helper=Този екип ще може да чете своите хранилища и ще може да предава към тях.
teams.admin_access=Администраторски достъп
-teams.admin_access_helper=Този екип ще може да добавя код, данни и нови сътрудници в своите хранилища.
teams.no_desc=Този екип няма описание
teams.settings=Настройки
teams.owners_permission_desc=Притежателите имат пълен достъп до всички хранилища и имат права на администратори на организацията.
@@ -859,8 +716,6 @@ teams.update_settings=Запази настройките
teams.delete_team=Изтриване на този екип
teams.add_team_member=Добави участник в екипа
teams.delete_team_title=Изтрий екипа
-teams.delete_team_desc=Тъй като този екип ще бъдат изтрит, участниците му може да загубят достъп до някои хранилища. Желаете ли да продължите?
-teams.delete_team_success=Този екип е бил изтрит успешно.
teams.read_permission_desc=Този екип предоставя достъп за четене : участниците могат да разглеждат и клонират хранилищата на този екип.
teams.write_permission_desc=Този екип предоставя достъп за писане : участниците могат да четат от и да предават към хранилищата на този екип.
teams.admin_permission_desc=Този екип предоставя администраторски достъп: участниците могат да четат от, да предават към и да добавя нови сътрудници към хранилищата на този екип.
@@ -890,23 +745,8 @@ dashboard.statistic_info=Gitea базата данни има %d потр
dashboard.operation_name=Име на операцията
dashboard.operation_switch=Превключи
dashboard.operation_run=Изпълни
-dashboard.clean_unbind_oauth=Почисти несвързани OAuthes
-dashboard.clean_unbind_oauth_success=Всички несвързани OAuthes са изтрити успешно.
dashboard.delete_inactivate_accounts=Изтрий всички неактивни профили
-dashboard.delete_inactivate_accounts_success=Всички неактивни профили са изтрити успешно.
dashboard.delete_repo_archives=Изтрий всички архиви на хранилища
-dashboard.delete_repo_archives_success=Всички архиви на хранилищата са изтрити успешно.
-dashboard.delete_missing_repos=Изтрий всички записи за хранилища, за които липсват Git файлове
-dashboard.delete_missing_repos_success=Всички записи за хранилища, за които липсват съответни Git файлове са изтрити успешно.
-dashboard.git_gc_repos=Почисти изтрити данни в хранилищата
-dashboard.git_gc_repos_success=Всички хранилища са почистени от изтрити данни успешно.
-dashboard.resync_all_sshkeys=Презапис на ".ssh/authorized_keys" файл (внимание: не-Gitea ключове ще бъдат загубени)
-dashboard.resync_all_sshkeys_success=Всички публични ключове са презаписани успешно.
-dashboard.resync_all_update_hooks=Презапис на всички куки, закачени на актуализация на хранилищата (необходимо, когато се ползва собствен път за конфигурацията)
-dashboard.resync_all_update_hooks_success=Всички куки, закачени на актуализация на хранилищата, са презаписани успешно.
-dashboard.reinit_missing_repos=Реинициализира всички записи за хранилища
-dashboard.reinit_missing_repos_success=Всички записи за хранилища със загубени Git файлове са реинициализирани успешно.
-
dashboard.server_uptime=Операционно време
dashboard.current_goroutine=Текущи Goroutines
dashboard.current_memory_usage=Текущо използвана памет
@@ -937,7 +777,6 @@ dashboard.total_gc_pause=Общо пауза за GC
dashboard.last_gc_pause=Последна пауза за GC
dashboard.gc_times=Брой GC
-users.user_manage_panel=Управление на потребителя
users.new_account=Създай нов профил
users.name=Име
users.activated=Активиран
@@ -945,33 +784,23 @@ users.admin=Администратор
users.repos=Хранилища
users.created=Създаване
users.send_register_notify=Прати уведомление на потребителя при регистрация
-users.new_success=Новият профил '%s' е добавен успешно.
users.edit=Редакция
users.auth_source=Начин на удостоверяване
users.local=Локално
users.auth_login_name=Потребителско име за вход
users.password_helper=Оставете празна ако не се променя.
-users.update_profile_success=Профилът е запазен успешно.
users.edit_account=Редактирай профил
users.max_repo_creation=Макс. брой хранилища
users.max_repo_creation_desc=(Задайте -1 за да се използва глобалния лимит)
-users.is_activated=Този профил е активиран
-users.prohibit_login=Този профил има забрана за влизане
users.is_admin=Този профил има административни права
-users.allow_git_hook=Този профил има разрешение да създава Git куки
users.allow_import_local=Този профил има права за импорт на локални хранилища
users.update_profile=Запази профила
users.delete_account=Изтрий този профил
-users.still_own_repo=Този профил притежава поне едно хранилище. Първо трябва да изтриете хранилището или да го прехвърлите на друг потребител.
-users.still_has_org=Този профил участва в поне една организация. Първо трябва да напуснете или изтриете тези организации.
-users.deletion_success=Профилът е изтрит успешно!
-orgs.org_manage_panel=Управление на организацията
orgs.name=Име
orgs.teams=Екипи
orgs.members=Участници
-repos.repo_manage_panel=Управление на хранилището
repos.owner=Притежател
repos.name=Име
repos.private=Частно
@@ -979,7 +808,6 @@ repos.watches=Наблюдавания
repos.stars=Харесвания
repos.issues=Задачи
-auths.auth_manage_panel=Управление на удостоверявания
auths.new=Добави нов начин на удостоверяване
auths.name=Име
auths.type=Тип
@@ -993,7 +821,6 @@ auths.host=Сървър
auths.port=Порт
auths.bind_dn=Име (DN) за свръзка
auths.bind_password=Парола за свръзка
-auths.bind_password_helper=Внимание: Тази парола се запазва некриптирана. Моля използвайте потребител, който няма административен достъп.
auths.user_base=Базов OU за търсене
auths.user_dn=Име (DN) на потребител
auths.attribute_username=Атрибут за име
@@ -1008,21 +835,12 @@ auths.smtp_auth=SMTP удостоверяване
auths.smtphost=SMTP сървър
auths.smtpport=SMTP порт
auths.allowed_domains=Разрешени домейни
-auths.allowed_domains_helper=Оставете празно за да не се ограничават домейните. За множество домейни използвайте запетая за разделител.
auths.enable_tls=Включи TLS криптиране
auths.skip_tls_verify=Пропусни проверка на TLS сертификат
auths.pam_service_name=Име на PAM услуга
auths.enable_auto_register=Включи автоматична регистрация
auths.tips=Съвети
-auths.edit=Редактирай настройки за удостоверяване
auths.activated=Това удостоверяване е активно
-auths.new_success=Новото удостоверяване '%s' е добавено успешно.
-auths.update_success=Настройките за удостоверяване са запазени успешно.
-auths.update=Запази настройки за удостоверяване
-auths.delete=Изтриване на това удостоверяване
-auths.delete_auth_title=Изтрий удостоверяването
-auths.delete_auth_desc=Това удостоверяване ще бъде изтрито. Желаете ли да продължите?
-auths.still_in_used=Това удостоверяване все още се използва от някои потребители. Моля изтрийте ги или ги конвертирайте до друг тип на влизане първо.
auths.deletion_success=Удостоверяването е изтрито успешно!
config.server_config=Сървърни настройки
@@ -1042,7 +860,6 @@ config.reverse_auth_user=Потребителско име при обратно
config.ssh_config=SSH конфигурация
config.ssh_enabled=Активен
-config.ssh_start_builtin_server=Стартирай вграден сървър
config.ssh_domain=Домейн
config.ssh_port=Порт
config.ssh_listen_port=Порт за слушане
@@ -1071,12 +888,10 @@ config.mail_notify=Уведомяване по ел. поща
config.disable_key_size_check=Изключи проверка минимален размер на ключ
config.enable_captcha=Включи Captcha
config.active_code_lives=Кодове за активиране
-config.reset_password_code_lives=Кодове за изчистване на парола
config.webhook_config=Конфигурация на уеб-куки
config.queue_length=Дължина на опашка
config.deliver_timeout=Време за отказ при изпращане
-config.skip_tls_verify=Пропусни проверка на TLS
config.mailer_config=Конфигурация на мейлър
config.mailer_enabled=Активен
@@ -1085,7 +900,6 @@ config.mailer_name=Име
config.mailer_host=Сървър
config.mailer_user=Потребител
config.send_test_mail=Изпрати тестово писмо
-config.test_mail_failed=Невъзможно изпращане на тестово писмо до '%s': %v
config.test_mail_sent=Тестово писмо беше изпратено до '%s'.
config.oauth_config=OAuth конфигурация
@@ -1138,7 +952,6 @@ monitor.start=Начален час
monitor.execute_time=Време за изпълнение
notices.system_notice_list=Системни известия
-notices.view_detail_header=Преглед на детайли на съобщение
notices.actions=Действия
notices.select_all=Избери всички
notices.deselect_all=Без избрани
@@ -1149,7 +962,6 @@ notices.type=Тип
notices.type_1=Хранилище
notices.desc=Описание
notices.op=Oп.
-notices.delete_success=Системните съобщения са изтрити успешно.
[action]
create_repo=създаде хранилище %s
@@ -1165,34 +977,35 @@ comment_issue=`коментира задача %s#%[2]s"<
merge_pull_request=`обедини заявка за сливане %s#%[2]s `
transfer_repo=прехвърли хранилище %s към %s
push_tag=предаде маркер %[2]s към [3]s
-compare_commits=Сравнение между тези %d ревизии
[tool]
-ago=преди
-from_now=след
+ago=преди %s
+from_now=след %s
now=сега
-1s=%s 1 секунда
-1m=%s 1 минута
-1h=%s 1 час
-1d=%s 1 ден
-1w=%s 1 седмица
-1mon=%s 1 месец
-1y=%s 1 година
-seconds=%[2]s %[1]d секунди
-minutes=%[2]s %[1]d минути
-hours=%[2]s %[1]d часа
-days=%[2]s %[1]d дни
-weeks=%[2]s %[1]d седмици
-months=%[2]s %[1]d месеца
-years=%[2]s %[1]d години
+1s=1 секунда
+1m=1 минута
+1h=1 час
+1d=1 ден
+1w=1 седмица
+1mon=1 месец
+1y=1 година
+seconds=%d секунди
+minutes=%d минути
+hours=%d часа
+days=%d дни
+weeks=%d седмици
+months=%d месеца
+years=%d години
raw_seconds=секунди
raw_minutes=минути
[dropzone]
-default_message=Тук пуснете файлове с влачене или просто щракнете за избор на файл за качване.
invalid_input_type=Невъзможно качване на файловете от този тип.
-file_too_big=Размер на файла ({{filesize}} MB) надвишава максималния размер ({{maxFilesize}} MB).
remove_file=Премахни файл
[notification]
+[gpg]
+
+[units]
+
diff --git a/options/locale/locale_cs-CZ.ini b/options/locale/locale_cs-CZ.ini
index d632b58..bfcf37a 100644
--- a/options/locale/locale_cs-CZ.ini
+++ b/options/locale/locale_cs-CZ.ini
@@ -29,7 +29,6 @@ mirror=Zrcadlo
new_repo=Nový repozitář
new_migrate=Nová migrace
new_mirror=Nové zrcadlo
-new_fork=Nový repositář rozštěpení
new_org=Nová organizace
manage_org=Spravovat organizace
admin_panel=Panel správce
@@ -38,6 +37,7 @@ settings=Nastavení
your_profile=Váš profil
your_settings=Vaše nastavení
+
activities=Aktivity
pull_requests=Požadavek na natažení
issues=Úkoly
@@ -46,39 +46,29 @@ cancel=Zrušit
[install]
install=Instalace
-title=Kroky instalace pro první běh
-docker_helper=Spouštíte-li Gitea uvnitř Dockeru, přečtěte si prosím pečlivě návod , než něco změníte na této stránce!
-requite_db_desc=Gitea vyžaduje MySQL, PostgreSQL, SQLite3 nebo TiDB.
db_title=Nastavení databáze
db_type=Typ databáze
host=Hostitel
user=Uživatel
password=Heslo
db_name=Název databáze
-db_helper=Prosíme, pro MySQL použijte INNODB engine se znakovou sadou utf8_general_ci.
ssl_mode=SSL Mód
path=Cesta
-sqlite_helper=Cesta k souboru s SQLite3 nebo TiDB databází. Prosíme, použijte absolutní cestu, když startujete službu.
err_empty_db_path=Cesty k databázovým souborům SQLite3 nebo TiDB nemohou být prázdné.
err_invalid_tidb_name=Název databáze TiDB nemůže obsahovat znaky "." a "-".
no_admin_and_disable_registration=Nemůžete vypnout registraci účtů bez vytvoření účtu správce.
err_empty_admin_password=Heslo správce nemůže být prázdné.
-general_title=Obecné nastavení aplikace
app_name=Název aplikace
-app_name_helper=Zde zadejte název vaší organizace velkým a tučným písmem!
repo_path=Kořenový adresář repositářů
-repo_path_helper=Všechny vzdálené repositáře Gitu budou uloženy do tohoto adresáře.
run_user=Účet pro spouštění
run_user_helper=Tento uživatel musí mít přístup do kořenového adresáře repositářů a právo spustit Gitea.
domain=Doména
domain_helper=Toto ovlivňuje URL klonů skrze SSH.
ssh_port=Port SSH
-ssh_port_helper=Číslo portu, které používá váš SSH server. Nechte jej prázdné pro vypnutí používání SSH.
http_port=Port HTTP
http_port_helper=Číslo portu, na kterém aplikace naslouchá.
app_url=URL aplikace
-app_url_helper=Toto ovlivňuje URL klonů skrze HTTP/HTTPS a odkazů v e-mailech.
log_root_path=Adresář logů
log_root_path_helper=Adresář, kam se budou zapisovat logy.
@@ -86,14 +76,10 @@ optional_title=Dodatečná nastavení
email_title=Nastavení e-mailové služby
smtp_host=Server SMTP
smtp_from=Od
-smtp_from_helper=E-mailová adresa podle RFC 5322. Může být zadána pouze e-mailová adresa nebo adresa ve formátu "Name" .
-mailer_user=E-mailová adresa odesílatele
mailer_password=Heslo
register_confirm=Povolit potvrzení registrace
-mail_notify=Povolit upozornění e-mailem
server_service_title=Nastavení serveru a ostatních služeb
offline_mode=Zapnout režim offline
-offline_mode_popup=Vypnout síť doručování obsahu (CDN) i v produkčním režimu, vše bude obslouženo místně.
disable_gravatar=Vypnout službu Gravatar
disable_gravatar_popup=Vypnout službu Gravatar a ostatní zdroje. Všechny ikony uživatelů budou nahrány uživateli nebo výchozí.
federated_avatar_lookup=Povolit vyhledání avatarů z veřejných zdrojů
@@ -104,7 +90,6 @@ enable_captcha=Povolit službu CAPTCHA
enable_captcha_popup=Vyžadovat správně zadaný text CAPTCHA při registraci.
require_sign_in_view=Zapnout nutnost přihlášení pro zobrazení stránek
require_sign_in_view_popup=Stránky budou zobrazeny pouze přihlášeným uživatelům, ostatní návštěvníci uvidí pouze přihlašovací a registrační formulář.
-admin_setting_desc=Nemusíte teď hned vytváře správce, kterýkoliv uživatel s ID=1 dostane automaticky správcovský přístup.
admin_title=Nastavení účtu správce
admin_name=Uživatelské jméno
admin_password=Heslo
@@ -112,13 +97,8 @@ confirm_password=Potvrdit heslo
admin_email=E-mailová adresa správce
install_btn_confirm=Nainstalovat Gitea
test_git_failed=Chyba při testu příkazu 'git': %v
-sqlite3_not_available=Vaše verze vydání Gitea nepodporuje SQLite3, prosíme stáhněte si oficiální binární balíček z %s, ne gobuild verzi.
-invalid_db_setting=Nastavení databáze není správné: %v
invalid_repo_path=Kořenový adresář repositáře není správný: %v
-run_user_not_match=Uživatel pro spuštění není aktuální uživatel: %s -> %s
-save_config_failed=Uložení konfigurace se nezdařilo: %v
invalid_admin_setting=Nastavení účtu správce není správné: %v
-install_success=Vítejte! Jsme rádi, že jste si vybrali Gitea. Bavte se a opatrujte se.
invalid_log_root_path=Kořenový adresář logů není správný: %v
[home]
@@ -126,7 +106,6 @@ uname_holder=Uživatelské jméno nebo e-mailová adresa
password_holder=Heslo
switch_dashboard_context=Přepnout kontext přehledu
my_repos=Mé repositáře
-show_more_repos=Zobrazit více repositářů...
collaborative_repos=Společné repositáře
my_orgs=Mé organizace
my_mirrors=Má zrcadla
@@ -140,36 +119,23 @@ users=Uživatelé
search=Vyhledat
[auth]
-create_new_account=Vytvořit nový účet
register_helper_msg=Již máte účet? Přihlašte se!
-social_register_helper_msg=Již máte účet? Připojte se!
disable_register_prompt=Omlouváme se, ale registrace jsou vypnuty. Prosíme, spojte se správcem systému.
disable_register_mail=Omlouváme se, potvrzovací registrační e-maily byly vypnuty.
remember_me=Zapamatovat si mne
-forgot_password=Zapomenuté heslo
-forget_password=Zapomněli jste heslo?
sign_up_now=Potřebujete účet? Zaregistrujte se.
-confirmation_mail_sent_prompt=Nový potvrzovací e-mail byl zaslán na %s , prosíme, zkontrolujte si vaši doručenou poštu během následující %d hodin pro dokončení registračního procesu.
active_your_account=Aktivujte si váš účet
prohibit_login=Přihlášení zakázáno
-prohibit_login_desc=Vašemu účtu je zakázáno se přihlásit, kontaktujte prosím správce webu.
-resent_limit_prompt=Omlouváme se, ale před chvílí jste požádal o aktivační e-mail. Prosíme, počkejte 3 minuty a pak to zkuste znovu.
has_unconfirmed_mail=Zdravím, %s, máte nepotvrzenou e-mailovou adresu (%s ). Pokud jste nedostali e-mail pro potvrzení nebo potřebujete zaslat nový, klikněte prosím na tlačítku níže.
resend_mail=Klikněte zde pro odeslání aktivačního e-mailu
-email_not_associate=Tato e-mailová adresa není spojena s žádným účtem.
-send_reset_mail=Klikněte zde pro znovuposlání e-mailu pro změnu vašeho hesla
reset_password=Obnova vašeho hesla
-invalid_code=Omlouváme se, ale kód potvrzení vašeho účtu vypršel nebo není správný.
reset_password_helper=Klikněte zde pro obnovu vašeho hesla
password_too_short=Délka hesla musí být minimálně %d znaků.
-non_local_account=Externí účty nemohou měnit hesla přes Gitea.
[mail]
activate_account=Prosíme, aktivujte si váš účet
activate_email=Ověřte vaši e-mailovou adresu
reset_password=Obnova vašeho hesla
-register_success=Vítejte, registrace vašeho účtu se zdařila
-register_notify=Vítejte
[modal]
yes=Ano
@@ -196,8 +162,6 @@ TreeName=Cesta k souboru
Content=Obsah
require_error=` nemůže být prázdný.`
-alpha_dash_error=` musí být pouze písmena, číslice či znaky - a _ .`
-alpha_dash_dot_error=` musí být pouze písmena, číslice, tečka či znaky - a _ .`
size_error=` musí být minimálně velikosti %s.`
min_size_error=` musí obsahovat nejméně %s znaků.`
max_size_error=` musí obsahovat maximálně %s znaků.`
@@ -205,28 +169,10 @@ email_error=` není správná e-mailová adresa.`
url_error=` není správná URL.`
include_error=` musí obsahovat řetězec '%s'.`
unknown_error=Neznámá chyba:
-captcha_incorrect=Zadaná CAPTCHA se neshoduje.
-password_not_match=Heslo a znovu zadané heslo nejsou shodné.
-username_been_taken=Uživatelské jméno je již obsazeno.
-repo_name_been_taken=Název repositáře je již obsazen.
-org_name_been_taken=Název organizace je již obsazen.
-team_name_been_taken=Název týmu je již obsazen.
-email_been_used=E-mailová adresa je již použita.
-username_password_incorrect=Chybné uživatelské jméno nebo heslo.
-enterred_invalid_repo_name=Ujistěte se, prosím, že zadaný název repositáře je správný.
-enterred_invalid_owner_name=Ujistěte se, prosím, že jméno vlastníka je zadáno správně.
-enterred_invalid_password=Ujistěte se, prosím, že zadané heslo je správné.
-user_not_exist=Zadaný uživatel neexistuje.
-last_org_owner=Odstranění posledního uživatele z týmu vlastníka není dovoleno, neboť vždy musí v každé organizaci existovat jeden vlastník.
-invalid_ssh_key=Omlouváme se, ale není možné ověřit váš klíč SSH: %s
-unable_verify_ssh_key=Gitea nemohl ověřit váš klíč SSH, ale předpokládáme, že je platný, nicméně zkontrolujte jej prosím.
auth_failed=Ověření selhalo: %v
-still_own_repo=Váš účet stále vlastní minimálně jeden repositář. Musíte je nejdříve smazat nebo předat.
-still_has_org=Váš účet je stále členem minimálně jedné organizace. Je nutné ji nejdříve opustit nebo smazat vaše členství.
-org_still_own_repo=Tato organizace stále vlastní repositáře, musíte je nejdříve smazat nebo předat.
target_branch_not_exist=Cílová větev neexistuje.
@@ -241,14 +187,11 @@ following=Sledovaní
follow=Sledovat
unfollow=Přestat sledovat
-form.name_reserved=Uživatelské jméno '%s' je rezervováno.
-form.name_pattern_not_allowed=Vzor uživatelského jména '%s' není povolen.
[settings]
profile=Profil
password=Heslo
avatar=Uživatelská ikona
-ssh_keys=Klíče SSH
social=Sociální účty
applications=Aplikace
orgs=Organizace
@@ -256,15 +199,11 @@ delete=Smazat účet
uid=UID
public_profile=Veřejný profil
-profile_desc=Vaše e-mailová adresa je veřejná a bude použita pro upozornění vztahující se k vašemu účtu a jakékoliv operaci, která se provede pomocí systému.
-password_username_disabled=Uživatelé, kteří jsou ověřováni jinak než lokálně, si nemohou změnit uživatelské jméno.
full_name=Celé jméno
website=Web
location=Místo
update_profile=Změnit profil
-update_profile_success=Váš profil byl úspěšně změněn.
change_username=Uživatelské jméno změněno
-change_username_prompt=Tato změna ovlivní vztah odkazů k vašemu účtu.
continue=Pokračovat
cancel=Zrušit
@@ -275,15 +214,11 @@ choose_new_avatar=Vybrat novou ikonu uživatele
update_avatar=Aktualizovat nastavení ikony uživatele
delete_current_avatar=Smazat aktuální ikonu uživatele
uploaded_avatar_not_a_image=Nahraný soubor není obrázkem.
-update_avatar_success=Nastavení vaší ikony uživatele bylo změněno.
change_password=Změna hesla
old_password=Stávající heslo
new_password=Nové heslo
retype_new_password=Zadat znovu heslo
-password_incorrect=Zadané heslo není správné.
-change_password_success=Vaše heslo bylo úspěšně změněno. Nyní se můžete přihlásit pomocí tohoto nového hesla.
-password_change_disabled=Uživatelé, kteří jsou ověřováni jinak než lokálně, si nemohou změnit heslo.
emails=E-mailová adresa
manage_emails=Správa e-mailových adres
@@ -291,70 +226,50 @@ email_desc=Vaše hlavní e-mailová adresa bude použita pro oznámení a dalš
primary=Hlavní
primary_email=Nastavit jako hlavní
delete_email=Smazat
-email_deletion=Smazání e-mailové adresy
-email_deletion_desc=Smazání této e-mailové adresy odstraní návazné informace z vašeho účtu. Chcete pokračovat?
email_deletion_success=E-mailová adresa byla úspěšně smazána!
add_new_email=Přidat novou e-mailovou adresu
add_email=Přidat e-mailovou adresu
-add_email_confirmation_sent=Nový e-mail pro potvrzení byl odeslán na adresu '%s', prosíme zkontrolujte si vaši doručenou poštu během následujících %d hodin pro dokončení procesu potvrzení.
add_email_success=Vaše nová e-mailová adresa byla úspěšně přidána.
manage_ssh_keys=Správa klíčů SSH
add_key=Přidat klíč
-ssh_desc=Toto je seznam klíčů SSH vašeho účtu. Jelikož tyto samotné klíče umožňují přístup k vašim repositářům, je velmi důležité, abyste je rozpoznal.
-ssh_helper=Nevíte jak? Podívejte se do příručky GitHubu na to vytvoření vlastních klíčů SSH nebo vyřešte bežné problémy , se kterými se můžete potkat při použití SSH.
add_new_key=Přidat klíč SSH
-ssh_key_been_used=Obsah veřejného klíče byl použit.
-ssh_key_name_used=Veřejný klíč se stejným jménem již existuje.
key_name=Název klíče
key_content=Obsah
-add_key_success=Nový klíč SSH '%s' byl úspěšně přidán!
delete_key=Smazat
ssh_key_deletion=Smazání klíče SSH
-ssh_key_deletion_desc=Smazání tohoto klíče SSH odstraní přístup k vašemu účtu. Chcete pokračovat?
-ssh_key_deletion_success=Klíč SSH byl úspěšně smazán!
add_on=Přidáno dne
last_used=Naposledy použito dne
no_activity=Žádná aktuální aktivita
-key_state_desc=Tento klíč je používán posledních 7 dní
-token_state_desc=Tato poukázka je používána posledních 7 dní
manage_social=Správa propojených sociálních účtů
-social_desc=Toto je seznam propojených sociálních účtů. Odpojte kterékoliv připojení, které nepoznáváte.
unbind=Odpojit
-unbind_success=Sociální účet byl odpojen.
manage_access_token=Správa osobních přístupových poukázek
generate_new_token=Vygenerovat novou poukázku
-tokens_desc=Poukázky, které jste vygeneroval, mohou být použity pro přístup k Gitea API.
new_token_desc=Každá poukázka má úplný přístup k vašemu účtu.
token_name=Název poukázky
generate_token=Vygenerovat poukázku
-generate_token_succees=Vaše přístupová poukázka byl úspěšně vygenerován. Nyní si ji zkopírujte, neboť později to již nebude možné!
delete_token=Smazat
access_token_deletion=Smazání osobní přístupové poukázky
-access_token_deletion_desc=Smazáním této osobní přístupové poukázky odstraní všechen návazný přístup aplikace. Chcete pokračovat?
-delete_token_success=Osobní přístupová poukázka byla úspěšně odstraněna! Nezapomeňte také aktualizovat vaši aplikaci.
+
+
delete_account=Smazat váš účet
delete_prompt=Tato operace permanentně smaže váš účet a tato změna nemůže být vrácena!
confirm_delete_account=Potvrdit smazání
delete_account_title=Smazání účtu
-delete_account_desc=Tento účet bude trvale smazán. Chcete pokračovat?
[repo]
owner=Vlastník
repo_name=Název repositáře
-repo_name_helper=Dobrý název repositáře se většinou skládá z krátkých, zapamatovatelných a unikátních klíčových slov.
visibility=Viditelnost
visiblity_helper=Tento repositář je soukromý
-visiblity_helper_forced=Správce vynutil na všech nových repositářích, aby byly soukromé
visiblity_fork_helper=(Změna této hodnoty ovlivní všechny repositáře rozštěpení)
clone_helper=Potřebujete pomoci s klonováním? Navštivte nápovědu !
fork_repo=Repositář rozštěpení
fork_from=Rozštěpit z
-fork_visiblity_helper=Nemůžete změnit viditelnost repositáře rozštěpení.
repo_desc=Popis
repo_lang=Jazyk
repo_gitignore_helper=Vyberte šablony .gitignore
@@ -366,18 +281,12 @@ auto_init=Inicializovat tento repositář s vybranými soubory a šablonou
create_repo=Vytvořit repositář
default_branch=Výchozí větev
mirror_prune=Vyčistit
-mirror_prune_desc=Odstranit vzdálené odkazy, které již ve vzdáleném repozitáři neexistují
-mirror_interval=Odstup zrcadlení (hodina)
mirror_address=Adresa zrcadla
-mirror_address_desc=Prosím, přidejte do adresy potřebné přihlašovací údaje.
mirror_last_synced=Naposledy synchronizováno
watchers=Sledující
stargazers=Sledující
forks=Rozštěpení
-form.reach_limit_of_creation=Vlastník dosáhl maximálního počtu %d vytvořených repositořů.
-form.name_reserved=Název repositáře '%s' je rezervován.
-form.name_pattern_not_allowed=Vzor názvu repositáře '%s' není povolen.
need_auth=Ověření je vyžadováno
migrate_type=Typ migrace
@@ -404,9 +313,6 @@ fork=Rozštěpit
no_desc=Bez popisu
quick_guide=Krátká příručka
clone_this_repo=Naklonovat tento repositář
-create_new_repo_command=Vytvořit nový repositář v příkazové řádce
-push_exist_repo=Nahrát existující repositář z příkazové řádky
-repo_is_empty=Tento repositář je prázdný, prosíme, vraťte se brzo zpátky!
code=Zdrojový kód
branch=Větev
@@ -430,7 +336,6 @@ editor.new_file=Nový soubor
editor.upload_file=Nahrát soubor
editor.edit_file=Upravit soubor
editor.preview_changes=Náhled změn
-editor.cannot_edit_non_text_files=Netextové soubory není možné upravovat
editor.edit_this_file=Upravit tento soubor
editor.must_be_on_a_branch=Musíte mít zvolenu větev pro úpravu či návrh změn tohoto souboru
editor.fork_before_edit=Musíte provést rozvětvení repositáře před úpravou souboru
@@ -444,7 +349,7 @@ editor.cancel_lower=zrušit
editor.commit_changes=Uložit změny revize
editor.add_tmpl=Přidat '%s/'
editor.add=Přidat '%s'
-editor.update=Aktualizovat "%s"
+editor.update=Aktualizovat "%s
editor.delete=Smazat '%s'
editor.commit_message_desc=Přidat dobrovolný rozšířený popis...
editor.commit_directly_to_this_branch=Uložte změny revize přímo do větve %s .
@@ -456,7 +361,6 @@ editor.branch_already_exists=Repositář větev '%s' již obsahuje.
editor.directory_is_a_file=Položka '%s' v nadřazené cestě je v tomto repozitáři soubor, ne adresář.
editor.filename_is_a_directory=Jméno souboru '%s' koliduje v tomto repozitáři se jménem adresáře.
editor.file_editing_no_longer_exists=Soubor '%s', který upravujete, již neexistuje v tomto repozitáři.
-editor.file_changed_while_editing=Obsah souboru se změnil od začátku úprav. Klepnutím sem zobrazíte, co se změnilo, nebo stiskněte potvrdit znovu pro přepsání změn.
editor.file_already_exists=Soubor '%s' již existuje v tomto repozitáři.
editor.no_changes_to_show=Žádné změny k zobrazení.
editor.fail_to_update_file=Vytvoření nebo změna souboru '%s' skončilo chybou: %v
@@ -466,13 +370,13 @@ editor.upload_files_to_dir=Nahrát soubory do '%s'
commits.commits=Revize
commits.search=Hledání revizí
-commits.find=Hledat
commits.author=Autor
commits.message=Zpráva
commits.date=Datum
commits.older=Starší
commits.newer=Novější
+
issues.new=Nový úkol
issues.new.labels=Štítky
issues.new.no_label=Bez štítku
@@ -490,7 +394,6 @@ issues.new_label=Nový štítek
issues.new_label_placeholder=Název štítku...
issues.create_label=Vytvořit štítek
issues.label_templates.title=Nahrát předdefinovanou sadu značek
-issues.label_templates.info=Nejsou zadány žádné značky. Pro vytvoření nové klikněte na tlačítko Nová značka nebo použijte předdefinovanou sadu.
issues.label_templates.helper=Vyberte sadu značek
issues.label_templates.use=Použít tuto sadu značek
issues.label_templates.fail_to_load_file=Nepodařilo se nahrát soubor šablony značek '%s': %v
@@ -547,8 +450,6 @@ issues.label_edit=Upravit
issues.label_delete=Smazat
issues.label_modify=Změna štítku
issues.label_deletion=Smazání štítku
-issues.label_deletion_desc=Smazání tohoto štítku jej smaže také ze všech návazných úkolech. Chcete pokračovat?
-issues.label_deletion_success=Štítek byl úspěšně smazán!
issues.num_participants=%d účastníků
issues.attachment.open_tab=`Klikněte pro zobrazení "%s" v nové záložce`
issues.attachment.download=`Klikněte pro stažení "%s"`
@@ -568,16 +469,12 @@ pulls.merged_title_desc=sloučil %[1]d revizí z větve %[2]s do v
pulls.tab_conversation=Konverzace
pulls.tab_commits=Revize
pulls.tab_files=Změněné soubory
-pulls.reopen_to_merge=Prosíme, otevřete znovu tento požadavek na natažení, aby se provedla operace sloučení.
pulls.merged=Sloučený
-pulls.has_merged=Tento požadavek na natažení byl úspěšně sloučen!
pulls.data_broken=Data této žádosti na natažení byla narušena z důvodu smazání informací o rozštěpení.
pulls.is_checking=Kontrola konfliktů stále pokračuje, prosíme obnovte za několik okamžiků stránku.
pulls.can_auto_merge_desc=Tento požadavek na natažení může být automaticky sloučen.
-pulls.cannot_auto_merge_desc=Tento požadavek na natažení nemůže být automaticky sloučen, neboť se v něm nachází konflikty.
pulls.cannot_auto_merge_helper=Prosíme proveďte sloučení ručně, aby byly vyřešeny konflitky.
pulls.merge_pull_request=Sloučit požadavek na stažení
-pulls.open_unmerged_pull_exists=`Nemůžete znovuotevřít požadavek na stažení, neboť požadavek na stažení ze stejného repositáře se stejnými informacemi pro sloučení již existuje (#%d).`
milestones.new=Nový milník
milestones.open_tab=%d otevřených
@@ -595,27 +492,22 @@ milestones.clear=Zrušit
milestones.invalid_due_date_format=Formát data termínu je neplatný, musí být 'yyyy-mm-dd'.
milestones.create_success=Milník '%s' byl úspěšně vytvořen!
milestones.edit=Upravit milník
-milestones.edit_subheader=Zadejte lepší popis milníků, aby lidé nebyli zmateni.
milestones.cancel=Zrušit
milestones.modify=Změnit milník
milestones.edit_success=Změny milníku '%s' byly úspěšně uloženy!
milestones.deletion=Smazání milníku
-milestones.deletion_desc=Smazání tohoto milníku jej smaže také ze všech návazných úkolech. Chcete pokračovat?
milestones.deletion_success=Milník byl úspěšně smazán!
-wiki.welcome=Vítejte ve Wiki!
-wiki.welcome_desc=Wiki je místo pro vaši společnou dokumentaci projektu a návodů jak jej zlepšit.
+
wiki.create_first_page=Vytvořte první stránku
wiki.page=Stránka
wiki.filter_page=Filtr stránky
wiki.new_page=Vytvořit novou stránku
-wiki.default_commit_message=Napište (volitelnou) poznámku k této úpravě.
wiki.save_page=Uložit stránku
wiki.last_commit_info=%s upravil tuto stránku %s
wiki.edit_page_button=Změnit stránku
wiki.new_page_button=Nová stránka
wiki.delete_page_button=Smazat stránku
-wiki.delete_page_notice_1=Toto smaže stránku "%s". Buďte si prosím jisti.
wiki.page_already_exists=Stránka Wiki se stejným názvem již existuje.
wiki.pages=Stránky
wiki.last_updated=Naposledy aktualizováno: %s
@@ -632,7 +524,6 @@ settings.githooks=Háčky Gitu
settings.basic_settings=Základní nastavení
settings.mirror_settings=Nastavení zrcadla
settings.sync_mirror=Provést synchronizaci
-settings.mirror_sync_in_progress=Synchronizace zrcadel probíhá, prosím načtěte znovu stránku přibližně za minutu.
settings.site=Oficiální stránky
settings.update_settings=Změnit nastavení
settings.advanced_settings=Pokročilá nastavení
@@ -653,29 +544,18 @@ settings.pulls_desc=Povolit požadavky na stažení, aby veřejné příspěvky
settings.danger_zone=Nebezpečná zóna
settings.new_owner_has_same_repo=Nový vlastník již repositář se stejným názvem má. Vyberte, prosíme, jiné jméno.
settings.convert=Převést na běžný repositář
-settings.convert_desc=Můžete převést toto zrcadlo na běžný repositář. Tato změna nemůže být vrácena.
settings.convert_notices_1=- Tato operace převede tento zrcadlový repositář na běžný repositář a tato změna nemůže být vrácena.
settings.convert_confirm=Potvrdit převod
-settings.convert_succeed=Repositář byl úspěšně převeden na běžný typ.
settings.transfer=Předat vlastnictví
settings.transfer_desc=Předat tento repositář jinému uživateli nebo organizaci, ve které jste správce.
-settings.transfer_notices_1=- Ztratíte přístup, pokud nový vlastník je samostatný uživatel.
-settings.transfer_notices_2=- Přístup vám bude zachován, pokud nový vlastník je organizace a vy jste jedním z vlastníků.
-settings.transfer_form_title=Zadejte prosím následující informace pro potvrzení operace:
settings.wiki_delete=Smazat data Wiki
settings.wiki_delete_desc=Pokud smažete data Wiki, nebude možné se vrátit. Buďte si, prosím, jist.
settings.wiki_delete_notices_1=- Toto smaže a vypne Wiki pro %s
-settings.wiki_deletion_success=Data Wiki tohoto repositáře byla úspěšně smazána.
settings.delete=Smazat tento repositář
settings.delete_desc=Jakmile smažete repositář, není možné se vrátit. Buďte si, prosím, jist.
settings.delete_notices_1=- Tuto operaci nelze zvrátit.
-settings.delete_notices_2=Tato operace permanentně smaže vše v tomto repositáři, včetně dat Gitu, úkolů, komentářů a přístupu spolupracovníků.
-settings.delete_notices_fork_1=- Po smazání se všechny forky se stanou nezávislé.
-settings.deletion_success=Repositář byl úspěšně smazán!
-settings.update_settings_success=Možnosti repositáře byly úspěšně změněny.
settings.transfer_owner=Nový vlastník
settings.make_transfer=Předat
-settings.transfer_succeed=Repositář byl úspěšně předán.
settings.confirm_delete=Potvrdit smazání
settings.add_collaborator=Přidat nového spolupracovníka
settings.add_collaborator_success=Nový spolupracovník byl přidán.
@@ -687,13 +567,10 @@ settings.search_user_placeholder=Hledat uživatele...
settings.org_not_allowed_to_be_collaborator=Není dovoleno přidat organizaci jako spolupracovníka.
settings.user_is_org_member=Uživatel je již členem organizace, tudíž nemůže být přidán jako spolupracovník.
settings.add_webhook=Přidat webový háček
-settings.hooks_desc=Webové háčky jsou podobné základním spouštím HTTP POST událostí. Kdykoliv se něco stane v Gitea, bude postaráno o oznámení specifikovanému cílovému serveru. Více se o daném dozvíte v příručce webových háčků .
settings.webhook_deletion=Smazat webový háček
-settings.webhook_deletion_desc=Smazáním tohoto webového háčku dojte také ke smazání veškerých informací o něm a také historie volání. Chcete pokračovat?
settings.webhook_deletion_success=Webový háček byl úspěšně smazán!
settings.webhook.test_delivery=Test doručitelnosti
settings.webhook.test_delivery_desc=Odeslat falešnou událost doručení nahrání pro test vašeho nastavení webových háčků
-settings.webhook.test_delivery_success=Testovací webový háček byl přidán do fronty doručení. Bude to trvat několik sekund, než se ukáže v historii doručení.
settings.webhook.request=Požadavek
settings.webhook.response=Odpověď
settings.webhook.headers=Hlavičky
@@ -704,7 +581,6 @@ settings.githook_edit_desc=Je-li háček neaktivní, bude zobrazen vzorový obsa
settings.githook_name=Název háčku
settings.githook_content=Obsah háčku
settings.update_githook=Upravit háček
-settings.add_webhook_desc=Gitea zašle požadavek typu POST na zadanou URL, společně s informacemi o události, která nastala. Můžete také specifikovat, jaký datový formát se má použít po spuštění daného háčku (JSON, x-www-form-urlencoded, XML atp.). Více informací je k nalezení v našem Návodu na webové háčky .
settings.payload_url=URL obsahu
settings.content_type=Typ obsahu
settings.secret=Tajný klíč
@@ -722,7 +598,6 @@ settings.event_pull_request_desc=Pull request byl otevřen, uzavřen, znovu-otev
settings.event_push=Nahrát
settings.event_push_desc=Nahrání pomocí Gitu do repositáře
settings.active=Aktivní
-settings.active_helper=Podrobnosti vztahující se k události, která spustila háček, budou doručeny taktéž.
settings.add_hook_success=Nový webový háček byl přidán.
settings.update_webhook=Upravit webový háček
settings.update_hook_success=Webový háček byl upraven.
@@ -743,13 +618,10 @@ settings.key_been_used=Obsah klíče pro nasazení byl použit.
settings.key_name_used=Klíč pro nasazení se stejným jménem již existuje.
settings.add_key_success=Nový klíč pro nasazení '%s' byl úspěšně přidán!
settings.deploy_key_deletion=Smazat klíč pro nasazení
-settings.deploy_key_deletion_desc=Smazání toho klíče pro nasazení smaže také veškerý k němu svázaný přístup do tohoto repositáře. Chcete pokračovat?
-settings.deploy_key_deletion_success=Klíč pro nasazení byl úspěšně smazán!
diff.browse_source=Procházet zdrojové kódy
diff.parent=rodič
diff.commit=revize
-diff.data_not_available=Rozdílová data nejsou dostupná.
diff.show_diff_stats=Ukázat statistiku rozdílových dat
diff.show_split_view=Rozdělené zobrazení
diff.show_unified_view=Jednotný pohled
@@ -767,11 +639,8 @@ release.stable=Stabilní
release.edit=upravit
release.ahead=%d revizí do větve %s od tohoto vydání
release.source_code=Zdrojový kód
-release.new_subheader=Pro iteraci produktu zveřejňujte vydání.
-release.edit_subheader=Detailní log změn může pomoci uživatelům porozumět, co bylo vylepšeno.
release.tag_name=Název značky
release.target=Cíl
-release.tag_helper=Vyberte existující značku nebo vytvořte novou značku při vydání.
release.title=Název
release.content=Obsah
release.write=Zapsat
@@ -785,8 +654,6 @@ release.save_draft=Uložit koncept
release.edit_release=Upravit vydání
release.delete_release=Smazat toto vydání
release.deletion=Smazání vydání
-release.deletion_desc=Smazáním tohoto vydání se také smaže odpovídající značka. Chcete pokračovat?
-release.deletion_success=Vydání bylo úspěšně smazáno!
release.tag_name_already_exist=Vydání s touto značkou již existuje.
release.tag_name_invalid=Název štítku není platný.
release.downloads=Soubory ke stažení
@@ -807,9 +674,6 @@ create_new_team=Vytvořit nový tým
org_desc=Popis
team_name=Název týmu
team_desc=Popis
-team_name_helper=Tento název budete používat při zmiňovaní týmu v konverzacích.
-team_desc_helper=Popište prosím tento tým
-team_permission_desc=Jakou úroveň přístupu má mít tento tým?
form.name_reserved=Název organizace '%s' je již rezervován.
form.name_pattern_not_allowed=Vzor názvu organizace '%s' není povolen.
@@ -820,16 +684,11 @@ settings.full_name=Celé jméno
settings.website=Webové stránky
settings.location=Umístění
settings.update_settings=Upravit nastavení
-settings.update_setting_success=Nastavení organizace bylo úspěšně upraveno.
-settings.change_orgname_prompt=Tato změna ovlivní vztah odkazů k organizaci.
-settings.update_avatar_success=Nastavení ikony organizace bylo úspěšně změněno.
settings.delete=Smazat organizaci
settings.delete_account=Smazat tuto organizaci
settings.delete_prompt=Organizace bude trvale smazána a tato změna nemůže být vrácena!
settings.confirm_delete_account=Potvrdit smazání
settings.delete_org_title=Smazání organizace
-settings.delete_org_desc=Organizace bude trvale smazána, chcete pokračovat?
-settings.hooks_desc=Přidejte webového háčky, které budou spouštěny nad všemi repositáři této organizace.
members.membership_visibility=Viditelnost členství:
members.public=Veřejný
@@ -849,9 +708,7 @@ teams.leave=Opustit
teams.read_access=Právo čtení
teams.read_access_helper=Tento tým bude moci prohlížet a klonovat své repositáře.
teams.write_access=Právo zápisu
-teams.write_access_helper=Tento tým bude schopen jak číst své repositáře, tak do nich nahrávat.
teams.admin_access=Přístup správce
-teams.admin_access_helper=Tento tým bude schopen odeslat a natáhnout změny do svých repositářů, stejně tak přidat k těmto repositářům další spolupracovníky.
teams.no_desc=Tento tým není žádný popis
teams.settings=Nastavení
teams.owners_permission_desc=Vlastníci mají plný přístup do všech repositářů a jsou správci této organizace.
@@ -860,8 +717,6 @@ teams.update_settings=Upravit nastavení
teams.delete_team=Smazat tento tým
teams.add_team_member=Přidat člena týmu
teams.delete_team_title=Smazání týmu
-teams.delete_team_desc=Jelikož bude tento tým smazán, jeho členové mohou ztratit přístup do některých repositářů. Chcete pokračovat?
-teams.delete_team_success=Daný tým byl úspěšně smazán.
teams.read_permission_desc=Členství v tom týmu poskytuje právo čtení : členové mohou číst z a vytvářet klony repositářů týmu.
teams.write_permission_desc=Členství v tom týmu poskytuje právo zápisu : členové mohou číst z a nahrávat do repositářů týmu.
teams.admin_permission_desc=Členství v tom týmu poskytuje právo správce : členové mohou číst z, nahrávat do a přidávat spolupracovníky do repositářů týmu.
@@ -891,23 +746,8 @@ dashboard.statistic_info=Databáze Gitea obsahuje %d uživatelů, %d
dashboard.operation_name=Název operace
dashboard.operation_switch=Přepnout
dashboard.operation_run=Spustit
-dashboard.clean_unbind_oauth=Smazat nepřipojené asociace OAuth2
-dashboard.clean_unbind_oauth_success=Všechny nepřipojené asociace OAuth2 byly úspěšně smazány.
dashboard.delete_inactivate_accounts=Smazat všechny neaktivní účty
-dashboard.delete_inactivate_accounts_success=Všechny neaktivní účty byly úspěšně smazány.
dashboard.delete_repo_archives=Smazat všechny archívy repositářů
-dashboard.delete_repo_archives_success=Všechny archívy repositářů byly úspěšně smazány.
-dashboard.delete_missing_repos=Smazat všechny záznamy repositářů, které ztratily soubory Gitu
-dashboard.delete_missing_repos_success=Všechny repositáře, které ztratily soubory Gity, byly úspěšně smazány.
-dashboard.git_gc_repos=Provést úklid nad repositáři
-dashboard.git_gc_repos_success=Úklid nad všemi repositáři byl úspěšně proveden.
-dashboard.resync_all_sshkeys=Přepsat soubor '.ssh/authorized_keys' (upozornění: klíče nevzniklé v Gitea budou ztraceny)
-dashboard.resync_all_sshkeys_success=Všechny veřejné klíče byly úspěšně přepsány.
-dashboard.resync_all_update_hooks=Přepsat háček úprav všech repositářů (potřebný v momentě změny cesty k uživatelskému konfiguračnímu souboru)
-dashboard.resync_all_update_hooks_success=Háček úprav všech repositářů byl úspěšně přepsán.
-dashboard.reinit_missing_repos=Znovu inicializovat záznamy všech repositářů, které ztratily soubory Gitu
-dashboard.reinit_missing_repos_success=Záznamy všech repositářů, které ztratily soubory Gitu, byly znovu úspěšně inicializovány.
-
dashboard.server_uptime=Doba provozu serveru
dashboard.current_goroutine=Aktuální Goroutines
dashboard.current_memory_usage=Aktuální využití paměti
@@ -938,7 +778,6 @@ dashboard.total_gc_pause=Celková pauza GC
dashboard.last_gc_pause=Poslední pauza GC
dashboard.gc_times=Časy GC
-users.user_manage_panel=Uživatelský panel
users.new_account=Vytvořit nový účet
users.name=Jméno
users.activated=Aktivován
@@ -946,33 +785,23 @@ users.admin=Správce
users.repos=Repositáře
users.created=Vytvořen
users.send_register_notify=Poslat upozornění na registraci uživateli
-users.new_success=Nový účet '%s' byl úspěšně vytvořen.
users.edit=Upravit
users.auth_source=Zdroj způsobu ověření
users.local=Místní
users.auth_login_name=Přihlašovací jméno způsobu ověření
users.password_helper=Nechte prázdné, pokud se nemá změnit.
-users.update_profile_success=Profil účtu byl úspěšně změněn.
users.edit_account=Upravit účet
users.max_repo_creation=Limit počtu vytvořených repositářů
users.max_repo_creation_desc=(Nastavte na -1 pro použití výchozího systémového limitu)
-users.is_activated=Tento účet je aktivován
-users.prohibit_login=Tento účet má zakázáno přihlášení
users.is_admin=Tento účet je správce
-users.allow_git_hook=Tento účet má právo vytváře háčky Gitu
users.allow_import_local=Tento účet má právo importovat místní repositáře
users.update_profile=Upravil profil účtu
users.delete_account=Smazat tento účet
-users.still_own_repo=Tento účet je stále vlastníkem nejméně jednoho repositáře, je potřeba repositář nejdříve smazat nebo předat.
-users.still_has_org=Tento účet je členem minimálně jedné organizace, musíte nejdříve dané organizace opustit nebo je smazat.
-users.deletion_success=Účet byl úspěšně smazán!
-orgs.org_manage_panel=Panel správy organizací
orgs.name=Název
orgs.teams=Týmy
orgs.members=Členové
-repos.repo_manage_panel=Panel správy repositářů
repos.owner=Vlastník
repos.name=Název
repos.private=Soukromý
@@ -980,7 +809,6 @@ repos.watches=Sledovače
repos.stars=Oblíbení
repos.issues=Úkoly
-auths.auth_manage_panel=Panel správy způsobů ověřování
auths.new=Přidat nový zdroj
auths.name=Název
auths.type=Typ
@@ -993,7 +821,6 @@ auths.domain=Doména
auths.host=Server
auths.bind_dn=Připojení DN
auths.bind_password=Heslo připojení
-auths.bind_password_helper=Upozornění: Toto heslo je ukládáno nešifrované. Nepoužívejte pro správcovské účty.
auths.user_base=Výchozí bod hledání uživatelů
auths.user_dn=DN uživatele
auths.attribute_username=Atribut uživatelského jména
@@ -1008,21 +835,12 @@ auths.smtp_auth=Typ ověření SMTP
auths.smtphost=Server SMTP
auths.smtpport=Port SMTP
auths.allowed_domains=Povolené domény
-auths.allowed_domains_helper=Zanechte prázdné, pokud nechcete omezit jakékoliv domény. Domény musí být od sebe odděleny čárkou ','.
auths.enable_tls=Povolit šifrování TLS
auths.skip_tls_verify=Přeskočit ověření TLS
auths.pam_service_name=Název služby PAM
auths.enable_auto_register=Povolit zaregistrování se
auths.tips=Tipy
-auths.edit=Upravit nastavení ověřování
auths.activated=Tento způsob ověřování je aktivní
-auths.new_success=Nový způsob ověřování '%s' byl úspěšně přidán.
-auths.update_success=Nastavení ověřování bylo úspěšně změněno.
-auths.update=Změnit nastavení ověřování
-auths.delete=Smazat tento způsob ověřování
-auths.delete_auth_title=Smazání způsobu ověřování
-auths.delete_auth_desc=Tento způsob ověřování bude smazán, chcete pokračovat?
-auths.still_in_used=Tento způsob ověřování je stále používán některými uživateli. Prosím, nejdříve změňte u těchto uživatelů typ ověřování na jiný.
auths.deletion_success=Způsob ověřování byl úspěšně smazán!
config.server_config=Nastavení serveru
@@ -1042,7 +860,6 @@ config.reverse_auth_user=Uživatel obráceného ověření
config.ssh_config=Nastavení SSH
config.ssh_enabled=Zapnutý
-config.ssh_start_builtin_server=Spustit vestavěný server
config.ssh_domain=Doména
config.ssh_listen_port=Port pro naslouchání
config.ssh_root_path=Kořenová cesta
@@ -1070,12 +887,10 @@ config.mail_notify=Upozornění e-mailem
config.disable_key_size_check=Vypnout kontrolu minimální velikosti klíčů
config.enable_captcha=Povolit službu CAPTCHA
config.active_code_lives=Doba života aktivního kódu
-config.reset_password_code_lives=Lhůta kódu pro obnovu hesla
config.webhook_config=Nastavení webových háčků
config.queue_length=Délka fronty
config.deliver_timeout=Časový limit doručení
-config.skip_tls_verify=Přeskočit ověření TLS
config.mailer_config=Nastavení odesílání e-mailů
config.mailer_enabled=Zapnutý
@@ -1084,7 +899,6 @@ config.mailer_name=Název
config.mailer_host=Server
config.mailer_user=Uživatel
config.send_test_mail=Odeslat zkušební E-mail
-config.test_mail_failed=Odeslání testovacího e-mailu na '%s' selhalo: %v
config.test_mail_sent=Zkušební e-mail byl odeslán na '%s'.
config.oauth_config=Nastavení ověření OAuth
@@ -1136,7 +950,6 @@ monitor.start=Čas zahájení
monitor.execute_time=Doba provádění
notices.system_notice_list=Systémová oznámení
-notices.view_detail_header=Zobrazit detail oznámení
notices.actions=Akce
notices.select_all=Vybrat vše
notices.deselect_all=Zrušit výběr všech
@@ -1146,7 +959,6 @@ notices.delete_all=Smazat všechna oznámení
notices.type=Typ
notices.type_1=Repositář
notices.desc=Popis
-notices.delete_success=Systémová upozornění byla úspěšně smazána.
[action]
create_repo=vytvořil repositář %s
@@ -1162,34 +974,35 @@ comment_issue=`přidal komentář k úkolu %s#%[2]s `
merge_pull_request=`sloučil požadavek na stažení %s#%[2]s `
transfer_repo=předal repositář %s uživateli/organizaci %s
push_tag=nahrál značku %[2]s do %[3]s
-compare_commits=Zobrazit porovnání pro tyto %d revize
[tool]
-ago=před
-from_now=od teď
+ago=před %s
+from_now=od teď %s
now=nyní
-1s=%s 1 sekundou
-1m=%s před jednou minutou
-1h=%s jednou hodinou
-1d=%s 1 dnem
-1w=%s 1 týdnem
-1mon=%s 1 měsícem
-1y=%s 1 rokem
-seconds=%[2]s %[1]d sekundami
-minutes=%[2]s %[1]d minutami
-hours=%[2]s %[1]d hodinami
-days=%[2]s %[1]d dny
-weeks=%[2]s %[1]d týdny
-months=%[2]s %[1]d měsíci
-years=%[2]s %[1]d roky
+1s=1 sekundou
+1m=jednou minutou
+1h=jednou hodinou
+1d=1 dnem
+1w=1 týdnem
+1mon=1 měsícem
+1y=1 rokem
+seconds=%d sekundami
+minutes=%d minutami
+hours=%d hodinami
+days=%d dny
+weeks=%d týdny
+months=%d měsíci
+years=%d roky
raw_seconds=sekund
raw_minutes=minut
[dropzone]
-default_message=Přetáhněte soubory sem nebo stiskněte Nahrát.
invalid_input_type=Nelze nahrát soubory tohoto typu.
-file_too_big=Velikost souboru ({{filesize}} MB) je vyšší než maximální velikost ({{maxFilesize}} MB).
remove_file=Smazat soubor
[notification]
+[gpg]
+
+[units]
+
diff --git a/options/locale/locale_de-DE.ini b/options/locale/locale_de-DE.ini
index 6398dff..3e56c09 100644
--- a/options/locale/locale_de-DE.ini
+++ b/options/locale/locale_de-DE.ini
@@ -5,8 +5,11 @@ dashboard=Übersicht
explore=Erkunden
help=Hilfe
sign_in=Anmelden
+sign_in_with=Anmelden mit
sign_out=Abmelden
sign_up=Registrieren
+link_account=Account verbinden
+link_account_signin_or_signup=Logge dich mit alten Zugangsdaten ein, um den alten Account mit diesem neuen zu verbinden, oder registriere dich
register=Registrieren
website=Webseite
version=Version
@@ -33,16 +36,22 @@ mirror=Mirror
new_repo=Neues Repository
new_migrate=Neue Migration
new_mirror=Neuer Mirror
-new_fork=Neues Fork-Repository
+new_fork=Neuer Fork
new_org=Neue Organisation
manage_org=Organisationen verwalten
admin_panel=Administration
account_settings=Kontoeinstellungen
settings=Einstellungen
your_profile=Profil
-your_starred=Favoriten
+your_starred=Deine Favoriten
your_settings=Einstellungen
+all=Alle
+sources=Quellen
+mirrors=Mirrors
+collaborative=Kollaborativ
+forks=Forks
+
activities=Aktivitäten
pull_requests=Pull-Requests
issues=Issues
@@ -51,8 +60,8 @@ cancel=Abbrechen
[install]
install=Installation
-title=Installationsschritte für den ersten Start
-docker_helper=Wenn Gitea innerhalb von Docker läuft, lies bitte den Leitfaden genau durch, bevor du irgendwas auf dieser Seite änderst!
+title=Erstkonfiguration
+docker_helper=Wenn du Gitea in einem Docker-Container nutzt, lese bitte die Hinweise sorgfältig, bevor du irgendetwas auf dieser Seite änderst.
requite_db_desc=Gitea benötigt MySQL, PostgreSQL, SQLite3 oder TiDB.
db_title=Datenbankeinstellungen
db_type=Datenbanktyp
@@ -69,11 +78,11 @@ err_invalid_tidb_name=Der TiDB Datenbankname darf nicht "." und "-" enthalten.
no_admin_and_disable_registration=Du kannst Registrierungen nicht deaktivieren, ohne ein Administratorkonto zu erstellen.
err_empty_admin_password=Das Administrator-Passwort darf nicht leer sein.
-general_title=Allgemeine Einstellungen
+general_title=Anwendungseinstellungen
app_name=Name der Anwendung
-app_name_helper=Hier den Namen der Organisation einfügen!
+app_name_helper=Du kannst hier den Organisationsnamen eintragen.
repo_path=Repository-Verzeichnis
-repo_path_helper=Alle Git-Repositories werden in diesem Verzeichnis gespeichert.
+repo_path_helper=Alle Remote-Git-Repositories werden in diesem Verzeichnis gespeichert.
lfs_path=LFS-Wurzelpfad
lfs_path_helper=In diesem Verzeichnis werden die Dateien von Git LFS abgespeichert. Leer lassen um LFS zu deaktivieren.
run_user=Ausführender Benutzer
@@ -85,7 +94,7 @@ ssh_port_helper=Der Port deines SSH-Servers. Leer lassen um SSH zu deaktivieren.
http_port=HTTP Port
http_port_helper=Auf diesem Port wird Gitea erreichbar sein.
app_url=Anwendungs-URL
-app_url_helper=Dies hat Auswirkung auf die HTTP/HTTPS Klon-URLs und den Inhalt der E-Mails.
+app_url_helper=Dies hat Auswirkung auf die HTTP/HTTPS Klon-URLs und den Inhalt der E-Mail Benachrichtigungen.
log_root_path=Logdateipfad
log_root_path_helper=Verzeichnis in das Logdateien geschrieben werden.
@@ -94,13 +103,13 @@ email_title=E-Mail-Service Einstellungen
smtp_host=SMTP-Server
smtp_from=Von
smtp_from_helper=Absender-Adresse nach RFC 5322. Entweder nur eine E-Mail Adresse oder im Format: "Name" .
-mailer_user=Absender E-Mail
+mailer_user=Absender
mailer_password=Absender Passwort
register_confirm=Registrierungsbestätigung aktivieren
-mail_notify=E-Mail-Benachrichtigung aktivieren
+mail_notify=E-Mail-Benachrichtigungen aktivieren
server_service_title=Server- und sonstige Diensteinstellungen
offline_mode=Offline-Modus aktivieren
-offline_mode_popup=CDN auch im Produktivmodus deaktivieren. Alle Dateien werden von diesem Server ausgeliefert.
+offline_mode_popup=CDN deaktivieren. Alle benötigten Dateien werden von diesem Server ausgeliefert.
disable_gravatar=Gravatar-Dienst deaktivieren
disable_gravatar_popup=Gravatar und benutzerdefinierte Quellen deaktivieren. Alle Profilbilder werden vom Nutzer hochgeladen oder sind das Standard-Profilbild.
federated_avatar_lookup=Suche nach föderierten Profilbildern einschalten
@@ -111,7 +120,7 @@ enable_captcha=Captcha aktivieren
enable_captcha_popup=Captcha-Eingabe bei der Registrierung erforderlich.
require_sign_in_view=Seiten nur für angemeldete Benutzer zugänglich.
require_sign_in_view_popup=Nur angemeldete Benutzer können auf alle Seiten zugreifen. Gäste sehen nur die Seiten Anmelden/Registrieren.
-admin_setting_desc=`Du musst jetzt kein Administrator-Konto anlegen. Der erste Benutzer (Id=1) erhält automatisch Administrator-Rechte.`
+admin_setting_desc=Du musst jetzt kein Administrator-Konto anlegen. Der erste Benutzer, der sich registriert, erhält automatisch Administrator-Rechte.
admin_title=Administrator Einstellungen
admin_name=Benutzername
admin_password=Passwort
@@ -120,15 +129,17 @@ admin_email=Administrator E-Mail
install_btn_confirm=Gitea installieren
test_git_failed=Fehler beim Test des 'git' Kommandos: %v
sqlite3_not_available=Deine Gitea-Version unterstützt SQLite3 nicht. Bitte lade die offizielle binäre Version von %s herunter, NICHT die gobuild-Version.
-invalid_db_setting=Datenbankeinstellungen sind nicht korrekt: %v
+invalid_db_setting=Datenbankeinstellungen sind ungültig: %v
invalid_repo_path=Repository Verzeichnis ist ungültig: %v
run_user_not_match=Der ausführende Benutzer ist nicht der aktuelle Benutzer: %s -> %s
save_config_failed=Fehler beim Speichern der Konfiguration: %v
invalid_admin_setting=Admin-Konto Einstellungen sind ungültig: %v
-install_success=Herzlich Willkommen! Wir sind froh, dass du dich für Gitea entschieden hast. Wir wünschen viel Vergnügen damit.
+install_success=Willkommen! Danke, dass du Gitea gewählt hast. Viel Spaß!
invalid_log_root_path=Pfad zum Log-Verzeichnis ist ungültig: %v
-default_keep_email_private=Standard-Wert für "Private E-Mail-Adressen"
+default_keep_email_private=Standard-Wert für "Private E-Mail-Adressen
default_keep_email_private_popup=Das ist der der Standardwert für die Sichtbarkeit der E-Mail-Adresse der Benutzer. Die E-Mail-Adressen aller neu registrierten Benutzer werden versteckt wenn eingeschalten, außer der Benutzer ändert seine Einstellung.
+default_allow_create_organization=Berechtigung, die es neuen Benutzern erlaubt Organisationen zu erstellen
+default_allow_create_organization_popup=Dies ist die Berechtigung, die neue Benutzer standartmäßig haben. Wenn dies auf "wahr" gesetzt ist, können neue Benutzer Organisationen erstellen.
no_reply_address=No-Reply Adresse
no_reply_address_helper=Domain für die E-Mail-adresse des Benutzers in den git logs, wenn der Benutzer seine E-Mail privat halten möchte. (z.B. Benutzer 'joe' und 'noreply.example.org' als Einstellung -> 'joe@noreply.example.org')
@@ -151,25 +162,26 @@ repos=Repositories
users=Benutzer
organizations=Organisationen
search=Suche
-repo_no_results=Es wurden keine passenden Repositories gefunden.
-user_no_results=Es wurden keine passenden Benutzer gefunden.
-org_no_results=Es wurden keine passenden Organisationen gefunden.
+repo_no_results=Es konnten keine passenden Repositories gefunden werden.
+user_no_results=Es konnten keine passenden Benutzer gefunden werden.
+org_no_results=Es konnten keine passenden Organisation gefunden werden.
[auth]
-create_new_account=Neues Konto erstellen
+create_new_account=Konto erstellen
register_helper_msg=Haben Sie bereits ein Konto? Jetzt anmelden!
-social_register_helper_msg=Hast du bereits ein Konto? Jetzt verknüpfen!
+social_register_helper_msg=Haben Sie bereits ein Konto? Jetzt anmelden!
disable_register_prompt=Die Registrierung wurde deaktiviert. Bitte wende dich an den Administrator.
disable_register_mail=Es tut uns leid, die Bestätigung der Registrierungs-E-Mail wurde deaktiviert.
remember_me=Angemeldet bleiben
-forgot_password=Passwort vergessen
-forget_password=Passwort vergessen?
+forgot_password_title=Passwort vergessen
+forgot_password=Passwort vergessen?
sign_up_now=Möchtest du ein Konto? Registriere dich jetzt.
-confirmation_mail_sent_prompt=Eine neue Bestätigungs-E-Mail wurde an %s gesendet. Bitte kontrolliere dein Postfach innerhalb der nächsten %d Stunden, um die Registrierung abzuschließen.
+confirmation_mail_sent_prompt=Eine neue Bestätigungs-E-Mail wurde an %s gesendet. Bitte kontrolliere dein Postfach innerhalb der nächsten %s, um die Registrierung abzuschließen.
+reset_password_mail_sent_prompt=Eine E-Mail wurde an %s gesendet. Bitte kontrolliere dein Postfach innerhalb der nächsten %s, um das Passwort zurückzusetzen.
active_your_account=Aktiviere dein Konto
prohibit_login=Anmelden verboten
-prohibit_login_desc=Die Anmeldung mit diesem Konto ist nicht gestattet. Bitte kontaktiere den Administrator.
-resent_limit_prompt=Es tut uns leid, aber du hast bereits eine Aktivierungs-E-Mail angefordert. Bitte warte 3 Minuten und probiere es dann nochmal.
+prohibit_login_desc=Dein Account wurde gesperrt, bitte wende dich an den Administrator.
+resent_limit_prompt=Du hast bereits eine Aktivierungs-E-Mail angefordert. Bitte warte 3 Minuten und probiere es dann nochmal.
has_unconfirmed_mail=Hallo %s, du hast eine unbestätigte E-Mail-Adresse (%s ). Wenn du keine Bestätigungs-E-Mail erhalten hast oder eine neue senden möchtest, klicke bitte auf den folgenden Button.
resend_mail=Hier klicken, um die Aktivierungs-E-Mail erneut zu versenden
email_not_associate=Diese E-Mail-Adresse ist mit keinem Konto verknüpft.
@@ -178,20 +190,29 @@ reset_password=Passwort zurücksetzen
invalid_code=Es tut uns leid, der Bestätigungscode ist abgelaufen oder ungültig.
reset_password_helper=Hier klicken, um das Passwort zurückzusetzen
password_too_short=Das Passwort muss mindenstens %d Zeichen lang sein.
-non_local_account=Nicht-lokale Konten können Passwörter nicht via Gitea ändern.
+non_local_account=Nicht-Lokale Accounts können ihre Passwörter nicht über das Gitea-Webinterface ändern.
verify=Verifizieren
scratch_code=Einmalpasswort
use_scratch_code=Einmalpasswort verwenden
twofa_scratch_used=Du hast dein Einmalpasswort verwendet. Du wurdest zu den Einstellung der Zwei-Faktor-Authentifizierung umgeleitet, dort kannst du dein Gerät abmelden oder ein neues Einmalpasswort erzeugen.
twofa_passcode_incorrect=Ungültiger PIN. Wenn du dein Gerät verlegt hast, verwende dein Einmalpasswort.
twofa_scratch_token_incorrect=Dein Einmalpasswort ist falsch.
+login_userpass=Benutzer / Passwort
+login_openid=OpenID
+openid_connect_submit=Verbinden
+openid_connect_title=Mit bestehendem Account verbinden
+openid_connect_desc=Die eingegebene OpenID ist uns unbekannt, du kannst sie mit einem bestehendem Account verbinden.
+openid_register_title=Neues Konto einrichten
+openid_register_desc=Die eingegebene OpenID ist uns unbekannt, du kannst sie hier mit einem neuen Account verbinden.
+openid_signin_desc=Beispiel-URIs: https://anne.me, bob.openid.org.cn, gnusocial.net/carry
+disable_forgot_password_mail=Das zurücksetzen von Passwörtern wurde deaktiviert. Bitte kontaktiere den Administrator.
[mail]
activate_account=Bitte aktiviere dein Konto
activate_email=Bestätige deine E-Mail-Adresse
reset_password=Passwort zurücksetzen
-register_success=Registrierung erfolgreich, Willkommen
-register_notify=Willkommen an Bord
+register_success=Registrierung erfolgreich
+register_notify=Willkommen bei Gitea
[modal]
yes=Ja
@@ -219,8 +240,9 @@ TreeName=Dateipfad
Content=Inhalt
require_error=` darf nicht leer sein.`
-alpha_dash_error=` kann ausschließlich alphanumerische Zeichen und "-_" enthalten.`
-alpha_dash_dot_error=` kann ausschließlich alphanumerische Zeichen und ".-_" enthalten.`
+alpha_dash_error=` kann ausschließlich alphanumerische Zeichen und (-_) enthalten.`
+alpha_dash_dot_error=` müssen gültige alphanumerische, dash(-_) oder Punkt-Zeichen sein. `
+git_ref_name_error=` muss ein wohlgeformter Git-Referenzname sein `
size_error=` muss die Größe %s haben.`
min_size_error=` muss mindestens %s Zeichen enthalten.`
max_size_error=` darf höchstens %s Zeichen enthalten.`
@@ -232,24 +254,29 @@ captcha_incorrect=Captcha stimmt nicht überein.
password_not_match=Die Passwörter stimmen nicht überein.
username_been_taken=Benutzername ist bereits vergeben.
-repo_name_been_taken=Repository-Name ist bereits vergeben.
-org_name_been_taken=Organisationsname ist bereits vergeben.
-team_name_been_taken=Teamname ist bereits vergeben.
+repo_name_been_taken=Dieser Repository-Name wird schon verwendet.
+org_name_been_taken=Name der Organisation wird bereits verwendet.
+team_name_been_taken=Teamname ist bereits vorhanden.
+team_no_units_error=Das Team muss mindestens eine Einheit aktiviert haben.
email_been_used=E-Mail-Adresse wird bereits verwendet.
-username_password_incorrect=Benutzername oder Passwort ist nicht korrekt.
+openid_been_used=OpenID-Adresse "%s" wurde bereits verwendet.
+username_password_incorrect=Falscher Benutzername oder Passwort.
enterred_invalid_repo_name=Bitte achte darauf, dass der eingegebene Repository-Name korrekt ist.
enterred_invalid_owner_name=Bitte achte darauf, dass der eingegebene Name des Besitzers korrekt ist.
enterred_invalid_password=Bitte achte darauf, dass das eingegebene Passwort richtig ist.
-user_not_exist=Angegebener Benutzer existiert nicht.
-last_org_owner=Entfernen des letzten Mitglieds aus einem Eigentümer-Team ist nicht zulässig, da es immer mindestens einen Eigentümer je Organisation geben muss.
+user_not_exist=Dieser Benutzer ist nicht vorhanden.
+last_org_owner=Entfernen des letzten Mitglieds aus einem Eigentümer-Team ist nicht zulässig, da es immer mindestens einen Eigentümer pro Organisation geben muss.
+cannot_add_org_to_team=Organisationen können nicht als Teammitglied hinzugefügt werden.
+cannot_invite_org_to_org=Organisationen können nicht in Teams eingeladen werden.
invalid_ssh_key=Leider konnte der SSH-Schlüssel vom Server nicht überprüfen werden: %s
-unable_verify_ssh_key=Gitea kann deinen SSH-Schlüssel nicht überprüfen, nimmt aber an, dass er gültig ist. Bitte stell das sicher.
+invalid_gpg_key=Leider konnte der GPG-Schlüssel vom Server nicht überprüft werden: %s
+unable_verify_ssh_key=Bitte überprüfe den SSH-Schlüssel nochmal, da er nicht verifiziert werden konnte.
auth_failed=Authentifizierung fehlgeschlagen: %v
-still_own_repo=Dein Konto besitzt noch Repositories. Diese müssen zuerst gelöscht oder übertragen werden.
-still_has_org=Du bist noch Mitglied bei mindestens einer Organisation. Du musst alle Organisationen verlassen oder löschen.
-org_still_own_repo=Diese Organisation besitzt noch Repositories. Diese müssen zuerst gelöscht oder übertragen werden.
+still_own_repo=Dein Konto ist noch der Besitzer von mindestens einer Repository. Bitte lösche oder transferiere diese zuerst.
+still_has_org=Ihr Konto ist noch ein Mitglied mindestens einer Organisation, du musst diese zuerst verlassen.
+org_still_own_repo=Diese Organisation besitzt noch Repositories, diese musst du vorher löschen oder transferieren.
target_branch_not_exist=Ziel-Branch existiert nicht
@@ -271,24 +298,26 @@ form.name_pattern_not_allowed=Benutzernamen der Form '%s' sind nicht erlaubt.
profile=Profil
password=Passwort
avatar=Profilbild
-ssh_keys=SSH-Schlüssel
+ssh_gpg_keys=SSH / GPG Schlüssel
social=Soziale Konten
applications=Anwendungen
orgs=Organisationen
delete=Konto löschen
twofa=Zwei-Faktor-Authentifizierung
+account_link=Externe Accounts
+organization=Organisation
uid=Uid
public_profile=Öffentliches Profil
profile_desc=Deine E-Mail-Adresse ist öffentlich einsehbar und dient dazu, dir Benachrichtigungen bezüglich deines Kontos sowie Aktivitäten auf der Webseite zukommen zu lassen.
-password_username_disabled=Nicht-lokalen Benutzern ist es nicht erlaubt, ihren Benutzernamen zu ändern.
+password_username_disabled=Nutzer, die nicht von Gitea verwaltet sind, können ihren Benutzernamen nicht ändern. Bitte kontaktiere den Gitea-Administrator für mehr Details.
full_name=Vollständiger Name
website=Webseite
location=Standort
update_profile=Profil aktualisieren
-update_profile_success=Dein Profil wurde erfolgreich aktualisiert.
+update_profile_success=Ihr Profil wurde aktualisiert.
change_username=Benutzername geändert
-change_username_prompt=Diese Änderung wirkt sich auf die Links zu deinem Profil aus.
+change_username_prompt=Diese Änderung wird den Link zu Ihrem Profil ändern.
continue=Weiter
cancel=Abbrechen
@@ -307,88 +336,121 @@ new_password=Neues Passwort
retype_new_password=Neues Passwort erneut eingeben
password_incorrect=Aktuelles Passwort ist nicht korrekt.
change_password_success=Dein Passwort wurde geändert. Du kannst dich jetzt mit deinem neuen Passwort anmelden.
-password_change_disabled=Nicht-lokalen Benutzern ist es nicht erlaubt, ihr Passwort zu ändern.
+password_change_disabled=Nicht-lokale Benutzer dürfen nicht ihr Kennwort über das Webinterface ändern.
emails=E-Mail-Adressen
manage_emails=E-Mail-Adressen verwalten
+manage_openid=OpenID-Adressen verwalten
email_desc=Deine primäre E-Mail-Adresse wird für Benachrichtigungen und andere Funktionen verwendet.
primary=Primär
primary_email=Als primäre Adresse verwenden
delete_email=Löschen
-email_deletion=E-Mail löschen
-email_deletion_desc=Das Löschen dieser E-Mail Adresse wird alle Informationen entfernen, die mit dieser E-Mail Adresse verknüpft sind. Wollen Sie fortfahren?
+email_deletion=E-Mail-Adresse löschen
+email_deletion_desc=Wenn du diese E-Mail-Adresse löschst, werden alle mit deinem Konto verknüpften Informationen verloren gehen. Git commits, die mit dieser E-Mail ausgeführt werden, bleiben ungeändert. Willst du fortfahren?
email_deletion_success=E-Mail-Adresse wurde erfolgreich gelöscht!
+openid_deletion=OpenID Löschen
+openid_deletion_desc=Du wirst dich nicht mehr mit dieser OpenID anmelden können, wenn du sie löschst. Weiter?
+openid_deletion_success=OpenID wurde erfolgreich gelöscht!
add_new_email=Neue E-Mail-Adresse hinzufügen
+add_new_openid=Neue OpenID-URI hinzufügen
add_email=E-Mail-Adresse hinzufügen
-add_email_confirmation_sent=Eine neue Bestätigungsmail wurde an '%s' gesendet, bitte überprüfe deinen Posteingang innerhalb von %d Stunden um die E-Mail-Adresse zu bestätigen.
+add_openid=OpenID-URI hinzufügen
+add_email_confirmation_sent=Eine neue Bestätigungs-E-Mail wurde an '%s' gesendet. Kontrolliere dein Postfach innerhalb der nächsten %s, um die Verifizierung abzuschließen.
add_email_success=Dein neue E-Mail-Adresse wurde erfolgreich hinzugefügt.
-keep_email_private=Private E-Mail-Adressen
+add_openid_success=Deine neue OpenID-Adresse wurde erfolgreich hinzugefügt.
+keep_email_private=E-Mail-Adresse nicht veröffentlichen
keep_email_private_popup=Deine E-Mail-Adresse wird vor anderen Benutzern versteckt, wenn diese Option gesetzt ist.
+openid_desc=Mit deinen OpenID-Adressen kannst du die Authentifizierung an einen provider deiner Wahl delegieren
manage_ssh_keys=SSH-Schlüssel verwalten
+manage_gpg_keys=GPG-Schlüssel verwalten
add_key=Schlüssel hinzufügen
ssh_desc=Dies ist eine Liste aller SSH-Schlüssel, die deinem Konto zugeordnet sind. Bitte entferne alle Schlüssel, die dir unbekannt sind.
+gpg_desc=Dies ist eine Liste aller GPG-Schlüssel, die deinem konto zugeordnet sind. Bitte entferne alle Schlüssel, die dir unbekannt sind.
ssh_helper=Brauchst du Hilfe? Hier ist eine Anleitung zum Erzeugen von SSH-Schlüsseln oder Lösen einfacher SSH-Probleme .
+gpg_helper=Brauchst du Hilfe? Hier ist GitHubs Anleitung über GPG .
add_new_key=SSH-Schlüssel hinzufügen
-ssh_key_been_used=Inhalt des öffentlichen Schlüssels wurde verwendet.
-ssh_key_name_used=Ein öffentlicher Schlüssel mit diesem Namen existiert bereits.
+add_new_gpg_key=GPG-Schlüssel hinzufügen
+ssh_key_been_used=Dieser öffentliche Schlüssel wird bereits verwendet.
+ssh_key_name_used=Ein öffentlicher Schlüssel mit demselben Namen ist bereits vorhanden.
+gpg_key_id_used=Ein öffentlicher GPG-Schlüssel mit der gleichen ID existiert bereits.
+gpg_key_email_not_found=Folgende mit dem GPG-Schlüssel verbundene E-Mail konnte nicht gefunden werden oder ist noch nicht bestätigt: %s
+subkeys=Unterschlüssel
+key_id=Schlüssel-ID
key_name=Schlüsselname
key_content=Inhalt
-add_key_success=Neuer SSH-Schlüssel '%s' wurde erfolgreich hinzugefügt!
+add_key_success=Ihr SSH-Schlüssel "%s" wurde hinzugefügt.
+add_gpg_key_success=Ihr GPG-Schlüssel "%s" wurde hinzugefügt.
delete_key=Löschen
ssh_key_deletion=SSH-Schlüssel löschen
-ssh_key_deletion_desc=Alle zu diesem SSH-Schlüssel zugehörigen Zugriffsberechtigungen auf dein Konto werden entfernt. Möchtest du fortfahren?
-ssh_key_deletion_success=SSH-Schlüssel wurde erfolgreich gelöscht!
+gpg_key_deletion=GPG-Schlüssel löschen
+ssh_key_deletion_desc=Wenn du diesen SSH-Schlüssel löschst, wirst du nicht mehr in der Lage sein, dich mit diesem Schlüssel auf deinem Account anzumelden. Fortfahren?
+gpg_key_deletion_desc=Wenn du diesen GPG-Schlüssel löschst, werden alle Commits, die damit signiert wurden als unsigniert makiert. Fortfahren?
+ssh_key_deletion_success=Der SSH-Schlüssel wurde gelöscht.
+gpg_key_deletion_success=Der GPG-Schlüssel wurde gelöscht.
add_on=Hinzugefügt am
+valid_until=Gültig bis
+valid_forever=Gültig für immer
last_used=Zuletzt verwendet am
no_activity=Keine neuen Aktivitäten
key_state_desc=Dieser Schlüssel wurde in den letzten 7 Tagen verwendet
token_state_desc=Dieses Token wurde in den letzten 7 Tagen benutzt
+show_openid=Im Profil anzeigen
+hide_openid=Nicht im Profil anzeigen
manage_social=Verknüpfte soziale Konten verwalten
-social_desc=Dies ist eine Liste verknüpfter sozialer Konten. Bitte entferne alle Verknüpfungen, die dir nicht bekannt sind.
+social_desc=Dies ist eine Liste der zugeordneten Konten von sozialen Netzwerken. Bitte stelle sicher, dass du alle dieser Accounts kennst, da sie benutzt werden können, um sich mit deinem Account anzumelden.
unbind=Verknüpfung entfernen
-unbind_success=Die Verknüpfung zum sozialen Konto wurde entfernt.
+unbind_success=Das Social-Konto wurde von deinem Account entfernt.
manage_access_token=Verwaltung persönlicher Zugangs-Token
generate_new_token=Neuen Token erzeugen
-tokens_desc=Die von Ihnen erzeugten Token können zum Zugriff auf die Gitea-API verwendet werden.
+tokens_desc=Von dir erzeugten Token, können zum Zugriff auf die Gitea-API verwendet werden.
new_token_desc=Jeder Token ermöglicht vollen Zugriff auf dein Konto.
token_name=Token-Name
generate_token=Token generieren
-generate_token_succees=Dein Zugangs-Token wurde erfolgreich generiert! Stelle sicher, dass du den Token kopiert hast, da du ihn später nicht mehr betrachten kannst!
+generate_token_success=Dein Zugangs-Token wurde erfolgreich erstellt! Denk daran, es jetzt gleich zu kopieren, später wirst du es nicht mehr sehen!
delete_token=Löschen
access_token_deletion=Persönlichen Token entfernen
-access_token_deletion_desc=Das Löschen dieses persönlichen Zugangs-Tokens wird alle zugehörigen Zugriffe der Anwendung entfernen. Möchtest du fortfahren?
-delete_token_success=Persönlicher Zugriffs-Token wurde erfolgreich entfernt! Vergiss nicht deine Anwendungen zu aktualisieren.
+access_token_deletion_desc=Wenn du dieses Zugangs-Token löschst, wird das der Zugang für sämtliche Applikationen, die es nutzen, nicht mehr möglich sein. Fortfahren?
+delete_token_success=Das persönliche Zugangstoken wurde erfolgreich entfernt! Vergiss nicht, es aus Apps zu entfernen, welche es nutzen.
-twofa_desc=Gitea unterstützt Zwei-Faktor-Authentifizierung um dir eine erhöhte Sicherheit deines Accounts bieten zu können.
-twofa_is_enrolled=Für dein Konto ist die Zwei-Faktor-Authentifizierung eingeschalten .
-twofa_not_enrolled=Für dein Konto ist momentan die Zwei-Faktor-Authentifizierung nicht eingeschalten.
+twofa_desc=Gitea unterstützt Zwei-Faktor-Authentifizierung, um dir eine erhöhte Sicherheit deines Accounts bieten zu können.
+twofa_is_enrolled=Für dein Konto ist die Zwei-Faktor-Authentifizierung eingeschaltet .
+twofa_not_enrolled=Für dein Konto ist momentan die Zwei-Faktor-Authentifizierung nicht eingeschaltet.
twofa_disable=Zwei-Faktor-Authentifizierung deaktivieren
twofa_scratch_token_regenerate=Neues Einmalpasswort erstellen
twofa_scratch_token_regenerated=Ein neues Einmalpasswort wurde generiert. Es lautet %s. Bewahre es an einem sicheren Ort auf.
twofa_enroll=Zwei-Faktor-Authentifizierung aktivieren
twofa_disable_note=Du kannst Zwei-Faktor-Authentifizierung auch deaktivieren.
-twofa_disable_desc=Die Deaktivierung von Zwei-Faktor-Authentifizierung wird dein Benutzerkonto weniger sicher machen. Möchtest du wirklich fortfahren?
-regenerate_scratch_token_desc=Wenn du dein Einmalpasswort verlegt oder du dich damit eingeloggt hast, kannst du es zurücksetzen.
+twofa_disable_desc=Die Deaktivierung von Zwei-Faktor-Authentifizierung wird die Sicherheit deines Kontos verringern. Möchtest du wirklich fortfahren?
+regenerate_scratch_token_desc=Wenn du dein Einmalpasswort verlegt oder du dich damit eingeloggt hast, kannst du es hier zurücksetzen.
twofa_disabled=Zwei-Faktor-Authentifizierung wurde deaktiviert.
scan_this_image=Scanne dieses Grafik mit deiner Authentifizierungs-App:
or_enter_secret=Oder gib das Secret ein: %s
-then_enter_passcode=Dann gib den PIN ein, die Anwendung gibt dir zurück:
+then_enter_passcode=Und gebe den PIN ein, die die Anwendung dir gibt:
passcode_invalid=Der PIN ist ungültig. Versuche es erneut.
twofa_enrolled=Die Zwei-Faktor-Authentifizierung ist jetzt für dein Konto aktiviert. Vergewissere dich, dass du das Einmalpasswort (%s) gespeichert hast, da es nur einmal angezeigt wird!
+manage_account_links=Verknüpfte Konten verwalten
+manage_account_links_desc=Externe, mit diesem Accounts verknüpfte Accounts
+account_links_not_available=Es sind keine externen Accounts mit diesem verknüpft
+remove_account_link=Verknüpftes Konto entfernen
+remove_account_link_desc=Das Löschen dieses Kontos wird sämtlichen verbundenen Zugang zu deinem Account entfernen. Fortfahren?
+remove_account_link_success=Verknüpftes Konto wurde erfolgreich entfernt!
+
+orgs_none=Sie sind kein Mitglied einer Organisation.
+
delete_account=Konto löschen
delete_prompt=Diese Aktion wird dein Konto dauerhaft löschen und kann NICHT rückgängig gemacht werden!
confirm_delete_account=Löschvorgang bestätigen
delete_account_title=Konto löschen
-delete_account_desc=Du bist dabei dieses Konto dauerhaft zu löschen. Möchten du wirklich fortfahren?
+delete_account_desc=Sind Sie sicher, dass Sie dieses Konto dauerhaft löschen möchten?
[repo]
owner=Besitzer
repo_name=Repository-Name
-repo_name_helper=Ein guter Repository-Name besteht gewöhnlich aus kurzen, leicht zu merkenden und eindeutigen Schlüsselworten.
+repo_name_helper=Ein guter Repository-Name besteht normalerweise aus kurzen, unvergessliche und einzigartige Schlagwörtern.
visibility=Sichtbarkeit
visiblity_helper=Dieses Repository ist privat
visiblity_helper_forced=Der Administrator hat festgelegt, dass alle neuen Repositories privat sein müssen
@@ -408,8 +470,9 @@ auto_init=Repository mit ausgewählten Dateien und Vorlagen initialisieren
create_repo=Repository erstellen
default_branch=Standard-Branch
mirror_prune=Entfernen
-mirror_prune_desc=Entferne alle Verweise auf nicht mehr existierende entfernte Repositories
-mirror_interval=Mirror-Intervall (in Stunden)
+mirror_prune_desc=Entferne alle Verweise auf nicht mehr existierende Remote-Repositories
+mirror_interval=Spiegel Intervall (gültige Zeiteinheiten sind "h", "m", "s")
+mirror_interval_invalid=Spiegel-Intervall ist nicht gültig
mirror_address=Mirror-Adresse
mirror_address_desc=Bitte die nötigen Zugangsdaten in die Adresse mit aufnehmen.
mirror_last_synced=Zuletzt synchronisiert
@@ -417,8 +480,8 @@ watchers=Beobachter
stargazers=In Favoriten von
forks=Forks
-form.reach_limit_of_creation=Der Besitzer hat die maximale Anzahl von %d erstellbaren Repositories erreicht.
-form.name_reserved=Repository-Name '%s' ist reserviert.
+form.reach_limit_of_creation=Sie haben bereits das Limit von %d Repositories erreicht.
+form.name_reserved=Der Repository-Name '%s' ist reserviert.
form.name_pattern_not_allowed=Repository-Namen der Form '%s' sind nicht erlaubt.
need_auth=Authorisierung benötigt
@@ -428,12 +491,14 @@ migrate_repo=Repository migrieren
migrate.clone_address=Adresse kopieren
migrate.clone_address_desc=Dies kann eine HTTP/HTTPS/GIT URL oder ein lokaler Serverpfad sein.
migrate.clone_local_path=oder Pfad auf dem lokalen Server
-migrate.permission_denied=Ihnen fehlen die Rechte zum Importieren lokaler Repositories.
+migrate.permission_denied=Dir wurde die Berechtigung zum Importieren lokaler Repositories nicht erteilt.
migrate.invalid_local_path=Der lokale Pfad ist ungültig, existiert nicht oder ist kein Ordner.
migrate.failed=Fehler bei Migration: %v
+migrate.lfs_mirror_unsupported=Spiegelung von LFS-Objekten wird nicht unterstützt - nutze stattdessen 'git lfs fetch --all' and 'git lfs push --all'.
mirror_from=Mirror von
forked_from=geforkt von
+fork_from_self=Du kannst kein Repository forken, das dir gehört!
copy_link=Kopieren
copy_link_success=Kopiert!
copy_link_error=Drücke ⌘-C oder Strg-C zum Kopieren
@@ -449,10 +514,11 @@ no_desc=Keine Beschreibung
quick_guide=Kurzanleitung
clone_this_repo=Dieses Repository klonen
create_new_repo_command=Erstelle ein neues Repository mittels der Kommandozeile
-push_exist_repo=Bestehendes Repository von der Kommandozeile pushen
-repo_is_empty=Dieses Repository ist leer. Bitte komm später wieder!
+push_exist_repo=Bestehendes Repository via Kommandozeile pushen
+bare_message=Diese Repository hat noch keinen Inhalt.
code=Code
+code.desc=Code ist der Speicherort des Codes
branch=Branch
tree=Struktur
filter_branch_and_tag=Nach Branch oder Tag filtern
@@ -471,12 +537,13 @@ file_permalink=Permalink
file_too_large=Diese Datei ist zu groß zum Anzeigen
video_not_supported_in_browser=Dein Browser unterstützt den HTML5 Video-Tag nicht.
stored_lfs=Gespeichert mit Git LFS
+commit_graph=Commit graph
editor.new_file=Neue Datei
editor.upload_file=Datei hochladen
editor.edit_file=Datei bearbeiten
editor.preview_changes=Vorschau der Änderungen
-editor.cannot_edit_non_text_files=Nicht-Text Dateien können nicht bearbeitet werden
+editor.cannot_edit_non_text_files=Binärdateien können nicht über das Web-Interface bearbeitet werden
editor.edit_this_file=Datei bearbeiten
editor.must_be_on_a_branch=Sie müssen sich in einem Branch befinden, um Änderungen an dieser Datei vorzuschlagen oder vorzunehmen
editor.fork_before_edit=Du musst die Repository forken um die Datei bearbeiten zu können
@@ -510,17 +577,25 @@ editor.fail_to_update_file=Fehler beim Ändern/Erstellen der Datei '%s'. Fehler:
editor.add_subdir=Unterverzeichnis erstellen...
editor.unable_to_upload_files=Fehler beim Hochladen der Dateien zu '%s'. Fehler: %v
editor.upload_files_to_dir=Dateien hochladen nach '%s'
+editor.cannot_commit_to_protected_branch=Auf die geschützte Branch "%s" kann nicht geschrieben werden.
+commits.desc=Commits zeigen die Änderungshistorie des Codes
commits.commits=Commits
commits.search=Commits durchsuchen
-commits.search_all=Alle
-commits.find=Finden
+commits.find=Suchen
+commits.search_all=Alle Branches
commits.author=Autor
commits.message=Nachricht
commits.date=Datum
commits.older=Älter
commits.newer=Neuer
+commits.signed_by=Signiert von
+commits.gpg_key_id=GPG Schlüssel ID
+ext_issues=Ext Issues
+ext_issues.desc=Externe Issues zu einer externen Website zuweisen
+
+issues.desc=Issues ist der Platz zum Verwalten der Aufgaben und Fehler
issues.new=Neues Issue
issues.new.labels=Label
issues.new.no_label=Kein Label
@@ -542,11 +617,12 @@ issues.label_templates.info=Es sind noch keine Label vorhanden. Du kannst vordef
issues.label_templates.helper=Wähle ein Label
issues.label_templates.use=Dieses Label Set benutzen
issues.label_templates.fail_to_load_file=Fehler beim Laden der Label Template Datei '%s': %v
-issues.add_label_at=`fügte hinzu %s
label %s`
-issues.remove_label_at=`entfernte %s
label %s`
+issues.add_label_at=`fügte hinzu %s
label %s`
+issues.remove_label_at=`entfernte %s
label %s`
issues.add_milestone_at=`fügte das Issue zum %s Meilenstein hinzu %s`
issues.change_milestone_at=`änderte den Meilenstein von %s zu %s %s`
issues.remove_milestone_at=`entfernte das Issue vom %s Meilenstein %s`
+issues.deleted_milestone=`(gelöscht)`
issues.self_assign_at=`wies sich das Issue selbst zu %s`
issues.add_assignee_at=`wurde zugewiesen von %s %s`
issues.remove_assignee_at=`entfernte seine Zuweisung %s`
@@ -562,8 +638,8 @@ issues.filter_assignee=Zuständig
issues.filter_assginee_no_select=Keine Zuständigkeit ausgewählt
issues.filter_type=Typ
issues.filter_type.all_issues=Alle Issues
-issues.filter_type.assigned_to_you=Ihnen zugewiesen
-issues.filter_type.created_by_you=Von Ihnen erstellt
+issues.filter_type.assigned_to_you=Dir zugewiesen
+issues.filter_type.created_by_you=Von dir erstellt
issues.filter_type.mentioning_you=Erwähnt Sie
issues.filter_sort=Sortieren
issues.filter_sort.latest=Neueste
@@ -572,6 +648,13 @@ issues.filter_sort.recentupdate=Kürzlich aktualisiert
issues.filter_sort.leastupdate=Am längsten nicht aktualisiert
issues.filter_sort.mostcomment=Am meisten kommentiert
issues.filter_sort.leastcomment=Am wenigsten kommentiert
+issues.action_open=Offen
+issues.action_close=Schließen
+issues.action_label=Label
+issues.action_milestone=Meilenstein
+issues.action_milestone_no_select=Kein Meilenstein
+issues.action_assignee=Zuständig
+issues.action_assignee_no_select=Niemand zuständig
issues.opened_by=%[1]s geöffnet von %[3]s
issues.opened_by_fake=geöffnet %[1]s von %[2]s
issues.previous=Vorherige
@@ -605,14 +688,19 @@ issues.label_edit=Bearbeiten
issues.label_delete=Löschen
issues.label_modify=Label ändern
issues.label_deletion=Label löschen
-issues.label_deletion_desc=Das Label wird von allen verknüpften Issues entfernt. Möchtest du fortfahren?
-issues.label_deletion_success=Label wurde erfolgreich gelöscht!
+issues.label_deletion_desc=Durch das löschen des Labels wird dieses von jeden Issues entfernt. Bist du dir sicher?
+issues.label_deletion_success=Das Label wurde erfolgreich gelöscht!
issues.label.filter_sort.alphabetically=Alphabetisch
issues.label.filter_sort.reverse_alphabetically=Umgekehrt alphabetisch
+issues.label.filter_sort.by_size=Größe
+issues.label.filter_sort.reverse_by_size=Umgekehrte Größe
issues.num_participants=%d Beteiligte
issues.attachment.open_tab=`Klicken um "%s" in einem neuen Tab zu öffnen`
issues.attachment.download=`Klicken um "%s" herunterzuladen`
+issues.subscribe=Abonnieren
+issues.unsubscribe=Abbestellen
+pulls.desc=Pull-Requests helfen dir deinen Code zu überprüfen und neuen Code mit der Codebasis zusammenzuführen
pulls.new=Neuer Pull-Request
pulls.compare_changes=Änderungen vergleichen
pulls.compare_changes_desc=Zwei Branches vergleichen und einen Pull-Request für die Änderungen erstellen.
@@ -628,24 +716,24 @@ pulls.merged_title_desc=hat %[1]d Commits von %[2]s nach %[3]
pulls.tab_conversation=Diskussion
pulls.tab_commits=Commits
pulls.tab_files=Geänderte Dateien
-pulls.reopen_to_merge=Bitte diesen Pull-Request wieder eröffnen, um die Merge-Operation auszuführen.
+pulls.reopen_to_merge=Bitte diesen Pull-Request wieder öffnen, um die Merge-Operation auszuführen.
pulls.merged=Zusammengeführt
-pulls.has_merged=Dieser Pull-Request wurde erfolgreich zusammengeführt!
+pulls.has_merged=Dieser Pull-Request wurde erfolgreich zusammengeführt.
pulls.data_broken=Die Daten dieses Pull-Requests sind defekt, da Fork-Informationen gelöscht wurden.
pulls.is_checking=Die Konfliktprüfung läuft noch. Bitte aktualisiere die Seite in wenigen Augenblicken.
pulls.can_auto_merge_desc=Dieser Pull-Request kann automatisch zusammengeführt werden.
pulls.cannot_auto_merge_desc=Dieser Pull-Request kann nicht automatisch zusammengeführt werden, da es Konflikte gibt.
pulls.cannot_auto_merge_helper=Bitte manuell zusammenführen, um die Konflikte zu lösen.
pulls.merge_pull_request=Pull-Request zusammenführen
-pulls.open_unmerged_pull_exists=`Sie können diesen Pull-Request nicht wieder öffnen, da bereits ein offener Pull-Request (#%d) aus dem selben Repository mit den gleichen Merge-Informationen existiert und auf das Zusammenführen wartet.`
+pulls.open_unmerged_pull_exists=`Du kannst diesen Pull-Request nicht wieder öffnen, da bereits ein offener Pull-Request (#%d) aus dem selben Repository mit den gleichen Merge-Informationen existiert und auf das Zusammenführen wartet.`
milestones.new=Neuer Meilenstein
milestones.open_tab=%d offen
milestones.close_tab=%d geschlossen
milestones.closed=Geschlossen %s
milestones.no_due_date=Kein Fälligkeitsdatum
-milestones.open=Offen
-milestones.close=Geschlossen
+milestones.open=Öffnen
+milestones.close=Schließen
milestones.new_subheader=Erstelle Meilensteine um Issues zu organisieren.
milestones.create=Meilenstein erstellen
milestones.title=Titel
@@ -669,9 +757,13 @@ milestones.filter_sort.most_complete=Vollständigste
milestones.filter_sort.most_issues=Meiste Issues
milestones.filter_sort.least_issues=Wenigste Issues
+ext_wiki=Ext Wiki
+ext_wiki.desc=Externe Wiki Links zu einer externen Website
+
wiki=Wiki
-wiki.welcome=Willkommen im Wiki!
+wiki.welcome=Willkommen im Wiki
wiki.welcome_desc=Im Wiki kann das Projekt gemeinsam dokumentiert werden.
+wiki.desc=Das Wiki ist der Platz für Dokumentationen
wiki.create_first_page=Erstelle die erste Seite
wiki.page=Seite
wiki.filter_page=Seite filtern
@@ -682,12 +774,13 @@ wiki.last_commit_info=%s hat diese Seite bearbeitet %s
wiki.edit_page_button=Bearbeiten
wiki.new_page_button=Neue Seite
wiki.delete_page_button=Seite löschen
-wiki.delete_page_notice_1=Die Seite "%s" wird gelöscht. Bitte sei vorsichtig.
+wiki.delete_page_notice_1=Die Seite "%s" wird gelöscht. Bitte stelle sicher, dass das deine Absicht ist.
wiki.page_already_exists=Eine Wiki-Seite mit dem gleichen Namen existiert bereits.
wiki.pages=Seiten
wiki.last_updated=Zuletzt aktualisiert %s
settings=Einstellungen
+settings.desc=In den Einstellungen kannst du die Einstellungen des Repository anpassen
settings.options=Optionen
settings.collaboration=Zusammenarbeit
settings.collaboration.admin=Adminrechte
@@ -699,7 +792,7 @@ settings.githooks=Git-Hooks
settings.basic_settings=Grundeinstellungen
settings.mirror_settings=Mirror Einstellungen
settings.sync_mirror=Jetzt synchronisieren
-settings.mirror_sync_in_progress=Mirror Synchronisierung läuft, bitte die Seite in ca. einer Minute neu laden.
+settings.mirror_sync_in_progress=Mirror sync wird ausgeführt. Bitte lade die Seite in einer Minute neu.
settings.site=Offizielle Webseite
settings.update_settings=Einstellungen speichern
settings.advanced_settings=Erweiterte Einstellungen
@@ -707,11 +800,13 @@ settings.wiki_desc=Wiki einschalten
settings.use_internal_wiki=Eingebautes Wiki verwenden
settings.use_external_wiki=Externes Wiki verwenden
settings.external_wiki_url=Externe Wiki URL
+settings.external_wiki_url_error=Externe Wiki-URL ist ungültig
settings.external_wiki_url_desc=Besucher werden auf diese URL umgeleitet, wenn sie auf den Tab klicken.
settings.issues_desc=Issue-Tracker einschalten
settings.use_internal_issue_tracker=Eingebauten Issue-Tracker verwenden
settings.use_external_issue_tracker=Externes Issue-System verwenden
settings.external_tracker_url=URL eines externen Issue Trackers
+settings.external_tracker_url_error=URL des externen Issue-Systems ist ungültig
settings.external_tracker_url_desc=Besucher werden auf diese URL umgeleitet, wenn sie auf den Tab klicken.
settings.tracker_url_format=URL-Format des externen Issue-Systems
settings.tracker_issue_style=Namenskonvention des externen Issue-Trackers:
@@ -729,22 +824,22 @@ settings.convert_succeed=Das Repository wurde erfolgreich in ein normales Reposi
settings.transfer=Besitz übertragen
settings.transfer_desc=Dieses Repository auf einen anderen Benutzer bzw. eine Organisation in der du Admin-Rechte hast, übertragen.
settings.transfer_notices_1=- Du wirst keinen Zugriff mehr haben, wenn der neue Besitzer ein individueller Benutzer ist.
-settings.transfer_notices_2=- Du wirst weiterhin Zugriff haben, wenn der neue Besitzer eine Organisation ist und du einer der Besitzer sind.
-settings.transfer_form_title=Bitte gib eine die folgenden Informationen ein, um die Operation zu bestätigen:
+settings.transfer_notices_2=- Du wirst weiterhin Zugriff haben, wenn der neue Besitzer eine Organisation ist und du einer der Besitzer bist.
+settings.transfer_form_title=Bitte gib die folgenden Informationen ein, um die Operation zu bestätigen:
settings.wiki_delete=Wiki-Daten löschen
settings.wiki_delete_desc=Das Löschen von Wiki Daten kann nicht rückgängig gemacht werden. Bitte seien Sie vorsichtig.
settings.wiki_delete_notices_1=- Dies löscht und deaktiviert das Wiki für %s
-settings.wiki_deletion_success=Repository Wiki Daten erfolgreich gelöscht.
+settings.wiki_deletion_success=Repository Wiki Daten wurden erfolgreich gelöscht.
settings.delete=Dieses Repository löschen
settings.delete_desc=Wenn dieses Repository gelöscht wurde, gibt es keinen Weg zurück. Bitte sei vorsichtig.
settings.delete_notices_1=- Diese Operation kann NICHT rückgängig gemacht werden.
settings.delete_notices_2=- Die Operation wird alles, was mit diesem Git-Repository verbunden ist, dauerhaft löschen, inklusive der Daten, Issues, Kommentare und Zugriffsrechte von Mitarbeitern.
settings.delete_notices_fork_1=- Nach dem Löschen werden alle Forks unabhängig.
-settings.deletion_success=Repository wurde erfolgreich gelöscht!
-settings.update_settings_success=Repository-Optionen aktualisiert.
+settings.deletion_success=Das Repository würde gelöscht.
+settings.update_settings_success=Repository Einstellungen wurden aktualisiert.
settings.transfer_owner=Neuer Besitzer
settings.make_transfer=Transfer starten
-settings.transfer_succeed=Das Repository wurde erfolgreich übertragen.
+settings.transfer_succeed=Repository-Eigentum wurde übertragen.
settings.confirm_delete=Löschen
settings.add_collaborator=Mitarbeiter hinzufügen
settings.add_collaborator_success=Neuer Mitarbeiter wurde hinzugefügt.
@@ -762,7 +857,7 @@ settings.webhook_deletion_desc=Das Löschen dieses Webhooks wird alle zugehörig
settings.webhook_deletion_success=Webhook wurde erfolgreich entfernt!
settings.webhook.test_delivery=Senden testen
settings.webhook.test_delivery_desc=Sendet ein simuliertes Push-Ereignis, um die Webhook-Einstellungen zu testen
-settings.webhook.test_delivery_success=Test-Webhook wurde zur Auslieferungswarteschlange hinzugefügt. Es kann einige Sekunden dauern, bevor es in der Auslieferungshistorie erscheint.
+settings.webhook.test_delivery_success=Test-Webhook wurde zur Auslieferungswarteschlange hinzugefügt. Es kann einige Sekunden dauern, bevor er in der Auslieferungshistorie erscheint.
settings.webhook.request=Anfrage
settings.webhook.response=Antwort
settings.webhook.headers=Kopfzeilen
@@ -773,7 +868,7 @@ settings.githook_edit_desc=Wenn ein Hook inaktiv ist, wird der Standardinhalt be
settings.githook_name=Hook-Name
settings.githook_content=Hook-Inhalt
settings.update_githook=Hook aktualisieren
-settings.add_webhook_desc=Gitea sendet einen POST-Request an die unten stehende URL mit Details aller abonnierten Ereignisse. Du kannst auch angeben, welches Datenformat du empfangen möchtest (JSON, x-www-form-urlencoded, etc ). Mehr Informationen findest du im Webhooks Guide .
+settings.add_webhook_desc=Gitea sendet einen POST-Request an die unten stehende URL mit Details aller abonnierten Ereignisse. Du kannst auch angeben, welches Datenformat du empfangen möchtest (JSON, x-www-form-urlencoded, etc.). Mehr Informationen findest du im Webhooks Guide .
settings.payload_url=Payload-URL
settings.content_type=Inhaltstyp
settings.secret=Secret
@@ -791,7 +886,7 @@ settings.event_pull_request_desc=Pull-Request geöffnet, geschlossen, wieder ge
settings.event_push=Push
settings.event_push_desc=Git push auf ein Repository
settings.active=Aktiv
-settings.active_helper=Details über das auslösende Ereignis des Webhooks werden ebenfalls mit gesendet
+settings.active_helper=Informationen über das auslösende Ereignis werden auch mitgesendet.
settings.add_hook_success=Webhook hinzugefügt
settings.update_webhook=Webhook aktualisieren
settings.update_hook_success=Webhook wurde aktualisiert.
@@ -812,13 +907,28 @@ settings.key_been_used=Deploy-Schlüssel wurde verwendet.
settings.key_name_used=Ein Deploy-Schlüssel mit diesem Namen existiert bereits.
settings.add_key_success=Der Deploy-Schlüssel '%s' wurde erfolgreich hinzugefügt!
settings.deploy_key_deletion=Deploy-Schlüssel löschen
-settings.deploy_key_deletion_desc=Nach dem Löschen dieses Deploy-Schlüssels werden entsprechende Zugriffe auf dieses Repository nicht mehr möglich sein. Möchtest du wirklich fortfahren?
-settings.deploy_key_deletion_success=Deploy-Schlüssel wurde erfolgreich gelöscht!
+settings.deploy_key_deletion_desc=Durch das Löschen dieses Keys wird ein Zugriff damit nicht mehr möglich sein. Fortfahren?
+settings.deploy_key_deletion_success=Der Deploy-Schlüssel wurde erfolgreich gelöscht!
+settings.branches=Branches
+settings.protected_branch=Branch-Schutz
+settings.protected_branch_can_push=Push erlauben?
+settings.protected_branch_can_push_yes=Du kannst pushen
+settings.protected_branch_can_push_no=Du kannst nicht pushen
+settings.add_protected_branch=Schutz aktivieren
+settings.delete_protected_branch=Schutz deaktivieren
+settings.add_protected_branch_success=%s erfolgreich gesperrt
+settings.add_protected_branch_failed=%s sperren fehlgeschlagen
+settings.remove_protected_branch_success=%s erfolgreich entsperrt
+settings.protected_branch_deletion=Eine geschützte Branch löschen
+settings.protected_branch_deletion_desc=Jeder mit Schreibzugriff wird direkt in diese Branch pushen können. Bist du sicher?
+settings.default_branch_desc=Die Standardbranch ist als "basis"-Branch in deinem Repository definiert, Commits und Pull-Requests werden automatisch mit dieser Branch durchgeführt wenn du keine andere angibst.
+settings.choose_branch=Wähle einen Branch...
+settings.no_protected_branch=Es gibt keine geschützten Branches
diff.browse_source=Quellcode durchsuchen
diff.parent=Ursprung
diff.commit=Commit
-diff.data_not_available=Keine Diff-Daten verfügbar.
+diff.data_not_available=Keine Diff-Daten verfügbar
diff.show_diff_stats=Diff-Statistik anzeigen
diff.show_split_view=Geteilte Ansicht
diff.show_unified_view=Gesamtansicht
@@ -828,6 +938,7 @@ diff.view_file=Datei anzeigen
diff.file_suppressed=Datei-Diff unterdrückt, da er zu groß ist
diff.too_many_files=Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.
+releases.desc=Unter Releases kannst du die Versionen deines Projekts verwalten
release.releases=Releases
release.new_release=Neues Release
release.draft=Entwurf
@@ -836,11 +947,11 @@ release.stable=Stabil
release.edit=bearbeiten
release.ahead=%d Commits zu %s seit diesem Release
release.source_code=Quelltext
-release.new_subheader=Neue Version des Projekts veröffentlichen.
-release.edit_subheader=Eine detaillierte Liste aller Änderungen verrät Benutzern, was verbessert wurde.
+release.new_subheader=Veröffentliche Versionen um Projektversionen zu verfolgen.
+release.edit_subheader=Ein ausführliche Changelog kann helfen, Benutzer verstehen, was sich geändert hat.
release.tag_name=Tag-Name
release.target=Ziel
-release.tag_helper=Wähle einen existierenden Tag, oder erstelle einen neuen Tag bei der Veröffentlichung.
+release.tag_helper=Wähle einen existierenden oder erstelle einen neuen Tag.
release.title=Titel
release.content=Inhalt
release.write=Schreiben
@@ -855,16 +966,16 @@ release.edit_release=Release bearbeiten
release.delete_release=Dieses Release löschen
release.deletion=Release löschen
release.deletion_desc=Beim Löschen dieses Releases wird das entsprechende Git-Tag gelöscht. Möchtest du fortfahren?
-release.deletion_success=Release wurde erfolgreich gelöscht!
+release.deletion_success=Das Release wurde gelöscht.
release.tag_name_already_exist=Ein Release mit diesem Tag existiert bereits.
release.tag_name_invalid=Tag-Name ist nicht gültig.
release.downloads=Downloads
branch.delete=Branch %s löschen
-branch.delete_desc=Wurde ein Branch gelöscht, so gibt es kein Zurück. Bitte sei vorsichtig.
+branch.delete_desc=Das Löschen eines Branches kann nicht Rückgängig gemacht werden.
branch.delete_notices_1=- Diese Operation kann nicht rückgängig gemacht werden.
-branch.delete_notices_2=- Diese Operation wird permanent alle Inhalte von Branch %s löschen.
-branch.deletion_success=%s wurde erfolgreich entfernt!
+branch.delete_notices_2=- Diese Operation wird permanent alle Inhalte des Branches %s löschen.
+branch.deletion_success=%s wurde gelöscht.
branch.deletion_failed=Branch %s konnte nicht gelöscht werden.
branch.delete_branch_has_new_commits=%s kann nicht gelöscht weden, da es ungemergte Commits gibt.
@@ -884,8 +995,9 @@ org_desc=Beschreibung
team_name=Teamname
team_desc=Beschreibung
team_name_helper=Unter diesem Namen kannst du in Diskussionen auf das Team verweisen.
-team_desc_helper=Worum geht es bei diesem Team?
+team_desc_helper=Wofür ist dieses Team da?
team_permission_desc=Welche Berechtigungsstufe soll das Team haben?
+team_unit_desc=Auf welche Bestandteile sollte dieses Team Zugriff haben?
form.name_reserved=Organisationsname '%s' ist bereits vergeben.
form.name_pattern_not_allowed=Organisationsnamen der Form '%s' sind nicht erlaubt.
@@ -897,9 +1009,9 @@ settings.full_name=Vollständiger Name
settings.website=Webseite
settings.location=Standort
settings.update_settings=Einstellungen speichern
-settings.update_setting_success=Organisationseinstellungen aktualisiert
-settings.change_orgname_prompt=Diese Änderung wird sich auf die Linkbezüge zur Organisation auswirken.
-settings.update_avatar_success=Profilbild-Einstellung für die Organisation wurde erfolgreich aktualisiert.
+settings.update_setting_success=Organisationseinstellungen wurden aktualisiert.
+settings.change_orgname_prompt=Diese Änderung wird die Links zur Organisation ändern.
+settings.update_avatar_success=Der Organisationsavatar wurde aktualisiert.
settings.delete=Organisation löschen
settings.delete_account=Diese Organisation löschen
settings.delete_prompt=Die Organisation wird dauerhaft gelöscht. Dies kann NICHT rückgängig gemacht werden!
@@ -926,7 +1038,7 @@ teams.leave=Verlassen
teams.read_access=Lesezugriff
teams.read_access_helper=Dieses Team wird Repositories einsehen und klonen können.
teams.write_access=Schreibzugriff
-teams.write_access_helper=Dieses Team wird seine Repositories einsehen und darauf pushen können.
+teams.write_access_helper=Dieses Team wird Repositories einsehen und klonen können.
teams.admin_access=Adminzugriff
teams.admin_access_helper=Dieses Team wird Pull- und Push-Rechte für seine Repositories haben und Mitarbeiter hinzufügen können.
teams.no_desc=Dieses Team hat keine Beschreibung
@@ -938,7 +1050,7 @@ teams.delete_team=Dieses Team löschen
teams.add_team_member=Teammitglied hinzufügen
teams.delete_team_title=Team löschen
teams.delete_team_desc=Mitglieder dieses Teams verlieren möglicherweise ihren Zugang zu einigen Repositories, wenn dieses Team gelöscht wird. Möchtest du fortfahren?
-teams.delete_team_success=Team gelöscht
+teams.delete_team_success=Das Team wurde gelöscht.
teams.read_permission_desc=Dieses Team hat Lesezugriff : Mitglieder können Team-Repositories einsehen und klonen.
teams.write_permission_desc=Dieses Team hat Schreibzugriff : Mitglieder können Team-Repositories einsehen und darauf pushen.
teams.admin_permission_desc=Dieses Team hat Adminzugriff : Mitglieder dieses Teams können pullen, pushen und Mitarbeiter zu Team-Repositories hinzufügen.
@@ -968,23 +1080,24 @@ dashboard.statistic_info=Gitea Datenbank hat %d Benutzer, %d Organ
dashboard.operation_name=Name der Operation
dashboard.operation_switch=Wechseln
dashboard.operation_run=Ausführen
-dashboard.clean_unbind_oauth=Nicht verbundene OAuths bereinigen
-dashboard.clean_unbind_oauth_success=Alle nicht verbundenen OAuth-Tokens wurden gelöscht.
+dashboard.clean_unbind_oauth=Nicht verbundene OAuths Verbindungen löschen
+dashboard.clean_unbind_oauth_success=Alle unverbundene OAuth-Verbindungen wurden gelöscht.
dashboard.delete_inactivate_accounts=Deaktivierte Konten löschen
dashboard.delete_inactivate_accounts_success=Alle deaktivierten Konten wurden erfolgreich gelöscht.
dashboard.delete_repo_archives=Alle Repository-Archive löschen
dashboard.delete_repo_archives_success=Alle Repository-Archive wurden gelöscht.
dashboard.delete_missing_repos=Alle Repository-Datensätze mit verlorenen gegangenen Git-Dateien löschen
-dashboard.delete_missing_repos_success=Alle Repository-Datensätze, mit verlorenen Git-Dateien wurden erfolgreich gelöscht.
-dashboard.git_gc_repos=Garbage Collection auf Repositories ausführen
-dashboard.git_gc_repos_success=Garbage Collection wurde auf allen Repositories erfolgreich ausgeführt.
-dashboard.resync_all_sshkeys=Datei '.ssh/authorized_keys' neu anlegen (Achtung: Schlüssel, die nicht zu Gitea gehören gehen verloren)
+dashboard.delete_missing_repos_success=Alle Repository-Datensätze mit verlorenen Git-Dateien wurden erfolgreich gelöscht.
+dashboard.git_gc_repos=Garbage Collection auf allen Repositories ausführen
+dashboard.git_gc_repos_success=Alle Repositories haben garbage collection erfolgreich beendet.
+dashboard.resync_all_sshkeys=Datei '.ssh/Authorized_keys' neuschreiben (für Gitea SSH-Schlüssel)
dashboard.resync_all_sshkeys_success=Alle öffentlichen Keys wurden erfolgreich neu geschrieben.
-dashboard.resync_all_update_hooks=Alle Aktualisierungs-Hooks von Repositories neu anlegen (wird benötigt, wenn der angepasste Konfigurationspfad geändert wurde)
-dashboard.resync_all_update_hooks_success=Die Hooks aller Repositories wurden erfolgreich neu angelegt.
-dashboard.reinit_missing_repos=Alle Repository-Datensätze mit verloren gegangenen Git-Dateien neu initialisieren
-dashboard.reinit_missing_repos_success=Alle Repository-Datensätze, die Git-Dateien verloren haben wurden erfolgreich neu initialisiert.
-
+dashboard.resync_all_hooks=Synchronisiere pre-receive, update und post-receive Hooks für alle Repositories.
+dashboard.resync_all_hooks_success=Pre-receive, update und post-receive Hooks aller Repositories wurden erfolgreich synchronisiert.
+dashboard.reinit_missing_repos=Alle Git-Repositories für welche Einträge existieren neu einlesen
+dashboard.reinit_missing_repos_success=Alle verlorenen Git-Repositories mit existierenden Einträgen wurden erfolgreich aktualisiert.
+dashboard.sync_external_users=Externe Benutzerdaten synchronisieren
+dashboard.sync_external_users_started=Externe Benutzer Synchronisation gestartet
dashboard.server_uptime=Server-Uptime
dashboard.current_goroutine=Aktuelle Goroutines
dashboard.current_memory_usage=Aktuelle Speichernutzung
@@ -1015,7 +1128,7 @@ dashboard.total_gc_pause=Gesamte GC-Pause
dashboard.last_gc_pause=Letzte GC-Pause
dashboard.gc_times=Anzahl GC
-users.user_manage_panel=Benutzer
+users.user_manage_panel=Benutzerverwaltung
users.new_account=Neues Konto erstellen
users.name=Name
users.activated=Aktiviert
@@ -1025,7 +1138,7 @@ users.created=Erstellt am
users.last_login=Letzte Anmeldung
users.never_login=Niemals eingeloggt
users.send_register_notify=Bei der Registrierung eine Benachrichtigung an den Benutzer senden
-users.new_success=Das neue Konto '%s' wurde erfolgreich erstellt.
+users.new_success=Der Account '%s' wurde erfolgreich erstellt.
users.edit=Bearbeiten
users.auth_source=Authentifizierungsquelle
users.local=Lokal
@@ -1035,36 +1148,39 @@ users.update_profile_success=Kontoprofil wurde erfolgreich aktualisiert.
users.edit_account=Konto bearbeiten
users.max_repo_creation=Maximale Anzahl erstellbarer Repositories
users.max_repo_creation_desc=(Auf -1 setzen, um das globale Standardlimit zu verwenden)
-users.is_activated=Dieses Konto ist aktiviert
-users.prohibit_login=Diesem Konto ist es nicht gestattet sich anzumelden
+users.is_activated=Dieses Konto hat die Aktivierung abgeschlossen
+users.prohibit_login=Diesem Konto den Login verweigern
users.is_admin=Dieses Konto hat Administratorrechte
-users.allow_git_hook=Dieses Konto ist berechtigt Git-Hooks zu erstellen
+users.allow_git_hook=Dieses Konto ist berechtigt, Git-Hooks zu erstellen
users.allow_import_local=Dieses Konto ist berechtigt, lokale Repositories zu importieren
-users.allow_create_organization=Mit diesem Konto ist das erstellen von Organisiationen erlaubt
+users.allow_create_organization=Mit diesem Konto ist das Erstellen von Organisationen erlaubt
users.update_profile=Konto aktualisieren
users.delete_account=Dieses Konto löschen
-users.still_own_repo=Dieses Konto besitzt noch Repositories. Du musst diese zuerst löschen oder übertragen.
-users.still_has_org=Dieses Konto ist noch Mitglied von Organisationen. Du musst alle Organisationen erst verlassen oder löschen.
-users.deletion_success=Das Konto wurde erfolgreich gelöscht!
+users.still_own_repo=Dieses Konto besitzt noch Repositories. Diese müssen zuerst gelöscht oder übertragen werden.
+users.still_has_org=Dieses Konto ist noch Mitglied von mindestens einer Organisation. Du musst alle Organisationen erst verlassen oder löschen.
+users.deletion_success=Das Konto wurde erfolgreich gelöscht.
-orgs.org_manage_panel=Organisationen
+orgs.org_manage_panel=Organisationsverwaltung
orgs.name=Name
orgs.teams=Teams
orgs.members=Mitglieder
+orgs.new_orga=Organisation erstellen
-repos.repo_manage_panel=Repositories
+repos.repo_manage_panel=Repositoryverwaltung
repos.owner=Besitzer
repos.name=Name
repos.private=Privat
repos.watches=Beobachtungen
repos.stars=Favoriten
repos.issues=Issues
+repos.size=Größe
auths.auth_manage_panel=Authentifizierung
auths.new=Neue Quelle hinzufügen
auths.name=Name
auths.type=Typ
auths.enabled=Aktiviert
+auths.syncenabled=Benutzersynchronisation aktivieren
auths.updated=Aktualisiert
auths.auth_type=Authentifizierungstyp
auths.auth_name=Authentifizierungsname
@@ -1090,19 +1206,39 @@ auths.smtp_auth=SMTP-Authentifizierung
auths.smtphost=SMTP-Host
auths.smtpport=SMTP-Port
auths.allowed_domains=Erlaubte Domains
-auths.allowed_domains_helper=Leer lassen für keine Einschränkungen. Mehrere Domains können durch Komma "," getrennt werden.
+auths.allowed_domains_helper=Leer lassen um alle Domains zu erlauben. Mehrere Domains können durch Komma "," getrennt werden.
auths.enable_tls=TLS-Verschlüsselung aktivieren
auths.skip_tls_verify=TLS-Prüfung überspringen
auths.pam_service_name=PAM Dienstname
+auths.oauth2_provider=OAuth2 Anbieter
+auths.oauth2_clientID=Client-ID (Schlüssel)
+auths.oauth2_clientSecret=Client-Secret
+auths.openIdConnectAutoDiscoveryURL=OpenID Connect Auto Discovery URL
+auths.oauth2_use_custom_url=Benutzerdefinierte URLs anstelle von Standard-URLs verwenden
+auths.oauth2_tokenURL=Token-URL
+auths.oauth2_authURL=Authorisier-URL
+auths.oauth2_profileURL=Profil-URL
+auths.oauth2_emailURL=E-Mail-URL
auths.enable_auto_register=Automatische Registrierung aktivieren
auths.tips=Tipps
+auths.tips.oauth2.general=OAuth2 Authentifizierung
+auths.tips.oauth2.general.tip=Beim Registrieren einer neuen OAuth2 Authentifizierung sollte die callback/weiterleitungs-URL /user/oauth2//callback sein
+auths.tip.oauth2_provider=OAuth2 Anbieter
+auths.tip.bitbucket=Registriere einen neuen OAuth consumer unter https://bitbucket.org/account/user//oauth-consumers/new und füge die Berechtigung "Account"-"Read" hinzu
+auths.tip.dropbox=Erstelle unter https://www.dropbox.com/developers/apps eine neue App
+auths.tip.facebook=Registriere unter https://developers.facebook.com/apps eine neue App und füge das Produkt "Facebook Login" hinzu
+auths.tip.github=Registriere unter https://github.com/settings/applications/new eine neue OAuth Anwendung
+auths.tip.gitlab=Registriere unter https://gitlab.com/profile/applications eine neue Anwendung
+auths.tip.google_plus=Du erhälst die OAuth2 Client Zugangsdaten in der Google API Console (https://console.developers.google.com)
+auths.tip.openid_connect=Benutze die OpenID Connect Discovery URL (/.well-known/openid-configuration), um den Endpunkt zu spezifizieren
+auths.tip.twitter=Gehe auf https://dev.twitter.com/apps, erstelle eine Anwendung und stelle sicher, dass die Option “Allow this application to be used to Sign in with Twitter” aktiviert ist.
auths.edit=Authentifizierungseinstellungen bearbeiten
auths.activated=Diese Authentifizierung ist aktiv
-auths.new_success=Neue Authentifizierung '%s' wurde erfolgreich hinzugefügt.
-auths.update_success=Die Authentifizierungseinstellungen wurden erfolgreich aktualisiert.
+auths.new_success=Die Authentifizierung "%s" wurde hinzugefügt.
+auths.update_success=Die Authentifizierungseinstellungen wurden aktualisiert.
auths.update=Authentifizierungseinstellungen aktualisieren
-auths.delete=Diese Authentifizierung löschen
-auths.delete_auth_title=Authentifizierung löschen
+auths.delete=Diese Authentifizierungsquelle löschen
+auths.delete_auth_title=Authentifizierungsquelle löschen
auths.delete_auth_desc=Diese Authentifizierung wird gelöscht. Möchtest du fortfahren?
auths.still_in_used=Diese Authentifizierung wird noch von einigen Benutzern verwendet. Bitte lösche diese Benutzer oder ändere deren Anmeldetyp.
auths.deletion_success=Authentifizierung wurde erfolgreich gelöscht!
@@ -1112,6 +1248,7 @@ config.server_config=Serverkonfiguration
config.app_name=Name der Anwendung
config.app_ver=Anwendungsversion
config.app_url=Anwendungs-URL
+config.custom_conf=Konfigurations-Datei-Pfad
config.domain=Domain
config.offline_mode=Offline-Modus
config.disable_router_log=Router-Log deaktivieren
@@ -1150,20 +1287,23 @@ config.db_path_helper=(für "sqlite3" und "tidb")
config.service_config=Service-Konfiguration
config.register_email_confirm=E-Mail-Bestätigung bei Registrierung
config.disable_register=Registrierung deaktivieren
+config.enable_openid_signup=Registrierung via OpenID aktivieren
+config.enable_openid_signin=Anmelden via OpenID aktivieren
config.show_registration_button=Schaltfläche Registrieren anzeigen
config.require_sign_in_view=Ansehen erfordert Anmeldung
config.mail_notify=E-Mail-Benachrichtigung
config.disable_key_size_check=Prüfung der Mindestschlüssellänge deaktiveren
config.enable_captcha=Captcha aktivieren
config.active_code_lives=Aktivierungscode Lebensdauer
-config.reset_password_code_lives=Passwortcode Lebensdauer
-config.default_keep_email_private=Standard-Wert für "Private E-Mail-Adressen"
+config.reset_password_code_lives=Ablaufdatum des Passworts zurücksetzen
+config.default_keep_email_private=Standard-Wert für "Private E-Mail-Adressen
+config.default_allow_create_organization=Standardmäßige Erlaubnis eine Organisation zu erstellen
config.no_reply_address=No-Reply Adresse
config.webhook_config=Webhook-Konfiguration
config.queue_length=Warteschlangenlänge
config.deliver_timeout=Zeitlimit für Zustellung
-config.skip_tls_verify=TLS verifikation überspringen
+config.skip_tls_verify=Überspringe die Überprüfung des TLS-Zertifikats
config.mailer_config=Mailer-Konfiguration
config.mailer_enabled=Aktiviert
@@ -1172,7 +1312,7 @@ config.mailer_name=Name
config.mailer_host=Host
config.mailer_user=Benutzer
config.send_test_mail=Test-E-Mail senden
-config.test_mail_failed=Das Senden der Test-E-Mail an '%s': %v ist fehlgeschlagen
+config.test_mail_failed=Das Senden der Test-E-Mail an '%s' ist fehlgeschlagen: %v
config.test_mail_sent=Test-E-Mail wurde an '%s' gesendet.
config.oauth_config=OAuth-Konfiguration
@@ -1225,7 +1365,7 @@ monitor.start=Startzeit
monitor.execute_time=Ausführungszeit
notices.system_notice_list=Systemmitteilungen
-notices.view_detail_header=Mitteilungsdetails ansehen
+notices.view_detail_header=Meldungsdetails ansehen
notices.actions=Aktionen
notices.select_all=Alles auswählen
notices.deselect_all=Alles abwählen
@@ -1236,7 +1376,7 @@ notices.type=Typ
notices.type_1=Repository
notices.desc=Beschreibung
notices.op=Aktion
-notices.delete_success=Systemmitteilungen wurden erfolgreich gelöscht.
+notices.delete_success=Diese Systemmeldung wurde gelöscht.
[action]
create_repo=hat das Repository %s erstellt
@@ -1252,26 +1392,27 @@ comment_issue=`hat Issue %s#%[2]s kommentiert`
merge_pull_request=`hat Pull-Request %s#%[2]s zuammengeführt`
transfer_repo=hat Repository %s transferiert an %s
push_tag=hat Tag %[2]s auf %[3]s gepusht
-compare_commits=Zeige Vergleich für diese %d Commits
+compare_commits=Vergleiche %d Commits
[tool]
-ago=vor
-from_now=in
+ago=vor %s
+from_now=in %s
now=jetzt
-1s=%s 1 Sekunde
-1m=%s 1 Minute
-1h=%s 1 Stunde
-1d=%s 1 Tag
-1w=%s 1 Woche
-1mon=%s 1 Monat
-1y=%s 1 Jahr
-seconds=%[2]s %[1]d Sekunden
-minutes=%[2]s %[1]d Minuten
-hours=%[2]s %[1]d Stunden
-days=%[2]s %[1]d Tagen
-weeks=%[2]s %[1]d Wochen
-months=%[2]s %[1]d Monaten
-years=%[2]s %[1]d Jahren
+future=Zukunft
+1s=1 Sekunde
+1m=1 Minute
+1h=1 Stunde
+1d=1 Tag
+1w=1 Woche
+1mon=1 Monat
+1y=1 Jahr
+seconds=%d Sekunden
+minutes=%d Minuten
+hours=%d Stunden
+days=%d Tagen
+weeks=%d Wochen
+months=%d Monaten
+years=%d Jahren
raw_seconds=Sekunden
raw_minutes=Minuten
@@ -1284,10 +1425,22 @@ remove_file=Datei entfernen
[notification]
notifications=Nachrichten
unread=Ungelesen
-read=Lesen
-no_unread=Sie haben keine neuen Nachrichten.
-no_read=Sie haben keine gelesenen Nachrichten.
-pin=Anpinnen
+read=Gelesen
+no_unread=Du hast momentan keine ungelesenen Benachrichtigungen.
+no_read=Du hast momentan keine gelesenen Benachrichtigungen.
+pin=Benachrichtigung pinnen
mark_as_read=Als gelesen markieren
mark_as_unread=Als ungelesen markieren
+[gpg]
+error.extract_sign=Die Signatur konnte nicht extrahiert werden
+error.generate_hash=Es konnte kein Hash vom Commit generiert werden
+error.no_committer_account=Es ist kein Account mit dieser Commiter-Email verbunden
+error.no_gpg_keys_found=Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
+error.not_signed_commit=Kein signierter Commit
+error.failed_retrieval_gpg_keys=Fehler beim Abrufen eines Keys des Commiter-Accounts
+
+[units]
+error.no_unit_allowed_repo=Es konnte kein Bestandteil in dieser Repository gefunden werden auf den der Zugriff erlaubt ist
+error.unit_not_allowed=Du bist nicht berechtigt diesen Repository-Bestandteil zu benutzen
+
diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini
index 93151a2..9931d91 100644
--- a/options/locale/locale_en-US.ini
+++ b/options/locale/locale_en-US.ini
@@ -9,7 +9,7 @@ sign_in_with = Sign in with
sign_out = Sign Out
sign_up = Sign Up
link_account = Link Account
-link_account_signin_or_signup = Login with existing credentials to link your existing account to this new account, or sign up for a new account
+link_account_signin_or_signup = Login with existing credentials to link your existing account to this account, or sign up for a new one
register = Register
website = Website
version = Version
@@ -46,6 +46,12 @@ your_profile = Your Profile
your_starred = Your Starred
your_settings = Your Settings
+all = All
+sources = Sources
+mirrors = Mirrors
+collaborative = Collaborative
+forks = Forks
+
activities = Activities
pull_requests = Pull Requests
issues = Issues
@@ -54,9 +60,9 @@ cancel = Cancel
[install]
install = Installation
-title = Install Steps For First-time Run
-docker_helper = If you're running Gitea inside Docker, please read the Guidelines carefully before you change anything on this page!
-requite_db_desc = Gitea requires MySQL, PostgreSQL, SQLite3 or TiDB.
+title = Initial configuration
+docker_helper = If you are running Gitea inside Docker, please read the guidelines carefully before changing anything on this page.
+requite_db_desc = Gitea requires MySQL, PostgreSQL, SQLite3, or TiDB.
db_title = Database Settings
db_type = Database Type
host = Host
@@ -66,17 +72,17 @@ db_name = Database Name
db_helper = Please use the INNODB engine with utf8_general_ci charset for MySQL.
ssl_mode = SSL Mode
path = Path
-sqlite_helper = The file path of SQLite3 or TiDB database. Please use the absolute path when you start as service.
+sqlite_helper = The file path to the SQLite3 or TiDB database. Please use the absolute path when you start as service.
err_empty_db_path = SQLite3 or TiDB database path cannot be empty.
err_invalid_tidb_name = TiDB database name does not allow characters "." and "-".
no_admin_and_disable_registration = You cannot disable registration without creating an admin account.
err_empty_admin_password = Admin password cannot be empty.
-general_title = Application General Settings
+general_title = General Application Settings
app_name = Application Name
-app_name_helper = Put your organization name here huge and loud!
+app_name_helper = You can put your organization name here.
repo_path = Repository Root Path
-repo_path_helper = All Git remote repositories will be saved to this directory.
+repo_path_helper = All remote Git repositories will be saved to this directory.
lfs_path = LFS Root Path
lfs_path_helper = Files stored with Git LFS will be stored in this directory. Leave empty to disable LFS.
run_user = Run User
@@ -84,11 +90,11 @@ run_user_helper = The user must have access to Repository Root Path and run Gite
domain = Domain
domain_helper = This affects SSH clone URLs.
ssh_port = SSH Port
-ssh_port_helper = Port number which your SSH server is using, leave it empty to disable SSH feature.
+ssh_port_helper = Port number which your SSH server is using, leave it empty to disable.
http_port = HTTP Port
http_port_helper = Port number which application will listen on.
app_url = Application URL
-app_url_helper = This affects HTTP/HTTPS clone URL and somewhere in email.
+app_url_helper = This affects HTTP/HTTPS clone URL and some email notifications.
log_root_path = Log Path
log_root_path_helper = Directory to write log files to.
@@ -96,25 +102,29 @@ optional_title = Optional Settings
email_title = Email Service Settings
smtp_host = SMTP Host
smtp_from = From
-smtp_from_helper = Mail from address, RFC 5322. It can be just an email address, or the "Name" format.
+smtp_from_helper = Mail from address, RFC 5322. It can be only an email address, or the "Name" format.
mailer_user = Sender User
mailer_password = Sender Password
register_confirm = Enable Register Confirmation
-mail_notify = Enable Mail Notification
+mail_notify = Enable Mail Notifications
server_service_title = Server and Other Services Settings
offline_mode = Enable Offline Mode
-offline_mode_popup = Disable CDN even in production mode, all resource files will be served locally.
+offline_mode_popup = Disable CDN so all resource files will be served locally.
disable_gravatar = Disable Gravatar Service
disable_gravatar_popup = Disable Gravatar and custom sources. All avatars must be uploaded by users or the default avatar will be used.
federated_avatar_lookup = Enable Federated Avatars Lookup
federated_avatar_lookup_popup = Enable federated avatar lookup using Libravatar.
disable_registration = Disable Self-registration
disable_registration_popup = Disable user self-registration, only admin can create accounts.
+openid_signin = Enable OpenID Sign-In
+openid_signin_popup = Enable user login via OpenID
+openid_signup = Enable OpenID Self-registration
+openid_signup_popup = Enable OpenID based Self-registration
enable_captcha = Enable Captcha
enable_captcha_popup = Require a CAPTCHA for user self-registration.
require_sign_in_view = Enable Require Sign In to View Pages
require_sign_in_view_popup = Only signed in users can view pages, visitors will only be able to see sign in/up pages.
-admin_setting_desc = You do not have to create an admin account right now. The first user who registers on the site will gain admin access automatically.
+admin_setting_desc = You do not need to create an admin account right now. The first user who registers on the site will gain admin access automatically.
admin_title = Admin Account Settings
admin_name = Username
admin_password = Password
@@ -122,16 +132,18 @@ confirm_password = Confirm Password
admin_email = Admin Email
install_btn_confirm = Install Gitea
test_git_failed = Could not test 'git' command: %v
-sqlite3_not_available = Your release version does not support SQLite3, please download the official binary version from %s, NOT the gobuild version.
-invalid_db_setting = Database setting is not correct: %v
+sqlite3_not_available = Your current version does not support SQLite3, please download the official binary version from %s, NOT the gobuild version.
+invalid_db_setting = Database setting is invalid: %v
invalid_repo_path = Repository root path is invalid: %v
-run_user_not_match = Run user isn't the current user: %s -> %s
-save_config_failed = Fail to save configuration: %v
+run_user_not_match = Run user is not the current user: %s -> %s
+save_config_failed = Failed to save configuration: %v
invalid_admin_setting = Admin account setting is invalid: %v
-install_success = Welcome! We're glad that you chose Gitea, have fun and take care.
+install_success = Welcome! Thank you for choosing Gitea, have fun and take care.
invalid_log_root_path = Log root path is invalid: %v
default_keep_email_private = Default Value for Keep Email Private
default_keep_email_private_popup = This is the default value for the visibility of the user's email address. If set to true the email address of all new users will be hidden until the user changes his setting.
+default_allow_create_organization = Default permission value for new users to create organizations
+default_allow_create_organization_popup = This is default permission value that will be assigned for new users. If set to true new users will be allowed to create Organizations.
no_reply_address = No-reply Address
no_reply_address_helper = Domain for the user's email address in git logs if he keeps his email address private. E.g. user 'joe' and 'noreply.example.org' will be 'joe@noreply.example.org'
@@ -140,7 +152,7 @@ uname_holder = Username or email
password_holder = Password
switch_dashboard_context = Switch Dashboard Context
my_repos = My Repositories
-show_more_repos = Show more repositories...
+show_more_repos = Show more repositories ...
collaborative_repos = Collaborative Repositories
my_orgs = My Organizations
my_mirrors = My Mirrors
@@ -154,31 +166,32 @@ repos = Repositories
users = Users
organizations = Organizations
search = Search
-repo_no_results = There are no matched repositories found.
-user_no_results = There are no matched users found.
-org_no_results = There are no matched organizations found.
+repo_no_results = No matching repositories have been found.
+user_no_results = No matching users have been found.
+org_no_results = No matching organizations have been found.
[auth]
-create_new_account = Create New Account
+create_new_account = Create Account
register_helper_msg = Already have an account? Sign in now!
-social_register_helper_msg = Already have an account? Bind now!
+social_register_helper_msg = Already have an account? Join it now!
disable_register_prompt = Sorry, registration has been disabled. Please contact the site administrator.
disable_register_mail = Sorry, Register Mail Confirmation has been disabled.
remember_me = Remember Me
-forgot_password= Forgot Password
-forget_password = Forgot password?
+forgot_password_title= Forgot Password
+forgot_password = Forgot password?
sign_up_now = Need an account? Sign up now.
-confirmation_mail_sent_prompt = A new confirmation email has been sent to %s . Please check your inbox within the next %d hours to complete the registration process.
+confirmation_mail_sent_prompt = A new confirmation email has been sent to %s . Please check your inbox within the next %s to complete the registration process.
+reset_password_mail_sent_prompt = A confirmation email has been sent to %s . Please check your inbox within the next %s to complete the password reset process.
active_your_account = Activate Your Account
prohibit_login = Login Prohibited
prohibit_login_desc = Your account is prohibited to login, please contact the site administrator.
resent_limit_prompt = Sorry, you have already requested an activation email recently. Please wait 3 minutes then try again.
has_unconfirmed_mail = Hi %s, you have an unconfirmed email address (%s ). If you haven't received a confirmation email or need to resend a new one, please click on the button below.
resend_mail = Click here to resend your activation email
-email_not_associate = This email address is not associated with any account.
-send_reset_mail = Click here to (re)send your password reset email
+email_not_associate = The email address is not associated with any account.
+send_reset_mail = Click here to resend your password reset email
reset_password = Reset Your Password
-invalid_code = Sorry, your confirmation code has expired or not valid.
+invalid_code = Sorry, your confirmation code has expired or is not valid.
reset_password_helper = Click here to reset your password
password_too_short = Password length cannot be less then %d.
non_local_account = Non-local accounts cannot change passwords through the Gitea web interface.
@@ -186,15 +199,24 @@ verify = Verify
scratch_code = Scratch code
use_scratch_code = Use a scratch code
twofa_scratch_used = You have used your scratch code. You have been redirected to the two-factor settings page so you may remove your device enrollment or generate a new scratch code.
-twofa_passcode_incorrect = Your passcode is not correct. If you misplaced your device, use your scratch code to login.
-twofa_scratch_token_incorrect = Your scratch code is not correct.
+twofa_passcode_incorrect = Your passcode is incorrect. If you misplaced your device, use your scratch code to login.
+twofa_scratch_token_incorrect = Your scratch code is incorrect.
+login_userpass = User / Password
+login_openid = OpenID
+openid_connect_submit = Connect
+openid_connect_title = Connect to an existing account
+openid_connect_desc = The chosen OpenID URIs is not known by the system, you can join it an existing account.
+openid_register_title = Create new account
+openid_register_desc = The chosen OpenID URIs is not known by the system, you can associate it to a new account here.
+openid_signin_desc = Example URIs: https://anne.me, bob.openid.org.cn, gnusocial.net/carry
+disable_forgot_password_mail = Sorry, password reset has been disabled. Please contact the site administrator.
[mail]
activate_account = Please activate your account
activate_email = Verify your email address
reset_password = Reset your password
register_success = Registration successful
-register_notify = Welcome on board
+register_notify = Welcome to Gitea
[modal]
yes = Yes
@@ -224,35 +246,41 @@ Content = Content
require_error = ` cannot be empty.`
alpha_dash_error = ` must be valid alphanumeric or dash(-_) characters.`
alpha_dash_dot_error = ` must be valid alphanumeric, dash(-_) or dot characters.`
-size_error = ` must be size %s.`
+git_ref_name_error = ` must be well formed git reference name.`
+size_error = ` must be size %s.`
min_size_error = ` must contain at least %s characters.`
max_size_error = ` must contain at most %s characters.`
email_error = ` is not a valid email address.`
url_error = ` is not a valid URL.`
include_error = ` must contain substring '%s'.`
unknown_error = Unknown error:
-captcha_incorrect = CAPTCHA is incorrect.
-password_not_match = Password and confirm password are not same.
+captcha_incorrect = CAPTCHA response is incorrect.
+password_not_match = Your chosen passwords do not match.
-username_been_taken = Username has already been taken.
-repo_name_been_taken = Repository name has already been used.
-org_name_been_taken = Organization name has already been taken.
-team_name_been_taken = Team name has already been taken.
-email_been_used = Email address has already been used.
-username_password_incorrect = Username or password is not correct.
-enterred_invalid_repo_name = Please make sure that the repository name you entered is correct.
-enterred_invalid_owner_name = Please make sure that the owner name you entered is correct.
-enterred_invalid_password = Please make sure the that password you entered is correct.
-user_not_exist = The given user does not exist.
-last_org_owner = Removing the last user from a owner team isn't allowed because there must always be at least one owner in any given organization.
+username_been_taken = Username already taken.
+repo_name_been_taken = Repository name already used.
+org_name_been_taken = Organization name already taken.
+team_name_been_taken = Team name already taken.
+team_no_units_error = Team must have at least one unit enabled.
+email_been_used = Email already used.
+openid_been_used = OpenID address '%s' already used.
+username_password_incorrect = Incorrect username or password.
+enterred_invalid_repo_name = Please ensure that the repository name you entered is correct.
+enterred_invalid_owner_name = Please ensure that the owner name you entered is correct.
+enterred_invalid_password = Please ensure the that password you entered is correct.
+user_not_exist = The user does not exist.
+last_org_owner = Removing the last user from the owner team is not allowed because there must always be at least one owner in any given organization.
+cannot_add_org_to_team = Organization cannot be added as a team member.
+cannot_invite_org_to_org = Organization cannot be invited as an organization member.
-invalid_ssh_key = Sorry, we're not able to verify your SSH key: %s
-unable_verify_ssh_key = Gitea cannot verify your SSH key, but we are assuming that it is valid, please double-check it.
+invalid_ssh_key = Sorry, we were not able to verify your SSH key: %s
+invalid_gpg_key = Sorry, we were not able to verify your GPG key: %s
+unable_verify_ssh_key = The ssh key could not be verified, please double-check it for any mistakes.
auth_failed = Authentication failed: %v
-still_own_repo = Your account still has ownership over at least one repository, you have to delete or transfer them first.
-still_has_org = Your account still has membership in at least one organization, you have to leave or delete your memberships first.
-org_still_own_repo = This organization still owns repositories, you must delete or transfer them first.
+still_own_repo = Your account still has ownership of at least one repository, you need to delete or transfer them first.
+still_has_org = Your account still is still a member of least one organization, you need to leave them first.
+org_still_own_repo = This organization still owns repositories, you need to delete or transfer them first.
target_branch_not_exist = Target branch does not exist.
@@ -267,32 +295,33 @@ following = Following
follow = Follow
unfollow = Unfollow
-form.name_reserved = Username '%s' is reserved.
-form.name_pattern_not_allowed = Username pattern '%s' is not allowed.
+form.name_reserved = The username '%s' is reserved.
+form.name_pattern_not_allowed = The username pattern '%s' is not allowed.
[settings]
profile = Profile
password = Password
avatar = Avatar
-ssh_keys = SSH Keys
+ssh_gpg_keys = SSH / GPG Keys
social = Social Accounts
applications = Applications
orgs = Organizations
delete = Delete Account
twofa = Two-Factor Authentication
account_link = External Accounts
+organization = Organization
uid = Uid
public_profile = Public Profile
-profile_desc = Your email address is public and will be used for any account related notifications and any web based operations made via the site.
-password_username_disabled = Non-local type users are not allowed to change their username.
+profile_desc = Your email address is public and will be used for any account related notifications and web based operations made through the web interface.
+password_username_disabled = Non-local users are not allowed to change their username. Please contact your system administrator for more details.
full_name = Full Name
website = Website
location = Location
update_profile = Update Profile
-update_profile_success = Your profile has been updated successfully.
+update_profile_success = Your profile has been updated.
change_username = Username Changed
-change_username_prompt = This change will affect the way how links relate to your account.
+change_username_prompt = This change will change the links to your account.
continue = Continue
cancel = Cancel
@@ -303,51 +332,75 @@ choose_new_avatar = Choose new avatar
update_avatar = Update Avatar Setting
delete_current_avatar = Delete Current Avatar
uploaded_avatar_not_a_image = Uploaded file is not a image.
-update_avatar_success = Your avatar setting has been updated successfully.
+update_avatar_success = Your avatar setting has been updated.
change_password = Change Password
old_password = Current Password
new_password = New Password
retype_new_password = Retype New Password
-password_incorrect = Current password is not correct.
+password_incorrect = Current password is incorrect.
change_password_success = Your password was successfully changed. You can now sign using your new password.
password_change_disabled = Non-local users are not allowed to change their password through the web interface.
emails = Email Addresses
manage_emails = Manage email addresses
+manage_openid = Manage OpenID addresses
email_desc = Your primary email address will be used for notifications and other operations.
primary = Primary
primary_email = Set as primary
delete_email = Delete
-email_deletion = Email Deletion
-email_deletion_desc = Deleting this email address will remove all related information from your account. Do you want to continue?
+email_deletion = Delete Email
+email_deletion_desc = Deleting this email address will remove all related information from your account. Git commits using this email will remain unchanged. Do you want to continue?
email_deletion_success = Email has been deleted successfully!
+openid_deletion = OpenID Deletion
+openid_deletion_desc = Deleting this OpenID address from your account will prevent you from signing in with it. Are you sure you want to continue ?
+openid_deletion_success = OpenID has been deleted successfully!
add_new_email = Add new email address
+add_new_openid = Add new OpenID URI
add_email = Add email
-add_email_confirmation_sent = A new confirmation email has been sent to '%s', please check your inbox within the next %d hours to complete the confirmation process.
+add_openid = Add OpenID URI
+add_email_confirmation_sent = A new confirmation email has been sent to '%s'. Please check your inbox within the next %s to confirm your email.
add_email_success = Your new email address was successfully added.
+add_openid_success = Your new OpenID address was successfully added.
keep_email_private = Keep Email Address Private
keep_email_private_popup = Your email address will be hidden from other users if this option is set.
+openid_desc = Your OpenID addresses will let you delegate authentication to your provider of choice
manage_ssh_keys = Manage SSH Keys
+manage_gpg_keys = Manage GPG Keys
add_key = Add Key
-ssh_desc = This is a list of SSH keys associated with your account. Because these keys allow anyone using them to gain access to your repositories, it is highly important that you make sure you recognize them.
-ssh_helper = Don't know how? Check out GitHub's guide to create your own SSH keys or solve common problems you might encounter using SSH.
+ssh_desc = These are the SSH keys associated with your account. Because these keys allow anyone using them to gain access to your repositories, it is very important you make sure you recognize them.
+gpg_desc = These are the GPG keys associated with your account. Because these keys allow commits to be verified, it is very important that you keep the corresponding private key safe.
+ssh_helper = Need help? Have a look at GitHub's guide to create your own SSH keys or solve common problems you may encounter using SSH.
+gpg_helper = Need help? Have a look at GitHub's guide about GPG .
add_new_key = Add SSH Key
-ssh_key_been_used = Public key content has already been used.
-ssh_key_name_used = Public key with same name already exists.
+add_new_gpg_key = Add GPG Key
+ssh_key_been_used = This public key has already been used.
+ssh_key_name_used = A public key with same name already exists.
+gpg_key_id_used = A public GPG key with same id already exists.
+gpg_key_email_not_found = The email attached to the GPG key couldn't be found or is not confirmed yet: %s
+subkeys = Subkeys
+key_id = Key ID
key_name = Key Name
key_content = Content
-add_key_success = Your new SSH key '%s' has been added successfully!
+add_key_success = Your SSH key '%s' has been added.
+add_gpg_key_success = Your GPG key '%s' has been added.
delete_key = Delete
ssh_key_deletion = SSH Key Deletion
-ssh_key_deletion_desc = Delete this SSH key will disable all access using this SSH key for your account. Do you want to continue?
-ssh_key_deletion_success = SSH key has been deleted successfully!
+gpg_key_deletion = GPG Key Deletion
+ssh_key_deletion_desc = Deleting this SSH key will revoke all access using this SSH key for your account. Do you want to continue?
+gpg_key_deletion_desc = Deleting this GPG key will unverify all commits signed with this GPG key. Are you sure you want to continue?
+ssh_key_deletion_success = The SSH key has been deleted.
+gpg_key_deletion_success = The GPG key has been deleted.
add_on = Added on
+valid_until = Valid until
+valid_forever = Valid forever
last_used = Last used on
no_activity = No recent activity
-key_state_desc = This key is used in last 7 days
-token_state_desc = This token is used in last 7 days
+key_state_desc = This key has been used in the last 7 days
+token_state_desc = This token has been used in the last 7 days
+show_openid = Show on profile
+hide_openid = Hide from profile
manage_social = Manage Associated Social Accounts
social_desc = This is a list of associated social accounts. For security reasons, please make sure you recognize all of these entries, as they can be used to log in to your account.
@@ -360,54 +413,56 @@ tokens_desc = Tokens you have generated which can be used to access the Gitea AP
new_token_desc = Each token will have full access to your account.
token_name = Token Name
generate_token = Generate Token
-generate_token_succees = Your access token was successfully generated! Be sure to copy it right now, because you will not be able to see it again later!
+generate_token_success = Your access token was successfully generated! Be sure to copy it right now, because you will not be able to see it again later!
delete_token = Delete
access_token_deletion = Personal Access Token Deletion
-access_token_deletion_desc = Delete this personal access token will disable access for any application using this token. Do you want to continue?
-delete_token_success = Personal access token has been removed successfully! Don't forget to update any applications using this token as well.
+access_token_deletion_desc = Delete this personal access token will revoke access for any application using this token. Do you want to continue?
+delete_token_success = The personal access token has been removed. Don't forget to update any applications using this token.
-twofa_desc = Gitea supports two-factor authentication to provide additional security for your account.
-twofa_is_enrolled = Your account is enrolled in two-factor authentication.
+twofa_desc = Gitea supports two-factor authentication to enhance the security of your account.
+twofa_is_enrolled = Your account is currently enrolled in two-factor authentication.
twofa_not_enrolled = Your account is not currently enrolled in two-factor authentication.
twofa_disable = Disable two-factor authentication
twofa_scratch_token_regenerate = Regenerate scratch token
twofa_scratch_token_regenerated = Your scratch token has been regenerated. It is now %s. Keep it in a safe place.
twofa_enroll = Enroll into two-factor authentication
twofa_disable_note = If needed, you can disable two-factor authentication.
-twofa_disable_desc = Disabling two-factor authentication will make your account less secure. Are you sure you want to proceed?
-regenerate_scratch_token_desc = If you misplaced your scratch token, or had to use it to log in, you can reset it.
+twofa_disable_desc = Disabling two-factor authentication will make your account less secure. Are you sure you want to continue?
+regenerate_scratch_token_desc = If you misplaced your scratch token, or have already used it to log in, you can reset it here.
twofa_disabled = Two-factor authentication has been disabled.
scan_this_image = Scan this image with your authentication application:
or_enter_secret = Or enter the secret: %s
-then_enter_passcode = Then enter the passcode the application gives you:
+then_enter_passcode = And enter the passcode the application gives you:
passcode_invalid = That passcode is invalid. Try again.
twofa_enrolled = Your account has now been enrolled in two-factor authentication. Make sure to save your scratch token (%s), as it will only be shown once!
manage_account_links = Manage account links
manage_account_links_desc = External accounts linked to this account
-account_links_not_available = There are no external accounts linked to this account
+account_links_not_available = There are currently no external accounts linked to this account
remove_account_link = Remove linked account
-remove_account_link_desc = Delete this account link will remove all related access for your account. Do you want to continue?
+remove_account_link_desc = Removing this linked account will revoke all related access using this account. Do you want to continue?
remove_account_link_success = Account link has been removed successfully!
+orgs_none = You are not a member of any organizations.
+
delete_account = Delete Your Account
delete_prompt = The operation will delete your account permanently, and CANNOT be undone!
confirm_delete_account = Confirm Deletion
delete_account_title = Account Deletion
-delete_account_desc = This account is going to be deleted permanently, do you want to continue?
+delete_account_desc = Are you sure you want to permanently delete this account?
[repo]
owner = Owner
repo_name = Repository Name
-repo_name_helper = A good repository name is usually composed of short, memorable, and unique keywords.
+repo_name_helper = A good repository name is composed of short, memorable, and unique keywords.
visibility = Visibility
visiblity_helper = This repository is Private
-visiblity_helper_forced = Site admin has forced all new repositories to be Private
+visiblity_helper_forced = Your system administrator has forced all new repositories to be Private
visiblity_fork_helper = (Change of this value will affect all forks)
clone_helper = Need help cloning? Visit Help !
fork_repo = Fork Repository
fork_from = Fork From
-fork_visiblity_helper = You cannot alter the visibility of a forked repository.
+fork_visiblity_helper = You cannot change the visibility of a forked repository.
repo_desc = Description
repo_lang = Language
repo_gitignore_helper = Select .gitignore templates
@@ -419,16 +474,17 @@ auto_init = Initialize this repository with selected files and template
create_repo = Create Repository
default_branch = Default Branch
mirror_prune = Prune
-mirror_prune_desc = Remove any remote-tracking references that no longer exist on the remote
-mirror_interval = Mirror Interval (hour)
+mirror_prune_desc = Remove any remote-tracking references which no longer exist on the remote
+mirror_interval = Mirror interval (valid time units are "h", "m", "s")
+mirror_interval_invalid = Mirror interval is not valid
mirror_address = Mirror Address
-mirror_address_desc = Please include necessary user credentials in the address.
+mirror_address_desc = Please include any necessary user credentials in the address.
mirror_last_synced = Last Synced
watchers = Watchers
stargazers = Stargazers
forks = Forks
-form.reach_limit_of_creation = You have reached your maximum creation limit of %d repositories.
+form.reach_limit_of_creation = You have already reached your limit of %d repositories.
form.name_reserved = The repository name '%s' is reserved.
form.name_pattern_not_allowed = The repository name pattern '%s' is not allowed.
@@ -442,9 +498,11 @@ migrate.clone_local_path = or local server path
migrate.permission_denied = You are not allowed to import local repositories.
migrate.invalid_local_path = Invalid local path, it does not exist or not a directory.
migrate.failed = Migration failed: %v
+migrate.lfs_mirror_unsupported = Mirroring LFS objects is not supported - use 'git lfs fetch --all' and 'git lfs push --all' instead.
mirror_from = mirror of
forked_from = forked from
+fork_from_self = You cannot fork a repository you already own!
copy_link = Copy
copy_link_success = Copied!
copy_link_error = Press ⌘-C or Ctrl-C to copy
@@ -459,11 +517,12 @@ download_archive = Download this repository
no_desc = No Description
quick_guide = Quick Guide
clone_this_repo = Clone this repository
-create_new_repo_command = Create a new repository on the command line
-push_exist_repo = Push an existing repository from the command line
-repo_is_empty = This repository is empty, please come back later!
+create_new_repo_command = Creating a new repository on the command line
+push_exist_repo = Pushing an existing repository from the command line
+bare_message = This repository does not contain any content.
code = Code
+code.desc = Code is where the code is stored
branch = Branch
tree = Tree
filter_branch_and_tag = Filter branch or tag
@@ -482,12 +541,13 @@ file_permalink = Permalink
file_too_large = This file is too large to be shown
video_not_supported_in_browser = Your browser doesn't support HTML5 video tag.
stored_lfs = Stored with Git LFS
+commit_graph = Commit graph
editor.new_file = New file
editor.upload_file = Upload file
editor.edit_file = Edit file
editor.preview_changes = Preview Changes
-editor.cannot_edit_non_text_files = Cannot edit non-text files
+editor.cannot_edit_non_text_files = Cannot edit binary files from the web interface
editor.edit_this_file = Edit this file
editor.must_be_on_a_branch = You must be on a branch to make or propose changes to this file
editor.fork_before_edit = You must fork this repository before editing the file
@@ -521,17 +581,25 @@ editor.fail_to_update_file = Failed to update/create file '%s' with error: %v
editor.add_subdir = Add subdirectory...
editor.unable_to_upload_files = Failed to upload files to '%s' with error: %v
editor.upload_files_to_dir = Upload files to '%s'
+editor.cannot_commit_to_protected_branch = Can not commit to protected branch '%s'.
+commits.desc = Commits show the change history of the code
commits.commits = Commits
commits.search = Search commits
-commits.search_all = All
-commits.find = Find
+commits.find = Search
+commits.search_all = All branches
commits.author = Author
commits.message = Message
commits.date = Date
commits.older = Older
commits.newer = Newer
+commits.signed_by = Signed by
+commits.gpg_key_id = GPG key ID
+ext_issues = Ext Issues
+ext_issues.desc = Ext Issues link to an external issue management page
+
+issues.desc = Issues is the place to manage tasks and bugs
issues.new = New Issue
issues.new.labels = Labels
issues.new.no_label = No Label
@@ -558,6 +626,7 @@ issues.remove_label_at = `removed the %[3]s
issues.opened_by_fake = opened %[1]s by %[2]s
issues.previous = Previous
@@ -616,14 +692,19 @@ issues.label_edit = Edit
issues.label_delete = Delete
issues.label_modify = Label Modification
issues.label_deletion = Label Deletion
-issues.label_deletion_desc = Deleting this label will remove its information in all related issues. Are you sure you want to continue?
-issues.label_deletion_success = This label has been deleted successfully!
+issues.label_deletion_desc = Deleting this label will remove it from all issues. Are you sure you want to continue?
+issues.label_deletion_success = The label has been deleted successfully!
issues.label.filter_sort.alphabetically = Alphabetically
issues.label.filter_sort.reverse_alphabetically = Reverse alphabetically
+issues.label.filter_sort.by_size = Size
+issues.label.filter_sort.reverse_by_size = Reverse size
issues.num_participants = %d Participants
issues.attachment.open_tab = `Click to see "%s" in a new tab`
issues.attachment.download = `Click to download "%s"`
+issues.subscribe = Subscribe
+issues.unsubscribe = Unsubscribe
+pulls.desc = Pulls management your code review and merge requests
pulls.new = New Pull Request
pulls.compare_changes = Compare Changes
pulls.compare_changes_desc = Compare two branches and make a pull request for changes.
@@ -641,14 +722,14 @@ pulls.tab_commits = Commits
pulls.tab_files = Files changed
pulls.reopen_to_merge = Please reopen this pull request to perform a merge.
pulls.merged = Merged
-pulls.has_merged = This pull request has been merged successfully!
+pulls.has_merged = This pull request has been merged successfully.
pulls.data_broken = Data of this pull request has been broken due to deletion of fork information.
pulls.is_checking = The conflict checking is still in progress, please refresh page in few moments.
pulls.can_auto_merge_desc = This pull request can be merged automatically.
pulls.cannot_auto_merge_desc = This pull request cannot be merged automatically because there are conflicts.
pulls.cannot_auto_merge_helper = Please merge manually in order to resolve the conflicts.
pulls.merge_pull_request = Merge Pull Request
-pulls.open_unmerged_pull_exists = `You can't perform reopen operation because there is already an open pull request (#%d) from same repository with same merge information and is waiting for merging.`
+pulls.open_unmerged_pull_exists = `You cannot perform reopen operation because there is already an open pull request (#%d) from same repository with same merge information and is waiting for merging.`
milestones.new = New Milestone
milestones.open_tab = %d Open
@@ -666,12 +747,12 @@ milestones.clear = Clear
milestones.invalid_due_date_format = Due date format is invalid, must be 'yyyy-mm-dd'.
milestones.create_success = Milestone '%s' has been created successfully!
milestones.edit = Edit Milestone
-milestones.edit_subheader = Use a better description for milestones so people won't be confused.
+milestones.edit_subheader = Use a good description for milestones so people won't be confused.
milestones.cancel = Cancel
milestones.modify = Modify Milestone
milestones.edit_success = Changes of milestone '%s' has been saved successfully!
milestones.deletion = Milestone Deletion
-milestones.deletion_desc = Deleting this milestone will remove its information in all related issues. Do you want to continue?
+milestones.deletion_desc = Deleting this milestone will remove it from all related issues. Do you want to continue?
milestones.deletion_success = Milestone has been deleted successfully!
milestones.filter_sort.closest_due_date = Closest due date
milestones.filter_sort.furthest_due_date = Furthest due date
@@ -680,9 +761,13 @@ milestones.filter_sort.most_complete = Most complete
milestones.filter_sort.most_issues = Most issues
milestones.filter_sort.least_issues = Least issues
+ext_wiki = Ext Wiki
+ext_wiki.desc = Ext Wiki links to an external wiki system
+
wiki = Wiki
-wiki.welcome = Welcome to the project wiki!
-wiki.welcome_desc = A wiki allows you or your users to easily document your project.
+wiki.welcome = Welcome to the project wiki
+wiki.welcome_desc = A wiki allows you and your collaborators to easily document your project.
+wiki.desc = Wiki is a place to store documentation
wiki.create_first_page = Create the first page
wiki.page = Page
wiki.filter_page = Filter page
@@ -699,6 +784,7 @@ wiki.pages = Pages
wiki.last_updated = Last updated %s
settings = Settings
+settings.desc = Settings is where you can manage the settings for the repository
settings.options = Options
settings.collaboration = Collaboration
settings.collaboration.admin = Admin
@@ -710,7 +796,7 @@ settings.githooks = Git Hooks
settings.basic_settings = Basic Settings
settings.mirror_settings = Mirror Settings
settings.sync_mirror = Sync Now
-settings.mirror_sync_in_progress = Mirror syncing is in progress, please refresh page in about a minute.
+settings.mirror_sync_in_progress = Mirror sync in progress. Please refresh the page to check again in a minute.
settings.site = Official Site
settings.update_settings = Update Settings
settings.advanced_settings = Advanced Settings
@@ -738,7 +824,7 @@ settings.convert = Convert To Regular Repository
settings.convert_desc = You can convert this mirror to a regular repository. This cannot be undone.
settings.convert_notices_1 = - This operation will convert this repository mirror into a regular repository and cannot be undone.
settings.convert_confirm = Confirm Conversion
-settings.convert_succeed = Repository has been converted to a regular repository successfully.
+settings.convert_succeed = Repository has been converted to a regular repository.
settings.transfer = Transfer Ownership
settings.transfer_desc = Transfer this repository to another user or to an organization in which you have admin rights.
settings.transfer_notices_1 = - You will lose access if the new owner is a individual user.
@@ -747,17 +833,17 @@ settings.transfer_form_title = Please enter the following information to confirm
settings.wiki_delete = Erase Wiki Data
settings.wiki_delete_desc = Once you erase wiki data there is no going back. Please be certain.
settings.wiki_delete_notices_1 = - This will delete and disable the wiki for %s
-settings.wiki_deletion_success = Repository wiki data have been erased successfully.
+settings.wiki_deletion_success = Repository wiki data have been erased.
settings.delete = Delete This Repository
settings.delete_desc = Once you delete a repository, there is no going back. Please be certain.
settings.delete_notices_1 = - This operation
CANNOT be undone.
-settings.delete_notices_2 = - This operation will permanently delete the everything of this repository, including Git data, issues, comments and accesses of collaborators.
-settings.delete_notices_fork_1 = - All forks will become independent after deletion.
-settings.deletion_success = Repository has been deleted successfully!
-settings.update_settings_success = Repository options has been updated successfully.
+settings.delete_notices_2 = - This operation will permanently delete everything in this repository including code, issues, comments, the wiki, and collaborators associations.
+settings.delete_notices_fork_1 = - All forks will become independent repositories after deletion.
+settings.deletion_success = Repository has been deleted.
+settings.update_settings_success = Repository options have been updated.
settings.transfer_owner = New Owner
settings.make_transfer = Make Transfer
-settings.transfer_succeed = Repository ownership has been transferred successfully.
+settings.transfer_succeed = Repository ownership has been transferred.
settings.confirm_delete = Confirm Deletion
settings.add_collaborator = Add New Collaborator
settings.add_collaborator_success = New collaborator has been added.
@@ -769,7 +855,7 @@ settings.search_user_placeholder = Search user...
settings.org_not_allowed_to_be_collaborator = Organization is not allowed to be added as a collaborator.
settings.user_is_org_member = User is organization member who cannot be added as a collaborator.
settings.add_webhook = Add Webhook
-settings.hooks_desc = Webhooks are much like basic HTTP POST event triggers. Whenever something occurs in Gitea, we will handle the notification to the target host you specify. Learn more in this
Webhooks Guide .
+settings.hooks_desc = Webhooks are much like basic HTTP POST event triggers. Whenever something occurs in Gitea, we will send a notification to the target host. Learn more in the
webhooks guide .
settings.webhook_deletion = Delete Webhook
settings.webhook_deletion_desc = Deleting this webhook will remove its information and all delivery history. Are you sure you want to continue?
settings.webhook_deletion_success = Webhook has been deleted successfully!
@@ -786,7 +872,7 @@ settings.githook_edit_desc = If the hook is inactive, sample content will be pre
settings.githook_name = Hook Name
settings.githook_content = Hook Content
settings.update_githook = Update Hook
-settings.add_webhook_desc = Gitea will send a
POST request to the URL you specify, along with regarding the event that occured. You can also specify what kind of data format you'd like to get upon triggering the hook (JSON, x-www-form-urlencoded, XML, etc). More information can be found in our
Webhooks Guide .
+settings.add_webhook_desc = Gitea will send a
POST request to the URL you specify, along with information about the event that occurred. You can also specify what data format you would like to receive upon triggering the hook (JSON, x-www-form-urlencoded, XML, etc). More information can be found in our
webhooks guide .
settings.payload_url = Payload URL
settings.content_type = Content Type
settings.secret = Secret
@@ -804,7 +890,7 @@ settings.event_pull_request_desc = Pull request opened, closed, reopened, edited
settings.event_push = Push
settings.event_push_desc = Git push to a repository
settings.active = Active
-settings.active_helper = Details regarding the event which triggered the hook will be delivered as well.
+settings.active_helper = Information about the event which triggered the hook will be sent as well.
settings.add_hook_success = New webhook has been added.
settings.update_webhook = Update Webhook
settings.update_hook_success = Webhook has been updated.
@@ -825,7 +911,7 @@ settings.key_been_used = Deploy key content has been used.
settings.key_name_used = Deploy key with the same name already exists.
settings.add_key_success = New deploy key '%s' has been added successfully!
settings.deploy_key_deletion = Delete Deploy Key
-settings.deploy_key_deletion_desc = Deleting this deploy key will remove all related accesses for this repository. Do you want to continue?
+settings.deploy_key_deletion_desc = Deleting this deploy key will prevent this repository from being accessed with it. Do you want to continue?
settings.deploy_key_deletion_success = The deploy key has been deleted successfully!
settings.branches=Branches
settings.protected_branch=Branch Protection
@@ -839,11 +925,14 @@ settings.add_protected_branch_failed= %s Locked failed
settings.remove_protected_branch_success=%s Unlocked successfully
settings.protected_branch_deletion=To delete a protected branch
settings.protected_branch_deletion_desc=Anyone with write permissions will be able to push directly to this branch. Are you sure?
+settings.default_branch_desc = The default branch is considered the "base" branch in your repository against which all pull requests and code commits are automatically made, unless you specify a different branch.
+settings.choose_branch = Choose a branch...
+settings.no_protected_branch = There are no protected branches
diff.browse_source = Browse Source
diff.parent = parent
diff.commit = commit
-diff.data_not_available = Diff Content Not Availaible
+diff.data_not_available = Diff Content Not Available
diff.show_diff_stats = Show Diff Stats
diff.show_split_view = Split View
diff.show_unified_view = Unified View
@@ -853,6 +942,7 @@ diff.view_file = View File
diff.file_suppressed = File diff suppressed because it is too large
diff.too_many_files = Some files were not shown because too many files changed in this diff
+releases.desc = Releases is the place to manage versions of your project
release.releases = Releases
release.new_release = New Release
release.draft = Draft
@@ -862,10 +952,10 @@ release.edit = edit
release.ahead =
%d commits to %s since this release
release.source_code = Source Code
release.new_subheader = Publish releases to keep track of project versions.
-release.edit_subheader = A detailed change log can help users understand what has been changed.
+release.edit_subheader = A detailed changelog can help users understand what has been changed.
release.tag_name = Tag name
release.target = Target
-release.tag_helper = Choose an existing tag, or create a new tag on publish.
+release.tag_helper = Choose an existing tag, or create a new tag.
release.title = Title
release.content = Content
release.write = Write
@@ -879,19 +969,19 @@ release.save_draft = Save Draft
release.edit_release = Edit Release
release.delete_release = Delete This Release
release.deletion = Release Deletion
-release.deletion_desc = Deleting this release will delete the corresponding Git tag. Do you want to continue?
-release.deletion_success = Release has been deleted successfully!
+release.deletion_desc = Deleting this release will delete the corresponding Git tag. You will not lose any code. Do you want to continue?
+release.deletion_success = The release has been deleted.
release.tag_name_already_exist = Release with this tag name already exists.
release.tag_name_invalid = Tag name is not valid.
release.downloads = Downloads
branch.delete = Delete Branch %s
-branch.delete_desc = Once you delete a branch, there is no going back. Please be certain.
+branch.delete_desc = Deleting a branch is permanent. There is no way to undo it.
branch.delete_notices_1 = - This operation
CANNOT be undone.
-branch.delete_notices_2 = - This operation will permanently delete everything of branch %s.
-branch.deletion_success = %s has been deleted successfully!
+branch.delete_notices_2 = - This operation will permanently delete everything in branch %s.
+branch.deletion_success = %s has been deleted.
branch.deletion_failed = Failed to delete branch %s.
-branch.delete_branch_has_new_commits = %s cannot be deleted because it has new commits after merging.
+branch.delete_branch_has_new_commits = %s cannot be deleted because new commits have been added after merging.
[org]
org_name_holder = Organization Name
@@ -908,9 +998,10 @@ create_new_team = Create New Team
org_desc = Description
team_name = Team Name
team_desc = Description
-team_name_helper = You'll use this name to mention this team in conversations.
+team_name_helper = You will use this name to mention this team in conversations.
team_desc_helper = What is this team for?
-team_permission_desc = What permission level should this team have?
+team_permission_desc = What permissions should this team have?
+team_unit_desc = Which units should this team have access to?
form.name_reserved = Organization name '%s' is reserved.
form.name_pattern_not_allowed = Organization name pattern '%s' is not allowed.
@@ -922,16 +1013,16 @@ settings.full_name = Full Name
settings.website = Website
settings.location = Location
settings.update_settings = Update Settings
-settings.update_setting_success = Organization settings has been updated successfully.
-settings.change_orgname_prompt = This change will affect how links relate to the organization.
-settings.update_avatar_success = Organization avatar setting has been updated successfully.
+settings.update_setting_success = Organization settings have been updated.
+settings.change_orgname_prompt = This change will change the links to the organization.
+settings.update_avatar_success = The organization avatar has been updated.
settings.delete = Delete Organization
settings.delete_account = Delete This Organization
settings.delete_prompt = The organization will be permanently removed, and this
CANNOT be undone!
settings.confirm_delete_account = Confirm Deletion
settings.delete_org_title = Organization Deletion
-settings.delete_org_desc = This organization is going to be deleted permanently, do you want to continue?
-settings.hooks_desc = Add webhooks that will be triggered for
all repositories under this organization.
+settings.delete_org_desc = This organization is going to be deleted permanently, are you sure you want to continue?
+settings.hooks_desc = Add webhooks which will be triggered for
all repositories under this organization.
members.membership_visibility = Membership Visibility:
members.public = Public
@@ -962,8 +1053,8 @@ teams.update_settings = Update Settings
teams.delete_team = Delete This Team
teams.add_team_member = Add Team Member
teams.delete_team_title = Team Deletion
-teams.delete_team_desc = As this team will be deleted, members of this team may lose access to some repositories. Do you want to continue?
-teams.delete_team_success = Given team has been deleted successfully.
+teams.delete_team_desc = Because this team will be deleted, members of this team may lose access to some repositories. Do you want to continue?
+teams.delete_team_success = The team has been deleted.
teams.read_permission_desc = This team grants
Read access: members can view and clone the team's repositories.
teams.write_permission_desc = This team grants
Write access: members can read from and push to the team's repositories.
teams.admin_permission_desc = This team grants
Admin access: members can read from, push to, and add collaborators to the team's repositories.
@@ -993,23 +1084,24 @@ dashboard.statistic_info = Gitea database has
%d users,
%d organiz
dashboard.operation_name = Operation Name
dashboard.operation_switch = Switch
dashboard.operation_run = Run
-dashboard.clean_unbind_oauth = Clean unbound OAuthes
-dashboard.clean_unbind_oauth_success = All unbound OAuthes have been deleted successfully.
+dashboard.clean_unbind_oauth = Clean unbound OAuth connections
+dashboard.clean_unbind_oauth_success = All unbound OAuth connections have been deleted.
dashboard.delete_inactivate_accounts = Delete all inactive accounts
-dashboard.delete_inactivate_accounts_success = All inactivate accounts have been deleted successfully.
+dashboard.delete_inactivate_accounts_success = All inactive accounts have been deleted.
dashboard.delete_repo_archives = Delete all repositories archives
-dashboard.delete_repo_archives_success = All repositories archives have been deleted successfully.
-dashboard.delete_missing_repos = Delete all repository records which have lost their corresponding Git files
-dashboard.delete_missing_repos_success = All repository records which have lost their corresponding Git files have been deleted successfully.
+dashboard.delete_repo_archives_success = All repositories archives have been deleted.
+dashboard.delete_missing_repos = Delete all repository records which are missing their Git files
+dashboard.delete_missing_repos_success = All repository records which are missing their Git files have been deleted.
dashboard.git_gc_repos = Execute garbage collection on all repositories
-dashboard.git_gc_repos_success = All repositories have executed garbage collection successfully.
-dashboard.resync_all_sshkeys = Rewrite '.ssh/authorized_keys' file (caution: non-Gitea keys will be lost)
-dashboard.resync_all_sshkeys_success = All public keys have been rewritten successfully.
+dashboard.git_gc_repos_success = All repositories have finished executing garbage collection.
+dashboard.resync_all_sshkeys = Rewrite '.ssh/authorized_keys' file (for Gitea SSH keys)
+dashboard.resync_all_sshkeys_success = All public keys have been rewritten.
dashboard.resync_all_hooks = Resync pre-receive, update and post-receive hooks of all repositories.
-dashboard.resync_all_hooks_success = All repositories' pre-receive, update and post-receive hooks have been resynced successfully.
-dashboard.reinit_missing_repos = Reinitialize all lost Git repositories for which records exist
-dashboard.reinit_missing_repos_success = All lost Git repositories for which records existed have been reinitialized successfully.
-
+dashboard.resync_all_hooks_success = All repositories' pre-receive, update and post-receive hooks have been resynced.
+dashboard.reinit_missing_repos = Reinitialize all missing Git repositories for which records exist
+dashboard.reinit_missing_repos_success = All missing Git repositories for which records existed have been reinitialized.
+dashboard.sync_external_users = Synchronize external user data
+dashboard.sync_external_users_started = External user synchronization started
dashboard.server_uptime = Server Uptime
dashboard.current_goroutine = Current Goroutines
dashboard.current_memory_usage = Current Memory Usage
@@ -1040,7 +1132,7 @@ dashboard.total_gc_pause = Total GC Pause
dashboard.last_gc_pause = Last GC Pause
dashboard.gc_times = GC Times
-users.user_manage_panel = User Manage Panel
+users.user_manage_panel = User Management Panel
users.new_account = Create New Account
users.name = Name
users.activated = Activated
@@ -1050,46 +1142,49 @@ users.created = Created
users.last_login = Last Login
users.never_login = Never Login
users.send_register_notify = Send Registration Notification To User
-users.new_success = New account '%s' has been created successfully.
+users.new_success = The account '%s' has been created.
users.edit = Edit
users.auth_source = Authentication Source
users.local = Local
users.auth_login_name = Authentication Login Name
users.password_helper = Leave it empty to remain unchanged.
-users.update_profile_success = Account profile has been updated successfully.
+users.update_profile_success = Account profile has been updated.
users.edit_account = Edit Account
users.max_repo_creation = Maximum Repository Creation Limit
users.max_repo_creation_desc = (Set -1 to use global default limit)
-users.is_activated = This account is activated
-users.prohibit_login = This account is prohibited to login
+users.is_activated = This account has completed activation
+users.prohibit_login = This account is blocked from logging in
users.is_admin = This account has administrator permissions
users.allow_git_hook = This account has permission to create Git hooks
users.allow_import_local = This account has permissions to import local repositories
-users.allow_create_organization = This account has permissions to create Organizations
+users.allow_create_organization = This account has permissions to create organizations
users.update_profile = Update Account Profile
users.delete_account = Delete This Account
-users.still_own_repo = This account still has ownership over at least one repository, you need to delete or transfer them first.
-users.still_has_org = This account still has membership in at least one organization, you need to leave or delete the organizations first.
-users.deletion_success = Account has been deleted successfully!
+users.still_own_repo = This account still owns one or more repositories, you need to delete or transfer them first.
+users.still_has_org = This account still is a member of one or more organizations, you need to leave or delete the organizations first.
+users.deletion_success = Account has been deleted successfully.
-orgs.org_manage_panel = Organization Manage Panel
+orgs.org_manage_panel = Organization Management
orgs.name = Name
orgs.teams = Teams
orgs.members = Members
+orgs.new_orga = Create Organization
-repos.repo_manage_panel = Repository Manage Panel
+repos.repo_manage_panel = Repository Management
repos.owner = Owner
repos.name = Name
repos.private = Private
repos.watches = Watches
repos.stars = Stars
repos.issues = Issues
+repos.size = Size
-auths.auth_manage_panel = Authentication Manage Panel
+auths.auth_manage_panel = Authentication Management
auths.new = Add New Source
auths.name = Name
auths.type = Type
auths.enabled = Enabled
+auths.syncenabled = Enable user synchronization
auths.updated = Updated
auths.auth_type = Authentication Type
auths.auth_name = Authentication Name
@@ -1099,7 +1194,7 @@ auths.host = Host
auths.port = Port
auths.bind_dn = Bind DN
auths.bind_password = Bind Password
-auths.bind_password_helper = Warning: This password is stored in plain text. Do not use a high privileged account.
+auths.bind_password_helper = Warning: This password is stored in plain text. Do not use a highly privileged account.
auths.user_base = User Search Base
auths.user_dn = User DN
auths.attribute_username = Username attribute
@@ -1115,24 +1210,40 @@ auths.smtp_auth = SMTP Authentication Type
auths.smtphost = SMTP Host
auths.smtpport = SMTP Port
auths.allowed_domains = Allowed Domains
-auths.allowed_domains_helper = Leave it empty to not restrict any domains. Multiple domains should be separated by comma ','.
+auths.allowed_domains_helper = Leave it empty to allow all domains. Multiple domains should be separated by comma ','.
auths.enable_tls = Enable TLS Encryption
auths.skip_tls_verify = Skip TLS Verify
auths.pam_service_name = PAM Service Name
-auths.oauth2_provider = OAuth2 provider
+auths.oauth2_provider = OAuth2 Provider
auths.oauth2_clientID = Client ID (Key)
auths.oauth2_clientSecret = Client Secret
+auths.openIdConnectAutoDiscoveryURL = OpenID Connect Auto Discovery URL
+auths.oauth2_use_custom_url = Use custom URLs instead of default URLs
+auths.oauth2_tokenURL = Token URL
+auths.oauth2_authURL = Authorize URL
+auths.oauth2_profileURL = Profile URL
+auths.oauth2_emailURL = Email URL
auths.enable_auto_register = Enable Auto Registration
auths.tips = Tips
-auths.tip.github = Register a new OAuth application on https://github.com/settings/applications/new and use
/user/oauth2//callback as "Authorization callback URL"
-auths.edit = Edit Authentication Setting
+auths.tips.oauth2.general = OAuth2 Authentication
+auths.tips.oauth2.general.tip = When registering a new OAuth2 authentication, the callback/redirect URL should be: /user/oauth2//callback
+auths.tip.oauth2_provider = OAuth2 Provider
+auths.tip.bitbucket = Register a new OAuth consumer on https://bitbucket.org/account/user//oauth-consumers/new and add the permission "Account"-"Read"
+auths.tip.dropbox = Create a new App on https://www.dropbox.com/developers/apps
+auths.tip.facebook = Register a new App on https://developers.facebook.com/apps and add the product "Facebook Login"
+auths.tip.github = Register a new OAuth application on https://github.com/settings/applications/new
+auths.tip.gitlab = Register a new application on https://gitlab.com/profile/applications
+auths.tip.google_plus = Obtain OAuth2 client credentials from the Google API console (https://console.developers.google.com/)
+auths.tip.openid_connect = Use the OpenID Connect Discovery URL (/.well-known/openid-configuration) to specify the endpoints
+auths.tip.twitter = Go to https://dev.twitter.com/apps , create an application and ensure that the “Allow this application to be used to Sign in with Twitter” option is enabled.
+auths.edit = Edit Authentication Settings
auths.activated = This authentication is activated
-auths.new_success = New authentication '%s' has been added successfully.
-auths.update_success = The authentication settings have been updated successfully.
-auths.update = Update Authentication Setting
+auths.new_success = The authentication '%s' has been added.
+auths.update_success = The authentication settings have been updated.
+auths.update = Update Authentication Settings
auths.delete = Delete This Authentication Source
-auths.delete_auth_title = Authentication Deletion
-auths.delete_auth_desc = This authentication source is going to be deleted, do you want to continue?
+auths.delete_auth_title = Delete Authentication Source
+auths.delete_auth_desc = This authentication source will be deleted, are you sure you want to continue?
auths.still_in_used = This authentication source is still used by some users, please delete or convert these users to another login type first.
auths.deletion_success = Authentication has been deleted successfully!
auths.login_source_exist = Login source '%s' already exists.
@@ -1141,6 +1252,7 @@ config.server_config = Server Configuration
config.app_name = Application Name
config.app_ver = Application Version
config.app_url = Application URL
+config.custom_conf = Configuration File Path
config.domain = Domain
config.offline_mode = Offline Mode
config.disable_router_log = Disable Router Log
@@ -1156,7 +1268,7 @@ config.reverse_auth_user = Reverse Authentication User
config.ssh_config = SSH Configuration
config.ssh_enabled = Enabled
-config.ssh_start_builtin_server = Start Builtin Server
+config.ssh_start_builtin_server = Start built-in Server
config.ssh_domain = Domain
config.ssh_port = Port
config.ssh_listen_port = Listen Port
@@ -1179,20 +1291,23 @@ config.db_path_helper = (for "sqlite3" and "tidb")
config.service_config = Service Configuration
config.register_email_confirm = Require Email Confirmation
config.disable_register = Disable Registration
+config.enable_openid_signup = Enable Registration via OpenID
+config.enable_openid_signin = Enable OpenID Sign In
config.show_registration_button = Show Register Button
config.require_sign_in_view = Require Sign In View
config.mail_notify = Mail Notification
config.disable_key_size_check = Disable Minimum Key Size Check
config.enable_captcha = Enable Captcha
config.active_code_lives = Active Code Lives
-config.reset_password_code_lives = Reset Password Code Lives
+config.reset_password_code_lives = Reset Password Code Expiry Time
config.default_keep_email_private = Default Value for Keep Email Private
+config.default_allow_create_organization = Default permission to create organizations
config.no_reply_address = No-reply Address
config.webhook_config = Webhook Configuration
config.queue_length = Queue Length
config.deliver_timeout = Deliver Timeout
-config.skip_tls_verify = Skip TLS Verify
+config.skip_tls_verify = Skip TLS Verification
config.mailer_config = Mailer Configuration
config.mailer_enabled = Enabled
@@ -1201,7 +1316,7 @@ config.mailer_name = Name
config.mailer_host = Host
config.mailer_user = User
config.send_test_mail = Send Test Email
-config.test_mail_failed = Fail to send test email to '%s': %v
+config.test_mail_failed = Failed to send test email to '%s': %v
config.test_mail_sent = Test email has been sent to '%s'.
config.oauth_config = OAuth Configuration
@@ -1254,7 +1369,7 @@ monitor.start = Start Time
monitor.execute_time = Execution Time
notices.system_notice_list = System Notices
-notices.view_detail_header = View Notice Detail
+notices.view_detail_header = View Notice Details
notices.actions = Actions
notices.select_all = Select All
notices.deselect_all = Deselect All
@@ -1265,7 +1380,7 @@ notices.type = Type
notices.type_1 = Repository
notices.desc = Description
notices.op = Op.
-notices.delete_success = System notices have been deleted successfully.
+notices.delete_success = The system notices have been deleted.
[action]
create_repo = created repository %s
@@ -1281,31 +1396,32 @@ comment_issue = `commented on issue %s#%[2]s `
merge_pull_request = `merged pull request %s#%[2]s `
transfer_repo = transferred repository %s to %s
push_tag = pushed tag %[2]s to %[3]s
-compare_commits = View comparison for these %d commits
+compare_commits = Compare %d commits
[tool]
-ago = ago
-from_now = from now
+ago = %s ago
+from_now = %s from now
now = now
-1s = 1 second %s
-1m = 1 minute %s
-1h = 1 hour %s
-1d = 1 day %s
-1w = 1 week %s
-1mon = 1 month %s
-1y = 1 year %s
-seconds = %d seconds %s
-minutes = %d minutes %s
-hours = %d hours %s
-days = %d days %s
-weeks = %d weeks %s
-months = %d months %s
-years = %d years %s
+future = future
+1s = 1 second
+1m = 1 minute
+1h = 1 hour
+1d = 1 day
+1w = 1 week
+1mon = 1 month
+1y = 1 year
+seconds = %d seconds
+minutes = %d minutes
+hours = %d hours
+days = %d days
+weeks = %d weeks
+months = %d months
+years = %d years
raw_seconds = seconds
raw_minutes = minutes
[dropzone]
-default_message = Drop files here or click to upload.
+default_message = Drop files or click to upload.
invalid_input_type = You can't upload files of this type.
file_too_big = File size ({{filesize}} MB) exceeds the maximum size of ({{maxFilesize}} MB).
remove_file = Remove file
@@ -1319,3 +1435,15 @@ no_read = You do not have any read notifications.
pin = Pin notification
mark_as_read = Mark as read
mark_as_unread = Mark as unread
+
+[gpg]
+error.extract_sign = Failed to extract signature
+error.generate_hash = Failed to generate hash of commit
+error.no_committer_account = No account linked to committer's email
+error.no_gpg_keys_found = "No known key found for this signature in database"
+error.not_signed_commit = "Not a signed commit"
+error.failed_retrieval_gpg_keys = "Failed to retrieve any key attached to the committer account"
+
+[units]
+error.no_unit_allowed_repo = Cannot find any unit on this repository which you are allowed to access
+error.unit_not_allowed = You are not allowed to visit this repository unit
diff --git a/options/locale/locale_es-ES.ini b/options/locale/locale_es-ES.ini
index 9f1cf56..eb910b3 100644
--- a/options/locale/locale_es-ES.ini
+++ b/options/locale/locale_es-ES.ini
@@ -5,6 +5,7 @@ dashboard=Panel de control
explore=Explorar
help=Ayuda
sign_in=Iniciar sesión
+sign_in_with=Iniciar sesión con
sign_out=Cerrar sesión
sign_up=Registro
register=Registro
@@ -13,6 +14,7 @@ version=Versión
page=Página
template=Plantilla
language=Idioma
+notifications=Notificaciones
create_new=Crear...
user_profile_and_more=Perfil de usuario y más
signed_in_as=Identificado como
@@ -21,6 +23,8 @@ username=Nombre de usuario
email=Correo electrónico
password=Contraseña
re_type=Ingrese de nuevo
+captcha=Captcha
+twofa=Autenticación en dos pasos
repository=Repositorio
organization=Organización
@@ -28,15 +32,16 @@ mirror=Réplica
new_repo=Nuevo repositorio
new_migrate=Nueva migración
new_mirror=Nueva réplica
-new_fork=Nuevo fork del repositorio
new_org=Nueva organización
manage_org=Administrar organizaciones
admin_panel=Panel de administración
account_settings=Configuraciones de la cuenta
settings=Configuraciones
your_profile=Tu perfil
+your_starred=Tus favoritos
your_settings=Tu configuración
+
activities=Actividad
issues=Incidencias
@@ -44,52 +49,38 @@ cancel=Cancelar
[install]
install=Instalación
-title=Pasos de la instalación por primera vez
-docker_helper=Si está ejecutando Gitea usando Docker, ¡por favor lea estas pautas antes de cambiar nada en esta página!
-requite_db_desc=Gitea requiere una base de datos MySQL, PostgreSQL, SQLite3 o TiDB.
db_title=Configuración de base de datos
db_type=Tipo de base de datos
user=Usuario
password=Contraseña
db_name=Nombre de la base de datos
-db_helper=Por favor utilice el motor INNODB con la configuración de caracteres utf8_general_ci para MySQL.
ssl_mode=Modo SSL
path=Ruta
-sqlite_helper=Ruta al archivo de base de datos SQLite3 o TiDB. Por favor, usa una ruta absoluta cuando inicies como servicio.
err_empty_db_path=La ruta a la base de datos SQLite3 o TiDB no puede estar vacía.
err_invalid_tidb_name=El nombre de la base de datos TiDB no puede contener los caracteres "." ni "-".
no_admin_and_disable_registration=No puede deshabilitar el registro sin crear una cuenta de administrador.
err_empty_admin_password=La contraseña de administrador no puede estar vacía.
-general_title=Configuración General de Gitea
app_name=Nombre de la aplicación
-app_name_helper=Pon aquí el nombre de tu organización, ¡alto y claro!
repo_path=Ruta del repositorio de Raiz (Root)
-repo_path_helper=Todos los repositorios remotos de Git se guardarán en este directorio.
run_user=Ejecutar como Usuario
run_user_helper=El usuario necesita tener acceso a la Ruta Raíz del Repositorio y ejecutar Gitea.
domain=Dominio
domain_helper=Esto afecta a las URLs para clonar por SSH.
ssh_port=Puerto SSH
-ssh_port_helper=Número de puerto de su servidor SSH, déjelo en blanco para desactivar SSH.
http_port=Puerto HTTP
http_port_helper=Puerto en el que escuchará la aplicación.
app_url=URL de la aplicación
-app_url_helper=Esto afecta a las URLs para clonar por HTTP/HTTPS y a algunos correos electrónicos.
log_root_path=Ruta del registro
log_root_path_helper=Directorio donde almacenar los registros.
optional_title=Configuración opcional
email_title=Configuración del servicio de correo
smtp_from=Desde
-smtp_from_helper=Remitente del email, RFC 5322. Puede ser solamente una dirección de correo electrónico, o estar en el formato "Nombre" .
-mailer_user=Remitente del Correo Electrónico
mailer_password=Contraseña del Remitente
register_confirm=Habilitar la Confirmación en el Registro
-mail_notify=Habilitar las Notificaciones de Correo
server_service_title=Configuración del servidor y otros servicios
offline_mode=Activar el modo Sin Conexión
-offline_mode_popup=Desactivar el CDN incluso en el modo de producción, todos los recursos se servirán localmente.
disable_gravatar=Desactivar el servicio Gravatar
disable_gravatar_popup=Desactivar Gravatar y cualquier otra fuente personalizada. Todos los avatares deben ser cargados por los usuarios o en su defecto se mostrará el avatar predeterminado.
federated_avatar_lookup=Habilitar búsqueda de Avatares Federados
@@ -100,7 +91,6 @@ enable_captcha=Activar la Captcha
enable_captcha_popup=Requiere validar la captcha para el auto-registro de usuario.
require_sign_in_view=Activar el Inicio de Sesión obligatorio para Ver Páginas
require_sign_in_view_popup=Solo los usuarios logados pueden ver páginas, los visitantes anónimos solo podrán ver las páginas de login/registro.
-admin_setting_desc=No es necesario crear una cuenta de administrador ahora mismo, el usuario que tenga ID=1 obtendrá privilegios de administrador automáticamente.
admin_title=Configuración de la cuenta de administrador
admin_name=Nombre de usuario
admin_password=Contraseña
@@ -108,13 +98,8 @@ confirm_password=Confirmar Contraseña
admin_email=Correo electrónico del administrador
install_btn_confirm=Instalar Gitea
test_git_failed=Fallo al probar el comando 'git': %v
-sqlite3_not_available=Tu versión no soporta SQLite3, por favor descarga el binario oficial desde %s, NO la versión de gobuild.
-invalid_db_setting=La configuración de la base de datos no es correcta: %v
invalid_repo_path=La ruta de la raíz del repositorio es inválida: %v
-run_user_not_match=El usuario que está ejecutando la aplicación no es el usuario actual: %s -> %s
-save_config_failed=Error al guardar la configuración: %v
invalid_admin_setting=La configuración de la cuenta de administración es inválida: %v
-install_success=Bienvenido! Estamos encantados de que hayas escogido Gitea, diviértete y cuídate.
invalid_log_root_path=La ruta para los registros es inválida: %v
[home]
@@ -122,53 +107,51 @@ uname_holder=Nombre de usuario o correo electrónico
password_holder=Contraseña
switch_dashboard_context=Cambiar el contexto del Dashboard
my_repos=Mis repositorios
-show_more_repos=Mostrar más repositorios...
collaborative_repos=Repositorios colaborativos
my_orgs=Mis organizaciones
my_mirrors=Mis réplicas
view_home=Ver %s
+search_repos=Encontrar un repositorio...
issues.in_your_repos=En tus repositorios
[explore]
repos=Repositorios
users=Usuarios
+organizations=Organizaciones
search=Buscar
[auth]
-create_new_account=Crear una nueva cuenta
register_helper_msg=¿Ya tienes una cuenta? ¡Inicia sesión!
-social_register_helper_msg=¿Ya tienes una cuenta? ¡Enlázala!
disable_register_prompt=Lo sentimos, el registro está deshabilitado. Por favor, contacta con el administrador del sitio.
disable_register_mail=Lo sentimos. Los correos de Confirmación de Registro están deshabilitados.
remember_me=Recuérdame
-forgot_password=He olvidado mi contraseña
-forget_password=¿Has olvidado tu contraseña?
+forgot_password_title=He olvidado mi contraseña
+forgot_password=¿Has olvidado tu contraseña?
sign_up_now=¿Necesitas una cuenta? Regístrate ahora.
-confirmation_mail_sent_prompt=Un nuevo correo de confirmación se ha enviado a %s . Por favor, comprueba tu bandeja de entrada en las siguientes %d horas para completar el proceso de registro.
active_your_account=Activa tu cuenta
prohibit_login=Ingreso prohibido
-prohibit_login_desc=Su cuenta tiene prohibido ingresar al sistema, fovor contactar al administrador del sistema.
-resent_limit_prompt=Lo sentimos, estás solicitando el reenvío del mail de activación con demasiada frecuencia. Por favor, espera 3 minutos.
has_unconfirmed_mail=Hola %s, tu correo electrónico (%s ) no está confirmado. Si no has recibido un correo de confirmación o necesitas que lo enviemos de nuevo, por favor, haz click en el siguiente botón.
resend_mail=Haz click aquí para reenviar tu correo electrónico de activación
-email_not_associate=Esta dirección de correo electrónico no esta asociada a ninguna cuenta.
-send_reset_mail=Haga clic aquí para (re)enviar el correo para el restablecimiento de la contraseña
reset_password=Restablecer su contraseña
-invalid_code=Lo sentimos, su código de confirmación ha expirado o no es valido.
reset_password_helper=Haga Clic aquí para restablecer su contraseña
password_too_short=La longitud de la contraseña no puede ser menor a %d.
-non_local_account=Cuentas que no son locales no pueden cambiar las contraseñas a través de Gitea.
+verify=Verificar
+login_userpass=Usuario / contraseña
+login_openid=OpenID
+openid_connect_submit=Conectar
+openid_connect_title=Accede con una cuenta existente
+openid_register_title=Crear una nueva cuenta
[mail]
activate_account=Por favor, active su cuenta
activate_email=Verifique su correo electrónico
reset_password=Restablezca su contraseña
-register_success=Registro completado, bienvenido
-register_notify=Bienvenido a bordo
+register_success=Registro completado
[modal]
yes=Sí
+no=No
modify=Editar
[form]
@@ -178,6 +161,7 @@ Email=Dirección de correo electrónico
Password=Contraseña
Retype=Vuelva a escribir la contraseña
SSHTitle=Nombre de la Clave de SSH
+HttpsUrl=URL HTTPS
PayloadUrl=URL de carga
TeamName=Nombre del equipo
AuthName=Nombre de autorización
@@ -191,8 +175,6 @@ TreeName=Ruta del archivo
Content=Contenido
require_error=` no puede estar vacío.`
-alpha_dash_error=` los caracteres deben ser Alfanumericos o dash(-_).`
-alpha_dash_dot_error=` debe ser un caracter alfanumérivo válido, un guión alto o bajo (-_) o un signo de puntuación.`
size_error=` debe ser de tamaño %s.`
min_size_error=` debe contener al menos %s caracteres.`
max_size_error=` debe contener como máximo %s caracteres.`
@@ -200,28 +182,10 @@ email_error=` no es una dirección de correo válida.`
url_error=` no es una URL válida.`
include_error=` debe contener la subcadena '%s'.`
unknown_error=Error desconocido:
-captcha_incorrect=El captcha no es válido.
-password_not_match=La contraseña de confirmación no coincide.
-username_been_taken=Ya existe un usuario con este nombre.
-repo_name_been_taken=Ya existe un repositorio con este nombre.
-org_name_been_taken=Ya existe una organización con este nombre.
-team_name_been_taken=Ya existe un equipo con este nombre.
-email_been_used=Esta dirección de correo electrónico ya está en uso.
-username_password_incorrect=Nombre de usuario o contraseña incorrectos.
-enterred_invalid_repo_name=Por favor, asegúrate de que has introducido correctamente el nombre del repositorio.
-enterred_invalid_owner_name=Por favor, asegúrate de que has introducido correctamente el nombre del propietario.
-enterred_invalid_password=Por favor, asegúrate de que has introducido correctamente tu contraseña.
-user_not_exist=El usuario indicado no existe.
-last_org_owner=El usuario que se intenta eliminar es el último miembro del equipo de propietarios. Debe existir otro propietario.
-invalid_ssh_key=Lo sentimos, no somos capaces de verificar tu clave SSH: %s
-unable_verify_ssh_key=Gitea no puede velificar tu clave SSH, pero asumimos que es válida. Por favor, asegúrate de que es así.
auth_failed=Error de autenticación: %v
-still_own_repo=Tu cuenta es la propietaria de uno o más repositorios, tienes que borrarlos o transferirlos primero.
-still_has_org=Tu cuenta es miembro de una o más organizaciones, tienes que abandonarlas o eliminarlas primero.
-org_still_own_repo=Esta organización es dueña de uno o más repositorios, tienes que eliminarlos o transferirlos primero.
target_branch_not_exist=La rama de destino no existe
@@ -236,29 +200,24 @@ following=Siguiendo
follow=Seguir
unfollow=Dejar de seguir
-form.name_reserved=El usuario '%s' está reservado.
-form.name_pattern_not_allowed=El patrón de nombre de usuario '%s' no está permitido.
[settings]
profile=Perfil
password=Contraseña
-ssh_keys=Claves SSH
+avatar=Avatar
social=Redes Sociales
applications=Aplicaciones
orgs=Organizaciones
delete=Eliminar cuenta
+twofa=Autenticación en dos pasos
uid=UUID
public_profile=Perfil público
-profile_desc=Tu correo electrónico es público y será usado para todas las notificaciones relacionadas con cualquier cuenta y cualquier operación hecha a través de la web.
-password_username_disabled=Los usuarios que no son locales no tienen permitido cambiar su nombre de usuario.
full_name=Nombre completo
website=Página web
location=Localización
update_profile=Actualizar perfil
-update_profile_success=Tu perfil se ha actualizado correctamente.
change_username=Nombre de usuario modificado
-change_username_prompt=Este cambio afectará a los enlaces que hacen referencia a su cuenta.
continue=Continuar
cancel=Cancelar
@@ -269,15 +228,11 @@ choose_new_avatar=Selecciona nuevo avatar
update_avatar=Actualizar configuración del avatar
delete_current_avatar=Eliminar avatar
uploaded_avatar_not_a_image=El archivo enviado no es una imagen.
-update_avatar_success=La configuración de tu avatar se ha actualizado correctamente.
change_password=Cambiar contraseña
old_password=Contraseña actual
new_password=Nueva contraseña
retype_new_password=Confirmar nueva contraseña
-password_incorrect=Contraseña actual incorrecta.
-change_password_success=La contraseña se ha modificado correctamente. Ya puedes iniciar sesión con tu nueva contraseña.
-password_change_disabled=Los usuarios que no son locales no tienen permitido cambiar su contraseña.
emails=Direcciones de correo electrónico
manage_emails=Gestionar direcciones de correo electrónico
@@ -285,91 +240,74 @@ email_desc=Tu dirección de correo principal se utilizará para las notificacion
primary=Principal
primary_email=Marcar como principal
delete_email=Eliminar
-email_deletion=Eliminar correo electrónico
-email_deletion_desc=Al eliminar esta dirección de correo electrónico se eliminará toda la información asociada a esta. ¿Deseas continuar?
email_deletion_success=¡El correo electrónico ha sido eliminado correctamente!
add_new_email=Añadir nueva dirección de correo electrónico
add_email=Añadir correo electrónico
-add_email_confirmation_sent=Un nuevo correo de confirmación ha sido enviado a '%s'. Por favor, comprueba tu bandeja de entrada en las próximas %d horas para completar el proceso.
add_email_success=Tu nuevo correo electrónico se ha añadido correctamente.
+keep_email_private=Mantener la dirección de correo electrónico privada
+keep_email_private_popup=Si activa esta opción se ocultará su dirección de correo electrónico a otros usuarios.
manage_ssh_keys=Gestionar Claves SSH
add_key=Añadir Clave
-ssh_desc=Esta es la lista de claves SSH asociadas con tu cuenta. Elimina cualquier clave que no reconozcas.
-ssh_helper=¿Necesitas ayuda? Consulta la guía de GitHub para generar claves SSH o solucionar problemas comunes al usar SSH.
add_new_key=Añadir clave SSH
-ssh_key_been_used=El contenido de la clave pública se ha utilizado.
-ssh_key_name_used=Ya existe una clave pública con el mismo nombre.
+add_new_gpg_key=Añadir clave GPG
key_name=Nombre de la Clave
key_content=Contenido
-add_key_success=¡Nueva clave SSH '%s' añadida correctamente!
delete_key=Eliminar
ssh_key_deletion=Borrado de Clave SSH
-ssh_key_deletion_desc=Si elimina esta clave SSH no podrá volver a usarla para acceder a su cuenta. ¿Desea continuar?
-ssh_key_deletion_success=¡La clave SSH ha sido eliminada con éxito!
add_on=Añadido en
+valid_until=Válido hasta
last_used=Utilizado por última vez en
no_activity=No hay actividad reciente
-key_state_desc=Esta clave ha sido usada en los últimos 7 días
-token_state_desc=Token usado en los últimos 7 días
manage_social=Gestionar Redes Sociales asociadas
-social_desc=Esta es una lista de las Redes Sociales asociadas. Elimina cualquier vínculo que no reconozcas.
unbind=Desvincular
-unbind_success=La Red Social ha sido desvinculada.
manage_access_token=Gestionar los Tokens de Acceso personales
generate_new_token=Generar nuevo Token
-tokens_desc=Tokens usados para acceder al API de Gitea.
new_token_desc=Desde ahora, todos los tokens tendrán acceso completo a tu cuenta.
token_name=Nombre del Token
generate_token=Generar Token
-generate_token_succees=¡Los nuevos tokens de acceso se han generado correctamente! Asegúrate de copiar tu nuevo token de acceso personal. ¡No podrás verlo de nuevo!
delete_token=Eliminar
access_token_deletion=Borrado de Token de Acceso Personal
-access_token_deletion_desc=Si elimina este token de acceso personal la aplicación asociada perderá el permiso de acceso. ¿Desea continuar?
-delete_token_success=¡El token de acceso personal ha sido eliminado con éxito! No se olvide de actualizar también las aplicaciones asociadas.
+
+twofa_disable_note=Si es necesario, puede deshabilitar la autenticación en dos pasos.
+twofa_disabled=La autenticación en dos pasos ha sido deshabilitada.
+scan_this_image=Analiza esta imagen con la aplicación de autenticación:
+
delete_account=Elimina tu cuenta
delete_prompt=La operación eliminará tu cuenta de forma permanente y ¡NO se puede deshacer!
confirm_delete_account=Confirmar Eliminación
delete_account_title=Eliminación de Cuenta
-delete_account_desc=Esta cuenta se va a eliminar permanentemente, ¿quieres continuar?
[repo]
owner=Propietario
repo_name=Nombre del repositorio
-repo_name_helper=Los grandes nombres de repositorios son cortos, memorables y únicos .
visibility=Visibilidad
visiblity_helper=Este repositorio es privado
-visiblity_helper_forced=El administrador web ha obligado a todos los repositorios nuevos a ser privados
visiblity_fork_helper=(Este cambio afectará a todos los forks)
clone_helper=¿Necesitas ayuda con el clone? ¡Consulta la Ayuda !
fork_repo=Hacer Fork del repositorio
fork_from=Crear un Fork desde
-fork_visiblity_helper=No es posible cambiar la visibilidad de un Fork
repo_desc=Descripción
repo_lang=Idioma
repo_gitignore_helper=Seleccionar plantillas de .gitignore
license=Licencia
license_helper=Selecciona un fichero de licencia
+readme=Léeme
readme_helper=Seleccione una plantilla de archivo readme
auto_init=Inicializar los archivos seleccionados y plantillas de este repositorio
create_repo=Crear repositorio
default_branch=Rama por defecto
mirror_prune=Purgar
-mirror_prune_desc=Remover referencias remotas que no existan remotamente
-mirror_interval=Intervalo de la réplica (en horas)
mirror_address=Dirección de la réplica
-mirror_address_desc=Por favor, incluya las credenciales de usuario necesarias en la dirección.
mirror_last_synced=Última sincronización
watchers=Seguidores
stargazers=Fans
+forks=Forks
-form.reach_limit_of_creation=El propietario ha alcanzado el límite máximo de %d repositorios creados.
-form.name_reserved=El nombre del repositorio '%s' está reservado.
-form.name_pattern_not_allowed=El patrón del nombre del repositorio '%s' no está permitido.
need_auth=Requiere autorización
migrate_type=Tipo de migración
@@ -391,14 +329,12 @@ unwatch=Dejar de vigilar
watch=Seguir
unstar=Eliminar destacado
star=Destacar
+fork=Fork
download_archive=Descargar este repositorio
no_desc=Sin descripción
quick_guide=Guía Rápida
clone_this_repo=Clonar este repositorio
-create_new_repo_command=Crear un nuevo repositorio desde línea de comandos
-push_exist_repo=Hacer Push de un repositorio existente desde línea de comandos
-repo_is_empty=Este repositorio está vacío, por favor, ¡vuelva más tarde!
code=Código
branch=Rama
@@ -407,7 +343,11 @@ filter_branch_and_tag=Filtrar por rama o etiqueta
branches=Ramas
tags=Etiquetas
issues=Incidencias
+pulls=Pull Requests
labels=Etiquetas
+milestones=Milestones
+commits=Commits
+releases=Releases
file_history=Histórico
file_view_raw=Ver Raw
file_too_large=Este archivo es demasiado grande para ser mostrado
@@ -416,7 +356,6 @@ editor.new_file=Nuevo archivo
editor.upload_file=Subir archivo
editor.edit_file=Editar archivo
editor.preview_changes=Vista previa de los cambios
-editor.cannot_edit_non_text_files=Sólo puede editar archivos de texto
editor.edit_this_file=Editar este archivo
editor.must_be_on_a_branch=Debes estar en una rama para hacer o proponer cambios en este archivo
editor.fork_before_edit=Debes hacer un fork de este repositorio antes de editar el archivo
@@ -440,9 +379,9 @@ editor.cancel=Cancelar
editor.filename_cannot_be_empty=El nombre del archivo no puede estar vacío.
editor.branch_already_exists=La rama '%s' ya existe en este repositorio.
editor.directory_is_a_file=La entrada '%s' en el directorio padre es un archivo no un directorio en este repositorio.
+editor.file_is_a_symlink=El archivo '%s' es un enlace simbólico que no puede ser modificado desde el editor web
editor.filename_is_a_directory=El nombre del fichero '%s' es un directorio existente en este repositorio.
editor.file_editing_no_longer_exists=El archivo '%s' que estás editando ya no existe en este repositorio.
-editor.file_changed_while_editing=El contenido del archivo ha sido modificado desde que empezó a editarlo. Clic aquí para ver qué ha sido modificado o presiona confirmar de nuevo para sobrescribir estos cambios.
editor.file_already_exists=Ya existe un archivo con nombre '%s' en este repositorio.
editor.no_changes_to_show=No existen cambios para mostrar.
editor.fail_to_update_file=Error al actualizar/crear el archivo '%s', error: %v
@@ -450,18 +389,22 @@ editor.add_subdir=Añadir subdirectorio...
editor.unable_to_upload_files=Error al subir archivos a '%s', error: %v
editor.upload_files_to_dir=Subir archivos a '%s'
+commits.commits=Commits
commits.search=Buscar commits
commits.find=Buscar
+commits.search_all=Todas las ramas
commits.author=Autor
commits.message=Mensaje
commits.date=Fecha
commits.older=Anterior
commits.newer=Posterior
+
issues.new=Nueva incidencia
issues.new.labels=Etiquetas
issues.new.no_label=Sin etiquetas
issues.new.clear_labels=Limpiar etiquetas
+issues.new.milestone=Milestone
issues.new.no_milestone=Sin Milestone
issues.new.clear_milestone=Limpiar Milestone
issues.new.open_milestone=Milestones abiertas
@@ -474,14 +417,18 @@ issues.new_label=Nueva Etiqueta
issues.new_label_placeholder=Nombre etiqueta...
issues.create_label=Crear etiqueta
issues.label_templates.title=Carga un conjunto predefinido de etiquetas
-issues.label_templates.info=Todavía no hay ninguna etiqueta. Puede hacer clic en el botón "Nueva etiqueta" para crear una o utilizar un conjunto predefinido abajo.
issues.label_templates.helper=Seleccionar un conjunto de etiquetas
issues.label_templates.use=Usar este conjunto de etiquetas
issues.label_templates.fail_to_load_file=Error al cargar el archivo de plantilla de etiqueta '%s': %v
+issues.add_label_at=`añadida la etiqueta %s
label %s`
+issues.remove_label_at=`eliminada la etiqueta %s
label %s`
+issues.add_assignee_at='fue asignado por %s %s'
+issues.delete_branch_at=`rama eliminada %s %s`
issues.open_tab=%d abiertas
issues.close_tab=%d cerradas
issues.filter_label=Etiqueta
issues.filter_label_no_select=Ninguna etiqueta seleccionada
+issues.filter_milestone=Milestone
issues.filter_milestone_no_select=Ningún Milestone seleccionado
issues.filter_assignee=Asignada a
issues.filter_assginee_no_select=Sin asignar
@@ -530,8 +477,6 @@ issues.label_edit=Editar
issues.label_delete=Borrar
issues.label_modify=Edición de Etiqueta
issues.label_deletion=Borrado de Etiqueta
-issues.label_deletion_desc=Al borrar la etiqueta su información será eliminada de todas las incidencias relacionadas. Desea continuar?
-issues.label_deletion_success=Etiqueta borrada con éxito!
issues.num_participants=%d participantes
issues.attachment.open_tab='Haga clic para ver "%s" en una pestaña nueva'
issues.attachment.download=`Haga clic para descargar "%s"`
@@ -549,16 +494,12 @@ pulls.title_desc=desea fusionar %[1]d commits de %[2]s en %[3
pulls.merged_title_desc=fusionados %[1]d commits de %[2]s en %[3]s %[4]s
pulls.tab_conversation=Conversación
pulls.tab_files=Archivos modificados
-pulls.reopen_to_merge=Por favor reabra este Pull Request para proceder con la operación de fusionado.
pulls.merged=Fusionado
-pulls.has_merged=¡Este Pull Request se ha completado con éxito!
pulls.data_broken=Los datos de este pull request ya no están disponibles porque se ha eliminado la información del fork.
pulls.is_checking=Se está procediendo a la búsqueda de conflictos, por favor actualice la página en unos momentos.
pulls.can_auto_merge_desc=Este Pull Request puede ser fusionado automáticamente.
-pulls.cannot_auto_merge_desc=Este Pull Request no puede ser fusionado automáticamente porque hay conflictos.
pulls.cannot_auto_merge_helper=Por favor, fusiona manualmente para resolver los conflictos.
pulls.merge_pull_request=Fusionar Pull Request
-pulls.open_unmerged_pull_exists=`Usted no puede realizar la operación de reapertura porque en estos momentos existe una solicitud de pull request (#%d) para el mismo repositorio con la misma información que se encuentra a la espera de aprobación`
milestones.new=Nuevo Milestone
milestones.open_tab=%d abiertas
@@ -576,27 +517,23 @@ milestones.clear=Eliminar
milestones.invalid_due_date_format=El formato de la fecha límite no es válido, debe ser 'yyyy-mm-dd'.
milestones.create_success=¡El milestone '%s' ha sido creado con éxito!
milestones.edit=Editar Milestone
-milestones.edit_subheader=Use una buena descripción en el milestone para no confundir al resto de usuarios.
milestones.cancel=Cancelar
milestones.modify=Modificar Milestone
milestones.edit_success=¡Los cambios al milestone '%s' se han guardado con éxito!
milestones.deletion=Borrar milestone
-milestones.deletion_desc=Eliminar este Milestone eliminará su información y las incidencias asociadas. ¿Desea continuar?
milestones.deletion_success=¡El milestone ha sido eliminado con éxito!
-wiki.welcome=¡Bienvenido a la Wiki!
-wiki.welcome_desc=La Wiki es el lugar donde os gustaría documentar juntos vuestro proyecto y hacerlo mejor.
+
+wiki=Wiki
wiki.create_first_page=Crear la primera página
wiki.page=Página
wiki.filter_page=Filtrar página
wiki.new_page=Crear nueva página
-wiki.default_commit_message=Escribe una nota sobre esta actualización (opcional).
wiki.save_page=Guardar página
wiki.last_commit_info=%s editó esta página %s
wiki.edit_page_button=Editar
wiki.new_page_button=Nueva página
wiki.delete_page_button=Eliminar página
-wiki.delete_page_notice_1=Esto eliminará la página "%s". Por favor, asegúrate de que es lo que quieres.
wiki.page_already_exists=Ya existe una página con el mismo nombre.
wiki.pages=Páginas
wiki.last_updated=Última actualización %s
@@ -608,10 +545,11 @@ settings.collaboration.admin=Administrador
settings.collaboration.write=Escritura
settings.collaboration.read=Lectura
settings.collaboration.undefined=Indefinido
+settings.hooks=Webhooks
+settings.githooks=Git Hooks
settings.basic_settings=Configuración Básica
settings.mirror_settings=Configuración de réplica
settings.sync_mirror=Sincronizar ahora
-settings.mirror_sync_in_progress=Sincronización de réplica en curso, por favor actualice la página en unos minutos.
settings.site=Sitio oficial
settings.update_settings=Actualizar configuración
settings.advanced_settings=Ajustes avanzados
@@ -623,6 +561,7 @@ settings.external_wiki_url_desc=Los visitantes serán redireccionados a la URL c
settings.issues_desc=Habilitar rastreo de incidencias
settings.use_internal_issue_tracker=Usar rastreo de incidencias ligero incluido
settings.use_external_issue_tracker=Usar tracker externo de incidencias
+settings.external_tracker_url_desc=Los visitantes serán redireccionados a la URL cuando hagan click en la pestaña.
settings.tracker_url_format=Formato URL del tracker de incidencias externo
settings.tracker_issue_style=Estilo de etiquetado del tracker externo de incidencias:
settings.tracker_issue_style.numeric=Numérico
@@ -632,29 +571,18 @@ settings.pulls_desc=Habilitar Pull Requests para aceptar contribuciones pública
settings.danger_zone=Zona de Peligro
settings.new_owner_has_same_repo=El nuevo propietario tiene un repositorio con el mismo nombre.
settings.convert=Convertir en un repositorio normal
-settings.convert_desc=Puedes convertir este repositorio en un repositorio normal. Este cambio no se puede deshacer.
settings.convert_notices_1=- Esta operación convertirá este repositorio espejo en un repositorio normal y no podrá deshacerse.
settings.convert_confirm=Confirmar conversión
-settings.convert_succeed=El repositorio ha sido convertido en normal satisfactoriamente.
settings.transfer=Transferir la propiedad
settings.transfer_desc=Transferir este repositorio a otro usuario u organización donde tengas permisos de administración.
-settings.transfer_notices_1=- Perderá el permiso de acceso si el nuevo propietario es otro usuario.
-settings.transfer_notices_2=- Conservará el privilegio de acceso si el nuevo propietario es una organización y usted es uno de los propietarios de dicha organización.
-settings.transfer_form_title=Por favor introduzca esta información para confirmar la operación:
settings.wiki_delete=Eliminar datos de la wiki
settings.wiki_delete_desc=Una vez borrados los datos de la wiki no habrá vuelta atrás. Por favor, asegúrate de que es lo que quieres.
settings.wiki_delete_notices_1=- Esto eliminará y deshabilitará la wiki para %s
-settings.wiki_deletion_success=Los datos de la wiki del repositorio han sido borrados correctamente.
settings.delete=Eliminar este repositorio
settings.delete_desc=Una vez has eliminado un repositorio, no hay vuelta atrás. Por favor, asegúrate de que es lo que quieres.
settings.delete_notices_1=- Esta operación NO PUEDE revertirse.
-settings.delete_notices_2=- Esta operación eliminará de manera permanente todo el contenido de este repositorio, incluyendo los datos de git, las incidencias, los comentarios y los permisos de acceso de los colaboradores.
-settings.delete_notices_fork_1=- Todos los forks se convertirán en independientes tras el borrado.
-settings.deletion_success=¡El respositorio ha sido eliminado satisfactoriamente!
-settings.update_settings_success=Las opciones del repositorio se han actualizado correctamente.
settings.transfer_owner=Nuevo Propietario
settings.make_transfer=Transferir
-settings.transfer_succeed=La propiedad del repositorio ha sido transferida exitosamente.
settings.confirm_delete=Confirmar eliminación
settings.add_collaborator=Añadir nuevo colaborador
settings.add_collaborator_success=El nuevo colaborador ha sido añadido.
@@ -666,13 +594,10 @@ settings.search_user_placeholder=Buscar usuario...
settings.org_not_allowed_to_be_collaborator=Las organizaciones no tiene permitido ser añadidas como colaboradores.
settings.user_is_org_member=El usuario es miembro de la organización, no puede ser añadido como colaborador.
settings.add_webhook=Añadir Webhook
-settings.hooks_desc=Los Webhooks permiten a servicios externos recibir notificaciones cuando sucedan ciertos eventos en Gitea. Cuando sucedan los eventos especificados, enviaremos una petición POST a cada una de las URLs indicadas. Para obtener más información, consulta nuestra Guía de Webhooks .
settings.webhook_deletion=Eliminar Webhook
-settings.webhook_deletion_desc=Al borrar este webhook se eliminará su información y todo su historial. ¿Desea continuar?
settings.webhook_deletion_success=¡Webhook eliminado con éxito!
settings.webhook.test_delivery=Test de entrega
settings.webhook.test_delivery_desc=Enviar un falso evento Push de entrega para probar tus ajustes de webhook
-settings.webhook.test_delivery_success=Probar que los webhook han sido añadidos a la cola de entrega. Esto puede tomar algunos segundos antes de aparecer en el historial de entregas.
settings.webhook.request=Petición
settings.webhook.response=Respuesta
settings.webhook.headers=Encabezado
@@ -682,12 +607,12 @@ settings.githook_edit_desc=Si el hook no está activo, se mostrará contenido de
settings.githook_name=Nombre del Hook
settings.githook_content=Contenido del Hook
settings.update_githook=Actualizar Hook
-settings.add_webhook_desc=Enviaremos una petición POST a la siguiente URL con los detalles de cualquier evento suscrito. También puedes especificar qué formato de datos te gustaría recibir (JSON, x-www-form-urlencoded, etc ). Puedes encontrar más información en la Guía de Webhooks .
settings.payload_url=URL de Payload
settings.content_type=Tipo de contenido
settings.secret=Secreto
settings.slack_username=Nombre de usuario
settings.slack_icon_url=URL de icono
+settings.slack_color=Color
settings.event_desc=¿Qué eventos te gustaría que desencadenasen este webhook?
settings.event_push_only=Solo el evento push.
settings.event_send_everything=Necesito todo .
@@ -697,7 +622,6 @@ settings.event_create_desc=Rama o etiqueta creada
settings.event_pull_request_desc=Pull request, abierta, cerrada, reabierta, editada, asignada, desasignada, con etiqueta actualizada, con etiqueta eliminada, o sincronizada.
settings.event_push_desc=Git push a un repositorio
settings.active=Activo
-settings.active_helper=Enviaremos detalles del evento cuando este hook se dispare.
settings.add_hook_success=Se ha añadido un nuevo webhook.
settings.update_webhook=Actualizar Webhook
settings.update_hook_success=Se ha actualizado el Webhook.
@@ -705,6 +629,7 @@ settings.delete_webhook=Borrar Webhook
settings.recent_deliveries=Envíos Recientes
settings.hook_type=Tipo de Hook
settings.add_slack_hook_desc=Añade integración con Slack a tu repositorio.
+settings.slack_token=Token
settings.slack_domain=Dominio
settings.slack_channel=Canal
settings.deploy_keys=Claves de Despliegue
@@ -717,16 +642,15 @@ settings.key_been_used=Se ha usado la clave de despliegue.
settings.key_name_used=Ya existe una clave de despliegue con el mismo nombre.
settings.add_key_success=¡La nueva clave de desplieque '%s' ha sido creada con éxito!
settings.deploy_key_deletion=Eliminar Clave de Despliegue
-settings.deploy_key_deletion_desc=Al eliminar esta clave de despliegue se perderán el permiso de acceso a este repositorio con dicha clave. ¿Deseas continuar?
-settings.deploy_key_deletion_success=¡Clave de despliegue eliminada con éxito!
diff.browse_source=Explorar el Código
diff.parent=padre
-diff.data_not_available=Los datos del Diff no están disponibles.
+diff.commit=commit
diff.show_diff_stats=Mostrar estadísticas de diff
diff.show_split_view=Dividir vista
diff.show_unified_view=Unificar vista
diff.stats_desc=Se han modificado %d ficheros con %d adiciones y %d borrados
+diff.bin=BIN
diff.view_file=Ver fichero
diff.file_suppressed=La diferencia del archivo ha sido suprimido porque es demasiado grande
diff.too_many_files=Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio
@@ -737,11 +661,8 @@ release.stable=Estable
release.edit=editar
release.ahead=%d commits en %s desde esta release
release.source_code=Código Fuente
-release.new_subheader=Publicar releases del proyecto.
-release.edit_subheader=Un registro de cambios detallado ayudará a los usuarios a comprender lo que se ha mejorado.
release.tag_name=Nombre de la etiqueta
release.target=Destino
-release.tag_helper=Escoge una etiqueta o crea una nueva al publicar.
release.title=Título
release.content=Contenido
release.write=Escribir
@@ -755,12 +676,12 @@ release.save_draft=Guardar borrador
release.edit_release=Editar Release
release.delete_release=Borrar este Release
release.deletion=Eliminar Release
-release.deletion_desc=Eliminar este Release eliminará la etiqueta correspondiente. ¿Desea continuar?
-release.deletion_success=¡El release ha sido eliminado correctamente!
release.tag_name_already_exist=Ya existe una Release con esta etiqueta.
release.tag_name_invalid=Nombre de la etiqueta no es válido.
release.downloads=Descargas
+branch.delete=Eliminar la rama %s
+branch.deletion_failed=Error al borrar la rama %s.
[org]
org_name_holder=Nombre de la organización
@@ -777,9 +698,6 @@ create_new_team=Crear un nuevo equipo
org_desc=Descripción
team_name=Nombre del equipo
team_desc=Descripción
-team_name_helper=Utiliza este nombre para mencionar a este equipo en las conversaciones.
-team_desc_helper=¿En qué consiste este equipo?
-team_permission_desc=¿Qué nivel de permisos debería tener este equipo?
form.name_reserved=El nombre de la organización '%s' está reservado.
form.name_pattern_not_allowed=El patrón de nombre de la organización '%s' no está permitido.
@@ -790,16 +708,11 @@ settings.full_name=Nombre completo
settings.website=Página web
settings.location=Localización
settings.update_settings=Actualizar configuración
-settings.update_setting_success=La configuración de la organización se ha actualizado correctamente.
-settings.change_orgname_prompt=Este cambio afectará a los enlaces que hacen referencia a la organización.
-settings.update_avatar_success=La configuración de avatar de la organización ha sido actualizada con éxito.
settings.delete=Eliminar organización
settings.delete_account=Eliminar esta organización
settings.delete_prompt=Esta operación eliminará esta organización de manera permanente, y ¡NO PUEDE deshacerse!
settings.confirm_delete_account=Confirmar eliminación
settings.delete_org_title=Eliminación de la organización
-settings.delete_org_desc=Esta organización se va a eliminar permanentemente, ¿quieres continuar?
-settings.hooks_desc=Añadir webhooks que serán ejecutados para todos los repositorios de esta organización.
members.membership_visibility=Visibilidad de Membresía:
members.public=Público
@@ -819,9 +732,7 @@ teams.leave=Abandonar
teams.read_access=Acceso de Lectura
teams.read_access_helper=Este equipo podrá ver y clonar sus repositorios.
teams.write_access=Acceso de Escritura
-teams.write_access_helper=Este equipo podrá leer sus repositorios, así como hacer push en ellos.
teams.admin_access=Acceso de administrador
-teams.admin_access_helper=Este equipo podrá hacer push/pull en sus repositorios, así como añadir colaboradores a ellos.
teams.no_desc=Este equipo no tiene descripción
teams.settings=Configuración
teams.owners_permission_desc=Los propietarios tienen acceso completo a todos los repositorios y tienen derechos de administración en la organización.
@@ -830,8 +741,6 @@ teams.update_settings=Actualizar configuración
teams.delete_team=Eliminar este equipo
teams.add_team_member=Añadir miembro al equipo
teams.delete_team_title=Eliminar equipo
-teams.delete_team_desc=Este equipo va a ser eliminado, ¿seguro que quieres continuar? Los miembros de este equipo pueden perder acceso a algunos repositorios.
-teams.delete_team_success=El equipo ha sido eliminado correctamente.
teams.read_permission_desc=Este equipo tiene permisos de Lectura : sus miembros pueden ver y clonar los repositorios del equipo.
teams.write_permission_desc=Este equipo tiene permisos de Escritura : sus miembros pueden leer y hacer push a los repositorios del equipo.
teams.admin_permission_desc=Este equipo tiene permisos de Administración : sus miembros pueden leer, hacer push y añadir colaboradores a los repositorios del equipo.
@@ -842,6 +751,7 @@ teams.remove_repo=Eliminar
teams.add_nonexistent_repo=El repositorio que estás intentando añadir no existe, por favor, créalo primero.
[admin]
+dashboard=Panel de control
users=Usuarios
organizations=Organizaciones
repositories=Repositorios
@@ -851,6 +761,7 @@ notices=Notificaciones del sistema
monitor=Monitorización
first_page=Primera
last_page=Última
+total=Total: %d
dashboard.statistic=Estadísticas
dashboard.operations=Operaciones
@@ -859,23 +770,8 @@ dashboard.statistic_info=La base de datos de Gitea contiene %d usuarios,
dashboard.operation_name=Nombre de la operación
dashboard.operation_switch=Interruptor
dashboard.operation_run=Ejecutar
-dashboard.clean_unbind_oauth=Limpiar solicitudes de OAuth sin confirmar
-dashboard.clean_unbind_oauth_success=Las solicitudes de OAuth sin confirmar se han eliminado correctamente.
dashboard.delete_inactivate_accounts=Eliminar todas las cuentas inactivas
-dashboard.delete_inactivate_accounts_success=Todas las cuentas inactivas se han eliminado correctamente.
dashboard.delete_repo_archives=Eliminar todos los archivos de repositorios
-dashboard.delete_repo_archives_success=Todos los archivos de repositorios se han eliminado correctamente.
-dashboard.delete_missing_repos=Borrar todos los registros de los repositorios para los que ya no se dispone de los archivos Git
-dashboard.delete_missing_repos_success=Todos los registros de repositorios para los que ya no se dispone de los archivos Git se han eliminado correctamente.
-dashboard.git_gc_repos=Ejecutar la recolección de basura en los repositorios
-dashboard.git_gc_repos_success=Todos los repositorios han ejecutado correctamente el recolector de basuras.
-dashboard.resync_all_sshkeys=Reescribir el fichero '.ssh/authorized_keys'(atención: se perderán las claves que no pertenezcan a Gitea)
-dashboard.resync_all_sshkeys_success=Todas las claves públicas se han reescrito correctamente.
-dashboard.resync_all_update_hooks=Reescribir todos los hooks de actualización de los repositorios (necesario cuando se modifica la ruta de configuración personalizada)
-dashboard.resync_all_update_hooks_success=Todos los hooks de actualización de los repositorios se han reescrito correctamente.
-dashboard.reinit_missing_repos=Reinicializar todos los registros del repositorio que tienen archivos Git eliminados
-dashboard.reinit_missing_repos_success=Todos los registros del repositorio con archivos Git eliminados han sido reinicializados con éxito.
-
dashboard.server_uptime=Tiempo de actividad del servidor
dashboard.current_goroutine=Gorutinas actuales
dashboard.current_memory_usage=Uso de memoria actual
@@ -906,40 +802,32 @@ dashboard.total_gc_pause=Pausa Total por GC
dashboard.last_gc_pause=Última Pausa por GC
dashboard.gc_times=Ejecuciones GC
-users.user_manage_panel=Panel de Gestión de Usuarios
users.new_account=Crear Nueva Cuenta
users.name=Nombre
users.activated=Activado
users.admin=Administrador
users.repos=Repositorios
users.created=Creado
+users.last_login=Último inicio de sesión
+users.never_login=Nunca inició sesión
users.send_register_notify=Enviar notificación de registro al usuario
-users.new_success=La cuenta '%s' ha sido creada con éxito.
users.edit=Editar
users.auth_source=Fuente de Autenticación
+users.local=Local
users.auth_login_name=Nombre de Inicio de sesión de autenticación
users.password_helper=Deje el campo vacío si no desea cambiar la contraseña.
-users.update_profile_success=El perfil de la cuenta se ha actualizado correctamente.
users.edit_account=Editar Cuenta
users.max_repo_creation=Límite máximo de repositorios
users.max_repo_creation_desc=(Configura a -1 para usar el límite global por defecto)
-users.is_activated=Esta cuenta está activada
-users.prohibit_login=Esta cuenta no tiene permitido ingresar
users.is_admin=Esta cuenta tiene permisos de administrador
-users.allow_git_hook=Esta cuenta tiene permisos para crear hooks de Git
users.allow_import_local=Esta cuenta dispone de permisos para importar repositorios locales
users.update_profile=Actualizar Perfil de la Cuenta
users.delete_account=Eliminar esta Cuenta
-users.still_own_repo=Esta cuenta es propietaria de uno o más repositorios, tienes que borrarlos o transferirlos primero.
-users.still_has_org=Esta cuenta es miembro de una o más organizaciones, tienes que abandonarlas o eliminarlas primero.
-users.deletion_success=Su cuenta ha sido eliminada correctamente!
-orgs.org_manage_panel=Panel de Gestión de Organización
orgs.name=Nombre
orgs.teams=Equipos
orgs.members=Miembros
-repos.repo_manage_panel=Panel de Gestión de Repositorios
repos.owner=Propietario
repos.name=Nombre
repos.private=Privado
@@ -947,7 +835,6 @@ repos.watches=Vigilantes
repos.stars=Estrellas
repos.issues=Incidencias
-auths.auth_manage_panel=Panel de administración de autenticación
auths.new=Añadir nuevo origen
auths.name=Nombre
auths.type=Tipo
@@ -959,7 +846,6 @@ auths.security_protocol=Protocolo de seguridad
auths.domain=Dominio
auths.port=Puerto
auths.bind_password=Contraseña Bind
-auths.bind_password_helper=Advertencia: La contraseña se almacena como texto plano. No utilice una cuenta con privilegios elevados.
auths.user_base=Base de búsqueda de usuarios
auths.user_dn=DN de Usuario
auths.attribute_username=Atributo de nombre de usuario
@@ -973,21 +859,12 @@ auths.admin_filter=Filtro de aministrador
auths.smtp_auth=Tipo de autenticación SMTP
auths.smtpport=Puerto SMTP
auths.allowed_domains=Dominios Permitidos
-auths.allowed_domains_helper=Deje el campo vacío si no desea restringir ningún dominio. Para restringir más de uno, separe los dominios con una coma ','.
auths.enable_tls=Habilitar cifrado TLS
auths.skip_tls_verify=Omitir la verificación TLS
auths.pam_service_name=Nombre del Servicio PAM
auths.enable_auto_register=Hablilitar Auto-Registro
auths.tips=Consejos
-auths.edit=Editar la Configuración de Autenticación
auths.activated=Esta autenticación ha sido activada
-auths.new_success=¡La autenticación '%s' ha sido añadida con éxito!
-auths.update_success=La configuración de autenticación ha sido actualizada con éxito.
-auths.update=Actualizar la configuración de autenticación
-auths.delete=Eliminar Autenticación
-auths.delete_auth_title=Borrado de autenticación
-auths.delete_auth_desc=Esta autenticación será eliminada. ¿Deseas continuar?
-auths.still_in_used=Este método de autentificación aún es utilizado por algunos usuarios, por favor elimine o convierta estos usuarios a otro tipo de autentificación.
auths.deletion_success=¡La autenticación ha sido eliminada con éxito!
config.server_config=Configuración del servidor
@@ -999,6 +876,7 @@ config.offline_mode=Modo Sin Conexión
config.disable_router_log=Deshabilitar Log del Router
config.run_user=Ejecutada como Usuario
config.run_mode=Modo de ejecución
+config.git_version=Versión de Git
config.repo_root_path=Ruta del Repositorio
config.static_file_root_path=Ruta de los Ficheros Estáticos
config.log_file_root_path=Ruta de los Ficheros de Log
@@ -1007,7 +885,6 @@ config.reverse_auth_user=Autenticación Inversa de Usuario
config.ssh_config=Configuración SSH
config.ssh_enabled=Habilitado
-config.ssh_start_builtin_server=Iniciar servidor integrado
config.ssh_domain=Dominio
config.ssh_port=Puerto
config.ssh_listen_port=Puerto de escucha
@@ -1035,12 +912,10 @@ config.mail_notify=Notificación por Correo Electrónico
config.disable_key_size_check=Deshabilitar la comprobación de Tamaño Mínimo de Clave
config.enable_captcha=Activar Captcha
config.active_code_lives=Habilitar Vida del Código
-config.reset_password_code_lives=Restablecer Contraseña de Vida del Código
config.webhook_config=Configuración de Webhooks
config.queue_length=Tamaño de Cola de Envío
config.deliver_timeout=Timeout de Entrega
-config.skip_tls_verify=Omitir la Verificación TLS
config.mailer_config=Configuración del servidor de correo
config.mailer_enabled=Activado
@@ -1048,7 +923,6 @@ config.mailer_disable_helo=Desactivar HELO
config.mailer_name=Nombre
config.mailer_user=Usuario
config.send_test_mail=Enviar email de prueba
-config.test_mail_failed=Fallo al enviar el email de prueba a '%s': %v
config.test_mail_sent=El email de prueba ha sido enviado a '%s'.
config.oauth_config=Configuración OAuth
@@ -1101,7 +975,6 @@ monitor.start=Hora de Inicio
monitor.execute_time=Tiempo de ejecución
notices.system_notice_list=Notificaciones del Sistema
-notices.view_detail_header=Ver detalles de la notificación
notices.actions=Acciones
notices.select_all=Sleccionar todo
notices.deselect_all=Deseleccionar todo
@@ -1111,7 +984,6 @@ notices.delete_all=Eliminar todas las notificaciones
notices.type=Tipo
notices.type_1=Repositorio
notices.desc=Descripción
-notices.delete_success=Las notificaciones del sistema han sido eliminadas satisfactoriamente.
[action]
create_repo=creó el repositorio %s
@@ -1127,34 +999,39 @@ comment_issue=`comentó en la incidencia %s#%[2]s `
merge_pull_request=`fusionado pull request %s#%[2]s `
transfer_repo=transfirió el repositorio %s a %s
push_tag=hizo push del tag %[2]s a %[3]s
-compare_commits=Ver comparación de estos %d commits
[tool]
-ago=hace
-from_now=desde ahora
+ago=hace %s
+from_now=desde ahora %s
now=ahora
-1s=%s 1 segundo
-1m=%s 1 minuto
-1h=%s 1 hora
-1d=%s 1 día
-1w=%s 1 semana
-1mon=%s 1 mes
-1y=%s 1 año
-seconds=%[2]s %[1]d segundos
-minutes=%[2]s %[1]d minutos
-hours=%[2]s %[1]d horas
-days=%[2]s %[1]d días
-weeks=%[2]s %[1]d semanas
-months=%[2]s %[1]d meses
-years=%[2]s %[1]d años
+1s=1 segundo
+1m=1 minuto
+1h=1 hora
+1d=1 día
+1w=1 semana
+1mon=1 mes
+1y=1 año
+seconds=%d segundos
+minutes=%d minutos
+hours=%d horas
+days=%d días
+weeks=%d semanas
+months=%d meses
+years=%d años
raw_seconds=segundos
raw_minutes=minutos
[dropzone]
-default_message=Suéltelos aquí o pulse para cargar archivos.
invalid_input_type=No está permitido cargar archivos de este tipo.
-file_too_big=El tamaño del archivo ({{filesize}} MB) excede el tamaño máximo ({{maxFilesize}} MB).
remove_file=Eliminar archivo
[notification]
+unread=Sin leer
+read=Leídas
+mark_as_read=Marcar como leído
+mark_as_unread=Marcar como no leído
+
+[gpg]
+
+[units]
diff --git a/options/locale/locale_fi-FI.ini b/options/locale/locale_fi-FI.ini
index 0b5f4c9..8733e55 100644
--- a/options/locale/locale_fi-FI.ini
+++ b/options/locale/locale_fi-FI.ini
@@ -32,16 +32,15 @@ mirror=Peili
new_repo=Uusi repo
new_migrate=Uusi migraatio
new_mirror=Uusi peilaus
-new_fork=Uusi haara reposta
new_org=Uusi organisaatio
manage_org=Ylläpidä organisaatioita
admin_panel=Ylläpito paneeli
account_settings=Tilin asetukset
settings=Asetukset
your_profile=Profiilisi
-your_starred=Suosikit
your_settings=Asetuksesi
+
activities=Toimet
pull_requests=Pull requestit
issues=Ongelmat
@@ -50,40 +49,30 @@ cancel=Peruuta
[install]
install=Asennus
-title=Asennusvaiheet ottaessa ensi kertaa käyttöön
-docker_helper=Jos käytät Giteaia Dockerin sisällä, ole hyvä ja lue ohjeet huolellisesti ennen kuin muutat mitään tältä sivulta!
-requite_db_desc=Gitea tarvitsee MySQL, PostgreSQL, SQLite3 tai TiDB.
db_title=Tietokanta asetukset
db_type=Tietokanta tyyppi
host=Isäntä
user=Käyttäjä
password=Salasana
db_name=Tietokannan nimi
-db_helper=Ole hyvä ja käytä INNODB moottoria ja utf8_general_ci merkistöä MySQLssä.
ssl_mode=SSL tila
path=Polku
-sqlite_helper=SQLite3 tai TiDB tietokanta polku. Käytä absoluuttista polkua kun käynnistät palvelun.
err_empty_db_path=SQLite3 tai TiDB tietokanta polku ei voi olla tyhjä.
err_invalid_tidb_name=TiDB tietokannan nimessä ei voi olla merkkejä "." ja "-".
no_admin_and_disable_registration=Et voi poistaa käytöstä rekisteröintiä luomatta ylläpito tiliä.
err_empty_admin_password=Ylläpito salasana ei voi olla tyhjä.
-general_title=Sovellus yleiset asetukset
app_name=Sovellus nimi
-app_name_helper=Laita organisaatiosi nimi tähän isolla ja kovaäänisesti!
repo_path=Repon juuren polku
-repo_path_helper=Kaikki Git etä repot tullaan tallentamaan tähän hakemistoon.
lfs_path=LFS-juuripolku
run_user=Suorita käyttäjänä
run_user_helper=Käyttäjällä täytyy olla pääsy repo juuri polkuun ja suorittaa Gitea.
domain=Verkkotunnus
domain_helper=Tämä vaikuttaa SSH klooni URLeihin.
ssh_port=SSH portti
-ssh_port_helper=Portti numero jota SSH palvelimesi käyttää, jätä tyhjäksi poistaaksesi käytöstä SSH toiminnon.
http_port=HTTP portti
http_port_helper=Portti numero jota sovellus tulee kuuntelemaan.
app_url=Sovellus URL
-app_url_helper=Tämä vaikuttaa HTTP/HTTPS klooni URLeihin ja joihinkin sähköposteihin.
log_root_path=Lokin polku
log_root_path_helper=Lokien tallennushakemisto.
@@ -91,14 +80,10 @@ optional_title=Valinnaiset asetukset
email_title=Sähköposti palvelu asetukset
smtp_host=SMTP isäntä
smtp_from=Lähettäjä
-smtp_from_helper=Sähköposti lähettäjän osoite, RFC 5322. Se voi olla pelkkä sähköposti osoite, tai "Nimi" muodossa.
-mailer_user=Lähettäjän sähköposti
mailer_password=Lähettäjän salasana
register_confirm=Ota käyttöön rekisteröinti varmistus
-mail_notify=Ota käyttöön sähköposti ilmoitukset
server_service_title=Palvelin ja muut palvelu asetukset
offline_mode=Ota käyttöön Offline tila
-offline_mode_popup=Poista käytöstä CDN myös tuotanto tilassa, kaikki resurssi tiedostot palvellaan paikallisesti.
disable_gravatar=Poista käytöstä Gravatar palvelu
disable_gravatar_popup=Poista käytöstä Gravatar ja mukautetut lähteet, kaikki profiilikuvat on käyttäjien palvelimelle lähettämiä tai oletus.
federated_avatar_lookup_popup=Enable federated avatars lookup to use federated open source service based on libravatar.
@@ -108,7 +93,6 @@ enable_captcha=Ota käyttöön Captcha
enable_captcha_popup=Pakollinen captcha käyttäjän itse rekisteröityessä.
require_sign_in_view=Ota käyttöön vaadi sisäänkirjautuminen nähdäksesi sivut
require_sign_in_view_popup=Vain sisään kirjautuneet käyttäjät voivat nähdä sivut, vierailijat tulevat näkemään vain kirjautumis/rekisteröinti sivut.
-admin_setting_desc="Sinun ei tarvitse luoda ylläpito tiliä nyt, ensimmäinen käyttäjä ID=1 saa ylläpito oikeudet automaattisesti."
admin_title=Ylläpito tili asetukset
admin_name=Käyttäjätunnus
admin_password=Salasana
@@ -116,13 +100,8 @@ confirm_password=Varmista salasana
admin_email=Ylläpito sähköposti
install_btn_confirm=Asenna Gitea
test_git_failed=Epäonnistui testata 'git' komentoa: %v
-sqlite3_not_available=Julkaisu versiosi ei tue SQLite3, ole hyvä ja lataa virallinen binääri versio osoitteesta %s, EI gobuild versiota.
-invalid_db_setting=Tietokanta asetus ei ole oikea: %v
invalid_repo_path=Repo juuri polku on virheellinen: %v
-run_user_not_match=Suoritus käyttäjä ei ole nykyinen käyttäjä: %s -> %s
-save_config_failed=Asetuksien tallennus epäonnistui: %v
invalid_admin_setting=Ylläpito tili asetus virheellinen: %v
-install_success=Tervetuloa! Olemme iloisia että valitsit Gitea, pidä hauskaa ja pidä huolta itsestäsi.
invalid_log_root_path=Loki juurihakemisto ei kelpaa: %v
default_keep_email_private=Oletusarvo sähköpostiosoitteiden yksityisenä pitämiselle
no_reply_address=Osoite, josta lähetetään automaattiset viestit
@@ -146,25 +125,16 @@ organizations=Organisaatiot
search=Hae
[auth]
-create_new_account=Luo uusi tili
register_helper_msg=On jo tili? Kirjaudu sisään nyt!
-social_register_helper_msg=On jo tili? Liitä nyt!
disable_register_prompt=Sori, rekisteröinti on poistettu käytöstä. Ole hyvä ja ota yhteyttä sivuston ylläpitoon.
disable_register_mail=Sori, rekisteröinti sähköpostivarmistukset on poistettu käytöstä.
remember_me=Muista minut
-forgot_password=Unohtuiko salasana
-forget_password=Unohtuiko salasana?
sign_up_now=Tarvitsetko tilin? Rekisteröidy nyt.
-confirmation_mail_sent_prompt=Uusi varmistus sähköposti on lähetetty osoitteeseen %s , ole hyvä ja tarkista saapuneet seuraavan %d tunnin sisällä saadaksesi rekisteröintiprosessin valmiiksi.
active_your_account=Aktivoi tilisi
prohibit_login=Kirjautuminen kielletty
-resent_limit_prompt=Sori, olet jo tilannut aktivointi sähköpostin lähiaikoina. Ole hyvä ja odota 3 minuuttia ja yritä sitten uudelleen.
has_unconfirmed_mail=Hei %s, sinulla on varmistamaton sähköposti osoite (%s ). Jos et ole saanut varmistus sähköpostia tai tarvitset uudelleenlähetyksen, ole hyvä ja klikkaa allaolevaa painiketta.
resend_mail=Klikkaa tästä uudelleenlähettääksesi aktivointi sähköpostisi
-email_not_associate=Tätä sähköposti osoitetta ei ole liitetty mihinkään tiliin.
-send_reset_mail=Klikkaa tästä (uudelleen)lähettääksesi salasanan nollaus sähköpostin
reset_password=Nollaa salasanasi
-invalid_code=Sori, varmistuskoodisi on vanhentunut tai väärä.
reset_password_helper=Klikkaa tästä nollataksesi salasanasi
password_too_short=Salasanan pituus ei voi olla vähemmän kuin %d merkkiä.
verify=Vahvista
@@ -173,8 +143,6 @@ verify=Vahvista
activate_account=Ole hyvä ja aktivoi tilisi
activate_email=Vahvista sähköpostiosoitteesi
reset_password=Tyhjennä salasana
-register_success=Rekisteröinti onnistunut, tervetuloa
-register_notify=Tervetuloa mukaan
[modal]
yes=Kyllä
@@ -196,8 +164,6 @@ TreeName=Tiedostopolku
Content=Sisältö
require_error=` ei voi olla tyhjä.`
-alpha_dash_error=` täytyy olla kirjaimia tai numeroita tai väliviiva(-_) merkkejä.`
-alpha_dash_dot_error=` täytyy olla kirjaimia tai numeroita tai väliviiva(-_) tai piste merkkejä.`
size_error=` täytyy olla kokoa %s.`
min_size_error=` täytyy sisältää vähintään %s merkkiä.`
max_size_error=` täytyy sisältää enintään %s merkkiä.`
@@ -205,28 +171,10 @@ email_error=` ei ole kelvollinen sähköpostiosoite.`
url_error=` ei ole kelvollinen URL.`
include_error=` täytyy sisältää tekstiosa '%s'.`
unknown_error=Tuntematon virhe:
-captcha_incorrect=Captcha ei ollut oikein.
-password_not_match=Salasana ja salasanan varmistus eivät ole samoja.
-username_been_taken=Käyttäjätunnus on jo käytössä.
-repo_name_been_taken=Repon nimi on jo käytössä.
-org_name_been_taken=Organisaation nimi on jo käytössä.
-team_name_been_taken=Tiimin nimi on jo käytössä.
-email_been_used=Sähköpostiosoite on jo käytössä.
-username_password_incorrect=Käyttäjätunnus tai salasana ei ole oikein.
-enterred_invalid_repo_name=Ole hyvä ja varmista että kirjoittamasi repon nimi on oikein.
-enterred_invalid_owner_name=Ole hyvä ja varmista että kirjoittamasi omistajan nimi on oikein.
-enterred_invalid_password=Ole hyvä ja varmista että kirjoittamasi salasana on oikein.
-user_not_exist=Käyttäjää ei ole olemassa.
-last_org_owner=Viimeisen käyttäjän poistaminen omistaja tiimistä ei ole sallittu, koska organisaatiossa tulee olla ainakin yksi omistaja.
-invalid_ssh_key=Sori, emme pystyneet varmistamaan SSH avainta: %s
-unable_verify_ssh_key=Gitea ei voi varmistaa SSH avaintasi, mutta oletamme että se on toimiva, ole hyvä ja tarkista se.
auth_failed=Todennus epäonnistui: %v
-still_own_repo=Tililläsi on yhä omistajuus ainakin yhteen repoon, sinun täytyy poistaa tai siirtää ne ensin.
-still_has_org=Tililläsi on yhä jäsenyys ainakin yhteen organisaatioon, sinun täytyy jäädä pois tai poistaa jäsenyyksiä ensin.
-org_still_own_repo=Tällä organisaatiolla on yhä omistajuus repoon, sinun täytyy poistaa tai siirtää ne ensin.
target_branch_not_exist=Kohde branchia ei ole olemassa.
@@ -241,14 +189,11 @@ following=Seurataan
follow=Seuraa
unfollow=Lopeta seuraaminen
-form.name_reserved=Käyttäjätunnus '%s' on varattu.
-form.name_pattern_not_allowed=Käyttäjätunnus mallia '%s' ei ole sallittu.
[settings]
profile=Profiili
password=Salasana
avatar=Profiilikuva
-ssh_keys=SSH avaimet
social=Sosiaaliset tilit
applications=Sovellukset
orgs=Organisaatiot
@@ -257,15 +202,11 @@ twofa=Kaksivaiheinen todennus
uid=Käyttäjä ID
public_profile=Julkinen profiili
-profile_desc=Sähköposti osoitteesi on julkinen ja käytetään tiliin liittyviin ilmoituksiin, ja nettipohjaisiin toimintoihin joita on tehty sivujen kautta.
-password_username_disabled=Ei-paikallinen tyyppisten käyttäjien ei sallita vaihtavan käyttäjänimeä.
full_name=Kokonimi
website=Nettisivut
location=Sijainti
update_profile=Päivitä profiili
-update_profile_success=Profiilisi on päivitetty onnistuneesti.
change_username=Käyttäjätunnus vaihdettu
-change_username_prompt=Tämä muutos vaikuttaa tapaan kuinka linkit liittyvät tiliisi.
continue=Jatka
cancel=Peruuta
@@ -275,15 +216,11 @@ choose_new_avatar=Valitse uusi profiilikuva
update_avatar=Päivitä profiilikuva asetus
delete_current_avatar=Poista nykyinen profiilikuva
uploaded_avatar_not_a_image=Palvelimelle lähetetty tiedosto ei ole kuva.
-update_avatar_success=Profiilikuvasi asetus on päivitetty onnistuneesti.
change_password=Vaihda salasana
old_password=Nykyinen salasana
new_password=Uusi salasana
retype_new_password=Kirjoita uudelleen uusi salasana
-password_incorrect=Nykyinen salasana ei ole oikea.
-change_password_success=Salasanasi on onnistuneesti vaihdettu. Voit nyt kirjautua sisään käyttäen tätä uutta salasanaa.
-password_change_disabled=Ei-paikallinen tyyppisten käyttäjien ei sallita vaihtavan salasanaa.
emails=Sähköposti osoitteet
manage_emails=Hallitse sähköposti osoitteita
@@ -291,74 +228,54 @@ email_desc=Ensisijaista sähköpostiosoitettasi käytetään ilmoituksiin ja mui
primary=Ensisijainen
primary_email=Aseta ensisijaiseksi
delete_email=Poista
-email_deletion=Sähköpostin poistaminen
-email_deletion_desc=Tämän sähköposti osoitteen poistaminen poistaa siihen liittyvät tiedot tililtäsi. Haluatko jatkaa?
email_deletion_success=Sähköposti on poistettu onnistuneesti!
add_new_email=Lisää uusi sähköpostiosoite
add_email=Lisää sähköposti
-add_email_confirmation_sent=Uusi varmistus sähköposti on lähetetty osoitteeseen '%s', ole hyvä ja tarkista saapuneet seuraavan %d tunnin sisällä saadaksesi rekisteröintiprosessin valmiiksi.
add_email_success=Uusi sähköpostiosoitteesi on lisätty onnistuneesti.
manage_ssh_keys=Hallitse SSH avaimia
add_key=Lisää avain
-ssh_desc=Tämä on luettelo tiliisi liitetyistä SSH avaimista. Koska nämä avaimet sallivat kenen tahansa niitä käyttävän pääsevän repoihisi, on erittäin tärkeää että tunnistat ne.
-ssh_helper=Etkö tiedä miten? Tarkista Githubin opas luo oma SSH avain tai ratkaise yleisiä ongelmia joita voit kohdata SSHta käyttäessä.
add_new_key=Lisää SSH avain
-ssh_key_been_used=Julkisen avaimen sisältö on käytetty.
-ssh_key_name_used=Samanniminen julkinen avain on jo olemassa.
key_name=Avaimen nimi
key_content=Sisältö
-add_key_success=Uusi SSH avain '%s' on lisätty onnistuneesti!
delete_key=Poista
ssh_key_deletion=SSH avaimen poistaminen
-ssh_key_deletion_desc=Tämän SSH avaimen poistaminen poistaa kaikki siihen liittyvät vierailut tililtäsi. Haluatko jatkaa?
-ssh_key_deletion_success=SSH avain on poistettu onnistuneesti!
add_on=Lisätty
last_used=Käytetty viimeksi
no_activity=Ei viimeaikaista toimintaa
-key_state_desc=Tätä avainta on käytetty 7 päivän sisällä
-token_state_desc=Tätä pääsymerkkiä on käytetty 7 päivän sisällä
manage_social=Hallitse liitettyjä sosiaalisia tilejä
-social_desc=Tämä on luettelo liitetyistä sosiaalisista tileistä. Poista kaikki liitokset joita et tunnista.
unbind=Poista liitos
-unbind_success=Sosiaalisen tilin liitos on poistettu.
manage_access_token=Hallitse henkilökohtaisia pääsymerkkejä
generate_new_token=Luo uusi pääsymerkki
-tokens_desc=Luomiasi pääsymerkkejä voidaan käyttää Gitea APIn kanssa.
new_token_desc=Joka pääsymerkillä on täysi pääsy tiliisi.
token_name=Pääsymerkin nimi
generate_token=Luo pääsymerkki
-generate_token_succees=Pääsymerkkisi luotiin onnistuneesti! Varmista että kopioit sen juuri nyt, koska et voi nähdä sitä uudelleen myöhemmin!
delete_token=Poista
access_token_deletion=Henkilökohtaisen pääsymerkin poisto
-access_token_deletion_desc=Tämän henkilökohtaisen pääsymerkin poistaminen poistaa kaikki siihen liittyvät pääsyt sovellukseen. Haluatko jatkaa?
-delete_token_success=Henkilökohtainen pääsymerkki on poistettu onnistuneesti! Älä unohda päivittää sovellustasi myös.
twofa_disable=Poista kaksivaiheinen todennus käytöstä
twofa_enroll=Ota kaksivaiheinen todennus käyttöön
twofa_disable_note=Tarvittaessa voit poistaa kaksivaiheisen todennuksen käytöstä.
twofa_disabled=Kaksivaiheinen todennus on otettu pois käytöstä.
+
+
delete_account=Poista tilisi
delete_prompt=Toiminto poistaa tilisi pysyvästi ja tätä EI VOI peruuttaa myöhemmin!
confirm_delete_account=Varmista poisto
delete_account_title=Tilin poisto
-delete_account_desc=Tämä tili poistetaan lopullisesti, haluatko jatkaa?
[repo]
owner=Omistaja
repo_name=Repon nimi
-repo_name_helper=Hyvä repon nimi yleensä koostuu lyhyistä, mieleenpainuvista ja ainutlaatuisista avainsanoista.
visibility=Näkyvyys
visiblity_helper=Tämä repo on yksityinen
-visiblity_helper_forced=Sivuston ylläpito on pakottanut kaikkien uusien repojen olevan yksityisiä
visiblity_fork_helper=(Arvon vaihtaminen vaikuttaa kaikkiin forkkeihin)
clone_helper=Tarvitsetko apua kloonauksessa? Vieraile osoitteessa Apua !
fork_repo=Forkkaa repo
fork_from=Forkkaa lähteestä
-fork_visiblity_helper=Et voi muuttaa forkatun repon näkyvyyttä.
repo_desc=Kuvaus
repo_lang=Kieli
license=Lisenssi
@@ -368,17 +285,12 @@ readme_helper=Valitse Lueminut-malli
auto_init=Alusta tämä repo valituilla tiedostoilla ja mallilla
create_repo=Luo repo
default_branch=Oletus branch
-mirror_interval=Peili aikaväli (tuntia)
mirror_address=Peili osoite
-mirror_address_desc=Ole hyvä ja liitä osoitteeseen tarvittavat käyttäjätunnukset.
mirror_last_synced=Synkronoitu viimeksi
watchers=Tarkkailijat
stargazers=Tähtiharrastajat
forks=Haarat
-form.reach_limit_of_creation=Omistaja on saavuttanut maksimi luontirajan %d repoa.
-form.name_reserved=Repon nimi '%s' on varattu.
-form.name_pattern_not_allowed=Repon nimi mallia '%s' ei ole sallittu.
need_auth=Tarvitaan lupa
migrate_type=Siirtotyyppi
@@ -404,9 +316,6 @@ star=Äänestä
no_desc=Ei kuvausta
quick_guide=Pikaopas
clone_this_repo=Kloonaa tämä repo
-create_new_repo_command=Luo uusi repo komentoriviltä
-push_exist_repo=Työnnä olemassaoleva repo komentoriviltä
-repo_is_empty=Tämä repo on tyhjä, ole hyvä ja tule takaisin myöhemmin!
code=Koodi
branch=Haara
@@ -438,9 +347,9 @@ editor.name_your_file=Nimeä tiedostosi...
editor.or=tai
editor.cancel_lower=peruuta
editor.add_tmpl=Lisää '%s/'
-editor.add=Lisää "%s"
+editor.add=Lisää "%s
editor.update=Päivitä '%s'
-editor.delete=Poista "%s"
+editor.delete=Poista "%s
editor.commit_message_desc=Lisää pidennetty selite (valinnainen)...
editor.cancel=Peruuta
editor.filename_cannot_be_empty=Tiedostonimi ei voi olla tyhjä.
@@ -449,14 +358,13 @@ editor.add_subdir=Lisää alihakemisto...
commits.commits=Commitit
commits.search=Etsi commiteista
-commits.search_all=Kaikki
-commits.find=Etsi
commits.author=Tekijä
commits.message=Viesti
commits.date=Päivämäärä
commits.older=Vanhemmat
commits.newer=Uudemmat
+
issues.new=Uusi ongelma
issues.new.labels=Tunnisteet
issues.new.no_label=Ei tunnistetta
@@ -473,7 +381,6 @@ issues.create=Ilmoita ongelma
issues.new_label=Uusi tunniste
issues.new_label_placeholder=Tunnisteen nimi...
issues.create_label=Luo tunniste
-issues.label_templates.info=There aren’t any labels yet. You can click on the "New Label" button above to create one or use a predefined set below.
issues.open_tab=%d avoinna
issues.close_tab=%d suljettu
issues.filter_label=Tunniste
@@ -524,8 +431,6 @@ issues.label_edit=Muokkaa
issues.label_delete=Poista
issues.label_modify=Tunnisteen muokkaus
issues.label_deletion=Tunnisteen poistaminen
-issues.label_deletion_desc=Tämän tunnisteen poistaminen poistaa sen tiedot kaikista siihen liittyvistä ongelmista. Haluatko jatkaa?
-issues.label_deletion_success=Tunniste on poistettu onnistuneesti!
issues.label.filter_sort.alphabetically=Aakkosjärjestyksessä
issues.label.filter_sort.reverse_alphabetically=Käänteisessä aakkosjärjestyksessä
issues.num_participants=%d osallistujaa
@@ -544,16 +449,12 @@ pulls.merged_title_desc=yhdistetty %[1]d committia lähteestä %[2]s"%s" . Varmista että haluat todella tehdä tämän.
wiki.page_already_exists=Wiki-sivu, jolla on sama nimi on jo olemassa.
wiki.pages=Sivut
wiki.last_updated=Viimeksi päivitetty: %s
@@ -609,7 +505,6 @@ settings.githooks=Git koukut
settings.basic_settings=Perusasetukset
settings.mirror_settings=Peilauksen asetukset
settings.sync_mirror=Synkronisoi nyt
-settings.mirror_sync_in_progress=Peilaus käynnissä. Päivitä sivu hetken kuluttua uudelleen.
settings.site=Virallinen sivusto
settings.update_settings=Päivitä asetukset
settings.advanced_settings=Lisäasetukset
@@ -628,28 +523,18 @@ settings.pulls_desc=Ota käyttöön pull-pyynnöt salliaksesi julkiset koodilahj
settings.danger_zone=Vaaravyöhyke
settings.new_owner_has_same_repo=Uudella omistajalla on jo samanniminen repo. Ole hyvä ja valitse toinen nimi.
settings.convert=Muunna tavalliseksi repoksi
-settings.convert_desc=Voit muuntaa tämän peilin tavalliseksi repoksi. Tätä ei voi peruuttaa.
settings.convert_notices_1=- Tämä toiminto muuntaa tämän repon peilin tavalliseksi repoksi ja sitä ei voi peruuttaa.
settings.convert_confirm=Vahvista muunnos
-settings.convert_succeed=Repo on muunnetettu tavallisen tyyppiseksi onnistuneesti.
settings.transfer=Siirrä omistajuus
settings.transfer_desc=Tämän repon siirtäminen toiselle käyttäjälle tai organisaatiolle johon sinulla on ylläpito oikeudet.
-settings.transfer_notices_1=- Voit menettää pääsyn jos uusi omistaja on yksittäinen käyttäjä.
-settings.transfer_notices_2=- Voit pitää oikeutesi jos uusi omistaja on organisaatio ja olet yksi omistajista.
-settings.transfer_form_title=Kirjoita seuraavat tiedot varmistaaksesi toimintosi:
settings.wiki_delete=Poista wiki tiedot
settings.wiki_delete_desc=Kun poistat wiki tiedot, niin ei ole paluuta. Varmista että haluat todella tehdä tämän.
settings.wiki_delete_notices_1=- Tämä poistaa ja ottaa pois käytöstä %s wikin
-settings.wiki_deletion_success=Repo wiki tiedot on poistettu onnistuneesti.
settings.delete=Poista tämä repo
settings.delete_desc=Huomio, kun kerran poistat repon, niin ei ole paluuta. Varmista että haluat todella tehdä tämän.
settings.delete_notices_1=- Tätä toimintoa EI VOI peruuttaa myöhemmin.
-settings.delete_notices_2=- Tämä toiminto poistaa pysyvästi kaikki tästä reposta, mukaanlukien Git tiedot, ongelmat, kommentit ja yhteistyökumppanien pääsyoikeudet.
-settings.deletion_success=Repo on poistettu onnistuneesti!
-settings.update_settings_success=Repom asetukset on päivitetty onnistuneesti.
settings.transfer_owner=Uusi omistaja
settings.make_transfer=Tee siirto
-settings.transfer_succeed=Arkiston omistusoikeus on siirretty onnistuneesti.
settings.confirm_delete=Vahvista poisto
settings.add_collaborator=Lisää uusi yhteistyökumppani
settings.add_collaborator_success=Uusi yhteistyökumppani on lisätty.
@@ -661,13 +546,10 @@ settings.search_user_placeholder=Etsi käyttäjä...
settings.org_not_allowed_to_be_collaborator=Yhteistyökumppaniksi ei voi lisätä organisaatiota.
settings.user_is_org_member=Käyttäjä on organisaation jäsen, jota ei voi lisätä yhteistyökumppaniksi.
settings.add_webhook=Lisää webkoukku
-settings.hooks_desc=Webkoukut muistuttavat paljon perus HTTP POST tapahtuma laukaisimia. Aina kun jotain tapahtuu Giteaissa, käsittelemme ilmoituksen määrittäämääsi kohteeseen. Lisätietoja webkoukku oppaassa .
settings.webhook_deletion=Poista webkoukku
-settings.webhook_deletion_desc=Tämän webkoukun poistaminen poistaa sen tiedot ja kaiken toimitushistorian. Haluatko jatkaa?
settings.webhook_deletion_success=Webkoukku on poistettu onnistuneesti!
settings.webhook.test_delivery=Testitoimitus
settings.webhook.test_delivery_desc=Lähetä väärennetty push toimitusjakelu testataksesi webkoukku asetuksia
-settings.webhook.test_delivery_success=Testi webkoukku on lisätty toimitusjonoon. Muutama sekunti voi mennä ennenkuin se näkyy toimitushistoriassa.
settings.webhook.request=Pyyntö
settings.webhook.response=Vastaus
settings.webhook.headers=Otsikot
@@ -677,7 +559,6 @@ settings.githook_edit_desc=Jos koukku ei ole käytössä, esitellään esimerkki
settings.githook_name=Koukun nimi
settings.githook_content=Koukun sisältö
settings.update_githook=Päivitys koukku
-settings.add_webhook_desc=Gitea lähettää POST requestin määrittämääsi URLiin, mukaanlukien tapahtuneen eventin. Voit myös määrittää millaisen tiedostomuodon haluat saada koukun lauettua (JSON, x-www-form-urlencoded, XML, jne). Lisätietoa löytyy meidän koukut oppaasta .
settings.content_type=Sisältötyyppi
settings.secret=Salaus
settings.slack_username=Käyttäjätunnus
@@ -691,7 +572,6 @@ settings.event_create=Luo
settings.event_create_desc=Branch, tai tagi luotu
settings.event_push_desc=Git push repoon
settings.active=Aktiivinen
-settings.active_helper=Yksityiskohdat koskien tapahtumaa joka laukaisi koukun toimitetaan myös.
settings.add_hook_success=Uusi webkoukku on lisätty.
settings.update_webhook=Päivitä webkoukku
settings.update_hook_success=Webkoukku on päivitetty.
@@ -712,12 +592,9 @@ settings.key_been_used=Deploy avain sisältö on käytetty.
settings.key_name_used=Deploy avain samalla nimellä on jo olemassa.
settings.add_key_success=Uusi deploy avain '%s' on lisätty onnistuneesti!
settings.deploy_key_deletion=Poista deploy avain
-settings.deploy_key_deletion_desc=Deploy avaimen poistaminen poistaa myös kaikki liitetyt käyttötiedot tästä reposta. Haluatko jatkaa?
-settings.deploy_key_deletion_success=Deploy avain on poistettu onnistuneesti!
diff.browse_source=Selaa lähdekoodia
diff.parent=vanhempi
-diff.data_not_available=Diff tiedot eivät ole saatavilla.
diff.show_diff_stats=Näytä diff tilastot
diff.show_split_view=Jaettu näkymä
diff.show_unified_view=Yhdistetty näkymä
@@ -732,11 +609,8 @@ release.stable=Vakaa
release.edit=muokkaa
release.ahead=%d committia kohteeseen %s version jälkeen
release.source_code=Lähdekoodi
-release.new_subheader=Julkaise versioita iteroidaksesi tuotetta.
-release.edit_subheader=Yksityskohtainen muutosloki auttaa käyttäjiä ymmärtämään mitä on parannettu.
release.tag_name=Taginimi
release.target=Kohde
-release.tag_helper=Valitse olemassaoleva tagi, tai luo uusi tagi julkaistaessa.
release.title=Otsikko
release.content=Sisältö
release.write=Kirjoita
@@ -750,8 +624,6 @@ release.save_draft=Tallenna luonnos
release.edit_release=Muokkaa versiota
release.delete_release=Poista tämä versio
release.deletion=Version poisto
-release.deletion_desc=Tämän version poistaminen poistaa vastaavan Git tagin. Haluatko jatkaa?
-release.deletion_success=Versio on poistettu onnistuneesti!
release.tag_name_already_exist=Versio tällä taginimellä on jo olemassa.
release.tag_name_invalid=Tagin nimi ei kelpaa.
release.downloads=Lataukset
@@ -772,9 +644,6 @@ create_new_team=Luo uusi tiimi
org_desc=Kuvaus
team_name=Tiimin nimi
team_desc=Kuvaus
-team_name_helper=Käytät tätä nimeä mainitessasi tämän tiimin keskusteluissa.
-team_desc_helper=Mistä on kyse tässä tiimissä?
-team_permission_desc=Mikä käyttöoikeustaso tuliti tällä tiimillä olla?
form.name_reserved=Organisaation nimi '%s' on varattu.
form.name_pattern_not_allowed=Organisaation nimi mallia '%s' ei ole sallittu.
@@ -786,16 +655,11 @@ settings.full_name=Kokonimi
settings.website=Nettisivu
settings.location=Sijainti
settings.update_settings=Päivitä asetukset
-settings.update_setting_success=Organisaatioasetukset on päivitetty onnistuneesti.
-settings.change_orgname_prompt=Tämä muutos vaikuttaa siihen miten linkit liittyvät organisaatioon.
-settings.update_avatar_success=Organisaation profiilikuva asetus on päivitetty onnistuneesti.
settings.delete=Poista organisaatio
settings.delete_account=Poista tämä organisaatio
settings.delete_prompt=Organisaatio poistetaan pysyvästi, ja tätä EI VOI peruuttaa myöhemmin!
settings.confirm_delete_account=Vahvista poisto
settings.delete_org_title=Organisaation poistaminen
-settings.delete_org_desc=Tämä organisaatio poistetaan lopullisesti, haluatko jatkaa?
-settings.hooks_desc=Lisää webkoukkuja jotka laukeavat kaikissa repoissa tässä organisaatiossa.
members.membership_visibility=Jäsenyyden näkyvyys:
members.public=Julkinen
@@ -815,9 +679,7 @@ teams.leave=Poistu
teams.read_access=Lukuoikeus
teams.read_access_helper=Tämä tiimi tulee voimaan katsella ja kloonata reponsa.
teams.write_access=Kirjoitusoikeus
-teams.write_access_helper=Tämä tiimi tulee voimaan katsella repojaan, sekä työntää niihin.
teams.admin_access=Ylläpito pääsy
-teams.admin_access_helper=Tämä tiimi tulee voimaan tehdä push/pull repoihinsa, kuten myös lisäämään niihin muita työtovereita.
teams.no_desc=Tällä tiimillä ei ole kuvausta
teams.settings=Asetukset
teams.owners_permission_desc=Omistajilla on täysi pääsy kaikkiin repoihin ja omaavat ylläpito oikeudet organisaatioon.
@@ -826,8 +688,6 @@ teams.update_settings=Päivitä asetukset
teams.delete_team=Poista tämä ryhmä
teams.add_team_member=Lisää tiimin jäsen
teams.delete_team_title=Ryhmän poistaminen
-teams.delete_team_desc=Kun tämä tiimi poistetaan, tiimin jäsenet voivat menettää pääsyn joihinkin repoihin. Haluatko jatkaa?
-teams.delete_team_success=Valittu tiimi on poistettu onnistuneesti.
teams.read_permission_desc=Tämä tiimi myöntää lukuoikeuden : jäsenet voivat katsella ja kloonata tiimin repot.
teams.write_permission_desc=Tämä tiimi myöntää kirjoitusoikeuden : jäsenet voivat lukea ja pushata tiimin repoihin.
teams.admin_permission_desc=Tämä tiimi myöntää ylläpito-oikeuden : jäsenet voivat lukea, pushata, ja lisätä yhteistyökumppaneita tiimin repoihin.
@@ -857,23 +717,8 @@ dashboard.statistic_info=Gitea tietokannassa on %d käyttäjää, %d
dashboard.operation_name=Toiminnon nimi
dashboard.operation_switch=Vaihda
dashboard.operation_run=Suorita
-dashboard.clean_unbind_oauth=Puhdista ei-liitetyt OAuthit
-dashboard.clean_unbind_oauth_success=Kaikki ei-liitetyt OAuthit on poistettu onnistuneesti.
dashboard.delete_inactivate_accounts=Poista kaikki passiiviset tunnukset
-dashboard.delete_inactivate_accounts_success=Kaikki ei-aktiiviset tilit on poistettu onnistuneesti.
dashboard.delete_repo_archives=Poista kaikki repo arkistot
-dashboard.delete_repo_archives_success=Kaikki repo arkistot on poistettu onnistuneesti.
-dashboard.delete_missing_repos=Poista kaikki repo tietueet jotka menettivät Git tiedostoja
-dashboard.delete_missing_repos_success=Kaikki repo tietueet jotka menettivät Git tiedostoja on poistettu onnistuneesti.
-dashboard.git_gc_repos=Suorita roskienkeruu repoille
-dashboard.git_gc_repos_success=Kaikki repot ovat tehneet roskienkeruun onnistuneesti.
-dashboard.resync_all_sshkeys=Uudelleenkirjoita '.ssh/authorized_keys' tiedosto (varoitus: ei-Gitea avaimet menetetään)
-dashboard.resync_all_sshkeys_success=Kaikki julkiset avaimet on uudelleenkirjoitettu onnistuneesti.
-dashboard.resync_all_update_hooks=Uudelleenkirjoita kaikki päivityskoukut repoista (tarvitaan mukautetun asetuspolun muuttuessa)
-dashboard.resync_all_update_hooks_success=Kaikki repojen päivityskoukut on uudelleenkirjoitettu onnistuneesti.
-dashboard.reinit_missing_repos=Resetoi kaikki repo tietueet jotka menettivät Git tiedostoja
-dashboard.reinit_missing_repos_success=Kaikki repo tietueet jotka menettivät Git tiedostoja on resetoitu onnistuneesti.
-
dashboard.server_uptime=Palvelimen Uptime
dashboard.current_goroutine=Nykyiset Goroutinet
dashboard.current_memory_usage=Nykyinen muistinkäyttö
@@ -904,7 +749,6 @@ dashboard.total_gc_pause=Yhteensä GC tauko
dashboard.last_gc_pause=Viime GC tauko
dashboard.gc_times=GC aikoja
-users.user_manage_panel=Käyttäjän hallita paneeli
users.new_account=Luo uusi tili
users.name=Nimi
users.activated=Aktivoitu
@@ -913,33 +757,23 @@ users.repos=Repot
users.created=Luotu
users.last_login=Viimeisin kirjautuminen
users.send_register_notify=Lähetä rekisteröinti-ilmoitus käyttäjälle
-users.new_success=Uusi tili '%s' on luotu onnistuneesti.
users.edit=Muokkaa
users.auth_source=Todennuslähde
users.local=Paikallinen
users.auth_login_name=Vahvistuksen käyttäjänimi
users.password_helper=Jätä se tyhjäksi säilyttääksesi ennallaan.
-users.update_profile_success=Tilisi profiili on päivitetty onnistuneesti.
users.edit_account=Muokkaa tiliä
users.max_repo_creation=Maksimi repojen määrä jonka voi luoda
users.max_repo_creation_desc=(Aseta -1 käyttääksesi globaalia oletusrajaa)
-users.is_activated=Tämä tili on aktivoitu
-users.prohibit_login=Tämän käyttäjätilin sisäänkirjautuminen on estetty
users.is_admin=Tällä tilillä on ylläpito-oikeudet
-users.allow_git_hook=Tällä tilillä on oikeudet luoda Git koukkuja
users.allow_import_local=Tällä tilillä on oikeudet tuoda paikallisia repoja
users.update_profile=Päivitä omat tiedot
users.delete_account=Poista tämä tili
-users.still_own_repo=Tällä tilillä on yhä omistajuus ainakin yhteen repoon, sinun täytyy poistaa tai siirtää ne ensin.
-users.still_has_org=Tällä tilillä on yhä jäsenyys ainakin yhteen organisaatioon, sinun täytyy jäädä pois tai poistaa organisaatiot ensin.
-users.deletion_success=Tili on poistettu onnistuneesti!
-orgs.org_manage_panel=Organisaatio hallintapaneeli
orgs.name=Nimi
orgs.teams=Tiimit
orgs.members=Jäsenet
-repos.repo_manage_panel=Repo hallintapaneeli
repos.owner=Omistaja
repos.name=Nimi
repos.private=Yksityinen
@@ -947,7 +781,6 @@ repos.watches=Tarkkailijat
repos.stars=Äänet
repos.issues=Ongelmat
-auths.auth_manage_panel=Todennus hallintapaneeli
auths.new=Lisää uusi lähde
auths.name=Nimi
auths.type=Tyyppi
@@ -961,7 +794,6 @@ auths.host=Isäntä
auths.port=Portti
auths.bind_dn=Liitä DN
auths.bind_password=Liitä salasana
-auths.bind_password_helper=Varoitus: Tämä salasana tallennetaan tavallisena tekstinä. Älä käytä korkeasti etuoikeutetulla tilillä.
auths.user_base=Käyttäjä hakuperuste
auths.user_dn=Käyttäjä DN
auths.attribute_username=Käyttäjänimen määrite
@@ -977,21 +809,12 @@ auths.smtp_auth=SMTP todennustyyppi
auths.smtphost=SMTP isäntä
auths.smtpport=SMTP portti
auths.allowed_domains=Sallitut verkkotunnukset
-auths.allowed_domains_helper=Jätä tyhjäksi jos et rajoita yhtään verkkotunnusta. Useat verkkotunnukset erotetaan pilkulla ','.
auths.enable_tls=Ota käyttöön TLS-salaus
auths.skip_tls_verify=Ohita TLS tarkistaminen
auths.pam_service_name=PAM palvelun nimi
auths.enable_auto_register=Ota käyttöön automaattinen rekisteröinti
auths.tips=Vinkit
-auths.edit=Muokkaa todennusasetusta
auths.activated=Tämä todennus on aktivoitu
-auths.new_success=Uusi todennus '%s' on luotu onnistuneesti.
-auths.update_success=Todennusasetus on päivitetty onnistuneesti.
-auths.update=Päivitä todennusasetus
-auths.delete=Poista tämä todennus
-auths.delete_auth_title=Todennuksen poistaminen
-auths.delete_auth_desc=Tämä todennus poistetaan, haluatko jatkaa?
-auths.still_in_used=Tämä todennus on yhä joidenkin käyttäjien käytössä, ole hyvä ja poista tai muunna nämä käyttäjät toiselle kirjaututumistyypille ensin.
auths.deletion_success=Todennus on poistettu onnistuneesti!
config.server_config=Palvelin asetukset
@@ -1011,7 +834,6 @@ config.reverse_auth_user=Käänteinen todennus käyttäjä
config.ssh_config=SSH asetukset
config.ssh_enabled=Käytössä
-config.ssh_start_builtin_server=Käynnistä sisäänrakennettu palvelin
config.ssh_domain=Verkkotunnus
config.ssh_port=Portti
config.ssh_listen_port=Kuuntele porttia
@@ -1040,12 +862,10 @@ config.mail_notify=Sähköposti ilmoitukset
config.disable_key_size_check=Poista käytöstä avaimen vähimmäiskoko tarkistus
config.enable_captcha=Ota käyttöön Captcha
config.active_code_lives=Aktiivinen koodi elämät ennen vanhenemista
-config.reset_password_code_lives=Nollaa salasana koodi elämät
config.webhook_config=Webkoukku asetukset
config.queue_length=Jonon pituus
config.deliver_timeout=Toimitus aikakatkaisu
-config.skip_tls_verify=Ohita TLS tarkistaminen
config.mailer_config=Sähköpostipalvelin asetukset
config.mailer_enabled=Käytössä
@@ -1054,7 +874,6 @@ config.mailer_name=Nimi
config.mailer_host=Isäntä
config.mailer_user=Käyttäjä
config.send_test_mail=Lähetä testi sähköposti
-config.test_mail_failed=Testi sähköpostin lähettäminen vastaanottajalle '%s': %v epäonnistui
config.test_mail_sent=Testi sähköposti on lähetetty vastaanottajalle '%s'.
config.oauth_config=OAuth asetukset
@@ -1100,7 +919,6 @@ monitor.start=Alkamisaika
monitor.execute_time=Suoritusaika
notices.system_notice_list=Järjestelmän ilmoitukset
-notices.view_detail_header=Näytä ilmoituksen tiedot
notices.actions=Toiminnot
notices.select_all=Valitse kaikki
notices.deselect_all=Poista kaikki valinnat
@@ -1111,7 +929,6 @@ notices.type=Tyyppi
notices.type_1=Repo
notices.desc=Kuvaus
notices.op=Toiminta
-notices.delete_success=Järjestelmän ilmoitukset on poistettu onnistuneesti.
[action]
create_repo=luotu repo %s
@@ -1127,42 +944,40 @@ comment_issue=`kommentoi ongelmaa %s#%[2]s `
merge_pull_request=`yhdistetty pull-pyyntö %s#%[2]s `
transfer_repo=siirretty repo %s kohteeseen %s
push_tag=pushattu tagi %[2]s kohteeseen %[3]s
-compare_commits=Näytä vertailu näille %d commiteille
[tool]
-ago=sitten
-from_now=alkaen nyt
+ago=%s sitten
+from_now=%s alkaen nyt
now=nyt
-1s=1 sekunti %s
-1m=1 minuutti %s
-1h=1 tunti %s
-1d=1 päivä %s
-1w=1 viikko %s
-1mon=1 kuukausi %s
-1y=1 vuosi %s
-seconds=%d sekuntia %s
-minutes=%d minuuttia %s
-hours=%d tuntia %s
-days=%d päivää %s
-weeks=%d viikkoa %s
-months=%d kuukautta %s
-years=%d vuotta %s
+1s=1 sekunti
+1m=1 minuutti
+1h=1 tunti
+1d=1 päivä
+1w=1 viikko
+1mon=1 kuukausi
+1y=1 vuosi
+seconds=%d sekuntia
+minutes=%d minuuttia
+hours=%d tuntia
+days=%d päivää
+weeks=%d viikkoa
+months=%d kuukautta
+years=%d vuotta
raw_seconds=sekuntia
raw_minutes=minuuttia
[dropzone]
-default_message=Pudota tiedostot tähän tai klikkaa lataamista varten.
invalid_input_type=Tämäntyyppisiä tiedostoja ei voi ladata.
-file_too_big=Tiedostokoko ({{filesize}} MB) koko ylittää enimmäiskoon ({{maxFilesize}} MB).
remove_file=Poista tiedosto
[notification]
notifications=Ilmoitukset
unread=Lukematon
read=Luettu
-no_unread=Sinulla ei ole lukemattomia ilmoituksia.
-no_read=Sinulla ei ole luettuja ilmoituksia.
-pin=Kiinnitä
mark_as_read=Merkitse luetuksi
mark_as_unread=Merkitse lukemattomaksi
+[gpg]
+
+[units]
+
diff --git a/options/locale/locale_fr-FR.ini b/options/locale/locale_fr-FR.ini
index 8080977..441a333 100644
--- a/options/locale/locale_fr-FR.ini
+++ b/options/locale/locale_fr-FR.ini
@@ -5,8 +5,10 @@ dashboard=Tableau de bord
explore=Explorateur
help=Aide
sign_in=Connexion
+sign_in_with=Se connecter avec
sign_out=Déconnexion
sign_up=Inscription
+link_account=Lier un Compte
register=S'inscrire
website=Site web
version=Version
@@ -24,7 +26,7 @@ password=Mot de passe
re_type=Confirmez
captcha=Captcha
twofa=Authentification à deux facteurs
-twofa_scratch=Code supplémentaire pour l'authentification à deux facteurs
+twofa_scratch=Code de secours pour l'authentification à deux facteurs
passcode=Code d'accès
repository=Dépôt
@@ -33,7 +35,7 @@ mirror=Miroir
new_repo=Nouveau dépôt
new_migrate=Nouvelle migration
new_mirror=Nouveau miroir
-new_fork=Nouveau fork
+new_fork=Nouveau Fork
new_org=Nouvelle organisation
manage_org=Gérer les organisations
admin_panel=Administration
@@ -43,6 +45,7 @@ your_profile=Votre profil
your_starred=Vos favoris
your_settings=Vos paramètres
+
activities=Activités
pull_requests=Demandes d'ajout
issues=Tickets
@@ -51,8 +54,8 @@ cancel=Annuler
[install]
install=Installation
-title=Instructions pour la première exécution
-docker_helper=Si vous exécutez Gitea grâce à Docker, merci de lire la procédure attentivement avant de modifier quoi que ce soit sur cette page !
+title=Configuration initiale
+docker_helper=Si vous exécutez Gitea grâce à Docker, merci de lire la procédure attentivement avant de modifier quoi que ce soit sur cette page.
requite_db_desc=Gitea requiert MySQL, PostgreSQL, SQLite3 ou TiDB.
db_title=Paramètres de la base de données
db_type=Type de base de données
@@ -69,11 +72,11 @@ err_invalid_tidb_name=Le nom de la base de données TiDB ne peut contenir les ca
no_admin_and_disable_registration=Vous ne pouvez pas désactiver l'enregistrement sans créer un compte administrateur.
err_empty_admin_password=Le mot de passe du compte administrateur ne peut être vide.
-general_title=Paramètres généraux de Gitea
+general_title=Paramètres généraux de l'application
app_name=Nom de l'application
-app_name_helper=Inscrivez fièrement le nom de votre organisation ici !
+app_name_helper=Vous pouvez mettre le nom de votre organisation ici.
repo_path=Emplacement racine des dépôts
-repo_path_helper=Tous les dépôts Git distants seront sauvegardés ici.
+repo_path_helper=Tous les dépôts Git distants seront stockés dans ce répertoire.
lfs_path=Répertoire racine LFS
lfs_path_helper=Les fichiers transmis avec Git LFS seront stockés dans ce dossier. Laissez vide pour désactiver LFS.
run_user=Utilisateur système
@@ -93,14 +96,14 @@ optional_title=Paramètres facultatifs
email_title=Paramètres du service de messagerie
smtp_host=Hôte SMTP
smtp_from=Provenant de
-smtp_from_helper=Adresse de l'expéditeur, RFC 5322. Soit une adresse courriel simple, soit au format "Nom" .
-mailer_user=E-mail de l'expéditeur
+smtp_from_helper=Adresse de l'expéditeur, RFC 5322. Cela peut être une adresse courriel ou sous la forme "Nom" .
+mailer_user=Expéditeur
mailer_password=Mot de passe de l'expéditeur
register_confirm=Activer la confirmation de l'inscription
-mail_notify=Activer la notification par e-mail
+mail_notify=Activer les notifications par e-mail
server_service_title=Paramètres du serveur et des autres services
offline_mode=Activer le mode hors connexion
-offline_mode_popup=Désactiver le CDN, même en production. Toutes les ressources seront distribuées en local.
+offline_mode_popup=Désactiver le CDN. Toutes les ressources seront distribuées localement.
disable_gravatar=Désactiver le service Gravatar
disable_gravatar_popup=Désactiver Gravatar et les sources personnalisées, tous les avatars sont téléchargés par les utilisateurs ou par défaut.
federated_avatar_lookup=Activer les recherches d'avatars unifiés
@@ -111,7 +114,7 @@ enable_captcha=Activez le Captcha
enable_captcha_popup=Demande la validation Captcha pour l'auto-enregistrement de l'utilisateur.
require_sign_in_view=Exiger l'identification pour afficher les pages
require_sign_in_view_popup=Seules les personnes connectées peuvent voir les pages. Les visiteurs anonymes ne pourront voir que les pages de connexion/enregistrement.
-admin_setting_desc="Vous n'avez pas besoin de créer un compte administrateur. L'utilisateur ayant l'ID = 1 aura automatiquement accès à l'administration."
+admin_setting_desc=Vous n'avez pas besoin de créer un compte admin maintenant. Le premier utilisateur qui s'enregistrera obtiendra les droits administrateur automatiquement.
admin_title=Paramètres du compte administrateur
admin_name=Nom d'utilisateur
admin_password=Mot de passe
@@ -119,24 +122,24 @@ confirm_password=Confirmez le mot de passe
admin_email=E-mail de l'administrateur
install_btn_confirm=Installer Gitea
test_git_failed=Le test de la commande "git" a échoué : %v
-sqlite3_not_available=Votre version publiée ne prend pas en charge SQLite3. Veuillez télécharger la version binaire officielle à cette adresse %s.
-invalid_db_setting=Paramètres de base de données incorrects : %v
+sqlite3_not_available=Vous version actuelle ne supporte par SQLite3, merci de télécharger le binaire officiel depuis %s et NON pas la version version de gobuild.
+invalid_db_setting=Les paramètres de la base de données sont invalides : %v
invalid_repo_path=Chemin vers la racine du dépôt invalide : %v
-run_user_not_match=L'utilisateur d'exécution saisi n'est pas l'utilisateur d'exécution actuel : %s -> %s
-save_config_failed=La sauvegarde de la configuration a échoué : %v
+run_user_not_match=L'utilisateur utilisé n'est pas celui configuré : %s -> %s
+save_config_failed=L'enregistrement de la configuration %v a échoué
invalid_admin_setting=Paramètres du compte administrateur invalides : %v
-install_success=Bienvenue ! Nous sommes heureux que vous ayez choisi Gitea, amusez-vous et prenez soin de vous.
+install_success=Bienvenue ! Merci d'avoir choisi Gitea, profitez-en bien.
invalid_log_root_path=L'emplacement racine des fichiers logs est invalide : %v
-default_keep_email_private=Valeur par défaut pour "Masquer mon adresse email"
+default_keep_email_private=Valeur par défaut pour "Masquer mon adresse email
default_keep_email_private_popup=C'est la valeur par défaut pour la visibilité de l'adresse e-mail de l'utilisateur. Si cette option est définie sur true, l'adresse e-mail de tous les nouveaux utilisateurs ne sera pas affichée tant que l'utilisateur ne modifiera pas le paramètre.
no_reply_address=Adresse de non-réponse
+no_reply_address_helper=Le domaine de l'adresse email de l'utilisateur dans les logs Git si celui-ci souhaite masquer son adresse. Par exemple, l'utilisateur 'joe' avec le domaine 'noreply.example.org' deviendra 'joe@noreploy.example.org'
[home]
uname_holder=Nom d'utilisateur ou e-mail
password_holder=Mot de passe
switch_dashboard_context=Basculer le contexte du tableau de bord
my_repos=Mes dépôts
-show_more_repos=Afficher plus de dépôts...
collaborative_repos=Dépôts collaboratifs
my_orgs=Mes organisations
my_mirrors=Mes miroirs
@@ -150,45 +153,45 @@ repos=Dépôts
users=Utilisateurs
organizations=Organisations
search=Rechercher
-repo_no_results=Aucun dépôt correspondant n'a été trouvé.
-user_no_results=Aucun utilisateur correspondant n'a été trouvé.
-org_no_results=Aucune organisation correspondante n'a été trouvée.
[auth]
-create_new_account=Créer un nouveau compte
+create_new_account=Créer un compte
register_helper_msg=Déjà enregistré ? Connectez-vous !
-social_register_helper_msg=Déjà enregistré ? Associez-le !
disable_register_prompt=Désolé, les enregistrements ont été désactivés. Veuillez contacter l'administrateur du site.
disable_register_mail=Désolé, la confirmation par e-mail des enregistrements a été désactivée.
remember_me=Se souvenir de moi
-forgot_password=Mot de passe oublié
-forget_password=Mot de passe oublié ?
+forgot_password_title=Mot de passe oublié
+forgot_password=Mot de passe oublié ?
sign_up_now=Pas de compte ? Inscrivez-vous maintenant.
-confirmation_mail_sent_prompt=Un nouveau mail de confirmation à été envoyé à %s . Veuillez vérifier votre boîte de réception dans un délai de %d heures pour compléter votre enregistrement.
active_your_account=Activer votre compte
prohibit_login=Connexion interdite
-prohibit_login_desc=Votre compte est interdit de se connecter, contactez l’administrateur du site.
-resent_limit_prompt=Désolé, vos tentatives d'activation sont trop fréquentes. Veuillez réessayer dans 3 minutes.
+prohibit_login_desc=Votre compte n'est pas autorisé à se connecter, contactez l’administrateur du site.
+resent_limit_prompt=Désolé, vous avez déjà demandé un email d’activation récemment. Veuillez réessayer dans 3 minutes.
has_unconfirmed_mail=Bonjour %s, votre adresse e-mail (%s ) n'a pas été confirmée. Si vous n'avez reçu aucun mail de confirmation ou souhaitez renouveler l'envoi, cliquez sur le bouton ci-dessous.
resend_mail=Cliquez ici pour renvoyer un mail de confirmation
-email_not_associate=Cette adresse e-mail n'est associée à aucun compte.
-send_reset_mail=Cliquez ici pour (r)envoyer le mail de réinitialisation du mot de passe
reset_password=Réinitialiser le mot de passe
invalid_code=Désolé, votre code de confirmation est invalide ou a expiré.
reset_password_helper=Cliquez ici pour réinitialiser votre mot de passe
password_too_short=Le mot de passe doit contenir %d caractères minimum.
-non_local_account=Les comptes non locaux ne peuvent pas changer leur mot de passe via Gitea.
+non_local_account=Les comptes non locaux ne peuvent pas changer leur mot de passe via l’interface web de Gitea.
verify=Vérifier
-scratch_code=Code de grattage
-twofa_passcode_incorrect=Votre code est incorrect. Si vous avez perdu votre mobile, veuillez utiliser le code de grattage.
-twofa_scratch_token_incorrect=Votre code de grattage est incorrect.
+scratch_code=Code de secours
+use_scratch_code=Utiliser un code de secours
+twofa_scratch_used=Vous avez utilisé votre code de secours. Vous avez été redirigé vers cette page de configuration afin de supprimer l'authentification à deux facteurs de votre appareil ou afin de générer un nouveau code de secours.
+twofa_passcode_incorrect=Votre code d’accès n’est pas correct. Si vous avez égaré votre appareil, utilisez votre code de secours pour vous connecter.
+twofa_scratch_token_incorrect=Votre code de secours est incorrect.
+login_userpass=Utilisateur / mot de passe
+login_openid=OpenID
+openid_connect_submit=Se connecter
+openid_connect_title=Se connecter à un compte existant
+openid_register_title=Créer un nouveau compte
[mail]
activate_account=Veuillez activer votre compte
activate_email=Veuillez vérifier votre adresse e-mail
reset_password=Réinitialiser votre mot de passe
-register_success=Inscription réussie, bienvenue
-register_notify=Bienvenue à bord
+register_success=Inscription réussie
+register_notify=Bienvenue sur Gitea
[modal]
yes=Oui
@@ -211,13 +214,11 @@ AdminEmail=E-mail de l'administrateur
NewBranchName=Nouveau nom de la branche
CommitSummary=Résumé de la révision
CommitMessage=Message de révision
-CommitChoice=Choix de commit
+CommitChoice=Choix de révision
TreeName=Chemin du fichier
Content=Contenu
require_error=` ne peut pas être vide.`
-alpha_dash_error=` doivent être des caractères alpha, numériques ou tirets (-_) valides.`
-alpha_dash_dot_error=` doivent être des caractères alpha, numériques, tirets (-_) valides ou des points.`
size_error=` doit être à la taille de %s.`
min_size_error=` %s caractères minimum `
max_size_error=` %s caractères maximum `
@@ -226,27 +227,30 @@ url_error=` URL invalide `
include_error=`doit contenir la sous-chaîne '%s'.`
unknown_error=Erreur inconnue :
captcha_incorrect=Le Captcha ne correspond pas.
-password_not_match=Le mot de passe et la confirmation de mot de passe ne correspondent pas.
-username_been_taken=Nom d'utilisateur déjà pris.
-repo_name_been_taken=Nom de dépôt déjà utilisé.
-org_name_been_taken=Nom d'organisation déjà pris.
+username_been_taken=Un utilisateur avec ce nom est déjà enregistré.
+repo_name_been_taken=Un dépôt avec ce nom est déjà enregistré.
+org_name_been_taken=Ce nom d'organisation est déjà pris.
team_name_been_taken=Nom d'équipe déjà pris.
-email_been_used=Adresse e-mail déjà utilisée.
+email_been_used=E-mail déjà utilisé.
+openid_been_used=Adresse OpenID '%s' déjà utilisée.
username_password_incorrect=Nom d'utilisateur ou mot de passe incorrect.
enterred_invalid_repo_name=Veuillez vérifier que le nom saisi du dépôt soit correct.
enterred_invalid_owner_name=Veuillez vérifier que le nom du propriétaire saisi soit correct.
enterred_invalid_password=Veuillez vérifier que le mot de passe saisi soit correct.
user_not_exist=Cet utilisateur n'existe pas.
last_org_owner=L'utilisateur à exclure est le dernier membre de l'équipe propriétaire. Il doit y avoir un autre propriétaire.
+cannot_add_org_to_team=Une organisation ne peut être ajoutée comme membre d'une équipe.
+cannot_invite_org_to_org=Une organisation ne peut être invitée comme membre d'une équipe.
invalid_ssh_key=Désolé, impossible de valider votre clé SSH : %s
-unable_verify_ssh_key=Gitea n'a pu vérifier la validité de votre clé SSH, même si nous partons du principe qu'elle le soit. Cela-dit, veuillez vous en assurer.
+invalid_gpg_key=Désolé, nous ne sommes pas en mesure de vérifier votre clé GPG : %s
+unable_verify_ssh_key=La clé ssh ne peut être vérifiée, merci de vérifier toute erreur possible.
auth_failed=Échec d'authentification : %s
-still_own_repo=Votre compte est toujours propriétaire d'un ou plusieurs dépôts. Vous devez d'abord les supprimer ou les transférer.
-still_has_org=Votre compte fait toujours partie d'une ou plusieurs organisations. Vous devez d'abord les quitter ou les supprimer.
-org_still_own_repo=Cette organisation est toujours propriétaire d'un ou plusieurs dépôts. Vous devez d'abord les supprimer ou les transférer.
+still_own_repo=Votre compte est toujours propriétaire d'au moins un dépôt. Vous devez d'abord les supprimer ou les transférer.
+still_has_org=Votre compte est toujours membre d'au moins une organisation. Vous devez d'abord la quitter.
+org_still_own_repo=Cette organisation possède encore un ou plusieurs dépôts. Vous devez d'abord les supprimer ou les transférer.
target_branch_not_exist=La branche cible n'existe pas.
@@ -261,31 +265,31 @@ following=Abonnements
follow=Suivre
unfollow=Ne plus suivre
-form.name_reserved=Le nom '%s' est réservé.
+form.name_reserved=Le nom d’utilisateur "%s" est réservé.
form.name_pattern_not_allowed=Motif '%s' interdit pour les noms d'utilisateur.
[settings]
profile=Profil
-password=Mot de Passe
+password=Mot de passe
avatar=Avatar
-ssh_keys=Clés SSH
+ssh_gpg_keys=Clés SSH / GPG
social=Réseaux Sociaux
applications=Applications
orgs=Organisations
delete=Supprimer le compte
twofa=Authentification à deux facteurs
+account_link=Comptes externes
+organization=Organisation
uid=ID d'Utilisateur
public_profile=Profil public
-profile_desc=Votre adresse e-mail est publique et sera utilisée pour les notifications relatives au compte, ainsi que pour toute opération Web effectuée via le site.
-password_username_disabled=Les utilisateurs non-locaux n'ont pas le droit de modifier leur nom d'utilisateur.
+profile_desc=Votre adresse e-mail est publique et sera utilisée pour les notifications relatives au compte, ainsi que pour toute opération effectuée via le site web.
full_name=Nom complet
website=Site Web
location=Localisation
update_profile=Valider les modifications
-update_profile_success=Profil mis à jour avec succès.
+update_profile_success=Votre profil a été mis à jour.
change_username=Non d'utilisateur modifié
-change_username_prompt=Cette modification affectera la manière dont les liens se rapportent à votre compte.
continue=Continuer
cancel=Annuler
@@ -296,104 +300,90 @@ choose_new_avatar=Sélectionner un nouvel avatar
update_avatar=Mettre à jour l'avatar
delete_current_avatar=Supprimer l'avatar actuel
uploaded_avatar_not_a_image=Le fichier téléchargé n'est pas une image.
-update_avatar_success=Votre avatar a été mis à jour avec succès.
change_password=Modifier le mot de passe
old_password=Mot de passe actuel
new_password=Nouveau mot de passe
retype_new_password=Retapez le nouveau mot de passe
-password_incorrect=Mot de passe actuel incorrect.
change_password_success=Mot de passe modifié avec succès. Vous pouvez à présent vous connecter avec le nouveau mot de passe.
-password_change_disabled=Les utilisateurs non-locaux n'ont pas le droit de modifier leur mot de passe.
+password_change_disabled=Les utilisateurs non locaux ne sont pas autorisés à modifier leur mot de passe via l’interface web.
emails=Adresses e-mail
manage_emails=Gérer les adresses e-mail
+manage_openid=Gérer les adresses OpenID
email_desc=Votre adresse e-mail principale sera utilisée pour les notifications et d'autres opérations.
primary=Principale
primary_email=Définir comme principale
delete_email=Supprimer
-email_deletion=Suppression de l'adresse e-mail
-email_deletion_desc=Supprimer cette adresse e-mail supprimera les informations associées à votre compte. Voulez-vous continuer ?
+email_deletion=Supprimer l’Email
email_deletion_success=L'adresse e-mail a été supprimée avec succès !
+openid_deletion=Suppression de l'OpenID
add_new_email=Ajouter une nouvelle adresse e-mail
add_email=Ajouter un e-mail
-add_email_confirmation_sent=Une nouvelle confirmation d'adresse e-mail a été envoyé à '%s', veuillez vérifier votre boîte de réception dans un délai de %d heures pour terminer le processus de confirmation.
add_email_success=Votre nouvelle adresse e-mail a été ajoutée avec succès.
keep_email_private=Masquer l'adresse email
keep_email_private_popup=Votre adresse email sera masquée aux autres utilisateurs si cette option est activée.
manage_ssh_keys=Gérer les clés SSH
-add_key=Ajouter une Clé
-ssh_desc=Ceci est une liste des clés SSH associées à votre compte. Supprimez celles que vous ne reconnaissez pas.
-ssh_helper=Besoin d'aide? Consultez notre guide pour générer des clés SSH ou résoudre les problèmes courants de SSH .
-add_new_key=Ajouter une Clé SSH
-ssh_key_been_used=Le contenu de la clé publique a été utilisée.
-ssh_key_name_used=Un clé publique avec le même nom existe déjà.
+manage_gpg_keys=Gérer les clés GPG
+add_key=Ajouter une clé
+add_new_key=Ajouter une clé SSH
+add_new_gpg_key=Ajouter une clé GPG
+subkeys=Sous-clés
+key_id=Clé ID
key_name=Nom de la Clé
key_content=Contenu
-add_key_success=La nouvelle clé SSH '%s' a été ajoutée avec succès !
+add_key_success=Votre clef SSH "%s" a été ajouté.
+add_gpg_key_success=Votre clef SSH "%s" a été ajouté.
delete_key=Supprimer
ssh_key_deletion=Suppression de la clé SSH
-ssh_key_deletion_desc=Supprimer cette clé SSH supprimera tous les accès à votre compte. Voulez-vous continuer ?
-ssh_key_deletion_success=Clé SSH supprimée avec succès !
+gpg_key_deletion=Suppression de la clé GPG
add_on=Ajouté le
+valid_until=Valide jusqu’à
last_used=Dernière utilisation le
no_activity=Aucune activité récente
-key_state_desc=Cette clé a été utilisée durant les 7 derniers jours
-token_state_desc=Ce jeton a été utilisé durant les 7 derniers jours
+show_openid=Afficher sur mon profil
+hide_openid=Masquer du profil
manage_social=Gérer les réseaux sociaux associés
-social_desc=Ceci est la liste des comptes de réseaux sociaux associés. Supprimez ceux que vous ne reconnaissez pas.
unbind=Dissocier
-unbind_success=Compte de réseau social dissocié.
manage_access_token=Gérer les jetons d'accès personnels
generate_new_token=Générer le nouveau jeton
-tokens_desc=Jetons, que vous avez généré, qui peuvent être utilisés pour accéder à l'API Gitea.
new_token_desc=Chaque Jeton donnera un accès complet à votre compte.
token_name=Nom du jeton
generate_token=Générer le jeton
-generate_token_succees=Nouveau jeton d'accès a été généré avec succès ! Assurez-vous de copier votre nouveau jeton d'accès personnel maintenant. Vous ne serez pas en mesure de le revoir !
delete_token=Supprimer
access_token_deletion=Suppression du jeton d'accès
-access_token_deletion_desc=Supprimer ce jeton d'accès supprimera tous les accès de l'application. Voulez-vous continuer ?
-delete_token_success=Le jeton d'accèsa été supprimé avec succès ! N'oubliez pas de mettre à jour vos applications.
-twofa_desc=Gitea supporte l'authentification à deux facteurs pour garantir à votre compte une sécurité accrue.
-twofa_is_enrolled=Votre compte est inscrit à l'authentification à deux facteurs.
-twofa_not_enrolled=Votre compte n'est pas inscrit à l'authentification à deux facteurs.
twofa_disable=Désactiver l'authentification à deux facteurs
-twofa_scratch_token_regenerate=Régénérer le code de grattage
+twofa_scratch_token_regenerate=Régénérer le code de secours
twofa_scratch_token_regenerated=Votre code de grattage a été régénéré. Il est à présent %s. Gardez-le à un endroit sûr.
twofa_enroll=Activer l'authentification à deux facteurs
twofa_disable_note=Si nécessaire, vous pouvez désactiver l'authentification à deux facteurs.
-twofa_disable_desc=Désactiver l'authentification à deux facteurs rendra votre compte plus vulnérable. Êtes-vous sûr(e) de vouloir continuer?
-regenerate_scratch_token_desc=Si vous avez perdu votre code de grattage, ou avez du l'utiliser pour vous authentifier, vous pouvez le réinitialiser.
twofa_disabled=L'authentification à deux facteurs a été désactivée.
scan_this_image=Scannez cette image avec votre application d'authentification :
or_enter_secret=Ou saisissez le code secret: %s
-then_enter_passcode=Puis saisissez le mot de passe que l'application vous fournit :
passcode_invalid=Le mot de passe est invalide. Réessayez.
-twofa_enrolled=Votre compte est à présent activé avec l'authentification à deux facteurs. Assurez-vous de conserver votre code de grattage (%s), c'est la dernière fois que vous le verrez!
+twofa_enrolled=L'authentification à deux facteurs est à présent activée sur votre compte. Assurez-vous de conserver votre code de secours (%s) en lieu sûr, c'est la dernière fois que vous le voyez !
+
+remove_account_link=Supprimer le compte lié
+
delete_account=Supprimer votre compte
delete_prompt=Votre compte sera définitivement supprimé et cette opération est irréversible !
confirm_delete_account=Confirmer la suppression
delete_account_title=Suppression de compte
-delete_account_desc=Ce compte sera supprimé définitivement. Voulez-vous continuer ?
[repo]
owner=Propriétaire
repo_name=Nom du dépôt
-repo_name_helper=Idéalement, le nom d'un dépot devrait être court, mémorable et unique .
visibility=Visibilité
visiblity_helper=Ce dépôt est privé
-visiblity_helper_forced=L'administrateur du site a forcé tous les nouveaux dépôts à être privés
-visiblity_fork_helper=(Les changement de cette valeur affecteront tous les forks)
+visiblity_fork_helper=(Les changement de cette valeur affecteront toutes les bifurcations)
clone_helper=Besoin d'aide pour dupliquer ? Visitez l'aide !
-fork_repo=Créer un fork du dépôt
-fork_from=Fork de
-fork_visiblity_helper=La visibilité d'un fork ne peut pas être modifiée.
+fork_repo=Créer une bifurcation du dépôt
+fork_from=Bifurquer depuis
repo_desc=Description
repo_lang=Langue
repo_gitignore_helper=Choisissez un modèle de fichier .gitignore
@@ -405,19 +395,16 @@ auto_init=Initialiser ce dépôt avec le modèle et les fichiers sélectionnés
create_repo=Créer un dépôt
default_branch=Branche par défaut
mirror_prune=Purger
-mirror_prune_desc=Supprimez toute référence de suivi à distance qui n'existe plus sur le dépôt distant
-mirror_interval=Intervalle du miroir (heure)
+mirror_interval_invalid=L'intervalle du miroir n'est pas valide
mirror_address=Adresse du miroir
-mirror_address_desc=Veuillez inclure les informations d'identification nécessaires dans l'adresse.
mirror_last_synced=Dernière synchronisation
watchers=Observateurs
-forks=Fourches
+stargazers=Fans
+forks=Bifurcations
-form.reach_limit_of_creation=Le propriétaire a atteint le nombre maximal de %d dépôts créés.
-form.name_reserved=Le nom de dépôt '%s' est réservé.
-form.name_pattern_not_allowed=Motif '%s' interdit pour les noms de dépôt.
+form.name_reserved=Le dépôt "%s" a un nom réservé.
-need_auth=Nécessite une Autorisation
+need_auth=Nécessite une autorisation
migrate_type=Type de migration
migrate_type_helper=Ce dépôt sera un miroir
migrate_repo=Migrer le dépôt
@@ -429,7 +416,7 @@ migrate.invalid_local_path=Chemin local non valide, non existant ou n'étant pas
migrate.failed=Echec de migration: %v
mirror_from=miroir de
-forked_from=forké depuis
+forked_from=bifurqué depuis
copy_link=Copier
copy_link_success=Copié!
copy_link_error=Appuyez sur ⌘-C ou Ctrl-C pour copier
@@ -438,15 +425,12 @@ unwatch=Ne plus suivre
watch=Suivre
unstar=Retirer le vote
star=Voter
-fork=Fourcher
+fork=Bifurcation
download_archive=Télécharger ce dépôt
no_desc=Aucune description
quick_guide=Introduction rapide
clone_this_repo=Cloner ce dépôt
-create_new_repo_command=Créer un nouveau dépôt en ligne de commande
-push_exist_repo=Soumettre un dépôt existant par ligne de commande
-repo_is_empty=Ce dépôt est vide, veuillez revenir plus tard !
code=Code
branch=Branche
@@ -456,7 +440,7 @@ branches=Branches
tags=Tags
issues=Tickets
pulls=Demandes d'ajout
-labels=Etiquettes
+labels=Étiquettes
milestones=Jalons
commits=Révisions
releases=Publications
@@ -467,30 +451,30 @@ file_permalink=Lien permanent
file_too_large=Ce fichier est trop gros pour être afficher
video_not_supported_in_browser=Votre navigateur ne supporte pas le tag video HTML5.
stored_lfs=Stocké avec Git LFS
+commit_graph=Graphique des révisions
editor.new_file=Nouveau fichier
editor.upload_file=Téléverser un fichier
editor.edit_file=Modifier fichier
editor.preview_changes=Aperçu des modifications
-editor.cannot_edit_non_text_files=Impossible de modifier les fichiers non-texte
editor.edit_this_file=Modifier ce fichier
editor.must_be_on_a_branch=Vous devez être sur une branche pour appliquer ou proposer des modifications à ce fichier
-editor.fork_before_edit=Vous devez fourcher ce dépôt avant de modifier le fichier
+editor.fork_before_edit=Vous devez bifurquer ce dépôt avant de modifier le fichier
editor.delete_this_file=Supprimer ce fichier
editor.must_have_write_access=Vous devez avoir un accès en écriture pour appliquer ou proposer des modifications à ce fichier
editor.file_delete_success=Fichier '%s' a été supprimé avec succès!
editor.name_your_file=Nommez votre fichier...
-editor.filename_help=Pour ajouter un répertoire, il suffit de le taper puis d'appuyer sur /. Pour supprimer un répertoire, aller au début du champ et appuyerz sur retour arrière.
+editor.filename_help=Pour ajouter un répertoire, il suffit de le saisir puis d'appuyer sur /. Pour supprimer un répertoire, aller au début du champ et appuyez sur retour arrière.
editor.or=ou
editor.cancel_lower=annuler
-editor.commit_changes=Commit les modifications
+editor.commit_changes=Committer les modifications
editor.add_tmpl=Ajouter '%s/'
editor.add=Ajouter '%s'
editor.update=Mettre à jour '%s'
editor.delete=Supprimer '%s'
-editor.commit_message_desc=Ajouter une optionnelle description détaillée...
-editor.commit_directly_to_this_branch=Soumettre directement à la branche %s .
-editor.create_new_branch=Créer une nouvelle branche pour cette validation et envoyer une nouvelle demande d'ajout.
+editor.commit_message_desc=Ajouter une description détaillée facultative...
+editor.commit_directly_to_this_branch=Soumettre directement dans la branche %s .
+editor.create_new_branch=Créer une nouvelle branche pour cette révision et envoyer une nouvelle demande d'ajout.
editor.new_branch_name_desc=Nouveau nom de la branche...
editor.cancel=Annuler
editor.filename_cannot_be_empty=Nom de fichier ne peut pas être vide.
@@ -499,7 +483,6 @@ editor.directory_is_a_file=L'entrée '%s' dans le chemin d’accès parent est u
editor.file_is_a_symlink=Le fichier '%s' est un lien symbolique qui ne peut pas être modifié par l'éditeur web
editor.filename_is_a_directory=Le nom de fichier '%s' existe déjà dans ce dépot.
editor.file_editing_no_longer_exists=Le fichier '%s' que vous modifiez n'existe plus dans le dépôt.
-editor.file_changed_while_editing=Le contenu du fichier à changé depuis que vous avez commencé à l'éditer. Cliquez ici pour voir ce qui à été modifié ou appuyez sur commit encore une fois pour remplacer ces changements.
editor.file_already_exists=La branche '%s' existe déjà dans ce dépôt.
editor.no_changes_to_show=Il n’y a aucun changement à afficher.
editor.fail_to_update_file=Échec lors de la mise à jour/création du fichier '%s' avec l’erreur : %v
@@ -509,16 +492,17 @@ editor.upload_files_to_dir=Transférer les fichiers vers '%s'
commits.commits=Révisions
commits.search=Rechercher des révisions
-commits.search_all=Tous
-commits.find=Trouver
+commits.find=Chercher
+commits.search_all=Toutes les branches
commits.author=Auteur
commits.message=Message
commits.date=Date
commits.older=Précédemment
commits.newer=Récemment
+
issues.new=Nouveau ticket
-issues.new.labels=Etiquettes
+issues.new.labels=Étiquettes
issues.new.no_label=Pas d'étiquette
issues.new.clear_labels=Effacer les étiquettes
issues.new.milestone=Jalon
@@ -534,12 +518,12 @@ issues.new_label=Nouvelle étiquette
issues.new_label_placeholder=Nom de l'étiquette...
issues.create_label=Créer une étiquette
issues.label_templates.title=Charger un ensemble prédéfini d'étiquettes
-issues.label_templates.info=Il n'y a pas encore d'étiquettes. Vous pouvez cliquer sur le bouton "Nouveau Label" ci-dessus pour créer une ou utiliser un ensemble prédéfini ci-dessous.
+issues.label_templates.info=Il n'y a pas encore d'étiquettes. Vous pouvez cliquer sur le bouton "Nouvelle étiquette" pour en créer une ou en utiliser une prédéfinies ci-dessous.
issues.label_templates.helper=Sélectionnez un ensemble d'étiquettes
-issues.label_templates.use=Utilisez ce jeu d'étiquettes
+issues.label_templates.use=Utiliser ce jeu d'étiquettes
issues.label_templates.fail_to_load_file=Impossible de charger le fichier de modèle étiquette '%s' : %v
-issues.add_label_at=`ajouté le %s
label %s`
-issues.remove_label_at=`supprimé le %s
label %s`
+issues.add_label_at=`ajouté le %s
label %s`
+issues.remove_label_at=`supprimé le %s
label %s`
issues.add_milestone_at=`a ajouté cela au jalon %s %s`
issues.change_milestone_at=`a modifié le jalon de %s à %s %s`
issues.remove_milestone_at=`a supprimé cela du jalon %s %s`
@@ -551,7 +535,7 @@ issues.delete_branch_at=`a supprimé la branche %s %s`
issues.open_tab=%d Ouvert
issues.close_tab=%d Fermé
issues.filter_label=Étiquette
-issues.filter_label_no_select=Aucun étiquette sélectionnée
+issues.filter_label_no_select=Aucune étiquette sélectionnée
issues.filter_milestone=Jalon
issues.filter_milestone_no_select=Aucun jalon sélectionné
issues.filter_assignee=Assigné
@@ -559,7 +543,7 @@ issues.filter_assginee_no_select=Pas d'assignataire selectionné
issues.filter_type=Type
issues.filter_type.all_issues=Tous les tickets
issues.filter_type.assigned_to_you=Qui vous sont assignés
-issues.filter_type.created_by_you=Crées par vous
+issues.filter_type.created_by_you=Créés par vous
issues.filter_type.mentioning_you=Vous mentionnant
issues.filter_sort=Trier
issues.filter_sort.latest=Plus récent
@@ -568,6 +552,12 @@ issues.filter_sort.recentupdate=Mis à jour récemment
issues.filter_sort.leastupdate=Moins récemment mis à jour
issues.filter_sort.mostcomment=Les plus commentés
issues.filter_sort.leastcomment=Les moins commentés
+issues.action_open=Ouvrir
+issues.action_close=Fermer
+issues.action_label=Étiquette
+issues.action_milestone=Jalon
+issues.action_assignee=Assigné à
+issues.action_assignee_no_select=Pas d'assignataire
issues.opened_by=Créé %[1]s par %[3]s
issues.opened_by_fake=ouvert %[1]s par %[2]s
issues.previous=Page Précédente
@@ -593,21 +583,24 @@ issues.sign_in_require_desc=Connectez-vous pour rejoindre cette
issues.edit=Modifier
issues.cancel=Annuler
issues.save=Enregistrer
-issues.label_title=Nom du Label
-issues.label_color=Couleur du Label
-issues.label_count=%d labels
+issues.label_title=Nom de l'étiquette
+issues.label_color=Couleur de l'étiquette
+issues.label_count=%d étiquettes
issues.label_open_issues=%d tickets ouverts
issues.label_edit=Éditer
issues.label_delete=Supprimer
-issues.label_modify=Modification du Label
-issues.label_deletion=Suppression du Label
-issues.label_deletion_desc=Cette opération supprimera également toutes les informations relatives aux tickets. Voulez-vous continuer ?
-issues.label_deletion_success=Label supprimé avec succès !
+issues.label_modify=Modification de l'étiquette
+issues.label_deletion=Suppression de l'étiquette
+issues.label_deletion_success=L'étiquette a été supprimé avec succès !
issues.label.filter_sort.alphabetically=Par ordre alphabétique
issues.label.filter_sort.reverse_alphabetically=Par ordre alphabétique inversé
+issues.label.filter_sort.by_size=Taille
+issues.label.filter_sort.reverse_by_size=Taille inverse
issues.num_participants=%d participants
issues.attachment.open_tab=`Cliquez ici pour voir '%s' dans un nouvel onglet`
issues.attachment.download=`Cliquez pour télécharger "%s"`
+issues.subscribe=S’abonner
+issues.unsubscribe=Se désabonner
pulls.new=Nouvelle demande d'ajout
pulls.compare_changes=Comparer les changements
@@ -616,26 +609,24 @@ pulls.compare_base=Base
pulls.compare_compare=Comparer
pulls.filter_branch=Filtre de branche
pulls.no_results=Aucun résultat trouvé.
-pulls.nothing_to_compare=Il n'y a rien de comparable parce que les deux branches sont égales.
+pulls.nothing_to_compare=Il n'y a rien à comparer car les deux branches sont équivalentes.
pulls.has_pull_request=`Il y a déjà une demande d'ajout entre ces deux cibles : %[2]s#%[3]d `
pulls.create=Creer une demande d'ajout
-pulls.title_desc=veut fusionner %[1]d commits à partir de %[2]s vers %[3]s
+pulls.title_desc=veut fusionner %[1]d révision(s) depuis %[2]s vers %[3]s
pulls.merged_title_desc=a fusionné %[1]d révision(s) à partir de %[2]s vers %[3]s %[4]s
pulls.tab_conversation=Discussion
pulls.tab_commits=Révisions
pulls.tab_files=Fichiers modifiés
-pulls.reopen_to_merge=Veuillez rouvrir cette demande de Pull Request pour effectuer l'opération de fusion.
+pulls.reopen_to_merge=Veuillez rouvrir cette demande d'ajout pour effectuer l'opération de fusion.
pulls.merged=Fusionnée
-pulls.has_merged=Cette demande d'ajout a été fusionnée avec succès !
-pulls.data_broken=Les données de cette pull request ont été compromises en raison de la suppression d'informations sur le fork.
+pulls.data_broken=Les données de cette demande d'ajout ont été perdues en raison de la suppression des informations concernant la bifurcation.
pulls.is_checking=La recherche de conflits est toujours en cours, veuillez rafraichir la page dans quelques instants.
pulls.can_auto_merge_desc=Cette demande d'ajout peut être fusionnée automatiquement.
pulls.cannot_auto_merge_desc=Cette demande d'ajout ne peut pas être fusionnée automatiquement à cause de conflits.
pulls.cannot_auto_merge_helper=Fusionner manuellement afin de résoudre les conflits.
pulls.merge_pull_request=Fusionner la demande d'ajout
-pulls.open_unmerged_pull_exists=`Vous ne pouvez effectuer une réouverture car il y a déjà une pull-request ouverte (#%d) depuis le même dépôt avec les mêmes informations de fusion et est en attente de fusion.`
-milestones.new=Nouveau Jalon
+milestones.new=Nouveau jalon
milestones.open_tab=%d Ouvert
milestones.close_tab=%d Fermé
milestones.closed=%s fermé
@@ -651,12 +642,10 @@ milestones.clear=Effacer
milestones.invalid_due_date_format=Le format de la date d'échéance est invalide, il doit être comme suit 'AAAA-mm-jj'.
milestones.create_success=Le Jalon '%s' a été crée avec succès !
milestones.edit=Éditer le Jalon
-milestones.edit_subheader=Utilisez une description claire pour les jalons pour ne pas induire les gens en erreur.
milestones.cancel=Annuler
milestones.modify=Modifier le Jalon
milestones.edit_success=Le Jalon '%s' a été modifié avec succès !
milestones.deletion=Supprimer le Jalon
-milestones.deletion_desc=Supprimer ce jalon effacera ses informations dans tous les tickets relatifs. Voulez-vous continuer ?
milestones.deletion_success=Le Jalon a été supprimé avec succès !
milestones.filter_sort.closest_due_date=Date d'échéance la plus proche
milestones.filter_sort.furthest_due_date=Date d'échéance la plus éloignée
@@ -665,9 +654,10 @@ milestones.filter_sort.most_complete=Le plus complété
milestones.filter_sort.most_issues=Le plus de tickets
milestones.filter_sort.least_issues=Le moins de tickets
+
wiki=Wiki
-wiki.welcome=Bienvenue sur le Wiki !
-wiki.welcome_desc=Le Wiki est l'endroit où vous pouvez documenter votre projet ensemble et l'améliorer.
+wiki.welcome=Bienvenue sur le Wiki
+wiki.desc=Le wiki est un endroit pour stocker des informations
wiki.create_first_page=Créer la première page
wiki.page=Page
wiki.filter_page=Filtrer la page
@@ -678,7 +668,6 @@ wiki.last_commit_info=%s a édité cette page %s
wiki.edit_page_button=Modifier
wiki.new_page_button=Nouvelle Page
wiki.delete_page_button=Supprimer la page
-wiki.delete_page_notice_1=Cela supprimera la page "%s". Soyez-en sûr.
wiki.page_already_exists=Une page de wiki avec le même nom existe déjà.
wiki.pages=Pages
wiki.last_updated=Dernière mise à jour: %s
@@ -687,15 +676,14 @@ settings=Paramètres
settings.options=Options
settings.collaboration=Collaboration
settings.collaboration.admin=Administrateur
-settings.collaboration.write=Écrire
-settings.collaboration.read=Lire
+settings.collaboration.write=Écriture
+settings.collaboration.read=Lecture
settings.collaboration.undefined=Indéfini
settings.hooks=Déclencheurs Web
settings.githooks=Déclencheurs Git
settings.basic_settings=Paramètres de base
settings.mirror_settings=Réglages Miroir
settings.sync_mirror=Synchroniser maintenant
-settings.mirror_sync_in_progress=Synchronisation du miroir en cours, merci de rafraîchir la page dans une minute environ.
settings.site=Site officiel
settings.update_settings=Valider
settings.advanced_settings=Paramètres avancés
@@ -703,14 +691,15 @@ settings.wiki_desc=Activer le wiki
settings.use_internal_wiki=Utiliser le wiki interne
settings.use_external_wiki=Utiliser un wiki externe
settings.external_wiki_url=URL Wiki externe
+settings.external_wiki_url_error=URL externe de Wiki invalide
settings.external_wiki_url_desc=Les visiteurs seront redirigés vers cette URL lorsqu'ils cliqueront sur l'onglet.
settings.issues_desc=Activer le système de tickets
-settings.use_internal_issue_tracker=Utiliser le système simplifié de tickets interne
+settings.use_internal_issue_tracker=Utiliser le système de tickets interne
settings.use_external_issue_tracker=Utiliser un système de tickets externe
-settings.external_tracker_url=Adresse du gestionnaire de bugs externe
+settings.external_tracker_url=Adresse du système de tickets externe
settings.external_tracker_url_desc=Les visiteurs seront redirigés vers cette URL lorsqu'ils cliqueront sur l'onglet.
-settings.tracker_url_format=Format d'URL du bug tracker
-settings.tracker_issue_style=Style de nommage des bugs du tracker externe :
+settings.tracker_url_format=Format de l'URL du système de tickets
+settings.tracker_issue_style=Style de nommage des tickets :
settings.tracker_issue_style.numeric=Numérique
settings.tracker_issue_style.alphanumeric=Alphanumérique
settings.tracker_url_format_desc=Vous pouvez utiliser l'espace réservé {user} {repo} {index} pour le nom d'utilisateur, le nom du dépôt et le numéro de bug.
@@ -718,29 +707,18 @@ settings.pulls_desc=Activer les pull requests pour accepter les contributions pu
settings.danger_zone=Zone de danger
settings.new_owner_has_same_repo=Le nouveau propriétaire a déjà un dépôt nommé ainsi.
settings.convert=Convertir en dépôt ordinaire
-settings.convert_desc=Vous pouvez convertir ce miroir en dépôt ordinaire. Cela ne peut pas être inversée.
settings.convert_notices_1=- Cette opération va convertir ce dépôt miroir en un dépôt standard et ne peut être annulée.
settings.convert_confirm=Confirmer la conversion
-settings.convert_succeed=Le dépôt a été converti avec succès en dépôt ordinaire.
settings.transfer=Changer de propriétaire
settings.transfer_desc=Transférer ce dépôt à un autre utilisateur ou une organisation dont vous possédez des droits d'administrateur.
-settings.transfer_notices_1=- Vous perdrez l'accès si le nouveau propriétaire est un utilisateur individuel.
-settings.transfer_notices_2=- Vous conserverez l'accès si le nouveau propriétaire est une organisation et que vous y appartenez.
-settings.transfer_form_title=Veuillez recopier le texte suivant afin de confirmer votre opération :
settings.wiki_delete=Effacer les données du Wiki
settings.wiki_delete_desc=Une fois que vous effacez les données du wiki, on ne peut revenir en arrière. Soyez-en sûr.
settings.wiki_delete_notices_1=- Cela va supprimer et désactiver le wiki pour %s
-settings.wiki_deletion_success=Le dépôt de données wiki ont été effacés avec succès.
settings.delete=Supprimer ce dépôt
-settings.delete_desc=Attention, cette action est action irréversible. Soyez sûr de vous.
+settings.delete_desc=La suppression d'un dépôt est irréversible. Soyez sûr de vous.
settings.delete_notices_1=- Cette opération ne peut pas être annulée.
-settings.delete_notices_2=- Cette opération supprimera définitivement le dépôt, y compris les données Git, les tickets, les commentaires et les accès des collaborateurs.
-settings.delete_notices_fork_1=-Tous les forks deviendront indépendants après l’effacement.
-settings.deletion_success=Le dépôt a été supprimé avec succès!
-settings.update_settings_success=Options mises à jour avec succès.
settings.transfer_owner=Nouveau propriétaire
settings.make_transfer=Transférer
-settings.transfer_succeed=Le contrôle du dépôt a été transféré avec succès.
settings.confirm_delete=Confirmer la suppression
settings.add_collaborator=Ajouter un collaborateur
settings.add_collaborator_success=Nouveau collaborateur ajouté.
@@ -751,25 +729,21 @@ settings.remove_collaborator_success=Collaborateur supprimé.
settings.search_user_placeholder=Rechercher un utilisateur...
settings.org_not_allowed_to_be_collaborator=Une organisation n'est pas autorisée à être ajoutée en tant que collaborateur.
settings.user_is_org_member=Cet utilisateur ne peut pas être ajouté en tant que collaborateur car il fait partie d'une organisation.
-settings.add_webhook=Ajouter un Webhook
-settings.hooks_desc=Les Webhooks sont des déclencheurs de POST HTTP . Lorsque qu'un événement se produit dans Gitea, une notification sera envoyée vers l'hôte cible préalablement spécifié. Apprenez-en davantage dans le Guide des Webhooks .
+settings.add_webhook=Ajouter un déclencheur Web
settings.webhook_deletion=Supprimer le Webhook
-settings.webhook_deletion_desc=Supprimer ce webhook va supprimer ses informations et l'historique de livraison. Voulez-vous continuer ?
settings.webhook_deletion_success=Le webhook a été supprimé avec succès !
settings.webhook.test_delivery=Tester la version
settings.webhook.test_delivery_desc=Envoyer un faux push pour tester la configuration des webhooks
-settings.webhook.test_delivery_success=Le webhook de test a été ajouté à la file d'attente de livraison. L'affichage dans l'historique de livraison peut prendre quelques secondes.
settings.webhook.request=Requête
settings.webhook.response=Réponse
settings.webhook.headers=Entêtes
settings.webhook.payload=Données
settings.webhook.body=Corps
-settings.githooks_desc=Les Hooks Git sont alimentés par Git lui même. Les Hooks compatibles sont modifiables dans la liste ci-dessous pour effectuer des opérations personnalisées.
+settings.githooks_desc=Les déclencheurs Git sont lancés par Git lui-même. Ils sont modifiables dans la liste ci-dessous afin de configurer des opérations personnalisées.
settings.githook_edit_desc=Si un Hook est inactif, un exemple de contenu vous sera proposé. Un contenu laissé vide signifie un Hook inactif.
settings.githook_name=Nom du Hook
settings.githook_content=Contenu du Hook
settings.update_githook=Mettre le Hook à jour
-settings.add_webhook_desc=Une requête POST sera transmise vers l'URL spécifiée selon l'événement produit. Vous pouvez également choisir le format souhaité pour la réception des données (JSON, x-www-form-urlencoded, XML etc). Pour plus d'infos, lisez le Guide des WebHooks .
settings.payload_url=URL des Données Utiles
settings.content_type=Type de contenu
settings.secret=Confidentiel
@@ -787,7 +761,6 @@ settings.event_pull_request_desc=Pull request ouvert, fermé, rouvert, édité,
settings.event_push=Pousser
settings.event_push_desc=Git push vers un dépôt
settings.active=Actif
-settings.active_helper=Les détails seront délivrés lorsque ce Hook sera déclenché.
settings.add_hook_success=Nouveau Webhook ajouté.
settings.update_webhook=Mettre à jour le Webhook
settings.update_hook_success=Webhook mis à jour.
@@ -799,8 +772,8 @@ settings.slack_token=Jeton
settings.slack_domain=Domaine
settings.slack_channel=Canal
settings.deploy_keys=Clés de déploiement
-settings.add_deploy_key=Ajouter une Clé de Déploiement
-settings.deploy_key_desc=Déployer une clé uniquement en lecture seule. Il ne s'agit pas des clés ssh de compte personnel.
+settings.add_deploy_key=Ajouter une clé de déploiement
+settings.deploy_key_desc=Les clés de déploiement ont un accès en lecture seule. Elles sont différentes des clés SSH personnelles.
settings.no_deploy_keys=Vous n'avez ajouté aucune clé de déploiement.
settings.title=Titre
settings.deploy_key_content=Contenu
@@ -808,13 +781,19 @@ settings.key_been_used=Le contenu de la clé de déploiement a été utilisé.
settings.key_name_used=Une clé de déploiement avec le même nom existe déjà.
settings.add_key_success=La nouvelle clé de déploiement '%s' a été ajoutée avec succès !
settings.deploy_key_deletion=Supprimer la Clé de Déploiement
-settings.deploy_key_deletion_desc=Supprimer cette clé de déploiement effacera tous les accès relatifs pour ce référentiel. Voulez-vous continuer ?
-settings.deploy_key_deletion_success=La clé de déploiement a été supprimée avec succès !
+settings.branches=Branches
+settings.protected_branch=Protection de branche
+settings.add_protected_branch=Activer la protection
+settings.delete_protected_branch=Désactiver la protection
+settings.add_protected_branch_success=%s verrouillé avec succès
+settings.remove_protected_branch_success=%s déverrouillé avec succès
+settings.protected_branch_deletion=Pour supprimer une branche protégée
+settings.choose_branch=Choisissez une branche...
+settings.no_protected_branch=Il n’y a aucune branches protégées
-diff.browse_source=Parcourir la Source
+diff.browse_source=Parcourir la source
diff.parent=Parent
diff.commit=révision
-diff.data_not_available=Données Diff indisponibles.
diff.show_diff_stats=Afficher les stats Diff
diff.show_split_view=Vue séparée
diff.show_unified_view=Vue unifiée
@@ -830,13 +809,10 @@ release.draft=Brouillon
release.prerelease=Pré-publication
release.stable=Stable
release.edit=Éditer
-release.ahead=%d commits jusqu'à %s depuis cette publication
+release.ahead=%d révisions sur %s depuis cette publication
release.source_code=Code source
-release.new_subheader=Publier une version pour itérer sur le produit.
-release.edit_subheader=Un changelog détaillé peut aider les utilisateurs à comprendre ce qui a été amélioré.
release.tag_name=Nom du tag
release.target=Cible
-release.tag_helper=Choisissez un tag existant ou créez-en un nouveau à publier.
release.title=Titre
release.content=Contenu
release.write=Écrire
@@ -850,19 +826,13 @@ release.save_draft=Sauvegarder le Brouillon
release.edit_release=Modifier la version
release.delete_release=Supprimer cette version
release.deletion=Suppression de la Version
-release.deletion_desc=Supprimer cette version supprimera le tag Git correspondant. Voulez-vous continuer ?
-release.deletion_success=La version à été supprimée avec succès !
release.tag_name_already_exist=Une version avec ce nom de tag existe déjà.
release.tag_name_invalid=Nom de tag invalide.
release.downloads=Téléchargements
branch.delete=Supprimer la branche %s
-branch.delete_desc=La suppression d'une branche ne peut pas être annulée. Soyez sûr de vous.
branch.delete_notices_1=- Cette opération NE PEUT PAS être annulée.
-branch.delete_notices_2=- Cette opération supprimera définitivement le contenu de la branche %s.
-branch.deletion_success=%s a été correctement supprimé !
branch.deletion_failed=Impossible de supprimer la branche %s.
-branch.delete_branch_has_new_commits=%s ne peut pas être supprimé(e) car de nouvelles révisions ont été effectuées après la fusion.
[org]
org_name_holder=Nom de l'organisation
@@ -877,11 +847,9 @@ lower_members=Membres
lower_repositories=dépôts
create_new_team=Créer une nouvelle équipe
org_desc=Description
-team_name=Nom d'Équipe
+team_name=Nom de l'équipe
team_desc=Description
-team_name_helper=Ce nom sera utilisé pour mentionner l'équipe dans les conversations.
-team_desc_helper=Présentation de l'équipe
-team_permission_desc=Quel niveau d'accès cette équipe devrait-elle posséder ?
+team_desc_helper=A quoi sert cette équipe ?
form.name_reserved=Le nom d'organisation '%s' est réservé.
form.name_pattern_not_allowed=Motif '%s' interdit pour les noms d'organisation.
@@ -893,16 +861,11 @@ settings.full_name=Non Complet
settings.website=Site Web
settings.location=Localisation
settings.update_settings=Valider
-settings.update_setting_success=Paramètres d'organisation modifiés avec succès.
-settings.change_orgname_prompt=Cette modification affectera comment des liens se rapportent à l'organisation.
-settings.update_avatar_success=Les paramètres de l'avatar de l'organisation ont été mis à jour avec succès.
settings.delete=Supprimer l'organisation
settings.delete_account=Supprimer cette organisation
settings.delete_prompt=Cela supprimera cette organisation définitivement. Cette opération est IRRÉVERSIBLE !
settings.confirm_delete_account=Confirmez la suppression
settings.delete_org_title=Suppression d'organisation
-settings.delete_org_desc=Cette organisation sera définitivement supprimée. Continuer ?
-settings.hooks_desc=Ajoute des webhooks qui seront activés pour tous les dépôts de cette organisation.
members.membership_visibility=Visibilité des membres:
members.public=Public
@@ -919,12 +882,10 @@ members.invite_now=Envoyer une invitation
teams.join=Rejoindre
teams.leave=Quitter
-teams.read_access=Accès en Lecture
+teams.read_access=Accès en lecture
teams.read_access_helper=Cette équipe aura la possibilité de voir et cloner ses dépôts.
-teams.write_access=Accès en Écriture
-teams.write_access_helper=Cette équipe possèdera aussi bien des droits de lecture que d'écriture sur ses dépôts.
-teams.admin_access=Accès Administrateur
-teams.admin_access_helper=Cette équipe possèdera des droits de lecture, d'écriture, ainsi que le pouvoir d'ajouter des collaborateurs.
+teams.write_access=Accès en écriture
+teams.admin_access=Accès administrateur
teams.no_desc=Aucune description
teams.settings=Paramètres
teams.owners_permission_desc=Les propriétaires possèdent les droits d'administrateur et disposent d'un accès complet à tous les dépôts de l'organisation.
@@ -933,8 +894,7 @@ teams.update_settings=Valider
teams.delete_team=Supprimer cette Équipe
teams.add_team_member=Ajouter un Membre
teams.delete_team_title=Suppression de l'équipe
-teams.delete_team_desc=Cette équipe sera supprimée. Les membres pourraient perdre leurs accès à certains dépôts.
-teams.delete_team_success=Équipe supprimée avec succès.
+teams.delete_team_success=L’équipe a été supprimé.
teams.read_permission_desc=Cette équipe permet l'accès en lecture : les membres peuvent voir et dupliquer ses dépôts.
teams.write_permission_desc=Cette équipe permet l'accès en écriture : les membres peuvent participer à ses dépôts.
teams.admin_permission_desc=Cette équipe permet l'accès en administrateur : les membres peuvent voir, participer et ajouter des collaborateurs à ses dépôts.
@@ -964,23 +924,10 @@ dashboard.statistic_info=La base de données Gitea contient %d utilisateu
dashboard.operation_name=Nom de l'Opération
dashboard.operation_switch=Basculer
dashboard.operation_run=Exécuter
-dashboard.clean_unbind_oauth=Nettoyer les associations OAuthes
-dashboard.clean_unbind_oauth_success=Tous unbind OAuthes ont été supprimés avec succès.
dashboard.delete_inactivate_accounts=Supprimer tous les comptes inactifs
-dashboard.delete_inactivate_accounts_success=Tous les comptes inactifs ont été supprimés avec succès.
dashboard.delete_repo_archives=Supprimer toutes les archives des dépôts
-dashboard.delete_repo_archives_success=Toutes les archives des dépôts ont été supprimées avec succès.
-dashboard.delete_missing_repos=Supprimer tous les dépôts ayant perdu leurs fichiers Git
-dashboard.delete_missing_repos_success=Tous les dépôts ayant perdu leurs fichiers Git ont été supprimés avec succès.
-dashboard.git_gc_repos=Collecter les déchets des dépôts
-dashboard.git_gc_repos_success=Tous les dépôts ont effectué la collecte avec succès.
-dashboard.resync_all_sshkeys=Ré-écrire le fichier '.ssh/authorized_keys' (attention : les clés hors-Gitea vont être perdues)
-dashboard.resync_all_sshkeys_success=Toutes les clés publiques ont été ré-écrites avec succès.
-dashboard.resync_all_update_hooks=Ré-écrire tous les hooks de mises à jour des dépôts (requis quand le chemin de la configuration personnalisé est modifié)
-dashboard.resync_all_update_hooks_success=Tous les hooks de mises à jour des dépôts ont été ré-écris avec succès.
-dashboard.reinit_missing_repos=Réinitialiser tous les dépôts qui ont perdu des fichiers Git
-dashboard.reinit_missing_repos_success=Tous les enregistrements de dépôts qui ont perdu des fichiers Git ont été réinitialisés avec succès.
-
+dashboard.resync_all_sshkeys=Réécrire le fichier '.ssh/authorized_keys' (pour les clés SSH Gitea)
+dashboard.sync_external_users=Synchroniser les données de l’utilisateur externe
dashboard.server_uptime=Uptime du serveur
dashboard.current_goroutine=Goroutines actuelles
dashboard.current_memory_usage=Utilisation Mémoire actuelle
@@ -1011,52 +958,43 @@ dashboard.total_gc_pause=Pause GC
dashboard.last_gc_pause=Dernière Pause GC
dashboard.gc_times=Nombres de GC
-users.user_manage_panel=Gestion des Utilisateurs
users.new_account=Créer un nouveau compte
users.name=Nom
-users.activated=Activés
+users.activated=Activé
users.admin=Administrateur
users.repos=Dépôts
users.created=Créés
users.last_login=Dernière connexion
users.never_login=Jamais connecté
users.send_register_notify=Envoyer une Notification d'enregistrement à l'utilisateur
-users.new_success=Nouveau compte '%s' a été créé avec succès.
+users.new_success=Le compte "%s" a été créé.
users.edit=Éditer
users.auth_source=Sources d'authentification
users.local=Locales
users.auth_login_name=Nom d'utilisateur d'authentification
users.password_helper=Laissez-le vide pour ne pas changer.
-users.update_profile_success=Profil mis à jour avec succès.
+users.update_profile_success=Le profil a été mis à jour.
users.edit_account=Modifier le Compte
users.max_repo_creation=Nombre maximum de dépôts créés
users.max_repo_creation_desc=(Mettre à -1 pour utiliser la limite globale par défaut)
-users.is_activated=Ce compte est activé
-users.prohibit_login=Ce compte est interdit de se connecter
users.is_admin=Ce compte possède un niveau d'accès administrateur
-users.allow_git_hook=Ce compte dispose des autorisations pour créer des crochets de Git
-users.allow_import_local=Ce compte dispose des permissions nécessaire à l'import des dépôts locaux
+users.allow_import_local=Ce compte a l'autorisation d'importer des dépôts locaux
users.allow_create_organization=Ce compte a l'autorisation de créer des organisations
users.update_profile=Mettre à jour le profil
users.delete_account=Supprimer ce Compte
-users.still_own_repo=Ce compte possède toujours des dépôts. Vous devez d'abord les supprimer ou les transférer.
-users.still_has_org=Ce compte est toujours membre d'une ou plusieurs organisations. Vous devez d'abord les supprimer ou en retirer ce compte.
-users.deletion_success=Le compte a été supprimé avec succès !
-orgs.org_manage_panel=Gestion des Organisations
orgs.name=Nom
orgs.teams=Équipes
orgs.members=Membres
-repos.repo_manage_panel=Gestion des Dépôts
repos.owner=Propriétaire
repos.name=Nom
repos.private=Privé
repos.watches=Suivi par
repos.stars=Votes
repos.issues=Tickets
+repos.size=Taille
-auths.auth_manage_panel=Panel d'administration des authentifications
auths.new=Ajouter une nouvelle source d'authentification
auths.name=Nom
auths.type=Type
@@ -1068,8 +1006,8 @@ auths.security_protocol=Protocole de sécurité
auths.domain=Domaine
auths.host=Hôte
auths.port=Port
+auths.bind_dn=Bind DN
auths.bind_password=Bind mot de passe
-auths.bind_password_helper=Avertissement : Ce mot de passe est stocké en clair. N'utilisez pas le mot de passe d'un compte doté de privilèges élevés.
auths.user_base=Utilisateur Search Base
auths.user_dn=Utilisateur DN
auths.attribute_username=Attribut nom d'utilisateur
@@ -1080,29 +1018,21 @@ auths.attribute_mail=Attribut de l'e-mail
auths.attributes_in_bind=Aller chercher les attributs dans le contexte de liaison DN
auths.filter=Filtre utilisateur
auths.admin_filter=Filtre administrateur
+auths.ms_ad_sa=Ms Ad SA
auths.smtp_auth=Type d'authentification SMTP
auths.smtphost=Hôte SMTP
auths.smtpport=Port SMTP
auths.allowed_domains=Domaines autorisés
-auths.allowed_domains_helper=Laissez-le vide pour ne pas restreindre de domaines. Plusieurs domaines doivent être séparés par une virgule «, ».
auths.enable_tls=Activer le Chiffrement TLS
auths.skip_tls_verify=Ne pas vérifier TLS
auths.pam_service_name=Nom du Service PAM
auths.enable_auto_register=Connexion Automatique
auths.tips=Conseils
-auths.edit=Modifier les paramètres d'authentification
auths.activated=Authentification activée
-auths.new_success=Nouvelle authentification «%s » a été ajoutée avec succès.
-auths.update_success=Les paramètre d'authentification a été mis à jour avec succès.
-auths.update=Mettre à jour les paramètres d'authentifications
-auths.delete=Supprimer cette authentification
-auths.delete_auth_title=Suppression de l'authentification
-auths.delete_auth_desc=Cette authentification va être supprimée. voulez-vous continuer ?
-auths.still_in_used=Cette authentification est encore utilisée par d'autres utilisateurs, supprimez-les ou convertir ces utilisateurs vers un autre type de session, avant.
auths.deletion_success=L'authentification a été supprimée avec succès !
auths.login_source_exist=La source d'authentification '%s' existe déjà.
-config.server_config=Configuration du Serveur
+config.server_config=Configuration du serveur
config.app_name=Nom de l'application
config.app_ver=Version de l'application
config.app_url=URL de l'application
@@ -1121,7 +1051,6 @@ config.reverse_auth_user=Annuler l'Authentification de l'Utilisateur
config.ssh_config=Configuration SSH
config.ssh_enabled=Activé
-config.ssh_start_builtin_server=Démarrer le serveur intégré
config.ssh_domain=Domaine
config.ssh_port=Port
config.ssh_listen_port=Port d'écoute
@@ -1131,7 +1060,7 @@ config.ssh_keygen_path=Chemin vers le générateur de clefs ("ssh-keygen")
config.ssh_minimum_key_size_check=Vérification de la longueur de clé minimale
config.ssh_minimum_key_sizes=Tailles de clé minimales
-config.db_config=Configuration de la Base de Données
+config.db_config=Configuration de la base de données
config.db_type=Type
config.db_host=Hôte
config.db_name=Nom
@@ -1141,7 +1070,7 @@ config.db_ssl_mode_helper=("postgres" uniquement)
config.db_path=Emplacement
config.db_path_helper=(pour « sqlite3 » et « TIDB »)
-config.service_config=Configuration du Service
+config.service_config=Configuration du service
config.register_email_confirm=Nécessite une confirmation par e-mail
config.disable_register=Désactiver les inscriptions
config.show_registration_button=Afficher le bouton d'enregistrement
@@ -1150,14 +1079,12 @@ config.mail_notify=Notifier par mail
config.disable_key_size_check=Désactiver la vérification de la taille de clé minimale
config.enable_captcha=Activez le Captcha
config.active_code_lives=Limites de Code Actif
-config.reset_password_code_lives=Réinitialiser le Mot De Passe des Limites de Code
-config.default_keep_email_private=Valeur par défaut pour "Masquer mon adresse email"
+config.default_keep_email_private=Valeur par défaut pour "Masquer mon adresse email
config.no_reply_address=Adresse de non-réponse
config.webhook_config=Configuration Webhook
config.queue_length=Longueur de la file d'attente
config.deliver_timeout=Expiration d'Envoi
-config.skip_tls_verify=Ne pas vérifier TLS
config.mailer_config=Configuration du service de mail
config.mailer_enabled=Activé
@@ -1166,13 +1093,12 @@ config.mailer_name=Nom
config.mailer_host=Hôte
config.mailer_user=Utilisateur
config.send_test_mail=Envoyer courriel de Test
-config.test_mail_failed=Impossible d'envoyer un e-mail de test à '%s': %v
config.test_mail_sent=Un e-mail de test à été envoyé à '%s'.
config.oauth_config=Configuration OAuth
config.oauth_enabled=Activé
-config.cache_config=Configuration du Cache
+config.cache_config=Configuration du cache
config.cache_adapter=Adaptateur du Cache
config.cache_interval=Intervales du Cache
config.cache_conn=Liaison du Cache
@@ -1200,11 +1126,11 @@ config.git_max_diff_files=Nombre max de fichiers de Diff (à afficher)
config.git_gc_args=Arguments de GC
config.git_migrate_timeout=Délai imparti pour une migration
config.git_mirror_timeout=Délai imparti pour mettre à jour le miroir
-config.git_clone_timeout=Délai imparti pour l'opération "Clone"
-config.git_pull_timeout=Délai imparti pour l'opération "Pull"
-config.git_gc_timeout=Délai imparti pour l'opération "GC"
+config.git_clone_timeout=Délai imparti pour l'opération "Clone
+config.git_pull_timeout=Délai imparti pour l'opération "Pull
+config.git_gc_timeout=Délai imparti pour l'opération "GC
-config.log_config=Configuration du Journal
+config.log_config=Configuration du journal
config.log_mode=Mode du journal
monitor.cron=Tâches Cron
@@ -1212,14 +1138,13 @@ monitor.name=Nom
monitor.schedule=Planification
monitor.next=Suivant
monitor.previous=Précédent
-monitor.execute_times=Nombre d'Éxécutions
-monitor.process=Processus en cours d'éxécution
+monitor.execute_times=Nombre d'exécutions
+monitor.process=Processus en cours d'exécution
monitor.desc=Description
-monitor.start=Heure de Démarrage
+monitor.start=Heure de démarrage
monitor.execute_time=Heure d'Éxécution
notices.system_notice_list=Notes Systèmes
-notices.view_detail_header=Voir les détails de la notification
notices.actions=Actions
notices.select_all=Tout Sélectionner
notices.deselect_all=Tous déselectionner
@@ -1230,7 +1155,6 @@ notices.type=Type
notices.type_1=Dépôt
notices.desc=Description
notices.op=Opération
-notices.delete_success=Notifications système supprimées avec succès.
[action]
create_repo=a créé le dépôt %s
@@ -1246,41 +1170,40 @@ comment_issue=`a commenté le problème %s#%[2]s `
merge_pull_request=`demande d'ajout fusionnée le %s#%[2]s `
transfer_repo=a transféré le dépôt %s à %s
push_tag=a soumis le tag %[2]s sur %[3]s
-compare_commits=Comparer ces %d révisions
[tool]
-ago=il y a
-from_now=dans
+ago=il y a %s
+from_now=dans %s
now=maintenant
-1s=%s 1 seconde
-1m=%s 1 minute
-1h=%s 1 heure
-1d=%s 1 jour
-1w=%s 1 semaine
-1mon=%s 1 mois
-1y=%s 1 an
-seconds=%[2]s %[1]d secondes
-minutes=%[2]s %[1]d minutes
-hours=%[2]s %[1]d heures
-days=%[2]s %[1]d jours
-weeks=%[2]s %[1]d semaines
-months=%[2]s %[1]d mois
-years=%[2]s %[1]d ans
+1s=1 seconde
+1m=1 minute
+1h=1 heure
+1d=1 jour
+1w=1 semaine
+1mon=1 mois
+1y=1 an
+seconds=%d secondes
+minutes=%d minutes
+hours=%d heures
+days=%d jours
+weeks=%d semaines
+months=%d mois
+years=%d ans
raw_seconds=secondes
raw_minutes=minutes
[dropzone]
-default_message=Déposez les fichiers ici ou cliquez pour télécharger.
invalid_input_type=Vous ne pouvez pas télécharger des fichiers de ce type.
-file_too_big=Le fichier de taille ({{filesize}} Mo) dépasse la taille maximale ({{maxFilesize}} MB).
remove_file=Supprimer le fichier
[notification]
notifications=Notifications
-unread=Non lus
-read=Lu(s)
-no_unread=Vous n'avez aucune notification non lue.
-no_read=Vous n'avez aucune notification.
-pin=Épingler
+unread=Non lue(s)
+read=Lue(s)
mark_as_read=Marquer comme lu
+mark_as_unread=Marquer comme non lue
+
+[gpg]
+
+[units]
diff --git a/options/locale/locale_hu-HU.ini b/options/locale/locale_hu-HU.ini
new file mode 100644
index 0000000..cffe9ca
--- /dev/null
+++ b/options/locale/locale_hu-HU.ini
@@ -0,0 +1,1446 @@
+app_desc=Fájdalommentes, saját gépre telepíthető Git szolgáltatás
+
+home=Főoldal
+dashboard=Műszerfal
+explore=Felfedezés
+help=Súgó
+sign_in=Bejelentkezés
+sign_in_with=Bejelentkezés a következővel
+sign_out=Kijelentkezés
+sign_up=Regisztráció
+link_account=Fiók Összekötés
+link_account_signin_or_signup=Bejelentkezés meglévő felhasználóval, hogy a meglévő fiókodhoz kösd, vagy új fiók létrehozása
+register=Regisztráció
+website=Webhely
+version=Verzió
+page=Oldal
+template=Sablon
+language=Nyelv
+notifications=Értesítések
+create_new=Létrehozás...
+user_profile_and_more=Felhasználói profil és egyebek
+signed_in_as=Bejelentkezve mint
+
+username=Felhasználónév
+email=E-mail
+password=Jelszó
+re_type=Újra
+captcha=Captcha
+twofa=Kétlépcsős hitelesítés
+twofa_scratch=Kétlépcsős bejelentkezés kaparós kódja
+passcode=Jelkód
+
+repository=Tároló
+organization=Szervezet
+mirror=Tükör
+new_repo=Új tároló
+new_migrate=Új migráció
+new_mirror=Új tükör
+new_fork=Új másolat
+new_org=Új szervezet
+manage_org=Szervezetek kezelése
+admin_panel=Rendszergazdai felület
+account_settings=Fiók beállítások
+settings=Beállítások
+your_profile=Saját Profil
+your_starred=Csillagozottjaid
+your_settings=Beállításaid
+
+all=Összes
+sources=Források
+mirrors=Tükrök
+collaborative=Együttműködés
+forks=Másolatok
+
+activities=Tevékenységek
+pull_requests=Egyesítési Kérések
+issues=Hibajegyek
+
+cancel=Mégsem
+
+[install]
+install=Telepítés
+title=Kezdeti konfiguráció
+docker_helper=Hogyha a Gitea-t Docker-en belül futtatod, akkor kérlek olvasd el az irányelveket mielőtt bármit megváltoztatnál ezen az oldalon.
+requite_db_desc=Giteához szükséges MySQL, PostgreSQL, SQLite3 vagy TiDB.
+db_title=Adatbázis beállításai
+db_type=Adatbázis típusa
+host=Kiszolgáló
+user=Felhasználó
+password=Jelszó
+db_name=Adatbázis neve
+db_helper=A MySQL-hez az INNODB motort használd utf8_general_ci karakter kódolással.
+ssl_mode=SSL mód
+path=Elérési út
+sqlite_helper=Az elérési útvonal az SQLite3 vagy TiDB adatbázishoz. Kérjük használjon abszolút útvonalat ha szolgáltatásként akarja futtatni.
+err_empty_db_path=SQLite3 vagy TiDB adatbázis elérési útja nem lehet üres.
+err_invalid_tidb_name=TiDB adatbázis neve nem tartalmazhat "." és "-" karaktereket.
+no_admin_and_disable_registration=Nem tilthatod le a regisztrációt anélkül, hogy nem hozol létre egy rendszergazdai fiókot.
+err_empty_admin_password=Rendszergazda jelszó nem lehet üres.
+
+general_title=Általános Alkalmazás Beállítások
+app_name=Alkalmazás neve
+app_name_helper=Ide írhatod a szervezeted nevét.
+repo_path=Tárolók gyökérkönyvtára
+repo_path_helper=Minden távoli Git tároló ebbe a mappába lesz mentve.
+lfs_path=LFS Gyökérkönyvtár
+lfs_path_helper=A fájlok amiket Git LFS-el elmentesz ebbe a könyvtárba kerülnek. Hagyd üresen az LFS kikapcsolásához.
+run_user=Futtató felhasználó
+run_user_helper=Ezen felhasználónak jogosultnak kell lennie a tároló gyökérkönyvtárának elérésére és a Gitea futtatására.
+domain=Tartomány
+domain_helper=Ez befolyásolja az SSH klónozási URL-jeit.
+ssh_port=SSH port
+ssh_port_helper=SSH port amit a szervered használni fog, vagy hagyd üresen a kikapcsoláshoz.
+http_port=HTTP port
+http_port_helper=Ezen a porton érhető el az alkalmazás webfelülete.
+app_url=Alkalmazás URL-je
+app_url_helper=Ez hatással van a HTTP/HTTPS-klón URL és néhány E-Mail értesítésre.
+log_root_path=Naplófájl elérési útja
+log_root_path_helper=Naplófájlok könyvtára.
+
+optional_title=További beállítások
+email_title=E-mail szolgáltatás beállításai
+smtp_host=SMTP kiszolgáló
+smtp_from=Feladó
+smtp_from_helper=E-Mail feladójának a címe az RFC 5322 formátumban. Lehet megadni csak egy e-mail címet, vagy "Név" formátumban.
+mailer_user=Feladó Felhasználója
+mailer_password=Feladó Jelszava
+register_confirm=Regisztráció megerősítésének engedélyezése
+mail_notify=E-Mail értesítés engedélyezése
+server_service_title=Szerver és egyéb szolgáltatások beállítása
+offline_mode=Offline Mód Bekapcsolása
+offline_mode_popup=CDN kikapcsolása, hogy minden kért fájl helyileg legyen kiszolgálva.
+disable_gravatar=Gravatar szolgáltatás kikapcsolása
+disable_gravatar_popup=Gravatar és egyéb külső források kikapcsolása. Profil képet a felhasználónak kell feltöltenie, vagy az alapértelmezett lesz használva.
+federated_avatar_lookup=Összevont profilkép lekérés engedélyezése
+federated_avatar_lookup_popup=Összevont profilkép lekérés engedélyezése a libravatar használatával.
+disable_registration=Ön-regisztráció kikapcsolása
+disable_registration_popup=Ön-regisztráció kikapcsolása, csak a rendszergazda hozhat létre fiókot.
+enable_captcha=Captcha Engedélyezése
+enable_captcha_popup=CAPTCHA megkövetelése amikor egy felhasználó ön-regisztrál.
+require_sign_in_view=Bejelentkezés megkövetelése az oldalak megtekintéséhez
+require_sign_in_view_popup=Csak bejelentkezett felhasználók nézhetik meg az oldalakat; a látogatók csak a bejelentkező és regisztrációs oldalt láthatják.
+admin_setting_desc=Nem kell most rendszergazda fiókot létrehozni. Az első felhasználó aki az oldalon regisztrál automatikusan rendszergazdai jogot kap.
+admin_title=Rendszergazda fiók beállításai
+admin_name=Felhasználónév
+admin_password=Jelszó
+confirm_password=Jelszó megerősítése
+admin_email=Rendszergazdai e-mail
+install_btn_confirm=Gitea telepítése
+test_git_failed=Nem sikerült a 'git' parancs kipróbálása: %v
+sqlite3_not_available=Az aktuális verziód nem támogatja az SQLite3-at, kérlek töltsd le a hivatalos binárist a(z) %s oldalról, NEM a gobuild verziót.
+invalid_db_setting=Adatbázis beállítás érvénytelen: %v
+invalid_repo_path=Repository gyökérkönyvtára helytelen: %v
+run_user_not_match=A futtató felhasználó nem az aktuális felhasználó: %s -> %s
+save_config_failed=Hiba történt a konfiguráció mentése közben: %v
+invalid_admin_setting=Rendszergazda fiók beállítása helytelen: %v
+install_success=Üdvözlünk! Köszönjük, hogy a Gitea-t választottad és jó szórakozást kívánunk a használatához!
+invalid_log_root_path=Napó gyökérkönyvtára helytelen: %v
+default_keep_email_private=Email cím ne látszódjon" alapértelmezett értéke
+default_keep_email_private_popup=Ez az alapértelmezett értéke a felhasználó e-mail cím láthatóságának. Ha értéke igaz, akkor minden új felhasználó e-mail címe rejtve marad, amíg a felhasználó nem módosítja a beállítását.
+default_allow_create_organization=Felhasználó létrehozhat Szervezeteket" jogosultság alapértelmezett értéke
+default_allow_create_organization_popup=Ez az alapértelmezetten értéke ennek a jognak, ami az új felhasználókhoz lesz rendelve. Ha igaz, akkor az új felhasználók létre tudnak hozni Szervezeteket.
+no_reply_address=No-reply Cím
+no_reply_address_helper=Tartománynév a rejtett email című felhasználók commitjaihoz ami a git logban fog megjelenni. Pl.: 'joe' és a 'noreply.example.org'-ból 'joe@noreply.example.org' lesz.
+
+[home]
+uname_holder=Felhasználónév vagy E-mail
+password_holder=Jelszó
+switch_dashboard_context=Műszerfal nézőpont váltás
+my_repos=Tárolóim
+show_more_repos=Mutass több tárolót...
+collaborative_repos=Együttműködési tárolók
+my_orgs=Szervezeteim
+my_mirrors=Tükreim
+view_home=Nézet %s
+search_repos=Tároló keresése...
+
+issues.in_your_repos=A tárolóidban
+
+[explore]
+repos=Tárolók
+users=Felhasználók
+organizations=Szervezetek
+search=Keresés
+repo_no_results=Nem található a keresésnek megfelelő tároló.
+user_no_results=Nem található a keresésnek megfelelő felhasználó.
+org_no_results=Nem található a keresésnek megfelelő szervezet.
+
+[auth]
+create_new_account=Felhasználó létrehozása
+register_helper_msg=Van már felhasználói fiókja? Jelentkezzen be!
+social_register_helper_msg=Van már felhasználói fiókja? Csatlakoztassa most!
+disable_register_prompt=Elnézést, a regisztráció ki van kapcsolva. Vegye fel a kapcsolatot a rendszergazdával.
+disable_register_mail=Elnézést, a regisztrációt megerősítő levél szolgáltatás ki van kapcsolva.
+remember_me=Emlékezz rám
+forgot_password_title=Elfelejtett jelszó
+forgot_password=Elfelejtette a jelszavát?
+sign_up_now=Felhasználói fiókra van szüksége? Regisztráljon most.
+confirmation_mail_sent_prompt=Új megerősítő email lett küldve ide: %s . Ellenőrizze postafiókját az elkövetkező %s a regisztrációs folyamat befejezéséhez.
+reset_password_mail_sent_prompt=Megerősítő email lett küldve ide: %s . Ellenőrizze postafiókját az elkövetkező %s a jelszó visszaállítási folyamat befejezéséhez.
+active_your_account=Aktiválja a fiókját
+prohibit_login=Bejelentkezés letiltva
+prohibit_login_desc=A fiókjával nem engedélyezett a bejelentkezés, vegye fel a kapcsolatot a rendszergazdával.
+resent_limit_prompt=Elnézést, de nemrég már kért aktivációs emailt. Kérem várjon 3 percet és utána próbálja újra.
+has_unconfirmed_mail=Tisztelt %s, az email címe (%s ) nincsen megerősítve. Amennyiben nem kapta még meg a megerősítő email-t, vagy egy újra van szüksége, az alábbi gombra kattintson.
+resend_mail=Kattintson ide az aktivációs email újraküldéséhez
+email_not_associate=Az email cím nincsen hozzárendelve egyetlen fiókhoz sem.
+send_reset_mail=Kattints ide hogy újraküldd a jelszó visszaállító emailt
+reset_password=Jelszó visszaállítása
+invalid_code=Elnézést, de a megerősítő kód lejárt vagy érvénytelen.
+reset_password_helper=Kattintson ide, hogy visszaállítsa a jelszavát
+password_too_short=A jelszó nem lehet rövidebb, mint %d karakter.
+non_local_account=Nem helyben regisztrált felhasználók nem cserélhetnek jelszót a webes felületen keresztül.
+verify=Ellenőrzés
+scratch_code=Kaparós kód
+use_scratch_code=Kaparós kód használata
+twofa_scratch_used=Ön már használta a kaparós kódját. Visszairányítottuk a kétlépcsős bejelentkezési beállítások oldalra, hogy eltávolíthassa eszközét vagy generálhasson új kaparós kódot.
+twofa_passcode_incorrect=A kód hibás. Ha nem találja az eszközét, akkor használja a kaparós kódját a bejelentkezéshez.
+twofa_scratch_token_incorrect=A kaparós kód nem megfelelő.
+login_userpass=Felhasználó / jelszó
+login_openid=OpenID
+openid_connect_submit=OpenID kapcsolódás
+openid_connect_title=Kapcsolás meglévő fiókhoz
+openid_connect_desc=A megadott OpenID URI ismeretlen a rendszer számára, hozzáadhatja egy meglévő fiókhoz.
+openid_register_title=Új fiók létrehozása
+openid_register_desc=A megadott OpenID URI ismeretlen a rendszer számára, hozzáadhatja egy új fiókhoz.
+openid_signin_desc=Példa URI: https://anne.me, bob.openid.org.cn, gnusocial.net/carry
+disable_forgot_password_mail=Elnézést, a jelszó visszaállítás le van tiltva. Vegye fel a kapcsolatot a rendszergazdával.
+
+[mail]
+activate_account=Kérjük aktiválja a fiókját
+activate_email=E-mail cím megerősítése
+reset_password=Jelszó visszaállítása
+register_success=Sikeres regisztráció
+register_notify=A Gitea üdvözli
+
+[modal]
+yes=Igen
+no=Nem
+modify=Módosítás
+
+[form]
+UserName=Felhasználónév
+RepoName=Tároló neve
+Email=E-mail cím
+Password=Jelszó
+Retype=Jelszó megerősítése
+SSHTitle=SSH kulcs neve
+HttpsUrl=HTTPS URL
+PayloadUrl=Tartalom URL-címe
+TeamName=Csoport neve
+AuthName=Engedélyezési név
+AdminEmail=Rendszergazdai e-mail
+
+NewBranchName=Új ág neve
+CommitSummary=Commit áttekintő
+CommitMessage=Commit üzenet
+CommitChoice=Commit választás
+TreeName=Elérési útvonal
+Content=Tartalom
+
+require_error=` nem lehet üres`
+alpha_dash_error=` betű, szám vagy kötőjel (-_) karakterek lehetnek.`
+alpha_dash_dot_error=` betű, szám vagy kötőjel (-_) vagy pont karakterek lehetnek.`
+git_ref_name_error=` egy jól formált git referenciának kell lennie.`
+size_error=` %s méretűnek kell lennie.`
+min_size_error=` legalább %s karaktert kell tartalmaznia.`
+max_size_error=` legfeljebb %s karaktert tartalmazhat.`
+email_error=` nem valódi e-mail cím.`
+url_error=` nem érvényes URL.`
+include_error=` tartalmaznia kell a '%s' karakterláncot.`
+unknown_error=Ismeretlen hiba:
+captcha_incorrect=A CAPCHA megfejtése hibás.
+password_not_match=Az általad beírt jelszavak nem egyeznek meg.
+
+username_been_taken=Felhasználónév már foglalt.
+repo_name_been_taken=A tároló neve már foglalt.
+org_name_been_taken=A szervezet neve már foglalt.
+team_name_been_taken=A csoportnév már foglalt.
+team_no_units_error=A csoportnak legalább egy egységet engedélyezni kell.
+email_been_used=Az E-mail már használatban van.
+openid_been_used=Az OpenID cím "%s" már használatban van.
+username_password_incorrect=Helytelen felhasználónév vagy jelszó.
+enterred_invalid_repo_name=Ellenőrizze, hogy a tároló neve helyes.
+enterred_invalid_owner_name=Kérlek ellenőrizd, hogy a beírt tulajdonos neve helyes.
+enterred_invalid_password=Kérlek ellenőrizd, hogy a beírt jelszó helyes.
+user_not_exist=A fiók nem létezik.
+last_org_owner=Az utolsó felhasználót nem lehet eltávolítani a tulajdonosi csapatból, mert legalább egy tulajdonosnak lennie kell minden szervezetben.
+cannot_add_org_to_team=Szervezet nem adható hozzá egy csoport tagjaként.
+cannot_invite_org_to_org=Szervezet nem hívható meg egy csoport tagjának.
+
+invalid_ssh_key=Sajnáljuk, de nem tudtuk ellenőrizni az SSH kulcsod: %s
+invalid_gpg_key=Sajnáljuk, de nem tudtuk ellenőrizni a GPG kulcsod: %s
+unable_verify_ssh_key=Az ssh kulcsot nem tudtuk ellenőrizni, kérjük nézze át még egyszer hibák után.
+auth_failed=A hitelesítés sikertelen: %v
+
+still_own_repo=A felhasználód még legalább egy tároló tulajdonosa, először törölnöd kell őket vagy átruháznod másokra.
+still_has_org=A felhasználód még mindig legalább egy szervezet tagja, előbb ki kell lépned belőlük.
+org_still_own_repo=Ennek a szervezetnek még mindig vannak tárolói, előbb le kell törölnöd vagy másra átruháznod őket.
+
+target_branch_not_exist=Cél ág nem létezik.
+
+[user]
+change_avatar=Profilkép megváltoztatása
+join_on=Csatlakozott
+repositories=Tárolók
+activity=Nyilvános tevékenységek
+followers=Követők
+starred=Csillagozott tárolók
+following=Követve
+follow=Követés
+unfollow=Követés törlése
+
+form.name_reserved=A(z) '%s' felhasználónév a rendszernek van fenntartva, kérlek válassz másikat.
+form.name_pattern_not_allowed=A(z) '%s' felhasználónév minta nem megengedett.
+
+[settings]
+profile=Profil
+password=Jelszó
+avatar=Profilkép
+ssh_gpg_keys=SSH / GPG kulcsok
+social=Közösségi fiókok
+applications=Alkalmazások
+orgs=Szervezetek
+delete=Fiók törlése
+twofa=Kétlépcsős hitelesítés
+account_link=Külső fiókok
+organization=Szervezet
+uid=UID
+
+public_profile=Nyilvános profil
+profile_desc=Az e-mail címed nyilvános, és ez lesz használva minden a felhasználódat érintő változtatás, és az oldalon történt művelettel kapcsolatos értesítés küldésére.
+password_username_disabled=A nem helyi felhasználóknak nem engedélyezett, hogy megváltoztassák a felhasználói nevüket. Kérjük lépjen kapcsolatba a helyi rendszergazdájával több információért.
+full_name=Teljes név
+website=Webhely
+location=Hely
+update_profile=Profil frissítése
+update_profile_success=A profilod frissítve lett.
+change_username=Felhasználónév megváltoztatva
+change_username_prompt=Ez a változtatás meg fogja változtatni a hivatkozásokat a felhasználójára.
+continue=Folytatás
+cancel=Mégsem
+
+lookup_avatar_by_mail=Profilkép keresése e-mail alapján
+federated_avatar_lookup=Összevont profilkép keresés
+enable_custom_avatar=Egyéni profilkép használata
+choose_new_avatar=Új profilkép kiválasztása
+update_avatar=Profilkép beállítások frissítése
+delete_current_avatar=Jelenlegi profilkép törlése
+uploaded_avatar_not_a_image=A feltöltött fájl nem kép.
+update_avatar_success=A profilkép beállítás frissítve lett.
+
+change_password=Jelszó megváltoztatása
+old_password=Jelenlegi jelszó
+new_password=Új jelszó
+retype_new_password=Új jelszó megerősítése
+password_incorrect=A megadott jelenlegi jelszó helytelen.
+change_password_success=A jelszavad sikeresen meg lett változtatva. Most már bejelentkezhetsz az új jelszavaddal.
+password_change_disabled=A nem helyi felhasználók nem jogosultak megváltoztatni a jelszavukat a webes felületen keresztül.
+
+emails=E-mail címek
+manage_emails=E-mail címek kezelése
+manage_openid=OpenID címek kezelése
+email_desc=Elsődleges e-mail címedet használjuk értesítésekre és más műveletekre.
+primary=Elsődleges
+primary_email=Beállítás elsődlegesként
+delete_email=Törlés
+email_deletion=Email törlése
+email_deletion_desc=Ennek az e-mail címnek a törlése el fog távolítani minden ezzel kapcsolatos információ a felhasználói fiókjából. Ez nem befolyásolja azokat a git commit-okat, amik ezt az e-mail címet használják. Folytatni akarod?
+email_deletion_success=Az e-mail címet sikeresen töröltük!
+openid_deletion=OpenID Törlése
+openid_deletion_desc=Ha törli ezt az OpenID-t a fiókjából, akkor utána nem lesz képes bejelentkezni vele. Biztos, hogy folytatni akarja?
+openid_deletion_success=Az OpenID sikeresen törölve lett!
+add_new_email=Új e-mail cím hozzáadása
+add_new_openid=Új OpenID URI hozzáadása
+add_email=E-mail cím hozzáadása
+add_openid=OpenID URI hozzáadása
+add_email_confirmation_sent=Egy új megerősítő e-mail el lett küldve a(z) '%s' címre. Kérlek nézd meg a fiókod a következő %s, hogy megerősítsd az e-mail címedet.
+add_email_success=Az új e-mail cím hozzáadása sikeres volt.
+add_openid_success=Az új OpenID hozzáadása sikeres volt.
+keep_email_private=Email cím ne látszódjon
+keep_email_private_popup=Ha ez be van pipálva, akkor más felhasználók nem láthatják az e-mail címedet.
+openid_desc=A megadott OpenID címeid lehetőséget adnak arra, hogy a hitelesítést a te általad választott szolgáltatókra bízhasd
+
+manage_ssh_keys=SSH kulcsok kezelése
+manage_gpg_keys=GPG kulcsok kezelése
+add_key=Kulcs hozzáadása
+ssh_desc=Ezek az SSH kulcsok vannak a felhasználói fiókodhoz kötve. Mivel ezek a kulcsok lehetőséget adnak bárkinek, hogy hozzáférést kapjanak a tárolóidhoz, ezért nagyon fontos, hogy meggyőződj arról, hogy felismered őket.
+gpg_desc=Ezek a GPG kulcsok vannak a felhasználódhoz kötve. Mivel ezek a kulcsok lehetővé teszik a commit-ok hitelesítését, ezért nagyon fontos, hogy a hozzájuk tartozó privát kulcsot biztonságban tartsad.
+ssh_helper=Segítség kell? Nézd meg a következő cikket a GitHub oldalán: saját SSH kulcs létrehozása . Vagy oldj meg gyakran előforduló problémákat az SSH használatakor.
+gpg_helper=Segítség kell? Nézd meg a GitHub GPG-s cikkjét .
+add_new_key=SSH kulcs hozzáadása
+add_new_gpg_key=GPG kulcs hozzáadása
+ssh_key_been_used=Ezt a nyilvános kulcsot már felhasználták.
+ssh_key_name_used=Ilyen néven már létezik nyilvános kulcs.
+gpg_key_id_used=Ilyen azonosítóval már létezik nyilvános GPG kulcs.
+gpg_key_email_not_found=Az e-mail amihez a GPG kulcs csatolva van nem található meg vagy még nincs megerősítve: %s
+subkeys=Alkulcsok
+key_id=Kulcs ID
+key_name=Kulcs neve
+key_content=Tartalom
+add_key_success=Az SSH kulcsod sikeresen hozzáadva: '%s'
+add_gpg_key_success=A GPG kulcsod sikeresen hozzáadva: '%s'
+delete_key=Törlés
+ssh_key_deletion=SSH kulcs törlése
+gpg_key_deletion=GPG kulcs törlése
+ssh_key_deletion_desc=Ennek az SSH kulcsnak a törlése minden hozzáférést letilt a felhasználódhoz ami azt használja. Biztos, hogy folytatni szeretnéd?
+gpg_key_deletion_desc=Ennek a GPG kulcsnak a törlése megszünteti a hitelesítését az összes commit-nak ami azt használja. Biztos hogy folytatni szeretné?
+ssh_key_deletion_success=Az SSH kulcs törölve lett.
+gpg_key_deletion_success=A GPG kulcs törölve lett.
+add_on=Hozzáadva
+valid_until=Érvényesség vége:
+valid_forever=Érvényes örökre
+last_used=Utolsó használat:
+no_activity=Mostanság nem aktívan használt
+key_state_desc=Ezt a kulcsot már használta az elmúlt 7 napban
+token_state_desc=Ez a token volt használva az elmúlt 7 napban
+show_openid=Megjelenítés a profilon
+hide_openid=Elrejtés a profilról
+
+manage_social=Kapcsolódó fiókok kezelése
+social_desc=Ez a kapcsolódó fiókok listáját. Biztonsági okokból győződj meg róla, hogy mindegyiket felismered, mert ezeket használva be lehet jelentkezni a fiókodba.
+unbind=Leoldás
+unbind_success=A fiók le lett oldva a fiókodról.
+
+manage_access_token=Személyes hozzáférési tokenek kezelése
+generate_new_token=Új token generálása
+tokens_desc=Általad generált tokenek, amikkel hozzá lehet férni a Gitea API-khoz.
+new_token_desc=Minden token teljes hozzáférést ad a fiókodhoz.
+token_name=Token neve
+generate_token=Token generálása
+generate_token_success=A hozzáférési jegy sikeresen legenerálva! Másolja le most, később már nem lesz visszanézhető!
+delete_token=Törlés
+access_token_deletion=Személyes hozzáférési token törlése
+access_token_deletion_desc=Ezen személyes hozzáférési token törlése megvonja a hozzáférést minden kapcsolódó alkalmazáshoz. Biztosan folytatja?
+delete_token_success=A személyes hozzáférési token törlésre került. Ne feledje frissíteni a hozzá tartozott alkalmazások beállítását.
+
+twofa_desc=A Gitea támogatja a kétlépcsős bejelentkezést, hogy elősegítse a fiókja biztonságát.
+twofa_is_enrolled=A fiókja jelenleg használ kétlépcsős hitelesítést.
+twofa_not_enrolled=A fiókja jelenleg nem használ kétlépcsős hitelesítést.
+twofa_disable=Kétlépcsős hitelesítés letiltása
+twofa_scratch_token_regenerate=Kaparós kód újragenerálása
+twofa_scratch_token_regenerated=Kaparós kódja újragenerálva. Jelenleg %s. Őrizze biztonságos helyen.
+twofa_enroll=Kétlépcsős hitelesítés használata
+twofa_disable_note=Ha szükséges, a kétlépcsős hitelesítés kikapcsolható.
+twofa_disable_desc=A kétlépcsős hitelesítés kikapcsolásának hatására fiókja kevésbé lesz biztonságos. Biztosan folytatni szeretné?
+regenerate_scratch_token_desc=Ha elfelejtette a kaparós kódját, vagy már elhasználta, itt visszaállíthatja.
+twofa_disabled=Kétlépcsős hitelesítés letiltva.
+scan_this_image=Olvassa be ezt a hitelesítő alkalmazásával:
+or_enter_secret=Vagy adja meg a titkot: %s
+then_enter_passcode=És adja meg a kódot a hitelesítő alkalmazásból:
+passcode_invalid=A PIN-kód érvénytelen. Próbálja újra.
+twofa_enrolled=A fiókjához engedélyezve lett a kétlépcsős hitelesítés. Győződjön meg róla, hogy a kaparós kódot (%s) biztonságban tudja, mert csak egyszer jelenik meg!
+
+manage_account_links=Fiók-kapcsolatok kezelése
+manage_account_links_desc=Külső fiókok kapcsolva ehhez a fiókhoz
+account_links_not_available=Jelenleg nincs külső fiók kapcsolva ehhez a fiókhoz
+remove_account_link=Csatolt fiók eltávolítása
+remove_account_link_desc=Ezen külső fiók eltávolítása megvonja a hozzá tartozó hozzáféréseket. Biztosan folytatja?
+remove_account_link_success=Hozzárendelt külső fiók sikeresen törölve!
+
+orgs_none=Nem tagja egy szervezetnek sem.
+
+delete_account=Fiókod törlése
+delete_prompt=Ez a művelet véglegesen törli a fiókot, ezt NEM lehet visszavonni!
+confirm_delete_account=Törlés megerősítése
+delete_account_title=Fióktörlés
+delete_account_desc=Biztosan véglegesen törölni szeretné ezt a fiókot?
+
+[repo]
+owner=Tulajdonos
+repo_name=Tároló neve
+repo_name_helper=A jó tárolónév általában rövid, megjegyezhető és egyedi kulcsszavakból tevődik össze.
+visibility=Láthatóság
+visiblity_helper=Ez a tároló privát
+visiblity_helper_forced=Az adminisztrátor kötelezővé tette, hogy minden új tároló privát legyen
+visiblity_fork_helper=(Az érték megváltoztatása kihat minden másolatra)
+clone_helper=Segítségre van szüksége a klónozáshoz? Látogassa meg a súgót !
+fork_repo=Tároló lemásolása
+fork_from=Másolás innen
+fork_visiblity_helper=Nem módosítható egy tároló másolatának láthatósága.
+repo_desc=Leírás
+repo_lang=Nyelv
+repo_gitignore_helper=Válasszon .gitignore sablont
+license=Licenc
+license_helper=Licencfájl kiválasztása
+readme=Olvassel
+readme_helper=Válassz egy Olvassel sablont
+auto_init=Tároló inicializálása a kiválasztott fájlokkal és sablonokkal
+create_repo=Tároló létrehozása
+default_branch=Alapértelmezett ág
+mirror_prune=Tükörkapcsolat eltávolítása
+mirror_prune_desc=Minden olyan távoli követési referencia törlése, mely már nem érhető el a távoli oldalon
+mirror_interval=Tükrözés gyakorisága (időegységek: óra "h", perc "m", másodperc "s")
+mirror_interval_invalid=A tükrözés gyakorisága hibás
+mirror_address=Tükör cím
+mirror_address_desc=Kérlek, add meg a szükséges belépési adatokat a címben.
+mirror_last_synced=Utoljára szinkronizálva
+watchers=Figyelők
+stargazers=Csillagozók
+forks=Másolások
+
+form.reach_limit_of_creation=Elérte a tárolók maximális számát (%d).
+form.name_reserved=A tárolónév ('%s') a rendszernek van fenntartva.
+form.name_pattern_not_allowed=Ez a tároló név ('%s') nem megengedett.
+
+need_auth=Engedély szükséges
+migrate_type=Migráció típusa
+migrate_type_helper=Ez a tároló tükör ként fog működni
+migrate_repo=Tároló migrációja
+migrate.clone_address=Migráció innen:
+migrate.clone_address_desc=Ez lehet egy HTTP/HTTPS/GIT URL
+migrate.clone_local_path=vagy a helyi szerver elérési útja
+migrate.permission_denied=Nem engedélyezett számodra a helyi tárolók importálása.
+migrate.invalid_local_path=Érvénytelen helyi elérési út; nem létezik vagy nem mappára mutat.
+migrate.failed=A migráció sikertelen: %v
+migrate.lfs_mirror_unsupported=LFS objektumok tükrözése nem támogatott - használja a 'git lfs fetch --all' és a 'git lfs push --all" parancsokat helyette.
+
+mirror_from=tükörképe a:
+forked_from=másolva innen:
+fork_from_self=Nem fork-olhat önmaga által birtokolt tárolót!
+copy_link=Másolás
+copy_link_success=Másolva!
+copy_link_error=Nyomja meg a ⌘-C vagy Ctrl-C gombokat a másoláshoz
+copied=Másolás rendben
+unwatch=Figyelés törlése
+watch=Figyelés
+unstar=Csillag törlése
+star=Csillagozás
+fork=Másolás
+download_archive=Töltse le ezt a tárolót
+
+no_desc=Nincs leírás
+quick_guide=Gyors útmutató
+clone_this_repo=Tároló klónozása
+create_new_repo_command=Egy új tároló létrehozása a parancssorból
+push_exist_repo=Meglévő tároló feltöltése parancssorból
+bare_message=A tároló nem tartalmaz semmit, üres.
+
+code=Kód
+code.desc=Itt van tárolva a kód
+branch=Ág
+tree=Fa
+filter_branch_and_tag=Ág vagy címke szűrése
+branches=Ágak
+tags=Címkék
+issues=Hibajegyek
+pulls=Egyesítési kérések
+labels=Címkék
+milestones=Mérföldkövek
+commits=Commit-ok
+releases=Kiadások
+file_raw=Nyers
+file_history=Előzmények
+file_view_raw=Nyers fájl megtekintése
+file_permalink=Állandó hivatkozás
+file_too_large=Ez a fájl túl nagy, nem megjeleníthető
+video_not_supported_in_browser=A böngésző nem támogatja a HTML5 video tag-et.
+stored_lfs=Git LFS-el eltárolva
+commit_graph=Commit gráf
+
+editor.new_file=Új fájl
+editor.upload_file=Fájl feltöltése
+editor.edit_file=Fájl szerkesztése
+editor.preview_changes=Változások előnézete
+editor.cannot_edit_non_text_files=Nem lehet szerkeszteni a bináris fájlokat a webes felületen
+editor.edit_this_file=A fájl szerkesztése
+editor.must_be_on_a_branch=Egy ágon kell lennie, hogy változtatásokat végezhessen, vagy javasolhasson ehhez a fájlhoz
+editor.fork_before_edit=Először csinálnia kell egy másolatot tárolóról mielőtt szerkesztheti a fájlt
+editor.delete_this_file=A fájl törlése
+editor.must_have_write_access=Írási jog szükséges hogy módosíthassa, vagy módosításokat javasolhasson ehhez a fájlhoz
+editor.file_delete_success=A(z) '%s' fájl sikeresen törölve!
+editor.name_your_file=Nevezd el a fájlod...
+editor.filename_help=Egy könyvtár hozzáadásához gépelje be és üssön egy /-t. Egy könyvtár eltávolításához menyjen a mező elejére és nyomjon backspace-t.
+editor.or=vagy
+editor.cancel_lower=mégsem
+editor.commit_changes=Változások véglegesítése
+editor.add_tmpl='%s/' hozzáadása
+editor.add='%s' hozzáadása
+editor.update='%s' módosítása
+editor.delete='%s' törlése
+editor.commit_message_desc=Opcionális hosszabb leírás hozzáadása...
+editor.commit_directly_to_this_branch=Commit egyenesen a(z) %s ágba.
+editor.create_new_branch=Hozzon létre egy új ágat ennek a commit-nak és indíts egy egyesítési kérést.
+editor.new_branch_name_desc=Új ág neve...
+editor.cancel=Mégsem
+editor.filename_cannot_be_empty=A fájlnév nem lehet üres.
+editor.branch_already_exists=A(z) '%s' ág már létezik ebben a tárolóban.
+editor.directory_is_a_file=A(z) '%s' útvonal egy fájl, nem egy mappa a repository-ban.
+editor.file_is_a_symlink=A fájl '%s' egy szimbolikus link amit nem lehet módosítani a webes szerkesztőből
+editor.filename_is_a_directory=A(z) '%s' fájlnév egy létező mappa ebben a tárolóban.
+editor.file_editing_no_longer_exists=A(z) '%s' fájl amit szerkesztesz már nem létezik a tárolóban.
+editor.file_changed_while_editing=A fájlt tartalma megváltozott mióta elkezdte a szerkesztést. Kattintson ide hogy lássa mi változott, vagy kattintson még egyszer a commit-ra hogy felülírja azokat a változtatásokat.
+editor.file_already_exists=A(z) '%s' nevű fájl már létezik a tárolóban.
+editor.no_changes_to_show=Nincsen megjeleníthető változás.
+editor.fail_to_update_file=Nem sikerült létrehozni/módosítani a következő fájlt: '%s' A hiba oka: %v
+editor.add_subdir=Alkönyvtár hozzáadása...
+editor.unable_to_upload_files=Nem sikerült feltölteni a fájlokat a "%s" hiba: %v
+editor.upload_files_to_dir=Fájlok feltöltése a következőre: '%s'
+editor.cannot_commit_to_protected_branch=Nem lehet a következő védett ágra commit-olni: '%s'.
+
+commits.desc=A commitok mutatják a kód változását az időben
+commits.commits=Commit-ok
+commits.search=Commit-ok keresése
+commits.find=Keresés
+commits.search_all=Minden ág
+commits.author=Szerző
+commits.message=Üzenet
+commits.date=Dátum
+commits.older=Régebbi
+commits.newer=Újabb
+commits.signed_by=Aláírta
+commits.gpg_key_id=GPG kulcs azonosító
+
+ext_issues=Külső hibajegyek
+ext_issues.desc=Külső Hibajegy kezelő: link egy külső hibajegy kezelő rendszer oldalára
+
+issues.desc=Hibajegyek: itt lehet a feladatokat és javítandó hibákat kezelni
+issues.new=Új hibajegy
+issues.new.labels=Címkék
+issues.new.no_label=Nincs címke
+issues.new.clear_labels=Címkék kiürítése
+issues.new.milestone=Mérföldkő
+issues.new.no_milestone=Nincs mérföldkő
+issues.new.clear_milestone=Mérföldkő eltávolítása
+issues.new.open_milestone=Nyitott mérföldkövek
+issues.new.closed_milestone=Lezárt mérföldkövek
+issues.new.assignee=Megbízott
+issues.new.clear_assignee=Megbízott eltávolítása
+issues.new.no_assignee=Nincs megbízott
+issues.create=Hibajegy létrehozása
+issues.new_label=Új címke
+issues.new_label_placeholder=Címke neve...
+issues.create_label=Címke létrehozása
+issues.label_templates.title=Előre definiált címkék betöltése
+issues.label_templates.info=Még nincsenek címkék. Rákattinthatsz az "Új Címke" gombra felül hogy létrehozz egyet, vagy választhatsz egy már létezőt a lenti listából.
+issues.label_templates.helper=Címkekészlet választása
+issues.label_templates.use=Használja ezt a címke készletet
+issues.label_templates.fail_to_load_file=Nem sikerült betölteni a cimkekészlet sablon fájlt "%s": %v
+issues.add_label_at=`következő hozzáadva: %s
label %s`
+issues.remove_label_at=`következő eltávolítva: %s
label %s`
+issues.add_milestone_at=`A hibajegy hozzá lett adva a %s mérföldkőhöz %s`
+issues.change_milestone_at=`módosítva lett a mérföldkő %s -ról/ről %s -ra/re %s`
+issues.remove_milestone_at=`eltávolítva a %s mérföldkőből %s`
+issues.deleted_milestone=`(törölt)`
+issues.self_assign_at=`önmagához rendelte %s`
+issues.add_assignee_at=`hozzárendelve %s által %s`
+issues.remove_assignee_at=`eltávolította a hozzárendelést %s`
+issues.change_title_at=`a cím változott %s -ról/ről %s -ra/re %s`
+issues.delete_branch_at=`letörölte a(z) %s ágat %s`
+issues.open_tab=%d Nyitva
+issues.close_tab=%d Lezárva
+issues.filter_label=Címke
+issues.filter_label_no_select=Nincs kijelölt címke
+issues.filter_milestone=Mérföldkő
+issues.filter_milestone_no_select=Nincs kijelölt mérföldkő
+issues.filter_assignee=Megbízott
+issues.filter_assginee_no_select=Nincs kijelölt megbízott
+issues.filter_type=Típus
+issues.filter_type.all_issues=Minden hibajegy
+issues.filter_type.assigned_to_you=Hozzám rendelt
+issues.filter_type.created_by_you=Általam létrehozottak
+issues.filter_type.mentioning_you=Engem említ
+issues.filter_sort=Rendezés
+issues.filter_sort.latest=Legújabb
+issues.filter_sort.oldest=Legrégebbi
+issues.filter_sort.recentupdate=Nemrég frissített
+issues.filter_sort.leastupdate=Legrégebben frissített
+issues.filter_sort.mostcomment=Legtöbbet hozzászólt
+issues.filter_sort.leastcomment=Legkevesebbet hozzászólt
+issues.action_open=Megnyitás
+issues.action_close=Lezárás
+issues.action_label=Címke
+issues.action_milestone=Mérföldkő
+issues.action_milestone_no_select=Nincs mérföldkő
+issues.action_assignee=Megbízott
+issues.action_assignee_no_select=Nincs megbízott
+issues.opened_by=megnyitva %[1]s %[3]s által
+issues.opened_by_fake=megnyitva %[1]s %[2]s által
+issues.previous=Előző
+issues.next=Következő
+issues.open_title=Nyitott
+issues.closed_title=Lezárt
+issues.num_comments=%d hozzászólás
+issues.commented_at=`hozzászólt %s `
+issues.delete_comment_confirm=Biztos vagy benne, hogy törölni akarod ezt a hozzászólást?
+issues.no_content=Még nincs tartalom.
+issues.close_issue=Lezárás
+issues.close_comment_issue=Hozzászólás és lezárás
+issues.reopen_issue=Újranyitás
+issues.reopen_comment_issue=Hozzászólás és újranyitás
+issues.create_comment=Hozzászólás
+issues.closed_at=`lezárta %[2]s `
+issues.reopened_at=`újranyitotta %[2]s `
+issues.commit_ref_at=`hivatkozott erre a hibajegyre egy commit-ból %[2]s `
+issues.poster=Posztoló
+issues.collaborator=Közreműködő
+issues.owner=Tulajdonos
+issues.sign_in_require_desc=Jelentkezz be hogy csatlakozz a beszélgetéshez.
+issues.edit=Szerkesztés
+issues.cancel=Mégsem
+issues.save=Mentés
+issues.label_title=Címke neve
+issues.label_color=Címke színe
+issues.label_count=%d címke
+issues.label_open_issues=%d nyitott hibajegy
+issues.label_edit=Szerkesztés
+issues.label_delete=Törlés
+issues.label_modify=Címke módosítása
+issues.label_deletion=Címke törlése
+issues.label_deletion_desc=A címke törlése eltávolítja azt minden hibajegyről. Biztosan folytatni szeretné?
+issues.label_deletion_success=A címke sikeresen törölve lett!
+issues.label.filter_sort.alphabetically=Betűrendben
+issues.label.filter_sort.reverse_alphabetically=Fordított betűrendben
+issues.label.filter_sort.by_size=Méret szerint
+issues.label.filter_sort.reverse_by_size=Méret szerint fordítottan
+issues.num_participants=%d Résztvevő
+issues.attachment.open_tab=`A(z) "%s" megnyitása új fülön`
+issues.attachment.download=`Kattintson a(z) "%s" letöltéséhez`
+issues.subscribe=Feliratkozás
+issues.unsubscribe=Leiratkozás
+
+pulls.desc=Kód felülvizsgálata és egyesítése
+pulls.new=Egyesítési kérés
+pulls.compare_changes=Változások összehasonlítása
+pulls.compare_changes_desc=Két ág összehasonlítása és egyesítési kérés készítése a változtatásokkal.
+pulls.compare_base=alap
+pulls.compare_compare=összehasonlítás
+pulls.filter_branch=Ágra szűrés
+pulls.no_results=Nincs találat.
+pulls.nothing_to_compare=Nincs mit összehasonlítani, mert az alap és a jelenlegi ág megegyezik.
+pulls.has_pull_request=`Már létezik egyesítési kérés a két ág között: %[2]s#%[3]d `
+pulls.create=Egyesítési kérés létrehozása
+pulls.title_desc=egyesíteni szeretné %[1]d változás(oka)t a(z) %[2]s-ból %[3]s-ba
+pulls.merged_title_desc=egyesítve %[1]d változás(ok) a %[2]s-ból %[3]s-ba %[4]s
+pulls.tab_conversation=Beszélgetés
+pulls.tab_commits=Commit-ok
+pulls.tab_files=Módosított fájlok
+pulls.reopen_to_merge=Kérjük, nyissa újra az egyesítési kérést.
+pulls.merged=Egyesítve
+pulls.has_merged=Az egyesítési kérés sikeresen végrehajtva.
+pulls.data_broken=Az egyesítési kérés adatai sérültek mivel a helyi másolat infomáció törölve lett.
+pulls.is_checking=Az ütközési ellenőrzés még folyamatban van, kérjük frissítse az oldalt pár másodperc múlva.
+pulls.can_auto_merge_desc=Ez az egyesítési kérés automatikusan végrehajtható.
+pulls.cannot_auto_merge_desc=Ez az egyesítési kérés ütközések miatt nem hajtható végre automatikusan.
+pulls.cannot_auto_merge_helper=Kérjük, egyesítse kézileg az ütközések megoldásához.
+pulls.merge_pull_request=Egyesítési kérés végrehajtása
+pulls.open_unmerged_pull_exists=`Nem tudja újranyitni, mert már van egy nyitott egyesítési kérés (#%d) ugyanebben a tárolóban, ugyanezekket az egyesítési információkkal, és végrehajtásra vár.`
+
+milestones.new=Új mérföldkő
+milestones.open_tab=%d Nyitott
+milestones.close_tab=%d Zárt
+milestones.closed=Lezárva: %s
+milestones.no_due_date=Nincs határidő
+milestones.open=Megnyitás
+milestones.close=Lezárás
+milestones.new_subheader=Hozzon létre mérföldköveket a hibajegyek rendszerezéséhez.
+milestones.create=Mérföldkő létrehozása
+milestones.title=Cím
+milestones.desc=Leírás
+milestones.due_date=Határidő (nem kötelező)
+milestones.clear=Kiürít
+milestones.invalid_due_date_format=Érvénytelen határidő formátum, az elvárt: 'éééé-hh-nn'.
+milestones.create_success=A mérföldkő ('%s') létrehozása sikeresen megtörtént!
+milestones.edit=Mérföldkő szerkesztése
+milestones.edit_subheader=Használjon érthető leírást a mérföldkövekhez, hogy ne zavarjon össze senkit.
+milestones.cancel=Mégsem
+milestones.modify=Mérföldkő módosítása
+milestones.edit_success=A mérföldkő ('%s') módosításai sikeresen elmentésre kerültek!
+milestones.deletion=Mérföldkő törlése
+milestones.deletion_desc=A mérföldkő törlése eltávolítja az összes hozzárendelt hibajegyet. Biztosan folytatja?
+milestones.deletion_success=A mérföldkő törlése sikeresen megtörtént!
+milestones.filter_sort.closest_due_date=Legközelebbi határidő
+milestones.filter_sort.furthest_due_date=Legtávolabbi határidő
+milestones.filter_sort.least_complete=Legkevésbé befejezve
+milestones.filter_sort.most_complete=Leginkább befejezve
+milestones.filter_sort.most_issues=Legtöbb hibajegy
+milestones.filter_sort.least_issues=Legkevesebb hibajegy
+
+ext_wiki=Külső Wiki
+ext_wiki.desc=A külső Wiki egy másik rendszerre hivatkozik
+
+wiki=Wiki
+wiki.welcome=Üdvözöljük a projekt Wikijében
+wiki.welcome_desc=A Wiki lehetővé teszi, hogy Ön vagy az együttműködők könnyen dokumentálhassák a projektet.
+wiki.desc=A Wiki egy hely a projektdokumentáció tárolására
+wiki.create_first_page=Első oldal létrehozása
+wiki.page=Oldal
+wiki.filter_page=Oldal szűrése
+wiki.new_page=Új oldal létrehozása
+wiki.default_commit_message=Megjegyzés írása az oldalról (nem kötelező).
+wiki.save_page=Oldal mentése
+wiki.last_commit_info=%s módosította ezt az oldalt ekkor: %s
+wiki.edit_page_button=Szerkesztés
+wiki.new_page_button=Új oldal
+wiki.delete_page_button=Oldal törlése
+wiki.delete_page_notice_1=A(z) "%s" oldal törlésre kerül. Győződjön meg róla, hogy biztosan törölni szeretné-e.
+wiki.page_already_exists=Már létezik azonos nevű Wiki oldal.
+wiki.pages=Oldalak
+wiki.last_updated=Utoljára módosítva: %s
+
+settings=Beállítások
+settings.desc=A beállítások menüpontban állítható a tároló paraméterei
+settings.options=Beállítások
+settings.collaboration=Együttműködés
+settings.collaboration.admin=Rendszergazda
+settings.collaboration.write=Írás
+settings.collaboration.read=Olvasás
+settings.collaboration.undefined=Nincs definiálva
+settings.hooks=Webhook-ok
+settings.githooks=Git Hook-ok
+settings.basic_settings=Alap beállítások
+settings.mirror_settings=Tükrözési beállítások
+settings.sync_mirror=Szinkronizálás most
+settings.mirror_sync_in_progress=Tükör szinkronizálás elindítva. Kérjük néhány perc múlva frissítse az oldalt.
+settings.site=Hivatalos honlap
+settings.update_settings=Beállítások frissítése
+settings.advanced_settings=Haladó beállítások
+settings.wiki_desc=Engedélyezi a Wiki rendszert
+settings.use_internal_wiki=Beépített Wiki használata
+settings.use_external_wiki=Külső Wiki használata
+settings.external_wiki_url=Külső Wiki URL
+settings.external_wiki_url_error=A külső Wiki URL-cím érvénytelen
+settings.external_wiki_url_desc=A látogatók átirányításra kerülnek a beállított URL-re amikor a fülre kattintanak.
+settings.issues_desc=Hibajegykezelő engedélyezése
+settings.use_internal_issue_tracker=Beépített hibajegy kezelő használata
+settings.use_external_issue_tracker=Külső hibajegy kezelő használata
+settings.external_tracker_url=Külső hibajegy kezelő URL
+settings.external_tracker_url_error=A külső hibajegykezelő URL érvénytelen
+settings.external_tracker_url_desc=A látogatók átirányításra kerülnek a beállított URL-re amikor a fülre kattintanak.
+settings.tracker_url_format=Külső hibajegykezelő URL formátuma
+settings.tracker_issue_style=Külső hibajegy kezelő elnevezési konvenciója:
+settings.tracker_issue_style.numeric=Numerikus
+settings.tracker_issue_style.alphanumeric=Alfanumerikus
+settings.tracker_url_format_desc=Használhat behelyettesítéseket: {user} {repo} {index} a felhasználónévhez, tárolónévhez és hibajegy azonosítóhoz.
+settings.pulls_desc=Nyilvános hozzájárulások engedélyezése egyesítési kérések esetén
+settings.danger_zone=Veszélyes terület
+settings.new_owner_has_same_repo=Az új tulajdonos már rendelkezik ilyen nevű tárolóval. Kérjük válasszon egy másik nevet.
+settings.convert=Hagyományos tárolóvá alakítás
+settings.convert_desc=Átalakíthatja ezt a tükörtárolót hagyományos tárolóvá. A művelet nem visszavonható.
+settings.convert_notices_1=- Ez a művelet át fogja konvertálni ezt a tükör-tárolót egy rendes tárolóvá, és nem lehet visszavonni.
+settings.convert_confirm=Átalakítás Megerősítése
+settings.convert_succeed=A tárolót egy rendes tárolóvá kell konvertálni.
+settings.transfer=Tulajdonjog átadása
+settings.transfer_desc=A tároló tulajdonának átruházása egy másik felhasználóra, vagy egy szervezetre ahol rendszergazdai jogai van.
+settings.transfer_notices_1=- El fogja veszteni a hozzáférését, ha az új tulajdonos egy egyéni felhasználó.
+settings.transfer_notices_2=- Megmarad a hozzáférése, ha az új tulajdonos egy szervezet és te az egyik tulajdonosa vagy.
+settings.transfer_form_title=Kérlek, add meg a követező információt a művelet megerősítéséhez:
+settings.wiki_delete=Wiki adatok törlése
+settings.wiki_delete_desc=Miután kitörli a Wiki adatokat nincs visszaút. Jól gondolja meg.
+settings.wiki_delete_notices_1=- Ez le fogja törölni, és kikapcsolni a Wiki a következőnek: %s
+settings.wiki_deletion_success=A tároló Wikijében lévő összes adat törölve.
+settings.delete=A tároló törlése
+settings.delete_desc=Ha egyszer letöröl egy tárolót, azt nem lehet visszavonni. Bizonyosodjon meg benne, hogy ezt szeretné.
+settings.delete_notices_1=- Ezt a műveletet NEM lehet visszavonni.
+settings.delete_notices_2=- Ez a művelet véglegesen törölni fog mindent ami a tárolóhoz tartozik, például kódot, hibajegyeket, hozzászólásokat, Wiki oldalakat és a közreműködők jogait.
+settings.delete_notices_fork_1=- Minden tároló másolat önállóvá válik a törlés után.
+settings.deletion_success=A tároló törölve lett.
+settings.update_settings_success=A tároló beállításai firssítve lettek.
+settings.transfer_owner=Új tulajdonos
+settings.make_transfer=Átadás végrehajtása
+settings.transfer_succeed=A tároló tulajdonának átadása megtörtént.
+settings.confirm_delete=Törlés megerősítése
+settings.add_collaborator=Új együttműködő
+settings.add_collaborator_success=Az együttműködő hozzáadva.
+settings.delete_collaborator=Törlés
+settings.collaborator_deletion=Együttműködő törlése
+settings.collaborator_deletion_desc=Ennek a felhasználónak nem lesz joga közreműködni a tárolóban a törlés után. Biztos, hogy folytatni szeretné?
+settings.remove_collaborator_success=Az együttműködő eltávolítva.
+settings.search_user_placeholder=Felhasználók keresése...
+settings.org_not_allowed_to_be_collaborator=Szervezet hozzáadása együttműködőként nem engedélyezett.
+settings.user_is_org_member=A felhasználó olyan szervezeti tag, aki nem adható hozzá együttműködőként.
+settings.add_webhook=Webhook hozzáadása
+settings.hooks_desc=A Webhook-ok olyanok, mint az alapvető HTTP POST esemény triggerek. Amikor valami történik a Giteában, akkor küldünk róla értesítést a címre amit beállít. Többet olvashat erről a Webhooks Guide-ban .
+settings.webhook_deletion=Webhook törlése
+settings.webhook_deletion_desc=Ennek a WebHook-nak a törlése eltávolít róla minden információt, és a korábbi kézbesítéseknek a naplóját is. Biztos, hogy folytatni szeretné?
+settings.webhook_deletion_success=A Webhook sikeresen törölve lett!
+settings.webhook.test_delivery=Küldés Kipróbálása
+settings.webhook.test_delivery_desc=Egy hamis push esemény küldése, hogy a webhook beállításaidat kipróbálhassa
+settings.webhook.test_delivery_success=A teszt webhook hozzá lett adva a küldési listához. Eltelhet néhány másodperc mire meg fog jelenni a küldési listában.
+settings.webhook.request=Kérés
+settings.webhook.response=Válasz
+settings.webhook.headers=Fejlécek
+settings.webhook.payload=Tartalom
+settings.webhook.body=Törzs
+settings.githooks_desc=A Git Hook-okat maga a Git működteti, szerkesztheted a támogatott hook-ok fájljait a következő listában hogy egyéni műveleteket is végezzenek.
+settings.githook_edit_desc=Ha a hook nincs aktiválva, akkor egy sablon lesz mutatva. Ha a tartalmát üresre hagyod, akkor ez a hook ki lesz kapcsolva.
+settings.githook_name=Hook megnevezés
+settings.githook_content=Hook tartalom
+settings.update_githook=Hook frissítése
+settings.add_webhook_desc=A Gitea küldeni fog egy POST kérést az URL-re amit megad, azzal az eseménnyel együtt ami történt. Azt is megadható, hogy milyen formátumban tegye ezt (JSON, x-www-form-urlencoded, XML, stb). További információt a Webhooks Guide-ban találhat róla.
+settings.payload_url=Tartalom URL-címe
+settings.content_type=Tartalomtípus
+settings.secret=Titok
+settings.slack_username=Felhasználónév
+settings.slack_icon_url=Ikon URL
+settings.slack_color=Szín
+settings.event_desc=Mikor aktiválódjon ez a webhook?
+settings.event_push_only=Csak a push eseményre.
+settings.event_send_everything=Mindenre szükségem van.
+settings.event_choose=Én szeretném kiválasztani amire szükségem van.
+settings.event_create=Létrehozás
+settings.event_create_desc=Ág vagy címke létrehozva
+settings.event_pull_request=Egyesítési Kérés
+settings.event_pull_request_desc=Egyesítési kérés megnyitva, lecsukva, újranyitva, szerkesztve, hozzárendelve, senkihez sem rendelve, címke frissítve, címke törölve vagy szinkronizálva.
+settings.event_push=Feltöltés
+settings.event_push_desc=Push-olás egy tárolóba
+settings.active=Aktív
+settings.active_helper=Az információ az eseményről, amely miatt lefutott is el lesz küldve.
+settings.add_hook_success=Új Webhook hozzáadva.
+settings.update_webhook=Webhook frissítése
+settings.update_hook_success=A Webhook frissítve.
+settings.delete_webhook=Webhook törlése
+settings.recent_deliveries=Legutóbbi Küldések
+settings.hook_type=Hook típusa
+settings.add_slack_hook_desc=Slack integráció hozzáadása a tárolójához.
+settings.slack_token=Token
+settings.slack_domain=Tartomány
+settings.slack_channel=Csatorna
+settings.deploy_keys=Telepítési kulcsok
+settings.add_deploy_key=Telepítési kulcs hozzáadása
+settings.deploy_key_desc=A Deploy kulcsoknak csak olvasási joga van. Nem ugyan azok mint a személyes SSH kulcsok.
+settings.no_deploy_keys=Még nem adott hozzá egyetlen Deploy kulcsot sem.
+settings.title=Cím
+settings.deploy_key_content=Tartalom
+settings.key_been_used=Deploy kulcs tartalma már fel lett használva.
+settings.key_name_used=Ezzel a névvel már létezik Deploy kulcs.
+settings.add_key_success=Az új Deploy kulcs '%s' sikeresen hozzáadva!
+settings.deploy_key_deletion=Telepítési kulcs törlése
+settings.deploy_key_deletion_desc=Ha ezt a Deploy kulcsot eltávolítja, akkor onnantól nem lehet hozzáférni a tárolóhoz vele. Biztos, hogy folytatni szeretné?
+settings.deploy_key_deletion_success=Telepítési kulcs sikeresen hozzáadva!
+settings.branches=Ágak
+settings.protected_branch=Ág védeleme
+settings.protected_branch_can_push=Push engedélyezése?
+settings.protected_branch_can_push_yes=Most már push-olhatja
+settings.protected_branch_can_push_no=Nem push-olhatja
+settings.add_protected_branch=Védelem engedélyezése
+settings.delete_protected_branch=Védelem letiltása
+settings.add_protected_branch_success=%s sikeresen lezárva
+settings.add_protected_branch_failed=%s-t nem sikerült lezárni
+settings.remove_protected_branch_success=%s-t sikeresen feloldva
+settings.protected_branch_deletion=Védett ág törlése
+settings.protected_branch_deletion_desc=Bárki írási joggal tud majd push-olni közvetlenül erre az ágra. Biztos vagy benne?
+settings.default_branch_desc=Az alapértelmezett ág az "alap", ahova automatikusan az összes commit készül, és az egyesítési kérések is ezt veszik az összehasonlítás alapjául, ha nem állítasz be egy másik ágat.
+settings.choose_branch=Válasszon egy ágat...
+settings.no_protected_branch=Nincsenek védett ágak
+
+diff.browse_source=Forráskód böngészése
+diff.parent=szülő
+diff.commit=commit
+diff.data_not_available=A különbségek nem megjeleníthetőek
+diff.show_diff_stats=Különbségstatisztika
+diff.show_split_view=Osztott nézet
+diff.show_unified_view=Egyesített nézet
+diff.stats_desc=%d fájl változott, egészen pontosan %d új sor hozzáadva és %d régi sor törölve
+diff.bin=BINáris
+diff.view_file=Fájl megtekintése
+diff.file_suppressed=A különbségek nem kerülnek megjelenítésre, mivel a fájl túl nagy
+diff.too_many_files=Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott
+
+releases.desc=A Kiadások az a hely, ahol a projekt verzióit kezelheti
+release.releases=Kiadások
+release.new_release=Új kiadás
+release.draft=Piszkozat
+release.prerelease=Elő-kiadás
+release.stable=Stabil
+release.edit=szerkesztés
+release.ahead=%d commit a(z) %s ágon a legutóbbi kiadás óta
+release.source_code=Forráskód
+release.new_subheader=Tegyen közzé kiadásokat, hogy nyomon követhesse a verziókat.
+release.edit_subheader=Egy részletes változásnapló segít a felhasználóknak megérteni mi változott.
+release.tag_name=Címke neve
+release.target=Cél
+release.tag_helper=Válasszon egy meglévő címkét, vagy hozzon létre egy új címkét a kiadáshoz.
+release.title=Cím
+release.content=Tartalom
+release.write=Írás
+release.preview=Előnézet
+release.loading=Betöltés...
+release.prerelease_desc=Ez egy előzetes kiadás
+release.prerelease_helper=Tájékoztatjuk, hogy a kiadás nem kész éles rendszerben használatra.
+release.cancel=Mégsem
+release.publish=Kiadás közzététele
+release.save_draft=Piszkozat mentése
+release.edit_release=Kiadás szerkesztése
+release.delete_release=Kiadás törlése
+release.deletion=Kiadás törlése
+release.deletion_desc=A kiadás törlésével a kapcsolódó címke is törlésre kerül. A tárolóban adatvesztés nem fordul elő. Szeretné folytatni?
+release.deletion_success=A kiadás törölve.
+release.tag_name_already_exist=Kiadás ilyen címkével már létezik.
+release.tag_name_invalid=Érvénytelen címkenév.
+release.downloads=Letöltések
+
+branch.delete=%s ág törlése
+branch.delete_desc=Egy ág törlése végleges. Visszavonásra nincs lehetőség.
+branch.delete_notices_1=- Ez a művelet NEM visszavonható.
+branch.delete_notices_2=- A művelet véglegesen töröl mindent a(z) %s ágban.
+branch.deletion_success=%s törölve lett.
+branch.deletion_failed=Nem sikerült törölni a(z) %s ágat.
+branch.delete_branch_has_new_commits=%s ág nem törölhető, mert tartalmaz olyan új változásokat melyek nem lettek még egyesítve.
+
+[org]
+org_name_holder=Szervezet neve
+org_full_name_holder=Szervezet teljes neve
+org_name_helper=A jó szervezetnevek rövidek és könnyen megjegyezhetőek.
+create_org=Szervezet létrehozása
+repo_updated=Frissítve
+people=Emberek
+invite_someone=Hívj meg valakit
+teams=Csoportok
+lower_members=tagok
+lower_repositories=tárolók
+create_new_team=Új csoport létrehozása
+org_desc=Leírás
+team_name=Csoport neve
+team_desc=Leírás
+team_name_helper=Ezt a nevet használhatja a csoport megemlítésére.
+team_desc_helper=Mire van ez a csoport?
+team_permission_desc=Milyen jogosultságai legyenek ennek a csoportnak?
+team_unit_desc=Mihez legyen ennek a csoportnak hozzáférése?
+
+form.name_reserved=Ez a szervezetnév ('%s') le van foglalva.
+form.name_pattern_not_allowed=A szervezetnév ('%s') nem engedélyezett.
+form.create_org_not_allowed=Ez a fiók nem rendelkezik jogosultsággal szervezet létrehozásához.
+
+settings=Beállítások
+settings.options=Opciók
+settings.full_name=Teljes név
+settings.website=Webhely
+settings.location=Tartózkodási hely
+settings.update_settings=Beállítások frissítése
+settings.update_setting_success=A szervezet beállításai frissültek.
+settings.change_orgname_prompt=Ez a változtatás meg fogja változtatni a szervezet hivatkozásait is.
+settings.update_avatar_success=A szervezet profilképe firssítve.
+settings.delete=Szervezet törlése
+settings.delete_account=A szervezet törlése
+settings.delete_prompt=A szervezet véglegesen eltávolításra kerül, ezt a műveletet NEM lehet visszavonni!
+settings.confirm_delete_account=Törlés megerősítése
+settings.delete_org_title=Szervezet törlése
+settings.delete_org_desc=Ez a szervezet véglegesen törlésre kerül, biztosan folytatja?
+settings.hooks_desc=Webhook hozzáadása a szervezet összes tárolójához .
+
+members.membership_visibility=Tagság láthatósága:
+members.public=Nyilvános
+members.public_helper=priváttá tétel
+members.private=Privát
+members.private_helper=nyilvánossá tétel
+members.member_role=Tag szerepkör:
+members.owner=Tulajdonos
+members.member=Tag
+members.remove=Eltávolítás
+members.leave=Távozás
+members.invite_desc=Tag hozzáadása a(z) %s szervezethez:
+members.invite_now=Meghívás most
+
+teams.join=Csatlakozás
+teams.leave=Távozás
+teams.read_access=Olvasási jogosultság
+teams.read_access_helper=Ez a csapat képes lesz megtekinteni és klónozni a tárolóit.
+teams.write_access=Írási jogosultság
+teams.write_access_helper=Ez a csapat képes lesz olvasni a tárolóit, és feltölteni beléjük.
+teams.admin_access=Rendszergazdai jogosultság
+teams.admin_access_helper=Ez a csapat képes lesz másolni, feltölteni a tárolóiba és további együttműködőket hozzájuk adni.
+teams.no_desc=Ennek a csoportnak nincs leírása
+teams.settings=Beállítások
+teams.owners_permission_desc=A tulajdonosok a szervezet összes tárolójához rendszergazdai hozzáféréssel rendelkeznek.
+teams.members=Csoporttagok
+teams.update_settings=Beállítások frissítése
+teams.delete_team=A csoport törlése
+teams.add_team_member=Csapattag hozzáadása
+teams.delete_team_title=Csoport törlése
+teams.delete_team_desc=A csoport törlése során a csoporttagok elveszthetik hozzáféréseiket bizonyos tárolóikhoz. Biztosan folytatja?
+teams.delete_team_success=A csoport törölve lett.
+teams.read_permission_desc=Ez a csoport Olvasási jogosultságot ad: a tagok olvasni és klónozni tudják a csoport tárolóit.
+teams.write_permission_desc=Ez a csoport Írási jogosultságot ad: a tagok olvasni és feltölteni is tudnak a csoport tárolóiba.
+teams.admin_permission_desc=A csoport rendszergazdai jogosultságot ad: a tagok olvasási, írási jogosultsággal rendelkeznek és együttműködőket adhatnak hozzá a csoport tárolóihoz.
+teams.repositories=Csoport tárolói
+teams.search_repo_placeholder=Tároló keresés...
+teams.add_team_repository=Új csoport tároló
+teams.remove_repo=Eltávolítás
+teams.add_nonexistent_repo=A tároló, melybe feltölteni szeretne, még nem létezik. Először hozza létre.
+
+[admin]
+dashboard=Műszerfal
+users=Felhasználók
+organizations=Szervezetek
+repositories=Tárolók
+authentication=Hitelesítések
+config=Konfiguráció
+notices=Rendszer-értesítések
+monitor=Figyelés
+first_page=Első
+last_page=Utolsó
+total=Összesen: %d
+
+dashboard.statistic=Statisztika
+dashboard.operations=Műveletek
+dashboard.system_status=Rendszerfigyelő
+dashboard.statistic_info=Az adatbázisban van %d felhasználó, %d szervezet, %d publikus kulcs, %d tároló, %d figyelő, %d csillagozás, %d művelet, %d hozzáférés, %d hibajegy, %d megjegyzés, %d közösségi fiók, %d követő, %d tükör, %d kiadás, %d hitelesítési forrás, %d webhook, %d mérföldkő, %d címke, %d hook feladat, %d csoport, %d frissítési feladat, %d csatolmány.
+dashboard.operation_name=Művelet neve
+dashboard.operation_switch=Váltás
+dashboard.operation_run=Futtatás
+dashboard.clean_unbind_oauth=Megszüntetett OAuth kapcsolatok törlése
+dashboard.clean_unbind_oauth_success=Összes megszüntetett OAuth kapcsolat törlése.
+dashboard.delete_inactivate_accounts=Minden inaktív fiók törlése
+dashboard.delete_inactivate_accounts_success=Minden inaktív fiók törölve.
+dashboard.delete_repo_archives=Összes archív tároló törlése
+dashboard.delete_repo_archives_success=Az összes archivált tároló törölve lett.
+dashboard.delete_missing_repos=Az összes tárolóban az elveszett Git fájl rekordok törlése
+dashboard.delete_missing_repos_success=Az összes tároló bejegyzés törölve, amiknek a kapcsolódó Git fájljai elvesztek.
+dashboard.git_gc_repos=Memóriaszemét-gyűjtő (GC) futtatása az összes tárolón
+dashboard.git_gc_repos_success=Minden tárolón befejezte a memóriaszemét-gyűjtő (GC) a futását.
+dashboard.resync_all_sshkeys=A '.ssh/authorized_keys' fájl újraírása (a Gitea SSH publikus kulcsaival)
+dashboard.resync_all_sshkeys_success=Minden kulcs újraírva.
+dashboard.resync_all_hooks=pre-receive, update és post-receive hook-ok újraszinkronizálása az összes tárolóban.
+dashboard.resync_all_hooks_success=Az összes tároló pre-receive, update és post-receive hook-ja szinkronizálva lett.
+dashboard.reinit_missing_repos=Az összes Git tároló újra-inicializálása amihez léteznek bejegyzések
+dashboard.reinit_missing_repos_success=Az összes Git tároló amihez létezett bejegyzés újra lett iniciaizálva.
+dashboard.sync_external_users=Külső felhasználói adatok szinkronizálása
+dashboard.sync_external_users_started=Külső felhasználó szinkronizálása elkezdődött
+dashboard.server_uptime=Kiszolgáló futási ideje
+dashboard.current_goroutine=Jelenlegi Goroutinok
+dashboard.current_memory_usage=Jelenlegi memória használat
+dashboard.total_memory_allocated=Összes lefoglalt memória
+dashboard.memory_obtained=Megszerzett Memória
+dashboard.pointer_lookup_times=Pointer Lookup Idők
+dashboard.memory_allocate_times=Memória Foglalási Idők
+dashboard.memory_free_times=Memória Felszabadítási Idők
+dashboard.current_heap_usage=Aktuális Heap Használat
+dashboard.heap_memory_obtained=Heap Memória Megszerezve
+dashboard.heap_memory_idle=Tétlen Heap Memória
+dashboard.heap_memory_in_use=Használatban lévő Heap Memória
+dashboard.heap_memory_released=Elengedett Heap Memória
+dashboard.heap_objects=Heap Objektumok
+dashboard.bootstrap_stack_usage=Bootstrap Stack Használat
+dashboard.stack_memory_obtained=Stack Memória Megszerezve
+dashboard.mspan_structures_usage=MSpan Struktúrák Használata
+dashboard.mspan_structures_obtained=MSpan Struktúrák Megszerezve
+dashboard.mcache_structures_usage=MCache Struktúrák Használata
+dashboard.mcache_structures_obtained=MCache Struktúrák Megszerezve
+dashboard.profiling_bucket_hash_table_obtained=Profilozó Vödrös Hash Tábla Megszerezve
+dashboard.gc_metadata_obtained=GC Metaadat Megszerezve
+dashboard.other_system_allocation_obtained=Másik Rendszer Allokáció Megszerezve
+dashboard.next_gc_recycle=Következő GC Ciklus
+dashboard.last_gc_time=Utolsó GC óta eltelt idő
+dashboard.total_gc_time=Teljes GC szünet
+dashboard.total_gc_pause=Teljes GC szünet
+dashboard.last_gc_pause=Utolsó GC szünet
+dashboard.gc_times=GC Idők
+
+users.user_manage_panel=Felhasználó Menedzsment Fül
+users.new_account=Új fiók létrehozása
+users.name=Név
+users.activated=Aktivált
+users.admin=Rendszergazda
+users.repos=Tárolók
+users.created=Létrehozva
+users.last_login=Utolsó bejelentkezés
+users.never_login=Soha nem jelentkezett be
+users.send_register_notify=Regisztrációról értesítés küldése a felhasználónak
+users.new_success=A(z) '%s' felhasználó sikeresen létrehozva.
+users.edit=Szerkesztés
+users.auth_source=Hitelesítési forrás
+users.local=Helyi
+users.auth_login_name=Hitelesítési bejelentkezési név
+users.password_helper=Hagy üresen, hogy változatlan maradjon.
+users.update_profile_success=A felhasználói profil sikeresen módosítva.
+users.edit_account=Fiók szerkesztése
+users.max_repo_creation=Maximálisan létrehozható tárolók számának korlátozása
+users.max_repo_creation_desc=(Állítsd -1-re, hogy az alapértelmezett korlátot használja)
+users.is_activated=Ez a fiók elvégezte az aktivációt
+users.prohibit_login=A bejelentkezés ehhez a fiókhoz le van tiltva
+users.is_admin=Ez a fiók rendszergazdai jogokkal rendelkezik
+users.allow_git_hook=Ez a fiók létrehozhat Git Hook-okat
+users.allow_import_local=Ez a fiók importálhat helyi tárolókat
+users.allow_create_organization=Ez a fiók létrehozhat szervezeteket
+users.update_profile=Fiók profiljának frissítése
+users.delete_account=A fiók törlése
+users.still_own_repo=Ennek a felhasználónak legalább egy tárolója van még, le kell törölnie, vagy valakinek átadnia.
+users.still_has_org=Ez a felhasználó még mindig tagja legalább egy szervezetnek, távoznia kell onnan, vagy a szervezetet előbb törölni kell.
+users.deletion_success=Fiók sikeresen törölve.
+
+orgs.org_manage_panel=Szervezetek kezelése
+orgs.name=Név
+orgs.teams=Csoportok
+orgs.members=Tagok
+orgs.new_orga=Szervezet létrehozása
+
+repos.repo_manage_panel=Tárolók kezelése
+repos.owner=Tulajdonos
+repos.name=Név
+repos.private=Privát
+repos.watches=Figyelők
+repos.stars=Csillagok
+repos.issues=Hibajegyek
+repos.size=Méret
+
+auths.auth_manage_panel=Hitelesítések kezelése
+auths.new=Új forrás hozzáadása
+auths.name=Név
+auths.type=Típus
+auths.enabled=Engedélyezve
+auths.syncenabled=Felhasználó-szinkronizálás engedélyezése
+auths.updated=Frissítve
+auths.auth_type=Hitelesítés típusa
+auths.auth_name=Hitelesítési név
+auths.security_protocol=Biztonsági protokoll
+auths.domain=Tartomány
+auths.host=Kiszolgáló
+auths.port=Port
+auths.bind_dn=Bind DN
+auths.bind_password=Bind jelszó
+auths.bind_password_helper=Figyelmeztetés: Ez a jelszó egyszerű szöveges formátumban kerül metésre. Ne használjon egy magas szintű jogosultsággal rendelkező fiókot.
+auths.user_base=Felhasználókeresés alapja
+auths.user_dn=Felhasználó DN
+auths.attribute_username=Felhasználónév attribútum
+auths.attribute_username_placeholder=Hagyja üresen, hogy a bejelentkező űrlap felhasználónév mezőjét használja.
+auths.attribute_name=Vezetéknév attribútum
+auths.attribute_surname=Keresztnév attribútum
+auths.attribute_mail=E-mail attribútum
+auths.attributes_in_bind= Attribútumok lekérdezése a DN környezetben
+auths.filter=Felhasználói szűrő
+auths.admin_filter=Rendszergazdai szűrő
+auths.ms_ad_sa=Microsoft Active Directory SA
+auths.smtp_auth=SMTP Autentikáció Típusa
+auths.smtphost=SMTP kiszolgáló
+auths.smtpport=SMTP port
+auths.allowed_domains=Engedélyezett tartományok
+auths.allowed_domains_helper=Hagyja üresen, hogy ne legyen egyetlen tartomány sem korlátozva. Ha több tartományt szeretne felvenni, akkor vesszővel válassza el őket ','.
+auths.enable_tls=TLS titkosítás engedélyezése
+auths.skip_tls_verify=TLS ellenőrzés kihagyása
+auths.pam_service_name=PAM szolgáltatás neve
+auths.oauth2_provider=OAuth2 szolgáltató
+auths.oauth2_clientID=Ügyfél-azonosító (kulcs)
+auths.oauth2_clientSecret=Ügyfél titka
+auths.openIdConnectAutoDiscoveryURL=OpenID Connect Automatikus Felfedezés URL-je
+auths.oauth2_use_custom_url=Testre szabott URL-ek használata az alapértelmezettek helyett
+auths.oauth2_tokenURL=Token URL
+auths.oauth2_authURL=URL Engedélyezése
+auths.oauth2_profileURL=Profil URL
+auths.oauth2_emailURL=E-mail URL
+auths.enable_auto_register=Automatikus regisztráció engedélyezése
+auths.tips=Tippek
+auths.tips.oauth2.general=OAuth2 hitelesítés
+auths.tips.oauth2.general.tip=Amikor egy új OAuth2 hitelesítési módot hoz létre, a visszahívási/átirányítási URL-nek így kell kinéznie: /user/oauth2//callback
+auths.tip.oauth2_provider=OAuth2 szolgáltató
+auths.tip.bitbucket=Igényeljen egy új OAuth jogosultságot itt: https://bitbucket.org/account/user//oauth-consumers/new és adja hozzá jogosultságot a "Fiókok"-"Olvasás" alá.
+auths.tip.dropbox=Vegyen fel új alkalmazást itt: https://www.dropbox.com/developers/apps
+auths.tip.facebook=Vegyen fel új alkalmazást itt: https://developers.facebook.com/apps majd adja hozzá a "Facebook Login"-t.
+auths.tip.github=Vegyen fel új OAuth alkalmazást itt: https://github.com/settings/applications/new
+auths.tip.gitlab=Vegyen fel új alkalmazást itt: https://gitlab.com/profile/applications
+auths.tip.google_plus=Szerezzen OAuth2 kliens hitelesítési adatokat a Google API konzolban (https://console.developers.google.com/)
+auths.tip.openid_connect=Használja az OpenID kapcsolódás felfedező URL-t (/.well-known/openid-configuration) a végpontok beállításához
+auths.tip.twitter=Menyjen ide: https://dev.twitter.com/apps , hozzon létre egy alkalmazást és győződjön meg róla, hogy az “Allow this application to be used to Sign in with Twitter” opció be van kapcsolva.
+auths.edit=Hitelesítési beállítások szerkesztése
+auths.activated=Ez a hitelesítés mód aktiválva van
+auths.new_success=A hitelesítési mód ('%s') hozzá lett adva.
+auths.update_success=A hitelesítési mód beállításai frissítve lettek.
+auths.update=Hitelesítési forrás frissítése
+auths.delete=A hitelesítési forrás törlése
+auths.delete_auth_title=Hitelesítési forrás törlése
+auths.delete_auth_desc=A hitelesítési forrás törlésre kerül, biztosan folytatni szeretné?
+auths.still_in_used=A hitelesítési mód még használatban van, mielőtt törölné válasszon más hitelesítési módot az érintett fiókokhoz, vagy törölje őket.
+auths.deletion_success=Hitelesítési forrás sikeresen törölve!
+auths.login_source_exist=Bejelentkezési forrás "%s" már létezik.
+
+config.server_config=Szerver konfiguráció
+config.app_name=Alkalmazás neve
+config.app_ver=Alkalmazás verziója
+config.app_url=Alkalmazás URL-je
+config.custom_conf=Konfigurációs fájl elérési útja
+config.domain=Tartomány
+config.offline_mode=Kapcsolat nélküli mód
+config.disable_router_log=Útválasztás naplózásának letiltása
+config.run_user=Futtató felhasználó
+config.run_mode=Futtatás módja
+config.git_version=Git verzió
+config.repo_root_path=Tárolók gyökérkönyvtára
+config.lfs_root_path=LFS gyökérkönyvtár
+config.static_file_root_path=Statikus fájlok gyökérútvonala
+config.log_file_root_path=Naplófájl gyökérútvonal
+config.script_type=Szkript típus
+config.reverse_auth_user=Visszafelé hitelesítés felhasználója
+
+config.ssh_config=SSH konfiguráció
+config.ssh_enabled=Engedélyezett
+config.ssh_start_builtin_server=Beépített kiszolgáló indítása
+config.ssh_domain=Tartomány
+config.ssh_port=Port
+config.ssh_listen_port=Figyelő port
+config.ssh_root_path=Gyökérkönyvtár
+config.ssh_key_test_path=Kulcs ellenőrzés útvonala
+config.ssh_keygen_path=Kulcsgeneráló ('ssh-keygen') elérési útja
+config.ssh_minimum_key_size_check=Kulcsok Minimum Méretének Ellenőrzése
+config.ssh_minimum_key_sizes=Kulcsok Minimális Mérete
+
+config.db_config=Adatbázis konfiguráció
+config.db_type=Típus
+config.db_host=Kiszolgáló
+config.db_name=Név
+config.db_user=Felhasználó
+config.db_ssl_mode=SSL titkosítás
+config.db_ssl_mode_helper=(csak "postgres"-nek)
+config.db_path=Útvonal
+config.db_path_helper=("sqlite3" és "tidb"-nek)
+
+config.service_config=Szolgáltatás konfiguráció
+config.register_email_confirm=E-mail Megerősítés Szükséges
+config.disable_register=Regisztráció Letiltása
+config.enable_openid_signup=Regisztráció engedélyezése OpenID-n keresztül
+config.enable_openid_signin=OpenID bejelentkezés engedélyezése
+config.show_registration_button=Regisztrációs Gomb Megjelenítése
+config.require_sign_in_view=Bejelentkező Nézet
+config.mail_notify=E-mailes értesítések
+config.disable_key_size_check=Minimális kulcsméret ellenőrzés letiltása
+config.enable_captcha=Captcha Engedélyezése
+config.active_code_lives=Aktív kód életek
+config.reset_password_code_lives=Jelszó visszaállításnál használt kód elévülési ideje
+config.default_keep_email_private=Email cím ne látszódjon" alapértelmezett értéke
+config.default_allow_create_organization=Szervezet létrehozása jogosultság alapértelmezett értéke
+config.no_reply_address=No-reply cím
+
+config.webhook_config=Webhook Beállítása
+config.queue_length=Várakozási Sor Hossza
+config.deliver_timeout=Küldés Időtúllépés
+config.skip_tls_verify=A TLS hitelesítés kihagyása
+
+config.mailer_config=Levelező beállítások
+config.mailer_enabled=Engedélyezett
+config.mailer_disable_helo=HELO letiltása
+config.mailer_name=Név
+config.mailer_host=Kiszolgáló
+config.mailer_user=Felhasználó
+config.send_test_mail=Teszt E-mail küldése
+config.test_mail_failed=Nem sikerült kiküldeni a teszt e-mailt '%s'-nek: %v
+config.test_mail_sent=Teszt e-mail kiküldve '%s'-nek.
+
+config.oauth_config=OAuth-konfiguráció
+config.oauth_enabled=Engedélyezett
+
+config.cache_config=Gyorsítótár Beállítása
+config.cache_adapter=Gyorsítótár Adapter
+config.cache_interval=Gyorsítótár Intervallum
+config.cache_conn=Gyorsítótár Kapcsolat
+
+config.session_config=Munkamenet Beállítás
+config.session_provider=Munkamenet Szolgáltató
+config.provider_config=Szolgáltató Beállítás
+config.cookie_name=Süti Név
+config.enable_set_cookie=Süti használatának engedélyezése
+config.gc_interval_time=GC Intervallum Idő
+config.session_life_time=Munkamenet Élettartama
+config.https_only=csak HTTPS
+config.cookie_life_time=Süti Élettartam
+
+config.picture_config=Kép Beállítás
+config.picture_service=Kép Szolgáltatás
+config.disable_gravatar=Gravatar Kikapcsolása
+config.enable_federated_avatar=Összevont profilkép lekérés engedélyezése
+
+config.git_config=Git Beállítás
+config.git_disable_diff_highlight=Diff-nél Szintakszis kiemelés kikapcsolása
+config.git_max_diff_lines=Maximális Diff sorok száma (egy fájlban)
+config.git_max_diff_line_characters=Maximális Diff karakterek száma (egy sorban)
+config.git_max_diff_files=Maximálisan hány fájl látszódjon Diff-ben
+config.git_gc_args=Szemétgyűjtő Argumentumok
+config.git_migrate_timeout=Migrációs Időtúllépés
+config.git_mirror_timeout=Tükör Frissítési Időtúllépés
+config.git_clone_timeout=Klónozási művelet időtúllépés
+config.git_pull_timeout=Frissítő Időtúllépés
+config.git_gc_timeout=Szemétgyűjtő (GC) időtúllépés
+
+config.log_config=Naplózási beállítások
+config.log_mode=Naplózási szint
+
+monitor.cron=Ütemező feladatok
+monitor.name=Név
+monitor.schedule=Ütemezés
+monitor.next=Legközelebb
+monitor.previous=Legutóbb
+monitor.execute_times=Futási idők
+monitor.process=Futó folyamatok
+monitor.desc=Leírás
+monitor.start=Kezdés időpontja
+monitor.execute_time=Végrehajtási idő
+
+notices.system_notice_list=Rendszer-értesítések
+notices.view_detail_header=Értesítés részleteinek megtekintése
+notices.actions=Műveletek
+notices.select_all=Összes kijelölése
+notices.deselect_all=Összes kijelölés törlése
+notices.inverse_selection=A kijelölés megfordítása
+notices.delete_selected=Kiválasztottak törlése
+notices.delete_all=Minden értesítés törlése
+notices.type=Típus
+notices.type_1=Tároló
+notices.desc=Leírás
+notices.op=Op.
+notices.delete_success=A rendszer-értesítések törölve lettek.
+
+[action]
+create_repo=létrehozott tárolót: %s
+rename_repo=átnevezte a %[1]s tárolót %[3]s -ra
+commit_repo=feltöltött a %[3]s -ba ekkor: %[4]s
+create_issue=` hibajegyet megnyitott: %s#%[2]s `
+close_issue=`hibajegyet lezárt: %s#%[2]s `
+reopen_issue=`újranyitott egy hibajegyet: %s#%[2]s `
+create_pull_request=`létrehozott egy egyesítési kérést: %s#%[2]s `
+close_pull_request=`lezárt egy egyesítési kérést: %s#%[2]s `
+reopen_pull_request=`újranyitott egy egyesítési kérést: %s#%[2]s `
+comment_issue=`hozzászólt egy problémához: %s#%[2]s `
+merge_pull_request=`végrehajtott egy egyesítési kérést: %s#%[2]s `
+transfer_repo=áthelyezett egy tárolót innen: %s ide: %s
+push_tag=feltöltött egy címkét: %[2]s ide: %[3]s
+compare_commits=%d commit összehasonlítása
+
+[tool]
+ago=%s ezelőtt
+from_now=%s mostantól
+now=most
+future=jövőbeli
+1s=1 másodperc
+1m=1 perc
+1h=1 óra
+1d=1 nap
+1w=1 hét
+1mon=1 hónap
+1y=1 év
+seconds=%d másodperc
+minutes=%d perc
+hours=%d óra
+days=%d nap
+weeks=%d hét
+months=%d hónap
+years=%d év
+raw_seconds=másodperc
+raw_minutes=perc
+
+[dropzone]
+default_message=Húzzon ide fájlokat, vagy kattintson a feltöltéshez.
+invalid_input_type=Ilyen típusú fájlt nem tölthet fel.
+file_too_big=A fájl mérete ({{filesize}} MB) meghaladja a maximális méretet ({{maxFilesize}} MB).
+remove_file=Fájl eltávolítása
+
+[notification]
+notifications=Értesítések
+unread=Olvasatlan
+read=Olvasott
+no_unread=Nincsen olvasatlan értesítés.
+no_read=Nincsen olvasott értesítés.
+pin=PIN értesítés
+mark_as_read=Megjelölés olvasottként
+mark_as_unread=Megjelölés olvasatlanként
+
+[gpg]
+error.extract_sign=Nem sikerült kinyerni az aláírást
+error.generate_hash=Nem sikerült létrehozni a commitot azonosító hash-t
+error.no_committer_account=Nincsen fiók a commit szerzőjének e-mail címével
+error.no_gpg_keys_found=Nem található kulcs ehhez az aláíráshoz az adatbázisban
+error.not_signed_commit=Nem aláírt commit
+error.failed_retrieval_gpg_keys=Nem sikerült beolvasni kulcsot a commit szerzőjének fiókjából
+
+[units]
+error.no_unit_allowed_repo=Nem található semmi ebben a tároló egységben amihez hozzáférhet
+error.unit_not_allowed=Nincsen jogosultsága ennek a tároló egységnek a megtekintéséhez
+
diff --git a/options/locale/locale_it-IT.ini b/options/locale/locale_it-IT.ini
index afb8f6c..b7b352f 100644
--- a/options/locale/locale_it-IT.ini
+++ b/options/locale/locale_it-IT.ini
@@ -32,16 +32,15 @@ mirror=Mirror
new_repo=Nuovo Repository
new_migrate=Nuova Migrazione
new_mirror=Nuovo Mirror
-new_fork=Nuovo Fork Repository
new_org=Nuova organizzazione
manage_org=Gestisci le organizzazioni
admin_panel=Pannello di amministrazione
account_settings=Impostazioni dell'account
settings=Impostazioni
your_profile=Il tuo profilo
-your_starred=I tuoi preferiti
your_settings=Impostazioni
+
activities=Attivitá
pull_requests=Pull Request
issues=Problemi
@@ -50,29 +49,21 @@ cancel=Annulla
[install]
install=Installazione
-title=Passi d'installazione per il primo avvio
-docker_helper=Se stai utilizzando Gitea su Docker, per favore leggi le Linee guida con attenzione prima di cambiare qualcosa su questa pagina!
-requite_db_desc=Gitea necessita MySQL, PostgreSQL, SQLite3 o TiDB.
db_title=Impostazioni Database
db_type=Tipo di database
host=Host
user=Utente
password=Password
db_name=Nome del database
-db_helper=Utilizza il motore INNODB con codifica utf8_general_ci per MySQL.
ssl_mode=Modalità SSL
path=Percorso
-sqlite_helper=Il path assoluto per il database SQLite3 o TiDB. Per favore usa il path assoluto quando lo avvii come servizio.
err_empty_db_path=Il percorso file del database SQLite3 o TiDB non può essere vuoto.
err_invalid_tidb_name=Il nome del database TiDB non ammette caratteri "." e "-".
no_admin_and_disable_registration=Non puoi disabilitare la registrazione senza aver creato un amministratore.
err_empty_admin_password=La password dell'amministratore non puo' essere vuota.
-general_title=Impostazioni di Base dell'Applicazione
app_name=Nome Applicazione
-app_name_helper=Scrivi qui il nome della tua organizzazione forte e chiaro!
repo_path=Percorso Root del Repository
-repo_path_helper=Tutti i repository Git remoti saranno salvati in questa directory.
lfs_path=Percorso file LFS
lfs_path_helper=I file aggiunti con Git LFS verranno salvati in questa cartella. Lascia vuoto per disabilitare LFS.
run_user=Esegui con l'utente
@@ -80,11 +71,9 @@ run_user_helper=L'utente deve avere accesso al percorso root del repository e av
domain=Dominio
domain_helper=Questo influisce sugli URL per il clonaggio via SSH.
ssh_port=Porta SSH
-ssh_port_helper=Numero di porta utilizzato dal server SSH, lasciare vuoto per disabilitare l'integrazione SSH.
http_port=Porta HTTP
http_port_helper=Porta di ascolto dell'applicazione.
app_url=URL Applicazione
-app_url_helper=Questo influisce sugli URL per il clonaggio via HTTP/HTTPS e da qualche parte nella posta elettronica.
log_root_path=Percorso dei log
log_root_path_helper=Directory in cui scrivere i file di log.
@@ -92,14 +81,10 @@ optional_title=Impostazioni Facoltative
email_title=Impostazioni E-mail
smtp_host=Host SMTP
smtp_from=Da
-smtp_from_helper=Mail da indirizzo, RFC 5322. Può essere solo un indirizzo email o il formato "Nome" .
-mailer_user=E-mail del Mittente
mailer_password=Password del Mittente
register_confirm=Abilita Conferma di Registrazione
-mail_notify=Abilita Notifiche via Email
server_service_title=Impostazioni del Server e Altri Servizi
offline_mode=Abilita Modalità Offline
-offline_mode_popup=Disabilita il CDN anche in modalità produttiva, tutte le risorse saranno servite localmente.
disable_gravatar=Disattiva il servizio Gravatar
disable_gravatar_popup=Disabilita Gravatar e sorgenti customizzate, tutti gli avatar vengono caricati dagli utenti o come predefinito.
federated_avatar_lookup=Abilita Ricerca di Federated Avatar
@@ -110,7 +95,6 @@ enable_captcha=Abilita Captcha
enable_captcha_popup=Richiedi convalida captcha per i nuovi utenti.
require_sign_in_view=Abilita Richiesta di Accesso per Vedere le Pagine
require_sign_in_view_popup=Solo gli utenti loggati possono vedere le pagine, i visitatori potranno vedere solo le pagine di accesso e registrazione.
-admin_setting_desc="Non devi per forza creare un account admin proprio adesso, ma comunque l'utente ID=1 otterrà l'accesso da amministratore automaticamente."
admin_title=Impostazioni Account Amministratore
admin_name=Nome utente
admin_password=Password
@@ -118,20 +102,14 @@ confirm_password=Conferma Password
admin_email=E-mail dell'Admin
install_btn_confirm=Installare Gitea
test_git_failed=Fallito il test del comando git: %v
-sqlite3_not_available=Questa versione non supporta SQLite3, si prega di scaricare la versione binaria ufficiale da %s, NON la versione gobuild.
-invalid_db_setting=La configurazione del database non è corretta: %v
invalid_repo_path=Percorso root del repository invalido: %v
-run_user_not_match=Run user non è l'utente corrente: %s -> %s
-save_config_failed=Fallito il salvataggio della configurazione: %v
invalid_admin_setting=Impostazioni account Admin non valide: %v
-install_success=Benvenuto! Siamo felici che tu abbia scelto Gitea, buon divertimento.
invalid_log_root_path=Percorso dei log invalido: %v
[home]
uname_holder=Nome Utente o E-mail
switch_dashboard_context=Cambia Dashboard Context
my_repos=I miei Repository
-show_more_repos=Visualizza altre repositories...
collaborative_repos=Repository Condivisi
my_orgs=Le mie Organizzazioni
my_mirrors=I miei Mirror
@@ -145,36 +123,23 @@ users=Utenti
search=Cerca
[auth]
-create_new_account=Crea un nuovo Account
register_helper_msg=Hai già un account? Accedi ora!
-social_register_helper_msg=Hai già un account? Associalo ora!
disable_register_prompt=Siamo spiacenti, registrazione è stata disabilitata. Si prega di contattare l'amministratore del sito.
disable_register_mail=Siamo spiacenti, la conferma di registrazione via Mail è stata disattivata.
remember_me=Ricordami
-forgot_password=Password dimenticata
-forget_password=Password dimenticata?
sign_up_now=Bisogno di un account? Iscriviti ora.
-confirmation_mail_sent_prompt=Una nuova email di conferma è stata inviata a %s , verifica la tua casella di posta entro le prossime %d ore per completare la registrazione.
active_your_account=Attiva il tuo Account
prohibit_login=Accesso Vietato
-prohibit_login_desc=Il tuo account è impossibilitato al login, contatta l'amministratore del sito.
-resent_limit_prompt=Siamo spiacenti, si stanno inviando e-mail di attivazione troppo spesso. Si prega di attendere 3 minuti.
has_unconfirmed_mail=Ciao %s, hai un indirizzo di posta elettronica non confermato (%s ). Se non hai ricevuto una e-mail di conferma o vuoi riceverla nuovamente, fare clic sul pulsante qui sotto.
resend_mail=Clicca qui per inviare nuovamente l'e-mail di attivazione
-email_not_associate=Questo indirizzo e-mail non è associato ad alcun account.
-send_reset_mail=Clicca qui per (ri)inviare la tua e-mail di reimpostazione password
reset_password=Reimposta la tua Password
-invalid_code=Siamo spiacenti, il codice di conferma è scaduto o non valido.
reset_password_helper=Clicca qui per reimpostare la password
password_too_short=La lunghezza della password non può essere meno %d caratteri.
-non_local_account=Gli account non locali non possono modificare le password tramite Gitea.
[mail]
activate_account=Per favore attiva il tuo account
activate_email=Verifica il tuo indirizzo e-mail
reset_password=Reimposta la tua password
-register_success=Registrazione completata con successo, Benvenuto
-register_notify=Benvenuti a bordo
[modal]
yes=Sì
@@ -202,8 +167,6 @@ TreeName=Percorso del file
Content=Contenuto
require_error=` non può essere vuoto.`
-alpha_dash_error=` ammessi solo caratteri alfanumerici o trattini(-_).`
-alpha_dash_dot_error=` ammessi solo caratteri alfanumerici o trattini(-_) o punti.`
size_error='deve essere %s.'
min_size_error=` deve contenere almeno %s caratteri.`
max_size_error=` deve contenere massimo %s caratteri.`
@@ -211,28 +174,10 @@ email_error=` non è un indirizzo e-mail valido.`
url_error=` non è un URL valido.`
include_error=` deve contenere la stringa '%s'.`
unknown_error=Errore sconosciuto:
-captcha_incorrect=Il Captcha non corrisponde.
-password_not_match=Le due password non corrispondono.
-username_been_taken=Il nome utente è già utilizzato.
-repo_name_been_taken=Il nome del Repository è già utilizzato.
-org_name_been_taken=Il nome dell'Organizzazione è già utlizzato.
-team_name_been_taken=Il nome del Team è già utilizzato.
-email_been_used=L'indirizzo E-mail è già utilizzato.
-username_password_incorrect=Nome utente o password incorretti.
-enterred_invalid_repo_name=Si prega di assicurarsi che il nome del repository inserito sia corretto.
-enterred_invalid_owner_name=Si prega di assicurarsi che il nome del proprietario inserito sia corretto.
-enterred_invalid_password=Verificare che la password inserita sia corretta.
-user_not_exist=L'utente inserito non esiste.
-last_org_owner=L'utente che si vuole rimuovere è l'ultimo membro admin del team. Ci deve essere un altro proprietario.
-invalid_ssh_key=Siamo spiacenti, non siamo in grado di verificare la chiave SSH: %s
-unable_verify_ssh_key=Gitea non può verificare la chiave SSH, ma assumiamo che sia valida, si prega di verificare voi stessi.
auth_failed=Autenticazione non riuscita: %v
-still_own_repo=Il tuo account possiede ancora almeno un repository, dovete prima cancellarli o trasferirne la proprietà.
-still_has_org=Il tuo account è ancora associato ad almeno un'organizzazione, disassociarsi prima.
-org_still_own_repo=Questa organizzazione ha ancora la proprietà del repository, dovete cancellarla o trasferirli prima.
target_branch_not_exist=Il ramo (branch) di destinazione non esiste.
@@ -247,14 +192,11 @@ following=Seguiti
follow=Segui
unfollow=Non seguire più
-form.name_reserved=L'username '%s' è riservato.
-form.name_pattern_not_allowed=La struttura del nome utente '%s' non è consentita.
[settings]
profile=Profilo
password=Password
avatar=Avatar
-ssh_keys=Chiavi SSH
social=Account Sociali
applications=Applicazioni
orgs=Organizzazioni
@@ -262,15 +204,11 @@ delete=Elimina account
twofa=Verifica in due passaggi
public_profile=Profilo pubblico
-profile_desc=Il tuo indirizzo e-mail è pubblico e sarà usato per ogni notifica inerente al tuo account, e per qualsiasi operazione web effettuata attraverso il sito.
-password_username_disabled=Gli utenti non locali non possono cambiare il proprio nome utente.
full_name=Nome Completo
website=Sito web
location=Posizione
update_profile=Aggiorna Profilo
-update_profile_success=Il tuo profilo è stato aggiornato con successo.
change_username=Username Cambiato
-change_username_prompt=Questa modifica influenzerà il modo in cui i link si riferiscono al tuo account.
continue=Continua
cancel=Annulla
@@ -280,15 +218,11 @@ choose_new_avatar=Scegli un nuovo avatar
update_avatar=Aggiorna le impostazioni avatar
delete_current_avatar=Elimina Avatar attuale
uploaded_avatar_not_a_image=Il file caricato non è un'immagine.
-update_avatar_success=Le tue impostazioni avatar sono state aggiornate con successo.
change_password=Cambia Password
old_password=Password attuale
new_password=Nuova Password
retype_new_password=Re-inserisci la password
-password_incorrect=La Password attuale non è corretta.
-change_password_success=La tua password è stata cambiata con successo. Ora puoi accedere usando la nuova password.
-password_change_disabled=Gli utenti non locali non possono cambiare la propria password.
emails=Indirizzi e-mail
manage_emails=Gestisci indirizzi email
@@ -296,76 +230,53 @@ email_desc=Il tuo indirizzo e-mail primario sarà usato per le notifiche e altre
primary=Primario
primary_email=Imposta come primario
delete_email=Elimina
-email_deletion=Eliminazione e-mail
-email_deletion_desc=La procedura di rimozione indirizzo email eliminerà tutte le informazioni correlate dal tuo account. Si desidera continuare?
email_deletion_success=Indirizzo e-mail eliminato con successo!
add_new_email=Aggiungi un nuovo indirizzo E-mail
add_email=Aggiungi E-mail
-add_email_confirmation_sent=Una nuova email di conferma è stata inviata a '%s', per favore controlla la tua posta in arrivo nelle prossime %d ore per completare il processo di registrazione.
add_email_success=Il tuo nuovo indirizzo e-mail è stato aggiunto con successo.
keep_email_private=Mantieni Indirizzo Email Privato
keep_email_private_popup=Il tuo indirizzo email sarà nascosto agli altri utenti se questa opzione è abilitata.
manage_ssh_keys=Gestisci chiavi SSH
add_key=Aggiungi Chiave
-ssh_desc=Questa è una lista di chiavi SSH associate al tuo account. Poiché queste chiavi consentono a chiunque di ottenere accesso alle tue repository, è molto importante che tu le riconosca.
-ssh_helper=Non sai come? Controlla la guida di GitHub sul creare le tue chiavi SSH o sul risolvere problemi frequenti che potresti incontrare usando SSH.
add_new_key=Aggiungi Chiave SSH
-ssh_key_been_used=È stato utilizzato il contenuto della chiave pubblica.
-ssh_key_name_used=Chiave pubblica con lo stesso nome esiste già.
key_name=Nome della Chiave
key_content=Contenuto
-add_key_success=La nuova chiave SSH '%s' è stata aggiunta con successo!
delete_key=Elimina
ssh_key_deletion=Eliminazione chiave SSH
-ssh_key_deletion_desc=Cancellare la chiave SSH rimuoverà tutti i relativi accessi per il tuo account. Vuoi continuare?
-ssh_key_deletion_success=La chiave SSH e' stata cancellata con successo!
add_on=Aggiunto il
last_used=Ultimo accesso il
no_activity=Nessuna attività recente
-key_state_desc=Hai utilizzato questa chiave negli ultimi 7 giorni
-token_state_desc=Questo token e' satato utilizzato negli ultimi 7 giorni
manage_social=Gestisci gli Account Sociali Associati
-social_desc=Questa è un elenco degli account sociali associati. Rimuovere qualsiasi account che non si riconosce.
unbind=Disassocia
-unbind_success=Account sociale disassociato.
manage_access_token=Gestisci i Token di Accesso Personale
generate_new_token=Genera Nuovo Token
-tokens_desc=I Token che hai generato e che possono essere utilizzati per accedere alle API Gitea.
new_token_desc=Da questo momento, ogni token avrà pieno accesso al tuo account.
token_name=Nome Token
generate_token=Genera Token
-generate_token_succees=Nuovo token di accesso generato con successo! Assicurarsi di copiare il nuovo token di accesso personale ora: non sarà possibile visualizzarlo nuovamente!
delete_token=Elimina
access_token_deletion=Eliminazione Token di accesso personale
-access_token_deletion_desc=Eliminare questo token di accesso personale rimuoverà tutti i relativi accessi di applicazione. Si desidera continuare?
-delete_token_success=Il token di accesso personale è stato eliminato! Non dimenticare di aggiornare anche l'applicazione.
-twofa_desc=Gitea ha la verifica in due passaggi per fornire ulteriore sicurezza al tuo account.
-twofa_is_enrolled=La verifica in due passaggi è abilitata sul tuo account.
-twofa_not_enrolled=La verifica in due passaggi al momento non è abilitata sul tuo account.
twofa_disable=Disattiva verifica in due passaggi
+
+
delete_account=Elimina Account
delete_prompt=L'operazione eliminerà permanentemente l'account e NON POTRÀ essere annullata!
confirm_delete_account=Conferma Eliminazione
delete_account_title=Eliminazione account
-delete_account_desc=Questo account sta per essere eliminato in modo definitivo, vuoi continuare?
[repo]
owner=Proprietario
repo_name=Nome Repository
-repo_name_helper=I migliori nomi dei repository sono brevi, facili da memorizzare e univoci .
visibility=Visibilità
visiblity_helper=Questo repository è privato
-visiblity_helper_forced=L'amministratore del sito ha deciso che tutti i nuovi repository devono essere privati
visiblity_fork_helper=(La modifica di questo valore avrà effetto su tutti i fork)
clone_helper=Hai bisogno di aiuto per la clonazione? Visita Aiuto !
fork_repo=Forka Repository
fork_from=Forka da
-fork_visiblity_helper=Non puoi cambiare la visibilità di un repository forkato.
repo_desc=Descrizione
repo_lang=Lingua
repo_gitignore_helper=Seleziona i templates di .gitignore
@@ -376,16 +287,11 @@ auto_init=Inizializzare questo repository con i file e il modello selezionati
create_repo=Crea Repository
default_branch=Ramo (Branch) predefinito
mirror_prune=Rimuovi
-mirror_interval=Intervallo Mirror (in ore)
mirror_address=Indirizzo del mirror
-mirror_address_desc=Si prega di includere nell'indirizzo le credenziali utente necessarie.
watchers=Osservatori
stargazers=Fan
forks=Fork
-form.reach_limit_of_creation=Il proprietario ha raggiunto il limite massimo di %d repository creati.
-form.name_reserved=Il nome repository %s è riservato.
-form.name_pattern_not_allowed=La struttura del nome del repository %s non è consentita.
need_auth=Richiesta di autorizzazione
migrate_type=Tipo di migrazione
@@ -412,9 +318,6 @@ fork=Forka
no_desc=Nessuna descrizione
quick_guide=Guida rapida
clone_this_repo=Clona questo repository
-create_new_repo_command=Crea nuovo repository da riga di comando
-push_exist_repo=Push un repo esistente dalla riga di comando
-repo_is_empty=Questo repository è vuoto, si prega di tornare più tardi!
code=Codice
branch=Ramo (Branch)
@@ -436,17 +339,16 @@ editor.new_file=Nuovo file
editor.upload_file=Carica File
editor.edit_file=Modifica file
editor.preview_changes=Anteprima modifiche
-editor.cannot_edit_non_text_files=Non è possibile modificare i file non di testo
editor.edit_this_file=Modifica questo file
commits.search=Ricerca una versione
-commits.find=Cerca
commits.author=Autore
commits.message=Messaggio
commits.date=Data
commits.older=Più vecchio
commits.newer=Più recente
+
issues.new=Nuovo Problema
issues.new.labels=Etichette
issues.new.no_label=Nessuna etichetta
@@ -463,7 +365,6 @@ issues.create=Crea Problema
issues.new_label=Nuova etichetta
issues.new_label_placeholder=Nome dell'etichetta...
issues.create_label=Crea Etichetta
-issues.label_templates.info=There aren’t any labels yet. You can click on the "New Label" button above to create one or use a predefined set below.
issues.open_tab=%d Aperti
issues.close_tab=%d Chiusi
issues.filter_label=Etichetta
@@ -513,8 +414,6 @@ issues.label_edit=Modifica
issues.label_delete=Elimina
issues.label_modify=Modifica Etichetta
issues.label_deletion=Elimina Etichetta
-issues.label_deletion_desc=Eliminare l'etichetta rimuovera le sue informazioni in tutti i problemi correlati. Vuoi continuare?
-issues.label_deletion_success=Etichetta eliminata con successo!
issues.num_participants=%d Partecipanti
pulls.new=Nuova Pull Request
@@ -531,13 +430,10 @@ pulls.merged_title_desc=ha unito %[1]d commit da %[2]s a %[3]
pulls.tab_conversation=Conversazione
pulls.tab_commits=Commit
pulls.tab_files=File modificati
-pulls.reopen_to_merge=Riapri questa pull request per effettuare il merge.
pulls.merged=Unito
-pulls.has_merged=Questo contributo è stato incluso con successo!
pulls.data_broken=I dati di questa pull request si sono rotti causa dell'eliminazione delle informazioni di fork.
pulls.is_checking=Il controllo dei conflitti è ancora in corso, per favore aggiorna pagina tra qualche istante.
pulls.can_auto_merge_desc=La pull request non può essere mergiata automaticamente.
-pulls.cannot_auto_merge_desc=Questa pull request non può essere mergiata automaticamente perchè ci sono dei conflitti.
pulls.cannot_auto_merge_helper=Effettua il merge manualmente per risolvere i conflitti.
pulls.merge_pull_request=Unisci Pull Request
@@ -557,27 +453,22 @@ milestones.clear=Pulisci
milestones.invalid_due_date_format=Il formato della data di scadenza non è valido, deve essere 'yyyy-mm-dd'.
milestones.create_success=La Milestone '%s' è stata creata con successo!
milestones.edit=Modifica Milestone
-milestones.edit_subheader=Scrivi una descrizione della Milestone, così la gente non si confonderà.
milestones.cancel=Annulla
milestones.modify=Modifica Milestone
milestones.edit_success=Le modifiche alla milestone '%s' sono state salvate con successo!
milestones.deletion=Cancellazione Milestone
-milestones.deletion_desc=L'eliminazione di questa Milestone rimuoverà le sue informazioni in tutti i problemi correlati. Si desidera continuare?
milestones.deletion_success=La milestone è stata cancellata con successo!
-wiki.welcome=Benvenuto nel Wiki!
-wiki.welcome_desc=Wiki è il posto dove puoi documentare collaborativamente il tuo progetto così da renderlo migliore.
+
wiki.create_first_page=Crea la prima pagina
wiki.page=Pagina
wiki.filter_page=Filtra pagina
wiki.new_page=Crea nuova pagina
-wiki.default_commit_message=Scrivere una nota su questo aggiornamento (opzionale).
wiki.save_page=Salva pagina
wiki.last_commit_info=%s ha modificato questa pagina %s
wiki.edit_page_button=Modifica
wiki.new_page_button=Nuova pagina
wiki.delete_page_button=Cancella Pagina
-wiki.delete_page_notice_1=Questo cancellerà lapagina "%s". Si prega di esserne certi.
wiki.page_already_exists=Esiste già una pagina Wiki con questo stesso nome.
wiki.pages=Pagine
wiki.last_updated=Ultimo aggiornamento: %s
@@ -599,25 +490,17 @@ settings.pulls_desc=Abilita le pull requests per accettare contributi pubblici
settings.danger_zone=Zona Pericolosa
settings.new_owner_has_same_repo=Il nuovo proprietario ha già un repository con lo stesso nome. Per favore scegli un altro nome.
settings.convert=Converti in Repository Regolare
-settings.convert_desc=Puoi convertire questo mirror in un repository regolare. Questa operazione non può essere annullata.
settings.convert_notices_1=- Questa operazione non potrà essere annullata e convertirà questo mirror in un repository regolare.
settings.convert_confirm=Conferma la conversione
-settings.convert_succeed=Il repository è stato convertito con successo al formato normale.
settings.transfer=Trasferisci proprietà
settings.transfer_desc=Trasferisci questa repository a un altro utente o a un'organizzazione nella quale hai diritti d'amministratore.
-settings.transfer_form_title=Per favore inserisci le informazioni seguenti per confermare l'operazione:
settings.wiki_delete=Elimina i dati della Wiki
settings.wiki_delete_notices_1=Questo eliminerà e disabiliterà la wiki per %s
-settings.wiki_deletion_success=I dati della wiki del repository sono stati eliminati con successo.
settings.delete=Elimina questo repository
settings.delete_desc=Una volta che hai cancellato il repository, non puoi tornare indietro. Si prega di fare attenzione.
settings.delete_notices_1=-Questa operazione NON PUÒ essere annullata.
-settings.delete_notices_2=-Questa operazione eliminerà definitivamente il tutto il contenuto del repository, inclusi i dati di Git, incidenti, commenti e accessi dei collaboratori.
-settings.deletion_success=Il repository è stato eliminato con successo!
-settings.update_settings_success=Le opzioni repository sono state aggiornate con successo.
settings.transfer_owner=Nuovo Proprietario
settings.make_transfer=Trasferisci
-settings.transfer_succeed=Proprietà del repository trasferita con successo.
settings.confirm_delete=Conferma eliminazione
settings.add_collaborator=Aggiungi nuovo collaboratore
settings.add_collaborator_success=Il nuovo collaboratore è stato aggiunto.
@@ -629,7 +512,6 @@ settings.search_user_placeholder=Cerca utente...
settings.org_not_allowed_to_be_collaborator=Un'organizzazione non può essere aggiunta come collaboratore.
settings.user_is_org_member=L'utente è un membro dell'organizzazione che non può essere aggiunto come collaboratore.
settings.add_webhook=Aggiungi Webhook
-settings.hooks_desc=I Webhooks sono molto simili a un basilare evento trigger HTTP POST. Ogni volta che qualcosa si verifica in Gitea, tratteremo la notifica all'host di destinazione specificato. Ulteriori informazioni in questa Guida ai Webhooks .
settings.webhook_deletion=Elimina Webhook
settings.webhook_deletion_success=Il Webhook è stato eliminato con successo!
settings.webhook.test_delivery=Test di consegna
@@ -640,7 +522,6 @@ settings.githook_edit_desc=Se l'hook è inattivo, sarà presentato un contenuto
settings.githook_name=Nome hook
settings.githook_content=Contenuto hook
settings.update_githook=Aggiorna Hook
-settings.add_webhook_desc=Gitea manderà una richiesta POST all'URL specificata, insieme alle informazioni sull'evento avvenuto. Puoi anche specificare quale tipo di formato dati vorresti ottenere all'innesco dell'hook (JSON, x-www-form-urlencoded, XML, ecc). Puoi trovare più informazioni nella nostra Guida ai Webhook .
settings.slack_username=Nome utente
settings.slack_icon_url=URL icona
settings.slack_color=Colore
@@ -652,7 +533,6 @@ settings.event_create=Crea
settings.event_create_desc=Branch, o tag creato
settings.event_push_desc=Git push in un repository
settings.active=Attivo
-settings.active_helper=Anche i dettagli riguardanti l'evento che ha innescato l'hook saranno inviati.
settings.add_hook_success=Il nuovo webhook è stato aggiunto.
settings.update_webhook=Aggiorna Webhook
settings.update_hook_success=Il webhook è stato aggiornato.
@@ -672,11 +552,8 @@ settings.key_been_used=La deploy key è già in uso.
settings.key_name_used=Esiste già una deploy key con questo nome.
settings.add_key_success=La nuova deploy key '%s' è stata aggiunta con successo!
settings.deploy_key_deletion=Elimina Deploy Key
-settings.deploy_key_deletion_desc=Cancellando questa deploy key verrà rismosso ogni accesso relativo a questa repository. Vuoi continuare?
-settings.deploy_key_deletion_success=Deploy key eliminata con successo!
diff.browse_source=Sfoglia il codice sorgente
-diff.data_not_available=Diff Data non disponibile.
diff.show_diff_stats=Mostra Diff Stats
diff.show_split_view=Visualizzazione separata
diff.show_unified_view=Visualizzazione unificata
@@ -693,7 +570,6 @@ release.ahead=%d commits da %s da questo rilascio
release.source_code=Codice Sorgente
release.tag_name=Nome tag
release.target=Obbiettivo
-release.tag_helper=Scegli un tag esistente o crea un nuovo tag una volta pubblicato.
release.title=Titolo
release.content=Contenuto
release.write=Scrivi
@@ -707,8 +583,6 @@ release.save_draft=Salva Bozza
release.edit_release=Modifica Rilascio
release.delete_release=Cancela questa Release
release.deletion=Eliminazione Release
-release.deletion_desc=Eliminando questa release cancellarai anche i tag Git corrispondenti. Vuoi continuare?
-release.deletion_success=La release è stata eliminata con successo!
release.tag_name_already_exist=Un rilascio con questo tag esiste già.
release.downloads=Download
@@ -728,9 +602,6 @@ create_new_team=Crea Nuovo Team
org_desc=Descrizione
team_name=Nome Team
team_desc=Descrizione
-team_name_helper=Verrà usato questo nome per riferirsi a questo team nella conversazioni.
-team_desc_helper=In cosa consiste questo team?
-team_permission_desc=Quale livello di autorizzazione dovrebbe avere questa squadra?
form.name_reserved=Il nome organizzazione '%s' è riservato.
form.name_pattern_not_allowed=La struttura del nome dell'organizzazione '%s' non è consentita.
@@ -741,15 +612,11 @@ settings.full_name=Nome Completo
settings.website=Sito Web
settings.location=Residenza
settings.update_settings=Aggiorna Impostazioni
-settings.update_setting_success=Impostazioni dell'organizzazione aggiornate con successo.
-settings.change_orgname_prompt=Questa operazione modificherà il modo in cui i links sono in relazione con l'organizzazione.
settings.delete=Elimina organizzazione
settings.delete_account=Elimina questa organizzazione
settings.delete_prompt=L'organizzazione verrà rimossa definitivamente, e questa operazione NON PUÒ essere annullata!
settings.confirm_delete_account=Conferma Eliminazione
settings.delete_org_title=Eliminazione Organizzazione
-settings.delete_org_desc=Questa organizzazione sta per essere eliminato in modo permanente, vuoi continuare?
-settings.hooks_desc=Aggiungi i webhooks che verranno attivati per tutti i repository sotto questa organizzazione.
members.public=Pubblico
members.public_helper=rendi privato
@@ -768,9 +635,7 @@ teams.leave=Abbandona
teams.read_access=Accesso di Lettura
teams.read_access_helper=Questo team sarà in grado di visualizzare e clonare i suoi repository.
teams.write_access=Accesso di Scrittura
-teams.write_access_helper=Questo team sarà in grado di leggere i suoi repository, come pure pusharli.
teams.admin_access=Accesso Amministratore
-teams.admin_access_helper=Questo team sarà in grado di pushare/pullare i propri repo, così come aggiungere altri collaboratori.
teams.no_desc=Questo team non ha alcuna descrizione
teams.settings=Impostazioni
teams.owners_permission_desc=I Proprietari hanno pieno accesso a tutti i repository e hanno diritti di amministatore nell'organizzazione.
@@ -779,8 +644,6 @@ teams.update_settings=Aggiorna Impostazioni
teams.delete_team=Elimina questo Team
teams.add_team_member=Aggiungere un Membro al Team
teams.delete_team_title=Eliminazione Team
-teams.delete_team_desc=Quando questo team verrà eliminato, i membri di questa squadra potrebbero perdere l'accesso ad alcuni repository. Si desidera continuare?
-teams.delete_team_success=Team eliminato con successo.
teams.read_permission_desc=Questo Team concede accesso di Lettura : i membri possono visualizzare e clonare i repository del Team.
teams.write_permission_desc=Questo Team concede accesso di Scrittura : i membri possono leggere e pushare i repository del Team.
teams.admin_permission_desc=Questo Team concede accesso di Amministratore : i membri possono leggere i, pushare a, e aggiungere collaboratori ai repository del Team.
@@ -810,19 +673,8 @@ dashboard.statistic_info=Il database di Gitea ha %d utenti, %d org
dashboard.operation_name=Nome Operazione
dashboard.operation_switch=Cambia
dashboard.operation_run=Esegui
-dashboard.clean_unbind_oauth=Pulire OAuthes non associati
-dashboard.clean_unbind_oauth_success=Tutti gli OAuthes non associati eliminati con successo.
dashboard.delete_inactivate_accounts=Elimina tutti gli account inattivi
-dashboard.delete_inactivate_accounts_success=Tutti gli account inattivi eliminati con successo.
dashboard.delete_repo_archives=Elimina tutti gli archivi dei repository
-dashboard.delete_repo_archives_success=Tutti gli archivi del repository sono stati eliminati con successo.
-dashboard.git_gc_repos=Fare la procedura di garbage collection sui repository
-dashboard.git_gc_repos_success=Tutti i repository hanno fatto la procedura di garbage collection con successo.
-dashboard.resync_all_sshkeys=Riscrivi il file '.ssh/authorized_keys' (attenzione: le chiavi non appartenenti a Gitea saranno perse)
-dashboard.resync_all_sshkeys_success=Tutte le chiavi pubbliche riscritte con successo.
-dashboard.resync_all_update_hooks=Riscrivere tutti gli update hook dei repository (necessario quando il percorso di configurazione personalizzata viene modificato)
-dashboard.resync_all_update_hooks_success=Tutti gli update hook dei repository riscritti con successo.
-
dashboard.server_uptime=Tempo in Attività del Server
dashboard.current_goroutine=Goroutine Correnti
dashboard.current_memory_usage=Utilizzo di Memoria Corrente
@@ -853,36 +705,26 @@ dashboard.total_gc_pause=Pausa Totale della GC
dashboard.last_gc_pause=Ultima pausa della GC
dashboard.gc_times=Esecuzioni GC
-users.user_manage_panel=Pannello Gestione Utenti
users.new_account=Crea Nuovo Account
users.name=Nome
users.activated=Attivato
users.admin=Amministratore
users.repos=Repo
users.created=Creato
-users.new_success=Il nuovo account '%s' è stato creato correttamente.
users.edit=Modifica
users.local=Locale
-users.update_profile_success=Profilo dell'account aggiornato con successo.
users.edit_account=Modifica Account
users.max_repo_creation=Limite massimo per la creazione di Repository
users.max_repo_creation_desc=(Inserire -1 per usare il limite globale di default)
-users.is_activated=Questo account è attivato
users.is_admin=Questo account ha permessi di amministratore
-users.allow_git_hook=Questo account ha il permesso di creare hooks di Git
users.allow_import_local=Questo account dispone delle autorizzazioni per importare repository locali
users.update_profile=Aggiornare Profilo Account
users.delete_account=Elimina Questo Account
-users.still_own_repo=Questo account possiede ancora almeno un repository, devi prima cancellarli o trasferirli.
-users.still_has_org=Questo account appartiene ancora ad almeno un'organizzazione, è necessario prima abbandonarle o eliminale.
-users.deletion_success=Account eliminato correttamente!
-orgs.org_manage_panel=Pannello Gestione Organizzazioni
orgs.name=Nome
orgs.teams=Team
orgs.members=Membri
-repos.repo_manage_panel=Pannello Organizzazione Repository
repos.owner=Proprietario
repos.name=Nome
repos.private=Privati
@@ -901,7 +743,6 @@ auths.domain=Dominio
auths.port=Porta
auths.bind_dn=Binda DN
auths.bind_password=Binda Password
-auths.bind_password_helper=Attenzione: Questa password è salvata in chiaro. Non usare su un acount con alti privilegi.
auths.user_dn=DN dell'utente
auths.attribute_username=Attributo username
auths.attribute_name=Attributo Nome
@@ -918,10 +759,7 @@ auths.skip_tls_verify=Salta verifica TLS
auths.pam_service_name=Nome del Servizio PAM
auths.enable_auto_register=Abilitare Registrazione Automatica
auths.tips=Consigli
-auths.edit=Modifica impostazioni di autenticazione
auths.activated=Questa Autenticazione è stata attivata
-auths.update=Aggiornare le impostazioni di autenticazione
-auths.delete=Elimina questa autenticazione
config.server_config=Configurazione Server
config.app_name=Nome Applicazione
@@ -940,7 +778,6 @@ config.reverse_auth_user=Autenticazione Utente Inversa
config.ssh_config=Configurazione SSH
config.ssh_enabled=Attivo
-config.ssh_start_builtin_server=Avvia server builtin
config.ssh_domain=Dominio
config.ssh_port=Porta
config.ssh_listen_port=Porta in ascolto
@@ -968,12 +805,10 @@ config.mail_notify=Email di Notifica
config.disable_key_size_check=Disabilita controllo sulle dimensioni minime della chiave
config.enable_captcha=Abilita Captcha
config.active_code_lives=Attiva Vita del Codice
-config.reset_password_code_lives=Reimpostare Password della Vita del Codice
config.webhook_config=Configurazione Webhook
config.queue_length=Lunghezza della coda
config.deliver_timeout=Tempo Limite di Consegna
-config.skip_tls_verify=Salta verifiche TLS
config.mailer_config=Configurazione Mailer
config.mailer_enabled=Attivo
@@ -981,7 +816,6 @@ config.mailer_disable_helo=Disattiva HELO
config.mailer_name=Nome
config.mailer_user=Utente
config.send_test_mail=Invia email di test
-config.test_mail_failed=Impossibile inviare mail a '%s': %v
config.test_mail_sent=Una mail di prova è stata inviata a '%s'.
config.oauth_config=Configurazione OAuth
@@ -1022,7 +856,6 @@ monitor.start=Orario Avvio
monitor.execute_time=Tempo di Esecuzione
notices.system_notice_list=Avvisi di Sistema
-notices.view_detail_header=Visualizza dettagli dell'avviso
notices.actions=Azioni
notices.select_all=Seleziona tutto
notices.deselect_all=Deseleziona tutto
@@ -1031,7 +864,6 @@ notices.delete_selected=Elimina selezionati
notices.delete_all=Elimina tutti gli avvisi
notices.type=Tipo
notices.desc=Descrizione
-notices.delete_success=Gli avvisi di sistema sono stati successivamente eliminati.
[action]
create_repo=ha creato il repository %s
@@ -1042,34 +874,35 @@ create_pull_request=`creata pull request %s#%[2]s `
comment_issue=`ha commentato il problema %s#%[2]s `
transfer_repo=ha trasferito il repository %s a %s
push_tag=ha pushato il tag %[2]s a %[3]s
-compare_commits=Visualizza comparazione tra questi %d commit
[tool]
-ago=fa
-from_now=da adesso
+ago=%s fa
+from_now=%s da adesso
now=ora
-1s=1 secondo %s
-1m=1 minuto %s
-1h=1 ora %s
-1d=1 giorno %s
-1w=1 settimana %s
-1mon=1 mese %s
-1y=1 anno %s
-seconds=%d secondi %s
-minutes=%d minuti %s
-hours=%d ore %s
-days=%d giorni %s
-weeks=%d settimane %s
-months=%d mesi %s
-years=%d anni %s
+1s=1 secondo
+1m=1 minuto
+1h=1 ora
+1d=1 giorno
+1w=1 settimana
+1mon=1 mese
+1y=1 anno
+seconds=%d secondi
+minutes=%d minuti
+hours=%d ore
+days=%d giorni
+weeks=%d settimane
+months=%d mesi
+years=%d anni
raw_seconds=secondi
raw_minutes=minuti
[dropzone]
-default_message=Trascina i file qui o clicca per caricare.
invalid_input_type=Non è possibile caricare file di questo tipo.
-file_too_big=La dimensione del file ({{filesize}} MB) supera la dimensione massima ({{maxFilesize}} MB).
remove_file=Rimuovi file
[notification]
+[gpg]
+
+[units]
+
diff --git a/options/locale/locale_ja-JP.ini b/options/locale/locale_ja-JP.ini
index 5bdffb1..71836b6 100644
--- a/options/locale/locale_ja-JP.ini
+++ b/options/locale/locale_ja-JP.ini
@@ -29,7 +29,6 @@ mirror=ミラー
new_repo=新しいリポジトリ
new_migrate=新しい移行
new_mirror=新しいミラー
-new_fork=新しいフォークのリポジトリ
new_org=新しい組織
manage_org=組織を管理
admin_panel=管理者パネル
@@ -38,6 +37,7 @@ settings=設定
your_profile=プロフィール
your_settings=設定
+
activities=アクティビティ
pull_requests=プルリクエスト
issues=課題
@@ -46,39 +46,29 @@ cancel=キャンセル
[install]
install=インストール
-title=インストールをする前に必要な準備をしましょう
-docker_helper=DockerでGiteaを稼動する場合は、このページに変更を加える前に、 ガイドライン をよく読んでください!
-requite_db_desc=Gitea は、MySQL、PostgreSQL、SQLite3 または TiDB が必要です。
db_title=データベース設定
db_type=データベースの種類
host=ホスト
user=ユーザ
password=パスワード
db_name=データベース名
-db_helper=MySQLではエンジンがINNODB、文字セットがutf8_general_ciである必要があります。
ssl_mode=SSL モード
path=パス
-sqlite_helper=SQLite3かTiDBのデータベースのファイルパス。 サービスとして開始する際には絶対パスを利用してください。
err_empty_db_path=SQLite3 または TiDB データベースのパスを空にすることはできません。
err_invalid_tidb_name=TiDB データベース名は文字"."と"-"を許可しない。
no_admin_and_disable_registration=管理者アカウントを作成せずに登録を無効にすることはできません。
err_empty_admin_password=管理者パスワードは空白にできません。
-general_title=Gitea の全般設定
app_name=アプリケーション名
-app_name_helper=素晴らしい組織名を入れてください!
repo_path=リポジトリのルートパス
-repo_path_helper=すべての Git リモート リポジトリはこのディレクトリに保存されます。
run_user=実行ユーザ
run_user_helper=ユーザーはリポジトリ ルートパスへのアクセス、及びGitea を実行する権限を所有する必要があります。
domain=ドメイン
domain_helper=これはSSH用クローンURLに影響します。
ssh_port=SSH ポート
-ssh_port_helper=SSHサーバーを使用する場合はポート番号を入力してください。 空白にした場合は無効化されます。
http_port=HTTP ポート
http_port_helper=アプリケーションが待ち受けするポート番号。
app_url=アプリケーションの URL
-app_url_helper=この設定は、HTTP / HTTPSのクローンURLおよび、一部のメールボックスへのリンクに影響を与えます。
log_root_path=ログのパス
log_root_path_helper=ログファイルを書き込むディレクトリ。
@@ -86,14 +76,10 @@ optional_title=オプション設定
email_title=メールサービス設定
smtp_host=SMTP ホスト
smtp_from=差出人
-smtp_from_helper=送信者メールアドレス、RFC 5322。フォーマットはメールアドレスのみ、または"Name" 。
-mailer_user=送信者の電子メール
mailer_password=送信者のパスワード
register_confirm=登録の確認を有効にする
-mail_notify=メール通知を有効にする
server_service_title=サーバーとその他のサービスの設定
offline_mode=オフラインモードを有効にする
-offline_mode_popup=プロダクションモードでは、CDNを使用せずにローカルからリソースファイルを使用します。
disable_gravatar=Gravatarのサービスを無効にします
disable_gravatar_popup=Gravatarとカスタムソースを無効にして、全てのアバターをユーザーによってアップロードされたものかデフォルトなものにします。
federated_avatar_lookup_popup=Enable federated avatars lookup to use federated open source service based on libravatar.
@@ -103,7 +89,6 @@ enable_captcha=Captchaを有効にする
enable_captcha_popup=ユーザによる自己登録のため、有効なcaptchaが必要です。
require_sign_in_view=サインインしたユーザのみページ閲覧を許可
require_sign_in_view_popup=サインインしたユーザのみがページを閲覧できます。ビジターはサインインもしくはサインアップページのみ見られます。
-admin_setting_desc=今管理者アカウントを作成する必要はありません。ID = 1のユーザ は自動的に管理者の権限を獲得します。
admin_title=管理者アカウントの設定
admin_name=ユーザ名
admin_password=パスワード
@@ -111,13 +96,8 @@ confirm_password=パスワード確認
admin_email=管理者の電子メール
install_btn_confirm=Gitea をインストール
test_git_failed='Git' コマンドテストに失敗: %v
-sqlite3_not_available=このリリース バージョンは SQLite3 をサポートしていません。gobuild バージョンではない、公式のバイナリ バージョンを %s からダウンロードしてください。
-invalid_db_setting=データベースの設定が正しくありません: %v
invalid_repo_path=リポジトリのルート パスが無効です: %v
-run_user_not_match=実行ユーザーは、現在のユーザーではない: %s-> %s
-save_config_failed=構成の保存に失敗した: %v
invalid_admin_setting=管理者アカウントの設定が無効です: %v
-install_success=ようこそ!我々はあなたが Gitea を選んでくれて嬉しいです!楽しみましょう!
invalid_log_root_path=ログのルートパスがむこうです: %v
[home]
@@ -125,7 +105,6 @@ uname_holder=ユーザー名またはEメール
password_holder=パスワード
switch_dashboard_context=ダッシュ ボードのコンテキストを切替
my_repos=自分のリポジトリ
-show_more_repos=リポジトリをさらに表示…
collaborative_repos=共同リポジトリ
my_orgs=自分の組織
my_mirrors=自分のミラー
@@ -139,26 +118,16 @@ users=ユーザ
search=検索
[auth]
-create_new_account=新規アカウントを作成
register_helper_msg=既にアカウントをお持ちですか?今すぐログインしましょう!
-social_register_helper_msg=既にアカウントをお持ちですか?連携しましょう!
disable_register_prompt=申し訳ありませんが、現在登録は受け付けておりません。サイトの管理者にお問い合わせください。
disable_register_mail=申し訳ありませんが、登録メールの確認機能が無効になっています。
remember_me=ログインしたままにする
-forgot_password=パスワードを忘れた
-forget_password=パスワードを忘れましたか?
sign_up_now=アカウントが必要ですか?今すぐ登録しましょう!
-confirmation_mail_sent_prompt=新しい確認メールを %s に送りました。登録を完了させるために、%d時間以内にあなたのメールボックスを確認してください。
active_your_account=アカウントを有効化
prohibit_login=ログイン禁止
-prohibit_login_desc=あなたのアカウントはログインを禁止されています。サイト管理者にお問い合わせください。
-resent_limit_prompt=申し訳ありませんが、アクティベーションメールは頻繁に送信しています。3 分お待ちください。
has_unconfirmed_mail=こんにちは %s さん、あなたの電子メール アドレス (%s ) は未確認です。もし確認メールをまだ確認できていないか、改めて再送信する場合は、下のボタンをクリックしてください。
resend_mail=アクティベーションメールを再送信するにはここをクリック
-email_not_associate=この電子メール アドレスは、アカウントには関連付けられません。
-send_reset_mail=パスワードリセットのメールを再送するにはここをクリック
reset_password=パスワードリセット
-invalid_code=申し訳ありませんが、確認用コードが期限切れまたは無効です。
reset_password_helper=パスワードをリセットするにはここをクリック
password_too_short=%d文字未満のパスワードは設定できません。
@@ -166,8 +135,6 @@ password_too_short=%d文字未満のパスワードは設定できません。
activate_account=あなたのアカウントを有効にしてください。
activate_email=電子メール アドレスを確認します。
reset_password=パスワードをリセットします.
-register_success=ようこそ、登録成功
-register_notify=ボードへようこそ
[modal]
yes=はい
@@ -189,8 +156,6 @@ AdminEmail=管理者の電子メール
Content=コンテンツ
require_error=空にできません
-alpha_dash_error=アルファベット、数字、ハイフン"-"、アンダースコア"_"のいずれかの必要があります
-alpha_dash_dot_error=' アルファベット、数値、ダッシュ(-)、アンダースコア(_) 、ドット(.)のいずれかを入力する必要があります。 '
size_error=`サイズは %s である必要があります`
min_size_error=' 少なくとも %s 文字の必要があります '
max_size_error=' %s 文字以下の必要があります '
@@ -198,28 +163,10 @@ email_error=' は有効な電子メール アドレスではない '
url_error=' は有効な URL はありません。 '
include_error=' 文字列 '%s' を含める必要があります。 '
unknown_error=不明なエラー:
-captcha_incorrect=Captcha が一致しませんでした。
-password_not_match=パスワードと確認用パスワードが一致同していません。
-username_been_taken=ユーザー名は既に使用されています。
-repo_name_been_taken=リポジトリ名は既に使用されています。
-org_name_been_taken=組織名は既に使用されています。
-team_name_been_taken=チーム名は既に使用されています。
-email_been_used=電子メール アドレスは既に使用されています。
-username_password_incorrect=ユーザー名またはパスワードが正しくありません。
-enterred_invalid_repo_name=入力したリポジトリの名前が正しいかどうかを確認してください。
-enterred_invalid_owner_name=入力された所有者名が正しいかどうかを確認してください。
-enterred_invalid_password=入力したパスワードが正しいかを確認してください。
-user_not_exist=指定されたユーザーは存在しません。
-last_org_owner=削除するユーザーはチームの最後のメンバーです。別の所有者設定が必要です。
-invalid_ssh_key=SSHを確認できません:%s
-unable_verify_ssh_key=GiteaはあなたのSSH keyを確認できません。しかし、我々は有効とみなしますので、自分自身で確認してください。
auth_failed=認証に失敗しました: %v
-still_own_repo=アカウント所有のリポジトリがあり、リポジトリの削除または所有者の移譲が必要です。
-still_has_org=アカウントはまだ組織のメンバーであり、組織から退出するか削除する必要があります。
-org_still_own_repo=この組織はまだリポジトリの所有しています、リポジトリを削除または転送する必要があります。
target_branch_not_exist=ターゲットブランチが存在しない
@@ -234,29 +181,22 @@ following=フォロー
follow=フォロー
unfollow=フォロー解除
-form.name_reserved=ユーザー名 '%s' は予約されています。
-form.name_pattern_not_allowed=ユーザ名のパターン '%s' は許可されていません。
[settings]
profile=プロフィール
password=パスワード
avatar=アバター
-ssh_keys=SSH キー
social=SNSアカウント
applications=アプリケーション
orgs=組織
delete=アカウントを削除
public_profile=パブリック プロフィール
-profile_desc=あなたのメールアドレスは公開され、任意のアカウント関連の通知に使用されます。また、Webベースの操作はサイトを介して行います。
-password_username_disabled=ローカルユーザ以外はユーザ名を変更できません。
full_name=フルネーム
website=WEBサイト
location=ロケーション
update_profile=プロファイル更新
-update_profile_success=あなたのプロフィールが更新されました。
change_username=ユーザー名が変更されました
-change_username_prompt=この変更はリンクをアカウントに関連付ける方法に影響します。
continue=続行
cancel=キャンセル
@@ -266,15 +206,11 @@ choose_new_avatar=新しいアバターを選択
update_avatar=アバターの設定を更新
delete_current_avatar=現在のアバターを削除
uploaded_avatar_not_a_image=アップロードされたファイルは画像ではない。
-update_avatar_success=あなたのアバターの設定が更新されました。
change_password=パスワードを変更
old_password=現在のパスワード
new_password=新しいパスワード
retype_new_password=新しいパスワードを再入力します。
-password_incorrect=現在のパスワードが正しくありません。
-change_password_success=パスワードが正常に変更されました。今すぐ新しいパスワード経由でサインインすることができます。
-password_change_disabled=ローカルユーザ以外はパスワードを変更できません。
emails=E-mail アドレス
manage_emails=E-mail アドレスを管理
@@ -282,70 +218,50 @@ email_desc=あなたのプライマリメールアドレスは、通知やその
primary=プライマリー
primary_email=プライマリに設定
delete_email=削除
-email_deletion=電子メールの削除
-email_deletion_desc=この電子メール アドレスを削除すると、あなたのアカウントの関連情報も削除されます。続行しますか。
email_deletion_success=電子メールが正常に削除されました。
add_new_email=新しいe-mailアドレスを追加
add_email=電子メールを追加します。
-add_email_confirmation_sent='%s' に新しい確認メールを送信しました、次の %d 時間以内に受信トレイを確認し、確認プロセスを完了してください。
add_email_success=新しいe-mail アドレスが追加されました。
manage_ssh_keys=SSH キーを管理
add_key=キーを追加
-ssh_desc=これはあなたのアカウントに関連付けられている SSH キーの一覧です。あなたが認識していないキーを削除します。
-ssh_helper=ヘルプが必要ですか? 我々のガイドをご覧ください。 SSH キーを生成 SSH の一般的な問題
add_new_key=SSH キーを追加
-ssh_key_been_used=公開鍵は使用されています。
-ssh_key_name_used=同じ名前の公開鍵は既に存在しています。
key_name=キーの名前
key_content=コンテンツ
-add_key_success=新しいSSHキー '%s' が正常に追加されました!
delete_key=削除
ssh_key_deletion=SSH キーの削除
-ssh_key_deletion_desc=このSSHキーを削除すると、あなたのアカウントに関連するすべてのアクセスが削除されます。続行しますか?
-ssh_key_deletion_success=SSH キーは正常に削除されました!
add_on=追加された
last_used=最終使用日
no_activity=最近の活動なし
-key_state_desc=この鍵は7日間以内に使われています。
-token_state_desc=この鍵は7日間以内に使われています。
manage_social=関連付けられているSNSアカウントを管理
-social_desc=これは関連付けられたソーシャルアカウントのリストです。あなたが認識していない結び付けを削除します。
unbind=バインド解除
-unbind_success=SNSアカウントがバインドされていない。
manage_access_token=パーソナルアクセス トークンを管理
generate_new_token=新しいトークンを生成
-tokens_desc=生成したトークンを利用して Gitea の API にアクセスすることができます。
new_token_desc=今のところ、全てのトークンはあなたのアカウントにフルアクセスできます。
token_name=トークン名
generate_token=トークンを生成
-generate_token_succees=新しいアクセス トークンは正常に生成されました !今すぐあなたの新しいアクセス トークンをコピーしておいてください。二度と見ることはできませんので確認してください!
delete_token=削除
access_token_deletion=パーソナルアクセストークンの削除
-access_token_deletion_desc=パーソナルアクセストークンを削除すると、関連するアプリケーションのすべてのアクセスが削除されます。続行しますか?
-delete_token_success=パーソナルアクセストークンは正常に削除されました!同時にあなたのアプリケーションを更新することを忘れないでください。
+
+
delete_account=アカウントを削除
delete_prompt=この操作をするとアカウントが完全に削除され、二度と元に戻すことができなくなります !
confirm_delete_account=削除の確認
delete_account_title=アカウントの削除
-delete_account_desc=このアカウントは永久に削除しようとしている、継続しますか?
[repo]
owner=オーナー
repo_name=リポジトリ名
-repo_name_helper=短くて分かりやすく重複しない リポジトリ名を決めてください。
visibility=公開/非公開
visiblity_helper=このリポジトリはプライベート です。
-visiblity_helper_forced=サイト管理者は、強制的にすべての新しいリポジトリを プライベート にしています。
visiblity_fork_helper=(この値の変更はすべてのフォークに適用されます)
clone_helper=クローンに関してお困りであれば ヘルプ を参照しましょう。
fork_repo=リポジトリをフォーク
fork_from=フォーク元
-fork_visiblity_helper=フォークされたリポジトリの可視状態は変更できません。
repo_desc=説明
repo_lang=言語
license=ライセンス
@@ -354,14 +270,11 @@ readme_helper=Readme ファイルのテンプレートを選択
auto_init=選択されたファイルおよびテンプレートでリポジトリを初期化
create_repo=リポジトリを作成
default_branch=デフォルトのブランチ
-mirror_interval=ミラー 間隔(時)
mirror_address=ミラー アドレス
mirror_last_synced=最終同期
watchers=ウォッチャー
forks=フォーク
-form.name_reserved=リポジトリ名 '%s' は使用されています。
-form.name_pattern_not_allowed=リポジトリ名に '%s' は使用できません。
need_auth=認証が必要
migrate_type=マイグレーションの種類
@@ -383,9 +296,6 @@ copied=コピー成功
no_desc=説明なし
quick_guide=クイック ガイド
clone_this_repo=このリポジトリのクローンを作成
-create_new_repo_command=コマンドラインで新しいリポジトリを作成します。
-push_exist_repo=コマンド ・ ラインから既存のリポジトリをプッシュ
-repo_is_empty=このリポジトリは空です、後で戻って来て下さい!
code=コード
branch=ブランチ
@@ -416,13 +326,13 @@ editor.cancel=キャンセル
commits.commits=コミット
commits.search=コミットの検索
-commits.find=検索
commits.author=作者
commits.message=メッセージ
commits.date=日付
commits.older=古い
commits.newer=新しい
+
issues.new=新しい問題
issues.new.labels=ラベル
issues.new.no_label=ラベルなし
@@ -439,7 +349,6 @@ issues.create=問題を作成
issues.new_label=新しいラベル
issues.new_label_placeholder=ラベル名...
issues.create_label=ラベルを作成
-issues.label_templates.info=There aren’t any labels yet. You can click on the "New Label" button above to create one or use a predefined set below.
issues.open_tab=%d オープン
issues.close_tab=%d クローズ
issues.filter_label=ラベル
@@ -484,8 +393,6 @@ issues.label_edit=編集
issues.label_delete=削除
issues.label_modify=ラベルの変更
issues.label_deletion=ラベルの削除
-issues.label_deletion_desc=ラベルを削除すると、関連するすべての問題の情報が削除されます。続行しますか。
-issues.label_deletion_success=ラベルは正常に削除されました。
pulls.new=新しいプルリクエスト
pulls.compare_changes=変更を比較
@@ -500,7 +407,6 @@ pulls.tab_conversation=会話
pulls.tab_commits=コミット
pulls.tab_files=ファイルが変更された
pulls.merged=マージされた
-pulls.has_merged=このプルプルリクエストは正常にマージされました!
pulls.cannot_auto_merge_helper=競合を解決するためには、手動でマージする必要があります。
pulls.merge_pull_request=プルリクエストをマージします。
@@ -520,21 +426,17 @@ milestones.clear=消去
milestones.invalid_due_date_format=期限日付のフォーマットが無効、'yyyy-mm-dd' のフォーマットが必要です。
milestones.create_success=マイルス トーン '%s' が正常に作成されました!
milestones.edit=マイルス トーンを編集
-milestones.edit_subheader=人々を混乱させないため、マイルス トーンにより良い説明を使用します。
milestones.cancel=キャンセル
milestones.modify=マイルス トーンを変更します。
milestones.edit_success=マイルス トーン '%s' の変更が正常に保存されました。
milestones.deletion=マイルス トーンの削除
-milestones.deletion_desc=このマイルス トーンを削除すると、関連課題に該当情報が削除されます。続行しますか。
milestones.deletion_success=マイルス トーンは正常に削除されました。
-wiki.welcome=Wiki へようこそ!
-wiki.welcome_desc=Wikiとは、あなたのプロジェクトを文書化し、複数人で一緒に編集する場所です。
+
wiki.create_first_page=最初のページを作成する。
wiki.page=ページ
wiki.filter_page=フィルターページ
wiki.new_page=新しいページを作成
-wiki.default_commit_message=このアップデートについてメモを書く(オプション)
wiki.save_page=ページを保存
wiki.last_commit_info=%s このページを編集 %s
wiki.edit_page_button=編集
@@ -567,18 +469,13 @@ settings.danger_zone=危険地帯
settings.new_owner_has_same_repo=新しいオーナーは、既に同じ名前のリポジトリを持っています。
settings.transfer=オーナー移転
settings.transfer_desc=リポジトリをあなたが管理者権限を持っている別のユーザーまた組織に移譲します。
-settings.transfer_notices_1=-新しい所有者が個人ユーザーの場合、あなたがアクセスできなくなります。
-settings.transfer_form_title=操作を確認するために、以下の情報を入力してください。
settings.wiki_delete=Wikiのデータ消去
settings.wiki_delete_desc=Wikiのデータを消去すると元に戻すことは出来ません。よく確認してください。
-settings.wiki_deletion_success=Wikiのデータ消去が完了しました。
settings.delete=このリポジトリを削除
settings.delete_desc=リポジトリを削除すると元に戻せません。確実に確認してください。
settings.delete_notices_1=-この操作は元に戻せません 。
-settings.update_settings_success=リポジトリ オプションが更新されました。
settings.transfer_owner=新しいオーナー
settings.make_transfer=転送
-settings.transfer_succeed=リポジトリの所有権は正常に転送されました。
settings.confirm_delete=削除を確認
settings.add_collaborator=新しい共同編集者を追加
settings.add_collaborator_success=新しい共同編集者が追加されました。
@@ -587,9 +484,7 @@ settings.search_user_placeholder=Search users
settings.org_not_allowed_to_be_collaborator=組織を共同編集者として追加することはできません。
settings.user_is_org_member=ユーザーは組織の一員なので、共同編集者として追加することはできません。
settings.add_webhook=Webhook を追加
-settings.hooks_desc=Webhooksは、Giteaで特定のイベントの発生時に指定された外部サービスに通知を許可します。イベントが発生すると、それぞれ指定されたUrlに、POSTリクエストが送られます。詳細はこちらのの Webhooks ガイド をご覧ください。
settings.webhook_deletion=Webhook を削除
-settings.webhook_deletion_desc=このwebhookを削除すると、すべての情報と配信履歴が削除されます。続行しますか?
settings.webhook_deletion_success=Webhook が正常に削除されました。
settings.webhook.test_delivery=テスト配信
settings.webhook.request=リクエスト
@@ -602,7 +497,6 @@ settings.githook_edit_desc=もしフックがアクティブではない場合
settings.githook_name=フックの名前
settings.githook_content=コンテンツをフック
settings.update_githook=フックを更新
-settings.add_webhook_desc=私たちは、指定されたURLに購読されたイベントの詳細を POSTリクエストとして送信します。あなたは、異なるデータ受信モード(JSONまたは, x-www-form-urlencoded, その他 ) を設定することができます。詳細については、Webhookガイド を参照してください。
settings.payload_url=ペイロードの URL
settings.content_type=コンテンツ タイプ
settings.secret=秘密
@@ -617,7 +511,6 @@ settings.event_create_desc=ブランチ、またはタグを作成
settings.event_push=プッシュ
settings.event_push_desc=Git リポジトリにプッシュ
settings.active=アクティブ
-settings.active_helper=このフックのトリガーが引かれた時に、イベントの詳細を配信します。
settings.add_hook_success=新しい webhook が追加されました。
settings.update_webhook=Webhookを更新
settings.update_hook_success=Webhook を更新しました。
@@ -638,13 +531,10 @@ settings.key_been_used=デプロイキーが使用されています。
settings.key_name_used=同じ名前のデプロイキーが既に存在しています。
settings.add_key_success=新しいデプロイキー '%s'が正常に追加されました!
settings.deploy_key_deletion=デプロイキーを削除
-settings.deploy_key_deletion_desc=このデプロイキーを削除すると、このリポジトリに関連するすべてのアクセス権も削除されます。続行しますか。
-settings.deploy_key_deletion_success=デプロイキーが正常に削除された!
diff.browse_source=ソースを参照
diff.parent=親
diff.commit=コミット
-diff.data_not_available=差分データは利用できません。
diff.show_diff_stats=差分情報を表示
diff.show_split_view=分割表示
diff.stats_desc=共有%d 個のファイルを変更した 、%d 個の追加 と %d 個の削除 を含む
@@ -658,10 +548,8 @@ release.stable=安定
release.edit=編集
release.ahead=このリリース以降 %s へ %d コミット
release.source_code=ソース コード
-release.edit_subheader=詳細な変更ログは、ユーザーに何が改善されたかの理解を助けることができます。
release.tag_name=タグ名
release.target=ターゲット
-release.tag_helper=既存のタグを選択するか、新しいタグを作成し発行します。
release.title=タイトル
release.content=コンテント
release.write=書込み
@@ -675,8 +563,6 @@ release.save_draft=下書きを保存
release.edit_release=リリースを編集
release.delete_release=このリリースを削除
release.deletion=リリースの削除
-release.deletion_desc=このリリースを削除すると、対応するGitのタグも削除されます。よろしいですか?
-release.deletion_success=リリースが正常に削除されました。
release.tag_name_already_exist=このタグ名には既にリリースが存在します。
@@ -695,9 +581,6 @@ create_new_team=新しいチームを作成
org_desc=説明
team_name=チーム名
team_desc=説明
-team_name_helper=会話の時、この名前を使用しチーム名を表明します。
-team_desc_helper=このチームに関する全ての情報は?
-team_permission_desc=このチームに必要な権限レベルは?
form.name_reserved=組織名 '%s' は予約されています。
form.name_pattern_not_allowed=組織名のパターン '%s' は許可されていません。
@@ -708,15 +591,11 @@ settings.full_name=フルネーム
settings.website=WEBサイト
settings.location=ロケーション
settings.update_settings=設定の更新
-settings.update_setting_success=組織の設定が更新されました。
-settings.update_avatar_success=組織のアバター画像が正常に更新されました。
settings.delete=組織を削除
settings.delete_account=この組織を削除
settings.delete_prompt=この操作をすると組織が完全に削除され、二度と元に戻すことができなくなります !
settings.confirm_delete_account=削除を確認
settings.delete_org_title=組織の削除
-settings.delete_org_desc=この組織は完全に削除されます、継続しますか?
-settings.hooks_desc=この組織のもとで すべてのリポジトリ に対してトリガーされる webhook を追加します。
members.public=パブリック
members.public_helper=プライベートにする
@@ -735,9 +614,7 @@ teams.leave=退出
teams.read_access=読み取りアクセス権
teams.read_access_helper=このチームはリポジトリの閲覧とクローンをすることができます。
teams.write_access=書き込みアクセス権
-teams.write_access_helper=このチームはリポジトリを読むだけではなく、プッシュすることもできます。
teams.admin_access=管理者のアクセス権
-teams.admin_access_helper=このチームはリポジトリにプッシュ/プル、及び他の共同編集者を追加することができます。
teams.no_desc=このチームは説明がありません。
teams.settings=設定
teams.owners_permission_desc=オーナーはすべてのリポジトリ へのフルアクセス権、組織の 管理権限 を持ちます。
@@ -746,8 +623,6 @@ teams.update_settings=設定の更新
teams.delete_team=このチームを削除
teams.add_team_member=チーム メンバーを追加
teams.delete_team_title=チームの削除
-teams.delete_team_desc=このチームを削除します、継続しますか?このチームのメンバーはいくつかのリポジトリへのアクセスを失う可能性があります。
-teams.delete_team_success=指定のチームが正常に削除されました。
teams.read_permission_desc=このチームは読み取り 権限を持ち: メンバーはリポジトリの表示及びクローンの作成ができます。
teams.write_permission_desc=このチームは書き込み 権限を持ち: メンバーはリポジトリの表示及リポジトリへのプッシュができます。
teams.admin_permission_desc=このチームは管理者 の権限を持ち: メンバーはチームのリポジトリに対して、読み取り、プッシュや共同編集者の追加ができます。
@@ -775,20 +650,8 @@ dashboard.statistic_info=Gitea データベースは %d ユーザ, %d<
dashboard.operation_name=操作の名前
dashboard.operation_switch=スイッチ
dashboard.operation_run=実行
-dashboard.clean_unbind_oauth=結び付けられていない OAuth をクリーン
-dashboard.clean_unbind_oauth_success=結び付けられていない全ての OAuth を正常に削除しました。
dashboard.delete_inactivate_accounts=非アクティブのアカウントをすべて削除
-dashboard.delete_inactivate_accounts_success=すべての非アクティブアカウントは正常に削除されました。
dashboard.delete_repo_archives=リポジトリのすべてのアーカイブを削除
-dashboard.delete_repo_archives_success=リポジトリのすべてのアーカイブが正常に削除されました。
-dashboard.delete_missing_repos=Gitファイルが失われたリポジトリのすべてのレコードを削除
-dashboard.git_gc_repos=リポジトリでのガベージコレクションを実行します。
-dashboard.git_gc_repos_success=すべてのリポジトリは正常にガベージ コレクションを行いました。
-dashboard.resync_all_sshkeys='.ssh/ authorized_keys' ファイルを再生成します。(警告:Giteaキー以外は失われます)
-dashboard.resync_all_sshkeys_success=すべての公開鍵が正常に書き換えられました。
-dashboard.resync_all_update_hooks=リポジトリの update フックをすべて再更新する(カスタムの設定パスが変更されたときに必要)
-dashboard.resync_all_update_hooks_success=リポジトリの update フックがすべて正常に再更新されました。
-
dashboard.server_uptime=サーバーの稼働時間
dashboard.current_goroutine=現在のGoroutine
dashboard.current_memory_usage=現在のメモリ使用量
@@ -819,7 +682,6 @@ dashboard.total_gc_pause=GC一時停止の合計
dashboard.last_gc_pause=直近のGC一時停止
dashboard.gc_times=GC実行回数
-users.user_manage_panel=ユーザー管理パネル
users.new_account=新規アカウントを作成
users.name=名前
users.activated=アクティブ化
@@ -827,35 +689,25 @@ users.admin=アドミン
users.repos=リポジトリ
users.created=作成されました
users.send_register_notify=登録通知をユーザーに送信
-users.new_success=新規アカウント '%s' が正常に作成されました。
users.edit=編集
users.auth_source=認証ソース
users.local=ローカル
users.auth_login_name=認証ログイン名
users.password_helper=それをそのまま空のままにします。
-users.update_profile_success=アカウントのプロファイルが更新されました。
users.edit_account=アカウントの編集
-users.is_activated=アカウントがアクティブされました
users.is_admin=このアカウントには管理者の権限を持つ
-users.allow_git_hook=このアカウントには Git のフックを作成する権限を持つ
users.update_profile=アカウント ・ プロファイルを更新
users.delete_account=このアカウントを削除
-users.still_own_repo=アカウント所有のリポジトリがあり、リポジトリの削除または所有者の移譲が必要です。
-users.still_has_org=アカウントはまだ組織のメンバーであり、組織から退出するか削除する必要があります。
-users.deletion_success=アカウントが正常に削除されました。
-orgs.org_manage_panel=組織の管理パネル
orgs.name=名前
orgs.teams=チーム
orgs.members=メンバー
-repos.repo_manage_panel=リポジトリの管理パネル
repos.owner=オーナー
repos.name=名前
repos.private=プライベート
repos.issues=課題
-auths.auth_manage_panel=認証管理パネル
auths.new=新しいソースを追加
auths.name=名前
auths.type=タイプ
@@ -867,7 +719,6 @@ auths.host=ホスト
auths.port=ポート
auths.bind_dn=バインド DN
auths.bind_password=バインド パスワード
-auths.bind_password_helper=警告: このパスワードは暗号化されずに格納されます。特権を持つアカウントに使用しないでください。
auths.user_base=ユーザ検索ベース
auths.attribute_name=名前属性
auths.attribute_surname=名字属性
@@ -883,14 +734,7 @@ auths.skip_tls_verify=TLSベリファイを省略
auths.pam_service_name=PAMサービス名
auths.enable_auto_register=自動登録を有効にする
auths.tips=ヒント
-auths.edit=認証設定を編集
auths.activated=認証がアクティブされました
-auths.new_success=新しい認証 '%s' が正常に追加されました。
-auths.update_success=認証の設定が正常に更新されました。
-auths.update=認証設定を更新
-auths.delete=この認証を削除
-auths.delete_auth_title=認証削除
-auths.delete_auth_desc=認証を削除します、継続しますか?
auths.deletion_success=認証が正常に削除されました。
config.server_config=サーバーの構成
@@ -927,12 +771,10 @@ config.mail_notify=メール通知
config.disable_key_size_check=最小キー サイズ チェックを無効にします
config.enable_captcha=Captchaを有効にする
config.active_code_lives=コードリンクの有効期限をアクティブ
-config.reset_password_code_lives=パスワードリンクの有効期限をリセット
config.webhook_config=Webhook設定
config.queue_length=キューの長さ
config.deliver_timeout=送信タイムアウト
-config.skip_tls_verify=TLSの確認を省略
config.mailer_config=メーラーの構成
config.mailer_enabled=有効にした
@@ -978,7 +820,6 @@ monitor.start=開始日時
monitor.execute_time=実行時間:
notices.system_notice_list=システム通知
-notices.view_detail_header=お知らせの詳細を表示
notices.actions=アクション
notices.select_all=全て選択
notices.deselect_all=すべて選択解除
@@ -989,7 +830,6 @@ notices.type=タイプ
notices.type_1=リポジトリ
notices.desc=説明
notices.op=Op。
-notices.delete_success=システム通知が正常に削除されました。
[action]
create_repo=がリポジトリ %s を作成しました
@@ -1001,34 +841,35 @@ comment_issue=`問題 %s#%[2]s のコメント`
merge_pull_request=`プルリクエスト %s[2]s をマージしました`
transfer_repo=リポジトリ %s を %s へ転送しました
push_tag=%[3]s に タグ %[2]s をプッシュしました
-compare_commits=これらの %d コミットの比較を表示
[tool]
-ago=前
-from_now=今から
+ago=%s 前
+from_now=%s 今から
now=今
-1s=1 秒 %s
-1m=1 分 %s
-1h=1 時間 %s
-1d=1 日 %s
-1w=1 週間 %s
-1mon=1 ヶ月 %s
-1y=1 年間 %s
-seconds=%d 秒 %s
-minutes=%d分%s
-hours=%d 時間 %s
-days=%d 日 %s
-weeks=%d 週間 %s
-months=%d ヶ月 %s
-years=%d 年 %s
+1s=1 秒
+1m=1 分
+1h=1 時間
+1d=1 日
+1w=1 週間
+1mon=1 ヶ月
+1y=1 年間
+seconds=%d 秒
+minutes=%d 分
+hours=%d 時間
+days=%d 日
+weeks=%d 週間
+months=%d ヶ月
+years=%d 年
raw_seconds=秒
raw_minutes=分
[dropzone]
-default_message=ここにファイルをドロップまたはクリックしてアップロードします。
invalid_input_type=このタイプのファイルはアップロードできません.
-file_too_big=ファイルのサイズ ({{filesize}} MB) では、最大サイズ ({{maxFilesize}} MB) を超えています。
remove_file=ファイル削除
[notification]
+[gpg]
+
+[units]
+
diff --git a/options/locale/locale_ko-KR.ini b/options/locale/locale_ko-KR.ini
index 01390d2..b7528d4 100644
--- a/options/locale/locale_ko-KR.ini
+++ b/options/locale/locale_ko-KR.ini
@@ -29,7 +29,6 @@ mirror=미러
new_repo=새 저장소
new_migrate=새 마이그레이션
new_mirror=새로운 미러
-new_fork=새로운 포크 저장소
new_org=새로운 조직
manage_org=조직 관리
admin_panel=관리자 패널
@@ -38,6 +37,7 @@ settings=설정
your_profile=프로필
your_settings=설정
+
activities=활동
pull_requests=풀 리퀘스트
issues=이슈들
@@ -46,53 +46,39 @@ cancel=취소
[install]
install=설치
-title=첫 실행을 위한 설치단계
-docker_helper=Gitea를 Docker에서 운영하고 있다면 안내 를 읽고 변경해 주세요!
-requite_db_desc=Gitea는 MySQL, PostgreSQL, SQLite3 또는 TiDB가 필요입니다.
db_title=데이터베이스 설정
db_type=데이터베이스 유형
host=호스트
user=사용자
password=비밀번호
db_name=데이터베이스 이름
-db_helper=MySQL에서는 utf8_general_ci 캐릭터셋으로 INNODB엔진을 이용해 주세요
ssl_mode=SSL 모드
path=경로
-sqlite_helper=SQLite3 또는 TiDB 데이터베이스의 파일 경로. 서비스로 시작할 때 절대 경로를 사용하십시오.
err_empty_db_path=SQLite3또는 TiDB의 DB파일 경로는 비어있을 수 없습니다.
err_invalid_tidb_name=TiDB 파일 이름은 "."과 "-"를 허용하지 않습니다.
no_admin_and_disable_registration=관리자 계정을 만들지 않고 등록을 비활성화할 수 없습니다.
err_empty_admin_password=관리자 암호는 비워둘 수 없습니다.
-general_title=애플리케이션 일반 설정
app_name=애플리케이션 이름
-app_name_helper=이곳에 조직 이름을 입력해 주세요
repo_path=저장소 최상위 경로
-repo_path_helper=모든 Git 원격 저장소는 이 디렉터리에 저장 됩니다.
run_user=데몬 사용자 계정
run_user_helper=사용자 계정은 저장소에 접근할 권한과 Gitea를 실행 할 권한이 있어야 합니다.
domain=도메인
domain_helper=Git SSH url에 영향을 미칩니다.
ssh_port=SSH 포트
-ssh_port_helper=SSH서버가 실행되고 있는 포트를 입력하세요. 비워둘 경우 SSH를 사용하지 않습니다.
http_port=HTTP 포트
http_port_helper=포트 번호는 애플리케이션에서 열고 있습니다.
app_url=애플리케이션 URL
-app_url_helper=이 작업은 HTTP/HTTPS 클론 URL과 이메일의 어딘가에 영향을 미칩니다.
log_root_path=로그 경로
log_root_path_helper=로그 파일을 쓸 디렉터리.
optional_title=추가설정
email_title=이메일 서비스 설정
smtp_host=SMTP 호스트
-smtp_from_helper=메일 발송 주소(RFC 5322). 일반적인 이메일 주소형태나 "Name" 형태를 입력할 수 있습니다.
-mailer_user=발송 주소 메일
mailer_password=발송 주소의 비밀번호
register_confirm=등록 확인 활성화
-mail_notify=메일 알림 활성화
server_service_title=서버 및 기타 서비스 설정
offline_mode=오프라인 모드 활성화
-offline_mode_popup=프로덕션 모드에서도 CDN을 사용하지 않습니다. 모든 리소스가 로컬에서 전송됩니다.
disable_gravatar=Gravatar 서비스를 사용 안 함
disable_gravatar_popup=Gravatar 및 사용자 지정 소스를 사용 하지 않습니다. 모든 아바타는 업로드하거나 기본 아바타가 제공됩니다.
federated_avatar_lookup=연합 아바타 조회 활성화
@@ -103,7 +89,6 @@ enable_captcha=Captcha 활성화
enable_captcha_popup=사용자 등록시 캡차 요구
require_sign_in_view=페이지를 보기 위해 로그인 사용 활성화
require_sign_in_view_popup=로그인 사용자만 페이지를 볼 수 있습니다. 방문자는 로그인/가입 페이지만 볼 수 있을 것입니다.
-admin_setting_desc=ID가 1인, 첫번째로 생성된 계정이 관리자 계정이 되므로, 지금 계정을 생성하지 않으셔도 됩니다.
admin_title=관리자 계정 설정
admin_name=이름
admin_password=비밀번호
@@ -111,13 +96,8 @@ confirm_password=비밀번호 확인
admin_email=관리자 이메일
install_btn_confirm=Gitea 설치하기
test_git_failed='git' 명령 테스트 실패: %v
-sqlite3_not_available=설치하신 버전은 SQLite3을 지원하지 않으므로, %s로부터 공식 빌드를 설치하시기 바랍니다. gobuild 버전이 아닙니다.
-invalid_db_setting=데이터베이스 설정이 올바르지 않습니다: %v
invalid_repo_path=저장소 루트 경로가 올바르지 않습니다: %v
-run_user_not_match=실행 유저가 현재 유저가 아닙니다: %s -> %s
-save_config_failed=설정을 저장할 수 없습니다: %v
invalid_admin_setting=관리자 계정 설정이 잘못되었습니다: %v
-install_success=환영합니다! Gitea를 선택해 주셔서 감사합니다.
invalid_log_root_path=로그 루트 경로가 올바르지 않습니다: %v
[home]
@@ -125,7 +105,6 @@ uname_holder=사용자 이름이나 이메일
password_holder=비밀번호
switch_dashboard_context=대시보드 컨텍스트 바꾸기
my_repos=내 저장소
-show_more_repos=더 많은 저장소 보기
collaborative_repos=협업 저장소
my_orgs=내 조직
my_mirrors=내 미러 저장소들
@@ -139,36 +118,23 @@ users=유저
search=검색
[auth]
-create_new_account=새 계정 생성
register_helper_msg=이미 계정을 가지고 계신가요? 로그인하세요!
-social_register_helper_msg=계정을 가지고 계신가요? 연결하세요!
disable_register_prompt=죄송합니다, 가입이 비활성화 되어있습니다. 사이트 관리자에게 문의 해주세요.
disable_register_mail=죄송합니다. 메일 등록이 비활성화 되었습니다.
remember_me=자동 로그인
-forgot_password=비밀번호 찾기
-forget_password=비밀번호를 잊으셨습니까?
sign_up_now=계정이 필요하신가요? 지금 가입하세요.
-confirmation_mail_sent_prompt=새로운 확인 메일이 %s 로 전송되었습니다. 받은 편지함으로 도착한 메일을 %d시간 안에 확인해서 등록 절차를 완료하십시오.
active_your_account=계정 활성화
prohibit_login=로그인 금지됨
-prohibit_login_desc=당신의 계정이 로그인 금지 되었습니다. 관리자에게 문의해주세요.
-resent_limit_prompt=죄송합니다. 이미 최근에 활성화 메일을 요청하셨습니다. 다른 이메일 요청을 하시기 전 3분을 기다리셔야 합니다.
has_unconfirmed_mail=안녕하세요 %s, 이메일 주소(%s )가 확인되지 않았습니다. 확인 메일을 받으시지 못하겼거나 새로운 확인 메일이 필요하다면, 아래 버튼을 클릭해 재발송하실 수 있습니다.
resend_mail=여기를 눌러 확인 메일 재전송
-email_not_associate=이 이메일 주소로 등록된 계정이 없습니다.
-send_reset_mail=여기를 눌러 비밀번호 초기화 메일을 (재)전송
reset_password=비밀번호 초기화
-invalid_code=죄송합니다. 확인 코드가 만료되었거나 유효하지 않습니다.
reset_password_helper=이곳을 눌러 비밀번호를 재설정
password_too_short=비밀번호의 길이는 %d글자 미만일 수 없습니다.
-non_local_account=Gitea 계정이 아니면 암호를 변경할 수 없습니다.
[mail]
activate_account=계정을 활성화하세요
activate_email=이메일 주소 확인
reset_password=비밀번호 초기화
-register_success=등록 성공, 환영합니다.
-register_notify=잘 오셨습니다
[modal]
yes=예
@@ -195,8 +161,6 @@ TreeName=파일 경로
Content=컨텐츠
require_error=` 비어 있을 수 없습니다.`
-alpha_dash_error=`은(는) 숫자, 알파벳, 대시(-_) 문자로만 구성되어야 합니다.`
-alpha_dash_dot_error=` 숫자, 알파벳, 점(.), 대시(-_) 문자로만 구성되어야 합니다.`
size_error=` %s 글자여야 합니다.`
min_size_error=` 최소 %s 글자여야 합니다.`
max_size_error=` %s 글자를 넘을 수 없습니다.`
@@ -204,28 +168,10 @@ email_error=` 올바른 이메일 주소가 아닙니다.`
url_error=` 올바른 URL이 아닙니다.`
include_error=` 반드시 '%s'를 포함해야 합니다.`
unknown_error=알 수 없는 오류:
-captcha_incorrect=보안문자가 일치하지 않습니다.
-password_not_match=비밀번호와 비밀번호 확인이 동일하지 않습니다.
-username_been_taken=이미 사용중인 사용자 이름입니다.
-repo_name_been_taken=이미 사용중인 저장소 이름입니다.
-org_name_been_taken=이미 사용중인 조직 이름입니다.
-team_name_been_taken=이미 사용중인 팀 이름입니다.
-email_been_used=이미 사용중인 이메일 주소입니다.
-username_password_incorrect=사용자 이름이나 비밀번호가 올바르지 않습니다.
-enterred_invalid_repo_name=입력한 저장소 이름이 올바른지 확인하십시오.
-enterred_invalid_owner_name=입력한 사용자 이름이 올바른지 확인하십시오.
-enterred_invalid_password=입력한 비밀번호가 올바른지 확인하십시오.
-user_not_exist=존재하지 않는 사용자입니다.
-last_org_owner=소유자 팀에서 마지막 사용자를 제거하는 것은 허용되지 않습니다. 최소한 한명의 소유자가 있어야 합니다.
-invalid_ssh_key=죄송합니다. SSH 키를 확인할 수 없습니다: %s
-unable_verify_ssh_key=Gitea에서 SSH 키를 검증할 수 없었지만 유효한 키로 가정하였습니다. 키가 올바른지 다시 확인해 주세요.
auth_failed=인증 실패: %v
-still_own_repo=하나 이상의 저장소를 소유하고 있습니다. 저장소를 삭제하거나 다른사람에게 이전해야 합니다.
-still_has_org=하나 이상의 조직의 멤버로 소속되어 있습니다. 탈퇴하거나 조직을 삭제해야 합니다.
-org_still_own_repo=조직이 소유하고 있는 저장소가 있습니다. 삭제하거나 이전해야 합니다.
target_branch_not_exist=대상 브랜치가 존재하지 않습니다.
@@ -240,29 +186,22 @@ following=팔로우 중
follow=추적하기
unfollow=추적해제
-form.name_reserved=사용자 이름 '%s'는 예약되어 있습니다.
-form.name_pattern_not_allowed=사용자 이름 패턴 '%s'은 허용 되지 않습니다.
[settings]
profile=프로필
password=비밀번호
avatar=아바타
-ssh_keys=SSH 키
social=소셜 계정
applications=애플리케이션
orgs=조직
delete=계정 삭제
public_profile=공개 프로필
-profile_desc=이메일 주소가 공개되며, 사이트를 통해 작업하거나 계정과 관련된 모든 알림에 사용됩니다.
-password_username_disabled=내부계정이 아닌 유형의 사용자는 이름 변경이 허용되지 않습니다.
full_name=성명
website=웹 사이트
location=위치
update_profile=프로필 업데이트
-update_profile_success=프로필이 성공적으로 업데이트 되었습니다.
change_username=사용자명 변경
-change_username_prompt=이 변경은 당신의 계정과 연관된 모든 링크에 영향을 줍니다.
continue=계속하기
cancel=취소
@@ -273,15 +212,11 @@ choose_new_avatar=새로운 아바타 선택
update_avatar=아바타 설정 업데이트
delete_current_avatar=현재 아바타 삭제
uploaded_avatar_not_a_image=업로드 된 파일은 이미지가 아닙니다.
-update_avatar_success=아바타 설정을 성공적으로 변경하였습니다.
change_password=비밀번호 변경
old_password=현재 비밀번호
new_password=새 비밀번호
retype_new_password=새 비밀번호 다시 입력
-password_incorrect=현재 비밀번호가 잘못되었습니다.
-change_password_success=비밀번호가 성공적으로 변경되었습니다. 이제 새로운 비밀번호로 로그인할 수 있습니다.
-password_change_disabled=로컬이 아닌 사용자는 자기 암호를 변경할 수 없습니다.
emails=이메일 주소
manage_emails=이메일 주소 관리
@@ -289,70 +224,50 @@ email_desc=주 사용 이메일 주소는 알림과 기타 작업에 사용됩
primary=기본
primary_email=기본으로 설정
delete_email=삭제
-email_deletion=이메일 삭제
-email_deletion_desc=이메일 주소를 삭제하면 당신의 계정과 연관된 정보도 함께 삭제됩니다. 계속 하시겠습니까?
email_deletion_success=이메일 주소를 성공적으로 삭제되하였습니다!
add_new_email=새 이메일 주소 추가
add_email=이메일 추가
-add_email_confirmation_sent=새로운 이메일 주소 인증이 '%s'로 발송되었습니다. %d시간 안에 확인 절차를 완료하셔야 합니다.
add_email_success=새로운 이메일 주소를 성공적으로 추가하였습니다.
manage_ssh_keys=SSH 키 관리
add_key=키 추가
-ssh_desc=다음은 이 계정과 연결된 SSH키 목록입니다. 이 키들은 누구든지 당신의 모든 저장소에 접근할 수 있게 해줍니다. 매우 중요한 것이므로 직접 등록한 것인지 확인하십시오.
-ssh_helper=방법을 모르나요? SSH key에 대한 Github의 가이드를 참조하거나 SSH를 사용하면서 생길 수 있는 문제를 해결하세요
add_new_key=SSH 키 추가
-ssh_key_been_used=공개키 내용이 사용 되었습니다.
-ssh_key_name_used=같은 이름의 공개키가 이미 존재합니다.
key_name=키 이름
key_content=컨텐츠
-add_key_success=새로운 SSH 키 '%s'가 성공적으로 추가 되었습니다!
delete_key=삭제
ssh_key_deletion=SSH 키 삭제
-ssh_key_deletion_desc=이 SSH키를 삭제하면 관계된 계정의 모든 접근권한이 삭제됩니다. 계속 하시겠습니까?
-ssh_key_deletion_success=SSH key가 삭제되었습니다.
add_on=추가 :
last_used=마지막 사용 :
no_activity=최근 활동 없음
-key_state_desc=이 키는 최근 1주일 동안 사용된 적이 있습니다.
-token_state_desc=이 토큰은 최근 1주일 동안 사용된 적이 있습니다.
manage_social=SNS계정 관리
-social_desc=연결된 SNS계정 리스트입니다. 직접 로그인 하지 않은 계정은 연결을 해제하세요.
unbind=해제
-unbind_success=SNS계정이 연결 해제되었습니다.
manage_access_token=개인 액세스 토큰 관리
generate_new_token=새 토큰을 생성
-tokens_desc=Gitea Api에 액세스 하는 데 사용할 수 있는 토큰입니다.
new_token_desc=각 토큰은 당신의 모든 권한을 행사할 수 있습니다.
token_name=토큰 이름
generate_token=토큰 생성
-generate_token_succees=액세스 토큰이 생성되었습니다. 이번에만 확인할 수 있으니 잘 보관하세요.
delete_token=삭제
access_token_deletion=개인 액세스 토큰 삭제
-access_token_deletion_desc=이 토큰을 사용하는 애플리케이션의 접근권한 또한 삭제됩니다. 계속 하시겠습니까?
-delete_token_success=액세스 토큰이 삭제되었습니다. 애플리케이션의 업데이트도 잊지 마세요.
+
+
delete_account=계정 삭제
delete_prompt=당신의 계정을 삭제합니다. 완료된 후에는 취소할 수 없습니다 .
confirm_delete_account=삭제 승인
delete_account_title=계정 삭제
-delete_account_desc=이 계정은 영구적으로 삭제 될 것입니다. 계속 하시겠습니까?
[repo]
owner=소유자
repo_name=저장소 이름
-repo_name_helper=좋은 저장소 이름은 짧고 기억하기 좋은 유니크한 키워드로 이루어 집니다.
visibility=가시성
visiblity_helper=이 저장소는 비공개 저장소입니다
-visiblity_helper_forced=사이트 관리자가 모든 저장소를 비공개 로 변경하였습니다.
visiblity_fork_helper=(이 값의 변경은 모든 포크에 영향을 줍니다)
clone_helper=클론하는데에 도움이 필요하면 Help 에 방문하세요.
fork_repo=저장소 포크
fork_from=원본 프로젝트 :
-fork_visiblity_helper=포크한 저장소의 공개 설정을 변경할 수 없습니다.
repo_desc=설명
repo_lang=언어
repo_gitignore_helper=.gitignore 서식을 선택합니다
@@ -363,18 +278,12 @@ auto_init=선택한 파일과 템플릿으로 이 저장소를 초기화 합니
create_repo=저장소 만들기
default_branch=기본 브랜치
mirror_prune=정리
-mirror_prune_desc=원격에 존재하지 않는 모든 원격 추적 참조들을 제거
-mirror_interval=미러링 주기 (시간)
mirror_address=미러 대상 주소
-mirror_address_desc=주소에 필요한 자격 증명을 포함하십시오.
mirror_last_synced=마지막으로 동기화됨
watchers=주시하고 있는 사람들
stargazers=별을 준 사람들
forks=포크
-form.reach_limit_of_creation=소유자가 저장소 만들기 최대 제한에 (%d개) 도달했습니다.
-form.name_reserved=저장소 이름 '%s'은 예약 되어 있습니다.
-form.name_pattern_not_allowed=저장소 이름 패턴 '%s'은 허용 되지 않습니다.
need_auth=인증 필요
migrate_type=마이그레이션 유형
@@ -397,9 +306,6 @@ fork=포크
no_desc=설명 없음
quick_guide=퀵 가이드
clone_this_repo=이 저장소 복제
-create_new_repo_command=커맨드 라인에서 새 저장소 만들기
-push_exist_repo=커맨드 라인에서 기존 저장소 푸시하기
-repo_is_empty=이 저장소는 비어 있습니다. 나중에 다시 와주세요!
code=코드
branch=브렌치
@@ -422,7 +328,6 @@ editor.new_file=파일 생성
editor.upload_file=파일 업로드
editor.edit_file=파일 수정
editor.preview_changes=변경내용 미리보기
-editor.cannot_edit_non_text_files=텍스트가 아닌 파일을 편집할 수 없습니다.
editor.edit_this_file=해당 파일 편집
editor.must_be_on_a_branch=파일 변경을 제안하려면 해당하는 브랜치에 있어야 합니다.
editor.fork_before_edit=파일을 편집 하기 전에 이 저장소를 포크 해야 합니다.
@@ -448,7 +353,6 @@ editor.branch_already_exists=이 저장소에 브랜치 '%s'가 이미 존재합
editor.directory_is_a_file=항목 '%s'의 상위 경로는 이 저장소의 디렉토리가 아닌 파일입니다.
editor.filename_is_a_directory=파일명 '%s'는 이 저장소에 이미 존재하는 디렉토리명입니다.
editor.file_editing_no_longer_exists=편집중인 파일 '%s'는 저장소에 더 이상 존재하지 않습니다.
-editor.file_changed_while_editing=편집을 시작한 이후 파일 내용이 변경되었습니다. 변경된 내용을 보려면 여기를 누르십시오 . 변경 사항을 덮어 쓰려면 다시 커밋 을 누르십시오.
editor.file_already_exists=이 저장소에 이름이 '%s'인 파일이 이미 존재합니다.
editor.no_changes_to_show=표시할 변경사항이 없습니다.
editor.fail_to_update_file=파일 '%s'를 변경/추가 하는데 실패하였습니다. 에러: %v
@@ -458,13 +362,13 @@ editor.upload_files_to_dir=파일 업로드 '%s'
commits.commits=커밋
commits.search=커밋 검색
-commits.find=찾기
commits.author=작성자
commits.message=메시지
commits.date=날짜
commits.older=이전
commits.newer=최신
+
issues.new=새로운 이슈
issues.new.labels=레이블
issues.new.no_label=레이블 없음
@@ -482,7 +386,6 @@ issues.new_label=새로운 레이블
issues.new_label_placeholder=레이블 이름...
issues.create_label=레이블 만들기
issues.label_templates.title=사전정의 라벨 로드
-issues.label_templates.info=아직 라벨이 없습니다. 위의 '새 라벨' 버튼을 클릭하여 라벨을 하나 만들거나 사전정의 세트를 사용할 수 있습니다.
issues.label_templates.helper=라벨 세트 선택
issues.label_templates.use=라벨 세트 사용
issues.label_templates.fail_to_load_file=라벨 템플릿 파일 '%s'를 로드하는데 실패하였습니다.: %v
@@ -538,8 +441,6 @@ issues.label_edit=수정
issues.label_delete=삭제
issues.label_modify=레이블 수정
issues.label_deletion=레이블 삭제
-issues.label_deletion_desc=이 라벨 삭제시 관련된 모든 이슈도 제거 됩니다. 계속 하시겠습니까?
-issues.label_deletion_success=라벨이 성공적으로 삭제 되었습니다!
issues.num_participants=참여자 %d명
issues.attachment.open_tab=`클릭하여 "%s" 새탭으로 보기`
issues.attachment.download=' "%s"를 다운로드 하려면 클릭 하십시오 '
@@ -559,16 +460,12 @@ pulls.merged_title_desc=%[2]s 에서 %[3]s 로 %[1]d c
pulls.tab_conversation=대화
pulls.tab_commits=커밋
pulls.tab_files=파일 변경됨
-pulls.reopen_to_merge=머지 작업을 수행하려면 이 풀리퀘스트를 다시 열어주세요.
pulls.merged=병합
-pulls.has_merged=이 풀리퀘스트가 성공적으로 머지되었습니다!
pulls.data_broken=fork 정보의 삭제로 인해 이 풀리퀘스트의 데이터는 손상되었습니다.
pulls.is_checking=아직 컨플릭트 여부 체크 중입니다, 잠시 후 이 페이지를 리프레시 해주세요.
pulls.can_auto_merge_desc=이 풀리퀘스트는 자동적으로 머지될 수 있습니다.
-pulls.cannot_auto_merge_desc=컨플릭이 존재해서 이 풀리퀘스트는 자동을 머지될 수 없습니다.
pulls.cannot_auto_merge_helper=컨플릭을 해결하려면 수동으로 머지해 주십시오.
pulls.merge_pull_request=풀리퀘스트 머지
-pulls.open_unmerged_pull_exists=`같은 리파지토리에서 같은 머지 정보로 만들어진 풀리퀘스트 (#%d) 가 이미 오픈 상태이고 머지를 기다리고 있기 때문에 다시 열기 작업을 할 수 없습니다.`
milestones.new=새로운 마일스톤
milestones.open_tab=%d개 열림
@@ -586,27 +483,22 @@ milestones.clear=지우기
milestones.invalid_due_date_format=기한일 형식이 잘못되었습니다 'yyyy-mm-dd'.
milestones.create_success=마일스톤 '%s'가 생성되었습니다!
milestones.edit=마일스톤 편집
-milestones.edit_subheader=마일스톤에 대한 자세한 설명을 기술하여 사용자들의 이해를 도우세요.
milestones.cancel=취소
milestones.modify=마일스톤 수정
milestones.edit_success=마일스톤 '%s'의 변경사항이 성공적으로 저장되었습니다.
milestones.deletion=마일스톤 삭제
-milestones.deletion_desc=이 마일스톤 삭제시 관련된 모든 이슈도 제거 됩니다. 계속 하시겠습니까?
milestones.deletion_success=마일스톤이 성공적으로 삭제 되었습니다!
+
wiki=위키
-wiki.welcome=위키에 오신것을 환영합니다!
-wiki.welcome_desc=위키는 프로젝트를 문서화 하고 더 좋게 만들어 나가는 곳입니다.
wiki.create_first_page=첫 번째 페이지 만들기
wiki.page=페이지
wiki.new_page=새 페이지 만들기
-wiki.default_commit_message=이 업데이트에 대한 메모를 작성하세요.(선택사항)
wiki.save_page=페이지 저장하기
wiki.last_commit_info=%s이(가) %s에 이 페이지를 수정함
wiki.edit_page_button=수정하기
wiki.new_page_button=새로운 페이지
wiki.delete_page_button=페이지 삭제
-wiki.delete_page_notice_1=이것은 페이지 %s 를 삭제할 것입니다. 다시 한번 확인하세요.
wiki.page_already_exists=같은 이름의 위키 페이지가 이미 존재 합니다.
wiki.pages=페이지
wiki.last_updated=마지막 업데이트: %s
@@ -621,7 +513,6 @@ settings.collaboration.undefined=미정의
settings.basic_settings=기본 설정
settings.mirror_settings=미러 설정
settings.sync_mirror=지금 동기화
-settings.mirror_sync_in_progress=미러 동기화 진행 중입니다. 약 1분 뒤에 페이지를 새로 고침 하세요.
settings.site=공식 사이트
settings.update_settings=설정 저장
settings.advanced_settings=고급 설정
@@ -642,29 +533,18 @@ settings.pulls_desc=끌어오기 요청을 공개적으로 기여받을 수 있
settings.danger_zone=위험 설정
settings.new_owner_has_same_repo=새로운 소유자가 같은 이름의 저장소를 이미 가지고 있습니다. 다른 이름을 선택해주세요.
settings.convert=일반 리파지토리로 변환
-settings.convert_desc=이 미러를 일반 리파지토리로 변환할 수 없습니다. 반대로는 할 수 없습니다.
settings.convert_notices_1=- 이 작업은 저장소 미러를 일반 저장소로 변환하며 취소할 수 없습니다.
settings.convert_confirm=변환 확인
-settings.convert_succeed=저장소를 일반 형식으로 변환하는데 성공하였습니다.
settings.transfer=소유권 이전
settings.transfer_desc=이 저장소를 다른 사용자 또는 관리자 권한이 있는 조직으로 이전하십시오.
-settings.transfer_notices_1=- 새 소유자가 개인 사용자인 경우 접근 권한을 잃게됩니다.
-settings.transfer_notices_2=- 새 소유자가 조직이고 소유자인 경우 접근 권한이 유지됩니다.
-settings.transfer_form_title=작업을 확인하려면 다음 정보를 입력하십시오.
settings.wiki_delete=위키 데이터 지우기
settings.wiki_delete_desc=위키 데이터를 지우고 나면 되돌릴 수 없습니다. 다시 한번 확인하세요.
settings.wiki_delete_notices_1=- 이것은 %s의 Wiki를 비활성화 시키고 삭제할 것입니다.
-settings.wiki_deletion_success=저장소의 Wiki 데이터가 성공적으로 삭제 되었습니다.
settings.delete=이 저장소 삭제
settings.delete_desc=저장소를 지우고 나면 되돌릴 수 없습니다. 다시 한번 확인하세요.
settings.delete_notices_1=- 이 작업은 취소할 수 없습니다.
-settings.delete_notices_2=- 이 작업은 저장소의 모든 항목을 영구적으로 삭제합니다. Git 데이터, 이슈, 주석 및 공동 작업자의 액세스를 포함합니다.
-settings.delete_notices_fork_1=- 모든 포크들은 삭제 후에도 독립적으로 유지됩니다.
-settings.deletion_success=저장소가 성공적으로 삭제 되었습니다!
-settings.update_settings_success=저장소 옵션이 성공적으로 업데이트 되었습니다.
settings.transfer_owner=새 소유자
settings.make_transfer=저장소 전송
-settings.transfer_succeed=저장소 소유권을 성공적으로 이전했습니다.
settings.confirm_delete=삭제 확인
settings.add_collaborator=새 공동작업자 추가
settings.add_collaborator_success=새로운 공동작업자가 추가 되었습니다.
@@ -676,13 +556,10 @@ settings.search_user_placeholder=사용자 검색...
settings.org_not_allowed_to_be_collaborator=조직을 공동 작업자로 추가할 수 없습니다.
settings.user_is_org_member=사용자가 조직 구성원이므로 공동 작업자로 추가할 수 없습니다.
settings.add_webhook=Webhook 추가
-settings.hooks_desc=웹후크는 기본적인 HTTP POST 이벤트 트리거입니다. Gitea에서 무슨 일이 발생할 때마다, 지정한 대상 호스트에 알림을 보냅니다. 웹후크 안내서 에서 자세히 알아보십시오.
settings.webhook_deletion=Webhook 삭제
-settings.webhook_deletion_desc=이 웹훅을 삭제하면 정보와 모든 전송기록이 제거됩니다. 계속 하시겠습니까?
settings.webhook_deletion_success=Webhook을 성공적으로 삭제했습니다!
settings.webhook.test_delivery=전달 시험
settings.webhook.test_delivery_desc=가짜 푸시 이벤트 전달하여 웹훅 설정을 테스트합니다.
-settings.webhook.test_delivery_success=Webhook 테스트가 delivery 큐에 추가되었습니다. delivery 기록에서 나오기까지 몇 초의 시간이 걸릴 것입니다.
settings.webhook.request=요청
settings.webhook.response=응답
settings.webhook.headers=제목
@@ -693,7 +570,6 @@ settings.githook_edit_desc=후크가 비활성인 경우 샘플 콘텐츠가 표
settings.githook_name=Hook 이름
settings.githook_content=Hook 내용
settings.update_githook=Hook 갱신
-settings.add_webhook_desc=Gitea는 발생한 이벤트와 관련하여 지정한 URL로 POST 요청을 보냅니다. 또한 후크를 트리거 할 때 어떤 데이터 형식을 사용할지 지정할 수 있습니다.(JSON, x-www-form-urlencoded, XML 등) 자세한 내용은 웹훅 안내서 를 참조하십시오.
settings.payload_url=페이로드 URL
settings.content_type=컨텐츠 타입
settings.secret=비밀
@@ -711,7 +587,6 @@ settings.event_pull_request_desc=끌어오기 요청 열기, 닫기, 다시 열
settings.event_push=푸시
settings.event_push_desc=깃 저장소로 푸시
settings.active=활성
-settings.active_helper=후크를 트리거하면 이벤트에 대한 세부 정보도 전달됩니다.
settings.add_hook_success=새로운 웹훅이 생성되었습니다.
settings.update_webhook=Webhook 갱신
settings.update_hook_success=웹훅이 업데이트 되었습니다.
@@ -732,13 +607,10 @@ settings.key_been_used=배포 키 컨텐츠가 사용되었습니다.
settings.key_name_used=동일한 이름 가진 배포 키가 이미 존재합니다.
settings.add_key_success=새로운 배포 키 '%s'가 성공적으로 추가 되었습니다!
settings.deploy_key_deletion=배포 키 삭제
-settings.deploy_key_deletion_desc=이 배포키를 삭제하면 이 저장소와 관련된 모든 접근 권한이 삭제됩니다. 계속 하시겠습니까?
-settings.deploy_key_deletion_success=배포 키가 성공적으로 삭제되었습니다!
diff.browse_source=소스 검색
diff.parent=부모
diff.commit=커밋
-diff.data_not_available=아직 변경 데이터를 사용할 수 없습니다.
diff.show_diff_stats=변경상태 보기
diff.show_split_view=분할 보기
diff.show_unified_view=통합 보기
@@ -755,11 +627,8 @@ release.stable=안정
release.edit=편집
release.ahead=이 릴리스 이후로 %d %s에 커밋합니다.
release.source_code=소스 코드
-release.new_subheader=릴리스를 게시하여 제품 반복하기.
-release.edit_subheader=상세한 변경 로그는 개선된 내용을 사용자가 이해할 수 있도록 도와줍니다.
release.tag_name=태그 이름
release.target=대상
-release.tag_helper=태그를 선택하거나 새로운 태그를 만들어 게시
release.title=제목
release.content=컨텐츠
release.write=쓰기
@@ -773,8 +642,6 @@ release.save_draft=초안 저장
release.edit_release=릴리즈 편집
release.delete_release=이 릴리즈를 삭제
release.deletion=릴리즈 삭제
-release.deletion_desc=이 릴리즈를 삭제하면 깃 태그도 삭제됩니다. 정말로 진행하시겠습니까?
-release.deletion_success=릴리즈가 성공적으로 삭제되었습니다!
release.tag_name_already_exist=이 태그 이름을 가진 릴리즈가 이미 존재합니다.
release.tag_name_invalid=태그 명이 올바르지 않습니다.
release.downloads=다운로드
@@ -795,9 +662,6 @@ create_new_team=새로운 팀 생성
org_desc=설명
team_name=팀 이름
team_desc=설명
-team_name_helper=대화에서 이 팀을 언급할 때 이 이름을 사용합니다.
-team_desc_helper=이 팀은 무엇입니까?
-team_permission_desc=이 팀이 가진 권한이 무엇입니까?
form.name_reserved=조직이름 '%s'는 예약되어있습니다.
form.name_pattern_not_allowed=조직이름 패턴 '%s'는 허용되지 않았습니다.
@@ -808,16 +672,11 @@ settings.full_name=성명
settings.website=웹 사이트
settings.location=위치
settings.update_settings=설정 업데이트
-settings.update_setting_success=조직 설정이 성공적으로 변경되었습니다.
-settings.change_orgname_prompt=이 변경은 이 저장소와 연관된 조직들에 영향을 줄 것입니다.
-settings.update_avatar_success=조직 아바타 설정을 성공적으로 변경하였습니다.
settings.delete=조직 삭제
settings.delete_account=이 조직을 삭제합니다.
settings.delete_prompt=조직이 영구적으로 삭제됩니다. 그리고 취소할 수 없습니다.
settings.confirm_delete_account=삭제 승인
settings.delete_org_title=조직 삭제
-settings.delete_org_desc=이 조직이 영구적으로 삭제됩니다. 정말로 진행하시겠습니까?
-settings.hooks_desc=이 조직의 모든 저장소 에서 실행되는 웹훅을 추가합니다.
members.membership_visibility=회원 표시:
members.public=공개
@@ -837,9 +696,7 @@ teams.leave=탈퇴
teams.read_access=읽기 접근
teams.read_access_helper=이 팀이 저장소들을 복제하거나 열람할 수 있게됩니다.
teams.write_access=쓰기 접근
-teams.write_access_helper=이 팀이 저장소들을 읽거나 푸시할 수 있게 됩니다.
teams.admin_access=관리자 접근
-teams.admin_access_helper=이 팀이 저장소들을 푸시하거나 끌어오고, 새로운 공동 작업자를 추가할 수 있게됩니다.
teams.no_desc=이 팀은 설명이 없습니다.
teams.settings=설정
teams.owners_permission_desc=소유자는 모든 저장소 에 대한 모든 권한을 가지며 조직에 관리자 권한 을 가지고 있습니다.
@@ -848,8 +705,6 @@ teams.update_settings=설정 업데이트
teams.delete_team=이 팀을 삭제하기
teams.add_team_member=팀 구성원 추가
teams.delete_team_title=팀 삭제
-teams.delete_team_desc=이 팀을 삭제하면 몇몇 저장소에대해 팀 구성원이 접근 권한을 잃게됩니다. 계속하시겠습니까?
-teams.delete_team_success=팀이 성공적으로 삭제되었습니다.
teams.read_permission_desc=이 팀의 읽기 권한을 부여: 회원은 이 팀의 저장소를 보거나 복제할 수 있습니다.
teams.write_permission_desc=이 팀의 쓰기 권한을 부여: 회원은 이 팀의 저장소를 읽거나 푸시할 수 있습니다.
teams.admin_permission_desc=이 팀의 관리자 권한을 부여: 회원은 이 팀의 저장소를 읽거나 푸시하거나 추가하고 공동 작업자를 추가할 수 있습니다.
@@ -879,23 +734,8 @@ dashboard.statistic_info=Gitea 데이터베이스에는 %d 명의 사용
dashboard.operation_name=작업 명
dashboard.operation_switch=스위치
dashboard.operation_run=실행
-dashboard.clean_unbind_oauth=연결되지 않은 OAuth들을 정리
-dashboard.clean_unbind_oauth_success=연결되지 않은 모든 OAuth들이 성공적으로 삭제되었습니다.
dashboard.delete_inactivate_accounts=활성화되지 않은 모든 계정을 삭제합니다.
-dashboard.delete_inactivate_accounts_success=활성화 되지 않은 모든 계정들이 성공적으로 삭제되었습니다.
dashboard.delete_repo_archives=모든 저장소와 아카이브를 삭제합니다.
-dashboard.delete_repo_archives_success=모든 저장소와 아카이브가 성공적으로 삭제되었습니다.
-dashboard.delete_missing_repos=깃 파일들을 잃어버린 모든 저장소를 삭제합니다.
-dashboard.delete_missing_repos_success=깃 파일을 잃은 모든 저장소가 성공적으로 삭제되었습니다.
-dashboard.git_gc_repos=저장소들의 가비지 콜렉션을 진행합니다.
-dashboard.git_gc_repos_success=모든 저장소의 가비지 콜렉션이 성공적으로 완료되었습니다.
-dashboard.resync_all_sshkeys='.ssh/authorized_keys' 파일을 다시 작성합니다. (주의: non-Gitea키는 손실됩니다)
-dashboard.resync_all_sshkeys_success=모든 공개키들이 성공적으로 재작성되었습니다.
-dashboard.resync_all_update_hooks=모든 저장소의 업데이트 훅들을 재작성합니다. (사용자 설정 경로가 변경될때 필요)
-dashboard.resync_all_update_hooks_success=모든 저장소의 업데이트 훅이 성공적으로 재작성되었습니다.
-dashboard.reinit_missing_repos=깃 파일들을 잃어버린 모든 저장소를 다시 초기화합니다.
-dashboard.reinit_missing_repos_success=깃 파일을 잃은 모든 저장소를 다시 초기화 하는데 성공하였습니다.
-
dashboard.server_uptime=서버를 켠 시간
dashboard.current_goroutine=현재 Go루틴
dashboard.current_memory_usage=현재 메모리 사용율
@@ -926,7 +766,6 @@ dashboard.total_gc_pause=모든 가비지 콜렉션 중지
dashboard.last_gc_pause=마지막 가비지 콜렉션 중지
dashboard.gc_times=가비지 콜렉션 시간
-users.user_manage_panel=사용자 관리 패널
users.new_account=새 계정 생성
users.name=이름
users.activated=활성화됨
@@ -934,40 +773,29 @@ users.admin=관리자
users.repos=저장소
users.created=작성일
users.send_register_notify=사용자에게 등록 알림 보내기
-users.new_success=새로운 계정 '%s'가 성공적으로 생성 되었습니다.
users.edit=수정하기
users.auth_source=인증 소스
users.local=로컬
users.auth_login_name=인증 로그인 이름
users.password_helper=변경되지 않은 상태로 두려면 비워둡니다.
-users.update_profile_success=프로필이 성공적으로 업데이트 되었습니다.
users.edit_account=계정 설정
users.max_repo_creation=최대 저장소 생성 제한
users.max_repo_creation_desc=(-1로 설정하면 전역 기본 제한을 따릅니다.)
-users.is_activated=계정이 활성화되었습니다.
-users.prohibit_login=이 계정은 로그인할 수 없습니다.
users.is_admin=이 계정은 관리자 권한이 있습니다.
-users.allow_git_hook=이 계정은 깃훅을 생성할 수 있습니다.
users.allow_import_local=이 계정은 로컬 저장소 가져오기 권한이 있습니다.
users.update_profile=프로필 변경
users.delete_account=계정 삭제
-users.still_own_repo=이 계정은 하나 이상의 저장소를 소유하고 있습니다. 먼저 저장소를 삭제하거나 다른 사람에게 이전해야 합니다.
-users.still_has_org=이 계정은 하나 이상의 조직의 멤버로 소속되어 있습니다. 먼저 탈퇴하거나 조직을 삭제해야 합니다.
-users.deletion_success=계정이 성공적으로 삭제되었습니다.
-orgs.org_manage_panel=조직 관리 패널
orgs.name=이름
orgs.teams=팀
orgs.members=멤버
-repos.repo_manage_panel=저장소 관리 패널
repos.owner=소유자
repos.name=이름
repos.private=비공개
repos.watches=지켜보기
repos.issues=이슈
-auths.auth_manage_panel=인증 관리 패널
auths.new=새로운 소스를 추가
auths.name=이름
auths.type=유형
@@ -981,7 +809,6 @@ auths.host=호스트
auths.port=포트
auths.bind_dn=DN 연결
auths.bind_password=비밀번호 연결
-auths.bind_password_helper=경고: 이 암호는 일반 텍스트로 저장됩니다. 높은 권한의 계정을 사용하지 마십시오.
auths.user_base=사용자 검색 기준
auths.user_dn=사용자 DN
auths.attribute_username=유저 명 속성
@@ -996,21 +823,12 @@ auths.smtp_auth=SMTP 인증 유형
auths.smtphost=SMTP 호스트
auths.smtpport=SMTP 포트
auths.allowed_domains=허용된 도메인
-auths.allowed_domains_helper=도메인을 제안하지 않으려면 비워둡니다. 여러 도메인은 ',' 콤마를 이용해 구분합니다.
auths.enable_tls=TLS 암호화 활성화
auths.skip_tls_verify=TLS 검증 건너뛰기
auths.pam_service_name=PAM 서비스 명
auths.enable_auto_register=자동 등록을 활성화
auths.tips=도움말
-auths.edit=인증 설정 편집
auths.activated=이 인증정보는 활성화되어있습니다.
-auths.new_success=새로운 인증 '%s'가 성공적으로 추가 되었습니다.
-auths.update_success=인증 설정이 성공적으로 변경되었습니다.
-auths.update=인증 설정 업데이트
-auths.delete=이 인증을 삭제합니다.
-auths.delete_auth_title=인증 삭제
-auths.delete_auth_desc=이 인증이 삭제됩니다. 정말로 진행하시겠습니까?
-auths.still_in_used=이 인증은 아직 몇몇 사용자들이 사용하고 있습니다, 먼저 사용자들의 로그인 유형을 삭제하거나 변경해주십시오.
auths.deletion_success=인증이 성공적으로 삭제 되었습니다!
config.server_config=서버 설정
@@ -1030,7 +848,6 @@ config.reverse_auth_user=역방향 사용자 인증
config.ssh_config=SSH 설정
config.ssh_enabled=활성화됨
-config.ssh_start_builtin_server=빌트인 서버 시작
config.ssh_domain=도메인
config.ssh_port=포트
config.ssh_listen_port=수신 대기 포트
@@ -1059,12 +876,10 @@ config.mail_notify=메일 알림
config.disable_key_size_check=최소 키 크기 검사를 비활성화
config.enable_captcha=Captcha 활성화
config.active_code_lives=코드 만료 기한
-config.reset_password_code_lives=비밀번호 코드 만료 기한
config.webhook_config=웹훅 설정
config.queue_length=큐 길이
config.deliver_timeout=시간 제한 사용
-config.skip_tls_verify=TLS 확인 건너뛰기
config.mailer_config=메일러 설정
config.mailer_enabled=활성화됨
@@ -1073,7 +888,6 @@ config.mailer_name=이름
config.mailer_host=호스트
config.mailer_user=사용자
config.send_test_mail=테스트 이메일 보내기
-config.test_mail_failed='%s'로 테스트 이메일을 보내는데 실패하였습니다.: %v
config.test_mail_sent='%s'로 테스트 이메일을 보냈습니다.
config.oauth_config=OAuth 설정
@@ -1126,7 +940,6 @@ monitor.start=시작 시간
monitor.execute_time=실행 시간
notices.system_notice_list=시스템 공지
-notices.view_detail_header=공지 세부사항 보기
notices.actions=동작
notices.select_all=모두 선택
notices.deselect_all=모두 선택 해제
@@ -1137,7 +950,6 @@ notices.type=유형
notices.type_1=저장소
notices.desc=설명
notices.op=일.
-notices.delete_success=시스템 알림들이 성공적으로 삭제되었습니다.
[action]
create_repo=저장소를 만들었습니다. %s
@@ -1153,34 +965,35 @@ comment_issue=`이슈에 댓글이 달렸습니다. %s #
merge_pull_request=`병합된 끌어오기 요청 %s #%[2]s `
transfer_repo=%s에서 %s 로 저장소가 전송되었습니다.
push_tag=태그 %[2]s 를 %[3]s 로 푸시함
-compare_commits=이 %d개의 커밋에 대한 비교 보기
[tool]
-ago=전
-from_now=지금부터
+ago=%s 전
+from_now=%s 지금부터
now=현재
-1s=1 초 %s
-1m=1 분 %s
-1h=1 시간 %s
-1d=1 일 %s
-1w=1 주 %s
-1mon=1 개월 %s
-1y=1 년 %s
-seconds=%d 초 %s
-minutes=%d 분 %s
-hours=%d 시간 %s
-days=%d 일 %s
-weeks=%d 주 %s
-months=%d 달 %s
-years=%d 년 %s
+1s=1 초
+1m=1 분
+1h=1 시간
+1d=1 일
+1w=1 주
+1mon=1 개월
+1y=1 년
+seconds=%d 초
+minutes=%d 분
+hours=%d 시간
+days=%d 일
+weeks=%d 주
+months=%d 달
+years=%d 년
raw_seconds=초
raw_minutes=분
[dropzone]
-default_message=여기에 파일을 끌어 놓거나 클릭하여 업로드하세요.
invalid_input_type=이 종류의 파일은 업로드할 수 없습니다.
-file_too_big=파일 크기({{filesize}} MB)가 최대 크기({{maxFilesize}} MB)를 초과합니다.
remove_file=파일 제거
[notification]
+[gpg]
+
+[units]
+
diff --git a/options/locale/locale_lt-LT.ini b/options/locale/locale_lt-LT.ini
new file mode 100644
index 0000000..e530a3b
--- /dev/null
+++ b/options/locale/locale_lt-LT.ini
@@ -0,0 +1,344 @@
+
+home=Pagrindinis
+dashboard=Skydelis
+explore=Naršyti
+help=Pagalba
+sign_in=Prisijungti
+sign_out=Atsijungti
+sign_up=Registruotis
+register=Užsiregistruoti
+website=Tinklalapis
+version=Versija
+page=Puslapis
+template=Šablonas
+language=Kalba
+notifications=Pranešimai
+create_new=Sukurti...
+user_profile_and_more=Vartotojo profilis ir daugiau
+signed_in_as=Prisijungta kaip
+
+username=Vartotojo vardas
+email=El. paštas
+password=Slaptažodis
+re_type=Iš naujo įveskite
+captcha=Saugos kodas
+twofa=Dviejų-žingsnių atpažinimas
+
+repository=Saugykla
+organization=Organizacija
+mirror=Veidrodis
+new_repo=Nauja saugykla
+new_mirror=Naujas veidrodis
+new_org=Nauja organizacija
+manage_org=Valdyti organizacijas
+account_settings=Paskyros nustatymai
+settings=Nustatymai
+your_profile=Jūsų profilis
+your_settings=Jūsų parametrai
+
+
+activities=Veiklos
+issues=Problemos
+
+cancel=Atšaukti
+
+[install]
+install=Diegimas
+db_title=Duombazės nustatymai
+db_type=Duomenų bazės tipas
+host=Serveris
+user=Vartotojas
+password=Slaptažodis
+db_name=Duomenų bazės pavadinimas
+ssl_mode=SSL režimas
+path=Kelias
+err_empty_db_path=SQLite3 arba TiDB duomenų bazės kelias negali būti tuščias.
+err_invalid_tidb_name=TiDB duomenų bazės pavadinime negalima naudoti simbolių "." ir "-".
+no_admin_and_disable_registration=Jūs negalite išjungti registravimo nesukūrę administratoriaus paskyros.
+err_empty_admin_password=Administratoriaus slaptažodis negali būti neįvestas.
+
+app_name=Programos pavadinimas
+repo_path=Saugyklos šakninis kelias
+lfs_path=FTP šakninis kelias
+run_user=Paleisti vartotoju
+domain=Domenas
+ssh_port=SSH prievadas
+http_port=HTTP prievadas
+log_root_path=Žurnalo kelias
+
+optional_title=Pasirenkami nustatymai
+smtp_host=SMTP serveris
+smtp_from=Nuo
+mailer_password=Siuntėjo slaptažodis
+admin_name=Vartotojo vardas
+admin_password=Slaptažodis
+confirm_password=Patvirtinkite slaptažodį
+
+[home]
+uname_holder=Naudotojo vardas ar el. paštas
+password_holder=Slaptažodis
+my_repos=Mano saugyklos
+my_orgs=Mano organizacijos
+my_mirrors=Mano veidrodžiai
+view_home=Rodyti %s
+search_repos=Rasti saugyklą...
+
+issues.in_your_repos=Savo saugyklose
+
+[explore]
+repos=Saugyklos
+users=Vartotojai
+organizations=Organizacijos
+search=Ieškoti
+
+[auth]
+register_helper_msg=Jau turite paskyrą? Prisijunkite dabar!
+disable_register_prompt=Atsiprašome, registracija yra išjungta. Prašome susisiekti su svetainės administratoriumi.
+remember_me=Prisiminti mane
+sign_up_now=Reikia paskyros? Prisiregistruokite dabar.
+active_your_account=Aktyvinkite savo paskyrą
+prohibit_login=Prisijungimas uždraustas
+resend_mail=Spauskite čia norėdami persiųsti aktyvacijos laišką
+reset_password=Atstatyti slaptažodį
+reset_password_helper=Paspauskite čia norėdami pakeisti savo slaptažodį
+password_too_short=Slaptažodis negali būti trumpesnis nei %d simbolių.
+verify=Patikrinti
+
+[mail]
+activate_account=Prašome suaktyvinti savo paskyrą
+activate_email=Patvirtinkite savo elektroninio pašto adresą
+reset_password=Atstatyti slaptažodį
+
+[modal]
+yes=Taip
+no=Ne
+modify=Pakeisti
+
+[form]
+UserName=Vartotojo vardas
+RepoName=Saugyklos pavadinimas
+Email=El. pašto adresas
+Password=Slaptažodis
+Retype=Pakartokite slaptažodį
+SSHTitle=SSH rakto pavadinimas
+HttpsUrl=HTTPS URL
+TeamName=Komandos pavadinimas
+AdminEmail=Administratoriaus el. paštas
+
+TreeName=Failo kelias
+Content=Turinys
+
+unknown_error=Nežinoma klaida:
+
+
+auth_failed=Autentifikacija nepavyko: %v
+
+
+
+[user]
+change_avatar=Pakeisti savo avatarą
+join_on=Prisijungė
+repositories=Saugyklos
+activity=Viešas aktyvumas
+followers=Stebėtojai
+starred=Žvaigždute pažymėtos saugyklos
+following=Stebi
+follow=Sekti
+unfollow=Nebesekti
+
+
+[settings]
+profile=Profilis
+password=Slaptažodis
+avatar=Avataras
+social=Socialinės paskyros
+applications=Programos
+orgs=Organizacijos
+delete=Panaikinti paskyrą
+twofa=Dviejų faktorių atpažinimas
+uid=Uid
+
+update_profile=Atnaujinti profilį
+continue=Tęsti
+cancel=Atšaukti
+
+choose_new_avatar=Pasirinkite naują avatarą
+
+change_password=Pakeisti slaptažodį
+old_password=Dabartinis slaptažodis
+new_password=Naujas slaptažodis
+retype_new_password=Pakartokite slaptažodį
+
+emails=El. pašto adresai
+manage_emails=Tvarkyti el. pašto adresus
+email_desc=Jūsų pagrindinis elektroninio pašto adresas bus naudojamas pranešimams ir kitoms operacijoms.
+primary=Pagrindinis
+primary_email=Nustatyti kaip pagrindinį
+delete_email=Pašalinti
+email_deletion_success=El. pašto adresas panaikintas sėkmingai!
+add_new_email=Pridėti naują el. pašto adresą
+keep_email_private=Išlaikyti elektroninio pašto adresą privatų
+
+manage_ssh_keys=Valdyti SSH raktus
+add_key=Pridėti raktą
+add_new_key=Pridėti SSH raktą
+key_name=Rakto pavadinimas
+key_content=Turinys
+delete_key=Pašalinti
+ssh_key_deletion=SSH raktų naikinimas
+add_on=Pridėtas
+last_used=Paskutinį kartą naudotas
+no_activity=Nėra neseniai atliktų veiksmų
+
+unbind=Atsieti
+
+manage_access_token=Tvarkyti asmeninės prieigos žetonus
+generate_new_token=Sukurti naują žetoną
+new_token_desc=Kiekvienas žetonas turės visišką prieigą prie jūsų paskyros.
+token_name=Žetono vardas
+generate_token=Sukurti naują žetoną
+delete_token=Pašalinti
+access_token_deletion=Asmeninės prieigos žetono naikinimas
+
+twofa_disable=Išjungti dviejų žingsnių atpažinimą
+twofa_enroll=Įjungti dviejų žingsnių atpažinimą
+twofa_disable_note=Jei reikia, galite išjungti dviejų žingsnių atpažinimą.
+
+
+
+
+[repo]
+repo_desc=Aprašymas
+repo_lang=Kalba
+repo_gitignore_helper=Pasirinkite .gitignore šablonus
+license=Licencija
+license_helper=Pasirinkite licencijos failą
+readme=Readme
+readme_helper=Pasirinkti readme šabloną
+auto_init=Inicijuoti šią saugyklą su pažymėtais failais ir šablonais
+create_repo=Sukurti saugyklą
+mirror_address=Veidrodžio adresas
+mirror_last_synced=Paskutinį kartą sinchronizuota
+watchers=Stebėtojų
+
+
+migrate.clone_address_desc=Tai gali būti HTTP/HTTPS/GIT URL
+migrate.clone_local_path=arba vietinio serverio kelias
+
+mirror_from=veidrodis
+copy_link=Kopijuoti
+copy_link_success=Nukopijuota!
+copy_link_error=Paspauskite ⌘-C arba Ctrl-C, kad nukopijuotumėte
+copied=Nukopijuota sėkmingai
+unwatch=Nebestebėti
+watch=Stebėti
+download_archive=Atsisiųsti šią saugyklą
+
+no_desc=Nėra aprašymo
+
+code=Kodas
+issues=Problemos
+
+editor.edit_this_file=Redaguoti šį failą
+editor.delete_this_file=Ištrinti šį failą
+editor.file_delete_success=Sėkmingai panaikintas failas '%s'!
+editor.name_your_file=Pavadinkite failą...
+editor.or=arba
+editor.cancel_lower=atšaukti
+editor.add=Pridėti '%s'
+editor.update=Atnaujinti '%s'
+editor.delete=Pašalinti '%s'
+editor.cancel=Atšaukti
+
+commits.author=Autorius
+commits.message=Žinutė
+commits.date=Data
+commits.older=Senesni
+commits.newer=Naujesni
+
+
+issues.new=Nauja problema
+issues.new.labels=Etiketės
+issues.new.no_label=Be etiketės
+issues.new.clear_labels=Išvalyti etiketes
+issues.open_tab=%d atidaryta
+issues.close_tab=%d uždaryta
+issues.filter_label=Etiketė
+issues.filter_label_no_select=Nėra pasirinktos etiketės
+issues.filter_type=Tipas
+issues.filter_type.all_issues=Visos problemos
+issues.filter_type.assigned_to_you=Priskirta jums
+issues.filter_type.created_by_you=Jūsų sukurta
+issues.filter_type.mentioning_you=Jūs paminėti
+issues.filter_sort=Rikiuoti
+issues.filter_sort.latest=Naujausi
+issues.filter_sort.oldest=Seniausi
+issues.filter_sort.recentupdate=Vėliausiai atnaujinti
+issues.filter_sort.leastupdate=Seniausiai atnaujinti
+issues.filter_sort.mostcomment=Daugiausia komentuojami
+issues.filter_sort.leastcomment=Mažiausiai komentuojami
+issues.previous=Ankstesnis
+issues.next=Kitas
+issues.open_title=Atidarytas
+issues.closed_title=Uždarytas
+issues.num_comments=%d komentarų
+issues.commented_at=`komentavo %s" `
+issues.delete_comment_confirm=Ar tikrai norite pašalinti šį komentarą?
+issues.no_content=Dar nėra jokio turinio.
+issues.close_issue=Užverti
+issues.close_comment_issue=Komentuoti ir užverti
+issues.reopen_issue=Iš naujo atidaryti
+issues.reopen_comment_issue=Komentuoti ir iš naujo atidaryti
+issues.create_comment=Komentuoti
+issues.owner=Savininkas
+issues.edit=Redaguoti
+issues.cancel=Atšaukti
+issues.save=Saugoti
+
+
+
+
+
+
+
+
+
+[org]
+
+
+
+
+
+[admin]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[action]
+
+[tool]
+
+[dropzone]
+
+[notification]
+
+[gpg]
+
+[units]
+
diff --git a/options/locale/locale_lv-LV.ini b/options/locale/locale_lv-LV.ini
index 9a7e5b0..d387d0b 100644
--- a/options/locale/locale_lv-LV.ini
+++ b/options/locale/locale_lv-LV.ini
@@ -5,14 +5,18 @@ dashboard=Infopanelis
explore=Izpētīt
help=Palīdzība
sign_in=Pierakstīties
+sign_in_with=Autorizēties ar
sign_out=Izrakstīties
sign_up=Reģistrēties
+link_account=Saistītie konti
+link_account_signin_or_signup=Autorizējieties ar esošo lietotāja vārdu un paroli, lai piesaistītu esošam kontam, vai reģistrējieties, ja nepieciešams izveidot jaunu
register=Reģistrēties
website=Mājas lapa
version=Versija
page=Lapa
template=Sagatave
language=Valoda
+notifications=Paziņojumi
create_new=Izveidot...
user_profile_and_more=Lietotāja profilu un vairāk
signed_in_as=Pierakstījies kā
@@ -22,6 +26,9 @@ email=E-pasts
password=Parole
re_type=Parole atkārtoti
captcha=Pārbaudes kods
+twofa=Divu faktoru autentifikācija
+twofa_scratch=Divu faktoru vienreizējais kods
+passcode=Kods
repository=Repozitorijs
organization=Organizācija
@@ -29,15 +36,22 @@ mirror=Spogulis
new_repo=Jauns repozitorijs
new_migrate=Jauna migrācija
new_mirror=Jauns spogulis
-new_fork=Jauns atdalītais repozitorijs
+new_fork=Jauns atdalīts repozitorijs
new_org=Jauna organizācija
manage_org=Pārvaldīt organizācijas
admin_panel=Admin panelis
account_settings=Konta iestatījumi
settings=Iestatījumi
your_profile=Tavs profils
+your_starred=Tavi atzīmētie ar zvaigznīti
your_settings=Tavi iestatījumi
+all=Visi
+sources=Avoti
+mirrors=Spoguļi
+collaborative=Sadarbības
+forks=Atdalītie
+
activities=Aktivitāte
pull_requests=Izmaiņu pieprasījumi
issues=Problēmas
@@ -46,8 +60,8 @@ cancel=Atcelt
[install]
install=Instalācija
-title=Instalācijas soļi pirmo reizi palaižot
-docker_helper=Ja Gitea tiek lietots zem Docker, izlasiet uzmanīgi vadlīnijas , pirms ko maināt šajā lapā!
+title=Sākotnējā konfigurācija
+docker_helper=Ja Gitea ir uzstādīts Docker konteinerī, izlasiet vadlīnijas pirms ko mainiet šajā lapā.
requite_db_desc=Gitea nepieciešams MySQL, PostgreSQL, SQLite3 vai TiDB.
db_title=Datu bāzes iestatījumi
db_type=Datu bāzes veids
@@ -64,21 +78,23 @@ err_invalid_tidb_name=TiDB datu bāzes nosaukums nevar saturēt simbolus "." un
no_admin_and_disable_registration=Reģistrāciju nevar atslēgt, kamēr nav izveidots administratora konts.
err_empty_admin_password=Administratora kontam ir obligāti jānorāda parole.
-general_title=Gitea vispārīgie iestatījumi
+general_title=Vispārīgie iestatījumi
app_name=Lietotnes nosaukums
-app_name_helper=Norādiet organizācijas nosaukumu šeit!
+app_name_helper=Šeit var ievadīt savas organizācijas nosaukumu.
repo_path=Repozitoriju glabāšanas vieta
-repo_path_helper=Visi Git attālinātie repozitoriji tiks glabāti šajā direktorijā.
+repo_path_helper=Visi Git repozitoriji tiks glabāti šajā direktorijā.
+lfs_path=LFS saknes ceļš
+lfs_path_helper=Git LFS glabātie faili tiks saglabāti šajā direktorijā. Atstājiet tukšu, ja nevēlaties izmantot LFS.
run_user=Izpildes lietotājs
run_user_helper=Lietotājam ir jābūt rakstīšanas tiesībām repozitorija saknes direktorijai un Gitea jābūt palaistam zem šī lietotāja.
domain=Domēns
domain_helper=Tas ietekmē SSH klonēšanas URL.
ssh_port=SSH ports
-ssh_port_helper=Porta numurs, kuru izmanto Jūsu SSH serveris, atstājiet tukšu, ja nevēlaties izmantot SSH.
+ssh_port_helper=Ports, kuru izmantot SSH serverim. Var atstāt tukšu, ja SSH serveri nav nepieciešams iespējot.
http_port=HTTP ports
http_port_helper=Porta numurs pēc kura lietojumprogrammai būs iespējams pieslēgties.
app_url=Lietotnes URL
-app_url_helper=Tas ietekmē HTTP/HTTPS klonēšanas URL un e-pasta saturā izsūtītās saites.
+app_url_helper=Tas ietekmē HTTP/HTTPS klonēšanas URL un dažus e-pasta paziņojumus.
log_root_path=Žurnalizēšanas direktorija
log_root_path_helper=Direktorija, kurā tiks glabāti žurnāla faili.
@@ -87,13 +103,13 @@ email_title=E-pasta pakalpojuma iestatījumi
smtp_host=SMTP resursdators
smtp_from=Sūtītājs
smtp_from_helper=E-pasta adrese, RFC 5322. Drīkst būt vienkārši e-pasta adrese vai formātā "Nosaukums" .
-mailer_user=Sūtītāja e-pasta adrese
+mailer_user=Nosūtīšanas lietotājs
mailer_password=Sūtītāja parole
register_confirm=Iespējot reģistrēšanās apstiprināšanu
mail_notify=Iespējot e-pasta paziņojumus
server_service_title=Servera un citu servisu iestatījumi
offline_mode=Iespējot bezsaistes režīmu
-offline_mode_popup=Atspējot CDN arī produkcijas režīmā, visi resursu faili tiks piegādāti no servera.
+offline_mode_popup=Atspējot CDN, lai visi resursa faili tiktu ņemti lokāli.
disable_gravatar=Atspējot Gravatar pakalpojumu
disable_gravatar_popup=Atspējot Gravatar un citus avotus, visus avatarus augšupielādēts lietotāji vai izmantos noklusēto attēlu.
federated_avatar_lookup=Iespējot apvienoto profila bilžu meklētāju
@@ -104,7 +120,7 @@ enable_captcha=Iespējot drošības kodu
enable_captcha_popup=Lietotājam reģistrējoties, pieprasīt ievadīt drošības kodu.
require_sign_in_view=Iespējot nepieciešamību autorizēties, lai aplūkotu lapas
require_sign_in_view_popup=Tika autorizēti lietotāji var aplūkot lapas, neautorizēti lietotāji var piekļūt tikai autorizācijas un reģistrēšanās lapām.
-admin_setting_desc=Nav nepieciešams izveidot administratora kontu uzreiz, lietotājs ar ID=1 saņems administratora tiesības automātiski.
+admin_setting_desc=Nav nepieciešams izveidot administratora kontu uzreiz, pirmais reģistrētais lietotājs saņems administratora tiesības automātiski.
admin_title=Admin konta iestatījumi
admin_name=Lietotājvārds
admin_password=Parole
@@ -112,64 +128,91 @@ confirm_password=Apstipriniet paroli
admin_email=Administratora e-pasts
install_btn_confirm=Instalēt Gitea
test_git_failed=Kļūda pārbaudot 'git' komandu: %v
-sqlite3_not_available=Jūsu versija neatbalsta SQLite3, lūdzu lejupielādējiet oficiālo bināro versiju no %s, NEVIS gobuild versiju.
-invalid_db_setting=Datu bāzes iestatījums nav pareizs: %v
+sqlite3_not_available=Jūsu pašreizējā versija neatbalsta SQLite3, lūdzu lejupielādējiet oficiālo bināro versiju no %s, NEVIS gobuild versiju.
+invalid_db_setting=Datu bāzes iestatījums ir kļūdains: %v
invalid_repo_path=Repozitorija atrašanās vieta ir nekorekta: %v
run_user_not_match=Izpildes lietotājs nav pašreizējais lietotājs: %s -> %s
save_config_failed=Neizdevās saglabāt konfigurāciju: %v
invalid_admin_setting=Nekorekts admin konta iestatījums: %v
-install_success=Laipni lūdzam! Mēs priecājamies, ka Jūs izvēlaties Gitea, patīkamu lietošanu!
+install_success=Laipni lūdzam! Paldies, ka izvēlējāties Gitea, patīkamu lietošanu.
invalid_log_root_path=Norādītā žurnalizēšanas direktorija ir kļūdaina: %v
+default_keep_email_private=Noklusētā pazīme, ka e-pasts ir privāts
+default_keep_email_private_popup=Šī ir noklusētā pazīme, lai noteiktu lietotāja e-pasta adreses redzamību. Atzīmējot to e-pasta adrese visiem jaunajiem lietotājiem nebūs redzama līdz lietotājs neizmainīs to savos iestatījumos.
+default_allow_create_organization=Pēc noklusējuma ļaut jauniem lietotājiem veidot organizācijas
+default_allow_create_organization_popup=Atzīmējiet šo pazīmi, ja vēlaties, lai jauniem lietotājiem pēc noklusējuma tiek piešķirtas tiesības veidot organizācijas.
+no_reply_address=Neatbildēt adrese
+no_reply_address_helper=Domēns lietotaja e-pasta adresei git žurnālos, ja lietotājs izvēlas paturēt savu e-pasta adresi privātu. Piemēram, ja lietotājs ir 'janis' un domēns 'neatbildet.piemers.lv', tad e-pasta adrese būs 'janis@neatbildet.piemers.lv'
[home]
uname_holder=Lietotājvārds vai e-pasts
password_holder=Parole
switch_dashboard_context=Mainīt infopaneļa kontekstu
my_repos=Mani repozitoriji
-show_more_repos=Parādīt vairāk repozitorojus...
+show_more_repos=Parādīt vairāk repozitorijus ...
collaborative_repos=Sadarbības repozitoriji
my_orgs=Manas organizācijas
my_mirrors=Mani spoguļi
view_home=Skatīties %s
+search_repos=Meklēt repozitoriju...
issues.in_your_repos=Jūsu repozitorijos
[explore]
repos=Repozitoriji
users=Lietotāji
+organizations=Organizācijas
search=Meklēt
+repo_no_results=Netika atrasts neviens repozitorijs, kas atbilstu kritērijiem.
+user_no_results=Netika atrasts neviens lietotājs, kas atbilstu kritērijiem.
+org_no_results=Netika atrasta neviena organizācija, kas atbilstu kritērijiem.
[auth]
-create_new_account=Izveidot jaunu kontu
+create_new_account=Izveidot kontu
register_helper_msg=Jau ir konts? Pieraksties tagad!
-social_register_helper_msg=Jau ir konts? Sasaisti tagad!
+social_register_helper_msg=Jau ir konts? Pievienojies!
disable_register_prompt=Atvainojiet, reģistrācija ir atspējota. Lūdzu, sazinieties ar vietnes administratoru.
disable_register_mail=Atvainojiet, reģistrācijas e-pasta apstiprināšana ir atspējota.
remember_me=Atcerēties mani
-forgot_password=Aizmirsu paroli
-forget_password=Aizmirsi paroli?
+forgot_password_title=Aizmirsu paroli
+forgot_password=Aizmirsi paroli?
sign_up_now=Nepieciešams konts? Reģistrējies tagad.
-confirmation_mail_sent_prompt=Jauns apstiprināšanas e-pasts ir nosūtīts uz %s , lūdzu, pārbaudies savu e-pasta kontu tuvāko %d stundu laikā, lai pabeigtu reģistrācijas procesu.
+confirmation_mail_sent_prompt=Jauns apstiprināšanas e-pasts ir nosūtīts uz %s , pārbaudies savu e-pasta kontu tuvāko %s laikā, lai pabeigtu reģistrācijas procesu.
+reset_password_mail_sent_prompt=Apstiprināšanas e-pasts tika nosūtīts uz %s . Pārbaudiet savu e-pasta kontu tuvāko %s laikā, lai pabeigtu paroles atjaunošanas procesu.
active_your_account=Aktivizēt savu kontu
prohibit_login=Aizliegt pieteikšanos
-prohibit_login_desc=Ar Jūsu kontu nav atļauts pieteikties, sazinoties ar lapas administratoru.
-resent_limit_prompt=Atvainojiet, Jūs sūtījāt aktivizācijas e-pastu pārāk bieži. Lūdzu, gaidiet 3 minūtes.
+prohibit_login_desc=Jūsu konts ir bloķēts, sazinieties ar sistēmas administratoru.
+resent_limit_prompt=Atvainojiet, Jūs pieprasījāt aktivizācijas e-pastu pārāk bieži. Lūdzu, uzgaidiet 3 minūtes un mēģiniet vēlreiz.
has_unconfirmed_mail=Sveiki %s, Jums ir neapstiprināta e-pasta adrese (%s ). Ja neesat saņēmis apstiprināšanas e-pastu vai Jums ir nepieciešams nosūtīt jaunu, lūdzu, nospiediet pogu, kas atrodas zemāk.
resend_mail=Nospiediet šeit, lai vēlreiz nosūtītu aktivizācijas e-pastu
-email_not_associate=Šī e-pasta adrese nav saistīta ar Jūsu kontu.
+email_not_associate=Šī e-pasta adrese nav saistīta ar nevienu kontu.
send_reset_mail=Spiediet šeit, lai nosūtītu paroles maiņas vēstuli uz Jūsu e-pastu
reset_password=Atjaunot savu paroli
invalid_code=Atvainojiet, Jūsu apstiprināšanas kodam ir beidzies derīguma termiņš vai arī tas ir nepareizs.
reset_password_helper=Nospiediet šeit, lai atjaunotu paroli
password_too_short=Paroles garums nedrīkst būt mazāks par %d.
-non_local_account=Tikai lokālie konti var nomainīt savu paroli Gitea.
+non_local_account=Ārējie konti nevar mainīt paroli, izmantojot, Gitea saskarni.
+verify=Pārbaudīt
+scratch_code=Vienreizējais kods
+use_scratch_code=Izmantot vienreizējo kodu
+twofa_scratch_used=Jūs esat izmantojis vienreizējo kodu. Jūs tikāt pārsūtīts uz divu faktoru iestatījumu lapu, lai varētu piesaistīto ierīci vai lai uzģenerētu jaunu vienreizējo kodu.
+twofa_passcode_incorrect=Jūsu kods nav pareizs. Ja esat pazaudējis ierīci, izmantojiet vienreizējo kodu, lai autorizētos.
+twofa_scratch_token_incorrect=Ievadīts nepareizs vienreizējais kods.
+login_userpass=Lietotāja vārds / parole
+login_openid=OpenID
+openid_connect_submit=Pievienoties
+openid_connect_title=Pievienoties jau esošam kontam
+openid_connect_desc=Izvēlētais OpenID konts sistēmā netika atpazīts, bet Jūs to varat piesaistīt esošam kontam.
+openid_register_title=Izveidot jaunu kontu
+openid_register_desc=Izvēlētais OpenID konts sistēmā netika atpazīts, bet Jūs to varat piesaistīt jaunam kontam.
+openid_signin_desc=Piemēram: https://anna.me, peteris.openid.org.lv, gnusocial.net/janis
+disable_forgot_password_mail=Atvainojiet, bet paroles atjaunošana nav pieejama. Sazinieties ar sistēmas administratoru.
[mail]
activate_account=Lūdzu, aktivizējiet savu kontu
activate_email=Apstipriniet savu e-pasta adresi
reset_password=Atiestatīt savu paroli
-register_success=Reģistrācija notikusi veiksmīgi
-register_notify=Laipni lūgti uz klāja
+register_success=Veiksmīga reģistrācija
+register_notify=Laipni lūdzam Gitea
[modal]
yes=Jā
@@ -183,6 +226,7 @@ Email=E-pasta adrese
Password=Parole
Retype=Parole atkārtoti
SSHTitle=SSH atslēgas nosaukums
+HttpsUrl=HTTPS URL
PayloadUrl=Vērtuma URL
TeamName=Komandas nosaukums
AuthName=Autorizācijas nosaukums
@@ -198,6 +242,7 @@ Content=Saturs
require_error=` nedrīkst būt tukšs.`
alpha_dash_error=` drīkst saturēt tikai latīņu alfabēta burtus, ciparus vai domuzīmes (-_).`
alpha_dash_dot_error=` drīkst saturēt tikai latīņu alfabēta burtus, ciparus, domuzīmes (-_) vai punktu.`
+git_ref_name_error=` jābūt korektam git references nosaukumam.`
size_error=` jābūt %s simbolus garam.`
min_size_error=` jabūt vismaz %s simbolu garumā.`
max_size_error=` jabūt ne mazāk kā %s simbolu garumā.`
@@ -205,28 +250,33 @@ email_error=` nav derīga e-pasta adrese.`
url_error=` nav korekts URL.`
include_error=` ir jāsatur tekstu '%s'.`
unknown_error=Nezināma kļūda:
-captcha_incorrect=Pārbaudes kods nesakrīt ar attēlā redzamo.
-password_not_match=Parole un atkārtoti ievadītā parole nav vienādas.
+captcha_incorrect=Ievadīts nepareizs drošības kods.
+password_not_match=Izvēlētā parole nesakrīt ar atkārtoti ievadīto.
-username_been_taken=Lietotājvārds ir jau aizņemts.
-repo_name_been_taken=Repozitorija vārds ir jau aizņemts.
-org_name_been_taken=Organizācijas nosaukums ir jau aizņemts.
-team_name_been_taken=Komandas nosaukums ir jau aizņemts.
-email_been_used=E-pasta adrese jau tiek izmantota.
-username_password_incorrect=Lietotājvārds vai parole nav pareiza.
+username_been_taken=Lietotājvārds jau ir aizņemts.
+repo_name_been_taken=Jau eksistē repozitorijs ar šādu nosaukumu.
+org_name_been_taken=Organizācijas nosaukums jau ir aizņemts.
+team_name_been_taken=Komandas nosaukums jau ir aizņemts.
+team_no_units_error=Komandai ir jābūt iespējotai vismaz vienai sadaļai.
+email_been_used=E-pasta adrese jau ir izmantota.
+openid_been_used=OpenID adrese '%s' jau ir izmantota.
+username_password_incorrect=Nepareizs lietotājvārds vai parole.
enterred_invalid_repo_name=Lūdzu, pārliecinieties, vai ievadītā repozitorija nosaukums ir pareizs.
enterred_invalid_owner_name=Lūdzu, pārliecinieties, vai ievadītā īpašnieka vārds ir pareizs.
-enterred_invalid_password=Lūdzu pārliecinieties, vai Jūsu ievadītā parole ir pareiza.
-user_not_exist=Šāds lietotājs neeksistē.
-last_org_owner=Nav iespējams noņemt vienīgo komandas īpašnieku. Pirms tam ir nepieciešams norādīt jauno īpašnieku.
+enterred_invalid_password=Lūdzu, pārliecinieties, vai ievadītā parole ir pareiza.
+user_not_exist=Lietotājs neeksistē.
+last_org_owner=Nevar noņemt pēdējo īpašnieku komandas lietotāju, jo organizācijām ir jābūt vismaz vienam īpašniekam.
+cannot_add_org_to_team=Organizāciju nevar pievienot kā komandas biedru.
+cannot_invite_org_to_org=Organizāciju nevar uzaicināt kā organizācijas biedru.
-invalid_ssh_key=Atvainojiet, nav iespējams pārbaudīt Jūsu SSH atslēgu: %s
-unable_verify_ssh_key=Nav iespējams pārbaudīt jūsu SSH atslēgu, bet tiks pieņemts, ka tā ir derīga, lūdzu, pārliecinieties par to pats.
+invalid_ssh_key=Nav iespējams pārbaudīt SSH atslēgu: %s
+invalid_gpg_key=Nav iespējams pārbaudīt GPG atslēgu: %s
+unable_verify_ssh_key=SSH atslēgu nav iespējams pārbaudīt, pārliecinieties, ka tajā nav kļūdu.
auth_failed=Autentifikācija neizdevās: %v
-still_own_repo=Jūsu esat vismaz viena repozitorija īpašnieks, tos sākumā ir nepieciešams izdzēst vai nomainīt to īpašnieku.
-still_has_org=Jūsu esat vismaz vienas organizācijas biedrs, sākumā nepieciešams pamest vai izdzēst šo organizāciju.
-org_still_own_repo=Šī organizācija ir vismaz viena repozitorija īpašnieks, tos sākumā ir nepieciešams izdzēst vai nomainīt to īpašnieku.
+still_own_repo=Šis konts ir vismaz viena repozitorija īpašnieks, tos sākumā ir nepieciešams izdzēst vai mainīt to īpašnieku.
+still_has_org=Jūsu konts ir piesaistīts vismaz vienai organizācijai, sākumā nepieciešams to pamest.
+org_still_own_repo=Organizācijai pieder repozitoriji, tos sākumā ir nepieciešams izdzēst vai mainīt to īpašnieku.
target_branch_not_exist=Mērķa atzars neeksistē
@@ -241,30 +291,33 @@ following=Seko
follow=Sekot
unfollow=Nesekot
-form.name_reserved=Lietotāja vārds '%s' jau ir aizņemts.
-form.name_pattern_not_allowed=Lietotāja vārds '%s' nav atļauts.
+form.name_reserved=Lietotājvārdu '%s' nedrīkst izmantot.
+form.name_pattern_not_allowed=Lietotājvārds '%s' nav atļauts.
[settings]
profile=Profils
password=Parole
avatar=Profila attēls
-ssh_keys=SSH atslēgas
+ssh_gpg_keys=SSH / GPG atslēgas
social=Sociālie konti
applications=Lietotnes
orgs=Organizācijas
delete=Dzēst kontu
+twofa=Divu faktoru autentifikācija
+account_link=Ārējie konti
+organization=Organizācija
uid=Lietotāja ID
public_profile=Publiskais profils
-profile_desc=Jūsu e-pasta adrese ir publiska un tiks izmantota, lai nosūtītju Jums paziņojumus, kas saistīti ar Jūsu kontu vai darbībām veiktām caur šo mājas lapu.
-password_username_disabled=Ne-lokālie lietotāji nevar mainīt savus lietotājvārdus.
+profile_desc=Konta e-pasta adrese ir publiska un tiks izmantota visiem ar kontu saistītiem paziņojumiem un no pārlūka veiktajām darbībām.
+password_username_disabled=Ārējiem lietotājiem nav atļauts mainīt savu lietotāja vārdu. Sazinieties ar sistēmas administratoru, lai uzzinātu sīkāk.
full_name=Pilns vārds
website=Mājas lapa
location=Atrašanās vieta
update_profile=Mainīt profilu
-update_profile_success=Jūsu profila dati ir veiksmīgi saglabāti.
+update_profile_success=Jūsu profila informācija tika saglabāta.
change_username=Lietotāja vārds mainīts
-change_username_prompt=Šī izmaiņa ietekmēs saites, kas norāda uz Jūsu kontu.
+change_username_prompt=Šī darbība izmainīs norādes uz šo kontu.
continue=Turpināt
cancel=Atcelt
@@ -275,86 +328,137 @@ choose_new_avatar=Izvēlēties jaunu profila attēlu
update_avatar=Saglabāt profila bildi
delete_current_avatar=Dzēst pašreizējo profila bildi
uploaded_avatar_not_a_image=Augšupielādētais fails nav attēls.
-update_avatar_success=Jūsu profila bilde tika veiksmīgi saglabāta.
+update_avatar_success=Profila attēls tika saglabāts.
change_password=Mainīt paroli
old_password=Pašreizējā parole
new_password=Jauna parole
retype_new_password=Ievadīt paroli atkāroti
password_incorrect=Ievadīta nepareiza pašreizējā parole.
-change_password_success=Parole tika veiksmīgi nomainīta. Tagad jūs varat pieraksītites, izmantojot jauno paroli.
-password_change_disabled=Ne-lokālie lietotāji nevar mainīt savas paroles.
+change_password_success=Parole tika veiksmīgi nomainīta. Tagad varat autorizēties ar jauno paroli.
+password_change_disabled=Tikai lokālie konti var nomainīt savu paroli, izmantojot tīmekļa saskarni.
emails=E-pasta adreses
manage_emails=Pārvaldīt e-pasta adreses
+manage_openid=Pārvaldīt OpenID adreses
email_desc=Primārā e-pasta adrese tiks izmantota sūtot notifikācijas un citām dabībām.
primary=Primārā
primary_email=Iestatīt kā primāro
delete_email=Dzēst
-email_deletion=E-pasta dzēšana
-email_deletion_desc=Dzēšot šo e-pasta adresi, tiks dzēsta arī visa ar to saistītā informācija no Jūsu konta. Vai vēlaties turpināt?
+email_deletion=Dzēst e-pastu
+email_deletion_desc=Dzēšot šo e-pasta adresi visa ar to saistītā informācija tiks noņemta no Jūsu konta. Git revīzijas, kam piesaistīta šī e-pasta adrese netiks mainītas. Vai patiešām vēlaties turpināt?
email_deletion_success=E-pasta adrese ir veiksmīgi izdzēsta!
+openid_deletion=OpenID dzēšana
+openid_deletion_desc=Dzēšot šo OpenID adresi no Jūsu konta, ar to vairs nebūs iespējams autorizēties. Vai patiešām vēlaties turpināt?
+openid_deletion_success=OpenID tika veiksmīgi izdzēsts!
add_new_email=Pievienot jaunu e-pasta adresi
+add_new_openid=Pievienot jaunu OpenID vietrādi
add_email=Pievienot e-pastu
-add_email_confirmation_sent=Jauns apstiprinājuma e-pasts tika nosūtīts uz '%s', pārbaudiet savu e-pastu tuvāko %d stundu laikā, lai pabeigtu apstiprināšanas procesu.
+add_openid=Pievienot OpenID vietrādi
+add_email_confirmation_sent=Jauns apstiprināšanas e-pasts tika nosūtīts uz '%s'. Pārbaudiet savu e-pasta kontu tuvāko %s laikā, lai apstiprinātu savu e-pasta adresi.
add_email_success=Jūsu jaunā e-pasta adrese tika veiksmīgi pievienota.
+add_openid_success=Jūsu jaunā OpenID adrese tika veiksmīgi pievienota.
+keep_email_private=Paturēt e-pasta adresi privātu
+keep_email_private_popup=Atzīmējot šo pazīmi, e-pasta adrese tiks paslēpta no citiem lietotājiem.
+openid_desc=Jūsu OpenID adreses ļauj autorizēties, izmantojot Jūsu izvēlēto pakalpojumu sniedzēju
manage_ssh_keys=Pārvaldīt SSH atslēgas
+manage_gpg_keys=Pārvaldīt GPG atslēgas
add_key=Pievienot atslēgu
-ssh_desc=Šis ir saraksts ar Jūsu kontam piesaistītajām SSH atslēgām. Dzēsiet visas, kuras Jūs neatpazīstat.
-ssh_helper=Vajadzīga palīdzība? Apskatieties pamācību kā ģenerēt SSH atslēgas vai kā novērst biežāk sastopamās SSH problēmas .
+ssh_desc=Šīs SSH atslēgas ir piesaistītas Jūsu kontam. Ir svarīgi pārliecināties, ka visas atpazīstat, jo tās ļauj piekļūt Jūsu repozitorijiem.
+gpg_desc=Šīs GPG atslēgas ir piesaistītas Jūsu kontam. Ir svarīgi glabāt to privātās atslēgas drošā vietā, jo šīs atslēgas tiek izmantotas, lai pārbaudītu Jūsu parakstītās revīzijas.
+ssh_helper=Vajadzīga palīdzība? Iepazīstieties ar GitHub pamācību kā izveidot jaunu SSH atslēgu vai atrisinātu biežāk sastopamās problēmas ar kurām varat saskarties, izmantojot SSH.
+gpg_helper=Vajadzīga palīdzība? Iepazīstieties ar GitHub pamācību par GPG .
add_new_key=Pievienot SSH atslēgu
-ssh_key_been_used=Šī publiskā atslēga jau ir izmantota.
+add_new_gpg_key=Pievienot GPG atslēgu
+ssh_key_been_used=SSH atslēga jau ir izmantota.
ssh_key_name_used=Publiskā atslēga ar šādu nosaukumu jau eksistē.
+gpg_key_id_used=Publiskā GPG atslēga ar šādu ID jau eksistē.
+gpg_key_email_not_found=E-pasta adresei piesaistītā GPG atslēga netika atrasta vai tā vēl nav apstiprināta: %s
+subkeys=Apakšatslēgas
+key_id=Atslēgas ID
key_name=Atslēgas nosaukums
key_content=Saturs
-add_key_success=Jauna SSH atslēga '%s' tika veiksmīgi pievienota!
+add_key_success=SSH atslēga '%s' tika pievienota.
+add_gpg_key_success=GPG atslēga '%s' tika pievienota.
delete_key=Dzēst
ssh_key_deletion=SSH atslēgas dzēšana
-ssh_key_deletion_desc=Dzēšot šo SSH atslēgu, tiks dzēsta visa ar to saistītā piekļuve Jūsu kontam. Vai vēlaties turpināt?
-ssh_key_deletion_success=SSH atslēga tika veiksmīgi izdzēsta!
+gpg_key_deletion=GPG atslēgas dzēšana
+ssh_key_deletion_desc=Dzēšot šo SSH atslēgu, ar to vairs nebūs iespējams autorizēties Jūsu kontā. Vai vēlaties turpināt?
+gpg_key_deletion_desc=Dzēšot šo GPG atslēgu, visas ar to parakstītās revīzijas vairs nebūs iespējams pārbaudīt. Vai vēlaties turpināt?
+ssh_key_deletion_success=SSH atslēga tika izdzēsta.
+gpg_key_deletion_success=GPG atslēga tika izdzēsta.
add_on=Pievienota
+valid_until=Derīga līdz
+valid_forever=Derīgs mūžīgi
last_used=Pēdējo reizi izmantota
no_activity=Nav nesenas aktivitātes
-key_state_desc=Šī atslēga tika izmantota pēdējo 7 dienu laikā
-token_state_desc=Šis talons tika izmantots pēdējo 7 dienu laikā
+key_state_desc=Šī atslēga ir izmantota pēdējo 7 dienu laikā
+token_state_desc=Šis talons ir izmantots pēdējo 7 dienu laikā
+show_openid=Rādīt profilā
+hide_openid=Paslēpt no profila
manage_social=Pārvaldīt piesaistītos sociālos kontus
-social_desc=Šeit tiek attēloti visi sociālie konti, kas ir piesaistīti Jūsu kontam. Dzēsiet visus, kurus Jūs neatpazīstat.
+social_desc=Šis ir saraksts ar saistītajiem sociālajiem kontiem. Drošības nolūkos, pārliecinieties, ka atpazīstat visus no tiem, jo tos var izmantot, lai pieslēgtos Jūsu kontam.
unbind=Atsaistīt
-unbind_success=Sociālais konts tika atsaistīts.
+unbind_success=Sociālais konts tika atsaistīts no Jūsu konta.
manage_access_token=Pārvaldīt personīgos piekļuves talonus
generate_new_token=Ģenerēt jaunu talonu
-tokens_desc=Taloni, kurus esat uzģenerējuši, kas var tikt izmantoti, lai piekļūtu Gitea API.
+tokens_desc=Taloni, ko esat ģenerējis, kurus var izmantot lai piekļūtu Gitea API.
new_token_desc=Pašlaik visiem taloniem ir pilna piekļuve Jūsu kontam.
token_name=Talona nosaukums
generate_token=Ģenerēt talonu
-generate_token_succees=Jauns piekļuves talons tika veiksmīgi uzģenerēts! Pārliecinieties, ka esat to nokopējis, jo to Jums vairāk nebūs iespēja izdarīt!
+generate_token_success=Jūsu piekļuves talons tika veiksmīgi uzģenerēts! Nokopējiet to tagad, jo vēlāk to vairs nebūs iespējams redzēt!
delete_token=Dzēst
access_token_deletion=Personīgā piekļuves talona dzēšana
-access_token_deletion_desc=Dzēšot personīgo piekļuves talonu, tiks liegta piekļuve aplikācijām, kas to izmanto. Vai vēlaties turpināt?
-delete_token_success=Personīgās piekļuves talons veiksmīgi izdzēsts! Neaizmirstiet nomainīt uz citu aplikācijās, kas to izmantoja.
+access_token_deletion_desc=Dzēšot personīgo piekļuves talonu tiks liegta piekļuve visām aplikācijām, kas to izmanto. Vai patiešām vēlaties turpināt?
+delete_token_success=Personīgais piekļuves talons tika noņemts. Neaizmirstiet atjaunot informāciju aplikācijās, kas izmantoja šo talonu.
+twofa_desc=Gitea atbalsta divu faktoru autentifikāciju, lai uzlabotu Jūsu konta drošību.
+twofa_is_enrolled=Kontam ir ieslēgta divu faktoru autentifikācija.
+twofa_not_enrolled=Jūsu kontam nav ieslēgta divu faktoru autentifikācija.
+twofa_disable=Atslēgt divu faktoru autentifikāciju
+twofa_scratch_token_regenerate=Ģenerēt jaunu vienreizējo kodu
+twofa_scratch_token_regenerated=Vienreizējais kods tika uzģenerēts. Tagad tas ir %s. Saglabājiet to drošā vietā.
+twofa_enroll=Ieslēgt divu faktoru autentifikāciju
+twofa_disable_note=Nepieciešamības gadījumā divu faktoru autentifikāciju ir iespējams atslēgt.
+twofa_disable_desc=Atslēdzot divu faktoru autentifikāciju konts vairs nebūs tik drošs. Vai patiešām vēlaties turpināt?
+regenerate_scratch_token_desc=Ja esat aizmirsis vienreizējo kodu vai jau esat to izmantojis, lai autorizētos, atjaunojiet to šeit.
+twofa_disabled=Divu faktoru autentifikācija ir atslēgta.
+scan_this_image=Noskenējiet šo attēlu ar autentifikācijas lietojumprogrammu:
+or_enter_secret=Vai ievadiet šo noslēpumu: %s
+then_enter_passcode=Ievadiet piekļuves kodu no lietojumprogrammas:
+passcode_invalid=Nederīgs piekļuves kods. Mēģiniet vēlreiz.
+twofa_enrolled=Kontam tagad ir ieslēgta divu faktoru autentifikācija. Saglabājiet savu vienreizējo kodu (%s), jo tas vairāk netiks parādīts!
+
+manage_account_links=Pārvaldīt saistītos kontus
+manage_account_links_desc=Šim kontam piesaistītie ārējie konti
+account_links_not_available=Šim kontam nav piesaistīts neviens ārējais konts
+remove_account_link=Noņemt saistīto kontu
+remove_account_link_desc=Noņemot saistīto kontu, tiks tam tiks liegta piekļuve. Vai patiešām vēlaties turpināt?
+remove_account_link_success=Konta piesaiste tika veiksmīgi noņemta!
+
+orgs_none=Jūs neesat nevienas organizācijas biedrs.
delete_account=Dzēst savu kontu
delete_prompt=Šī darbība pilnībā izdzēsīs Jūsu kontu, kā arī tā ir NEATGRIEZENISKA !
confirm_delete_account=Apstiprināt dzēšanu
delete_account_title=Konta dzēšana
-delete_account_desc=Šis konts tiks neatgriezeniski dzēsts, vai vēlaties turpināt?
+delete_account_desc=Vai patiešām vēlaties neatgriezeniski dzēst šo kontu?
[repo]
owner=Īpašnieks
repo_name=Repozitorija nosaukums
-repo_name_helper=Labi repzotoriju nosaukumi ir īsi, tādi kurus viegli atcerēties un unikāli .
+repo_name_helper=Labi repozitoriju nosaukumi ir īsi, tādi kurus viegli atcerēties un unikāli.
visibility=Redzamība
visiblity_helper=Šis repozitorijs ir privāts
-visiblity_helper_forced=Lapas administrators ir noteicis, ka visiem repozitorijiem ir jābūt privātiem
+visiblity_helper_forced=Jūsu sistēmas administrators ir noteicis, ka visi no jauna izveidotie repozitoriji būs privāti
visiblity_fork_helper=(Šīs vērtības maiņa ietekmēs arī visus atdalītos repozitorijus)
clone_helper=Nepieciešama palīdzība kā veikt klonēšana? Apmeklējiet Palīdzība lapu!
fork_repo=Atdalīt repozitoriju
fork_from=Atdalīt no
-fork_visiblity_helper=Atdalītam repozitorijam nav iespējams nomainīt tā redzamību
+fork_visiblity_helper=Atdalītam repozitorijam nav iespējams nomainīt tā redzamību.
repo_desc=Apraksts
repo_lang=Valoda
repo_gitignore_helper=Izvēlieties .gitignore sagatavi
@@ -367,7 +471,8 @@ create_repo=Izveidot repozitoriju
default_branch=Noklusējuma atzars
mirror_prune=Izmest
mirror_prune_desc=Izdzēst visas ārējās atsauces, kas ārējā repozitorijā vairs neeksistē
-mirror_interval=Spoguļošanas intervāls (stundās)
+mirror_interval=Spoguļošanas intervāls (derīgās laika vienības ir "h", "m" un "s")
+mirror_interval_invalid=Nekorekts spoguļošanas intervāls
mirror_address=Spoguļa adrese
mirror_address_desc=Lūdzu iekļaujiet adresē nepieciešamo lietotājvārdu/paroli.
mirror_last_synced=Pēdējo reizi sinhronizēts
@@ -375,8 +480,8 @@ watchers=Novērotāji
stargazers=Zvaigžņdevēji
forks=Atdalītie repozitoriji
-form.reach_limit_of_creation=Īpašnieks sasniedza maksimālu pieļaujamo (%d) izveidoto repozitoriju skaitu.
-form.name_reserved=Repozitorija nosaukums '%s' ir rezervēts.
+form.reach_limit_of_creation=Ir sasniegts Jums noteiktais %d repozitoriju ierobežojums.
+form.name_reserved=Repozitorija nosaukums '%s' ir jau rezervēts.
form.name_pattern_not_allowed=Repozitorija nosaukums '%s' nav atļauts.
need_auth=Nepieciešama autorizācija
@@ -385,12 +490,15 @@ migrate_type_helper=Šis repozitorijs būs spogulisNospiediet šeit, lai redzētu kas ir mainījies vai nospiediet atkārtoti pabeigt revīziju , lai pārrakstītu izmaiņas.
+editor.file_changed_while_editing=Faila saturs ir mainījies kopš Jūs sākāt to labot. Nospiediet šeit , lai redzētu kas ir ticis mainīts vai nospiediet saglabāt vēlreiz , lai pārrakstītu šīs izmaiņas.
editor.file_already_exists=Fails ar nosaukumu '%s' repozitorijā jau eksistē.
editor.no_changes_to_show=Nav izmaiņu, ko rādīt.
editor.fail_to_update_file=Neizdevās izmainīt/izveidot failu '%s', kļūda: %v
editor.add_subdir=Pievienot apakšdirektoriju...
editor.unable_to_upload_files=Neizdevās augšupielādēt failus uz direktoriju '%s', kļūda: %v
editor.upload_files_to_dir=Augšupielādēt failus uz direktoriju '%s'
+editor.cannot_commit_to_protected_branch=Nav atļauts veikt izmaiņas aizsargātam atzaram '%s'.
+commits.desc=Revīzijas parāda koda izmaiņu vēsturi
commits.commits=Revīzijas
commits.search=Meklēt revīzijas
commits.find=Meklēt
+commits.search_all=Visi atzari
commits.author=Autors
commits.message=Ziņojums
commits.date=Datums
commits.older=Vecāki
commits.newer=Jaunāki
+commits.signed_by=Parakstījis
+commits.gpg_key_id=GPG atslēgas ID
+ext_issues=Ārējās problēmas
+ext_issues.desc=Ārējās problēmas ir saite uz ārējo problēmu vadības lapu
+
+issues.desc=Problēmas ir vieta kur pārvaldīt uzdevumus un kļūdas
issues.new=Jauna problēma
issues.new.labels=Etiķetes
issues.new.no_label=Nav etiķešu
@@ -490,10 +613,21 @@ issues.new_label=Jauna etiķete
issues.new_label_placeholder=Etiķetes nosaukums...
issues.create_label=Izveidot etiķeti
issues.label_templates.title=Ielādēt sākotnēji noteikto etiķešu kopu
-issues.label_templates.info=Nav definēta neviena etiķete. Nospiediet pogu "Izveidot etiķeti", lai to izveidotu vai izmantojiet zemāk piedāvātās etiķetes.
+issues.label_templates.info=Nav izveidota neviena etiķete. Jūs varat noklikšķināt uz "Jauna etiķete" augstāk, lai to izveidotu vai izmantot zemāk piedāvātās etiķetes.
issues.label_templates.helper=Izvēlieties etiķešu kopu
issues.label_templates.use=Izmantot šo etiķešu kopu
issues.label_templates.fail_to_load_file=Neizdevās ielādēt etiķetes sagataves failu '%s': %v
+issues.add_label_at=` pievienoja %s
label %s`
+issues.remove_label_at=`noņēma %s
label %s`
+issues.add_milestone_at=`pievienoja atskaites punktu %s %s`
+issues.change_milestone_at=`nomainīja atskaites punktu no %s uz %s %s`
+issues.remove_milestone_at=`noņēma atskaites punktu %s %s`
+issues.deleted_milestone=`(dzēsts)`
+issues.self_assign_at=`piešķīra sev %s`
+issues.add_assignee_at=`tika piešķirta problēma %s %s`
+issues.remove_assignee_at=`tika noņemta problēma %s`
+issues.change_title_at=`nomainīts virsraksts no %s uz %s %s`
+issues.delete_branch_at=`izdzēsts atzars %s %s`
issues.open_tab=%d atvērti
issues.close_tab=%d aizvērti
issues.filter_label=Etiķete
@@ -514,6 +648,13 @@ issues.filter_sort.recentupdate=Nesen atjaunotās
issues.filter_sort.leastupdate=Vissenāk atjaunotās
issues.filter_sort.mostcomment=Visvairāk komentētās
issues.filter_sort.leastcomment=Vismazāk komentētās
+issues.action_open=Atvērt
+issues.action_close=Aizvērt
+issues.action_label=Etiķete
+issues.action_milestone=Atskaites punkts
+issues.action_milestone_no_select=Nav atskaites punkta
+issues.action_assignee=Atbildīgais
+issues.action_assignee_no_select=Nav atbildīgā
issues.opened_by=%[3]s atvēra %[1]s
issues.opened_by_fake=%[2]s atvēra %[1]s
issues.previous=Iepriekšējā
@@ -547,12 +688,19 @@ issues.label_edit=Labot
issues.label_delete=Dzēst
issues.label_modify=Etiķetes labošana
issues.label_deletion=Etiķetes dzēšana
-issues.label_deletion_desc=Dzēšot šo etiķeti, tā tiks noņemta no visām saistītajām problēmām. Vai vēlaties turpināt?
+issues.label_deletion_desc=Dzēšot šo etiķeti, tā tiks noņemta no visām saistītajām problēmām. Vai patiešām vēlaties turpināt?
issues.label_deletion_success=Etiķete tika veiksmīgi izdzēsta!
+issues.label.filter_sort.alphabetically=Alfabētiski
+issues.label.filter_sort.reverse_alphabetically=Pretēji alfabētiski
+issues.label.filter_sort.by_size=Izmērs
+issues.label.filter_sort.reverse_by_size=Pretēji izmēram
issues.num_participants=%d dalībnieki
issues.attachment.open_tab=`Noklikšķiniet, lai apskatītos "%s" jaunā logā`
issues.attachment.download=`Noklikšķiniet, lai lejupielādētu "%s"`
+issues.subscribe=Abonēt
+issues.unsubscribe=Atrakstīties
+pulls.desc=Izmaiņu pieprasījumi ļauj veikt koda pārskatīšanu un sapludināt izmaiņas
pulls.new=Jauns izmaiņu pieprasījums
pulls.compare_changes=Salīdzināt izmaiņas
pulls.compare_changes_desc=Salīdzināt divus atzarus un izveidot izmaiņu pieprasījumu.
@@ -568,9 +716,9 @@ pulls.merged_title_desc=sapludināja %[1]d revīzijas no %[2]s uz <
pulls.tab_conversation=Saruna
pulls.tab_commits=Revīzijas
pulls.tab_files=Izmainītie faili
-pulls.reopen_to_merge=Lūdzu, atkārtoti atveriet šo izmaiņu pieprasījumu, lai veiktu sapludināšanu.
+pulls.reopen_to_merge=Atkārtoti atveriet izmaiņu pieprasījumu, lai veiktu sapludināšanu.
pulls.merged=Sapludināts
-pulls.has_merged=Šo izmaiņu pieprasījums tika veiksmīgi sapludināts!
+pulls.has_merged=Šo izmaiņu pieprasījums tika veiksmīgi sapludināts.
pulls.data_broken=Nepieejami izmaiņu pieprasījuma dati, jo dzēsta informācija no atdalītā repozitorija.
pulls.is_checking=Notiek konfliktu pārbaude, mirkli uzgaidiet un atjaunojiet lapu.
pulls.can_auto_merge_desc=Šo izmaiņu pieprasījumu var automātiski saplūdināt.
@@ -600,28 +748,39 @@ milestones.cancel=Atcelt
milestones.modify=Mainīt atskaites punktu
milestones.edit_success=Izmaiņas atskaites punktā '%s' tika veiksmīgi saglabātas!
milestones.deletion=Atskaites punkta dzēšana
-milestones.deletion_desc=Dzēšot šo atskaites punktu tiks noņemta arī saistītā informācija no problēmu ziņojumiem. Vai vēlaties turpināt?
+milestones.deletion_desc=Dzēšot šo atskaites punktu, tas tiks noņemts no visām saistītajām problēmām. Vai patiešām vēlaties turpināt?
milestones.deletion_success=Atskaites punkts tika veiksmīgi izdzēsts!
+milestones.filter_sort.closest_due_date=Tuvākais termiņš
+milestones.filter_sort.furthest_due_date=Tālākais termiņš
+milestones.filter_sort.least_complete=Vismazāk pabeigtais
+milestones.filter_sort.most_complete=Visvairāk pabeigtais
+milestones.filter_sort.most_issues=Visvairāk problēmu
+milestones.filter_sort.least_issues=Vismazāk problēmu
+
+ext_wiki=Ārējā vikivietne
+ext_wiki.desc=Ārējā vikivietne norāda uz ārējo vikivietnes adresi
wiki=Vikivietne
-wiki.welcome=Laipni lūgti vikivietnē!
-wiki.welcome_desc=Vikivietne ir vieta, kur Jūs varat dokumentēt savu projektu, lai padarīto to labāku.
+wiki.welcome=Laipni lūgti vikivietnē
+wiki.welcome_desc=Vikivietne ļauj Jums un Jūsu līdzstrādniekiem viegli dokumentēt projektu.
+wiki.desc=Vikivietne ir vieta, kur uzglabāt dokumentāciju
wiki.create_first_page=Izveidot pirmo lapu
wiki.page=Lapa
wiki.filter_page=Meklēt lapu
wiki.new_page=Izveidot jaunu lapu
-wiki.default_commit_message=Uzrakstiet piezīmes par šīm izmaiņām (neobligāti).
+wiki.default_commit_message=Ierakstiet piezīmes par šīs lapas izmaiņām (neobligāts).
wiki.save_page=Saglabāt lapu
wiki.last_commit_info=%s laboja lapu %s
wiki.edit_page_button=Labot
wiki.new_page_button=Jauna lapa
wiki.delete_page_button=Dzēst lapu
-wiki.delete_page_notice_1=Tiks izdzēsta lapa "%s". Pārliecinieties, ka patiešām to vēlaties.
+wiki.delete_page_notice_1=Šī darbība izdzēsīs lapu "%s". Pārliecinieties, ka vēlāties dzēst šo lapu.
wiki.page_already_exists=Vikivietnes lapa ar šādu nosaukumu jau eksistē.
wiki.pages=Lapas
wiki.last_updated=Pēdējo reizi labota %s
settings=Iestatījumi
+settings.desc=Iestatījumi ir vieta, kur varat pārvaldīt repozitorija iestatījumus
settings.options=Opcijas
settings.collaboration=Sadarbība
settings.collaboration.admin=Administrators
@@ -633,7 +792,7 @@ settings.githooks=Git āķi
settings.basic_settings=Pamatiestatījumi
settings.mirror_settings=Spoguļa iestatījumi
settings.sync_mirror=Sinhronizēt tagad
-settings.mirror_sync_in_progress=Notiek spoguļa sinhronizācija, uzgaidiet aptuveni minūti un atjaunojiet lapu.
+settings.mirror_sync_in_progress=Notiek spoguļa sinhronizācija. Atjaunojiet lapu, lai pārbaudītu atkārtoti, pēc minūtes.
settings.site=Oficiālā mājas lapa
settings.update_settings=Mainīt iestatījumus
settings.advanced_settings=Papildu iestatījumi
@@ -641,10 +800,14 @@ settings.wiki_desc=Iespējot vikivietnes
settings.use_internal_wiki=Izmantot iebūvēto vikivietni
settings.use_external_wiki=Izmantot ārējo vikivietni
settings.external_wiki_url=Ārējās Vikivietnes adrese
+settings.external_wiki_url_error=Ārējās vikivietnes URL nav korekts
settings.external_wiki_url_desc=Apmeklētāji tiks novirzīti uz adresi, kad viņi uzklikšķinās uz cilnes.
settings.issues_desc=Iespējot problēmu sekotāju
settings.use_internal_issue_tracker=Izmantot iebūvētu vieglu problēmu sekotāju
settings.use_external_issue_tracker=Izmantot ārējo problēmu sekotāju
+settings.external_tracker_url=Ārējā problēmu reģistra URL
+settings.external_tracker_url_error=Ārējā problēmu sekotāja URL nav korekts
+settings.external_tracker_url_desc=Apmeklētāji nospiežot uz cilnes tiks pārsūtīti uz norādīto URL.
settings.tracker_url_format=Ārējā problēmu sekotāja adreses formāts
settings.tracker_issue_style=Ārējā problēmu reģistra nosaukumu stils:
settings.tracker_issue_style.numeric=Cipari
@@ -654,29 +817,29 @@ settings.pulls_desc=Iespējot izmaiņu pieprasījumus lai saņemtu publiskus ieg
settings.danger_zone=Bīstamā zona
settings.new_owner_has_same_repo=Jaunajam īpašniekam jau ir repozitorijs ar šādu nosaukumu.
settings.convert=Konvertēt uz parastu repozitoriju
-settings.convert_desc=Šo spoguli ir iespējams konvertēt par parastu repozitoriju. Šī ir neatgriezeniska darbība.
+settings.convert_desc=Jūs varat nomainīt šo spoguli uz parastu repozitoriju. Šī darbība ir neatgriezeniska.
settings.convert_notices_1=- Šī darbība konvertēs šo repozitoriju par parastu repozitoriju un to nebūs iespējams atcelt.
settings.convert_confirm=Apstiprināt konvertēšanu
-settings.convert_succeed=Repozitorijs tika veiksmīgi konvertēts uz parastu repozitoriju.
+settings.convert_succeed=Repozitorijs tika izmainīts par parastu repozitoriju.
settings.transfer=Mainīt īpašnieku
settings.transfer_desc=Mainīt šī repozitorija īpašnieku uz citu lietotāju vai organizāciju, kurai Jums ir administratora tiesībs.
-settings.transfer_notices_1=- Jūs pazaudēsiet piekļuvi, ja jaunais īpašnieks ir lietotājs.
+settings.transfer_notices_1=- Jūs zaudēsiet piekļuvi, ja jaunais īpašnieks ir individuāls lietotājs.
settings.transfer_notices_2=- Jūs saglabāsiet piekļuvi, ja jaunais īpašnieks ir organizācija un Jūs esat viens no tās īpašniekiem.
-settings.transfer_form_title=Lūdzu, ievadiet sekojošu informāciju, lai apstiprinātu šo darbību:
+settings.transfer_form_title=Ievadiet sekojošu informāciju, lai apstiprinātu savu darbību:
settings.wiki_delete=Dzēst Vikivietnes datus
settings.wiki_delete_desc=Vikivietnes datu dzēšana ir neatgriezeniska. Pārliecinieties vai patiešām to vēlaties.
settings.wiki_delete_notices_1=- Šī darbība dzēsīs un atspējos %s Vikivietni
-settings.wiki_deletion_success=Repozitorija Vikivietnes dati tika veiksmīgi izdzēsti.
+settings.wiki_deletion_success=Repozitorija vikivietnes dati tika izdzēsti.
settings.delete=Dzēst šo repozitoriju
-settings.delete_desc=Dzēšot repozitoriju, tā datus vairs nebūs iespējams atgūt. Pirms dzēšanas pārliecinieites vai patiešām vēlaties to darīt.
+settings.delete_desc=Dzēšot repozitoriju, tā datus vairs nebūs iespējams atgūt. Pirms dzēšanas pārliecinieties vai patiešām vēlaties to darīt.
settings.delete_notices_1=- Šī darbība ir NEATGRIEZENISKA .
-settings.delete_notices_2=- Šī darbība neatgriezeniski izdzēsīs visus šī repozitorija datus, tai skaitā Git datus, problēmu ziņojumus, komentārus un definētās piekļuves tiesības.
-settings.delete_notices_fork_1=- Visi atdalītie repozitoriji kļūs neatkarīgi pēc dzēšanas.
-settings.deletion_success=Repozitorijs tika veiksmīgi dzēsts!
-settings.update_settings_success=Repozitorija opcijas ir veiksmīgi saglabātas.
+settings.delete_notices_2=- Šī darbība neatgriezeniski dzēsīs šī repozitorija kodu, problēmas, komentārus, vikivietni un līdzstrādnieku piekļuvi.
+settings.delete_notices_fork_1=- Visi atdalītie repozitoriju pēc dzēšanas kļūs neatkarīgi.
+settings.deletion_success=Repozitorijs tika izdzēsts.
+settings.update_settings_success=Repozitorija iestatījumi tika saglabāti.
settings.transfer_owner=Jaunais īpašnieks
settings.make_transfer=Mainīt
-settings.transfer_succeed=Repozitorija īpašnieks ir veiksmīgi nomainīts.
+settings.transfer_succeed=Repozitorija īpašnieks tika nomainīts.
settings.confirm_delete=Apstiprināt dzēšanu
settings.add_collaborator=Pievienot jaunu līdzstrādnieku
settings.add_collaborator_success=Jauns līdzstrādnieks ir pievienots.
@@ -688,13 +851,13 @@ settings.search_user_placeholder=Meklēt lietotāju...
settings.org_not_allowed_to_be_collaborator=Organizāciju nav atļauts pievienot kā līdzstrādnieku.
settings.user_is_org_member=Lietotājs ir organizācijas biedrs, kas nevar tikt pievienots kā līdzstrādnieks.
settings.add_webhook=Pievienot tīmekļa āķi
-settings.hooks_desc=Tīmekļa āķi ļauj paziņot ārējiem servisiem par noteiktiem notikomiem, kas notiek Git servisā. Kad iestāsies kāds notikums, katram ārējā servisa URL tiks nosūtīts POST pieprasījums. Lai uzzinātu sīkāk skatieties Tīmekļa āķu rokasgrāmatā .
+settings.hooks_desc=Tīmekļa āķi ļauj paziņot ārējiem servisiem par noteiktiem notikomiem, kas notiek Git servisā. Kad iestāsies kāds notikums, katram ārējā servisa URL tiks nosūtīts POST pieprasījums. Lai uzzinātu sīkāk skatieties tīmekļa āķu rokasgrāmatā .
settings.webhook_deletion=Dzēst tīmekļa āķi
-settings.webhook_deletion_desc=Dzēšot tīmekļa āķi tiks dzēsta visa ar to saistītā informācija un izpildes vēsture. Vai vēlaties turpināt?
+settings.webhook_deletion_desc=Dzēšot šo tīmekļa āķi, tiks izdzēsta arī visa tā informācija un piegāžu vēsture. Vai patiešām vēlaties turpināt?
settings.webhook_deletion_success=Tīmekļa āķis tika veiksmīgi izdzēsts!
settings.webhook.test_delivery=Testa piegāde
settings.webhook.test_delivery_desc=Veikt viltus push-notikuma piegādi lai notestētu Jūsu tīmekļa āķa iestatījumus
-settings.webhook.test_delivery_success=Testa web-āķis ir pievienots piegādes rindai. Var paiet dažas sekundes, kamēr tas parādīsies piegāžu vēsturē.
+settings.webhook.test_delivery_success=Pārbaudes tīmekļa āķis tika veiksmīgi pievienots piegādes rinda. Var paiet vairākas sekundes līdz tas parādās piegādes vēsturē.
settings.webhook.request=Pieprasījums
settings.webhook.response=Atbilde
settings.webhook.headers=Galvenes
@@ -705,7 +868,7 @@ settings.githook_edit_desc=Ja āķis nav aktīvs, tiks attēlots piemērs kā to
settings.githook_name=Āķa nosaukums
settings.githook_content=Āķa saturs
settings.update_githook=Labot āķi
-settings.add_webhook_desc=Uz norādīto URL tiks nosūtīts POST pieprasījums ar notikuma datiem. Jūs varat norādīt arī datu formātu, kādā datus vēlaties saņemt (JSON, x-www-form-urlencoded utt. ). Detalizētāku informāciju ir iespējams uzzināt Tīmekļa āķu rokasgrāmatā .
+settings.add_webhook_desc=Uz norādīto URL tiks nosūtīts POST pieprasījums ar notikuma datiem. Jūs varat norādīt arī datu formātu, kādā datus vēlaties saņemt (JSON, x-www-form-urlencoded, XML u. c.). Detalizētāku informāciju ir iespējams uzzināt tīmekļa āķu rokasgrāmatā .
settings.payload_url=Vērtuma URL
settings.content_type=Satura tips
settings.secret=Noslēpums
@@ -723,7 +886,7 @@ settings.event_pull_request_desc=Atvērts, aizvērts, atkāroti atvērts, labots
settings.event_push=Izmaiņu nosūtīšana
settings.event_push_desc=Git izmaiņu nosūtīšana uz repozitoriju
settings.active=Aktīvs
-settings.active_helper=Tiks nosūtīti notikuma dati, kad nostrādās šis āķis.
+settings.active_helper=Arī informācija par notikumu, kas izraisīja āķi, tiks nosūtīta.
settings.add_hook_success=Jauns tīmekļa āķis tika veiksmīgi pievienots.
settings.update_webhook=Mainīt tīmekļa āķi
settings.update_hook_success=Tīmekļa āķist tika veiksmīgi saglabāts.
@@ -744,21 +907,38 @@ settings.key_been_used=Šāda izvietošanas atslēga jau eksistē.
settings.key_name_used=Izvietošanas atslēga ar šādu nosaukumu jau eksistē.
settings.add_key_success=Izvietošanas atslēga '%s' tik veiksmīgi pievienota!
settings.deploy_key_deletion=Dzēst izvietošanas atslēgu
-settings.deploy_key_deletion_desc=Dzēšot šo izvietošanas atslēgu tiks noņemta arī ar to saistītā piekļuve šim repozitorijam. Vai vēlaties turpināt?
-settings.deploy_key_deletion_success=Izvietošanas atslēga tika veiksmīgi izdzēsta!
+settings.deploy_key_deletion_desc=Dzēšot izvietošanas atslēgu, ar to vairs nebūs iespējams piekļūt šim repozitorijam. Vai patiešām vēlaties turpināt?
+settings.deploy_key_deletion_success=Izvietošanas atslēga tikai veiksmīgi izdzēsta!
+settings.branches=Atzari
+settings.protected_branch=Atzaru aizsargāšana
+settings.protected_branch_can_push=Atļaut izmaiņu nosūtīšanu?
+settings.protected_branch_can_push_yes=Jūs varat nosūtīt izmaiņas
+settings.protected_branch_can_push_no=Jūs nevarat nosūtīt izmaiņas
+settings.add_protected_branch=Iespējot aizsargāšanu
+settings.delete_protected_branch=Atspējot aizsargāšanu
+settings.add_protected_branch_success=%s veiksmīgi slēgts
+settings.add_protected_branch_failed=%s slēgšana neizdevās
+settings.remove_protected_branch_success=%s veiksmīgi atslēgts
+settings.protected_branch_deletion=Lai dzēstu atzara aizsardzību
+settings.protected_branch_deletion_desc=Ikviens ar rakstīšanas tiesībām varēs nosūtīt izmaiņas uz šo zaru. Vai patiešām to vēlaties?
+settings.default_branch_desc=Noklusētais atzars tiek uzskatīts par bāzes atzaru repozitorijā uz kuru tiks veidoti izmaiņu pieprasījumu un pēc noklusējuma tiek veiktas koda izmaiņas, ja vien nav norādīts cits atzars.
+settings.choose_branch=Izvēlieties atzaru...
+settings.no_protected_branch=Nav neviena aizsargātā atzara
diff.browse_source=Pārlūkot izejas kodu
diff.parent=vecāks
diff.commit=revīzija
-diff.data_not_available=Salīdzināšanas dati nav pieejami.
+diff.data_not_available=Satura salīdzināšana nav pieejama
diff.show_diff_stats=Rādīt salīdzināšanas statistiku
diff.show_split_view=Dalītais skats
diff.show_unified_view=Apvienotais skats
diff.stats_desc=%d mainītis faili ar %d papildinājumiem un %d dzēšanām
+diff.bin=Binārs
diff.view_file=Parādīt failu
diff.file_suppressed=Failā izmaiņas netiks attēlotas, jo tās ir par lielu
diff.too_many_files=Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels
+releases.desc=Laidieni ir vieta, kur pārvaldīt projekta versijas
release.releases=Laidieni
release.new_release=Jauns laidiens
release.draft=Melnraksts
@@ -767,11 +947,11 @@ release.stable=Stabila
release.edit=labot
release.ahead=%d revīzijas atzarā %s kopš šī laidiena
release.source_code=Izejas kods
-release.new_subheader=Publicējiet laidienus, lai veiktu produkta iterācijas.
-release.edit_subheader=Detalizēts žurnāls var palīdzēt lietotājiem saprast, kas tika uzlabots.
+release.new_subheader=Publicējiet laidienus, lai varētu veikt atsekošanu projekta versijām.
+release.edit_subheader=Detalizēts izmaiņu žurnāls palīdz lietotajiem saprast, kas ir ticis mainīts.
release.tag_name=Taga nosaukums
release.target=Mērķis
-release.tag_helper=Publicējot, izvēlieties esošu vai izveidojiet jaunu tagu.
+release.tag_helper=Izvēlieties jau esošu tagu vai izveidojiet jaunu.
release.title=Virsraksts
release.content=Saturs
release.write=Rakstīt
@@ -785,12 +965,19 @@ release.save_draft=Saglabāt melnrakstu
release.edit_release=Labot laidienu
release.delete_release=Dzēst šo laidienu
release.deletion=Laidiena dzēšana
-release.deletion_desc=Dzēšot šo laidienu tiks dzēsts arī atbilstošs Git tags. Vai vēlaties turpināt?
-release.deletion_success=Laidiens tika veiksmīgi dzēsts!
+release.deletion_desc=Dzēšot šo laidienu tiks izdzēsts arī attiecīgais Git tags. Kods netiks pazaudēts. Vai vēlaties turpināt?
+release.deletion_success=Laidiens tika izdzēsts.
release.tag_name_already_exist=Laidiens ar šādu taga nosaukumu jau eksistē.
release.tag_name_invalid=Nekorekts birkas nosaukams.
release.downloads=Lejupielādes
+branch.delete=Dzēst atzaru %s
+branch.delete_desc=Atzara dzēšana ir neatgriezeniska. To nav iespējams atcelt.
+branch.delete_notices_1=- Šī darbība ir NEATGRIEZENISKA .
+branch.delete_notices_2=- Šī darbība neatgriezeniski izdzēsīs visu zarā %s.
+branch.deletion_success=Atzars '%s' tika izdzēsts.
+branch.deletion_failed=Neizdevās izdzēst atzaru %s.
+branch.delete_branch_has_new_commits=%s nevar tikt dzēsts, jo tam ir jaunas revīzijas pēc tā sapludināšanas.
[org]
org_name_holder=Organizācijas nosaukums
@@ -808,11 +995,13 @@ org_desc=Apraksts
team_name=Komandas nosaukums
team_desc=Apraksts
team_name_helper=Šo nosaukumu varēs izmantot, lai pieminētu komandu sarunās.
-team_desc_helper=Komandas apraksts
-team_permission_desc=Kādām tiesībām šai komandai būtu jābūt?
+team_desc_helper=Kam šī komanda ir domāta?
+team_permission_desc=Kādas būs šīs komandas tiesības?
+team_unit_desc=Kādām sadaļām šai komandai būs piekļuve?
form.name_reserved=Organizācijas nosaukums '%s' ir rezervēts.
form.name_pattern_not_allowed=Organizācijas nosaukums '%s' nav atļauts.
+form.create_org_not_allowed=Šim lietotājam nav tiesību veidot organizācijas.
settings=Iestatījumi
settings.options=Opcijas
@@ -820,15 +1009,15 @@ settings.full_name=Pilns vārds, uzvārds
settings.website=Mājas lapa
settings.location=Atrašanās vieta
settings.update_settings=Mainīt iestatījumus
-settings.update_setting_success=Organizācijas iestatījumi tika veiksmīgi saglabāti.
-settings.change_orgname_prompt=Šī izmaiņa ietekmēs saites, kas ir saistītas ar šo organizāciju.
-settings.update_avatar_success=Organizācijas avatara iestatījumi tika veiksmīgi saglabāti.
+settings.update_setting_success=Organizācijas iestatījumi tika saglabāti.
+settings.change_orgname_prompt=Šo izmaiņu rezultātā tiks izmainītas šīs organizācijas saites.
+settings.update_avatar_success=Organizācijas attēls tika saglabāts.
settings.delete=Dzēst organizāciju
settings.delete_account=Dzēst šo organizāciju
settings.delete_prompt=Šī darbība pilnībā dzēsīs šo organizāciju, kā arī tā ir NEATGRIEZENISKA !
settings.confirm_delete_account=Apstiprināt dzēšanu
settings.delete_org_title=Organizācijas dzēšana
-settings.delete_org_desc=Šī organizācija tiks pilnībā izdzēsta, vai vēlaties turpināt?
+settings.delete_org_desc=Šī organizācijas tiks neatgriezeniski izdzēsta, vai patiešām vēlaties turpināt?
settings.hooks_desc=Pievienot tīmekļa āķus, kas nostrādās visiem repozitorijiem šajā organizācijā.
members.membership_visibility=Dalībnieka redzamība:
@@ -849,9 +1038,9 @@ teams.leave=Atstāt
teams.read_access=Lasīšanas piekļuve
teams.read_access_helper=Komanda varēs skatīties un klonēt šīs organizācijas repozitorijus.
teams.write_access=Rakstīšanas piekļuve
-teams.write_access_helper=Komanda varēs skatīties un klonēt, kā arī nosūtīt izmaiņas šīs organizācijas repozitorijiem.
+teams.write_access_helper=Šī komanda varēs lasīt un nosūtīt izmaiņas uz tās repozitorijiem.
teams.admin_access=Administratora piekļuve
-teams.admin_access_helper=Šī komanda varēs veikt push/pull komandas tās repozitorijiem, kā arī tiem pievienot citus līdzstrādniekus.
+teams.admin_access_helper=Šī komanda varēs nosūtīt un saņemt izmaiņas no tās repozitorijiem, kā arī pievienot tiem citus līdzstrādniekus.
teams.no_desc=Komandai nav apraksta
teams.settings=Iestatījumi
teams.owners_permission_desc=Īpašniekiem ir pilna piekļuve visiem repozitorijiem un ir organizācijas administratora tiesības .
@@ -860,8 +1049,8 @@ teams.update_settings=Saglabāt iestatījumus
teams.delete_team=Dzēst komandu
teams.add_team_member=Pievienot komandas biedru
teams.delete_team_title=Komandas dzēšana
-teams.delete_team_desc=Komanda tiks dzēsta, vai vēlaties turpināt? Komandas biedri var zaudēt piekļuvi dažiem vai pat visiem repozitorijiem.
-teams.delete_team_success=Komanda tika veiksmīgi izdzēsta.
+teams.delete_team_desc=Dzēšot komandu, tās biedri var zaudēt piekļuvi dažiem vai pat visiem repozitorijiem. Vai vēlaties turpināt?
+teams.delete_team_success=Komanda tika izdzēsta.
teams.read_permission_desc=Šai komandai ir lasīšanas tiesības: dalībnieki var skatīties un klonēt komandas repozitorijus.
teams.write_permission_desc=Šai komandai ir rakstīšanas tiesības: dalībnieki var lasīt un nosūtīt izmaiņas repozitorijiem.
teams.admin_permission_desc=Šai komandai ir administratora tiesības: dalībnieki var lasīt, rakstīt un pievienot citus dalībniekus komandas repozitorijiem.
@@ -891,23 +1080,24 @@ dashboard.statistic_info=Gitea datu bāze satur %d lietotājus, %d
dashboard.operation_name=Darbības nosaukums
dashboard.operation_switch=Pārslēgt
dashboard.operation_run=Palaist
-dashboard.clean_unbind_oauth=Notīrīt nesaistītās OAuth biļetes
-dashboard.clean_unbind_oauth_success=Visas nesaistītās OAuth biļetes tika veiksmīgi izdzēstas.
+dashboard.clean_unbind_oauth=Notīrīt nepiesaistītos OAuth savienojumus
+dashboard.clean_unbind_oauth_success=Visi nepiesaistītie OAuth savienojumu tika izdzēsti.
dashboard.delete_inactivate_accounts=Dzēst visus neaktīvos kontus
-dashboard.delete_inactivate_accounts_success=Visi neaktīvie kotni tika veiksmīgi izdzēsti.
+dashboard.delete_inactivate_accounts_success=Visi neaktīvie konti tika izdzēsti.
dashboard.delete_repo_archives=Dzēst visu repozitoriju arhīvus
-dashboard.delete_repo_archives_success=Visu repozitoriju arhīvi tika veiksmīgi izdzēsti.
-dashboard.delete_missing_repos=Dzēst visus repozitorija ierakstus, kas zaudēja Git failus
-dashboard.delete_missing_repos_success=Visi repozitorija ieraksti, kas zaudēja Git failus tika veiksmīgi dzēsti.
-dashboard.git_gc_repos=Veikt repozitoriju datu sakārtošānu (git gc)
-dashboard.git_gc_repos_success=Datu sakārtošana visiem repozitorijiem veiksmīgi pabeigta.
-dashboard.resync_all_sshkeys=Pārrakstīt '.ssh/authorized_keys' failu (brīdinājums: ne-Git atslēgas tiks pazaudētas)
-dashboard.resync_all_sshkeys_success=Visas publiskās atslēgas tika veiksmīgi pārrakstītas.
-dashboard.resync_all_update_hooks=Pārrakstīt visu repozitoriju izmaiņu āķus (nepieciešams, ja tiek mainīta konfigurācijas faila atrašanās vieta)
-dashboard.resync_all_update_hooks_success=Visu repozitoriju izmaiņu āķi tika veiksmīgi pārrakstīti.
-dashboard.reinit_missing_repos=Atkārtoti inicializēt visus repozitorija ierakstus, kam trūkst Git failu
-dashboard.reinit_missing_repos_success=Visi repozitorija ieraksti, kam trūkst Git faili, tika atkārtoti inicializēti.
-
+dashboard.delete_repo_archives_success=Visu repozitoriju arhīvi tika izdzēsti.
+dashboard.delete_missing_repos=Dzēst visus repozitorijus, kuriem trūkst Git faili
+dashboard.delete_missing_repos_success=Visi repozitoriji, kuriem trūkst Git faili, tika izdzēsti.
+dashboard.git_gc_repos=Izpildīt visu repozitoriju datu sakārtošanu
+dashboard.git_gc_repos_success=Visiem repozitorijiem ir pabeigta datu sakārtošana.
+dashboard.resync_all_sshkeys=Pārrakstīt '.ssh/authorized_keys' failu (Gitea SSH atslēgām)
+dashboard.resync_all_sshkeys_success=Visas publiskās atslēgas tika pārrakstītas.
+dashboard.resync_all_hooks=Pārsinhronizēt pirms-saņemšanas, atjaunošanas un pēc-saņemšanas āķus visiem repozitorijiem.
+dashboard.resync_all_hooks_success=Visu repozitoriju pirms-saņemšanas, atjaunošanas un pēc-saņemšanas āķi tika atjaunoti.
+dashboard.reinit_missing_repos=Atkārtoti inicializēt visus pazaudētos Git repozitorijus par kuriem eksistē ieraksti
+dashboard.reinit_missing_repos_success=Visi pazaudētie Git repozitoriji, par kuriem eksistēja ieraksti, tika atkārtoti inicializēti.
+dashboard.sync_external_users=Sinhronizēt ārējo lietotāju datus
+dashboard.sync_external_users_started=Uzsākta ārējo lietotāju sinhronizācija
dashboard.server_uptime=Servera darbības laiks
dashboard.current_goroutine=Izmantotās Gorutīnas
dashboard.current_memory_usage=Pašreiz izmantotā atmiņa
@@ -938,53 +1128,59 @@ dashboard.total_gc_pause=Kopējais GC izpildes laiks
dashboard.last_gc_pause=Pedējās GC izpildes laiks
dashboard.gc_times=GC reizes
-users.user_manage_panel=Lietotāju pārvaldības panelis
+users.user_manage_panel=Lietotāju vadības panelis
users.new_account=Izveidot jaunu kontu
users.name=Vārds
users.activated=Aktivizēts
users.admin=Administrators
users.repos=Repozitoriji
users.created=Izveidots
+users.last_login=Pēdējā autorizācija
+users.never_login=Nekad nav autorizējies
users.send_register_notify=Nosūtīt lietotājam reģistrācijas paziņojumu
-users.new_success=Jauns konts '%s' tika veiksmīgi izveidots.
+users.new_success=Lietotājs '%s' tika izveidots.
users.edit=Labot
users.auth_source=Autentificēšanas avots
users.local=Iebūvētā
users.auth_login_name=Autentifikācijas pieteikšanās vārds
users.password_helper=Atstājiet tukšu, ja nevēlaties mainīt.
-users.update_profile_success=Konta profils tika veiksmīgi saglabāts.
+users.update_profile_success=Lietotāja profils tika atjaunots.
users.edit_account=Labot kontu
users.max_repo_creation=Maksimāls repozitoriju veidošanas limits
users.max_repo_creation_desc=(Uzlikt -1 lai izmantotu globālu limitu pēc noklusējuma)
-users.is_activated=Konts ir aktivizēts
-users.prohibit_login=Šim kontam ir aizliegts autorizēties
+users.is_activated=Šis konts ir pabeidzis aktivizāciju
+users.prohibit_login=Šis konts ir bloķēts un ar to nevar autorizēties
users.is_admin=Šim kontam ir administratora piekļuves tiesības
-users.allow_git_hook=Šim kontam ir tiesības pievienot/labot Git āķus
+users.allow_git_hook=Šim kontam ir tiesības veidot Git āķus
users.allow_import_local=Šim kontam ir tiesības importēt lokālus repozitorijus
+users.allow_create_organization=Jums nav tiesību veidot organizācijas
users.update_profile=Mainīt konta profilu
users.delete_account=Dzēst šo kontu
-users.still_own_repo=Šis konts ir vismaz viena repozitorija īpašnieks, tos sākumā ir nepieciešams izdzēst vai nomainīt to īpašnieku.
-users.still_has_org=Šis konts ir vismaz vienas organizācijas biedrs, sākumā nepieciešams pamest vai izdzēst šo organizāciju.
-users.deletion_success=Konts tika veiksmīgi izdzēsts!
+users.still_own_repo=Šim kontam pieder vismaz viens repozitorijs, tos sākumā ir nepieciešams izdzēst vai mainīt to īpašnieku.
+users.still_has_org=Šis konts ir piesaistīts vismaz vienai organizācijai. Sākumā ir nepieciešams to atsaistīt vai izdzēst šo organizāciju.
+users.deletion_success=Konts tika veiksmīgi izdzēsts.
-orgs.org_manage_panel=Organizāciju pārvaldības panelis
+orgs.org_manage_panel=Organizāciju pārvaldība
orgs.name=Nosaukums
orgs.teams=Komandas
orgs.members=Dalībnieki
+orgs.new_orga=Izveidot organizāciju
-repos.repo_manage_panel=Repozitoriju pārvaldības panelis
+repos.repo_manage_panel=Repozitoriju pārvaldība
repos.owner=Īpašnieks
repos.name=Vārds
repos.private=Privāts
repos.watches=Vērošana
repos.stars=Atzīmētās zvaigznītes
repos.issues=Problēmas
+repos.size=Izmērs
-auths.auth_manage_panel=Autentifikācijas pārvaldības panelis
+auths.auth_manage_panel=Autentifikāciju pārvaldība
auths.new=Pievienot jaunu avotu
auths.name=Nosaukums
auths.type=Veids
auths.enabled=Iespējota
+auths.syncenabled=Iespējot lietotāju sinhronizāciju
auths.updated=Atjaunināta
auths.auth_type=Autentifikācijas tips
auths.auth_name=Autentifikācijas nosaukums
@@ -1010,33 +1206,57 @@ auths.smtp_auth=SMTP autentifikācijas tips
auths.smtphost=SMTP resursdators
auths.smtpport=SMTP ports
auths.allowed_domains=Atļautie domēni
-auths.allowed_domains_helper=Atstājiet tukšu, ja nevēlaties ierobežot domēnu vārdus. Domēna vārdus nepieciešams atdalīt ar komatu ','.
+auths.allowed_domains_helper=Atstājiet tukšu, lai atļautu visus domēnus. Lai norādītu vairākus domēnus, tos var atdalīt ar komatu.
auths.enable_tls=Iespējot TLS šifrēšanu
auths.skip_tls_verify=Izlaist TLS verifikāciju
auths.pam_service_name=PAM servisa nosaukums
+auths.oauth2_provider=OAuth2 pakalpojuma sniedzējs
+auths.oauth2_clientID=Klienta ID (atslēga)
+auths.oauth2_clientSecret=Klienta noslēpums
+auths.openIdConnectAutoDiscoveryURL=OpenID Connect automātiskās atklāšanas URL
+auths.oauth2_use_custom_url=Noklusēto URL vietā izmantot pielāgotos URL
+auths.oauth2_tokenURL=Talona URL
+auths.oauth2_authURL=Autorizācijas URL
+auths.oauth2_profileURL=Profila URL
+auths.oauth2_emailURL=E-pasta adreses URL
auths.enable_auto_register=Iespējot automātisko reģistrāciju
auths.tips=Padomi
+auths.tips.oauth2.general=OAuth2 autentifikācija
+auths.tips.oauth2.general.tip=Reģistrējot jaunu OAuth2 autentifikāciju, atsauces/pārsūtīšanas URL ir jābūt: /user/oauth2//callback
+auths.tip.oauth2_provider=OAuth2 pakalpojuma sniedzējs
+auths.tip.bitbucket=Reģistrējiet jaunu OAuth klientu adresē https://bitbucket.org/account/user//oauth-consumers/new un piešķiriet tam "Account"-"Read" tiesības
+auths.tip.dropbox=Pievienojiet jaunu aplikāciju adresē https://www.dropbox.com/developers/apps
+auths.tip.facebook=Reģistrējiet jaunu aplikāciju adresē https://developers.facebook.com/apps un pievienojiet produktu "Facebook Login
+auths.tip.github=Reģistrējiet jaunu aplikāciju adresē https://github.com/settings/applications/new
+auths.tip.gitlab=Reģistrējiet jaunu aplikāciju adresē https://gitlab.com/profile/applications
+auths.tip.google_plus=Iegūstiet OAuth2 klienta pilnvaru no Google API konsoles (https://console.developers.google.com/)
+auths.tip.openid_connect=Izmantojiet OpenID pieslēgšanās atklāšanas URL (/.well-known/openid-configuration), lai norādītu galapunktus
+auths.tip.twitter=Dodieties uz adresi https://dev.twitter.com/apps, izveidojiet aplikāciju un pārliecinieties, ka ir atzimēts “Allow this application to be used to Sign in with Twitter”.
auths.edit=Labot autentifikācijas iestatījumus
auths.activated=Autentifikācija ir aktivizēta
-auths.new_success=Jauna autentifikācija '%s' tika veiksmīgi pievienota.
-auths.update_success=Autentifikācijas iestatījumi tika veiksmīgi saglabāti.
+auths.new_success=Jauna autentifikācija'%s' tika pievienota.
+auths.update_success=Autentifikācijas iestatījumi tika saglabāti.
auths.update=Mainīt autentifikācijas iestatījumus
-auths.delete=Dzēst šo autentifikāciju
-auths.delete_auth_title=Autentifikācijas dzēšana
-auths.delete_auth_desc=Šī autentifikācija tiks dzēsta, vai vēlaties turpināt?
-auths.still_in_used=Daži lietotāji joprojām izmanto šo autentifikācijas veidu. Nepieciešams veikt šo lietotāju konvertāciju vai dzēšanu.
+auths.delete=Dzēst šo autentifikācijas avotu
+auths.delete_auth_title=Dzēst autentifikācijas avotu
+auths.delete_auth_desc=Šis autentificēšanas avots tiks dzēsts, vai patiešām vēlaties turpināt?
+auths.still_in_used=Daži lietotāji joprojām izmanto šo autentifikācijas avotu. Nepieciešams veikt šo lietotāju konvertāciju vai dzēšanu.
auths.deletion_success=Autentifikācija tika veiksmīgi izdzēsta!
+auths.login_source_exist=Pieteikšanās avots '%s' jau eksistē.
config.server_config=Servera konfigurācija
config.app_name=Lietotnes nosaukums
config.app_ver=Lietotnes versija
config.app_url=Lietotnes URL
+config.custom_conf=Konfigurācijas faila ceļš
config.domain=Domēns
config.offline_mode=Bezsaistes režīms
config.disable_router_log=Atspējot maršrutētāja žurnalizēšanu
config.run_user=Izpildes lietotājs
config.run_mode=Izpildes režīms
+config.git_version=Git versija
config.repo_root_path=Repozitoriju glabāšanas vieta
+config.lfs_root_path=LFS saknes ceļš
config.static_file_root_path=Statisko failu atrašanās vieta
config.log_file_root_path=Žurnalizēšanas failu glabāšanas vieta
config.script_type=Skripta veids
@@ -1067,13 +1287,18 @@ config.db_path_helper=(priekš "sqlite3" and "tidb")
config.service_config=Pakalpojuma konfigurācija
config.register_email_confirm=Pieprasīt e-pasta apstiprināšanu
config.disable_register=Atspējot jaunu lietotāju reģistrāciju
+config.enable_openid_signup=Iespējot reģistrāciju, izmantojot, OpenID
+config.enable_openid_signin=Iespējot OpenID autorizāciju
config.show_registration_button=Rādīt reģistrēšanās pogu
config.require_sign_in_view=Nepieciešama autorizācija
config.mail_notify=Pasta paziņojumi
config.disable_key_size_check=Atspējot atslēgas minimālā garuma pārbaudi
config.enable_captcha=Iespējot drošības kodu
config.active_code_lives=Aktīvā koda ilgums
-config.reset_password_code_lives=Paroles atiestatīšanas koda ilgums
+config.reset_password_code_lives=Atjaunot paroles koda derīguma laiku
+config.default_keep_email_private=Noklusēta vērtība pazīmei vai e-pasta adrese ir privāta
+config.default_allow_create_organization=Tiesības pēc noklusējuma veidot organizācijas
+config.no_reply_address=No-reply adrese
config.webhook_config=Tīkla āķu konfigurācija
config.queue_length=Rindas garums
@@ -1150,7 +1375,8 @@ notices.delete_all=Dzēst visus paziņojumus
notices.type=Veids
notices.type_1=Repozitorijs
notices.desc=Apraksts
-notices.delete_success=Sistēmas paziņojumi tika veiksmīgi izdzēstas.
+notices.op=Op.
+notices.delete_success=Sistēmas paziņojumi ir dzēsti.
[action]
create_repo=izveidoja repozitoriju %s
@@ -1166,34 +1392,55 @@ comment_issue=`pievienoja komentāru problēmai %s#%[2]s<
merge_pull_request=`sapludināja izmaiņu pieprasījumu %s#%[2]s `
transfer_repo=mainīja repozitorija %s īpašnieku uz %s
push_tag=pievienoja tagu %[2]s repozitorijam %[3]s
-compare_commits=Salīdzināt šīs %d revīzijas
+compare_commits=Salīdzināt %d revīzijas
[tool]
-ago=atpakaļ
-from_now=no šī brīža
+ago=%s atpakaļ
+from_now=%s no šī brīža
now=tagad
-1s=1 sekundi %s
-1m=1 minūti %s
-1h=1 stundu %s
-1d=1 dienu %s
-1w=1 nedēļu %s
-1mon=1 mēnesi %s
-1y=1 gadu %s
-seconds=%d sekundes %s
-minutes=%d minūtes %s
-hours=%d stundas %s
-days=%d dienas %s
-weeks=%d nedēļas %s
-months=%d mēneši %s
-years=%d gadi %s
+future=nākotnē
+1s=1 sekundi
+1m=1 minūti
+1h=1 stundu
+1d=1 dienu
+1w=1 nedēļu
+1mon=1 mēnesi
+1y=1 gadu
+seconds=%d sekundes
+minutes=%d minūtes
+hours=%d stundas
+days=%d dienas
+weeks=%d nedēļas
+months=%d mēnešus
+years=%d gadus
raw_seconds=sekundes
raw_minutes=minūtes
[dropzone]
-default_message=Ievelciet failus šeit vai noklikšķiniet, lai augšupielādētu.
+default_message=Ievelciet failus vai nospiediet šeit, lai augšupielādētu.
invalid_input_type=Šādus failus nav iespējams augšupielādēt.
-file_too_big=Faila izmērs ({{filesize}} MB) pārsniedz maksimālo atļauto izmēru ({{maxFilesize}} MB).
+file_too_big=Faila izmērs ({{filesize}} MB) pārsniedz maksimāli atļauto izmēru ({{maxFilesize}} MB).
remove_file=Noņemt failu
[notification]
+notifications=Paziņojumi
+unread=Neizlasītie
+read=Izlasītie
+no_unread=Jums nav neviena neizlasīta paziņojuma.
+no_read=Jums nav neviena izlasīta paziņojuma.
+pin=Piespraust paziņojumu
+mark_as_read=Atzīmēt kā izlasītu
+mark_as_unread=Atzīmēt kā nelasītu
+
+[gpg]
+error.extract_sign=Neizdevās izgūt parakstu
+error.generate_hash=Neizdevās uzģenerēt revīzijas jaucējkodu
+error.no_committer_account=Revīzijas autora e-pasts nav piesaistīts nevienam kontam
+error.no_gpg_keys_found=Šim parakstam datu bāzē netika atrasta zināma atslēga
+error.not_signed_commit=Nav parakstīta revīzija
+error.failed_retrieval_gpg_keys=Neizdevās saņemt nevienu atslēgu, kas ir piesaistīta revīzijas autora kontam
+
+[units]
+error.no_unit_allowed_repo=Jums nav tiesību aplūkot nevienu šī repozitorija sadaļu
+error.unit_not_allowed=Jums nav tiesību piekļūt šai repozitorija sadaļai
diff --git a/options/locale/locale_nb-NO.ini b/options/locale/locale_nb-NO.ini
new file mode 100644
index 0000000..2ae8a5a
--- /dev/null
+++ b/options/locale/locale_nb-NO.ini
@@ -0,0 +1,156 @@
+app_desc=En smidig Git-tjeneste du kjører selv
+
+home=Startside
+dashboard=Skrivebord
+explore=Utforsk
+help=Hjelp
+sign_in=Logg inn
+sign_in_with=Logge på med
+sign_out=Logg ut
+sign_up=Registrer deg
+register=Registrer
+website=Nettsted
+version=Versjon
+page=Side
+template=Mal
+language=Språk
+notifications=Varsler
+create_new=Opprett...
+user_profile_and_more=Brukerprofil med mer
+signed_in_as=Logget inn som
+
+username=Brukernavn
+email=Epost
+password=Passord
+re_type=Gjennta
+captcha=Bekreftelsekode
+twofa=To-faktor autentisering
+passcode=Kode
+
+repository=Kodelager
+organization=Organisasjon
+mirror=Speil
+new_repo=Nytt kodelager
+new_migrate=Ny migrering
+new_mirror=Nytt speil
+new_org=Ny organisasjon
+manage_org=Administer organisasjoner
+admin_panel=Administrasjonspanel
+account_settings=Kontoinstillinger
+settings=Innstillinger
+
+
+issues=Problemer
+
+cancel=Avbryt
+
+[install]
+install=Installasjon
+db_title=Databaseinnstillinger
+db_type=Databasetype
+host=Tjener
+user=Bruker
+password=Passord
+db_name=Databasenavn
+ssl_mode=SSL-modus
+path=Bane
+
+
+optional_title=Valgfrie innstillinger
+email_title=Innstillinger for e-post
+smtp_host=SMTP-vert
+smtp_from=Fra
+
+[home]
+
+
+[explore]
+
+[auth]
+
+[mail]
+
+[modal]
+
+[form]
+
+
+
+
+
+
+
+[user]
+
+
+[settings]
+
+
+
+
+
+
+
+
+
+
+
+
+[repo]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[org]
+
+
+
+
+
+[admin]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[action]
+
+[tool]
+
+[dropzone]
+
+[notification]
+
+[gpg]
+
+[units]
+
diff --git a/options/locale/locale_nl-NL.ini b/options/locale/locale_nl-NL.ini
index b2bf414..6209601 100644
--- a/options/locale/locale_nl-NL.ini
+++ b/options/locale/locale_nl-NL.ini
@@ -1,17 +1,22 @@
app_desc=Een eenvoudige zelfgehoste Git service geschreven in Go
+home=Beginscherm
dashboard=Overzicht
explore=Verkennen
help=Help
sign_in=Inloggen
+sign_in_with=Aanmelden met
sign_out=Uitloggen
sign_up=Aanmelden
+link_account=Account Koppelen
+link_account_signin_or_signup=Login met bestaand gebruikersnaam/wachtwoord om een bestaand account te koppelen aan dit account, of maak een nieuw account aan
register=Registreren
website=Website
version=Versie
page=Pagina
template=Sjabloon
language=Taal
+notifications=Meldingen
create_new=Creëren...
user_profile_and_more=Gebruikersprofiel en meer
signed_in_as=Aangemeld als
@@ -22,6 +27,8 @@ password=Wachtwoord
re_type=Verificatie
captcha=CAPTCHA
twofa=Twee-traps authenticatie
+twofa_scratch=Eenmalige tweeledige authenticatie code
+passcode=PIN
repository=Repository
organization=Organisatie
@@ -29,16 +36,17 @@ mirror=Kopie
new_repo=Nieuwe repository
new_migrate=Nieuwe migratie
new_mirror=Nieuwe kopie
-new_fork=Nieuwe fork
+new_fork=Nieuwe Repository Fork
new_org=Nieuwe organisatie
manage_org=Beheer organisaties
admin_panel=Adminpaneel
account_settings=Accountinstellingen
settings=Instellingen
your_profile=Uw profiel
-your_starred=Jouw sterren
+your_starred=Jouw Sterren
your_settings=Uw instellingen
+
activities=Activiteiten
pull_requests=Pull requests
issues=Kwesties
@@ -47,9 +55,9 @@ cancel=Annuleren
[install]
install=Installatie
-title=Installatiestappen voor de eerste keer opstarten
-docker_helper=Als u gebruik maakt Gitea binnen Docker, lees dan de richtlijnen voordat u iets veranderen op deze pagina!
-requite_db_desc=Gitea vereist MySQL, PostgreSQL, SQite3 of TiDB.
+title=Initiële configuratie
+docker_helper=Als u gebruik maakt van Gitea in Docker, lees dan de richtlijnen voordat u iets verandert op deze pagina.
+requite_db_desc=Gitea vereist MySQL, PostgreSQL, SQLite3 of TiDB.
db_title=Database-instellingen
db_type=Database-type
host=Server
@@ -59,27 +67,29 @@ db_name=Database naam
db_helper=Gebruik InnoDB engine met utf8_general_ci karakterset voor MySQL.
ssl_mode=SSL-modus
path=Pad
-sqlite_helper=Het pad van de SQLite3- of TiDB-database. Als u Gitea start als een service, geef dan een absoluut pad op.
+sqlite_helper=Het pad van de SQLite3- of TiDB-database. Als u Gitea als een service start, geef dan een absoluut pad op.
err_empty_db_path=SQLite3 of TiDB database mag niet leeg zijn.
err_invalid_tidb_name=TiDB database naam mag geen "." en "-" bevatten.
no_admin_and_disable_registration=U kunt de registratie niet uitschakelen als u geen beheerder bent.
err_empty_admin_password=Beheerder wachtwoord mag niet leeg zijn.
-general_title=Toepassing algemene instellingen
+general_title=Algemene Applicatie-instellingen
app_name=Applicatienaam
-app_name_helper=Plaats hier uw organisatienaam in hoofdletters!
+app_name_helper=Hier kun je de naam van je organisatie invullen.
repo_path=Repositories basis map
-repo_path_helper=Alle remote Git repositories worden in deze map opgeslagen
+repo_path_helper=Alle remote Git repositories worden in deze map opgeslagen.
+lfs_path=LFS rootpad
+lfs_path_helper=In deze map worden Git LFS bestanden opgeslagen. Laat dit veld leeg om LFS uit te schakelen.
run_user=Uitvoerende gebruikersnaam
run_user_helper=Deze gebruiker moet toegang hebben tot de git repository map en moet Gitea kunnen starten
domain=Domein
domain_helper=Dit heeft invloed op de SSH kloon URLs
ssh_port=SSH-poort
-ssh_port_helper=Nummer van de poort die uw SSH-server gebruikt, laat dit leeg om de SSH functie uit te schakelen.
+ssh_port_helper=Nummer van de poort die uw SSH-server gebruikt. Laat dit veld leeg om de SSH functie uit te schakelen.
http_port=HTTP-poort
http_port_helper=Poortnummer waar het programma naar luistert.
app_url=Applicatie URL
-app_url_helper=Dit heeft invloed op de HTTP/HTTPS kloon urls en de urls die in de email worden gebruikt
+app_url_helper=Dit heeft invloed op de HTTP/HTTPS kloon urls en de urls die in sommige emails worden gebruikt.
log_root_path=Log-pad
log_root_path_helper=Map waar logbestanden opgeslagen worden.
@@ -87,16 +97,17 @@ optional_title=Optionele instellingen
email_title=E-mail service instellingen
smtp_host=SMTP host
smtp_from=Afzender
-smtp_from_helper=Email afzender, RFC 5322. Dit kan gewoon een email adres zijn of het "Naam" formaat.
-mailer_user=Afzender e-mail / gebruikersnaam
+smtp_from_helper=Email afzender, RFC 5322. Dit kan gewoon een emailadres zijn of het "Naam" formaat.
+mailer_user=Afzender
mailer_password=Wachtwoord
register_confirm=Activeer registratie emails
mail_notify=Activeer e-mailnotificaties
server_service_title=Server en andere Services-instellingen
offline_mode=Offline modus inschakelen
-offline_mode_popup=Schakel CDN uit in productiemodus, alle bestanden worden lokaal aangeboden.
+offline_mode_popup=Schakel CDN uit zodat alle bestanden lokaal worden aangeboden.
disable_gravatar=Gravatar Service uitschakelen
disable_gravatar_popup=Schakel Gravatar en andere bronnen uit, alle avatars worden door gebruikers geüpload of zijn standaard.
+federated_avatar_lookup=Federated Avatars zoekopdracht inschakelen
federated_avatar_lookup_popup=Enable federated avatars lookup to use federated open source service based on libravatar.
disable_registration=Schakel zelfregistratie uit
disable_registration_popup=Schakel zelfregistratie uit, alleen admins kunnen accounts maken.
@@ -104,7 +115,7 @@ enable_captcha=Inschakelen Captcha
enable_captcha_popup=Vereis captcha validatie voor zelf-registratie van gebruiker.
require_sign_in_view=Schakel vereiste aanmelding om pagina's te zien in
require_sign_in_view_popup=Alleen ingelogde gebruikers kunnen pagina's bekijken, bezoekers kunnen alleen de login/registratie pagina's zien.
-admin_setting_desc="U hoeft niet meteen een administratie account te maken, de gebruiker met ID=1 krijgt automatisch administratierechten."
+admin_setting_desc=Je hoeft niet meteen een administratie account te maken. De eerste gebruiker die zich aanmeldt krijgt automatisch administratieve rechten.
admin_title=Instellingen beheerdersaccount
admin_name=Gebruikersnaam
admin_password=Wachtwoord
@@ -112,14 +123,20 @@ confirm_password=Verifieer wachtwoord
admin_email=Beheerder E-mail
install_btn_confirm=Installeer Gitea
test_git_failed=Git test niet gelukt: 'git' commando %v
-sqlite3_not_available=Uw versie biedt geen ondersteuning voor SQLite3, download de officiële binaire versie van %s, niet de gobuild versie.
-invalid_db_setting=Uw database instellingen zijn niet correct: %v
+sqlite3_not_available=Je huidige versie biedt geen ondersteuning voor SQLite3, download de officiële binaire versie van %s, niet de gobuild versie.
+invalid_db_setting=Database-instelling is ongeldig: %v
invalid_repo_path=Repository basis map is niet correct: %v
run_user_not_match=De uitvoerende gebruiker is niet de huidig gebruiker: %s -> %s
save_config_failed=Kan de configuratie niet opslaan: %v
invalid_admin_setting=Uw admin-instellingen zijn niet geldig: %v
-install_success=Welkom! Wij zijn veheugd dat u voor Gitea heeft gekozen, veel plezier!
+install_success=Welkom! Bedankt voor het kiezen van Gitea.
invalid_log_root_path=Ongeldig log-pad: %v
+default_keep_email_private=Standaardwaarde voor "Houdt Emailadressen Privé
+default_keep_email_private_popup=Dit is de standaardwaarde voor de zichtbaarheid van het e-mailadres van gebruikers. Als dit is ingesteld op true zal voor alle nieuwe gebruikers het e-mailadres worden verborgen tot de gebruiker zijn voorkeur aanpast.
+default_allow_create_organization=Standaardwaarde voor de machtiging om nieuwe gebruikers organisaties te laten aanmaken
+default_allow_create_organization_popup=Dit is de standaardwaarde voor een machtiging die zal worden toegewezen voor nieuwe gebruikers. Als deze is ingesteld op true zullen nieuwe gebruikers de machtiging krijgen om organisaties aan te maken.
+no_reply_address=No-reply emailadres
+no_reply_address_helper=Domein voor het emailadres van gebruikers in git logboeken als hij zijn emailadres privé houdt. Bijvoorbeeld zal gebruiker 'joe' en 'noreply.example.org' worden samengevoegd tot 'joe@noreply.example.org'
[home]
uname_holder=Gebruikersnaam of e-mail
@@ -131,6 +148,7 @@ collaborative_repos=Gedeelde repositories
my_orgs=Mijn organisaties
my_mirrors=Mijn kopieën
view_home=Bekijk %s
+search_repos=Zoek een repository...
issues.in_your_repos=In uw repositories
@@ -139,38 +157,57 @@ repos=Repositories
users=Gebruikers
organizations=Organisaties
search=Zoeken
+repo_no_results=Er zijn geen overeenkomende repositories gevonden.
+user_no_results=Er zijn geen overeenkomende gebruikers gevonden.
+org_no_results=Er zijn geen overeenkomende organisaties gevonden.
[auth]
-create_new_account=Maak nieuw account aan
+create_new_account=Account aanmaken
register_helper_msg=Heeft u al een account? Klik hier om in te loggen
-social_register_helper_msg=Heeft u al een account? Koppel nu!
+social_register_helper_msg=Heeft u al een account? Koppel deze nu!
disable_register_prompt=Sorry, registratie is uitgeschakeld. Neem contact op met de beheerder van deze site.
disable_register_mail=Sorry, bevestiging van registratie per e-mail is uitgeschakeld.
remember_me=Onthoud mij
-forgot_password=Wachtwoord vergeten
-forget_password=Wachtwoord vergeten?
+forgot_password_title=Wachtwoord vergeten
+forgot_password=Wachtwoord vergeten?
sign_up_now=Een account nodig? Meld u nu aan.
-confirmation_mail_sent_prompt=Een bevestigingsemail is gestuurd naar %s , Bevestig u aanvraag binnen %d uren om uw registratie te voltooien.
+confirmation_mail_sent_prompt=Een nieuwe bevestigingsmail is gestuurd naar %s . De mail moet binnen %s worden bevestigd om je registratie te voltooien.
+reset_password_mail_sent_prompt=Een bevestigingsmail is gestuurd naar %s . De mail moet binnen %s worden bevestigd om wachtwoord reset proces te voltooien.
active_your_account=Activeer uw account
prohibit_login=Login verbode
-prohibit_login_desc=U mag met dit account niet inloggen, neem contact op met de site administrator.
-resent_limit_prompt=Sorry, u heeft te snel na elkaar een aanvraag gedaan voor een activatie mail. Wacht drie minuten voor uw volgende aanvraag.
+prohibit_login_desc=Je mag met dit account niet inloggen, neem contact op met de beheerder van de site.
+resent_limit_prompt=Sorry, je hebt te snel na elkaar een aanvraag gedaan voor een activatiemail. Wacht drie minuten voor je volgende aanvraag.
has_unconfirmed_mail=Beste %s, u heeft een onbevestigd e-mailadres (%s ). Als u nog geen bevestiging heeft ontvangen, of u een nieuwe aanvraag wilt doen, klik dan op de onderstaande knop.
resend_mail=Klik hier om uw activatie mail nog een keer te verzenden
-email_not_associate=Dit e-mailadres is niet gekoppeld aan een account.
-send_reset_mail=Klik hier om uw wachtwoord reset mail (nogmaals) te versturen
+email_not_associate=Dit emailadres is niet gekoppeld aan een account.
+send_reset_mail=Klik hier om de wachtwoord reset mail (nogmaals) te versturen
reset_password=Reset uw wachtwoord
-invalid_code=Sorry, uw bevestigingscode is verlopen of niet meer geldig.
+invalid_code=Sorry, de bevestigingscode is verlopen of niet meer geldig.
reset_password_helper=Klik hier om uw wachtwoord opnieuw in te stellen.
password_too_short=De lengte van uw wachtwoord moet minimaal %d karakters zijn.
non_local_account=Niet lokale accounts mogen hun wachtwoord niet veranderen via Gitea.
+verify=Verifiëren
+scratch_code=Eenmalige code
+use_scratch_code=Gebruik een eenmalige code
+twofa_scratch_used=Je hebt je eenmalige code gebruikt. Je wordt omgeleid naar de tweeledige-authenticatie instellingen pagina zodat je de inschrijving van het apparaat kan verwijderen of een nieuwe eenmalige code kan genereren.
+twofa_passcode_incorrect=Je PIN is onjuist. Als je je geregistreerde apparaat kwijt bent gebruik dan je eenmalige code.
+twofa_scratch_token_incorrect=Je eenmalige code is onjuist.
+login_userpass=Gebruikersnaam / Wachtwoord
+login_openid=OpenID
+openid_connect_submit=Verbinden
+openid_connect_title=Verbind met een bestaand account
+openid_connect_desc=De gekozen OpenID url is niet bekend bij het systeem, je kan het met een bestaand account verbinden.
+openid_register_title=Nieuw account aanmaken
+openid_register_desc=De gekozen OpenID url is niet bekend bij het systeem, je kan het hier met een bestaand account verbinden.
+openid_signin_desc=Voorbeeld urls: https://anne.me, bob.openid.org.cn, gnusocial.net/carry
+disable_forgot_password_mail=Sorry, het resetten van wachtwoorden is uitgeschakeld. Neem contact op met de beheerder van deze site.
[mail]
activate_account=Activeer uw account
activate_email=Verifieer uw e-mailadres
reset_password=Stel uw wachtwoord opnieuw in
-register_success=Registratie succesvol, welkom
-register_notify=Welkom aan boord
+register_success=Registratie succesvol
+register_notify=Welkom bij Gitea
[modal]
yes=Ja
@@ -185,6 +222,7 @@ Password=Wachtwoord
Retype=Verifieer wachtwoord
SSHTitle=SSH sleutel naam
HttpsUrl=HTTPS-URL
+PayloadUrl=Payload url
TeamName=Team naam
AuthName=Autorisatienaam
AdminEmail=E-mail beheerder
@@ -197,8 +235,9 @@ TreeName=Bestandspad
Content=Inhoud
require_error=kan niet leeg zijn.
-alpha_dash_error=moet een valide alfanumeriek of dash(-_) karakter zijn.
-alpha_dash_dot_error=moet een valide alfanumeriek, dash(-_) of (.) punt karakter zijn.
+alpha_dash_error=` moeten valide alfanumerieke karakters of streepjes (-_) zijn.`
+alpha_dash_dot_error=` moeten valide alfanumerieke karakters, streepjes (-_) of punten zijn.`
+git_ref_name_error=` moet een correct geformatteerde git referentie naam zijn.`
size_error=moet groter zijn dan %s
min_size_error=moet minimaal %s karakters bevatten.
max_size_error=mag maximaal %s karakters bevatten.
@@ -207,27 +246,29 @@ url_error=is niet een valide URL.
include_error=` moet substring '%s' bevatten.`
unknown_error=Onbekende fout:
captcha_incorrect=Captcha komt niet overeen.
-password_not_match=Wachtwoord en verificatie wachtwoord komen niet overeen.
+password_not_match=Wachtwoorden komen niet overeen.
username_been_taken=Gebruikersnaam is al in gebruik.
-repo_name_been_taken=Deze naam is al in gebruik.
-org_name_been_taken=Organisatie naam is al in gebruik.
-team_name_been_taken=Team naam is al in gebruik.
-email_been_used=e-mailadres is al in gebruik.
-username_password_incorrect=Gebruikersnaam of wachtwoord is niet correct.
+repo_name_been_taken=Repository naam reeds gebruikt.
+org_name_been_taken=Organisatienaam is al in gebruik.
+team_name_been_taken=Teamnaam is al in gebruik.
+email_been_used=Emailadres is reeds gebruikt.
+openid_been_used=OpenID adres '%s' reeds gebruikt.
+username_password_incorrect=Onjuiste gebruikersnaam en/of wachtwoord.
enterred_invalid_repo_name=U heeft een onjuiste repository naam ingevoerd.
enterred_invalid_owner_name=U heeft een onjuiste eigenaar ingevoerd.
-enterred_invalid_password=U heeft een onjuiste wachtwoord ingevoerd.
-user_not_exist=Gegeven gebruiker bestaat niet.
-last_org_owner=De gebruiker die u probeert te verwijderen is het enige lid (eigenaar) van dit team. U moet eerst nieuwe lid (eigenaar) aanstellen.
+enterred_invalid_password=U heeft een onjuist wachtwoord ingevoerd.
+user_not_exist=De gebruiker bestaat niet.
+last_org_owner=De gebruiker die u probeert te verwijderen is het enige lid (eigenaar) van dit team. U moet eerst een nieuw lid (eigenaar) aanstellen.
+cannot_add_org_to_team=Organisatie kan niet worden toegevoegd als een teamlid.
+cannot_invite_org_to_org=Organisatie kan niet worden toegevoegd als een organisatielid.
invalid_ssh_key=Sorry, we zijn niet in staat om uw SSH-sleutel te verifiëren: %s
-unable_verify_ssh_key=Gitea kan uw SSH-sleutel niet verifieren, wij gaan ervan uit dat deze geldig is, controleert u het aub nog eens.
+invalid_gpg_key=Sorry, we zijn niet in staat om uw GPG-sleutel te verifiëren: %s
+unable_verify_ssh_key=De ssh sleutel niet kon worden geverifieerd, Controleer het voor eventuele fouten.
auth_failed=Verificatie mislukt: %v
still_own_repo=Uw account heeft nog een eigendom op een repository. U moet deze eerst verwijderen of overdragen.
-still_has_org=Uw account is nog steeds lid van een organisatie, u moet deze eerst verwijderen of overdragen.
-org_still_own_repo=De organisatie is nog eigenaar van een repository. U moet deze eerst verwijderen of overdragen.
target_branch_not_exist=Doel branch bestaat niet
@@ -249,22 +290,25 @@ form.name_pattern_not_allowed=Het gebruikersnaam patroon '%s' is niet toegestaan
profile=Profiel
password=Wachtwoord
avatar=Profielfoto
-ssh_keys=SSH-sleutels
+ssh_gpg_keys=SSH / GPG sleutels
social=Sociale netwerk-accounts
applications=Toepassingen
orgs=Organisaties
delete=Verwijder account
+twofa=Twee factor authenticatie
+account_link=Externe accounts
+organization=Organisatie
uid=uid
public_profile=Openbaar profiel
profile_desc=Uw e-mailadres is openbaar en zal gebruikt worden voor alle account gerelateerde berichtgevingen en bewerkingingen die via de website worden gedaan.
-password_username_disabled=Extern opgeslagen gebruikers zijn niet toegestaan om hun gebruikersnaam veranderen.
full_name=Volledige naam
+website=Website
location=Locatie
update_profile=Profiel bijwerken
-update_profile_success=Uw profiel is succesvol bijgewerkt.
+update_profile_success=Je profiel is bijgewerkt.
change_username=Username veranderd
-change_username_prompt=Deze verandering zal de waarop links zich verhouden tot uw account veranderen.
+change_username_prompt=Deze wijziging zal de links naar uw account wijzigen.
continue=Doorgaan
cancel=Annuleren
@@ -282,7 +326,6 @@ new_password=Nieuw wachtwoord
retype_new_password=Herhaal Nieuw Wachtwoord
password_incorrect=Huidig wachtwoord is niet correct.
change_password_success=Wachtwoord is succesvol gewijzigd. U kunt nu met uw nieuwe wachtwoord inloggen.
-password_change_disabled=Voor extern opgeslagen gebruikers is het niet toegestaan om hun wachtwoord te wijzigen.
emails=E-mailadressen
manage_emails=E-mailadressen beheren
@@ -290,62 +333,66 @@ email_desc=Uw primaire e-mailadres zal worden gebruikt voor meldingen en andere
primary=Primair
primary_email=Instellen als primair
delete_email=Verwijder
-email_deletion=E-mail Verwijderen
-email_deletion_desc=Dit e-mailadres verwijdert, worden gerelateerde informatie van uw account te verwijderen. Wilt u verdergaan?
+email_deletion=Verwijder email
email_deletion_success=E-mail is succesvol verwijderd!
add_new_email=Nieuw e-mailadres toevoegen
add_email=E-mailadres toevoegen
-add_email_confirmation_sent=Een nieuwe bevestigings e-mail werd verstuurd naar '%s', gelieve uw inbox in de komende %d uren te controleren om het bevestigingsproces te voltooien.
add_email_success=Het e-mailadres was toegevoegd.
manage_ssh_keys=Beheer SSH sleutels
+manage_gpg_keys=Beheer GPG sleutels
add_key=Sleutel toevoegen
ssh_desc=Dit is een lijst van alle SSH sleutels die gekoppeld zijn aan uw account. Verwijder alle sleutels die u niet herkent.
ssh_helper=Weet u niet hoe? Lees dan onze handleiding voor het genereren van SSH sleutels of voor algemene SSH problemen.
add_new_key=SSH sleutel toevoegen
-ssh_key_been_used=Publieke sleutel werd gebruikt.
+add_new_gpg_key=GPG sleutel toevoegen
ssh_key_name_used=Een publieke sleutel met dezelfde naam bestaat al.
+gpg_key_id_used=Een publieke GPG-sleutel met dezelfde naam bestaat al.
+gpg_key_email_not_found=De e-mail die is gekoppeld aan de GPG-sleutel kon niet worden gevonden of is nog niet bevestigd: %s
key_name=Sleutel naam
key_content=Inhoud
-add_key_success=Nieuwe SSH sleutel '%s' werd met succes toegevoegd!
+add_key_success=Uw SSH-sleutel '%s' is toegevoegd.
+add_gpg_key_success=Uw GPG-sleutel '%s' is toegevoegd.
delete_key=Verwijder
ssh_key_deletion=SSH sleutel verwijderen
+gpg_key_deletion=GPG-sleutel verwijderen
ssh_key_deletion_desc=Het verwijderen van deze SSH sleutel zal alle verwante toegang tot uw account verwijderen. Wilt u doorgaan?
-ssh_key_deletion_success=SSH sleutel is succesvol verwijderd!
+ssh_key_deletion_success=De SSH-sleutel is verwijderd.
+gpg_key_deletion_success=De GPG-sleutel is verwijderd.
add_on=Toegevoegd op
+valid_until=Geldig tot en met
+valid_forever=Voor altijd geldig
last_used=Laatst gebruikt op
no_activity=Geen recente activiteiten
key_state_desc=Deze sleutel werd gebruikt in de laatste 7 dagen
-token_state_desc=Dit token is de laatste 7 dagen gebruikt
+token_state_desc=Dit token werd gebruikt in de laatste 7 dagen
manage_social=Beheer gekoppelde sociale accounts
-social_desc=Dit is een lijst van de bijbehorende sociale accounts koppelingen, Verwijder eventueel koppelingen die u niet herkent.
unbind=Loskoppelen
-unbind_success=Sociaal account is ontkoppeld.
manage_access_token=Persoonlijke toegangstokens beheren
generate_new_token=Nieuw Token genereren
-tokens_desc=Tokens die u hebt gegenereerd om toegang tot de Gitea APIs te verkrijgen.
new_token_desc=Alle tokens hebben volledig toegang tot uw account.
token_name=Symbolische naam
generate_token=Token genereren
-generate_token_succees=Nieuw toegangstoken is met succes gegenereerd! Kopieer uw toegangstoken nu. Dit is de enige keer dat u uw toegangstoken te zien krijgt!
delete_token=Verwijderen
access_token_deletion=Persoonlijke toegangstoken verwijderen
-access_token_deletion_desc=Verwijderen van dit persoonlijke toegangstoken zal alle verwante toegang verwijderen. Wilt u doorgaan?
-delete_token_success=Persoonlijke toegangstoken is met succes verwijderd! Vergeet niet uw toepassingen ook bij te werken.
+remove_account_link=Gekoppeld account verwijderen
+
+orgs_none=U bent geen lid van een organisatie.
+
delete_account=Verwijder uw account
delete_prompt=Deze handeling zal uw account definitief verwijderen, u kunt dit NIET terug draaien!
confirm_delete_account=Bevestig verwijdering
delete_account_title=Account verwijderen
-delete_account_desc=Dit account zal permanent worden verwijderd. Wilt u doorgaan?
+delete_account_desc=Weet u zeker dat u dit account permanent wilt verwijderen?
[repo]
owner=Eigenaar
repo_name=Naam van repository
-repo_name_helper=Een goede repository-naam is kort, makkelijk te onthouden en uniek .
+repo_name_helper=Een goede repository-naam is kort, makkelijk te onthouden en uniek.
visibility=Zichtbaarheid
visiblity_helper=Deze repository is privé
visiblity_helper_forced=Sitebeheerder heeft alle nieuwe repositories gedwongen privé te zijn
@@ -364,13 +411,16 @@ readme_helper=Selecteer een sjabloon voor het Leesmij-bestand
auto_init=Initialiseer deze repository met de geselecteerde bestanden en sjabloon
create_repo=Nieuwe repository
default_branch=Standaard branch
-mirror_interval=Kopie interval(uur)
+mirror_prune=Opschonen
+mirror_interval=Kloon interval (geldige tijdseenheden "h", "m", "s")
+mirror_interval_invalid=Kloon-interval is niet geldig
mirror_address=Kopie-adres
-mirror_address_desc=Gelieve alle noodzakelijke gebruikersgegevens toe te voegen aan de adresbalk.
mirror_last_synced=Laatste synchronisatie
watchers=Volgers
+stargazers=Stargazers
+forks=Forks
-form.reach_limit_of_creation=De eigenaar heeft maximale creatie limiet van %d repositories bereikt.
+form.reach_limit_of_creation=U hebt uw limiet van %d repositories al bereikt.
form.name_reserved=Repositorienaam '%s' is gereserveerd.
form.name_pattern_not_allowed=Repository naampatroon '%s' is niet toegestaan.
@@ -396,14 +446,16 @@ watch=Volgen
unstar=Ontster
star=Ster
fork=Vork
+download_archive=Download deze repository
no_desc=Geen omschrijving
quick_guide=Snelstart gids
clone_this_repo=Kloon deze repository
create_new_repo_command=Maak een nieuwe repository aan vanaf de console
-push_exist_repo=Push een bestaande repository vanaf de console
-repo_is_empty=Deze repositories is leeg, probeer het later opnieuw!
+push_exist_repo=Push een bestaande repositorie vanaf de console
+bare_message=Deze repository bevat geen inhoud.
+code=Code
branch=Branch
tree=Tree
filter_branch_and_tag=Filter op branch of tag
@@ -411,32 +463,64 @@ branches=Branches
tags=Labels
issues=Kwesties
pulls=Pull-aanvragen
+labels=Labels
milestones=Mijlpalen
+commits=Commits
releases=Publicaties
file_raw=Ruw
file_history=Geschiedenis
file_view_raw=Weergave ruw bestand
+file_permalink=Permalink
file_too_large=Dit bestand is te groot om te tonen
+video_not_supported_in_browser=Uw browser ondersteunt geen HTML5 video.
+stored_lfs=Opgeslagen met Git LFS
+commit_graph=Commit grafiek
editor.new_file=Nieuw bestand
editor.upload_file=Bestand uploaden
editor.edit_file=Bewerk bestand
editor.preview_changes=Voorbeeld tonen
-editor.cannot_edit_non_text_files=Kan niet-tekstbestanden niet bewerken
editor.edit_this_file=Bestand aanpassen
editor.must_be_on_a_branch=U moet in een branch zijn om aanpassingen te maken of voor te stellen
editor.fork_before_edit=U moet deze repository eerst forken om dit bestand aan te kunnen passen
editor.delete_this_file=Verwijder dit bestand
+editor.file_delete_success=Bestand '%s' is succesvol verwijderd!
+editor.name_your_file=Bestandsnaam...
+editor.or=of
+editor.cancel_lower=annuleer
+editor.add_tmpl='%s/' toevoegen
+editor.add='%s' toevoegen
+editor.update='%s' updaten
+editor.delete='%s' verwijderen
+editor.commit_message_desc=Voeg een optionele beschrijving toe...
+editor.create_new_branch=Maak een nieuwe branch voor deze commit en start van een pull-aanvraag.
+editor.new_branch_name_desc=Nieuwe branch naam...
+editor.cancel=Annuleer
+editor.filename_cannot_be_empty=Bestandsnaam mag niet leeg zijn.
+editor.branch_already_exists=Branch '%s' bestaat al in deze repository.
+editor.file_is_a_symlink=Het bestand '%s' is een symlink die niet kan worden gewijzigd via de web editor
+editor.filename_is_a_directory=De bestandsnaam '%s' is een bestaande map in deze repository.
+editor.file_editing_no_longer_exists=Het bestand '%s' dat u aan het bewerken bent is niet langer aanwezig in de repository.
+editor.file_changed_while_editing=Inhoud van het bestand is gewijzigd sinds u begon met bewerken. Klik hier om te zien wat er is veranderd of Druk op commit opnieuw om deze wijzigingen te overschrijven.
+editor.file_already_exists=Een bestand met de naam '%s' bestaat al in deze repository.
+editor.no_changes_to_show=Er zijn geen wijzigingen om weer te geven.
+editor.fail_to_update_file=Update/maken van bestand '%s' is mislukt: %v
+editor.add_subdir=Submap toevoegen...
+editor.upload_files_to_dir=Bestanden uploaden naar '%s'
+commits.commits=Commits
commits.search=Zoeken
-commits.find=zoek
+commits.find=Zoek
+commits.search_all=Alle branches
commits.author=Auteur
commits.message=Bericht
commits.date=Datum
commits.older=Ouder
commits.newer=Nieuwer
+
issues.new=Nieuw probleem
+issues.new.labels=Labels
issues.new.no_label=Geen label
issues.new.clear_labels=Verwijder labels
issues.new.milestone=Mijlpaal
@@ -451,13 +535,21 @@ issues.create=Maak probleem
issues.new_label=Nieuw Label
issues.new_label_placeholder=Tekst label...
issues.create_label=Maak label
-issues.label_templates.info=There aren’t any labels yet. You can click on the "New Label" button above to create one or use a predefined set below.
+issues.label_templates.title=Laad een vooraf gedefinieerde set labels
+issues.label_templates.helper=Selecteer een labelset
+issues.label_templates.use=Deze labelset gebruiken
+issues.change_milestone_at='mijlpaal bewerkt van %s %s %s'
+issues.remove_milestone_at=' %s is verwijderd uit de %s mijlpaal'
+issues.deleted_milestone=` (verwijderd)`
+issues.open_tab=%d Open
issues.close_tab=%d gesloten
+issues.filter_label=Label
issues.filter_label_no_select=Geen label geselecteerd
issues.filter_milestone=Mijlpaal
issues.filter_milestone_no_select=Geen geselecteerde mijlpaal
issues.filter_assignee=Aangewezene
issues.filter_assginee_no_select=Geen geselecteerde verantwoordelijke
+issues.filter_type=Type
issues.filter_type.all_issues=Alle kwesties
issues.filter_type.assigned_to_you=Aan jou toegewezen
issues.filter_type.created_by_you=Aangemaakt door jou
@@ -469,12 +561,22 @@ issues.filter_sort.recentupdate=Recent bijgewerkt
issues.filter_sort.leastupdate=Minst recent bijgewerkt
issues.filter_sort.mostcomment=Meest besproken
issues.filter_sort.leastcomment=Minst besproken
+issues.action_open=Open
+issues.action_close=Sluit
+issues.action_label=Label
+issues.action_milestone=Mijlpaal
+issues.action_milestone_no_select=Geen mijlpaal
+issues.action_assignee=Toegewezene
+issues.action_assignee_no_select=Geen verantwoordelijke
issues.opened_by=%[1]s werd geopend door %[3]s
issues.opened_by_fake=%[1]s werd geopend door %[2]s
issues.previous=Vorige
issues.next=Volgende
+issues.open_title=Open
issues.closed_title=Gesloten
issues.num_comments=%d opmerkingen
+issues.commented_at=`reageerde %s `
+issues.delete_comment_confirm=Weet u zeker dat u deze reactie wilt verwijderen?
issues.no_content=Er is nog geen inhoud.
issues.close_issue=Sluit
issues.close_comment_issue=Sluit en geef commentaar
@@ -491,14 +593,22 @@ issues.cancel=Annuleren
issues.save=Opslaan
issues.label_title=Labelnaam
issues.label_color=Labelkleur
+issues.label_count=%d labels
issues.label_open_issues=%d geopende problemen
issues.label_edit=Bewerken
issues.label_delete=Verwijder
issues.label_modify=Wijzig label
issues.label_deletion=Verwijder label
-issues.label_deletion_desc=Het verwijderen van dit label zal alle informatie in de gerelateerde problemen verwijderen. Wilt u doorgaan?
issues.label_deletion_success=Label werd met succes verwijderd!
+issues.label.filter_sort.alphabetically=Alfabetisch
+issues.label.filter_sort.reverse_alphabetically=Omgekeerd alfabetisch
+issues.label.filter_sort.by_size=Grootte
+issues.label.filter_sort.reverse_by_size=Omgekeerde grootte
issues.num_participants=%d deelnemers
+issues.attachment.open_tab=`Klik om "%s" in een nieuw tabblad te bekijken`
+issues.attachment.download=`Klik om "%s" te downloaden`
+issues.subscribe=Abonneren
+issues.unsubscribe=Uitschrijven
pulls.new=Nieuwe Pull aanvraag
pulls.compare_changes=Vergelijk veranderingen
@@ -506,28 +616,28 @@ pulls.compare_changes_desc=Vergelijk twee branches en maak een pull verzoek voor
pulls.compare_compare=vergelijk
pulls.no_results=Geen resultaten gevonden.
pulls.nothing_to_compare=Er is niets te vergelijken omdat base en head branches dezelfde zijn.
-pulls.has_pull_request=` Er is al een pull-aanvraag tussen deze twee targets: %[2]s #% [3]d %[2]s #% [3]d'
pulls.create=Pull verzoek aanmaken
pulls.title_desc=wil %[1]d commits van %[2]s samenvoegen met %[3]s
pulls.merged_title_desc=heeft %[1]d commits samengevoegd van %[2]s naar %[3]s %[4]s
pulls.tab_conversation=Discussie
+pulls.tab_commits=Commits
pulls.tab_files=Bestanden gewijzigd
-pulls.reopen_to_merge=Heropen deze pull request aub om een een merge actie uit te voeren.
+pulls.reopen_to_merge=Heropen dit pull request aub om een een merge actie uit te voeren.
pulls.merged=Samengevoegd
-pulls.has_merged=Dit pull-request is samengevoegd!
+pulls.has_merged=Dit pull-request is succesvol samengevoegd.
pulls.data_broken=Omdat informatie over de fork is verwijderd, zijn de gegevens van dit pull-request niet beschikbaar.
pulls.is_checking=Controle van conflicten is nog bezig, ververs deze pagina in enkele ogenblikken.
pulls.can_auto_merge_desc=Dit pull-request kan automatisch samengevoegd worden.
-pulls.cannot_auto_merge_desc=Dit pull-request kan niet worden gemerged omdat er conflicten zijn.
pulls.cannot_auto_merge_helper=Gelieve beide versies manueel samen te voegen om de conflicten op te lossen.
pulls.merge_pull_request=Samenvoegen van pull verzoek
-pulls.open_unmerged_pull_exists=`U kan de bewerking 'heropenen' niet uitvoeren omdat er al een pull-aanvraag (#%d) is van dezelfde repository met dezelfde informatie. Voeg deze eerst samen.`
milestones.new=Nieuwe mijlpaal
milestones.open_tab=%d geopend
milestones.close_tab=%d gesloten
milestones.closed=%s werd gesloten
milestones.no_due_date=Geen vervaldatum
+milestones.open=Open
milestones.close=Sluit
milestones.new_subheader=Maak mijlpalen voor het organiseren van uw problemen.
milestones.create=Mijlpaal maken
@@ -538,16 +648,21 @@ milestones.clear=Leegmaken
milestones.invalid_due_date_format=Formaat vervaldatum is ongeldig, moet zijn "jjjj-mm-dd".
milestones.create_success=Mijlpaal '%s' is met succes aangemaakt!
milestones.edit=Bewerk mijlpaal
-milestones.edit_subheader=Gebruik een goede beschrijving voor mijlpalen, om verwarring te voorkomen.
milestones.cancel=Annuleer
milestones.modify=Mijlpaal wijzigen
milestones.edit_success=Wijzigingen van mijlpaal '%s' is met succes opgeslagen!
milestones.deletion=Mijlpaal verwijderen
-milestones.deletion_desc=Het verwijderen van dit label zal alle informatie in de gerelateerde problemen verwijderen. Wilt u doorgaan?
milestones.deletion_success=Mijlpaal is met succes verwijderd!
+milestones.filter_sort.most_issues=Meeste problemen
+milestones.filter_sort.least_issues=Minste problemen
-wiki.welcome=Welkom op de Wiki!
+ext_wiki=Ext wiki
+ext_wiki.desc=Ext Wiki linkt naar een extern wiki systeem
+
+wiki=Wiki
+wiki.welcome=Welkom op de wiki
wiki.welcome_desc=In een wiki kunnen gebruikers samen een project documenteren en bediscussiëren.
+wiki.desc=De wiki is een plek om documentatie op te slaan
wiki.create_first_page=Maak de eerste pagina
wiki.page=Pagina
wiki.filter_page=Filter pagina
@@ -558,7 +673,6 @@ wiki.last_commit_info=%s heeft deze pagina aangepast %s
wiki.edit_page_button=Bewerken
wiki.new_page_button=Nieuwe pagina
wiki.delete_page_button=Verwijder pagina
-wiki.delete_page_notice_1=Dit zal pagina "%s" verwijderen. Weet u het zeker?
wiki.page_already_exists=Er bestaat al een wiki-pagina met deze naam.
wiki.pages=Pagina’s
wiki.last_updated=Laatst bijgewerkt: %s
@@ -566,19 +680,27 @@ wiki.last_updated=Laatst bijgewerkt: %s
settings=Instellingen
settings.options=Opties
settings.collaboration=Samenwerking
+settings.collaboration.write=Schrijf
+settings.collaboration.read=Lees
+settings.collaboration.undefined=Ongedefinieerd
settings.githooks=Git-hooks
settings.basic_settings=Basis instellingen
settings.mirror_settings=Kopie Settings
-settings.mirror_sync_in_progress=Kopie synchronisatie is bezig, vernieuw de pagina over ongeveer een minuut.
+settings.sync_mirror=Nu synchroniseren
settings.site=Officiële site
settings.update_settings=Instellingen bewerken
settings.advanced_settings=Geavanceerde opties
+settings.wiki_desc=Wiki-systeem inschakelen
+settings.use_internal_wiki=Ingebouwde wiki gebruiken
settings.use_external_wiki=Externe wiki gebruiken
settings.external_wiki_url=Externe wiki-URL
+settings.external_wiki_url_error=Externe Wiki URL is ongeldig
settings.external_wiki_url_desc=Bezoekers worden doorgestuurd naar de URL als ze op het tabblad klikken.
settings.use_internal_issue_tracker=Use builtin lightweight issue tracker
settings.use_external_issue_tracker=Externe issuetracker gebruiken
settings.tracker_url_format=URL-formaat externe issuetracker
+settings.tracker_issue_style.numeric=Nummeriek
+settings.tracker_issue_style.alphanumeric=Alfanummeriek
settings.tracker_url_format_desc=U kan de aanduidingen {user} {repo} {index} gebruiken voor de gebruikersnaam, de naam van de repository en de lijst van open tickets.
settings.pulls_desc=Schakel 'pull request' in om publieke bijdragen te mogelijk te maken
settings.danger_zone=Gevaren zone
@@ -600,12 +722,11 @@ settings.wiki_deletion_success=De repository met wiki data is succesvol gewist.
settings.delete=Verwijder deze repository
settings.delete_desc=Als u eenmaal een repository verwijderd is er geen weg terug. Gelieve zeker te zijn van uw acties.
settings.delete_notices_1=- Deze bewerking kan NIET ongedaan gemaakt worden.
-settings.delete_notices_2=- Deze bewerking verwijdert permanent alle informatie van deze repository met inbegrip van Git gegevens, tickets, opmerkingen en de toegang van medewerkers.
-settings.deletion_success=Repository is succesvol verwijderd!
-settings.update_settings_success=Repository instellingen zijn succesvol bijgewerkt.
+settings.deletion_success=De repository is verwijderd.
+settings.update_settings_success=Repository opties zijn verwijderd.
settings.transfer_owner=Nieuwe eigenaar
settings.make_transfer=Maak overdracht
-settings.transfer_succeed=Eigendom repository succesvol overgedragen
+settings.transfer_succeed=Eigendom repository succesvol overgedragen.
settings.confirm_delete=Bevestig verwijdering
settings.add_collaborator=Nieuwe medewerker toevoegen
settings.add_collaborator_success=medewerker is toegevoegd.
@@ -617,15 +738,13 @@ settings.search_user_placeholder=Zoek gebruiker...
settings.org_not_allowed_to_be_collaborator=De organisatie kan niet toegevoegd worden als medewerker.
settings.user_is_org_member=Gebruiker is lid van de organisatie die als een medewerker kan niet worden toegevoegd.
settings.add_webhook=Webhook toevoegen
-settings.hooks_desc=Webhooks dat de externe diensten om kennisgevingen te ontvangen wanneer bepaalde gebeurtenissen op Gitea plaatsvinden. Wanneer de opgegeven gebeurtenissen plaatsvinden, sturen we een POST-aanvraag naar elk van de URL's die u opgeeft. Meer informatie vindt u in onze Webhooks gids .
settings.webhook_deletion=Webhook verwijderen
-settings.webhook_deletion_desc=Verwijderen van deze webhook zal de informatie en alle geschiedenis verwijderen. Wilt u doorgaan?
settings.webhook_deletion_success=Webhook is succesvol verwijderd!
settings.webhook.test_delivery=Test-bezorging
settings.webhook.test_delivery_desc=Stuur een nep push bericht om de webhook te testen
-settings.webhook.test_delivery_success=De test webhook is toegevoegd aan de wachtrij. Het kan enkele seconden duren voor deze in de geschiedenis wordt weergegeven.
settings.webhook.request=Verzoek
settings.webhook.response=Antwoord
+settings.webhook.headers=Headers
settings.webhook.payload=Lading
settings.webhook.body=Inhoud
settings.githooks_desc=Git haken worden aangedreven door Git zelf, u kunt bestanden van ondersteunde haken in de lijst hieronder om aangepaste acties van toepassing bewerken.
@@ -633,7 +752,6 @@ settings.githook_edit_desc=Als haak niet actief is, zal monster inhoud worden ge
settings.githook_name=Haak naam
settings.githook_content=Haak inhoud
settings.update_githook=Haak bijwerken
-settings.add_webhook_desc=We sturen een POST-aanvraag naar de onderstaande URL met details voor alle geplaatste gebeurtenissen. U kunt ook opgeven welke gegevensindeling u wenst te ontvangen (JSON, x-1-800-www-Dell-vorm-urlencoded, enz .). Meer informatie kan gevonden worden in Webhooks gids .
settings.payload_url=Nettolading URL
settings.content_type=Content type
settings.secret=Geheim
@@ -646,9 +764,9 @@ settings.event_send_everything=Ik moet alles hebben.
settings.event_choose=Laat me kiezen wat ik nodig heb.
settings.event_create=Creëer
settings.event_create_desc=Branch, of tag aangemaakt
+settings.event_pull_request=Pull request
settings.event_push_desc=Git push naar een repository
settings.active=Actief
-settings.active_helper=We zullen details van de gebeurtenissen af leveren wanneer deze webhook wordt geactiveerd.
settings.add_hook_success=Nieuwe webhook toegevoegd.
settings.update_webhook=Bewerk webhook
settings.update_hook_success=Webhook is bijgewerkt.
@@ -669,18 +787,29 @@ settings.key_been_used=Deploy sleutel inhoud werd gebruikt.
settings.key_name_used=Deploy sleutel met eenzelfde naam bestaat al.
settings.add_key_success=Nieuwe deploy sleutel '%s' werd succesvol toegevoegd!
settings.deploy_key_deletion=Verwijder deploy sleutel
-settings.deploy_key_deletion_desc=Het verwijderen van deze deploy sleutel zal alle gerelateerde toegang verwijderen voor deze repository. Wilt u doorgaan?
settings.deploy_key_deletion_success=Deploy sleutel werd met succes verwijderd!
+settings.branches=Branches
+settings.protected_branch=Branch bescherming
+settings.protected_branch_can_push=Push toestaan?
+settings.add_protected_branch=Bescherming aanzetten
+settings.delete_protected_branch=Bescherming uitzetten
+settings.add_protected_branch_failed=%s vergrendelen is mislukt
+settings.remove_protected_branch_success=%s is ontgrendeld
+settings.choose_branch=Kies een branch...
+settings.no_protected_branch=Er zijn geen beschermde branches
diff.browse_source=Bladeren bron
diff.parent=bovenliggende
-diff.data_not_available=Diff gegevens niet beschikbaar.
+diff.commit=commit
+diff.data_not_available=Diff gegevens niet beschikbaar
diff.show_diff_stats=Toon Diff Stats
diff.show_split_view=Zij-aan-zij weergave
diff.show_unified_view=Gecombineerde weergave
diff.stats_desc=%d gewijzigde bestanden met toevoegingen van %d en %d verwijderingen
diff.view_file=Bestand weergeven
+diff.file_suppressed=Diff onderdrukt omdat het te groot bestand
+release.releases=Publicaties
release.new_release=Nieuwe release
release.draft=Concept
release.prerelease=Voorlopige versie
@@ -688,11 +817,8 @@ release.stable=Stabiel
release.edit=bewerken
release.ahead=%d aanpassingen aan %s sinds deze versie
release.source_code=Broncode
-release.new_subheader=Publiceer releases om te itereren.
-release.edit_subheader=Een gedetailleerd changelog helpt gebruikers te begrijpen wat er is verbeterd in deze release.
release.tag_name=Tagnaam
release.target=Doel
-release.tag_helper=Kies een bestaande tag, of creëer een nieuwe tag bij publiceren.
release.title=Titel
release.content=Inhoud
release.write=Schrijf
@@ -706,10 +832,15 @@ release.save_draft=Concept opslaan
release.edit_release=Release bewerken
release.delete_release=Deze release verwijderen
release.deletion=Release verwijderen
-release.deletion_desc=Als deze release verwijdert, worden de bijbehorende Git tag ook gewist. Wilt u doorgaan?
-release.deletion_success=Release is verwijderd!
release.tag_name_already_exist=Versie met deze naam bestaat al.
+release.tag_name_invalid=Labelnaam is niet geldig.
+release.downloads=Downloads
+branch.delete=Verwijder branch %s
+branch.delete_desc=Het verwijderen van een branch is permanent. Er is geen manier om dit ongedaan te maken.
+branch.delete_notices_1=- Deze bewerking kan NIET ongedaan gemaakt worden.
+branch.deletion_success=%s is verwijderd.
+branch.deletion_failed=%s verwijderen is mislukt.
[org]
org_name_holder=Organisatienaam
@@ -719,33 +850,36 @@ create_org=Nieuwe organisatie aanmaken
repo_updated=Geupdate
people=Mensen
invite_someone=Iemand uitnodigen
+teams=Teams
lower_members=leden
+lower_repositories=repositories
create_new_team=Nieuw team aanmaken
org_desc=Omschrijving
team_name=Teamnaam
team_desc=Omschrijving
team_name_helper=U gebruikt deze naam om dit team te vermelden in conversaties.
-team_desc_helper=Waar gaat dit team doen?
+team_desc_helper=Waar is dit team voor?
team_permission_desc=Welke privileges zou dit team moeten hebben?
form.name_reserved=Organisatienaam '%s' is gereserveerd.
form.name_pattern_not_allowed=Organisatie naampatroon '%s' is niet toegestaan.
+form.create_org_not_allowed=Deze gebruiker mag geen organisaties maken.
settings=Instellingen
settings.options=Opties
settings.full_name=Volledige naam
+settings.website=Website
settings.location=Locatie
settings.update_settings=Instellingen bijwerken
settings.update_setting_success=Organisatie instellingen zijn succesvol bijgewerkt.
settings.change_orgname_prompt=Deze verandering beinvloed de verhouding tussen links en de organisatie.
-settings.update_avatar_success=Organisatie avatar-instellingen zijn succesvol gewijzigd.
+settings.update_avatar_success=De avatar van de organisatie is aangepast.
settings.delete=Verwijder organisatie
settings.delete_account=Verwijder deze organisatie
settings.delete_prompt=Deze actie zal de origanisatie permanent verwijderen. U kunt dit NIET terug draaien!
settings.confirm_delete_account=Bevestig verwijdering
settings.delete_org_title=Verwijderen organsiatie
settings.delete_org_desc=Deze organisatie zal permanent worden verwijderd, wilt u doorgaan?
-settings.hooks_desc=Een webhook toevoegen die door alle repositories in deze organisatie getriggerd kan worden.
members.membership_visibility=Zichtbaarheid lidmaatschap:
members.public=Openbaar
@@ -765,9 +899,7 @@ teams.leave=Vertlaat
teams.read_access=Leestoegang
teams.read_access_helper=Dit team is in staat om zijn repositories te bekijken en te klonen.
teams.write_access=Schrijf toegang
-teams.write_access_helper=Dit team is in staat om zijn repositories te bekijken en push aanvragen te verwerken.
teams.admin_access=Beheerder toegang
-teams.admin_access_helper=Dit team is in staat om push & pull aanvragen te verwerken en om nieuwe medewerkers toe te voegen.
teams.no_desc=Dit team heeft geen omschrijving
teams.settings=Instellingen
teams.owners_permission_desc=Eigenaren hebben volledige toegang tot alle repositories en hebben beheerder rechten over de organisatie.
@@ -776,8 +908,7 @@ teams.update_settings=Instellingen bijwerken
teams.delete_team=Verwijder deze team
teams.add_team_member=Nieuwe team lid aanmaken
teams.delete_team_title=Team verwijderen
-teams.delete_team_desc=Dit team zal worden verwijderd. De leden van dit team zullen toegang tot alle repositories van het team verliezen. Wilt u doorgaan?
-teams.delete_team_success=Gekozen team is succesvol verwijderd.
+teams.delete_team_success=Het team is verwijderd.
teams.read_permission_desc=Dit team heeft Lees rechten : leden kunnen repositories lezen en klonen.
teams.write_permission_desc=Dit team heeft Schrijf rechten : leden kunnen repositories lezen en push aanvragen verwerken.
teams.admin_permission_desc=Dit team heeft Beheerders rechten : leden kunnen repositories lezen en push aanvragen verwerken en medewerkers toevoegen.
@@ -788,8 +919,10 @@ teams.remove_repo=Verwijder
teams.add_nonexistent_repo=De opslagplaats die u probeert toe te voegen bestaat niet: maak deze eerst aan.
[admin]
+dashboard=Overzicht
users=Gebruikers
organizations=Organisaties
+repositories=Repositories
authentication=Authenticaties
config=Configuratie
notices=Systeem aankondigingen
@@ -805,23 +938,14 @@ dashboard.statistic_info=Gitea database heeft %d gebruikers, %d or
dashboard.operation_name=Bewerking naam
dashboard.operation_switch=Omschakelen
dashboard.operation_run=Uitvoeren
-dashboard.clean_unbind_oauth=Clean unbound OAuths
-dashboard.clean_unbind_oauth_success=Alle OAuth bindingen zijn verwijderd.
dashboard.delete_inactivate_accounts=Verwijder alle inactieve accounts
dashboard.delete_inactivate_accounts_success=Alle inactieve accounts zijn verwijderd.
dashboard.delete_repo_archives=Verwijderen van alle repositories archieven
-dashboard.delete_repo_archives_success=Alle repositories archieven zijn verwijderd.
-dashboard.delete_missing_repos=Verwijder alle repositories zonder Git files
-dashboard.delete_missing_repos_success=Alle repositories zonder Git files zijn verwijderd.
-dashboard.git_gc_repos=Garbage collectie uitvoeren
-dashboard.git_gc_repos_success=Garbage collectie met succes uitgevoerd.
-dashboard.resync_all_sshkeys=Herschrijf '.ssh/authorized_keys' (Let op: alle sleutels die niet van Gitea zijn zullen verloren gaan!)
+dashboard.delete_repo_archives_success=Alle repositorie archieven zijn verwijderd.
+dashboard.git_gc_repos=Garbage collectie op alle repositories uitvoeren
dashboard.resync_all_sshkeys_success=Alle publieke sleutels zijn herschreven.
-dashboard.resync_all_update_hooks=Herschrijf alle repository-hooks (nodig als de configuratie bestandslocatie is gewijzigd)
-dashboard.resync_all_update_hooks_success=Alle repository-hooks zijn herschreven.
-dashboard.reinit_missing_repos=Alle repositories zonder Git files opnieuw initialiseren
-dashboard.reinit_missing_repos_success=Alle repositories zonder Git files zijn succesvol opnieuw geinitializeerd.
-
+dashboard.sync_external_users=Externe gebruikersgegevens synchroniseren
+dashboard.sync_external_users_started=Externe gebruiker synchronisatie gestart
dashboard.server_uptime=Uptime server
dashboard.current_goroutine=Huidige Goroutines
dashboard.current_memory_usage=Huidig geheugen gebruik
@@ -852,52 +976,58 @@ dashboard.total_gc_pause=Totaal GC verwerkingstijd
dashboard.last_gc_pause=Laatste GC verwerkingstijd
dashboard.gc_times=GC verwerkingen
-users.user_manage_panel=Gebruikers beheren
users.new_account=Nieuw account aanmaken
users.name=Naam
users.activated=Geactiveerd
+users.repos=Repos
users.created=Aangemaakt
+users.last_login=Laatste Login
+users.never_login=Nooit ingelogd
users.send_register_notify=Stuur notificatie voor registratie naar gebruiker
-users.new_success=Nieuw account '%s' is aangemaakt.
+users.new_success=Het account '%s' is aangemaakt.
users.edit=Bewerken
users.auth_source=Authenticatiebron
users.local=Lokaal
users.auth_login_name=Authenticatie-loginnaam
users.password_helper=Laat leeg om ongewijzigd te blijven.
-users.update_profile_success=Profiel is succesvol bijgewerkt.
+users.update_profile_success=Je profiel is bijgewerkt.
users.edit_account=Bewerk account
users.max_repo_creation=Maximum-limiet voor aanmaken van repositories
users.max_repo_creation_desc=(Zet op -1 om de globale limiet te gebruiken)
-users.is_activated=Dit account is geactiveerd
+users.prohibit_login=Deze account is geblokkeerd
users.is_admin=Dit account heeft beheerdersrechten
-users.allow_git_hook=Deze account beschikt over machtigingen voor het maken van Git haken
users.allow_import_local=Dit account mag lokale repositories importeren
+users.allow_create_organization=Deze account beschikt over machtigingen voor het maken van organisaties
users.update_profile=Account profiel bijwerken
users.delete_account=Dit account verwijderen
-users.still_own_repo=Dit account is nog steeds eigendom van een repository. U moet deze repository eerst verwijderen of overdragen.
-users.still_has_org=Deze account nog steeds lidmaatschap van organisatie, u hebt naar links of hen eerst verwijderen.
-users.deletion_success=Het account is verwijderd!
+users.deletion_success=Account is succesvol verwijderd.
orgs.org_manage_panel=Organisaties beheren
orgs.name=Naam
+orgs.teams=Teams
orgs.members=Leden
+orgs.new_orga=Nieuwe organisatie maken
-repos.repo_manage_panel=Repositoriebeheerpaneel
+repos.repo_manage_panel=Repositories beheren
repos.owner=Eigenaar
repos.name=Naam
repos.private=Prive
repos.watches=Volgers
repos.stars=Sterren
repos.issues=Kwesties
+repos.size=Grootte
-auths.auth_manage_panel=Authenticatie-beheer paneel
+auths.auth_manage_panel=Authenticatie beheer
auths.new=Nieuwe bron toevoegen
auths.name=Naam
+auths.type=Type
auths.enabled=Ingeschakeld
auths.updated=Bijgewerkt
auths.auth_type=Authenticatietype
auths.auth_name=Authenticatienaam
+auths.security_protocol=Beveiligingsprotocol
auths.domain=Domein
+auths.host=Host
auths.port=Poort
auths.bind_dn=Binden DN
auths.bind_password=Bind wachtwoord
@@ -915,19 +1045,20 @@ auths.smtp_auth=SMTP-authenticatietype
auths.smtphost=SMTP host
auths.smtpport=SMTP poort
auths.allowed_domains=Toegelaten domeinen
-auths.allowed_domains_helper=Laat dit leeg om geen enkel domein te beperken. Meerdere domeinen moeten door een komma (',') gescheiden worden.
auths.enable_tls=Activeer TLS-encryptie
auths.skip_tls_verify=TLS-verificatie overslaan
auths.pam_service_name=PAM servicenaam
+auths.oauth2_use_custom_url=Aangepaste URL's gebruiken in plaats van de standaard-URL 's
+auths.oauth2_tokenURL=Token URL
+auths.oauth2_authURL=Autorisatie URL
+auths.oauth2_profileURL=Profiel URL
+auths.oauth2_emailURL=E-mail URL
auths.enable_auto_register=Activeer automatische registratie
-auths.edit=Verificatie-instelling bewerken
+auths.tips=Tips
auths.activated=Deze autorisatiemethode is geactiveerd
-auths.new_success=Nieuwe authenticatie '%s' werd toegevoegd.
-auths.update_success=Authenticatie instellingen zijn succesvol gewijzigd.
auths.update=Authenticatie-instellingen bijwerken
auths.delete=Deze authenticatiewijze verwijderen
-auths.delete_auth_title=Authenticatie verwijderd
-auths.delete_auth_desc=Deze authenticatie zal verwijderd worden, wilt u verdergaan?
+auths.login_source_exist=Er bestaat al een login bron '%s'.
config.server_config=Serverconfiguratie
config.app_name=Applicatienaam
@@ -938,7 +1069,9 @@ config.offline_mode=Offline-modus
config.disable_router_log=Router-log uitschakelen
config.run_user=Uitvoerende gebruiker
config.run_mode=Uitvoer modus
+config.git_version=Git versie
config.repo_root_path=Repository basis pad
+config.lfs_root_path=LFS rootpad
config.static_file_root_path=Statische bestanden basis pad
config.log_file_root_path=Log bestand basis pad
config.script_type=Script type
@@ -946,7 +1079,6 @@ config.reverse_auth_user=Omgekeerde verificatie gebruiker
config.ssh_config=SSH-configuratie
config.ssh_enabled=Ingeschakeld
-config.ssh_start_builtin_server=Ingebouwde server starten
config.ssh_domain=Domein
config.ssh_port=Poort
config.ssh_listen_port=Luister op poort
@@ -957,6 +1089,8 @@ config.ssh_minimum_key_size_check=Controleer minimale key-lengte
config.ssh_minimum_key_sizes=Minimale key-lengtes
config.db_config=Databaseconfiguratie
+config.db_type=Type
+config.db_host=Host
config.db_name=Naam
config.db_user=Gebruiker
config.db_ssl_mode=SSL modus
@@ -973,20 +1107,19 @@ config.mail_notify=E-mailnotificaties
config.disable_key_size_check=Controle op key-lengte uitschakelen
config.enable_captcha=CAPTCHA inschakelen
config.active_code_lives=Actieve Code leven
-config.reset_password_code_lives=Reset wachtwoord Code leven
+config.no_reply_address=No-reply emailadres
config.webhook_config=Webhook configuratie
config.queue_length=Lengte van wachtrij
config.deliver_timeout=Bezorging verlooptijd
-config.skip_tls_verify=TLS certificaat controle overslaan
config.mailer_config=Mailerconfiguatie
config.mailer_enabled=Ingeschakeld
config.mailer_disable_helo=Schakel HELO uit
config.mailer_name=Naam
+config.mailer_host=Host
config.mailer_user=Gebruiker
config.send_test_mail=Testbericht verzenden
-config.test_mail_failed=Verzending van een testmail naar '%s' is mislukt: %v
config.test_mail_sent=Test-email is verstuurd naar '%s'.
config.oauth_config=OAuth-configuratie
@@ -1011,6 +1144,7 @@ config.picture_config=Foto configuratie
config.picture_service=Foto service
config.disable_gravatar=Gravatar uitschakelen
+config.git_migrate_timeout=Migratie time-out
config.git_mirror_timeout=Kopie Update Timeout
config.log_config=Logconfiguratie
@@ -1028,50 +1162,72 @@ monitor.start=Starttijd
monitor.execute_time=Uitvoertijd
notices.system_notice_list=Systeem aankondigingen
-notices.view_detail_header=Bekijk bericht details
notices.actions=Acties
notices.select_all=Alles selecteren
notices.deselect_all=Alles deselecteren
notices.inverse_selection=Selectie omkeren
notices.delete_selected=Selectie verwijderen
notices.delete_all=Verwijder alle berichten
+notices.type=Type
notices.type_1=Opslagplaats
notices.desc=Beschrijving
[action]
create_repo=repository aangemaakt in %s
+rename_repo=hernoemde repository van %[1]s naar %[3]s
commit_repo=push update naar %[3]s in %[4]s
create_issue=`opende issue in %s#%[2]s `
-comment_issue=`reactie op issue %s#%[2]s `"
+close_issue=`sloot kwestie %s#%[2]s `
+reopen_issue=`heropende kwestie %s#%[2]s `
+create_pull_request=`maakte pull request %s#%[2]s `
+close_pull_request=`sloot pull request %s#%[2]s `
+reopen_pull_request=`heropende pull request %s#%[2]s `
+comment_issue=`reactie op issue %s#%[2]s `
+merge_pull_request=`voegde pull request samen %s#%[2]s `
transfer_repo=repository verplaatst naar %s naar %s
push_tag=geduwd label %[2]s naar %[3]s
-compare_commits=Toon vergelijking voor deze %d commits
+compare_commits=Vergelijk %d commits
[tool]
-ago=geleden
-from_now=vanaf nu
+ago=%s geleden
+from_now=%s vanaf nu
now=nu
-1s=1 seconde %s
-1m=1 minuut %s
-1h=1 uur %s
-1d=1 dag %s
-1mon=1 maand %s
-1y=1 jaar %s
-seconds=%d seconden %s
-minutes=%d minuten %s
-hours=%d uur %s
-days=%d dagen %s
-weeks=%d weken %s
-months=%d maanden %s
-years=%d jaren %s
+future=toekomst
+1s=1 seconde
+1m=1 minuut
+1h=1 uur
+1d=1 dag
+1w=1 week
+1mon=1 maand
+1y=1 jaar
+seconds=%d seconden
+minutes=%d minuten
+hours=%d uur
+days=%d dagen
+weeks=%d weken
+months=%d maanden
+years=%d jaren
raw_seconds=seconden
raw_minutes=minuten
[dropzone]
-default_message=Drop bestanden hier of klik om te uploaden.
+default_message=Sleep bestanden hier of klik om te uploaden.
invalid_input_type=U kunt geen bestanden van dit type uploaden.
file_too_big=Bestandsgrootte ({{filesize}} MB) overschrijdt de maximale grootte ({{maxFilesize}} MB).
remove_file=Verwijder bestand
[notification]
+notifications=Notificaties
+unread=Ongelezen
+read=Gelezen
+no_unread=Je hebt geen ongelezen meldingen.
+no_read=Je hebt geen gelezen meldingen.
+mark_as_read=Markeer als gelezen
+mark_as_unread=Markeer als ongelezen
+
+[gpg]
+error.no_committer_account=Geen account gekoppeld aan de committers e-mail
+error.no_gpg_keys_found=Geen bekende sleutel gevonden voor deze handtekening in de database
+
+[units]
diff --git a/options/locale/locale_pl-PL.ini b/options/locale/locale_pl-PL.ini
index 0cf0092..e4c5dc0 100644
--- a/options/locale/locale_pl-PL.ini
+++ b/options/locale/locale_pl-PL.ini
@@ -28,7 +28,6 @@ mirror=Kopia lustrzana
new_repo=Nowe repozytorium
new_migrate=Nowa migracja
new_mirror=Nowa kopia lustrzana
-new_fork=Forkuj repozytorium
new_org=Nowa organizacja
manage_org=Zarządzaj organizacjami
admin_panel=Panel admina
@@ -37,6 +36,7 @@ settings=Ustawienia
your_profile=Twój profil
your_settings=Twoje ustawienia
+
activities=Aktywności
pull_requests=Oczekujące zmiany
issues=Problemy
@@ -45,38 +45,28 @@ cancel=Anuluj
[install]
install=Instalacja
-title=Kroki instalacyjne dla pierwszego uruchomienia
-docker_helper=Jeśli używasz Gitea wewnątrz Dockera, proszę przeczytaj wytyczne , zanim zmienisz coś na tej stronie!
-requite_db_desc=Gitea wymaga MySQL, PostgreSQL, SQLite3 lub TiDB.
db_title=Ustawienia bazy danych
db_type=Typ bazy danych
user=Użytkownik
password=Hasło
db_name=Nazwa bazy danych
-db_helper=Proszę użyć silnika INNODB z kodowaniem utf8_general_ci dla MySQL.
ssl_mode=Tryb SSL
path=Ścieżka
-sqlite_helper=Ścieżka do pliku bazy danych SQLite3 lub TiDB. Proszę użyć ścieżki bezwzględnej podczas uruchamiania usługi.
err_empty_db_path=Ścieżka do bazy danych SQLite3 lub TiDB nie może być pusta.
err_invalid_tidb_name=Nazwa bazy danych TiDB nie może zawierać znaków „.” i „-”.
no_admin_and_disable_registration=Rejestracji nie można wyłączyć bez tworzenia konta admina.
err_empty_admin_password=Hasło admina nie może być puste.
-general_title=Ustawienia ogólne Gitea
app_name=Nazwa aplikacji
-app_name_helper=Umieść tutaj wielką i głośną nazwę swojej organizacji!
repo_path=Katalog repozytoriów
-repo_path_helper=W tym katalogu zostaną zapisane wszystkie repozytoria Git.
run_user=Użytkownik uruchomieniowy
run_user_helper=Użytkownik musi mieć dostęp do katalogu repozytoriów i uruchamiania Gitea.
domain=Domena
domain_helper=To wpłynie na URLe do klonowania poprzez SSH.
ssh_port=Port SSH
-ssh_port_helper=Numer portu, z którego korzysta z serwer SSH
http_port=Port HTTP
http_port_helper=Numer portu na którym aplikacja jest dostępna.
app_url=Adres URL aplikacji
-app_url_helper=To wpłynie na adresy klonowania HTTP/HTTPS i w wiadomościach e-mail.
log_root_path=Ścieżka dla logów
log_root_path_helper=Katalog do zapisu logów.
@@ -84,14 +74,10 @@ optional_title=Ustawienia opcjonalne
email_title=Ustawienia serwera e-mail
smtp_host=Serwer SMTP
smtp_from=Od
-smtp_from_helper=Adres w polu „Od”, zgodnie z RFC 5322. Może być to po prostu adres email, bądź adres w formacie „Nazwa” .
-mailer_user=E-mail nadawcy
mailer_password=Hasło nadawcy
register_confirm=Włącz potwierdzenia rejestracji
-mail_notify=Włącz powiadomienia e-mail
server_service_title=Ustawienia serwera i innych usług
offline_mode=Włącz tryb offline
-offline_mode_popup=Wyłącz CDN, nawet w trybie produkcyjnym, wszystkie pliki zasobów będą podawane lokalnie.
disable_gravatar=Wyłącz usługę Gravatar
disable_gravatar_popup=Wyłącz Gravatar i niestandardowe źrodła, awatary muszą być przesyłane przez użytkowników.
federated_avatar_lookup_popup=Enable federated avatars lookup to use federated open source service based on libravatar.
@@ -101,7 +87,6 @@ enable_captcha=Włącz Captcha
enable_captcha_popup=Wymagaj walidacji captcha przy samodzielnej rejestracji użytkownika.
require_sign_in_view=Włącz wymóg zalogowania do przeglądania stron
require_sign_in_view_popup=Tylko zalogowani użytkownicy będą mogli przeglądać strony, goście zobaczą tylko stronę logowania.
-admin_setting_desc=Nie musisz tworzyć konta administratora teraz, użytkownik z ID = 1 zyska dostęp administratora automatycznie.
admin_title=Ustawienia konta administratora
admin_name=Nazwa Użytkownika
admin_password=Hasło
@@ -109,13 +94,8 @@ confirm_password=Potwierdź hasło
admin_email=E-mail administratora
install_btn_confirm=Zainstaluj Gitea
test_git_failed=Nie udało się przetestować polecenia „git”: %v
-sqlite3_not_available=Twoje wydanie nie obsługuje SQLite3, proszę pobrać oficjalne wydanie z %s, a NIE wersję z gobuild.
-invalid_db_setting=Ustawienia bazy danych nie są poprawne: %v
invalid_repo_path=Ścieżka repozytoriów nie jest poprawna: %v
-run_user_not_match=Użytkownik aplikacji nie jest aktualnym użytkownikiem: %s -> %s
-save_config_failed=Nie udało się zapisać konfiguracji: %v
invalid_admin_setting=Nieprawidłowe ustawienia konta admina: %v
-install_success=Cześć! Cieszymy się, że wybierałeś Gitea, baw się dobrze.
invalid_log_root_path=Ścieżka dla logów jest niepoprawna: %v
[home]
@@ -123,7 +103,6 @@ uname_holder=Nazwa użytkownika lub e-mail
password_holder=Hasło
switch_dashboard_context=Przełącz kontekst pulpitu
my_repos=Moje repozytoria
-show_more_repos=Pokaż więcej repozytoriów...
collaborative_repos=Wspólne repozytoria
my_orgs=Moje organizacje
my_mirrors=Moje kopie lustrzane
@@ -137,36 +116,23 @@ users=Użytkownicy
search=Wyszukiwanie
[auth]
-create_new_account=Załóż nowe konto
register_helper_msg=Masz już konto? Zaloguj się teraz!
-social_register_helper_msg=Masz już konto? Powiąż je teraz!
disable_register_prompt=Przepraszamy rejestracja została wyłączona. Prosimy o kontakt z administratorem serwisu.
disable_register_mail=Przepraszamy, potwierdzenia rejestracji zostały wyłączone przez administratora.
remember_me=Zapamiętaj mnie
-forgot_password=Zapomniałem hasła
-forget_password=Zapomniałeś hasła?
sign_up_now=Potrzebujesz konta? Zarejestruj się teraz.
-confirmation_mail_sent_prompt=Nowa wiadomość e-mail z potwierdzeniem została wysłana do %s , proszę sprawdzić swoją skrzynkę odbiorczą w ciągu najbliższych godzin %d aby dokończyć proces rejestracji.
active_your_account=Aktywuj swoje konto
prohibit_login=Logowanie zabronione
-prohibit_login_desc=Nie możesz się zalogować na to konto, skontaktuj się z administratorem strony.
-resent_limit_prompt=Niestety, zbyt często wysyłasz e-mail aktywacyjny. Proszę odczekać 3 minuty.
has_unconfirmed_mail=Witaj, %s, masz niepotwierdzony adres e-mail (%s ). Jeśli nie otrzymałeś wiadomości e-mail z potwierdzeniem lub potrzebujesz wysłać nową, kliknij na poniższy przycisk.
resend_mail=Kliknij tutaj, aby wysłać e-mail aktywacyjny
-email_not_associate=Ten adres e-mail nie jest skojarzony z żadnym kontem.
-send_reset_mail=Kliknij tutaj, aby (ponownie) wysłać e-mail z instrukcjami resetowania hasła
reset_password=Resetowanie hasła
-invalid_code=Niestety, Twój kod potwierdzający wygasł lub jest nieprawidłowy.
reset_password_helper=Kliknij tutaj, aby zresetować hasło
password_too_short=Długość hasła nie może być mniejsza niż %d znaków.
-non_local_account=Nie lokalne konta nie mogą zmieniać haseł przez Gitea.
[mail]
activate_account=Prosimy aktywować swoje konto
activate_email=Potwierdź swój adres e-mail
reset_password=Zmień swoje hasło
-register_success=Zostałeś zarejestrowany, witamy
-register_notify=Witamy na pokładzie
[modal]
yes=Tak
@@ -193,8 +159,6 @@ TreeName=Ścieżka pliku
Content=Treść
require_error=` nie może być puste.`
-alpha_dash_error=` musi się składać z prawidłowych znaków alfanumerycznych, myślników oraz podkreśleń.`
-alpha_dash_dot_error=` musi się składać z prawidłowych znaków alfanumerycznych, myślników, podkreśleń oraz kropek.`
size_error=` musi być wielkości %s.`
min_size_error=` musi zawierać co najwyżej %s znaków.`
max_size_error=` musi zawierać co najwyżej %s znaków.`
@@ -202,28 +166,10 @@ email_error=` nie jest poprawnym adresem e-mail.`
url_error=` nie jest poprawnym adresem URL.`
include_error=`musi zawierać tekst '%s'.`
unknown_error=Nieznany błąd:
-captcha_incorrect=Kod captcha nie zgadza się.
-password_not_match=Hasło i potwierdzenie nie zgadzają się.
-username_been_taken=Nazwa użytkownika jest już zajęta.
-repo_name_been_taken=Nazwa repozytorium jest już zajęta.
-org_name_been_taken=Nazwa organizacji jest już zajęta.
-team_name_been_taken=Nazwa zespołu jest już zajęta.
-email_been_used=Adres e-mail jest już zarejestrowany.
-username_password_incorrect=Nazwa użytkownika lub hasło nie jest prawidłowe.
-enterred_invalid_repo_name=Upewnij się, że wprowadzona nazwa repozytorium jest poprawna.
-enterred_invalid_owner_name=Upewnij się, że nazwa właściciela repozytorium jest poprawna.
-enterred_invalid_password=Proszę upewnij się, że wprowadzono hasło jest poprawne.
-user_not_exist=Podany użytkownik nie istnieje.
-last_org_owner=Usuwany użytkownik jest ostatnim członkiem ekipy właścicieli. Musi być inny właściciel.
-invalid_ssh_key=Niestety, nie jesteśmy stanie zweryfikować Twojego klucza SSH: %s
-unable_verify_ssh_key=Gitea nie może zweryfikować Twojego klucza SSH, ale zakładamy, że jest poprawny, proszę sprawdź to samodzielnie.
auth_failed=Uwierzytelnianie nie powiodło się: %v
-still_own_repo=Twoje konto dalej posiada przynajmniej jedno repozytorium, które musisz usunąć lub przekazać.
-still_has_org=Twoje konto dalej posiada członkostwo w przynajmniej jednej organizacji, którą musisz najpierw opuścić.
-org_still_own_repo=Ta organizacja dalej jest właścicielem repozytorium, które musisz usunąć bądź przekazać.
target_branch_not_exist=Gałąź docelowa nie istnieje.
@@ -238,14 +184,11 @@ following=Obserwowani
follow=Obserwuj
unfollow=Przestań obserwować
-form.name_reserved=Nazwa użytkownika „%s” jest zarezerwowana.
-form.name_pattern_not_allowed=Wzorzec nazwy użytkownika „%s” jest niedozwolony.
[settings]
profile=Profil
password=Hasło
avatar=Awatar
-ssh_keys=Klucze SSH
social=Konta społecznościowe
applications=Aplikacje
orgs=Organizacje
@@ -253,15 +196,11 @@ delete=Usuń konto
uid=UID
public_profile=Profil publiczny
-profile_desc=Twój adres e-mail jest publiczny i będzie używany dla wszystkich powiadomień związanych z kontem i dla każdej operacji wykonanej przez tę stronę.
-password_username_disabled=Nie lokalni użytkownicy nie mogą zmieniać swojej nazwy użytkownika.
full_name=Imię i nazwisko
website=Strona
location=Lokalizacja
update_profile=Zaktualizuj profil
-update_profile_success=Twój profil został pomyślnie zaktualizowany.
change_username=Zmieniono nazwę użytkownika
-change_username_prompt=Ta zmiana wpłynie na sposób w jaki łącza odnoszą się do Twojego konta.
continue=Kontynuuj
cancel=Anuluj
@@ -271,15 +210,11 @@ choose_new_avatar=Wybierz nowy avatar
update_avatar=Zaktualizuj ustawienia awatara
delete_current_avatar=Usuń obecny Avatar
uploaded_avatar_not_a_image=Załadowany plik nie jest obrazem.
-update_avatar_success=Ustawienia awatarów zostały pomyślnie zaktualizowane.
change_password=Zmień hasło
old_password=Aktualne hasło
new_password=Nowe hasło
retype_new_password=Powtórz nowe hasło
-password_incorrect=Bieżące hasło nie jest prawidłowe.
-change_password_success=Hasło zostało zmienione pomyślnie. Możesz teraz zalogować się za pomocą nowego hasła.
-password_change_disabled=Nie lokalni użytkownicy nie mogą zmieniać swoich haseł.
emails=Adresy e-mail
manage_emails=Zarządzaj adresami e-mail
@@ -287,70 +222,50 @@ email_desc=Twój podstawowy adres e-mail będzie używany do powiadomień i inny
primary=Podstawowy
primary_email=Ustaw jako podstawowy
delete_email=Usuń
-email_deletion=Usunięcie wiadomości e-mail
-email_deletion_desc=Usunięcie tego adresu e-mail spowoduje usunięcie innych informacji związanych z Twoim kontem. Czy chcesz kontynuować?
email_deletion_success=E-mail został usunięty pomyślnie!
add_new_email=Dodaj nowy e-mail
add_email=Dodaj e-mail
-add_email_confirmation_sent=Nowa wiadomość e-mail z potwierdzeniem została wysłana do '%s', proszę sprawdzić swoją skrzynkę odbiorczą w ciągu %d godzin, aby dokończyć proces potwierdzania.
add_email_success=Twój nowy e-mail został dodany pomyślnie.
manage_ssh_keys=Zarządzaj kluczami SSH
add_key=Dodaj klucz
-ssh_desc=To jest lista kluczy SSH powiązanych z Twoim kontem. Usuń klucze, które nie rozpoznajesz.
-ssh_helper=Potrzebujesz pomocy? Sprawdź nasz przewodnik generowania kluczy SSH lub rozwiązywanie typowych problemów z SSH .
add_new_key=Dodaj klucz SSH
-ssh_key_been_used=Użyto już klucza publicznego o podanej zawartości.
-ssh_key_name_used=Klucz publiczny o tej samej nazwie już istnieje.
key_name=Nazwa klucza
key_content=Treść
-add_key_success=Pomyślnie dodano nowy klucz SSH '%s'!
delete_key=Usuń
ssh_key_deletion=Usunięcie klucza SSH
-ssh_key_deletion_desc=Usunięcie tego klucza SSH będzie skutkować usunięciem wszystkich powiązanych dostępów do Twojego konta. Czy chcesz kontynuować?
-ssh_key_deletion_success=Klucz SSH został usunięty pomyślnie!
add_on=Dodano
last_used=Ostatnio użyto
no_activity=Brak aktywności
-key_state_desc=Ten klucz został użyty w ciągu ostatnich 7 dni
-token_state_desc=Ten token został użyty w ciągu ostatnich 7 dni
manage_social=Zarządzaj powiązanymi kontami społecznościowymi
-social_desc=To jest lista powiązanych kont społecznościowych. Usuń powiązania, których nie rozpoznajesz.
unbind=Usuń powiązanie
-unbind_success=Konto społecznościowe zostało odpięte.
manage_access_token=Zarządzaj osobistymi tokenami dostępu
generate_new_token=Wygeneruj nowy token
-tokens_desc=Tokeny, które wygenerowałeś, mogą być użyte do dostępu do API Gitea.
new_token_desc=Jak na razie, każdy token zapewnia pełen dostęp do Twojego konta.
token_name=Nazwa tokena
generate_token=Wygeneruj token
-generate_token_succees=Nowy token dostępu został wygenerowany pomyślnie! Upewnij się, że teraz go skopiowałeś. Nie będziesz mógł go zobaczyć ponownie!
delete_token=Usuń
access_token_deletion=Usuwanie osobistego tokena dostępu
-access_token_deletion_desc=Usunięcie tego tokena osobistego dostęp spowoduje usunięcie wszystkich powiązanych dostępów do aplikacji. Czy chcesz kontynuować?
-delete_token_success=Osobisty token dostępu został usunięty pomyślnie! Nie zapomnij również zaktualizować swoich aplikacji.
+
+
delete_account=Usuń swoje konto
delete_prompt=Ta operacja trwale usunie Twoje konto i NIE MOŻE zostać cofnięta!
confirm_delete_account=Potwierdź usunięcie
delete_account_title=Usunięcie konta
-delete_account_desc=To konto będzie usunięte na zawsze, chcesz kontynuować?
[repo]
owner=Właściciel
repo_name=Nazwa repozytorium
-repo_name_helper=Dobre nazwy repozytorium są krótkie, wpadające w pamięć i unikalne .
visibility=Widoczność
visiblity_helper=To repozytorium jest prywatne
-visiblity_helper_forced=Administrator systemu wymaga, żeby wszystkie nowe repozytoria były Prywatne
visiblity_fork_helper=(Zmiana tej wartości wpłynie na wszystkie forki)
clone_helper=Potrzebujesz pomocy z klonowaniem? Odwiedź Pomoc !
fork_repo=Sforkowane
fork_from=Forkuj z
-fork_visiblity_helper=Fork nie może zmieniać swojej widoczności
repo_desc=Opis
repo_lang=Język
repo_gitignore_helper=Wybierz szablony pliku .gitignore
@@ -361,18 +276,12 @@ auto_init=Zainicjuj to repozytorium używając wybranych plików i szablonu
create_repo=Utwórz repozytorium
default_branch=Domyślna gałąź
mirror_prune=Wyczyść
-mirror_prune_desc=Usuń wszystkie śledzone odwołania które nie istnieją w zdalnym repozytorium
-mirror_interval=Częstotliwość kopiowania (godziny)
mirror_address=Adres kopii lustrzanej
-mirror_address_desc=Proszę podać wymagane poświadczenia użytkownika w adresie.
mirror_last_synced=Ostatnia synchronizacja
watchers=Obserwujący
stargazers=Polubienia
forks=Forki
-form.reach_limit_of_creation=Właściciel osiągnął limit maksymalnej ilości repozytoriów %d.
-form.name_reserved=Nazwa repozytorium „%s” jest zarezerwowana.
-form.name_pattern_not_allowed=Wzorzec nazwy repozytorium „%s” jest niedozwolony.
need_auth=Wymaga autoryzacji
migrate_type=Typ migracji
@@ -399,9 +308,6 @@ fork=Forkuj
no_desc=Brak opisu
quick_guide=Skrócona instrukcja
clone_this_repo=Klonuj repozytorium
-create_new_repo_command=Utwórz nowe repozytorium z wiersza poleceń
-push_exist_repo=Prześlij istniejące repozytorium z wiersza poleceń
-repo_is_empty=To repozytorium jest puste, proszę wrócić później!
code=Kod
branch=Gałąź
@@ -425,7 +331,6 @@ editor.new_file=Nowy plik
editor.upload_file=Załaduj plik
editor.edit_file=Edytuj plik
editor.preview_changes=Podgląd zmian
-editor.cannot_edit_non_text_files=Nie można edytować plików nietekstowych
editor.edit_this_file=Edytuj ten plik
editor.must_be_on_a_branch=Musisz być na gałęzi aby zgłosić lub zaproponować zmiany do tego pliku
editor.fork_before_edit=Musisz sforkować to repozytorium przed edycją tego pliku
@@ -449,7 +354,6 @@ editor.cancel=Anuluj
editor.filename_cannot_be_empty=Nazwa pliku nie może być pusta.
editor.branch_already_exists=Gałąź '%s' już istnieje w tym repozytorium.
editor.file_editing_no_longer_exists=Plik '%s' który edytujesz nie istnieje już w tym repozytorium.
-editor.file_changed_while_editing=Zawartość pliku została zmieniona od rozpoczęcia edycji. Kliknij tutaj aby zobaczyć, co zostało zmienione lub naciśnij commit ponownie aby nadpisać te zmiany.
editor.file_already_exists=Nazwa pliku '%s' już istnieje w tym repozytorium.
editor.no_changes_to_show=Brak zmian do pokazania.
editor.fail_to_update_file=Tworzenie/aktualizacja pliku '%s' nie powiodła się z błędem: %v
@@ -459,13 +363,13 @@ editor.upload_files_to_dir=Prześlij pliki do '%s'
commits.commits=Commity
commits.search=Przeszukaj commity
-commits.find=Szukaj
commits.author=Autor
commits.message=Wiadomość
commits.date=Data
commits.older=Starsze
commits.newer=Nowsze
+
issues.new=Nowy problem
issues.new.labels=Etykiety
issues.new.no_label=Brak etykiety
@@ -483,7 +387,6 @@ issues.new_label=Nowa etykieta
issues.new_label_placeholder=Etykieta...
issues.create_label=Utwórz etykietę
issues.label_templates.title=Załaduj wstępnie przygotowany zestaw etykiet
-issues.label_templates.info=Nie ma jeszcze żadnych etykiet. Kliknij na przycisk „Nowa etykieta” powyżej, aby utworzyć lub użyć poniższego zestawu wstępnie zdefiniowanego.
issues.label_templates.helper=Wybierz zestaw etykiet
issues.label_templates.use=Użyj ten zestaw etykiet
issues.label_templates.fail_to_load_file=Ładowanie pliku szablonu etykiety '%s' nie powiodło się: %v
@@ -540,8 +443,6 @@ issues.label_edit=Edytuj
issues.label_delete=Usuń
issues.label_modify=Modyfikacja etykiety
issues.label_deletion=Usunięcie etykiety
-issues.label_deletion_desc=Usunięcie tej etykiety spowoduje usuniecie jej ze wszystkich powiązanych problemów. Czy na pewno chcesz kontynuować?
-issues.label_deletion_success=Etykieta została usunięta pomyślnie!
issues.num_participants=%d uczestników
issues.attachment.open_tab=`Kliknij, aby zobaczyć „%s” w nowej karcie`
issues.attachment.download=`Kliknij, aby pobrać „%s”`
@@ -561,16 +462,12 @@ pulls.merged_title_desc=scala %[1]d commity/ów z %[2]s do %[
pulls.tab_conversation=Dyskusja
pulls.tab_commits=Commity
pulls.tab_files=Pliki zmodyfikowane
-pulls.reopen_to_merge=Proszę otworzyć ponownie pull request aby wykonać operację scalenia.
pulls.merged=Scalone
-pulls.has_merged=Ten pull request został pomyślnie scalony!
pulls.data_broken=Dane pull request zostały uszkodzone poprzez usunięcie informacji forka.
pulls.is_checking=Sprawdzanie konfliktów jeszcze trwa, proszę odświeżyć stronę za moment.
pulls.can_auto_merge_desc=Pull request może być automatycznie scalony.
-pulls.cannot_auto_merge_desc=Pull request nie może być automatycznie scalony z powodu konfliktów.
pulls.cannot_auto_merge_helper=Proszę scalić ręcznie, aby rozwiązać konflikty.
pulls.merge_pull_request=Scal Pull Request
-pulls.open_unmerged_pull_exists=`Nie można otworzyć ponownie ponieważ już istnieje gotowy do scalenia pull request (#%d) z tego samego repozytorium z tymi samymi informacjami.`
milestones.new=Nowy kamień milowy
milestones.open_tab=Otwarte %d
@@ -588,27 +485,22 @@ milestones.clear=Wyczyść
milestones.invalid_due_date_format=Format daty realizacji jest nieprawidłowy, musi być "rrrr-mm-dd".
milestones.create_success=Kamień milowy „%s” został utworzony pomyślnie!
milestones.edit=Edytuj kamień milowy
-milestones.edit_subheader=Użyj lepszego opisu, tak aby nie wprowadzać w błąd użytkowników.
milestones.cancel=Anuluj
milestones.modify=Modyfikuj kamień milowy
milestones.edit_success=Zmiana kamienia milowego '%s' została pomyślnie zapisana!
milestones.deletion=Usuwanie kamienia milowego
-milestones.deletion_desc=Usunięcie tego kamienia milowego spowoduje usuniecie go ze wszystkich powiązanych problemów. Czy na pewno chcesz kontynuować?
milestones.deletion_success=Kamień milowy został usunięty pomyślnie!
-wiki.welcome=Witamy w Wiki!
-wiki.welcome_desc=Wiki to miejsce, gdzie chcesz udokumentować swój projekt wspólnie z innymi, żeby był lepszy.
+
wiki.create_first_page=Stwórz pierwszą stronę
wiki.page=Strona
wiki.filter_page=Filtruj stronę
wiki.new_page=Utwórz nową stronę
-wiki.default_commit_message=Opisz tą zmianę (opcjonalnie).
wiki.save_page=Zapisz stronę
wiki.last_commit_info=%s edytuje tę stronę %s
wiki.edit_page_button=Edytuj
wiki.new_page_button=Nowa strona
wiki.delete_page_button=Usuń stronę
-wiki.delete_page_notice_1=Strona zostanie usunięta „%s”. Bądź ostrożny.
wiki.page_already_exists=Strona Wiki o tej samej nazwie już istnieje.
wiki.pages=Strony
wiki.last_updated=Ostatnia aktualizacja %s
@@ -625,7 +517,6 @@ settings.githooks=Hooki Git
settings.basic_settings=Ustawienia podstawowe
settings.mirror_settings=Kopia lustrzana ustawień
settings.sync_mirror=Synchronizuj teraz
-settings.mirror_sync_in_progress=Synchronizacja kopii lustrzanej jest w toku, odśwież stronę w ciągu minuty.
settings.site=Oficjalna Strona
settings.update_settings=Aktualizuj ustawienia
settings.advanced_settings=Ustawienia zaawansowane
@@ -646,29 +537,18 @@ settings.pulls_desc=Włącz obsługę pull request, aby akceptować publiczny wk
settings.danger_zone=Strefa niebezpieczeństwa
settings.new_owner_has_same_repo=Nowy właściciel już posiada repozytorium o tej samej nazwie.
settings.convert=Konwersja na repozytorium regularne
-settings.convert_desc=Możesz przekonwertować ten mirror na repozytorium regularne. Ta czynność nie może być odwrócona.
settings.convert_notices_1=- Ta operacja przekonwertuje mirror tego repozytorium na repozytorium regularne. Ta czynność nie może być odwrócona.
settings.convert_confirm=Potwierdź konwersję
-settings.convert_succeed=Typ repozytorium został zamieniony na regularne.
settings.transfer=Przeniesienie własności
settings.transfer_desc=Przenieś to repozytorium do innego użytkownika lub organizacji gdzie masz uprawnienia administratora.
-settings.transfer_notices_1=- Stracisz dostęp jeśli nowy właściciel jest indywidualnym użytkownikiem.
-settings.transfer_notices_2=- Zachowasz dostęp jeśli nowym właścicielem jest organizacja, której jesteś współwłaścicielem.
-settings.transfer_form_title=Proszę wpisz co następuje w celu potwierdzenia operacji:
settings.wiki_delete=Kasowanie danych Wiki
settings.wiki_delete_desc=Usunięcie danych z wiki jest nieodwracalne. Bądź ostrożny.
settings.wiki_delete_notices_1=- To usunie i wyłączy wiki dla %s
-settings.wiki_deletion_success=Dane wiki zostały usunięte.
settings.delete=Usuń to repozytorium
settings.delete_desc=Po usunięciu repozytorium nie ma odwrotu. Upewnij się, że tego chcesz.
settings.delete_notices_1=- Ta operacja NIE MOŻE zostać cofnięta.
-settings.delete_notices_2=- Ta operacja trwale usunie wszystko z tego repozytorium, w tym dane Git, problemy, komentarze i dostęp dla współpracowników.
-settings.delete_notices_fork_1=Wszystkie forki staną się niezależne po usunięciu.
-settings.deletion_success=Repozytorium zostało pomyślnie usunięte!
-settings.update_settings_success=Opcje repozytorium zostały pomyślnie zaktualizowane.
settings.transfer_owner=Nowy właściciel
settings.make_transfer=Przenieś
-settings.transfer_succeed=Własność repozytorium została przeniesiona pomyślnie.
settings.confirm_delete=Potwierdź usunięcie
settings.add_collaborator=Dodaj nowego współpracownika
settings.add_collaborator_success=Został dodany nowy współpracownik.
@@ -680,13 +560,10 @@ settings.search_user_placeholder=Szukaj użytkownika...
settings.org_not_allowed_to_be_collaborator=Organizacji nie można dodać jako współpracownika.
settings.user_is_org_member=Użytkownik jest członkiem organizacji, który nie może być dodany jako współpracownik.
settings.add_webhook=Dodaj webhooka
-settings.hooks_desc=Webooki działają tak jak proste wywołania HTTP POST. Jeśli cokolwiek zdarzy się w Gitea, wyślemy powiadomienie do wybranego hosta. Więcej informacji można znaleźć w przewodniku webhooków .
settings.webhook_deletion=Usuń webhooka
-settings.webhook_deletion_desc=Usunięcie tego webooka spowoduje usunięcie powiązanych informacji i wpisów w historii. Czy chcesz kontynuować?
settings.webhook_deletion_success=Webhook został pomyślnie usunięty!
settings.webhook.test_delivery=Testuj dostawę
settings.webhook.test_delivery_desc=Wyślij fałszywe zdarzenie push aby przetestować ustawienie webhooka
-settings.webhook.test_delivery_success=Testowy webhook został dodany do kolejki dostawy. To może zająć kilka sekund, zanim to pojawia się w historii dostawy.
settings.webhook.request=Żądanie
settings.webhook.response=Odpowiedź
settings.webhook.headers=Nagłówki
@@ -697,7 +574,6 @@ settings.githook_edit_desc=Jeśli hook jest nieaktywny, zaprezentowana zostanie
settings.githook_name=Nazwa hooka
settings.githook_content=Treść hooka
settings.update_githook=Zaktualizuj hook
-settings.add_webhook_desc=Wyślemy żądanie POST pod poniższy adres ze szczegółami zdarzeń. Możesz również ustalić format danych zapytania (JSON, x-www-form-urlencoded, XML, itp.). Więcej informacji można znaleźć w przewodniku webhooków .
settings.payload_url=URL do wywołania
settings.content_type=Typ zawartości
settings.secret=Sekret
@@ -714,7 +590,6 @@ settings.event_pull_request_desc=Otworzono żądanie pull, zamknięto, otwarto p
settings.event_push=Wypchnięcie
settings.event_push_desc=Wypchnięcie (push) do repozytorium Git
settings.active=Aktywny
-settings.active_helper=Dostarczymy szczegóły zdarzenia, gdy ten webhook zostanie wywołany.
settings.add_hook_success=Nowy webhook został dodany.
settings.update_webhook=Zaktualizuj webhook
settings.update_hook_success=Webhook został zaktualizowany.
@@ -734,12 +609,9 @@ settings.key_been_used=Użyto już klucza wzdrożenia o podanej zawartości.
settings.key_name_used=Klucz wdrożenia o tej samej nazwie już istnieje.
settings.add_key_success=Nowy klucz wdrożenia '%s' został pomyślnie dodany!
settings.deploy_key_deletion=Utwórz klucz wdrożenia
-settings.deploy_key_deletion_desc=Usunięcie tego klucza wdrożenia spowoduje usunięcie powiązanego dostępu do tego repozytorium. Czy chcesz kontynuować?
-settings.deploy_key_deletion_success=Klucz wdrożenia został pomyślnie usunięty!
diff.browse_source=Przeglądaj źródła
diff.parent=rodzic
-diff.data_not_available=Informacje nt. zmiany nie są dostępne.
diff.show_diff_stats=Pokaż statystyki zmian
diff.show_split_view=Widok podzielony
diff.show_unified_view=Zunifikowany widok
@@ -756,11 +628,8 @@ release.stable=Stabilny
release.edit=edytuj
release.ahead=%d commitów w %s od tego wydania
release.source_code=Kod źródłowy
-release.new_subheader=Twórz wydania aby rozwijać produkt.
-release.edit_subheader=Szczegółowy dziennik zmian może pomóc użytkownikom zrozumieć, co zostało ulepszone.
release.tag_name=Nazwa tagu
release.target=Cel
-release.tag_helper=Wybierz istniejący tag, bądź utwórz nowy podczas publikacji.
release.title=Tytuł
release.content=Treść
release.write=Napisz
@@ -774,8 +643,6 @@ release.save_draft=Zapisz szkic
release.edit_release=Edytuj wydanie
release.delete_release=Usuń to wydanie
release.deletion=Usuwanie wydania
-release.deletion_desc=Usunięcie tego wydania spowoduje usunięcie odpowiednich tagów Git. Czy chcesz kontynuować?
-release.deletion_success=Wydanie zostało pomyślnie usunięte!
release.tag_name_already_exist=Wersja o tej nazwie tagu już istnieje.
release.tag_name_invalid=Nazwa tagu jest niepoprawna.
release.downloads=Pliki do pobrania
@@ -796,9 +663,6 @@ create_new_team=Utwórz nowy zespół
org_desc=Opis
team_name=Nazwa zespołu
team_desc=Opis
-team_name_helper=Będziesz używał tej nazwy do wywoływania tego zespołu w dyskusjach.
-team_desc_helper=Czym zajmuje się ten zespół?
-team_permission_desc=Jaki poziom uprawnień powinien mieć ten zespół?
form.name_reserved=Nazwa organizacji „%s” jest zarezerwowana.
form.name_pattern_not_allowed=Wzorzec nazwy organizacji „%s” jest niedozwolony.
@@ -809,16 +673,11 @@ settings.full_name=Imię i nazwisko
settings.website=Strona
settings.location=Lokalizacja
settings.update_settings=Aktualizuj ustawienia
-settings.update_setting_success=Ustawienia organizacji zostały pomyślnie zaktualizowane.
-settings.change_orgname_prompt=Ta zmiana wpłynie, jak łącza będą odnosić się do organizacji.
-settings.update_avatar_success=Awatar organizacji został pomyślnie zaktualizowany.
settings.delete=Usuń organizację
settings.delete_account=Usuń tą organizację
settings.delete_prompt=Organizacja zostanie trwale usunięta, a to NIE MOŻE być cofnięte!
settings.confirm_delete_account=Potwierdź usunięcie
settings.delete_org_title=Usunięcie organizacji
-settings.delete_org_desc=Ta organizacja zostanie trwale usunięta, czy chcesz kontynuować?
-settings.hooks_desc=Dodaj webhooki, uruchamiane dla wszystkich repozytoriów w tej organizacji.
members.membership_visibility=Widoczność członkostwa:
members.public=Publiczne
@@ -838,9 +697,7 @@ teams.leave=Opuść
teams.read_access=Dostęp do odczytu
teams.read_access_helper=Ten zespół będzie mógł wyświetlać i klonować swoje repozytoria.
teams.write_access=Dostęp do zapisu
-teams.write_access_helper=Ten zespół będzie mógł odczytywać i wysyłać do swoich repozytoriów.
teams.admin_access=Uprawnienia admina
-teams.admin_access_helper=Ten zespół będzie mógł wysyłać i pobierać swoje repozytoria, oraz dodawać do nich współpracowników.
teams.no_desc=Ten zespół nie ma opisu
teams.settings=Ustawienia
teams.owners_permission_desc=Właściciele mają pełny dostęp do wszystkich repozytoriów i mają prawa administratora w organizacji.
@@ -849,8 +706,6 @@ teams.update_settings=Aktualizuj ustawienia
teams.delete_team=Usuń ten zespół
teams.add_team_member=Dodaj członka zespołu
teams.delete_team_title=Usuwanie zespołu
-teams.delete_team_desc=Ten zespół zostanie usunięty, czy na pewno chcesz kontynuować? Jego członkowie mogą utracić dostęp do części repozytoriów.
-teams.delete_team_success=Zespół został usunięty pomyślnie.
teams.read_permission_desc=Ten zespół daje dostęp do odczytu : członkowie mogą wyświetlać i klonować repozytoria zespołu.
teams.write_permission_desc=Ten zespół daje dostęp do zapisu : członkowie mogą wyświetlać i wysyłać do repozytoriów zespołu.
teams.admin_permission_desc=Ten zespół daje dostęp pełny : członkowie mogą wyświetlać, wysyłać i dodawać współpracowników do repozytoriów zespołu.
@@ -880,23 +735,8 @@ dashboard.statistic_info=Baza danych Gitea zawiera %d użytkowników,
dashboard.operation_name=Nazwa operacji
dashboard.operation_switch=Przełącz
dashboard.operation_run=Uruchom
-dashboard.clean_unbind_oauth=Usuń niepowiązane wpisy OAuth
-dashboard.clean_unbind_oauth_success=Wszystkie niepowiązane wpisy OAuth zostały pomyślnie usunięte.
dashboard.delete_inactivate_accounts=Usuń wszystkie nieaktywne konta
-dashboard.delete_inactivate_accounts_success=Wszystkie nieaktywne konta zostały usunięte pomyślnie.
dashboard.delete_repo_archives=Usuń wszystkie archiwa repozytoriów
-dashboard.delete_repo_archives_success=Pomyślnie usunięto wszystkie archiwa repozytoriów.
-dashboard.delete_missing_repos=Usuń wszystkie rekordy repozytoriów, które utraciły pliki Git
-dashboard.delete_missing_repos_success=Wszystkie rekordy repozytoriów, które utraciły pliki Git, zostały pomyślnie usunięte.
-dashboard.git_gc_repos=Usuń śmieci z repozytoriów
-dashboard.git_gc_repos_success=Wszystkie repozytoria zakończyły odśmiecanie pomyślnie.
-dashboard.resync_all_sshkeys=Przeładuj klucze publiczne w pliku '.ssh/authorized_keys' (uwaga: klucze poza Gitea zostaną usunięte)
-dashboard.resync_all_sshkeys_success=Przeładowanie kluczy publicznych zakończyło się sukcesem.
-dashboard.resync_all_update_hooks=Przepisz pliki update hook repozytoriów (wymagane przy zmianie ścieżki do pliku konfiguracji)
-dashboard.resync_all_update_hooks_success=Wszystkie pliki update hook repozytoriów zostały pomyślnie przepisane.
-dashboard.reinit_missing_repos=Ponownie inicjalizuj wszystkie repozytoria, które straciły pliki Git
-dashboard.reinit_missing_repos_success=Wszystkie repozytoria, które straciły pliki Git, zostały ponownie zainicjować pomyślnie.
-
dashboard.server_uptime=Uptime serwera
dashboard.current_goroutine=Bieżące Goroutines
dashboard.current_memory_usage=Bieżące użycie pamięci
@@ -927,40 +767,29 @@ dashboard.total_gc_pause=Sumaryczny czas wstrzymania przez GC
dashboard.last_gc_pause=Ostatnie wstrzymanie przez GC
dashboard.gc_times=Ilość wywołań GC
-users.user_manage_panel=Panel zarządzania kontem użytkownika
users.new_account=Załóż nowe konto
users.name=Nazwa
users.activated=Aktywowany
users.repos=Repozytoria
users.created=Utworzony
users.send_register_notify=Wysyłaj powiadomienie o rejestracji do użytkownika
-users.new_success=Nowe konto '%s' zostało pomyślnie utworzone.
users.edit=Edytuj
users.auth_source=Źródło uwierzytelniania
users.local=Lokalne
users.auth_login_name=Nazwa logowania uwierzytelnienia
users.password_helper=Pozostaw puste, aby zostawić niezmienione.
-users.update_profile_success=Profil konta został pomyślnie zaktualizowany.
users.edit_account=Edytuj konto
users.max_repo_creation=Maksymalna liczba repozytoriów
users.max_repo_creation_desc=(Ustaw -1, aby użyć globalnego limitu)
-users.is_activated=To konto jest aktywne
-users.prohibit_login=Nie możesz się zalogować na to konto
users.is_admin=To konto ma uprawnienia administratora
-users.allow_git_hook=To konto posiada uprawnienia do tworzenia hooków Git
users.allow_import_local=To konto ma uprawnienia do importu lokalnych repozytoriów
users.update_profile=Zaktualizuj profil konta
users.delete_account=Usuń to konto
-users.still_own_repo=Twoje konto jest dalej właścicielem repozytorium, musisz je usunąć lub przekazać.
-users.still_has_org=Twoje konto dalej posiada członkostwo w organizacji, musisz ją opuścić bądź usunąć.
-users.deletion_success=Konto zostało pomyślnie usunięte!
-orgs.org_manage_panel=Panel zarządzania organizacją
orgs.name=Nazwa
orgs.teams=Zespoły
orgs.members=Członkowie
-repos.repo_manage_panel=Panel zarządzania repozytorium
repos.owner=Właściciel
repos.name=Nazwa
repos.private=Prywatne
@@ -968,7 +797,6 @@ repos.watches=Obserwujących
repos.stars=Polubienia
repos.issues=Problemy
-auths.auth_manage_panel=Panel zarządzania uwierzytelnianiem
auths.new=Dodaj nowe źródło
auths.name=Nazwa
auths.type=Typ
@@ -979,7 +807,6 @@ auths.auth_name=Nazwa uwierzytelniania
auths.security_protocol=Protokół zabezpieczeń
auths.domain=Domena
auths.bind_password=Hasło Bind
-auths.bind_password_helper=Ostrzeżenie: To hasło jest przechowywane w postaci zwykłego tekstu. Nie należy używać wysoko uprzywilejowanego konta.
auths.user_base=Baza wyszukiwania
auths.user_dn=DN użytkownika
auths.attribute_username=Atrybut nazwy użytkownika
@@ -994,21 +821,12 @@ auths.smtp_auth=Typ uwierzytelnienia SMTP
auths.smtphost=Serwer SMTP
auths.smtpport=Port SMTP
auths.allowed_domains=Dozwolone domeny
-auths.allowed_domains_helper=Pozostaw puste aby nie ograniczać domen. Wiele domen powinno być oddzielone przecinkami ','.
auths.enable_tls=Włącz szyfrowanie TLS
auths.skip_tls_verify=Pomiń weryfikację protokołu TLS
auths.pam_service_name=Nazwa usługi PAM
auths.enable_auto_register=Włącz automatyczną rejestrację
auths.tips=Wskazówki
-auths.edit=Edytuj ustawienia uwierzytelniania
auths.activated=To uwierzytelnienie zostało aktywowane
-auths.new_success=Pomyślnie dodano nowe uwierzytelnianie '%s'.
-auths.update_success=Ustawienia uwierzytelnienia zostały zaktualizowane pomyślnie.
-auths.update=Aktualizuj ustawienia uwierzytelniania
-auths.delete=Usuń to uwierzytelnienie
-auths.delete_auth_title=Usunięcie uwierzytelnienia
-auths.delete_auth_desc=To uwierzytelnienie zostanie usunięte, czy chcesz kontynuować?
-auths.still_in_used=Ten rodzaj autentykacji jest wciąż wykorzystywany przez niektórych użytkowników. Usuń lub przekonwertuj użytkowników, aby wykorzystywali inny typ logowania.
auths.deletion_success=Uwierzytelnienie zostało usunięte pomyślnie!
config.server_config=Konfiguracja serwera
@@ -1028,7 +846,6 @@ config.reverse_auth_user=Użytkownik dostarczony przez odwrotne proxy
config.ssh_config=Konfiguracja SSH
config.ssh_enabled=Aktywne
-config.ssh_start_builtin_server=Uruchom serwer wbudowany
config.ssh_domain=Domena
config.ssh_listen_port=Port nasłuchu
config.ssh_root_path=Ścieżka katalogu głównego
@@ -1055,12 +872,10 @@ config.mail_notify=Powiadomienia e-mail
config.disable_key_size_check=Wyłącz sprawdzanie minimalnego rozmiaru klucza
config.enable_captcha=Włącz Captcha
config.active_code_lives=Ważność kodów aktywacyjnych
-config.reset_password_code_lives=Czas życia kodu resetowania hasła
config.webhook_config=Konfiguracja webhooka
config.queue_length=Długość kolejki
config.deliver_timeout=Limit czasu zdarzenia
-config.skip_tls_verify=Pomiń weryfikację protokołu TLS
config.mailer_config=Konfiguracja poczty
config.mailer_enabled=Aktywne
@@ -1068,7 +883,6 @@ config.mailer_disable_helo=Wyłącz HELO
config.mailer_name=Nazwa
config.mailer_user=Użytkownik
config.send_test_mail=Wyślij email testowy
-config.test_mail_failed=Nieudane wysłanie wiadomości email do '%s': %v
config.test_mail_sent=Testowa wiadomość email została wysłana do '%s'.
config.oauth_config=Konfiguracja OAuth
@@ -1120,7 +934,6 @@ monitor.start=Czas rozpoczęcia
monitor.execute_time=Czas wykonania
notices.system_notice_list=Powiadomienia systemu
-notices.view_detail_header=Pokaż szczegóły powiadomienia
notices.actions=Czynności
notices.select_all=Wybierz wszystko
notices.deselect_all=Odznacz wszystko
@@ -1130,7 +943,6 @@ notices.delete_all=Usuń wszystkie powiadomienia
notices.type=Typ
notices.type_1=Repozytorium
notices.desc=Opis
-notices.delete_success=Powiadomienia systemowe zostały pomyślnie usunięte.
[action]
create_repo=tworzy repozytorium %s
@@ -1146,34 +958,35 @@ comment_issue=`komentuje problem %s#%[2]s `
merge_pull_request=`scala pull request %s#%[2]s `
transfer_repo=przenosi repozytorium %s do %s
push_tag=taguje %[2]s w %[3]s
-compare_commits=Zobacz porównanie tych %d commitów
[tool]
-ago=temu
-from_now=od teraz
+ago=%s temu
+from_now=%s od teraz
now=teraz
-1s=1 sekundę %s
-1m=1 minutę %s
-1h=1 godzinę %s
-1d=1 dzień %s
-1w=1 tydzień %s
-1mon=1 miesiąc %s
-1y=1 rok %s
-seconds=%d sekund %s
-minutes=%d minut %s
-hours=%d godzin %s
-days=%d dni %s
-weeks=%d tygodni %s
-months=%d miesięcy %s
-years=%d lat %s
+1s=1 sekundę
+1m=1 minutę
+1h=1 godzinę
+1d=1 dzień
+1w=1 tydzień
+1mon=1 miesiąc
+1y=1 rok
+seconds=%d sekund
+minutes=%d minut
+hours=%d godzin
+days=%d dni
+weeks=%d tygodni
+months=%d miesięcy
+years=%d lat
raw_seconds=sekund
raw_minutes=minut
[dropzone]
-default_message=Upuść pliki tutaj lub kliknij, aby przesłać.
invalid_input_type=Nie można przesłać plików tego typu.
-file_too_big=Rozmiar pliku ({{filesize}} MB) przekracza rozmiar maksymalny ({{maxFilesize}} MB).
remove_file=Usuń plik
[notification]
+[gpg]
+
+[units]
+
diff --git a/options/locale/locale_pt-BR.ini b/options/locale/locale_pt-BR.ini
index 4a4e592..484c61e 100644
--- a/options/locale/locale_pt-BR.ini
+++ b/options/locale/locale_pt-BR.ini
@@ -5,8 +5,11 @@ dashboard=Painel
explore=Explorar
help=Ajuda
sign_in=Entrar
+sign_in_with=Fazer login com
sign_out=Sair
sign_up=Cadastrar
+link_account=Conectar Conta
+link_account_signin_or_signup=Faça login para conectar sua conta existente à sua nova conta, ou cadastre-se para uma nova conta
register=Registrar
website=Site
version=Versão
@@ -33,16 +36,17 @@ mirror=Espelho
new_repo=Novo repositório
new_migrate=Nova migração
new_mirror=Novo mirror
-new_fork=Novo fork de repositório
+new_fork=Novo Fork de Repositório
new_org=Nova organização
manage_org=Gerenciar organizações
admin_panel=Painel do administrador
account_settings=Configurações da conta
settings=Configurações
your_profile=Seu perfil
-your_starred=Seus favoritos
+your_starred=Você favoritou
your_settings=Suas configurações
+
activities=Atividades
pull_requests=Pull requests
issues=Issues
@@ -51,8 +55,8 @@ cancel=Cancelar
[install]
install=Instalação
-title=Etapas de instalação para primeira execução
-docker_helper=Se você está rodando o Gitea dentro do Docker, por favor leia os Guias cuidadosamente antes de mudar qualquer coisa nesta página!
+title=Configuração inicial
+docker_helper=Se você está rodando o Gitea dentro do Docker, por favor leia as instruções cuidadosamente antes de alterar qualquer coisa nesta página.
requite_db_desc=Gitea requer MySQL, PostgreSQL, SQLite3 ou TiDB.
db_title=Configurações de banco de dados
db_type=Tipo de banco de dados
@@ -60,18 +64,18 @@ host=Servidor
user=Usuário
password=Senha
db_name=Nome do banco de dados
-db_helper=Por favor, use o mecanismo INNODB com o conjunto de caracteres utf8_general_ci para MySQL.
+db_helper=Por favor, use InnoDB como Engine e utf8_general_ci como o charset para o MySQL.
ssl_mode=Modo SSL
path=Caminho
-sqlite_helper=O caminho do arquivo de banco de dados SQLite3 ou TiDB. Por favor use o caminho absoluto quando você iniciar como serviço.
+sqlite_helper=O caminho do arquivo de banco de dados SQLite3 ou TiDB. Por favor use o caminho absoluto se rodar o Gitea como serviço.
err_empty_db_path=O Caminho do banco de dados SQLite3 ou TiDB não pode ser vazio.
err_invalid_tidb_name=Nome do banco de dados TiDB não permite os caracteres "." e "-".
no_admin_and_disable_registration=Você não pode desabilitar o registro sem criar uma conta de administrador.
err_empty_admin_password=A senha de administrador não pode ser vazia.
-general_title=Configurações gerais do Gitea
+general_title=Configurações gerais do aplicativo
app_name=Nome do aplicativo
-app_name_helper=Coloque o nome da sua organização aqui!
+app_name_helper=Você pode colocar o nome de sua organização aqui.
repo_path=Caminho raíz do repositório
repo_path_helper=Todos os repositórios remotos do Git serão salvos neste diretório.
lfs_path=Caminho raiz do LFS
@@ -85,7 +89,7 @@ ssh_port_helper=Número da porta que seu servidor SSH está usando, deixe vazio
http_port=Porta HTTP
http_port_helper=Número da porta em que a aplicação irá executar.
app_url=URL do aplicativo
-app_url_helper=Isto afeta a URL de clone via HTTP/HTTPs e também o e-mail.
+app_url_helper=Isto afeta a URL de clone via HTTP/HTTPS e também algumas notificações por e-mail.
log_root_path=Caminho do log
log_root_path_helper=Pasta dos arquivos de log.
@@ -93,14 +97,14 @@ optional_title=Configurações opcionais
email_title=Configurações do serviço de e-mail
smtp_host=Host SMTP
smtp_from=De
-smtp_from_helper=O endereço de email deve atender a especificação RFC 5322. O formato deve ser um email ou "Nome" .
-mailer_user=E-mail do remetente
+smtp_from_helper=Endereço do remetente de e-mails, no formato RFC 5322. Pode ser apenas o endereço de e-mail ou "Nome" .
+mailer_user=Usuário do envio
mailer_password=Senha do remetente
register_confirm=Habilitar confirmação de registro
-mail_notify=Habilitar notificação de e-mail
+mail_notify=Habilitar notificações de e-mail
server_service_title=Configurações de servidor e outros serviços
offline_mode=Ativar modo off-line
-offline_mode_popup=Desative o CDN mesmo em modo de produção, todos os recursos serão disponibilizados localmente.
+offline_mode_popup=Desative o uso de CDNs para que todos os recursos sejam servidos localmente.
disable_gravatar=Desativar serviço Gravatar
disable_gravatar_popup=Desabilitar o Gravatar e fontes personalizadas, todos os avatares são enviados por usuários ou padrão.
federated_avatar_lookup=Habilitar a busca federativa de avatares
@@ -111,7 +115,7 @@ enable_captcha=Habilitar captcha
enable_captcha_popup=Obrigar validação por captcha para auto-registro de usuários.
require_sign_in_view=Obrigar login para a visualização de páginas
require_sign_in_view_popup=Somente usuários autenticados podem ver todas as páginas, visitantes somente podem entrar ou se cadastrar.
-admin_setting_desc="Você não precisa criar uma conta de administrador agora, no entanto o primeiro usuário (ID=1) automaticamente terá acesso de administrador."
+admin_setting_desc=Você não precisa criar uma conta de administrador agora. O primeiro usuário a se registrar no site automaticamente terá acesso de administrador.
admin_title=Configurações da conta de administrador
admin_name=Nome de usuário
admin_password=Senha
@@ -119,16 +123,18 @@ confirm_password=Confirmar senha
admin_email=E-mail do administrador
install_btn_confirm=Instalar Gitea
test_git_failed=Falha ao testar o comando 'git': %v
-sqlite3_not_available=Sua versão não suporta SQLite3, por favor faça o download da versão binária oficial em %s, NÃO da versão gobuild.
-invalid_db_setting=Configuração do banco de dados não está correta: %v
+sqlite3_not_available=Sua versão não suporta SQLite3, por favor faça o download do executável oficial em %s, e NÃO da versão gobuild.
+invalid_db_setting=Configuração de banco de dados inválida: %v
invalid_repo_path=A raiz do repositório é inválida: %v
-run_user_not_match=O usuário da execução não é o usuário atual: %s -> %s
+run_user_not_match=O usuário configurado não é o mesmo que está executando o aplicativo no momento: %s -> %s
save_config_failed=Falha ao salvar a configuração: %v
invalid_admin_setting=Configuração da conta de administrador está inválida: %v
-install_success=Bem-vindo! Estamos contentes que você escolheu o Gitea, divirta-se e tenha cuidado.
+install_success=Bem-vindo! Obrigado por escolher o Gitea. Divirta-se!
invalid_log_root_path=Pasta raíz do log é inválida: %v
default_keep_email_private=Valor padrão para manter o e-mail privado
default_keep_email_private_popup=Esse é o valor padrão para a visibilidade do endereço de e-mail do usuário. Se definido como true, o endereço de e-mail de todos os novos usuários será ocultado até que o usuário altere sua configuração.
+default_allow_create_organization=Permissão para que novos usuários possam criar organizações por padrão
+default_allow_create_organization_popup=Este é o valor de permissão padrão que será atribuído à novos usuários. Se ativado, novos usuários poderão criar organizações.
no_reply_address=Endereço de sem resposta
no_reply_address_helper=Domínio para o endereço de e-mail do usuário nos registros do git se ele mantiver seu endereço de e-mail privado. Por exemplo. O usuário 'joe' e 'noreply.example.org' será 'joe@noreply.example.org'
@@ -151,47 +157,53 @@ repos=Repositórios
users=Usuários
organizations=Organizações
search=Pesquisar
-repo_no_results=Não foram encontrados os repositórios correspondentes.
-user_no_results=Não foram encontrados os usuários correspondentes.
-org_no_results=Não foram encontradas as organizações correspondentes.
+repo_no_results=Nenhum repositório correspondente foi encontrado.
+user_no_results=Nenhum usuário correspondente foi encontrado.
+org_no_results=Nenhuma organização correspondente foi encontrada.
[auth]
-create_new_account=Criar nova conta
+create_new_account=Criar conta
register_helper_msg=Já tem uma conta? Entre agora!
-social_register_helper_msg=Já tem uma conta? Junte-se agora!
+social_register_helper_msg=Já tem uma conta? Entre agora!
disable_register_prompt=Desculpe, novos registros estão desabilitados. Por favor entre em contato com o administrador do site.
disable_register_mail=Desculpe, a confirmação de registro por e-mail foi desabilitada.
remember_me=Lembrar de mim
-forgot_password=Esqueci a senha
-forget_password=Esqueceu a senha?
+forgot_password_title=Esqueci minha senha
+forgot_password=Esqueceu sua senha?
sign_up_now=Precisa de uma conta? Cadastre-se agora.
-confirmation_mail_sent_prompt=Um novo e-mail de confirmação foi enviado para %s , por favor, verifique sua caixa de entrada nas próximas %d horas para completar seu registro.
active_your_account=Ativar sua conta
prohibit_login=Login proibido
-prohibit_login_desc=Sua conta foi proibida de efetuar login, por favor contate o administrador do site.
-resent_limit_prompt=Desculpe, você está enviando um e-mail de ativação com muita frequência. Por favor, aguarde 3 minutos.
+prohibit_login_desc=Sua conta foi proibida de fazer login, por favor contate o administrador.
+resent_limit_prompt=Desculpe, você já requisitou um e-mail de ativação recentemente. Por favor, espere 3 minutos para tentar novamente.
has_unconfirmed_mail=Oi %s, você possui um endereço de e-mail não confirmado (%s ). Se você não recebeu um e-mail de confirmação ou precisa reenviar um novo, clique no botão abaixo.
resend_mail=Clique aqui para reenviar seu e-mail de ativação
-email_not_associate=Este endereço de e-mail não é associado à nenhuma conta.
-send_reset_mail=Clique aqui para (re)enviar seu e-mail de redefinição da senha
+email_not_associate=O endereço de e-mail não está associado à nenhuma conta.
+send_reset_mail=Clique aqui para re-enviar seu e-mail de redefinição de senha
reset_password=Redefinir sua senha
invalid_code=Desculpe, seu código de confirmação expirou ou não é válido.
reset_password_helper=Clique aqui para redefinir sua senha
password_too_short=O comprimento da senha não pode ser menor que %d.
-non_local_account=Não é possível mudar a senha de contas remotas pelo Gitea.
+non_local_account=Contas não-locais não podem mudar sua senha através da interface web do Gitea.
verify=Verificar
scratch_code=Código de backup
use_scratch_code=Use um código de backup
twofa_scratch_used=Você usou seu código de backup. Você foi redirecionado para a página de configurações de dois fatores para que você possa remover a inscrição de seu dispositivo ou gerar um novo código de backup.
-twofa_passcode_incorrect=O código está incorreto. Se você perdeu o seu dispositivo, use seu código de backup.
-twofa_scratch_token_incorrect=O código de backup está incorreto.
+twofa_passcode_incorrect=Seu código de acesso está incorreto. Se você perdeu seu dispositivo, use seu código de backup para fazer login.
+twofa_scratch_token_incorrect=Seu código de backup está incorreto.
+login_userpass=Usuário / Senha
+login_openid=OpenID
+openid_connect_submit=Conectar
+openid_connect_title=Conectar à uma conta existente
+openid_register_title=Criar uma nova conta
+openid_signin_desc=URIs de exemplo: https://anne.me, bob.openid.org.cn, gnusocial.net/carry
+disable_forgot_password_mail=Desculpe, a recuperação de senha foi desabilitada. Por favor, entre em contato com o administrador.
[mail]
activate_account=Por favor, ative sua conta
activate_email=Verifique seu endereço de e-mail
reset_password=Resetar sua senha
-register_success=Registrado com sucesso. Bem vindo
-register_notify=Bem-vindo a bordo
+register_success=Registro bem-sucedido
+register_notify=Bem-vindo ao Gitea
[modal]
yes=Sim
@@ -220,7 +232,8 @@ Content=Conteúdo
require_error=` não pode estar vazio.`
alpha_dash_error=` devem ser caracteres alfanuméricos, hífen (-) ou sublinhado (_).`
-alpha_dash_dot_error=` devem ser caracteres alfanuméricos ou hífen (-) ou sublinhado (_).`
+alpha_dash_dot_error=` devem ser caracteres alfanuméricos, hífen (-) sublinhado (_) or ponto (.).`
+git_ref_name_error=` deve ser um nove de referência Git válido.`
size_error=`deve ser do tamanho %s.`
min_size_error=` deve conter pelo menos %s caracteres.`
max_size_error=` deve conter no máximo %s caracteres.`
@@ -228,28 +241,32 @@ email_error=` não é um endereço de e-mail válido.`
url_error=`não é uma URL válida.`
include_error=` deve conter '%s'.`
unknown_error=Erro desconhecido:
-captcha_incorrect=O captcha não correspondeu.
-password_not_match=Senha e confirmação da senha não são as mesmas.
+captcha_incorrect=Resposta ao CAPTCHA incorreta.
+password_not_match=As senhas escolhidas não coincidem.
-username_been_taken=O nome de usuário já existe.
-repo_name_been_taken=Nome do repositório já existe.
-org_name_been_taken=Nome da organização já foi tomado.
-team_name_been_taken=Nome da equipe já existe.
-email_been_used=Endereço de e-mail já foi usado.
-username_password_incorrect=Usuário ou senha incorretos.
-enterred_invalid_repo_name=Por favor certifique-se que informou o nome do repositório corretamente.
-enterred_invalid_owner_name=Por favor, verifique se o nome do proprietário está correto.
-enterred_invalid_password=Por favor, verifique se a senha que você digitou está correta.
-user_not_exist=O usuário informado não existe.
-last_org_owner=O usuário a ser removido é o último membro na equipe de proprietários. É obrigatório ter pelo menos um proprietário.
+username_been_taken=O nome de usuário já está sendo usado.
+repo_name_been_taken=O nome de repositório já está sendo usado.
+org_name_been_taken=O nome da organização já está sendo usado.
+team_name_been_taken=O nome de equipe já está sendo usado.
+email_been_used=O endereço de e-mail já está sendo usado.
+openid_been_used=O endereço OpenID '%s' já está sendo usado.
+username_password_incorrect=Nome de usuário ou senha incorretos.
+enterred_invalid_repo_name=Por favor certifique-se de que o nome do repositório está correto.
+enterred_invalid_owner_name=Por favor certifique-se de que o nome do proprietário está correto.
+enterred_invalid_password=Por favor certifique-se de que a senha está correta.
+user_not_exist=O usuário não existe.
+last_org_owner=Não é permitido remover o último usuário da equipe de proprietários, pois deve haver pelo menos um proprietário em uma organização.
+cannot_add_org_to_team=Uma organização não pode ser adicionada como membro de uma equipe.
+cannot_invite_org_to_org=Uma organização não pode ser convidada a fazer parte de outra organização.
invalid_ssh_key=Desculpe, não conseguimos verificar a sua chave SSH: %s
-unable_verify_ssh_key=Gitea não pode verificar sua chave SSH, mas assumimos que é válida, por favor, verifique a chave pessoalmente.
+invalid_gpg_key=Desculpe, não conseguimos verificar a sua chave GPG: %s
+unable_verify_ssh_key=A chave SSH não pôde ser verificada. Por favor cheque se não há nenhum problema com ela.
auth_failed=A autenticação falhou: %v
-still_own_repo=Sua conta ainda tem propriedade do repositório, você tem que excluir ou transferí-la primeiro.
-still_has_org=Sua conta ainda faz parte da organização, você deve sair ou excluí-la primeiro.
-org_still_own_repo=Esta organização ainda tem a propriedade do repositório, você deve excluir ou transferí-la primeiro.
+still_own_repo=Sua conta ainda é proprietária de ao menos um repositório; você tem que excluí-los ou transferi-los primeiro.
+still_has_org=Sua conta ainda é membro de ao menos uma organização. Você precisa deixá-las primeiro.
+org_still_own_repo=Esta organização ainda é proprietária de ao menos um repositório; você tem que excluí-los ou transferi-los primeiro.
target_branch_not_exist=O branch de destino não existe.
@@ -264,31 +281,31 @@ following=Seguindo
follow=Seguir
unfollow=Deixar de seguir
-form.name_reserved=O nome de usuário '%s' não pode ser usado.
-form.name_pattern_not_allowed=Não é permitido usar o padrão '%s' para o nome de usuário.
[settings]
profile=Perfil
password=Senha
avatar=Avatar
-ssh_keys=Chaves SSH
+ssh_gpg_keys=Chaves SSH / GPG
social=Contas sociais
applications=Aplicativos
orgs=Organizações
delete=Excluir conta
twofa=Autenticação de dois fatores
+account_link=Contas externas
+organization=Organização
uid=Uid
public_profile=Perfil público
-profile_desc=Seu endereço de e-mail é publico e será usado para qualquer notificação relacionada à conta, e qualquer operação na web feita através do site.
-password_username_disabled=Usuários remotos não tem permissão para mudarem seu nome de usuário.
+profile_desc=Seu endereço de e-mail é publico e será usado para quaisquer notificações relacionadas à sua conta, além de operações pela interface web do Gitea.
+password_username_disabled=Usuários não-locais não podem alterar seus nomes de usuário. Por favor contate o administrador do sistema para mais informações.
full_name=Nome completo
website=Site
location=Localização
update_profile=Atualizar o perfil
-update_profile_success=O seu perfil foi atualizado com sucesso.
+update_profile_success=Seu perfil foi atualizado.
change_username=Nome de usuário alterado
-change_username_prompt=Essa alteração afetará os links para a sua conta.
+change_username_prompt=Esta mudança vai alterar os links para sua conta.
continue=Continuar
cancel=Cancelar
@@ -299,104 +316,101 @@ choose_new_avatar=Escolha um novo avatar
update_avatar=Atualizar configuração de avatar
delete_current_avatar=Excluir o avatar atual
uploaded_avatar_not_a_image=O arquivo enviado não é uma imagem.
-update_avatar_success=Sua configuração de avatar foi atualizada com sucesso.
change_password=Mudança de senha
old_password=Senha Atual
new_password=Nova senha
retype_new_password=Digite novamente a nova senha
-password_incorrect=A senha atual não está correta.
-change_password_success=A senha está alterada com sucesso. Você pode agora entrar com a senha nova.
-password_change_disabled=Usuários remotos não tem permissão para mudar sua senha.
+password_incorrect=A senha atual está incorreta.
+change_password_success=Sua senha foi alterada com sucesso. Agora você pode fazer login usando sua nova conta.
+password_change_disabled=Usuários não-locais não são permitidos mudar suas senhas pela interface web.
emails=Endereços de e-mail
manage_emails=Gerenciar endereços de e-mail
+manage_openid=Gerencia endereços OpenID
email_desc=Seu endereço de e-mail principal será usado para notificações e outras operações.
primary=Principal
primary_email=Definir como principal
delete_email=Excluir
-email_deletion=Exclusão do email
-email_deletion_desc=Ao excluir este endereço de e-mail será removido informações relacionadas com a sua conta. Você deseja continuar?
+email_deletion=Excluir e-mail
email_deletion_success=O e-mail foi excluído com sucesso!
+openid_deletion=Deleção de OpenID
+openid_deletion_success=OpenID foi deletado com sucesso!
add_new_email=Adicionar novo endereço de e-mail
+add_new_openid=Adicionar novo URI OpenID
add_email=Adicionar e-mail
-add_email_confirmation_sent=Um novo e-mail de confirmação foi enviado para '%s'. Por favor, verifique sua Caixa de Entrada dentro das próximas %d horas, para concluir o processo de confirmação.
+add_openid=Adicionar URI OpenID
add_email_success=Seu novo endereço de e-mail foi adicionado com sucesso.
+add_openid_success=Seu novo endereço OpenID foi adicionado com sucesso.
keep_email_private=Manter o endereço de e-mail privado
keep_email_private_popup=Seu endereço de e-mail será ocultado de outros usuários se essa opção estiver definida.
+openid_desc=Seus endereços OpenID vão permitir que você delegue a autenticação para seu provedor de escolha
manage_ssh_keys=Gerenciar Chaves SSH
+manage_gpg_keys=Gerenciar chaves GPG
add_key=Adicionar chave
-ssh_desc=Esta é uma lista de chaves SSH associadas com a sua conta. Como essas chaves permitem que qualquer um que as usem tenham acesso aos seus repositórios, é altamente importante que você reconheça elas.
-ssh_helper=Precisa de ajuda? Confira nosso guia para gerar chaves SSH ou solucionar problemas comuns com SSH .
add_new_key=Adicionar Chave SSH
-ssh_key_been_used=Uma chave pública com esse mesmo conteúdo já está em uso.
-ssh_key_name_used=Uma outra chave pública já existe com esse mesmo nome.
+add_new_gpg_key=Adicionar chave GPG
+subkeys=Subchaves
+key_id=ID da chave
key_name=Nome da Chave
key_content=Conteúdo
-add_key_success=A nova chave pública '%s' foi adicionada com sucesso!
delete_key=Excluir
ssh_key_deletion=Exclusão da chave de SSH
-ssh_key_deletion_desc=Ao excluir esta chave de SSH será removido todos os acessos para sua conta. Você deseja continuar?
-ssh_key_deletion_success=A chave de SSH foi excluída com sucesso!
+gpg_key_deletion=Deleção de chave GPG
add_on=Adicionado em
+valid_until=Válido até
last_used=Última vez usado em
no_activity=Nenhuma atividade recente
-key_state_desc=Usada a pelo menos 7 dias
-token_state_desc=Este token é usado em pelo menos 7 dias
+show_openid=Mostrar no perfil
+hide_openid=Ocultar no perfil
manage_social=Gerenciar contas sociais associadas
-social_desc=Esta é uma lista de contas sociais. Remova qualquer ligação que você não reconheça.
+social_desc=Esta é uma lista de contas sociais associadas. Por razões de segurança, por favor tenha certeza que você reconhece todas essas contas, já que elas pode ser usadas para fazer login na sua conta.
unbind=Desvincular
-unbind_success=A conta social foi desvinculada.
+unbind_success=Conta social foi desconectada da sua conta.
manage_access_token=Gerenciar tokens de acesso pessoal
generate_new_token=Gerar novo token
-tokens_desc=Tokens gerados por você que podem ser usados para acessar a API do Gitea.
+tokens_desc=Tokens que você gerou que podem ser usados para acessar as APIs do Gitea.
new_token_desc=Por enquanto, todo token terá acesso completo à sua conta.
token_name=Nome do token
generate_token=Gerar token
-generate_token_succees=Novo token de acesso gerado com sucesso! Certifique-se de copiar seu novo token de acesso pessoal agora. Você não poderá vê-lo novamente!
delete_token=Excluir
access_token_deletion=Exclusão do token de acesso pessoal
-access_token_deletion_desc=Ao excluir este token de acesso pessoal será removido todos os acessos do aplicativo. Você deseja continuar?
-delete_token_success=O Token de acesso pessoal foi removido com sucesso! Não se esqueça de atualizar seus aplicativos também.
-twofa_desc=O Gitea suporta autenticação de dois fatores para fornecer uma segurança adicional para sua conta.
-twofa_is_enrolled=Sua conta está inscrita para a autenticação de dois fatores.
-twofa_not_enrolled=Sua conta não está atualmente inscrita para a autenticação de dois fatores.
+twofa_not_enrolled=Sua conta não está atualmente inscrita para a autenticação em duas etapas.
twofa_disable=Desativar a autenticação de dois fatores
twofa_scratch_token_regenerate=Regenerar código de backup
twofa_scratch_token_regenerated=Seu código backup foi regenerado. Agora é %s. Mantenha-o em um lugar seguro.
twofa_enroll=Inscrever para a autenticação de dois fatores
twofa_disable_note=Se necessário, você pode desativar a autenticação de dois fatores.
-twofa_disable_desc=Desativar a autenticação de dois fatores fará com que a sua conta menos segura. Tem certeza de que deseja continuar?
-regenerate_scratch_token_desc=Se você perdeu o seu código de backup, ou teve que usá-lo para fazer um login, você pode redefini-lo.
twofa_disabled=A autenticação de dois fatores foi desativada.
scan_this_image=Escaneie esta imagem com o seu aplicativo de autenticação:
or_enter_secret=Ou digite esse código: %s
-then_enter_passcode=Em seguida, digite a senha que o seu aplicativo lhe fornece:
passcode_invalid=Essa senha é inválida. Tente novamente.
twofa_enrolled=Sua conta foi inscrita para a autenticação de dois fatores. Certifique-se de salvar seu token de rascunho (%s), pois ele só será mostrado uma vez!
+manage_account_links=Gerenciar conexões de conta
+manage_account_links_desc=Contas external conectadas a esta conta
+remove_account_link=Remover conta conectada
+remove_account_link_success=Conexão de conta deletada com sucesso!
+
+
delete_account=Excluir sua conta
delete_prompt=A operação irá excluir sua conta permanentemente, e NÃO PODERÁ ser desfeita!
confirm_delete_account=Confirmar exclusão
delete_account_title=Exclusão da conta
-delete_account_desc=Esta conta será excluída permanentemente, você quer continuar?
[repo]
owner=Dono
repo_name=Nome do repositório
-repo_name_helper=Nomes de repositórios bons são pequenos, memorizáveis e únicos.
visibility=Visibilidade
visiblity_helper=Este é um repositório privado
-visiblity_helper_forced=O adminstrador forçou todos os novos repositórios para serem privados
visiblity_fork_helper=(A alteração desse valor irá afetar todos os forks)
clone_helper=Precisa de ajuda com o clone? Visite a Ajuda !
fork_repo=Fork do repositório
fork_from=Fork de
-fork_visiblity_helper=Não é possível alterar a visibilidade de um repositório fork.
repo_desc=Descrição
repo_lang=Linguagem
repo_gitignore_helper=Selecionar templates de .gitignore
@@ -408,18 +422,16 @@ auto_init=Inicializar este repositório com os arquivos selecionados e modelo
create_repo=Criar repositório
default_branch=Branch padrão
mirror_prune=Varrer
-mirror_prune_desc=Remova quaisquer referências que não existem mais no remote
-mirror_interval=Intervalo de mirror (hora)
+mirror_interval=Intervalo de mirror (unidades de tempo válidas são "h", "m" e "s")
+mirror_interval_invalid=Intervalo de mirror é inválido
mirror_address=Endereço do mirror
-mirror_address_desc=Por favor, inclua as credenciais do usuário necessários no endereço.
mirror_last_synced=Última sincronização
watchers=Observadores
stargazers=Usuários que estrelaram
forks=Forks
-form.reach_limit_of_creation=O proprietário atingiu o limite máximo de criação de repositórios de %d.
-form.name_reserved=O nome de repositório '%s' não pode ser usado.
-form.name_pattern_not_allowed=Não é permitido usar o padrão '%s' para o nome de repositório.
+form.name_reserved=O nome de repositório '%s' é reservado e não pode ser usado.
+form.name_pattern_not_allowed=O padrão de nome de repositório '%s' não é permitido.
need_auth=Precisa de autorização
migrate_type=Tipo de migração
@@ -431,6 +443,7 @@ migrate.clone_local_path=ou um caminho de diretório local
migrate.permission_denied=Você não pode importar repositórios locais.
migrate.invalid_local_path=Caminho local inválido, não existe ou não é um diretório.
migrate.failed=Migração falhou: %v
+migrate.lfs_mirror_unsupported=Mirror de objetos Git LFS não é suportado - ao invés use 'git lfs fetch --all' e 'git lfs push --all'.
mirror_from=mirror de
forked_from=fork de
@@ -448,9 +461,6 @@ download_archive=Baixar este repositório
no_desc=Nenhuma descrição
quick_guide=Guia rápido
clone_this_repo=Clonar este repositório
-create_new_repo_command=Criar um novo repositório na linha de comando
-push_exist_repo=Push um repositório existente na linha de comando
-repo_is_empty=Este repositório está vazio, por favor volte mais tarde!
code=Código
branch=Branch
@@ -471,12 +481,12 @@ file_permalink=Link permanente
file_too_large=Este arquivo é muito grande para ser exibido
video_not_supported_in_browser=Seu navegador não suporta tag de vídeo HTML5.
stored_lfs=Armazenado com Git LFS
+commit_graph=Gráfico de commits
editor.new_file=Novo arquivo
editor.upload_file=Enviar arquivo
editor.edit_file=Editar arquivo
editor.preview_changes=Visualizar alterações
-editor.cannot_edit_non_text_files=Impossível editar arquivos que não são do tipo texto plano
editor.edit_this_file=Editar este arquivo
editor.must_be_on_a_branch=Você deve estar em um branch para propor mudanças neste arquivo
editor.fork_before_edit=Você deve fazer fork deste repositório antes de editar o arquivo
@@ -503,7 +513,7 @@ editor.directory_is_a_file=Entrada '%s' no caminho pai é um arquivo e não uma
editor.file_is_a_symlink=O arquivo '%s' é um link simbólico que não pode ser modificado a partir do editor da web
editor.filename_is_a_directory=O arquivo '%s' é uma pasta existente neste repositório.
editor.file_editing_no_longer_exists=O arquivo '%s' que você está editando não existe mais neste repositório.
-editor.file_changed_while_editing=O conteúdo do arquivo mudou desde que você começou a editar. Clique aqui para ver o que mudou ou pressione efetivar novamente para sobrescrever esses mudanças.
+editor.file_changed_while_editing=O conteúdo do arquivo mudou desde que você começou a editar. Clique aqui para ver o que foi editado ou clique em commit novamemente para sobreescrever essas mudanças.
editor.file_already_exists=Um arquivo com nome '%s' já existe neste repositório.
editor.no_changes_to_show=Nenhuma alteração a mostrar.
editor.fail_to_update_file=Houve erro ao criar ou atualizar arquivo '%s': %v
@@ -513,14 +523,15 @@ editor.upload_files_to_dir=Enviar arquivos para '%s'
commits.commits=Commits
commits.search=Pesquisar commits
-commits.search_all=Todos
-commits.find=Buscar
+commits.find=Pesquisar
+commits.search_all=Todos os branches
commits.author=Autor
commits.message=Mensagem
commits.date=Data
commits.older=Mais Antigo
commits.newer=Mais recente
+
issues.new=Novo issue
issues.new.labels=Etiquetas
issues.new.no_label=Sem etiqueta
@@ -538,12 +549,12 @@ issues.new_label=Nova etiqueta
issues.new_label_placeholder=Nome da etiqueta...
issues.create_label=Criar etiqueta
issues.label_templates.title=Carregue um conjunto de etiquetas pré-definidas
-issues.label_templates.info=Não existem etiquetas ainda. Você pode clicar em "Nova etiqueta" acima para criar uma ou usar um conjunto pré-definido abaixo.
+issues.label_templates.info=Não há nenhuma etiqueta ainda. Você pode clicar no botão "Nova etiqueta" acima para criar uma ou usar um conjunto pré-definido acima.
issues.label_templates.helper=Selecione um conjunto de etiquetas
issues.label_templates.use=Usar este conjunto de etiquetas
issues.label_templates.fail_to_load_file=Houve erro ao carregar arquivo de template '%s': %v
-issues.add_label_at=`adicionou a etiqueta %s
label %s`
-issues.remove_label_at=`removeu a etiqueta %s
label %s`
+issues.add_label_at=`adicionou a etiqueta %s
label %s`
+issues.remove_label_at=`removeu a etiqueta %s
label %s`
issues.add_milestone_at=`adicionou esta issue para a milestone %s %s`
issues.change_milestone_at=`modificou a milestone de %s para %s %s`
issues.remove_milestone_at=`removeu esta issue da milestone %s %s`
@@ -572,6 +583,13 @@ issues.filter_sort.recentupdate=Mais recentemente atualizados
issues.filter_sort.leastupdate=Menos recentemente atualizados
issues.filter_sort.mostcomment=Mais comentados
issues.filter_sort.leastcomment=Menos comentados
+issues.action_open=Abrir
+issues.action_close=Fechar
+issues.action_label=Etiqueta
+issues.action_milestone=Marco
+issues.action_milestone_no_select=Sem marco
+issues.action_assignee=Responsável
+issues.action_assignee_no_select=Sem responsável
issues.opened_by=aberto por %[3]s %[1]s
issues.opened_by_fake=aberto por %[2]s %[1]s
issues.previous=Anterior
@@ -605,13 +623,13 @@ issues.label_edit=Editar
issues.label_delete=Excluir
issues.label_modify=Editar etiqueta
issues.label_deletion=Exclusão de etiqueta
-issues.label_deletion_desc=Excluir uma etiqueta a retirará de todos os problemas que ela estiver marcando. Quer mesmo continuar?
-issues.label_deletion_success=A etiqueta foi excluída com sucesso!
issues.label.filter_sort.alphabetically=Alfabeticamente
issues.label.filter_sort.reverse_alphabetically=Alfabeticamente inverso
issues.num_participants=%d participantes
issues.attachment.open_tab=`Clique para ver "%s" em uma nova aba`
issues.attachment.download=`Clique para baixar "%s"`
+issues.subscribe=Inscrever-se
+issues.unsubscribe=Desinscrever
pulls.new=Novo pull request
pulls.compare_changes=Comparar mudanças
@@ -628,16 +646,14 @@ pulls.merged_title_desc=mesclou %[1]d commits de %[2]s em %[3
pulls.tab_conversation=Conversação
pulls.tab_commits=Commits
pulls.tab_files=Arquivos alterados
-pulls.reopen_to_merge=Por favor reabra este pull request para executar a operação de merge.
+pulls.reopen_to_merge=Por favor reabra este pull request para realizar o merge.
pulls.merged=Merge realizado
-pulls.has_merged=O merge deste pull request foi aplicado com sucesso!
pulls.data_broken=Dados deste pull request foram quebrados devido à remoção de informação do fork.
pulls.is_checking=A verificação do conflito ainda está em progresso, por favor recarregue a página em instantes.
pulls.can_auto_merge_desc=O merge deste Pull Pequest pode ser aplicado automaticamente.
-pulls.cannot_auto_merge_desc=O merge deste pull request não pode ser aplicado automaticamente pois há conflitos.
+pulls.cannot_auto_merge_desc=Este pull request não pode ser mesclado automaticamente porque há conflitos.
pulls.cannot_auto_merge_helper=Por favor, aplique o merge manualmente para resolver os conflitos.
pulls.merge_pull_request=Solicitação de merge de pull request
-pulls.open_unmerged_pull_exists=`Você não pode executar a operação de reabrir porque já existe um Pull request aberto (#%d) do mesmo repositório com as mesmas informações de merge e está esperando pelo merge.`
milestones.new=Novo milestone
milestones.open_tab=%d abertos
@@ -655,12 +671,10 @@ milestones.clear=Limpar
milestones.invalid_due_date_format=Formato inválido. O valor de data deve ser algo como 'aaaa-mm-dd'.
milestones.create_success=O marco '%s' foi configurado com sucesso!
milestones.edit=Editar milestone
-milestones.edit_subheader=Descreva bem a proposta do milestone, assim as pessoas não ficarão confusas.
milestones.cancel=Cancelar
milestones.modify=Modificar milestone
milestones.edit_success=O milestone '%s' foi alterado com sucesso!
milestones.deletion=Exclusão de milestone
-milestones.deletion_desc=Excluir este milestone irá remover toda sua informação em todos as issues que estiver associado. Você quer mesmo continuar?
milestones.deletion_success=Milestone excluído com sucesso!
milestones.filter_sort.closest_due_date=Prazo mais próximo
milestones.filter_sort.furthest_due_date=Prazo mais longe
@@ -669,20 +683,19 @@ milestones.filter_sort.most_complete=Mais completo
milestones.filter_sort.most_issues=Com mais issues
milestones.filter_sort.least_issues=Com menos issues
+
wiki=Wiki
-wiki.welcome=Bem-vindo ao wiki!
-wiki.welcome_desc=Wiki é o lugar onde você gostaria de documentar o seu projeto em conjunto e torná-lo melhor.
wiki.create_first_page=Criar a primeira página
wiki.page=Página
wiki.filter_page=Filtrar página
wiki.new_page=Criar nova página
-wiki.default_commit_message=Escrever um comentário sobre esta atualização (opcional).
+wiki.default_commit_message=Escreva uma nota sobre a atualização nesta página (opcional).
wiki.save_page=Salvar página
wiki.last_commit_info=%s editou esta página %s
wiki.edit_page_button=Editar
wiki.new_page_button=Nova página
wiki.delete_page_button=Excluir página
-wiki.delete_page_notice_1=Isto irá excluir a página "%s". Por favor, certifique-se.
+wiki.delete_page_notice_1=Isso vai deletar a página "%s". Por favor, verifique se você quer mesmo deletar esta página.
wiki.page_already_exists=já existe uma página de wiki com o mesmo nome.
wiki.pages=Páginas
wiki.last_updated=Última atualização %s
@@ -699,7 +712,6 @@ settings.githooks=Hooks do Git
settings.basic_settings=Configurações básicas
settings.mirror_settings=Opções de mirror
settings.sync_mirror=Sincronizar agora
-settings.mirror_sync_in_progress=A sincronização do mirror está em andamento, por favor atualize a página em aproximadamente um minuto.
settings.site=Site oficial
settings.update_settings=Atualizar configurações
settings.advanced_settings=Configurações avançadas
@@ -707,11 +719,13 @@ settings.wiki_desc=Habilitar sistema de wiki
settings.use_internal_wiki=Usar wiki nativa
settings.use_external_wiki=Usar wiki externa
settings.external_wiki_url=URL externa da wiki
+settings.external_wiki_url_error=URL de Wiki externa é inválida
settings.external_wiki_url_desc=Os visitantes serão redirecionados para a URL ao clicar na aba.
settings.issues_desc=Habilitar issue tracker
settings.use_internal_issue_tracker=Usar o issue tracker nativo
settings.use_external_issue_tracker=Usar issue tracker externo
settings.external_tracker_url=URL do issue tracker externo
+settings.external_tracker_url_error=URL de issue tracker externo é inválido
settings.external_tracker_url_desc=Os visitantes serão redirecionados para o URL quando clicarem na guia.
settings.tracker_url_format=Formato de URL do issue tracker externo
settings.tracker_issue_style=Estilo de nome de issue tracker externo:
@@ -722,29 +736,22 @@ settings.pulls_desc=Habilitar pull requests para aceitar contribuições públic
settings.danger_zone=Zona de perigo
settings.new_owner_has_same_repo=O novo dono já tem um repositório com o mesmo nome. Por favor, escolha outro nome.
settings.convert=Converter para repositório tradicional
-settings.convert_desc=Você pode converter este espelho em um repositório tradicional. Esta ação não pode ser revertida.
+settings.convert_desc=Você pode converter esse mirror em um repositório comum. Está ação não pode ser desfeita.
settings.convert_notices_1=- Esta operação vai converter este repositório espelho em um repositório tradicional. Esta ação não pode ser desfeita.
settings.convert_confirm=Confirmar conversão
-settings.convert_succeed=Repositório espelho convertido para tradicional com sucesso.
settings.transfer=Transferir propriedade
settings.transfer_desc=Transferir este repositório para outro usuário ou para uma organização onde você tem direitos de administrador.
-settings.transfer_notices_1=- Você irá perder o acesso se o novo dono for um usuário individual.
-settings.transfer_notices_2=- Você irá continuar tendo acesso se o novo dono é uma organização e você é um dos membros.
-settings.transfer_form_title=Informe a seguinte informação para confirmar a sua operação:
+settings.transfer_notices_1=- Você perderá acesso se o novo owner é um usuário individual.
+settings.transfer_notices_2=- Você continuará a ter acesso se o novo owner for uma organização e você é um dos owners.
+settings.transfer_form_title=Por favor entre a seguinte informação para confirmar a operação:
settings.wiki_delete=Excluir dados da wiki
settings.wiki_delete_desc=Uma vez que você apague os dados da wiki, não há volta. Por favor, certifique-se.
settings.wiki_delete_notices_1=- Isso irá excluir e desativar a wiki para %s
-settings.wiki_deletion_success=Dados de wiki do repositório foram excluídos com sucesso.
settings.delete=Excluir este repositório
settings.delete_desc=Uma vez que você remova um repositório, não tem volta. Por favor, tenha certeza.
settings.delete_notices_1=-Esta operação NÃO PODERÁ ser desfeita.
-settings.delete_notices_2=- Esta operação irá excluir permanentemente o tudo deste repositório, incluindo os dados do Git, Issues, comentários e acessos dos colaboradores.
-settings.delete_notices_fork_1=-Todos os forks se tornarão independentes após a exclusão.
-settings.deletion_success=Repositório excluído com sucesso!
-settings.update_settings_success=As opções do repositório foram atualizadas com sucesso.
settings.transfer_owner=Novo dono
settings.make_transfer=Fazer transferência
-settings.transfer_succeed=A posse do repositório foi transferido com sucesso.
settings.confirm_delete=Confirmar exclusão
settings.add_collaborator=Adicionar um novo colaborador
settings.add_collaborator_success=O novo colaborador foi adicionado.
@@ -756,13 +763,12 @@ settings.search_user_placeholder=Pesquisar usuário...
settings.org_not_allowed_to_be_collaborator=Organização não tem permissão para ser adicionada como um colaborador.
settings.user_is_org_member=O usuário é um membro da organização que não pode ser adicionado como um colaborador.
settings.add_webhook=Adicionar webhook
-settings.hooks_desc=Hooks da web ou webhooks permitem serviços externos serem notificados quando certos eventos acontecem no Gitea. Quando acontecem os eventos especificados, enviaremos uma solicitação POST para cada uma das URLs que você fornecer. Saiba mais no nosso Guia de webhooks .
settings.webhook_deletion=Excluir webhook
-settings.webhook_deletion_desc=Excluir este webhook vai remover sua informação e todo o histórico de entrega. Deseja continuar?
+settings.webhook_deletion_desc=Deletar este webhook vai deletar toda sua informação e todo histório de entrega. Tem certeza que deseja continuar?
settings.webhook_deletion_success=Webhook excluído com sucesso!
settings.webhook.test_delivery=Entrega de teste
settings.webhook.test_delivery_desc=Enviar uma entrega de evento de Push falso para testar suas configurações de webhook
-settings.webhook.test_delivery_success=O webhook de teste foi adicionado para a fila de entrega. Pode demorar alguns segundos antes de ser exibido no histórico de entrega.
+settings.webhook.test_delivery_success=Um webhook de teste foi adicionado a file de envio. Pode levar alguns segundos até ele apareça no histórico de envio.
settings.webhook.request=Solicitação
settings.webhook.response=Resposta
settings.webhook.headers=Cabeçalhos
@@ -773,7 +779,6 @@ settings.githook_edit_desc=Se o hook não estiver ativo, o conteúdo de exemplo
settings.githook_name=Nome do Hook
settings.githook_content=Conteúdo do Hook
settings.update_githook=Atualizar Hook
-settings.add_webhook_desc=Enviaremos uma solicitação POST para o URL abaixo com detalhes de quaisquer eventos inscritos. Você pode também especificar qual formato de dados você gostaria de receber (JSON, x-www-form-urlencoded, etc ). Mais informação pode ser encontrada em Webhooks Guide .
settings.payload_url=URL de payload
settings.content_type=Tipo de conteúdo
settings.secret=Senha
@@ -791,7 +796,6 @@ settings.event_pull_request_desc=Pull request aberto, fechado, reaberto, atribu
settings.event_push=Push
settings.event_push_desc=Git push para o repositório
settings.active=Ativo
-settings.active_helper=Enviaremos detalhes do evento quando este hook for acionado.
settings.add_hook_success=Novos hooks de web foram adicionados.
settings.update_webhook=Atualizar webhook
settings.update_hook_success=Webhook atualizado.
@@ -812,13 +816,26 @@ settings.key_been_used=Uma chave de Deploy com esse mesmo conteúdo já está em
settings.key_name_used=Uma chave de Deploy já existe com esse com mesmo nome.
settings.add_key_success=A nova chave de Deploy '%s' foi adicionada com sucesso!
settings.deploy_key_deletion=Exclusão de chave de Deploy
-settings.deploy_key_deletion_desc=Excluir esta chave de Deploy removerá permissões de acesso a este repositório. Quer mesmo continuar?
-settings.deploy_key_deletion_success=Chave de Deploy excluída com sucesso!
+settings.deploy_key_deletion_success=A chave de deploy foi atualizada com sucesso!
+settings.branches=Branches
+settings.protected_branch=Poteção de Branch
+settings.protected_branch_can_push=Permitir push?
+settings.protected_branch_can_push_yes=Você pode fazer push
+settings.protected_branch_can_push_no=Você não pode fazer push
+settings.add_protected_branch=Habilitar proteção
+settings.delete_protected_branch=Desabilitar proteção
+settings.add_protected_branch_success=%s bloqueado com sucesso
+settings.add_protected_branch_failed=Bloqueio de %s falhou
+settings.remove_protected_branch_success=%s desbloqueado com sucesso
+settings.protected_branch_deletion=Para deletar a proteção de branch
+settings.protected_branch_deletion_desc=Qualquer um com permissões de escrita poderá fazer push diretamente para este branch. Tem certeza?
+settings.default_branch_desc=O branch default é considerado o "base branch" no seu repositório para todos os pull requests abertos e commit feitos automaticamente, a menos que você especifique outro branch.
+settings.choose_branch=Escolha um branch...
+settings.no_protected_branch=No há branches protegidos
diff.browse_source=Ver código fonte
diff.parent=pai
diff.commit=commit
-diff.data_not_available=Dados de Diff não disponíveis.
diff.show_diff_stats=Mostrar estatísticas do Diff
diff.show_split_view=Visão dividida
diff.show_unified_view=Visão unificada
@@ -836,11 +853,9 @@ release.stable=Estável
release.edit=editar
release.ahead=%d commits para %s depois desta versão
release.source_code=Código fonte
-release.new_subheader=Publicar versões para iterar o produto.
-release.edit_subheader=Um changelog detalhado ajuda os usuários a entenderem o que foi melhorado.
+release.new_subheader=Publique lançamentos e gerencie as versões do projeto.
release.tag_name=Nome da tag
release.target=Destino
-release.tag_helper=Escolha uma tag existente, ou crie uma nova tag em publicar.
release.title=Título
release.content=Conteúdo
release.write=Escrever
@@ -854,19 +869,13 @@ release.save_draft=Salvar rascunho
release.edit_release=Editar versão
release.delete_release=Excluir esta versão
release.deletion=Exclusão de versão
-release.deletion_desc=Excluir esta versão vai remover a tag do git correspondente. Você deseja continuar?
-release.deletion_success=A versão foi removida com sucesso!
release.tag_name_already_exist=Já existe uma versão com esse nome de tag.
release.tag_name_invalid=Nome de tag não é válido.
release.downloads=Downloads
branch.delete=Excluir branch %s
-branch.delete_desc=Depois de excluir uma branch, não há volta. Tenha certeza.
branch.delete_notices_1=- Esta operação NÃO PODE ser desfeita.
-branch.delete_notices_2=- Esta operação irá excluir permanentemente todos os conteúdos da branch %s.
-branch.deletion_success=%s foi excluído com sucesso!
branch.deletion_failed=Falha ao excluir branch %s.
-branch.delete_branch_has_new_commits=%s não pode ser excluído porque ele tem novos commits após a mesclagem.
[org]
org_name_holder=Nome da organização
@@ -883,9 +892,7 @@ create_new_team=Criar nova equipe
org_desc=Descrição
team_name=Nome da equipe
team_desc=Descrição
-team_name_helper=Você usará este nome para mencionar esta equipe em conversas.
-team_desc_helper=Do que trata essa equipe?
-team_permission_desc=Que nível de permissão esta equipe deve ter?
+team_desc_helper=O que fará esse time?
form.name_reserved=O nome de organização '%s' não pode ser usado.
form.name_pattern_not_allowed=Não é permitido usar o padrão '%s' para o nome de organização.
@@ -897,16 +904,11 @@ settings.full_name=Nome completo
settings.website=Site
settings.location=Localização
settings.update_settings=Atualizar Configurações
-settings.update_setting_success=Configuração da organização atualizada com sucesso.
-settings.change_orgname_prompt=Esta mudança vai afetar os links para esta organização.
-settings.update_avatar_success=A configuração de avatar da organização foi atualizado com sucesso.
settings.delete=Excluir organização
settings.delete_account=Excluir esta organização
settings.delete_prompt=A operação irá excluir esta organização permanentemente, e NÃO PODERÁ ser desfeita!
settings.confirm_delete_account=Confirmar exclusão
settings.delete_org_title=Exclusão da organização
-settings.delete_org_desc=Esta organização será excluída permanentemente, você quer continuar?
-settings.hooks_desc=Adicionar webhooks que serão acionados para todos os repositórios dessa organização.
members.membership_visibility=Visibilidade da associação:
members.public=Público
@@ -926,9 +928,9 @@ teams.leave=Deixar
teams.read_access=Acesso de leitura
teams.read_access_helper=Esta equipe poderá ver e clonar os repositórios dela.
teams.write_access=Acesso de escrita
-teams.write_access_helper=Esta equipa será capaz de ler os seus repositórios, bem como fazer push para eles.
+teams.write_access_helper=Este time poderá ler e fazer push para seus repositórios.
teams.admin_access=Acesso do administrador
-teams.admin_access_helper=Esta equipe será capaz de fazer push/pull em seus repositórios, bem como adicionar-lhes outros colaboradores.
+teams.admin_access_helper=Este time poderá fazer push e pull dos seus repositórios, assim como adicionar outros colaboradores ao time.
teams.no_desc=Esta equipe não tem descrição
teams.settings=Configurações
teams.owners_permission_desc=Donos tem acesso total a todos repositórios e também direitos de administrador para a organização.
@@ -937,8 +939,6 @@ teams.update_settings=Atualizar configurações
teams.delete_team=Excluir esta equipe
teams.add_team_member=Adicionar membro na equipe
teams.delete_team_title=Exclusão da equipe
-teams.delete_team_desc=Este equipe será excluída, você quer continuar? Membros desta equipe poderão perder acesso a alguns repositórios.
-teams.delete_team_success=A equipe dada foi excluída com sucesso.
teams.read_permission_desc=Essa equipe concede acesso para Leitura : membros podem ver e clonar os repositórios da equipe.
teams.write_permission_desc=Esta equipe concede acesso para escrita : Membros podem ler e fazer push para os repositórios da equipe.
teams.admin_permission_desc=Esta equipe concede acesso de Administrador : Membros podem ler, fazer push e adicionar outros colaboradores para os repositórios da equipe.
@@ -968,23 +968,11 @@ dashboard.statistic_info=O banco de dados do Gitea contém %d usuários,
dashboard.operation_name=Nome da operação
dashboard.operation_switch=Trocar
dashboard.operation_run=Executar
-dashboard.clean_unbind_oauth=Limpar OAuthes não acoplados
-dashboard.clean_unbind_oauth_success=Todos OAuthes desvinculados foram excluídos com sucesso.
dashboard.delete_inactivate_accounts=Excluir todas as contas inativas
-dashboard.delete_inactivate_accounts_success=Todas as contas inativas foram excluídas com sucesso.
dashboard.delete_repo_archives=Excluir todos os arquivos dos repositórios
-dashboard.delete_repo_archives_success=Todos os arquivos dos repositórios foram excluídos com sucesso.
-dashboard.delete_missing_repos=Excluir todos os repositórios que perderam arquivos do git
-dashboard.delete_missing_repos_success=Todos os registros de repositórios que perderam arquivos do git foram excluídos com sucesso.
-dashboard.git_gc_repos=Fazer coleta de lixo nos repositórios
-dashboard.git_gc_repos_success=A coleta de lixo foi realizada com sucesso em todos os repositórios.
-dashboard.resync_all_sshkeys=Reescrever o arquivo '.ssh/authorized_keys' (atenção: chaves que não sejam do Gitea serão perdidas)
-dashboard.resync_all_sshkeys_success=Todas as chaves públicas foram reescritas com sucesso.
-dashboard.resync_all_update_hooks=Reescrever todos os hooks de atualização dos repositórios (necessário quando o caminho de configuração customizado é alterado)
-dashboard.resync_all_update_hooks_success=Os hooks de atualização de todos os repositórios foram reescritos com sucesso.
-dashboard.reinit_missing_repos=Reinicializar todos os registros de repositório que perderam os arquivos do Git
-dashboard.reinit_missing_repos_success=Todos os repositórios que perderam arquivos do Git foram reinicializados com sucesso.
-
+dashboard.git_gc_repos=Executar a coleção de lixo em todos os repositórios
+dashboard.resync_all_sshkeys=Reescrever arquivo '.ssh/authorized_keys' (para chaves SSH do Gitea)
+dashboard.resync_all_hooks=Resincronizar hooks pre-receive, update e post-receive de todos os repositórios.
dashboard.server_uptime=Uptime do Servidor
dashboard.current_goroutine=Goroutines Atuais
dashboard.current_memory_usage=Uso de memória atual
@@ -1015,7 +1003,6 @@ dashboard.total_gc_pause=Pausa total do GC
dashboard.last_gc_pause=Última pausa do GC
dashboard.gc_times=Nº de execuções do GC
-users.user_manage_panel=Painel de gerenciamento do usuário
users.new_account=Criar nova conta
users.name=Nome
users.activated=Ativado
@@ -1025,42 +1012,32 @@ users.created=Criado
users.last_login=Último login
users.never_login=Nunca logado
users.send_register_notify=Enviar notificação de registro para ao usuário
-users.new_success=Nova conta '%s' foi criada com sucesso.
users.edit=Editar
users.auth_source=Fonte da autenticação
users.local=Local
users.auth_login_name=Nome de login da autenticação
users.password_helper=Deixe em branco para não mudar.
-users.update_profile_success=O perfil da conta foi atualizado com sucesso.
users.edit_account=Editar conta
users.max_repo_creation=Limite máximo de criação de repositórios
users.max_repo_creation_desc=(Use "-1" para utilizar o limite padrão)
-users.is_activated=Esta conta está ativada
-users.prohibit_login=Esta conta está proibida de efetuar login
users.is_admin=Esta conta tem permissões de administrador
-users.allow_git_hook=Esta conta tem permissões para criar hooks do Git
+users.allow_git_hook=Esta conta possui permissão para criar hooks do Git
users.allow_import_local=Esta conta tem permissões para importar repositórios locais
-users.allow_create_organization=Esta conta tem permissão para criar Organizações
users.update_profile=Atualizar perfil da conta
users.delete_account=Excluir esta conta
-users.still_own_repo=Sua conta ainda é proprietária do repositório, você tem que excluir ou transferi-lo primeiro.
-users.still_has_org=Sua conta ainda faz parte da organização, você deve sair ou excluí-la primeiro.
-users.deletion_success=Conta excluída com sucesso!
-orgs.org_manage_panel=Painel de gerenciamento da organização
orgs.name=Nome
orgs.teams=Equipes
orgs.members=Membros
-repos.repo_manage_panel=Painel de gerenciamento do repositório
repos.owner=Dono
repos.name=Nome
repos.private=Privado
repos.watches=Observadores
repos.stars=Favoritos
repos.issues=Issues
+repos.size=Tamanho
-auths.auth_manage_panel=Painel de gerenciamento da autenticação
auths.new=Adicionar nova fonte
auths.name=Nome
auths.type=Tipo
@@ -1074,7 +1051,6 @@ auths.host=Servidor
auths.port=Porta
auths.bind_dn=Vincular DN
auths.bind_password=Vincular senha
-auths.bind_password_helper=Atenção: Esta senha é armazenada em texto plano. Não use uma conta com muitos privilégios.
auths.user_base=Base de pesquisa do usuário
auths.user_dn=Usuário do DN
auths.attribute_username=Atributo nome de usuário
@@ -1090,21 +1066,16 @@ auths.smtp_auth=Tipo de autenticação SMTP
auths.smtphost=Host SMTP
auths.smtpport=Porta SMTP
auths.allowed_domains=Domínios autorizados
-auths.allowed_domains_helper=Deixe em branco para permitir qualquer domínio do host SMTP. Vários domínios devem ser separados por vírgula ','.
auths.enable_tls=Habilitar Criptografia TLS
auths.skip_tls_verify=Ignorar verificação de TLS
auths.pam_service_name=Nome de Serviço PAM
+auths.oauth2_clientID=ID do cliente (chave)
+auths.oauth2_clientSecret=Senha do cliente
auths.enable_auto_register=Habilitar Registro Automático
auths.tips=Dicas
-auths.edit=Editar a configuração de autenticação
auths.activated=Esta autenticação foi ativada
-auths.new_success=Nova autenticação '%s' foi adicionada com sucesso.
-auths.update_success=A configuração da autenticação foi atualizada com sucesso.
-auths.update=Atualizar a configuração da autenticação
-auths.delete=Excluir esta autenticação
-auths.delete_auth_title=Exclusão da autenticação
-auths.delete_auth_desc=Esta autenticação esta prestes a ser excluída, deseja continuar?
-auths.still_in_used=Esta autenticação ainda é usada por alguns usuários. Por favor remova ou converta esses usuários para outro tipo de login primeiro.
+auths.delete=Deletar este método de autenticação
+auths.still_in_used=Esta fonte de autenticação ainda está sendo usada por alguns usuários. Por favor, delete ou converta esses usuários para outro tipo de login primeiro.
auths.deletion_success=Autenticação excluída com sucesso!
auths.login_source_exist=A fonte '%s' já existe.
@@ -1127,7 +1098,6 @@ config.reverse_auth_user=Usuário de autenticação reversa
config.ssh_config=Configuração de SSH
config.ssh_enabled=Habilitado
-config.ssh_start_builtin_server=Iniciar servidor embutido
config.ssh_domain=Domínio
config.ssh_port=Porta
config.ssh_listen_port=Porta de escuta
@@ -1150,20 +1120,20 @@ config.db_path_helper=(para "sqlite3" e "tidb")
config.service_config=Configuração do serviço
config.register_email_confirm=Requerer confirmação de e-mail
config.disable_register=Desabilitar registro
+config.enable_openid_signup=Habilitar registro via OpenID
+config.enable_openid_signin=Habilitar login via OpenID
config.show_registration_button=Mostrar botão de registo
config.require_sign_in_view=Requerer o usuário a entrar no Gitea para visualizar
config.mail_notify=Notificação de e-mail
config.disable_key_size_check=Desativar verificação de tamanho mínimo da chave
config.enable_captcha=Habilitar o captcha
config.active_code_lives=Ativar Code Lives
-config.reset_password_code_lives=Redefinir senha de Code Lives
config.default_keep_email_private=Valor padrão para manter o e-mail privado
config.no_reply_address=Endereço de sem resposta
config.webhook_config=Configuração de Hook da Web
config.queue_length=Tamanho da fila
config.deliver_timeout=Intervalo de entrega
-config.skip_tls_verify=Pular verificação de TLS
config.mailer_config=Configuração de envio de e-mail
config.mailer_enabled=Habilitado
@@ -1172,7 +1142,6 @@ config.mailer_name=Nome
config.mailer_host=Servidor
config.mailer_user=Usuário
config.send_test_mail=Enviar email de teste
-config.test_mail_failed=Falha ao enviar o email de teste para '%s': %v
config.test_mail_sent=O email de teste foi enviado para '%s'.
config.oauth_config=Configuração do OAuth
@@ -1225,7 +1194,6 @@ monitor.start=Hora de início
monitor.execute_time=Tempo de execução
notices.system_notice_list=Sistema de notificações
-notices.view_detail_header=Ver detalhe do anúncio
notices.actions=Ações
notices.select_all=Selecionar tudo
notices.deselect_all=Desmarcar tudo
@@ -1236,7 +1204,6 @@ notices.type=Tipo
notices.type_1=Repositório
notices.desc=Descrição
notices.op=Op.
-notices.delete_success=Avisos do sistema foram excluídos com sucesso.
[action]
create_repo=criou o repositório %s
@@ -1252,42 +1219,48 @@ comment_issue=`comentou sobre a issue %s#%[2]s `
merge_pull_request=`mesclou o pull request %s#%[2]s `
transfer_repo=transferiu repositório de %s para %s
push_tag=fez push da tag %[2]s para %[3]s
-compare_commits=Ver comparação entre esses %d commits
[tool]
-ago=atrás
-from_now=a partir de agora
+ago=%s atrás
+from_now=%s a partir de agora
now=agora
-1s=1 segundo %s
-1m=1 minuto %s
-1h=1 hora %s
-1d=1 dia %s
-1w=1 semana %s
-1mon=1 mês %s
-1y=1 ano %s
-seconds=%d segundos %s
-minutes=%d minutos %s
-hours=%d horas %s
-days=%d dias %s
-weeks=%d semanas %s
-months=%d meses %s
-years=%d anos %s
+1s=1 segundo
+1m=1 minuto
+1h=1 hora
+1d=1 dia
+1w=1 semana
+1mon=1 mês
+1y=1 ano
+seconds=%d segundos
+minutes=%d minutos
+hours=%d horas
+days=%d dias
+weeks=%d semanas
+months=%d meses
+years=%d anos
raw_seconds=segundos
raw_minutes=minutos
[dropzone]
-default_message=Arraste e solte arquivos aqui, ou clique para selecioná-los.
invalid_input_type=Você não pode enviar arquivos deste tipo.
-file_too_big=O tamanho do arquivo ({{filesize}} MB) excede o limite máximo ({{maxFilesize}} MB).
+file_too_big=Tamanho de arquivo ({{filesize}} MB) excede o máximo de ({{maxFilesize}} MB).
remove_file=Remover
[notification]
notifications=Notificações
unread=Não lidas
read=Lidas
-no_unread=Você não possui notificações não lidas.
-no_read=Você não possui notificações lidas.
-pin=Fixar
+no_unread=Você não possui nenhuma notificação não lida.
+no_read=Você não possui nenhuma notificação lida.
+pin=Fixar notificação
mark_as_read=Marcar como lida
mark_as_unread=Marcar como não lida
+[gpg]
+error.extract_sign=Falha ao extrair assinatura
+error.generate_hash=Falha ao gerar hash de commit
+error.no_gpg_keys_found=Nenhuma chave conhecida encontrada para esta assinatura no banco de dados
+error.not_signed_commit=Não é um commit assinado
+
+[units]
+
diff --git a/options/locale/locale_ru-RU.ini b/options/locale/locale_ru-RU.ini
index cdfb111..cf4f8dd 100644
--- a/options/locale/locale_ru-RU.ini
+++ b/options/locale/locale_ru-RU.ini
@@ -5,8 +5,10 @@ dashboard=Панель управления
explore=Обзор
help=Помощь
sign_in=Вход
+sign_in_with=Войдите с помощью
sign_out=Выход
sign_up=Регистрация
+link_account=Привязать Аккаунт
register=Регистрация
website=Веб-сайт
version=Версия
@@ -23,6 +25,8 @@ email=Эл. почта
password=Пароль
re_type=Введите повторно
captcha=Капча
+twofa=Двухфакторная аутентификация
+twofa_scratch=Двухфакторный одноразовый пароль
repository=Репозиторий
organization=Организация
@@ -30,7 +34,7 @@ mirror=Зеркало
new_repo=Новый репозиторий
new_migrate=Новая миграция
new_mirror=Новое зеркало
-new_fork=Новое ответвление репозитория
+new_fork=Новый форк репозитория
new_org=Новая организация
manage_org=Управление организациями
admin_panel=Панель администратора
@@ -40,6 +44,11 @@ your_profile=Ваш профиль
your_starred=Ваше избранное
your_settings=Ваши настройки
+all=Все
+sources=Источники
+mirrors=Зеркала
+forks=Ответвления
+
activities=Активность
pull_requests=Запросы на слияние
issues=Задачи
@@ -48,8 +57,8 @@ cancel=Отмена
[install]
install=Установка
-title=Установочные шаги для первого запуска
-docker_helper=Если вы запускаете Gitea внутри Docker, пожалуйста прочтите эти советы внимательно перед тем как что-либо изменить на этой странице!
+title=Начальная конфигурация
+docker_helper=Если вы запускаете Gitea внутри Docker, пожалуйста прочтите эти советы внимательно перед тем как что-либо изменить на этой странице.
requite_db_desc=Gitea требует MySQL, PostgreSQL, SQLite3 или TiDB.
db_title=Настройки базы данных
db_type=Тип базы данных
@@ -66,21 +75,20 @@ err_invalid_tidb_name=Имя базы данных TiDB не может соде
no_admin_and_disable_registration=Вы не можете отключить регистрацию до создания учетной записи администратора.
err_empty_admin_password=Пароль администратора не может быть пустым.
-general_title=Общие параметры Gitea
+general_title=Общие параметры приложения
app_name=Имя приложения
-app_name_helper=Укажите здесь название вашей потрясающей организации!
repo_path=Путь корня репозитория
-repo_path_helper=Все сетевые репозитории Git будут сохранены в этой директории.
+repo_path_helper=Все удаленные Git репозиториии будут сохранены в этот каталог.
+lfs_path=Корень LFS
+lfs_path_helper=В этой папке будут храниться файлы, хранящиеся Git LFS. Оставьте пустым, чтобы отключить LFS.
run_user=Пользователь
run_user_helper=У пользователя должен быть доступ к пути к корню репозитория и к запуску Gitea.
domain=Домен
domain_helper=Влияет на URL-адреса для клонирования по SSH.
ssh_port=SSH порт
-ssh_port_helper=Номер порта, который использует SSH сервер. Оставьте пустым, чтобы отключить SSH.
http_port=Порт HTTP
http_port_helper=Номер порта, который приложение будет слушать.
app_url=URL приложения
-app_url_helper=Этот параметр влияет на URL для клонирования по HTTP/HTTPS и на адреса в электронной почте.
log_root_path=Путь к журналу
log_root_path_helper=Каталог для записи файлов журнала.
@@ -89,13 +97,11 @@ email_title=Настройки службы электронной почты
smtp_host=Узел SMTP
smtp_from=Из
smtp_from_helper=Почта от адреса, RFC 5322. Это может быть email адрес или формат "Имя" .
-mailer_user=Электронная почта отправителя
mailer_password=Пароль отправителя
register_confirm=Включить подтверждение регистрации
mail_notify=Разрешить почтовые уведомления
server_service_title=Сервер и другие настройки служб
offline_mode=Включение офлайн режима
-offline_mode_popup=Отключить CDN даже в производственном режиме, все файлы ресурсов будут раздаваться локально.
disable_gravatar=Отключить службу Gravatar
disable_gravatar_popup=Отключить Gravatar и пользовательские источники, все аватары по-умолчанию загружаются пользователями.
federated_avatar_lookup=Включить поиск внешних Аватаров
@@ -106,7 +112,7 @@ enable_captcha=Включить капчу
enable_captcha_popup=Запрашивать капчу при регистрации пользователя.
require_sign_in_view=Разрешить требовать авторизацию для просмотра страниц
require_sign_in_view_popup=Только авторизированные пользователи могут просматривать страницы, посетители смогут увидеть только ссылку на авторизацию вверху страницы.
-admin_setting_desc=Вы не должны создать учетную запись администратора прямо сейчас, пользователь с ID = 1 получит доступ с правами администратора автоматически.
+admin_setting_desc=Вы не должны создать учетную запись администратора прямо сейчас, первый пользователь получит доступ с правами администратора автоматически.
admin_title=Настройки учётной записи администратора
admin_name=Имя пользователя
admin_password=Пароль
@@ -115,16 +121,16 @@ admin_email=Электронная почта администратора
install_btn_confirm=Установить Gitea
test_git_failed=Не удалось проверить 'git' команду: %v
sqlite3_not_available=Ваша версия не поддерживает SQLite3, пожалуйста скачайте официальную бинарную версию от %s, а не версию gobuild.
-invalid_db_setting=Настройки базы данных не правильные: %v
invalid_repo_path=Недопустимый путь к корню репозитория: %v
run_user_not_match=Текущий пользователь не является пользователем для запуска: %s -> %s
save_config_failed=Не удалось сохранить конфигурацию: %v
invalid_admin_setting=Указан недопустимый параметр учетной записи администратора: %v
-install_success=Добро пожаловать! Мы рады, что вы выбрали Gitea. Веселитесь и берегите себя.
invalid_log_root_path=Недопустимый путь для логов: %v
+default_keep_email_private_popup=Это значение по умолчанию видимости адреса электронной почты пользователей. Если задано значение true, адрес электронной почты всех новых пользователей будет скрыт до того, как пользователь сам изменит настройки приватности.
+no_reply_address=No-reply адрес
[home]
-uname_holder=Имя пользователь или E-mail
+uname_holder=Имя пользователя или E-mail
password_holder=Пароль
switch_dashboard_context=Переключить контекст панели управления
my_repos=Мои репозитории
@@ -133,6 +139,7 @@ collaborative_repos=Совместные репозитории
my_orgs=Мои организации
my_mirrors=Мои зеркала
view_home=Показать %s
+search_repos=Поиск репозитория...
issues.in_your_repos=В ваших репозиториях
@@ -141,24 +148,19 @@ repos=Репозитории
users=Пользователи
organizations=Организации
search=Поиск
-repo_no_results=Не найдено ни одного репозитория.
-user_no_results=Не найдено ни одного пользователя.
-org_no_results=Не найдено ни одной организации.
[auth]
-create_new_account=Создать новый аккаунт
+create_new_account=Регистрация
register_helper_msg=Уже есть аккаунт? Авторизуйтесь!
-social_register_helper_msg=Уже есть учетная запись? Свяжите ее с соцсетью!
disable_register_prompt=Извините, возможность регистрации отключена. Пожалуйста, свяжитесь с администратором сайта.
disable_register_mail=К сожалению подтверждение регистрации по почте отключено.
remember_me=Запомнить меня
-forgot_password=Забыли пароль
-forget_password=Забыли пароль?
+forgot_password_title=Забыл пароль
+forgot_password=Забыли пароль?
sign_up_now=Нужен аккаунт? Зарегистрируйтесь.
-confirmation_mail_sent_prompt=Новое письмо для подтверждения было направлено на %s , пожалуйста, проверьте ваш почтовый ящик в течение %d часов для завершения регистрации.
+confirmation_mail_sent_prompt=Новое письмо для подтверждения было направлено на %s , пожалуйста, проверьте ваш почтовый ящик в течение %s для завершения регистрации.
active_your_account=Активируйте свой аккаунт
prohibit_login=Вход запрещен
-prohibit_login_desc=Вход для вашей учетной записи был запрещен, пожалуйста, свяжитесь с администратором сайта.
resent_limit_prompt=Извините, вы уже запросили активацию по электронной почте недавно. Пожалуйста, подождите 3 минуты, а затем повторите попытку.
has_unconfirmed_mail=Здравствуйте, %s! У вас есть неподтвержденный адрес электронной почты (%s ). Если вам не приходило письмо с подтверждением или нужно выслать новое письмо, нажмите на кнопку ниже.
resend_mail=Нажмите здесь, чтобы переотправить активационное письмо
@@ -168,14 +170,18 @@ reset_password=Сброс пароля
invalid_code=Извините, ваш код подтверждения истек или не является допустимым.
reset_password_helper=Нажмите здесь, чтобы сбросить свой пароль
password_too_short=Длина пароля не менее %d символов.
-non_local_account=Нелокальные аккаунты не могут изменить пароль через Gitea.
+verify=Проверить
+scratch_code=Одноразовый пароль
+login_userpass=Пользователь / пароль
+login_openid=OpenID
+openid_register_title=Создать новый аккаунт
[mail]
activate_account=Пожалуйста активируйте свой аккаунт
activate_email=Подтвердите адрес своей электронной почты
reset_password=Восстановите ваш пароль
-register_success=Регистрация окончена. Добро пожаловать!
-register_notify=Добро пожаловать на борт
+register_success=Регистрация прошла успешно
+register_notify=Добро пожаловать на Gitea
[modal]
yes=Да
@@ -203,8 +209,6 @@ TreeName=Путь к файлу
Content=Содержимое
require_error=` не может быть пустым.`
-alpha_dash_error=«должен быть допустимым символьным, числовым или dash(-_) значением.»
-alpha_dash_dot_error=«должен быть допустимым символьным, числовым или dash(-_) символами, включая точку.»
size_error=` должен быть размер %s.`
min_size_error=«должен содержать по крайней мере %s символов.»
max_size_error=` должен содержать максимум %s символов.`
@@ -213,27 +217,24 @@ url_error=` не является допустимым URL-адресом.`
include_error=` должен содержать '%s'.`
unknown_error=Неизвестная ошибка:
captcha_incorrect=Капча не пройдена.
-password_not_match=Пароли не совпадают.
-username_been_taken=Имя пользователя занято.
-repo_name_been_taken=Имя репозитория занято.
-org_name_been_taken=Название организации занято.
-team_name_been_taken=Название команды занято.
-email_been_used=Адрес электронной почты уже используется.
-username_password_incorrect=Имя пользователя или пароль не правильный.
+username_been_taken=Имя пользователя уже занято.
+repo_name_been_taken=Имя репозитория уже используется.
+org_name_been_taken=Название организации уже занято.
+team_name_been_taken=Название команды уже занято.
+email_been_used=Адрес электронной почты уже занят.
+openid_been_used=Адрес OpenID '%s' уже используется.
+username_password_incorrect=Неверное имя пользователя или пароль.
enterred_invalid_repo_name=Пожалуйста, убедитесь, что введено правильное имя репозитория.
enterred_invalid_owner_name=Убедитесь, что введенное имя владельца верное.
enterred_invalid_password=Убедитесь, что введенный пароль верен.
-user_not_exist=Данный пользователь не существует.
-last_org_owner=Удаление последнего пользователя из команды владельцев невозможно, поскольку всегда должен быть хотя бы один владелец в любой организации.
+user_not_exist=Пользователь не существует.
+last_org_owner=Удаление последнего пользователя из команды владельцев не разрешается, поскольку всегда должен быть по крайней мере один владелец в любой организации.
invalid_ssh_key=К сожалению, мы не смогли проверить ваш SSH-ключ: %s
-unable_verify_ssh_key=Gitea не может проверить ваш SSH-ключ, но мы допускаем, что он действителен. Пожалуйста, удостоверьтесь самостоятельно, что ключ действителен.
+invalid_gpg_key=К сожалению, мы не смогли проверить ваш GPG-ключ: %s
auth_failed=Ошибка аутентификации: %v
-still_own_repo=На вашем аккаунте все еще остается как минимум один репозиторий, сначала вам нужно удалить или передать его.
-still_has_org=Вы находитесь в организации, сперва Вам необходимо покинуть ее или удалить.
-org_still_own_repo=Данная организация все еще является владельцем репозиториев, необходимо удалить или переместить их в начале.
target_branch_not_exist=Целевая ветка не существует
@@ -249,29 +250,30 @@ follow=Подписаться
unfollow=Отписаться
form.name_reserved=Имя пользователя '%s' зарезервировано.
-form.name_pattern_not_allowed=Имя пользователя «%s» не допускается.
+form.name_pattern_not_allowed=Шаблон имени пользователя '%s' не допускается.
[settings]
profile=Профиль
password=Пароль
avatar=Аватар
-ssh_keys=SSH ключи
+ssh_gpg_keys=SSH / GPG ключи
social=Учетные записи в соцсетях
applications=Приложения
orgs=Организации
delete=Удалить аккаунт
+twofa=Двухфакторная аутентификация
+account_link=Внешние учетные записи
+organization=Организация
uid=UID
public_profile=Открытый профиль
-profile_desc=Адрес вашей электронной почты является публичным и будет использован для любых уведомлений, связанных с аккаунтом, а также для любых действий, совершенных через сайт.
-password_username_disabled=Нелокальные пользователи не могут изменить своё имя.
full_name=ФИО
website=Веб-сайт
location=Местоположение
update_profile=Обновить профиль
-update_profile_success=Ваш профиль был успешно обновлен.
+update_profile_success=Ваш профиль успешно обновлен.
change_username=Имя пользователя изменено
-change_username_prompt=Это изменение может повлечь за собой изменение ссылок относительно вашего аккаунта.
+change_username_prompt=Это изменение изменит ссылки на ваш аккаунт.
continue=Далее
cancel=Отмена
@@ -282,15 +284,13 @@ choose_new_avatar=Выбрать новый аватар
update_avatar=Обновить настройку аватара
delete_current_avatar=Удалить текущий аватар
uploaded_avatar_not_a_image=Загружаемый файл не является изображением.
-update_avatar_success=Настройка вашего аватара обновлена успешно.
+update_avatar_success=Настройка вашего аватара обновлена.
change_password=Сменить пароль
old_password=Текущий пароль
new_password=Новый пароль
retype_new_password=Подтверждение нового пароля
-password_incorrect=Текущий пароль не правильный.
-change_password_success=Пароль сменен успешно. Теперь вы можете войти с новым паролем.
-password_change_disabled=Нелокальные пользователи не могут изменить свой пароль.
+password_incorrect=Текущий пароль неправильный.
emails=Адреса электронной почты
manage_emails=Управление адресами электронной почты
@@ -298,38 +298,37 @@ email_desc=Ваш основной адрес электронной почты
primary=Основной
primary_email=Установить как основной
delete_email=Удалить
-email_deletion=Удаление адреса электронной почты
-email_deletion_desc=Удаление этого адреса электронной почты, приведет к удалению связанной с вашим аккаунтом, информации. Вы точно хотите продолжить?
email_deletion_success=Адрес электронной почты успешно удален.
add_new_email=Добавить новый адрес электронной почты
add_email=Добавить электронную почту
-add_email_confirmation_sent=Новое подтверждение по электронной почте было отправлено '%s', пожалуйста, проверьте свой почтовый ящик в течение следующих %d часов, чтобы завершить процесс подтверждения.
add_email_success=Новый адрес электронной почты успешно добавлен.
manage_ssh_keys=Управление SSH ключами
add_key=Добавить ключ
-ssh_desc=Это список ключей SSH связанных с вашей учетной записью. Удаляйте любые неизвестные вам ключи.
-ssh_helper=Нужна помощь? Ознакомьтесь с нашим руководством по созданию SSH-ключей или посмотрите решения частых проблем, связанных с SSH .
add_new_key=Добавить SSH ключ
-ssh_key_been_used=Будет использован публичный ключ.
+add_new_gpg_key=Добавить GPG ключ
+ssh_key_been_used=Этот публичный ключ уже был использован.
ssh_key_name_used=Публичный ключ с таким же именем уже существует.
+gpg_key_id_used=Публичный GPG ключ с таким же идентификатором уже существует.
+key_id=ИД ключа
key_name=Имя ключа
key_content=Содержимое
-add_key_success=Был успешно добавлен новый ключ SSH «%s»!
delete_key=Удалить
ssh_key_deletion=Удаление ключа SSH
-ssh_key_deletion_desc=Удалить этот SSH ключ удалит все связанные с ним доступы для вашей учетной записи. Вы хотите продолжить?
-ssh_key_deletion_success=SSH ключ был успешно удален!
+ssh_key_deletion_success=SSH ключ был удален.
+gpg_key_deletion_success=GPG ключ был удален.
add_on=Добавлено
+valid_until=Действителен до
+valid_forever=Действителен навсегда
last_used=Последний раз использовался
no_activity=Еще не применялся
-key_state_desc=Этот ключ использовался за последние 7 дней
-token_state_desc=Этот токен использовался за последние 7 дней
+key_state_desc=Этот ключ использовался в течение последних 7 дней
+token_state_desc=Этот токен использовался в течение последних 7 дней
+show_openid=Показывать в профиле
+hide_openid=Скрыть из профиля
manage_social=Управление привязанными учетными записями в соцсетях
-social_desc=Это список привязанных учетных записей в соцсетях. Удаляйте любые неизвестные вам привязки.
unbind=Отвязать
-unbind_success=Социальная учетная запись отвязана.
manage_access_token=Управление Токенами Персонального Доступа
generate_new_token=Создать новый token
@@ -337,53 +336,44 @@ tokens_desc=Созданные вами токены могут использо
new_token_desc=Пока что каждый токен будет иметь полный доступ к вашей учетной записи.
token_name=Имя маркера
generate_token=Генерировать маркер
-generate_token_succees=Успешно создан новый токен доступа! Пожалуйста сделайте копию вашего нового токена персонального доступа. Вы не сможете увидеть его снова!
delete_token=Удалить
access_token_deletion=Удаление личного токена доступа
-access_token_deletion_desc=Удаление этого персонального токена доступа приведет к удалению всех связанных прав доступа к приложению. Вы хотите продолжить?
-delete_token_success=Персональный токен доступа успешно удален! Не забудьте изменить настройки вашего приложения.
+
+twofa_disable=Отключить двухфакторную аутентификацию
+
delete_account=Удалить свой аккаунт
delete_prompt=Этим действием вы удалите свою учетную запись навсегда и НЕ СМОЖЕТЕ ее вернуть!
confirm_delete_account=Подтвердите удаление
delete_account_title=Удаление аккаунта
-delete_account_desc=Эта учетная запись будет удалена насовсем. Вы хотите продолжить?
[repo]
owner=Владелец
repo_name=Имя репозитория
-repo_name_helper=Лучшие названия репозиториев коротки, запоминаемы и уникальны .
visibility=Видимость
visiblity_helper=Личный репозиторий
-visiblity_helper_forced=Все новые репозитории являются Личными по желанию администратора сайта
visiblity_fork_helper=(Изменение этого значения затронет все ответвления)
clone_helper=Нужна помощь в клонировании? Посетите страницу помощи !
fork_repo=Ответвить репозиторий
fork_from=Ответвление от
-fork_visiblity_helper=Ответвленному репозиторию нельзя поменять уровень видимости
repo_desc=Описание
repo_lang=Язык
repo_gitignore_helper=Выберите шаблоны .gitignore
license=Лицензия
license_helper=Выберите файл лицензии
+readme=Readme
readme_helper=Выберите шаблон для файла readme
auto_init=Инициализировать этот репозиторий выбранными файлами и шаблоном
create_repo=Создать репозиторий
default_branch=Ветка по умолчанию
mirror_prune=Очистить
-mirror_prune_desc=Удалите ссылки на удаленно отслеживаемые объекты, которых больше нет на удаленном сервере
-mirror_interval=Интервал зеркалирования (час)
mirror_address=Адрес зеркала
-mirror_address_desc=Укажите необходимые учетные данные в адрес.
mirror_last_synced=Последняя синхронизация
watchers=Наблюдатели
stargazers=Звездочеты
forks=Ответвления
-form.reach_limit_of_creation=У владельца достигнут максимальный предел в %d создаваемых репозиториев.
-form.name_reserved=Имя репозитория '%s' зарезервировано.
-form.name_pattern_not_allowed=Шаблон имени репозитория '%s' не допускается.
need_auth=Требуется авторизация
migrate_type=Тип миграции
@@ -391,6 +381,7 @@ migrate_type_helper=Этот репозиторий будет нажмите здесь, чтобы увидеть, что было изменено, или