diff --git a/.circleci/config.yml b/.circleci/config.yml index 5f4e5bf9f0c..d335ca18c2e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,13 +3,13 @@ version: 2.1 executors: musicbrainz-tests: docker: - - image: metabrainz/musicbrainz-tests:v-2023-08 + - image: metabrainz/musicbrainz-tests:v-2023-11 user: root working_directory: /home/musicbrainz/musicbrainz-server - musicbrainz-tests-node-v16: + musicbrainz-tests-perl-5-dot-30: docker: - - image: metabrainz/musicbrainz-tests:v-2022-10 + - image: metabrainz/musicbrainz-tests:v-2023-11-perl5.30 user: root working_directory: /home/musicbrainz/musicbrainz-server @@ -39,6 +39,7 @@ jobs: - v2-node- - run: | chown -R musicbrainz:musicbrainz . + corepack enable sudo -E -H -u musicbrainz yarn - save_cache: key: v2-node-{{ checksum "yarn.lock" }} @@ -46,55 +47,13 @@ jobs: - "node_modules" - run: | - sudo -E -H -u musicbrainz mkdir -p junit_output - sudo -E -H -u musicbrainz cp docker/musicbrainz-tests/DBDefs.pm lib/ - rm /etc/service/{postgresql,redis}/down && sv start postgresql redis - sudo -E -H -u musicbrainz carton exec -- ./script/create_test_db.sh - sudo -E -H -u musicbrainz make -C po all_quiet deploy - MUSICBRAINZ_RUNNING_TESTS=1 NODE_ENV=test WEBPACK_MODE=development NO_PROGRESS=1 sudo -E -H -u musicbrainz carton exec -- \ - ./script/compile_resources.sh client server web-tests - sudo -E -H -u musicbrainz ./node_modules/.bin/flow --quiet - sudo -E -H -u musicbrainz ./node_modules/.bin/eslint --max-warnings 0 . - rm /etc/service/chrome/down && sv start chrome - sudo -E -H -u musicbrainz carton exec -- node \ - t/web.js \ - | tee >(./node_modules/.bin/tap-junit > ./junit_output/js_web.xml) \ - | ./node_modules/.bin/tap-difflet - sv kill chrome - ./docker/musicbrainz-tests/add_mbtest_alias.sh - sudo -u postgres createdb -O musicbrainz -T musicbrainz_test -U postgres musicbrainz_test_json_dump - sudo -u postgres createdb -O musicbrainz -T musicbrainz_test -U postgres musicbrainz_test_full_export - sudo -u postgres createdb -O musicbrainz -T musicbrainz_test -U postgres musicbrainz_test_sitemaps - rm /etc/service/{template-renderer,vnu,website}/down && sv start template-renderer vnu website - export MMD_SCHEMA_ROOT=/home/musicbrainz/mb-solr/mmd-schema - export JUNIT_OUTPUT_FILE=junit_output/perl_and_pgtap.xml - sudo -E -H -u musicbrainz carton exec -- prove \ - --pgtap-option dbname=musicbrainz_test \ - --pgtap-option host=localhost \ - --pgtap-option port=5432 \ - --pgtap-option username=musicbrainz \ - --source pgTAP \ - --source Perl \ - -I lib \ - t/author/* \ - t/critic.t \ - t/hydration_i18n.t \ - t/pgtap/* \ - t/pgtap/unused-tags/* \ - t/script/MergeDuplicateArtistCredits.t \ - t/script/BuildSitemaps.t \ - t/script/DumpJSON.t \ - t/script/ExportAllTables.t \ - t/script/dbmirror2.t \ - t/tests.t \ - --harness=TAP::Harness::JUnit \ - -v + ./docker/musicbrainz-tests/run_circleci_tests.sh - store_test_results: path: ./junit_output - js-perl-and-pgtap-node-v16: - executor: musicbrainz-tests-node-v16 + js-perl-and-pgtap-perl-5-dot-30: + executor: musicbrainz-tests-perl-5-dot-30 steps: - restore_cache: keys: @@ -114,60 +73,19 @@ jobs: - restore_cache: keys: - - v2-node-v16-{{ checksum "yarn.lock" }} - - v2-node-v16- + - v2-perl-5-dot-30-{{ checksum "yarn.lock" }} + - v2-perl-5-dot-30- - run: | chown -R musicbrainz:musicbrainz . + corepack enable sudo -E -H -u musicbrainz yarn - save_cache: - key: v2-node-v16-{{ checksum "yarn.lock" }} + key: v2-perl-5-dot-30-{{ checksum "yarn.lock" }} paths: - "node_modules" - run: | - sudo -E -H -u musicbrainz mkdir -p junit_output - sudo -E -H -u musicbrainz cp docker/musicbrainz-tests/DBDefs.pm lib/ - rm /etc/service/{postgresql,redis}/down && sv start postgresql redis - sudo -E -H -u musicbrainz carton exec -- ./script/create_test_db.sh - sudo -E -H -u musicbrainz make -C po all_quiet deploy - MUSICBRAINZ_RUNNING_TESTS=1 NODE_ENV=test WEBPACK_MODE=development NO_PROGRESS=1 sudo -E -H -u musicbrainz carton exec -- \ - ./script/compile_resources.sh client server web-tests - sudo -E -H -u musicbrainz ./node_modules/.bin/flow --quiet - sudo -E -H -u musicbrainz ./node_modules/.bin/eslint --max-warnings 0 . - rm /etc/service/chrome/down && sv start chrome - sudo -E -H -u musicbrainz carton exec -- node \ - t/web.js \ - | tee >(./node_modules/.bin/tap-junit > ./junit_output/js_web.xml) \ - | ./node_modules/.bin/tap-difflet - sv kill chrome - ./docker/musicbrainz-tests/add_mbtest_alias.sh - sudo -u postgres createdb -O musicbrainz -T musicbrainz_test -U postgres musicbrainz_test_json_dump - sudo -u postgres createdb -O musicbrainz -T musicbrainz_test -U postgres musicbrainz_test_full_export - sudo -u postgres createdb -O musicbrainz -T musicbrainz_test -U postgres musicbrainz_test_sitemaps - rm /etc/service/{template-renderer,vnu,website}/down && sv start template-renderer vnu website - export MMD_SCHEMA_ROOT=/home/musicbrainz/mb-solr/mmd-schema - export JUNIT_OUTPUT_FILE=junit_output/perl_and_pgtap.xml - sudo -E -H -u musicbrainz carton exec -- prove \ - --pgtap-option dbname=musicbrainz_test \ - --pgtap-option host=localhost \ - --pgtap-option port=5432 \ - --pgtap-option username=musicbrainz \ - --source pgTAP \ - --source Perl \ - -I lib \ - t/author/* \ - t/critic.t \ - t/hydration_i18n.t \ - t/pgtap/* \ - t/pgtap/unused-tags/* \ - t/script/MergeDuplicateArtistCredits.t \ - t/script/BuildSitemaps.t \ - t/script/DumpJSON.t \ - t/script/ExportAllTables.t \ - t/script/dbmirror2.t \ - t/tests.t \ - --harness=TAP::Harness::JUnit \ - -v + ./docker/musicbrainz-tests/run_circleci_tests.sh - store_test_results: path: ./junit_output @@ -177,4 +95,4 @@ workflows: build-and-test: jobs: - js-perl-and-pgtap - - js-perl-and-pgtap-node-v16 + - js-perl-and-pgtap-perl-5-dot-30 diff --git a/.eslintrc.unfixed.yaml b/.eslintrc.unfixed.yaml index d4af316639f..53cd2e69903 100644 --- a/.eslintrc.unfixed.yaml +++ b/.eslintrc.unfixed.yaml @@ -41,5 +41,3 @@ rules: react/no-multi-comp: [warn, {ignoreStateless: true}] react/no-render-return-value: warn react/jsx-no-bind: [warn, {ignoreDOMComponents: true}] - flowtype/no-types-missing-file-annotation: error - flowtype/no-weak-types: warn diff --git a/.eslintrc.yaml b/.eslintrc.yaml index 659a8adafc9..b426120dd13 100644 --- a/.eslintrc.yaml +++ b/.eslintrc.yaml @@ -1,11 +1,11 @@ root: true -parser: "@babel/eslint-parser" +parser: "hermes-eslint" plugins: - import - react - - flowtype + - ft-flow - fb-flow - react-hooks - simple-import-sort @@ -125,7 +125,12 @@ rules: strict: off # Variables - no-undef: error + # no-undef is mostly superfluous as it is checked by Flow; enabling it + # actually triggers thousands of false positives because hermes-eslint + # doesn't track global types (those defined with `declare type`). + # Ideally we could keep no-undef enabled for files that aren't Flow- + # typed yet, but we don't maintain a separate config for those. + no-undef: off no-use-before-define: off # Stylistic Issues @@ -227,7 +232,9 @@ rules: import/export: error import/extensions: [error, ignorePackages] import/first: warn - import/newline-after-import: [warn, {count: 1}] + import/newline-after-import: [warn, {count: 1, + exactCount: true, + considerComments: true}] import/no-commonjs: error import/no-duplicates: warn import/no-dynamic-require: error @@ -280,6 +287,7 @@ rules: react/require-render-return: error react/self-closing-comp: error react/sort-comp: off + react/sort-default-props: warn react/sort-prop-types: off react/style-prop-object: error react/void-dom-elements-no-children: error @@ -305,7 +313,6 @@ rules: react/jsx-one-expression-per-line: [warn, {allow: single-child}] react/jsx-curly-brace-presence: [error, {props: never, children: ignore}] react/jsx-pascal-case: error - react/jsx-sort-default-props: warn react/jsx-sort-props: warn react/jsx-tag-spacing: [error, {beforeClosing: never}] # jsx-uses-react is not implied since @@ -320,31 +327,29 @@ rules: logical: ignore, prop: ignore}] - ########################## - # eslint-plugin-flowtype # - ########################## + ######################### + # eslint-plugin-ft-flow # + ######################### - flowtype/boolean-style: [warn, boolean] - flowtype/define-flow-type: warn - flowtype/delimiter-dangle: [warn, always-multiline] - flowtype/generic-spacing: off - flowtype/no-dupe-keys: error - flowtype/no-flow-fix-me-comments: off - flowtype/no-mutable-array: off - flowtype/no-primitive-constructor-types: error - flowtype/object-type-delimiter: [warn, comma] - flowtype/require-exact-type: off - flowtype/require-indexer-name: [warn, always] - flowtype/require-parameter-type: off - flowtype/require-return-type: off - flowtype/require-valid-file-annotation: off - flowtype/semi: [warn, always] - flowtype/sort-keys: [warn, asc] - flowtype/space-after-type-colon: [warn, always, {allowLineBreak: true}] - flowtype/space-before-generic-bracket: [warn, never] - flowtype/space-before-type-colon: [warn, never] - flowtype/union-intersection-spacing: [warn, always] - flowtype/use-flow-type: warn + ft-flow/boolean-style: [warn, boolean] + ft-flow/delimiter-dangle: [warn, always-multiline] + ft-flow/generic-spacing: off + ft-flow/no-dupe-keys: error + ft-flow/no-flow-fix-me-comments: off + ft-flow/no-mutable-array: off + ft-flow/no-primitive-constructor-types: error + ft-flow/object-type-delimiter: [warn, comma] + ft-flow/require-exact-type: off + ft-flow/require-indexer-name: [warn, always] + ft-flow/require-parameter-type: off + ft-flow/require-return-type: off + ft-flow/require-valid-file-annotation: off + ft-flow/semi: [warn, always] + ft-flow/sort-keys: [warn, asc] + ft-flow/space-after-type-colon: [warn, always, {allowLineBreak: true}] + ft-flow/space-before-generic-bracket: [warn, never] + ft-flow/space-before-type-colon: [warn, never] + ft-flow/union-intersection-spacing: [warn, always] ######################### # eslint-plugin-fb-flow # diff --git a/.flowconfig b/.flowconfig index 6ad46ffaf80..d709be0cb4c 100644 --- a/.flowconfig +++ b/.flowconfig @@ -3,7 +3,7 @@ /.nyc_output/.* /coverage/.* /lib/.* -/node_modules/resolve/test/resolver/malformed_package_json/package.json +/node_modules/.*resolve/test/resolver/malformed_package_json/package.json /root/static/build/.* /perl_modules/.* /t/.* diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000000..af3ad128122 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +/.yarn/** linguist-vendored +/.yarn/releases/* binary +/.yarn/plugins/**/* binary +/.pnp.* binary linguist-generated diff --git a/.gitignore b/.gitignore index 90396a61600..d13cb1e72d4 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,15 @@ /admin/apache/vh_mb_frontend.conf /admin/apache/startup.pl /admin/replication/hooks/post-process -/docker/Dockerfile.* +/docker/Dockerfile.cpanfile-snapshot +/docker/Dockerfile.json-dump +/docker/Dockerfile.production-cron +/docker/Dockerfile.search-indexes-dump +/docker/Dockerfile.sitemaps +/docker/Dockerfile.test-database +/docker/Dockerfile.webservice +/docker/Dockerfile.website +/docker/Dockerfile.website-test /root/robots.txt # Symlinks to node_modules/leaflet/ /root/static/images/leaflet/layers-2x.png @@ -26,13 +34,22 @@ /MYMETA.json /MYMETA.yml /po/*.mo -/yarn-error.log *.ttc *~ .#* *.swp *.vscode +# Yarn - https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored +/.pnp.* +/.yarn/* +!/.yarn/patches +!/.yarn/plugins +!/.yarn/releases +!/.yarn/sdks +!/.yarn/versions +/yarn-error.log + # Ignore files generated by lib/MusicBrainz/Server/Data/FileCache.pm /root/static/build/ /root/static/sitemaps/sitemap* diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 00000000000..3186f3f0795 --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d03a4fdc4bd..e135c079a9e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -41,21 +41,22 @@ dependency updates, unnoticeable refactoring, and so on. #### Title -Describe your change with a short imperative title, e.g. +Describe your change with a short imperative title, such as > Change small unnoticeable bits If your change resolves a ticket (see [above](#ticket)), please make sure you prefix your pull request title with `MBS-XXX: ` in order for our issue tracker -to link your pull request to that ticket, e.g. +to link your pull request to that ticket, such as in > MBS-1234567: Change things relevant to users -If it **partially resolves** a ticket, use parenthesis, e.g. +If it **partially resolves** a ticket, use parenthesis, such as in > MBS-1234567 (I): Make first part of needed changes -If your change relate to **several tickets**, separate these with commas, e.g. +If your change relate to **several tickets**, separate these with commas, +such as in > MBS-1234567, MBS-2345678: Change two related things at once @@ -63,7 +64,8 @@ If your change relate to **several tickets**, separate these with commas, e.g. Just follow our [pull request template](.github/PULL_REQUEST_TEMPLATE.md). -If your change relates to a ticket, make sure to mention it in the comment, e.g. +If your change relates to a ticket, make sure to mention it in the comment, +for example ```Markdown # Summary diff --git a/HACKING-PROD.md b/HACKING-PROD.md index c081645395d..57305970e3d 100644 --- a/HACKING-PROD.md +++ b/HACKING-PROD.md @@ -52,7 +52,8 @@ CircleCI supports debugging in their containers with SSH for this case. See [their documentation](https://circleci.com/docs/2.0/ssh-access-jobs/). Basically, you'll want to expand the "Rerun" menu and select "Rerun job with SSH". -Then, under "Enable SSH", you'll be told how to SSH into the container, e.g. +Then, under "Enable SSH", you'll be told how to SSH into the container, +with a command like $ ssh -p port ip diff --git a/HACKING.md b/HACKING.md index 238fe55a095..cfafb17b391 100644 --- a/HACKING.md +++ b/HACKING.md @@ -51,13 +51,13 @@ Important folders are documented here, in alphabetical order. [HTML::FormHandler](http://search.cpan.org/dist/HTML-FormHandler/) classes, where most forms rendered by Template Toolkit get handled. The controller will create an instance of the corresponding class - here, and pass the request data to it. (See e.g. + here, and pass the request data to it. (See for example `MusicBrainz::Server::Controller::edit_action`). The form acts to validate the request data and return any errors. We have some forms that are mostly rendered client-side and submit JSON directly to some controller endpoint, which then performs its own - validation. (See e.g. `/ws/js/edit`.) Those have nothing to do with + validation. (See `/ws/js/edit`.) Those have nothing to do with the code here. * **root/** diff --git a/INSTALL.md b/INSTALL.md index adfb2d798a4..aa1166f222a 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -68,18 +68,16 @@ Prerequisites in lib/DBDefs.pm. The defaults should be fine if you don't use your redis install for anything else. -6. Node.js (at least version 16) and Yarn +6. Node.js (at least version 20.9.0) and Yarn Node.js is required to build (and optionally minify) our JavaScript and CSS. If you plan on accessing musicbrainz-server inside a web browser, you should install Node and the package manager Yarn. - We currently run Node.js v18.17.1 in production. While we try to support - all 16.x versions of Node, it's recommended to install one greater than or - equal to v16.13.0, as this is when the LTS line started and better matches - what we use and know works. If your release of Ubuntu doesn't have such a - version of Node.js in its repositories, we can recommended the NodeSource - binary distributions, which we also use in production: + We currently run Node.js v20 LTS in production. (The first LTS release of + v20 was v20.9.0.) If your release of Ubuntu doesn't have such a version + of Node.js in its repositories, we can recommended the NodeSource binary + distributions, which we also use in production: https://github.com/nodesource/distributions#installation-instructions @@ -94,9 +92,24 @@ Prerequisites This is only needed where it exists, so a warning about the package not being found is not a problem. - Next you need Yarn to install the JS dependencies. There are a variety of - installation methods described on their website, located here: - https://yarnpkg.com/en/docs/install + Next you need a modern version of Yarn to install the JS dependencies. + Yarn can be installed using the `corepack` command, which is bundled with + Node.js. By default, corepack will install `yarn` to /usr/local/bin, + so `sudo` may be required. Alternatively, you can specify where to + install `yarn` via the `--install-directory` flag. The specified + directory should be in your `$PATH`. + + Note that if you have Yarn 1 (Classic) installed on your system via `npm` + or `apt`, this may override it depending on the installation directory. + If Yarn 1 (Classic) isn't required by any other project on your system, + this likely won't cause any issues, but in that case it's recommended + to uninstall it first. + + # installs yarn to /usr/local/bin + sudo corepack enable + + # alternate example: installs yarn to ~/bin without sudo + corepack enable --install-directory=~/bin 7. Standard Development Tools @@ -220,12 +233,14 @@ Below outlines how to setup MusicBrainz server with local::lib. Building static web resources ------------------------------- -To build everything necessary to access the server in a web browser (CSS, -JavaScript), run the following command: +To build everything necessary to access the server in a web browser (CSS, JavaScript), run the following command: ./script/compile_resources.sh -This command takes care of installing Node.js dependencies for you, including +If you encounter an error running the command above, follow this section [Translations](#translations) until **4. install translations**. +It will generate the necessary files for the build to succeed. + +This command below takes care of installing Node.js dependencies for you, including development dependencies. If you're just setting up a mirror and don't plan to hack on any code, you can save a bit of time and space by excluding the devDependencies (listed in package.json): @@ -434,7 +449,7 @@ If you intend to run a server with translations, there are a few steps to follow The `.po` files for all language(s) open to translation are in the `po/` folder with filenames ending with ISO language code, optionally followed by an underscore and an ISO country code - (e.g. `fr` for French, `fr_CA` for Canadian French). + (such as `fr` for French, `fr_CA` for Canadian French). 4. Install translations @@ -444,7 +459,7 @@ If you intend to run a server with translations, there are a few steps to follow `lib/LocaleData/{language}/LC_MESSAGES/{domain}.mo`. 5. Add the languages to `MB_LANGUAGES` in DBDefs.pm. These should be formatted - {lang}-{country}, e.g. 'es', or 'fr-ca', in a space-separated list. + {lang}-{country}, such as 'es', or 'fr-ca', in a space-separated list. 6. Ensure you have a system locale for any languages you want to use. For many languages, this will suffice: diff --git a/admin/ExportAllTables b/admin/ExportAllTables index 1400b382bfc..5d6ccff32ab 100755 --- a/admin/ExportAllTables +++ b/admin/ExportAllTables @@ -27,6 +27,7 @@ use MusicBrainz::Server::Constants qw( @WIKIDOCS_TABLE_LIST @DOCUMENTATION_TABLE_LIST ); +use MusicBrainz::Server::Data::Utils qw( contains_string ); use MusicBrainz::Server::Log qw( log_info ); use Getopt::Long; @@ -154,7 +155,7 @@ my $mbdump = MusicBrainz::Script::DatabaseDump->new( @tables = () if not $fDoFullExport; # Sanitise various things for public consumption -if (any { $_ eq 'editor_sanitised' } @tables) +if (contains_string(\@tables, 'editor_sanitised')) { $sql->do("SELECT $EDITOR_SANITISED_COLUMNS INTO TEMPORARY editor_sanitised @@ -295,7 +296,7 @@ if ($fDoReplication) # Dump this /after/ we've possibly updated the current_replication_sequence # Dump this table only if we're dumping everything (i.e., @tablelist is empty) or if it's explicitly requested. -$mbdump->dump_table('replication_control') if (scalar @tablelist == 0 || any { $_ eq 'replication_control' } @tablelist); +$mbdump->dump_table('replication_control') if (scalar @tablelist == 0 || contains_string(\@tablelist, 'replication_control')); $mbdump->end_dump; diff --git a/admin/InitDb.pl b/admin/InitDb.pl index 692c4003c8f..b55ece50bd6 100755 --- a/admin/InitDb.pl +++ b/admin/InitDb.pl @@ -426,7 +426,7 @@ sub SanityCheck { (defined($path_to_pending_so) || $dbmirror2) or die <create_script_context(database => 'MAINTENANCE'); +my $dbh = $c->dbh; + +my $indexes = $c->sql->select_list_of_hashes(<<~SQL); + SELECT n.nspname AS schema_name, i.relname AS index_name + FROM pg_index AS idx + JOIN pg_class AS c ON idx.indrelid = c.oid + JOIN pg_class AS i ON idx.indexrelid = i.oid + JOIN pg_namespace AS n ON n.oid = c.relnamespace + JOIN pg_attribute AS a ON (a.attnum = any(idx.indkey) AND a.attrelid = c.oid) + JOIN pg_collation AS col ON a.attcollation = col.oid + WHERE col.collname IN ('default', 'musicbrainz') + ORDER BY n.nspname, i.relname + SQL + +for my $index (@$indexes) { + my $schema_name = $dbh->quote_identifier($index->{schema_name}); + my $index_name = $dbh->quote_identifier($index->{index_name}); + my $reindex_cmd = "REINDEX INDEX CONCURRENTLY $schema_name.$index_name;"; + print "$reindex_cmd\n"; + $c->sql->auto_commit(1); + $c->sql->do($reindex_cmd); +} diff --git a/admin/cleanup/FixTrackLength.pl b/admin/cleanup/FixTrackLength.pl index dcf0de6ac2e..7b77a0f1b36 100755 --- a/admin/cleanup/FixTrackLength.pl +++ b/admin/cleanup/FixTrackLength.pl @@ -136,7 +136,7 @@ if ($bad == 0) { # All track lengths are wrong, so we change them with a # SetTrackLengths edit - log_info { sprintf 'Set track durations from CDTOC #%d for medium #%d', + log_info { sprintf 'Set track lengths from CDTOC #%d for medium #%d', $cdtoc->id, $medium->id } if $verbose; diff --git a/admin/sql/CreateIndexes.sql b/admin/sql/CreateIndexes.sql index 79810473552..6f0a995d885 100644 --- a/admin/sql/CreateIndexes.sql +++ b/admin/sql/CreateIndexes.sql @@ -147,7 +147,7 @@ CREATE INDEX edit_data_idx_link_type ON edit_data USING GIN ( (data#>>'{link,link_type,id}')::int, (data#>>'{old,link_type,id}')::int, (data#>>'{new,link_type,id}')::int, - (data#>>'{relationship,link_type,id}')::int + (data#>>'{relationship,link,type,id}')::int ], NULL) ); diff --git a/admin/sql/updates/20231005-edit-data-idx-link-type.sql b/admin/sql/updates/20231005-edit-data-idx-link-type.sql new file mode 100644 index 00000000000..a46b869f1f3 --- /dev/null +++ b/admin/sql/updates/20231005-edit-data-idx-link-type.sql @@ -0,0 +1,17 @@ +\set ON_ERROR_STOP 1 + +BEGIN; + +DROP INDEX CONCURRENTLY IF EXISTS edit_data_idx_link_type; + +CREATE INDEX CONCURRENTLY edit_data_idx_link_type ON edit_data USING GIN ( + array_remove(ARRAY[ + (data#>>'{link_type,id}')::int, + (data#>>'{link,link_type,id}')::int, + (data#>>'{old,link_type,id}')::int, + (data#>>'{new,link_type,id}')::int, + (data#>>'{relationship,link,type,id}')::int + ], NULL) +); + +COMMIT; diff --git a/babel.config.cjs b/babel.config.cjs index 29706e283b9..c2f3eae04b4 100644 --- a/babel.config.cjs +++ b/babel.config.cjs @@ -38,6 +38,7 @@ module.exports = function (api) { ]; const plugins = [ + 'babel-plugin-syntax-hermes-parser', '@babel/plugin-transform-flow-strip-types', ['@babel/plugin-transform-react-jsx', { runtime: 'automatic', diff --git a/bin/sucrase-node b/bin/sucrase-node index 9d0e31f05bf..c67e54ad1b6 100755 --- a/bin/sucrase-node +++ b/bin/sucrase-node @@ -2,34 +2,7 @@ MB_SERVER_ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")/../" && pwd) -NODE_VERSION="$(node --version)" -if [[ $NODE_VERSION =~ ^v([0-9]+)\.([0-9]+) ]] -then - NODE_MAJOR_VERSION="${BASH_REMATCH[1]}" - NODE_MINOR_VERSION="${BASH_REMATCH[2]}" -else - echo 'Unable to parse Node.js version number.' - exit 1 -fi - -if (( $NODE_MAJOR_VERSION < 16 )); then - echo 'Node.js >= v16 is required. An LTS release (>= v16.13.0) is strongly recommended.' - exit 1 -fi - -# The "Experimental ESM Loader Hooks API" was updated in Node.js v16.12.0: -# https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V16.md#2021-10-20-version-16120-current-richardlau -# -# It appears that version v16.13.0 (the first LTS release) is identical to -# v16.12.0. -if (( $NODE_MAJOR_VERSION > 16 || $NODE_MINOR_VERSION >= 12 )) -then - LOADER="$MB_SERVER_ROOT"/root/utility/sucraseLoader.mjs -else - LOADER="$MB_SERVER_ROOT"/root/utility/sucraseLoader.pre_v16_LTS.mjs -fi - exec node \ - --experimental-loader "$LOADER" \ + --experimental-loader "$MB_SERVER_ROOT"/root/utility/sucraseLoader.mjs \ --no-warnings \ "$@" diff --git a/contrib/slowdown.psgi b/contrib/slowdown.psgi index 3cc89fac10e..de361b14025 100644 --- a/contrib/slowdown.psgi +++ b/contrib/slowdown.psgi @@ -1,7 +1,6 @@ #!/usr/bin/env perl use strict; use warnings; -use feature "switch"; # Sufficiently Sophisticated Simple Storage Service Slow Down Simulator. @@ -87,12 +86,12 @@ sub { my $request = Plack::Request->new(shift); my $response; + my $method = $request->method; - given ($request->method) { - when ("PUT") { $response = handle_other($request) } - when ("POST") { $response = handle_other($request) } - when ("OPTIONS") { $response = handle_options($request) } - } + + if ($method eq 'PUT') { $response = handle_other($request) } + elsif ($method eq 'POST') { $response = handle_other($request) } + elsif ($method eq 'OPTIONS') { $response = handle_options($request) } $response->header("Access-Control-Allow-Origin" => "*"); return $response->finalize; diff --git a/contrib/ssssss.psgi b/contrib/ssssss.psgi index a50503a1f82..838358be481 100644 --- a/contrib/ssssss.psgi +++ b/contrib/ssssss.psgi @@ -1,7 +1,6 @@ #!/usr/bin/env perl use strict; use warnings; -use feature "switch"; # Sufficiently Sophisticated Simple Storage Service Simulator is a # drop-in replacement for the archive.org S3 service. It mimics just @@ -283,14 +282,13 @@ sub { my $request = Plack::Request->new(shift); my $response; + my $method = $request->method; - given ($request->method) { - when ("PUT") { $response = handle_put($request) } - when ("POST") { $response = handle_post($request) } - when ("OPTIONS") { $response = handle_options($request) } - when ("GET") { $response = handle_get($request) } - when ("DELETE") { $response = handle_delete($request) } - } + if ($method eq 'PUT') { $response = handle_put($request) } + elsif ($method eq 'POST') { $response = handle_post($request) } + elsif ($method eq 'OPTIONS') { $response = handle_options($request) } + elsif ($method eq 'GET') { $response = handle_get($request) } + elsif ($method eq 'DELETE') { $response = handle_delete($request) } $response->header("Access-Control-Allow-Origin" => "*"); return $response->finalize; diff --git a/cpanfile.perl5.30.snapshot b/cpanfile.perl5.30.snapshot new file mode 100644 index 00000000000..8717e0fb49b --- /dev/null +++ b/cpanfile.perl5.30.snapshot @@ -0,0 +1,7948 @@ +# carton snapshot format: version 1.0 +DISTRIBUTIONS + Algorithm-Diff-1.201 + pathname: R/RJ/RJBS/Algorithm-Diff-1.201.tar.gz + provides: + Algorithm::Diff 1.201 + Algorithm::Diff::_impl 1.201 + requirements: + ExtUtils::MakeMaker 0 + Alien-Build-2.80 + pathname: P/PL/PLICEASE/Alien-Build-2.80.tar.gz + provides: + Alien::Base 2.80 + Alien::Base::PkgConfig 2.80 + Alien::Base::Wrapper 2.80 + Alien::Build 2.80 + Alien::Build::CommandSequence 2.80 + Alien::Build::Helper 2.80 + Alien::Build::Interpolate 2.80 + Alien::Build::Interpolate::Default 2.80 + Alien::Build::Interpolate::Helper 2.80 + Alien::Build::Log 2.80 + Alien::Build::Log::Abbreviate 2.80 + Alien::Build::Log::Default 2.80 + Alien::Build::MM 2.80 + Alien::Build::Meta 2.80 + Alien::Build::Plugin 2.80 + Alien::Build::Plugin::Build::Autoconf 2.80 + Alien::Build::Plugin::Build::CMake 2.80 + Alien::Build::Plugin::Build::Copy 2.80 + Alien::Build::Plugin::Build::MSYS 2.80 + Alien::Build::Plugin::Build::Make 2.80 + Alien::Build::Plugin::Build::SearchDep 2.80 + Alien::Build::Plugin::Core::CleanInstall 2.80 + Alien::Build::Plugin::Core::Download 2.80 + Alien::Build::Plugin::Core::FFI 2.80 + Alien::Build::Plugin::Core::Gather 2.80 + Alien::Build::Plugin::Core::Legacy 2.80 + Alien::Build::Plugin::Core::Override 2.80 + Alien::Build::Plugin::Core::Setup 2.80 + Alien::Build::Plugin::Core::Tail 2.80 + Alien::Build::Plugin::Decode::DirListing 2.80 + Alien::Build::Plugin::Decode::DirListingFtpcopy 2.80 + Alien::Build::Plugin::Decode::HTML 2.80 + Alien::Build::Plugin::Decode::Mojo 2.80 + Alien::Build::Plugin::Digest::Negotiate 2.80 + Alien::Build::Plugin::Digest::SHA 2.80 + Alien::Build::Plugin::Digest::SHAPP 2.80 + Alien::Build::Plugin::Download::Negotiate 2.80 + Alien::Build::Plugin::Extract::ArchiveTar 2.80 + Alien::Build::Plugin::Extract::ArchiveZip 2.80 + Alien::Build::Plugin::Extract::CommandLine 2.80 + Alien::Build::Plugin::Extract::Directory 2.80 + Alien::Build::Plugin::Extract::File 2.80 + Alien::Build::Plugin::Extract::Negotiate 2.80 + Alien::Build::Plugin::Fetch::CurlCommand 2.80 + Alien::Build::Plugin::Fetch::HTTPTiny 2.80 + Alien::Build::Plugin::Fetch::LWP 2.80 + Alien::Build::Plugin::Fetch::Local 2.80 + Alien::Build::Plugin::Fetch::LocalDir 2.80 + Alien::Build::Plugin::Fetch::NetFTP 2.80 + Alien::Build::Plugin::Fetch::Wget 2.80 + Alien::Build::Plugin::Gather::IsolateDynamic 2.80 + Alien::Build::Plugin::PkgConfig::CommandLine 2.80 + Alien::Build::Plugin::PkgConfig::LibPkgConf 2.80 + Alien::Build::Plugin::PkgConfig::MakeStatic 2.80 + Alien::Build::Plugin::PkgConfig::Negotiate 2.80 + Alien::Build::Plugin::PkgConfig::PP 2.80 + Alien::Build::Plugin::Prefer::BadVersion 2.80 + Alien::Build::Plugin::Prefer::GoodVersion 2.80 + Alien::Build::Plugin::Prefer::SortVersions 2.80 + Alien::Build::Plugin::Probe::CBuilder 2.80 + Alien::Build::Plugin::Probe::CommandLine 2.80 + Alien::Build::Plugin::Probe::Vcpkg 2.80 + Alien::Build::Plugin::Test::Mock 2.80 + Alien::Build::PluginMeta 2.80 + Alien::Build::Temp 2.80 + Alien::Build::TempDir 2.80 + Alien::Build::Util 2.80 + Alien::Build::Version::Basic 2.80 + Alien::Build::rc 2.80 + Alien::Role 2.80 + Alien::Util 2.80 + Test::Alien 2.80 + Test::Alien::Build 2.80 + Test::Alien::CanCompile 2.80 + Test::Alien::CanPlatypus 2.80 + Test::Alien::Diag 2.80 + Test::Alien::Run 2.80 + Test::Alien::Synthetic 2.80 + alienfile 2.80 + requirements: + Capture::Tiny 0.17 + Digest::SHA 0 + ExtUtils::CBuilder 0 + ExtUtils::MakeMaker 6.64 + ExtUtils::ParseXS 3.30 + FFI::CheckLib 0.11 + File::Which 1.10 + File::chdir 0 + JSON::PP 0 + List::Util 1.33 + Path::Tiny 0.077 + Test2::API 1.302096 + Text::ParseWords 3.26 + parent 0 + perl 5.008004 + Alien-Build-Plugin-Download-GitLab-0.01 + pathname: P/PL/PLICEASE/Alien-Build-Plugin-Download-GitLab-0.01.tar.gz + provides: + Alien::Build::Plugin::Download::GitLab 0.01 + requirements: + Alien::Build::Plugin 0 + ExtUtils::MakeMaker 0 + JSON::PP 0 + Path::Tiny 0 + URI 0 + URI::Escape 0 + perl 5.008004 + Alien-Libxml2-0.19 + pathname: P/PL/PLICEASE/Alien-Libxml2-0.19.tar.gz + provides: + Alien::Libxml2 0.19 + requirements: + Alien::Base 2.37 + Alien::Build 2.37 + Alien::Build::MM 2.37 + Alien::Build::Plugin::Build::SearchDep 0.35 + Alien::Build::Plugin::Download::GitLab 0 + Alien::Build::Plugin::Prefer::BadVersion 1.05 + Alien::Build::Plugin::Probe::Vcpkg 0 + ExtUtils::CBuilder 0 + ExtUtils::MakeMaker 6.52 + perl 5.006 + Apache-LogFormat-Compiler-0.36 + pathname: K/KA/KAZEBURO/Apache-LogFormat-Compiler-0.36.tar.gz + provides: + Apache::LogFormat::Compiler 0.36 + requirements: + Module::Build::Tiny 0.035 + POSIX 0 + POSIX::strftime::Compiler 0.30 + Time::Local 0 + perl 5.008001 + AppConfig-1.71 + pathname: N/NE/NEILB/AppConfig-1.71.tar.gz + provides: + AppConfig 1.71 + AppConfig::Args 1.71 + AppConfig::CGI 1.71 + AppConfig::File 1.71 + AppConfig::Getopt 1.71 + AppConfig::State 1.71 + AppConfig::Sys 1.71 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + perl 5.008008 + Authen-DecHpwd-2.007 + pathname: Z/ZE/ZEFRAM/Authen-DecHpwd-2.007.tar.gz + provides: + Authen::DecHpwd 2.007 + requirements: + Data::Integer 0.003 + Digest::CRC 0.14 + Exporter 0 + Module::Build 0 + Scalar::String 0 + Test::More 0 + constant 0 + parent 0 + perl 5.006 + strict 0 + warnings 0 + Authen-Passphrase-0.008 + pathname: Z/ZE/ZEFRAM/Authen-Passphrase-0.008.tar.gz + provides: + Authen::Passphrase 0.008 + Authen::Passphrase::AcceptAll 0.008 + Authen::Passphrase::BigCrypt 0.008 + Authen::Passphrase::BlowfishCrypt 0.008 + Authen::Passphrase::Clear 0.008 + Authen::Passphrase::Crypt16 0.008 + Authen::Passphrase::DESCrypt 0.008 + Authen::Passphrase::EggdropBlowfish 0.008 + Authen::Passphrase::LANManager 0.008 + Authen::Passphrase::LANManagerHalf 0.008 + Authen::Passphrase::MD5Crypt 0.008 + Authen::Passphrase::MySQL323 0.008 + Authen::Passphrase::MySQL41 0.008 + Authen::Passphrase::NTHash 0.008 + Authen::Passphrase::NetscapeMail 0.008 + Authen::Passphrase::PHPass 0.008 + Authen::Passphrase::RejectAll 0.008 + Authen::Passphrase::SaltedDigest 0.008 + Authen::Passphrase::VMSPurdy 0.008 + requirements: + Authen::DecHpwd 2.003 + Carp 0 + Crypt::DES 0 + Crypt::Eksblowfish::Bcrypt 0.008 + Crypt::Eksblowfish::Uklblowfish 0.008 + Crypt::MySQL 0.03 + Crypt::PasswdMD5 1.0 + Crypt::UnixCrypt_XS 0.08 + Data::Entropy::Algorithms 0 + Digest 1.00 + Digest::MD4 1.2 + Digest::MD5 1.9953 + Digest::SHA 0 + MIME::Base64 2.21 + Module::Build 0 + Module::Runtime 0.011 + Params::Classify 0 + Test::More 0 + parent 0 + perl 5.006 + strict 0 + warnings 0 + B-Hooks-EndOfScope-0.26 + pathname: E/ET/ETHER/B-Hooks-EndOfScope-0.26.tar.gz + provides: + B::Hooks::EndOfScope 0.26 + B::Hooks::EndOfScope::PP 0.26 + B::Hooks::EndOfScope::XS 0.26 + requirements: + ExtUtils::MakeMaker 0 + Hash::Util::FieldHash 0 + Module::Implementation 0.05 + Scalar::Util 0 + Sub::Exporter::Progressive 0.001006 + Text::ParseWords 0 + Tie::Hash 0 + Variable::Magic 0.48 + perl 5.006001 + strict 0 + warnings 0 + B-Hooks-OP-Check-0.22 + pathname: E/ET/ETHER/B-Hooks-OP-Check-0.22.tar.gz + provides: + B::Hooks::OP::Check 0.22 + requirements: + DynaLoader 0 + ExtUtils::Depends 0.302 + ExtUtils::MakeMaker 0 + parent 0 + perl 5.008001 + strict 0 + warnings 0 + B-Keywords-1.24 + pathname: R/RU/RURBAN/B-Keywords-1.24.tar.gz + provides: + B::Keywords 1.24 + requirements: + B 0 + ExtUtils::MakeMaker 0 + Bit-Vector-7.4 + pathname: S/ST/STBEY/Bit-Vector-7.4.tar.gz + provides: + Bit::Vector 7.4 + Bit::Vector::Overload 7.4 + Bit::Vector::String 7.4 + requirements: + Carp::Clan 5.3 + ExtUtils::MakeMaker 0 + Storable 2.21 + CGI-Expand-2.05 + pathname: B/BO/BOWMANBS/CGI-Expand-2.05.tar.gz + provides: + CGI::Expand 2.05 + requirements: + ExtUtils::MakeMaker 0 + Test::Exception 0 + Test::More 0 + CGI-Simple-1.280 + pathname: M/MA/MANWAR/CGI-Simple-1.280.tar.gz + provides: + CGI::Simple 1.280 + CGI::Simple::Cookie 1.280 + CGI::Simple::Standard 1.280 + CGI::Simple::Util 1.280 + requirements: + ExtUtils::MakeMaker 0 + CGI-Struct-1.21 + pathname: F/FU/FULLERMD/CGI-Struct-1.21.tar.gz + provides: + CGI::Struct 1.21 + requirements: + ExtUtils::MakeMaker 0 + Storable 0 + Test::Deep 0 + Test::More 0 + Cache-2.11 + pathname: S/SH/SHLOMIF/Cache-2.11.tar.gz + provides: + Cache 2.11 + Cache::Entry 2.11 + Cache::File 2.11 + Cache::File::Entry 2.11 + Cache::File::Handle undef + Cache::File::Heap 2.11 + Cache::IOString undef + Cache::Memory 2.11 + Cache::Memory::Entry 2.11 + Cache::Memory::HeapElem undef + Cache::Null 2.11 + Cache::Null::Entry 2.11 + Cache::RemovalStrategy 2.11 + Cache::RemovalStrategy::FIFO undef + Cache::RemovalStrategy::LRU undef + Cache::Tester 2.11 + requirements: + DB_File 1.72 + Date::Parse 2.24 + Digest::SHA 0 + Fcntl 1.03 + File::Find 0 + File::NFSLock 1.20 + File::Path 1.00 + File::Spec 0.8 + Heap::Fibonacci 0.01 + IO::File 1.08 + IO::Handle 1.21 + IO::String 1.02 + Module::Build 0 + Storable 1.00 + Symbol 1.02 + Test::More 0.45 + perl 5.006 + Canary-Stability-2013 + pathname: M/ML/MLEHMANN/Canary-Stability-2013.tar.gz + provides: + Canary::Stability 2013 + requirements: + ExtUtils::MakeMaker 0 + Captcha-reCaptcha-0.99 + pathname: S/SU/SUNNYP/Captcha-reCaptcha-0.99.tar.gz + provides: + Captcha::reCAPTCHA 0.99 + requirements: + ExtUtils::MakeMaker 0 + HTML::Tiny 0.904 + LWP::UserAgent 0 + Test::More 0 + Capture-Tiny-0.48 + pathname: D/DA/DAGOLDEN/Capture-Tiny-0.48.tar.gz + provides: + Capture::Tiny 0.48 + requirements: + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 6.17 + File::Spec 0 + File::Temp 0 + IO::Handle 0 + Scalar::Util 0 + perl 5.006 + strict 0 + warnings 0 + Carp-Assert-More-2.2.0 + pathname: P/PE/PETDANCE/Carp-Assert-More-2.2.0.tar.gz + provides: + Carp::Assert::More 2.002000 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + Scalar::Util 0 + Test::Exception 0 + Test::More 0.18 + Carp-Clan-6.08 + pathname: E/ET/ETHER/Carp-Clan-6.08.tar.gz + provides: + Carp::Clan 6.08 + requirements: + ExtUtils::MakeMaker 0 + overload 0 + perl 5.006 + strict 0 + Catalyst-Action-RenderView-0.16 + pathname: B/BO/BOBTFISH/Catalyst-Action-RenderView-0.16.tar.gz + provides: + Catalyst::Action::RenderView 0.16 + requirements: + Catalyst::Runtime 5.80030 + Data::Visitor 0.24 + ExtUtils::MakeMaker 6.42 + HTTP::Request::AsCGI 0 + MRO::Compat 0 + Test::More 0.88 + Catalyst-Authentication-Credential-HTTP-1.018 + pathname: E/ET/ETHER/Catalyst-Authentication-Credential-HTTP-1.018.tar.gz + provides: + Catalyst::Authentication::Credential::HTTP 1.018 + requirements: + Catalyst 0 + Catalyst::Authentication::Credential::Password 0 + Catalyst::Plugin::Authentication 0.10005 + Class::Accessor::Fast 0 + Data::UUID 0.11 + Digest::MD5 0 + Module::Build::Tiny 0.034 + String::Escape 0 + URI::Escape 0 + base 0 + perl 5.006 + strict 0 + warnings 0 + Catalyst-Devel-1.42 + pathname: H/HA/HAARG/Catalyst-Devel-1.42.tar.gz + provides: + Catalyst::Devel 1.42 + Catalyst::Helper 1.42 + Catalyst::Restarter undef + Catalyst::Restarter::Forking undef + Catalyst::Restarter::Win32 undef + Module::Install::Catalyst undef + requirements: + Catalyst 5.90001 + Catalyst::Action::RenderView 0.10 + Catalyst::Plugin::ConfigLoader 0.30 + Catalyst::Plugin::Static::Simple 0.28 + Config::General 2.42 + ExtUtils::MakeMaker 0 + File::ChangeNotify 0.07 + File::Copy::Recursive 0 + File::ShareDir 0 + File::ShareDir::Install 0 + Module::Install 1.02 + Moose 0 + MooseX::Emulate::Class::Accessor::Fast 0 + Path::Class 0.09 + Template 2.14 + namespace::autoclean 0 + namespace::clean 0 + Catalyst-Plugin-Authentication-0.10023 + pathname: B/BO/BOBTFISH/Catalyst-Plugin-Authentication-0.10023.tar.gz + provides: + Catalyst::Authentication::Credential::NoPassword undef + Catalyst::Authentication::Credential::Password undef + Catalyst::Authentication::Credential::Remote undef + Catalyst::Authentication::Realm undef + Catalyst::Authentication::Realm::Compatibility undef + Catalyst::Authentication::Realm::Progressive undef + Catalyst::Authentication::Store::Minimal undef + Catalyst::Authentication::Store::Null undef + Catalyst::Authentication::User undef + Catalyst::Authentication::User::Hash undef + Catalyst::Plugin::Authentication 0.10023 + Catalyst::Plugin::Authentication::Credential::Password undef + Catalyst::Plugin::Authentication::Store::Minimal undef + Catalyst::Plugin::Authentication::User undef + Catalyst::Plugin::Authentication::User::Hash undef + requirements: + Catalyst::Plugin::Session 0.10 + Catalyst::Runtime 0 + Class::Inspector 0 + Class::MOP 0 + ExtUtils::MakeMaker 6.59 + MRO::Compat 0 + Moose 0 + MooseX::Emulate::Class::Accessor::Fast 0 + String::RewritePrefix 0 + Test::Exception 0 + Test::More 0.88 + Try::Tiny 0 + namespace::autoclean 0 + perl 5.008001 + Catalyst-Plugin-Cache-0.12 + pathname: B/BO/BOBTFISH/Catalyst-Plugin-Cache-0.12.tar.gz + provides: + Catalyst::Plugin::Cache 0.12 + Catalyst::Plugin::Cache::Backend undef + Catalyst::Plugin::Cache::Backend::Memory undef + Catalyst::Plugin::Cache::Choose::KeyRegexes undef + Catalyst::Plugin::Cache::Curried undef + Catalyst::Plugin::Cache::Store::Memory undef + requirements: + Catalyst 5.8 + ExtUtils::MakeMaker 6.36 + MRO::Compat 0 + Storable 0 + Task::Weaken 0 + Test::Deep 0 + Test::Exception 0 + Test::More 0.88 + Catalyst-Plugin-Cache-HTTP-0.001000 + pathname: G/GR/GRAF/Catalyst-Plugin-Cache-HTTP-0.001000.tar.gz + provides: + Catalyst::Plugin::Cache::HTTP 0.001000 + requirements: + Catalyst::Runtime 0 + Class::Accessor::Fast 0 + ExtUtils::MakeMaker 7.34 + HTTP::Headers::ETag 0 + HTTP::Status 0 + List::Util 0 + MRO::Compat 0 + Test::More 0 + Test::WWW::Mechanize::Catalyst 0 + ok 0 + Catalyst-Plugin-ConfigLoader-0.35 + pathname: H/HA/HAARG/Catalyst-Plugin-ConfigLoader-0.35.tar.gz + provides: + Catalyst::Plugin::ConfigLoader 0.35 + requirements: + Catalyst::Runtime 5.7008 + Config::Any 0.20 + Data::Visitor 0.24 + ExtUtils::MakeMaker 0 + MRO::Compat 0.09 + Catalyst-Plugin-Session-0.43 + pathname: H/HA/HAARG/Catalyst-Plugin-Session-0.43.tar.gz + provides: + Catalyst::Plugin::Session 0.43 + Catalyst::Plugin::Session::State 0.43 + Catalyst::Plugin::Session::Store 0.43 + Catalyst::Plugin::Session::Store::Dummy 0.43 + Catalyst::Plugin::Session::Test::Store 0.43 + requirements: + Catalyst::Runtime 5.71001 + Digest 0 + ExtUtils::MakeMaker 0 + File::Spec 0 + File::Temp 0 + HTML::Entities 0 + List::Util 0 + MRO::Compat 0 + Moose 0.76 + MooseX::Emulate::Class::Accessor::Fast 0.00801 + Object::Signature 0 + Test::More 0.88 + namespace::clean 0.10 + perl 5.008 + Catalyst-Plugin-Session-State-Cookie-0.18 + pathname: H/HA/HAARG/Catalyst-Plugin-Session-State-Cookie-0.18.tar.gz + provides: + Catalyst::Plugin::Session::State::Cookie 0.18 + requirements: + Catalyst 5.80005 + Catalyst::Plugin::Session 0.27 + ExtUtils::MakeMaker 0 + MRO::Compat 0 + Moose 0 + namespace::autoclean 0 + Catalyst-Plugin-Static-Simple-0.37 + pathname: I/IL/ILMARI/Catalyst-Plugin-Static-Simple-0.37.tar.gz + provides: + Catalyst::Plugin::Static::Simple 0.37 + requirements: + Catalyst::Runtime 5.80008 + ExtUtils::MakeMaker 0 + MIME::Types 2.03 + Moose 0 + namespace::autoclean 0 + Catalyst-Runtime-5.90130 + pathname: J/JJ/JJNAPIORK/Catalyst-Runtime-5.90130.tar.gz + provides: + Catalyst 5.90130 + Catalyst::Action undef + Catalyst::ActionChain undef + Catalyst::ActionContainer undef + Catalyst::ActionRole::ConsumesContent undef + Catalyst::ActionRole::HTTPMethods undef + Catalyst::ActionRole::QueryMatching undef + Catalyst::ActionRole::Scheme undef + Catalyst::Base undef + Catalyst::ClassData undef + Catalyst::Component undef + Catalyst::Component::ApplicationAttribute undef + Catalyst::Component::ContextClosure undef + Catalyst::Controller undef + Catalyst::DispatchType undef + Catalyst::DispatchType::Chained undef + Catalyst::DispatchType::Default undef + Catalyst::DispatchType::Index undef + Catalyst::DispatchType::Path undef + Catalyst::Dispatcher undef + Catalyst::Engine undef + Catalyst::EngineLoader undef + Catalyst::Exception undef + Catalyst::Exception::Base undef + Catalyst::Exception::Basic undef + Catalyst::Exception::Detach undef + Catalyst::Exception::Go undef + Catalyst::Exception::Interface undef + Catalyst::Log undef + Catalyst::Middleware::Stash undef + Catalyst::Model undef + Catalyst::Plugin::Unicode::Encoding 5.90130 + Catalyst::Request undef + Catalyst::Request::PartData undef + Catalyst::Request::Upload undef + Catalyst::Response undef + Catalyst::Response::Writer undef + Catalyst::Runtime 5.90130 + Catalyst::Script::CGI undef + Catalyst::Script::Create undef + Catalyst::Script::FastCGI undef + Catalyst::Script::Server undef + Catalyst::Script::Test undef + Catalyst::ScriptRole undef + Catalyst::ScriptRunner undef + Catalyst::Stats undef + Catalyst::Test undef + Catalyst::Utils undef + Catalyst::View undef + requirements: + CGI::Simple::Cookie 1.109 + CGI::Struct 0 + Carp 1.25 + Class::C3::Adopt::NEXT 0.07 + Class::Load 0.12 + Data::Dump 0 + Data::OptList 0 + Devel::InnerPackage 0 + Encode 2.49 + ExtUtils::MakeMaker 0 + HTML::Entities 0 + HTML::HeadParser 0 + HTTP::Body 1.22 + HTTP::Headers 1.64 + HTTP::Request 5.814 + HTTP::Response 5.813 + Hash::MultiValue 0 + JSON::MaybeXS 1.000000 + LWP 5.837 + List::Util 1.45 + MRO::Compat 0 + Module::Pluggable 4.7 + Moose 2.1400 + MooseX::Emulate::Class::Accessor::Fast 0.00903 + MooseX::Getopt 0.48 + MooseX::MethodAttributes::Role::AttrContainer::Inheritable 0.24 + Path::Class 0.09 + PerlIO::utf8_strict 0 + Plack 0.9991 + Plack::Middleware::Conditional 0 + Plack::Middleware::ContentLength 0 + Plack::Middleware::FixMissingBodyInRedirect 0.09 + Plack::Middleware::HTTPExceptions 0 + Plack::Middleware::Head 0 + Plack::Middleware::IIS6ScriptNameFix 0 + Plack::Middleware::IIS7KeepAliveFix 0 + Plack::Middleware::LighttpdScriptNameFix 0 + Plack::Middleware::MethodOverride 0.12 + Plack::Middleware::RemoveRedundantBody 0.03 + Plack::Middleware::ReverseProxy 0.04 + Plack::Request::Upload 0 + Plack::Test::ExternalServer 0 + Safe::Isa 0 + Scalar::Util 0 + Socket 1.96 + Stream::Buffered 0 + String::RewritePrefix 0.004 + Sub::Exporter 0 + Task::Weaken 0 + Text::Balanced 0 + Text::SimpleTable 0.03 + Time::HiRes 0 + Tree::Simple 1.15 + Tree::Simple::Visitor::FindByUID 0 + Try::Tiny 0.17 + URI 1.65 + URI::ws 0.03 + namespace::clean 0.23 + perl 5.008003 + Catalyst-View-TT-0.46 + pathname: J/JJ/JJNAPIORK/Catalyst-View-TT-0.46.tar.gz + provides: + Catalyst::Helper::View::TT 0.46 + Catalyst::Helper::View::TTSite 0.46 + Catalyst::View::TT 0.46 + requirements: + Catalyst 5.7 + Class::Accessor 0 + Data::Dump 0 + ExtUtils::MakeMaker 0 + MRO::Compat 0 + Path::Class 0 + Template 0 + Template::Timer 0 + perl 5.008001 + Class-Accessor-0.51 + pathname: K/KA/KASEI/Class-Accessor-0.51.tar.gz + provides: + Class::Accessor 0.51 + Class::Accessor::Fast 0.51 + Class::Accessor::Faster 0.51 + requirements: + ExtUtils::MakeMaker 0 + base 1.01 + Class-Accessor-Chained-0.01 + pathname: R/RC/RCLAMP/Class-Accessor-Chained-0.01.tar.gz + provides: + Class::Accessor::Chained 0.01 + Class::Accessor::Chained::Fast undef + requirements: + Class::Accessor 0 + Test::More 0 + Class-Accessor-Lite-0.08 + pathname: K/KA/KAZUHO/Class-Accessor-Lite-0.08.tar.gz + provides: + Class::Accessor::Lite 0.08 + requirements: + ExtUtils::MakeMaker 6.36 + Class-C3-Adopt-NEXT-0.14 + pathname: E/ET/ETHER/Class-C3-Adopt-NEXT-0.14.tar.gz + provides: + Class::C3::Adopt::NEXT 0.14 + requirements: + List::Util 1.33 + MRO::Compat 0 + Module::Build::Tiny 0.039 + NEXT 0 + perl 5.006 + strict 0 + warnings 0 + warnings::register 0 + Class-Data-Inheritable-0.09 + pathname: R/RS/RSHERER/Class-Data-Inheritable-0.09.tar.gz + provides: + Class::Data::Inheritable 0.09 + requirements: + ExtUtils::MakeMaker 0 + Class-Inspector-1.36 + pathname: P/PL/PLICEASE/Class-Inspector-1.36.tar.gz + provides: + Class::Inspector 1.36 + Class::Inspector::Functions 1.36 + requirements: + ExtUtils::MakeMaker 0 + File::Spec 0.80 + base 0 + perl 5.008 + Class-Load-0.25 + pathname: E/ET/ETHER/Class-Load-0.25.tar.gz + provides: + Class::Load 0.25 + Class::Load::PP 0.25 + requirements: + Carp 0 + Data::OptList 0.110 + Exporter 0 + ExtUtils::MakeMaker 0 + Module::Implementation 0.04 + Module::Runtime 0.012 + Package::Stash 0.14 + Scalar::Util 0 + Try::Tiny 0 + base 0 + perl 5.006 + strict 0 + warnings 0 + Class-Load-XS-0.10 + pathname: E/ET/ETHER/Class-Load-XS-0.10.tar.gz + provides: + Class::Load::XS 0.10 + requirements: + Class::Load 0.20 + ExtUtils::MakeMaker 0 + XSLoader 0 + perl 5.006 + strict 0 + warnings 0 + Class-Method-Modifiers-2.15 + pathname: E/ET/ETHER/Class-Method-Modifiers-2.15.tar.gz + provides: + Class::Method::Modifiers 2.15 + requirements: + B 0 + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 0 + base 0 + perl 5.006 + strict 0 + warnings 0 + Class-Mix-0.006 + pathname: Z/ZE/ZEFRAM/Class-Mix-0.006.tar.gz + provides: + Class::Mix 0.006 + requirements: + Carp 0 + Exporter 0 + Module::Build 0 + Params::Classify 0 + Test::More 0 + constant 0 + if 0 + parent 0 + perl 5.006 + strict 0 + warnings 0 + Class-Singleton-1.6 + pathname: S/SH/SHAY/Class-Singleton-1.6.tar.gz + provides: + Class::Singleton 1.6 + requirements: + ExtUtils::MakeMaker 6.64 + perl 5.008001 + strict 0 + warnings 0 + Class-Tiny-1.008 + pathname: D/DA/DAGOLDEN/Class-Tiny-1.008.tar.gz + provides: + Class::Tiny 1.008 + Class::Tiny::Object 1.008 + requirements: + Carp 0 + ExtUtils::MakeMaker 6.17 + perl 5.006 + strict 0 + warnings 0 + Clone-0.46 + pathname: G/GA/GARU/Clone-0.46.tar.gz + provides: + Clone 0.46 + requirements: + ExtUtils::MakeMaker 0 + Clone-Choose-0.010 + pathname: H/HE/HERMES/Clone-Choose-0.010.tar.gz + provides: + Clone::Choose 0.010 + requirements: + ExtUtils::MakeMaker 0 + Storable 0 + perl 5.008001 + Config-Any-0.33 + pathname: H/HA/HAARG/Config-Any-0.33.tar.gz + provides: + Config::Any 0.33 + Config::Any::Base undef + Config::Any::General undef + Config::Any::INI undef + Config::Any::JSON undef + Config::Any::Perl undef + Config::Any::XML undef + Config::Any::YAML undef + requirements: + Module::Pluggable::Object 3.6 + Config-General-2.65 + pathname: T/TL/TLINDEN/Config-General-2.65.tar.gz + provides: + Config::General 2.65 + Config::General::Extended 2.07 + Config::General::Interpolated 2.16 + requirements: + ExtUtils::MakeMaker 0 + File::Glob 0 + File::Spec::Functions 0 + FileHandle 0 + IO::File 0 + Config-Tiny-2.29 + pathname: R/RS/RSAVAGE/Config-Tiny-2.29.tgz + provides: + Config::Tiny 2.29 + requirements: + ExtUtils::MakeMaker 0 + File::Spec 3.30 + File::Temp 0.22 + Test::More 0.47 + perl 5.008001 + strict 0 + utf8 0 + Cookie-Baker-0.11 + pathname: K/KA/KAZEBURO/Cookie-Baker-0.11.tar.gz + provides: + Cookie::Baker 0.11 + requirements: + Exporter 0 + Module::Build::Tiny 0.035 + URI::Escape 0 + perl 5.008001 + Cpanel-JSON-XS-4.36 + pathname: R/RU/RURBAN/Cpanel-JSON-XS-4.36.tar.gz + provides: + Cpanel::JSON::XS 4.36 + Cpanel::JSON::XS::Type undef + requirements: + Carp 0 + Config 0 + Encode 1.9801 + Exporter 0 + ExtUtils::MakeMaker 0 + Pod::Text 2.08 + XSLoader 0 + overload 0 + strict 0 + warnings 0 + Crypt-Blowfish-2.14 + pathname: D/DP/DPARIS/Crypt-Blowfish-2.14.tar.gz + provides: + Crypt::Blowfish 2.14 + requirements: + ExtUtils::MakeMaker 0 + Crypt-CBC-3.04 + pathname: L/LD/LDS/Crypt-CBC-3.04.tar.gz + provides: + Crypt::CBC 3.04 + Crypt::CBC::PBKDF undef + Crypt::CBC::PBKDF::none undef + Crypt::CBC::PBKDF::opensslv1 undef + Crypt::CBC::PBKDF::opensslv2 undef + Crypt::CBC::PBKDF::pbkdf2 undef + Crypt::CBC::PBKDF::randomiv undef + requirements: + Crypt::Cipher::AES 0 + Crypt::PBKDF2 0 + Digest::MD5 0 + Digest::SHA 0 + ExtUtils::MakeMaker 0 + Crypt-DES-2.07 + pathname: D/DP/DPARIS/Crypt-DES-2.07.tar.gz + provides: + Crypt::DES 2.07 + requirements: + ExtUtils::MakeMaker 0 + Crypt-Eksblowfish-0.009 + pathname: Z/ZE/ZEFRAM/Crypt-Eksblowfish-0.009.tar.gz + provides: + Crypt::Eksblowfish 0.009 + Crypt::Eksblowfish::Bcrypt 0.009 + Crypt::Eksblowfish::Blowfish 0.009 + Crypt::Eksblowfish::Family 0.009 + Crypt::Eksblowfish::Subkeyed 0.009 + Crypt::Eksblowfish::Uklblowfish 0.009 + requirements: + Carp 0 + Class::Mix 0.001 + Exporter 0 + ExtUtils::CBuilder 0.15 + MIME::Base64 2.21 + Module::Build 0 + Test::More 0 + XSLoader 0 + parent 0 + perl 5.006 + strict 0 + warnings 0 + Crypt-MySQL-0.04 + pathname: I/IK/IKEBE/Crypt-MySQL-0.04.tar.gz + provides: + Crypt::MySQL 0.04 + requirements: + Digest::SHA1 0 + ExtUtils::CBuilder 0 + Test::More 0 + Crypt-PBKDF2-0.161520 + pathname: A/AR/ARODLAND/Crypt-PBKDF2-0.161520.tar.gz + provides: + Crypt::PBKDF2 0.161520 + Crypt::PBKDF2::Hash 0.161520 + Crypt::PBKDF2::Hash::DigestHMAC 0.161520 + Crypt::PBKDF2::Hash::HMACSHA1 0.161520 + Crypt::PBKDF2::Hash::HMACSHA2 0.161520 + Crypt::PBKDF2::Hash::HMACSHA3 0.161520 + requirements: + Carp 0 + Digest 1.16 + Digest::HMAC 1.01 + Digest::SHA 0 + Digest::SHA3 0.22 + ExtUtils::MakeMaker 0 + MIME::Base64 0 + Module::Runtime 0 + Moo 2 + Moo::Role 2 + Scalar::Util 0 + Try::Tiny 0.04 + Type::Tiny 0 + Types::Standard 1.000005 + namespace::autoclean 0 + strictures 2 + Crypt-PasswdMD5-1.42 + pathname: R/RS/RSAVAGE/Crypt-PasswdMD5-1.42.tgz + provides: + Crypt::PasswdMD5 1.42 + requirements: + Digest::MD5 2.53 + ExtUtils::MakeMaker 0 + strict 0 + warnings 0 + Crypt-Random-Source-0.14 + pathname: E/ET/ETHER/Crypt-Random-Source-0.14.tar.gz + provides: + Crypt::Random::Source 0.14 + Crypt::Random::Source::Base 0.14 + Crypt::Random::Source::Base::File 0.14 + Crypt::Random::Source::Base::Handle 0.14 + Crypt::Random::Source::Base::Proc 0.14 + Crypt::Random::Source::Base::RandomDevice 0.14 + Crypt::Random::Source::Factory 0.14 + Crypt::Random::Source::Strong 0.14 + Crypt::Random::Source::Strong::devrandom 0.14 + Crypt::Random::Source::Weak 0.14 + Crypt::Random::Source::Weak::devurandom 0.14 + requirements: + Capture::Tiny 0.08 + Carp 0 + ExtUtils::MakeMaker 0 + File::Spec 0 + IO::File 1.14 + IO::Handle 0 + Module::Build::Tiny 0.034 + Module::Find 0 + Module::Runtime 0 + Moo 1.002000 + Sub::Exporter 0 + Types::Standard 0 + namespace::clean 0.11 + perl 5.008 + strict 0 + warnings 0 + Crypt-Rijndael-1.16 + pathname: L/LE/LEONT/Crypt-Rijndael-1.16.tar.gz + provides: + Crypt::Rijndael 1.16 + requirements: + ExtUtils::MakeMaker 0 + perl 5.006 + Crypt-UnixCrypt_XS-0.11 + pathname: B/BO/BORISZ/Crypt-UnixCrypt_XS-0.11.tar.gz + provides: + Crypt::UnixCrypt_XS 0.11 + requirements: + ExtUtils::MakeMaker 0 + CryptX-0.078 + pathname: M/MI/MIK/CryptX-0.078.tar.gz + provides: + Crypt::AuthEnc 0.078 + Crypt::AuthEnc::CCM 0.078 + Crypt::AuthEnc::ChaCha20Poly1305 0.078 + Crypt::AuthEnc::EAX 0.078 + Crypt::AuthEnc::GCM 0.078 + Crypt::AuthEnc::OCB 0.078 + Crypt::Checksum 0.078 + Crypt::Checksum::Adler32 0.078 + Crypt::Checksum::CRC32 0.078 + Crypt::Cipher 0.078 + Crypt::Cipher::AES 0.078 + Crypt::Cipher::Anubis 0.078 + Crypt::Cipher::Blowfish 0.078 + Crypt::Cipher::CAST5 0.078 + Crypt::Cipher::Camellia 0.078 + Crypt::Cipher::DES 0.078 + Crypt::Cipher::DES_EDE 0.078 + Crypt::Cipher::IDEA 0.078 + Crypt::Cipher::KASUMI 0.078 + Crypt::Cipher::Khazad 0.078 + Crypt::Cipher::MULTI2 0.078 + Crypt::Cipher::Noekeon 0.078 + Crypt::Cipher::RC2 0.078 + Crypt::Cipher::RC5 0.078 + Crypt::Cipher::RC6 0.078 + Crypt::Cipher::SAFERP 0.078 + Crypt::Cipher::SAFER_K128 0.078 + Crypt::Cipher::SAFER_K64 0.078 + Crypt::Cipher::SAFER_SK128 0.078 + Crypt::Cipher::SAFER_SK64 0.078 + Crypt::Cipher::SEED 0.078 + Crypt::Cipher::Serpent 0.078 + Crypt::Cipher::Skipjack 0.078 + Crypt::Cipher::Twofish 0.078 + Crypt::Cipher::XTEA 0.078 + Crypt::Digest 0.078 + Crypt::Digest::BLAKE2b_160 0.078 + Crypt::Digest::BLAKE2b_256 0.078 + Crypt::Digest::BLAKE2b_384 0.078 + Crypt::Digest::BLAKE2b_512 0.078 + Crypt::Digest::BLAKE2s_128 0.078 + Crypt::Digest::BLAKE2s_160 0.078 + Crypt::Digest::BLAKE2s_224 0.078 + Crypt::Digest::BLAKE2s_256 0.078 + Crypt::Digest::CHAES 0.078 + Crypt::Digest::Keccak224 0.078 + Crypt::Digest::Keccak256 0.078 + Crypt::Digest::Keccak384 0.078 + Crypt::Digest::Keccak512 0.078 + Crypt::Digest::MD2 0.078 + Crypt::Digest::MD4 0.078 + Crypt::Digest::MD5 0.078 + Crypt::Digest::RIPEMD128 0.078 + Crypt::Digest::RIPEMD160 0.078 + Crypt::Digest::RIPEMD256 0.078 + Crypt::Digest::RIPEMD320 0.078 + Crypt::Digest::SHA1 0.078 + Crypt::Digest::SHA224 0.078 + Crypt::Digest::SHA256 0.078 + Crypt::Digest::SHA384 0.078 + Crypt::Digest::SHA3_224 0.078 + Crypt::Digest::SHA3_256 0.078 + Crypt::Digest::SHA3_384 0.078 + Crypt::Digest::SHA3_512 0.078 + Crypt::Digest::SHA512 0.078 + Crypt::Digest::SHA512_224 0.078 + Crypt::Digest::SHA512_256 0.078 + Crypt::Digest::SHAKE 0.078 + Crypt::Digest::Tiger192 0.078 + Crypt::Digest::Whirlpool 0.078 + Crypt::KeyDerivation 0.078 + Crypt::Mac 0.078 + Crypt::Mac::BLAKE2b 0.078 + Crypt::Mac::BLAKE2s 0.078 + Crypt::Mac::F9 0.078 + Crypt::Mac::HMAC 0.078 + Crypt::Mac::OMAC 0.078 + Crypt::Mac::PMAC 0.078 + Crypt::Mac::Pelican 0.078 + Crypt::Mac::Poly1305 0.078 + Crypt::Mac::XCBC 0.078 + Crypt::Misc 0.078 + Crypt::Mode 0.078 + Crypt::Mode::CBC 0.078 + Crypt::Mode::CFB 0.078 + Crypt::Mode::CTR 0.078 + Crypt::Mode::ECB 0.078 + Crypt::Mode::OFB 0.078 + Crypt::PK 0.078 + Crypt::PK::DH 0.078 + Crypt::PK::DSA 0.078 + Crypt::PK::ECC 0.078 + Crypt::PK::Ed25519 0.078 + Crypt::PK::RSA 0.078 + Crypt::PK::X25519 0.078 + Crypt::PRNG 0.078 + Crypt::PRNG::ChaCha20 0.078 + Crypt::PRNG::Fortuna 0.078 + Crypt::PRNG::RC4 0.078 + Crypt::PRNG::Sober128 0.078 + Crypt::PRNG::Yarrow 0.078 + Crypt::Stream::ChaCha 0.078 + Crypt::Stream::RC4 0.078 + Crypt::Stream::Rabbit 0.078 + Crypt::Stream::Salsa20 0.078 + Crypt::Stream::Sober128 0.078 + Crypt::Stream::Sosemanuk 0.078 + CryptX 0.078 + Math::BigInt::LTM 0.078 + requirements: + ExtUtils::MakeMaker 0 + Math::BigInt 0 + perl 5.006 + DBD-Pg-3.16.3 + pathname: T/TU/TURNSTEP/DBD-Pg-3.16.3.tar.gz + provides: + Bundle::DBD::Pg v3.16.3 + DBD::Pg v3.16.3 + requirements: + DBI 1.614 + ExtUtils::MakeMaker 6.58 + File::Temp 0 + Test::More 0.88 + Time::HiRes 0 + version 0 + DBI-1.643 + pathname: T/TI/TIMB/DBI-1.643.tar.gz + provides: + Bundle::DBI 12.008696 + DBD::DBM 0.08 + DBD::DBM::Statement 0.08 + DBD::DBM::Table 0.08 + DBD::DBM::db 0.08 + DBD::DBM::dr 0.08 + DBD::DBM::st 0.08 + DBD::ExampleP 12.014311 + DBD::ExampleP::db 12.014311 + DBD::ExampleP::dr 12.014311 + DBD::ExampleP::st 12.014311 + DBD::File 0.44 + DBD::File::DataSource::File 0.44 + DBD::File::DataSource::Stream 0.44 + DBD::File::Statement 0.44 + DBD::File::Table 0.44 + DBD::File::TableSource::FileSystem 0.44 + DBD::File::db 0.44 + DBD::File::dr 0.44 + DBD::File::st 0.44 + DBD::Gofer 0.015327 + DBD::Gofer::Policy::Base 0.010088 + DBD::Gofer::Policy::classic 0.010088 + DBD::Gofer::Policy::pedantic 0.010088 + DBD::Gofer::Policy::rush 0.010088 + DBD::Gofer::Transport::Base 0.014121 + DBD::Gofer::Transport::corostream undef + DBD::Gofer::Transport::null 0.010088 + DBD::Gofer::Transport::pipeone 0.010088 + DBD::Gofer::Transport::stream 0.014599 + DBD::Gofer::db 0.015327 + DBD::Gofer::dr 0.015327 + DBD::Gofer::st 0.015327 + DBD::Mem 0.001 + DBD::Mem::DataSource 0.001 + DBD::Mem::Statement 0.001 + DBD::Mem::Table 0.001 + DBD::Mem::db 0.001 + DBD::Mem::dr 0.001 + DBD::Mem::st 0.001 + DBD::NullP 12.014715 + DBD::NullP::db 12.014715 + DBD::NullP::dr 12.014715 + DBD::NullP::st 12.014715 + DBD::Proxy 0.2004 + DBD::Proxy::RPC::PlClient 0.2004 + DBD::Proxy::db 0.2004 + DBD::Proxy::dr 0.2004 + DBD::Proxy::st 0.2004 + DBD::Sponge 12.010003 + DBD::Sponge::db 12.010003 + DBD::Sponge::dr 12.010003 + DBD::Sponge::st 12.010003 + DBDI 12.015129 + DBI 1.643 + DBI::Const::GetInfo::ANSI 2.008697 + DBI::Const::GetInfo::ODBC 2.011374 + DBI::Const::GetInfoReturn 2.008697 + DBI::Const::GetInfoType 2.008697 + DBI::DBD 12.015129 + DBI::DBD::Metadata 2.014214 + DBI::DBD::SqlEngine 0.06 + DBI::DBD::SqlEngine::DataSource 0.06 + DBI::DBD::SqlEngine::Statement 0.06 + DBI::DBD::SqlEngine::Table 0.06 + DBI::DBD::SqlEngine::TableSource 0.06 + DBI::DBD::SqlEngine::TieMeta 0.06 + DBI::DBD::SqlEngine::TieTables 0.06 + DBI::DBD::SqlEngine::db 0.06 + DBI::DBD::SqlEngine::dr 0.06 + DBI::DBD::SqlEngine::st 0.06 + DBI::Gofer::Execute 0.014283 + DBI::Gofer::Request 0.012537 + DBI::Gofer::Response 0.011566 + DBI::Gofer::Serializer::Base 0.009950 + DBI::Gofer::Serializer::DataDumper 0.009950 + DBI::Gofer::Serializer::Storable 0.015586 + DBI::Gofer::Transport::Base 0.012537 + DBI::Gofer::Transport::pipeone 0.012537 + DBI::Gofer::Transport::stream 0.012537 + DBI::Profile 2.015065 + DBI::ProfileData 2.010008 + DBI::ProfileDumper 2.015325 + DBI::ProfileDumper::Apache 2.014121 + DBI::ProfileSubs 0.009396 + DBI::ProxyServer 0.3005 + DBI::ProxyServer::db 0.3005 + DBI::ProxyServer::dr 0.3005 + DBI::ProxyServer::st 0.3005 + DBI::SQL::Nano 1.015544 + DBI::SQL::Nano::Statement_ 1.015544 + DBI::SQL::Nano::Table_ 1.015544 + DBI::Util::CacheMemory 0.010315 + DBI::Util::_accessor 0.009479 + DBI::common 1.643 + requirements: + ExtUtils::MakeMaker 6.48 + Test::Simple 0.90 + perl 5.008001 + DBIx-Connector-0.58 + pathname: A/AR/ARISTOTLE/DBIx-Connector-0.58.tar.gz + provides: + DBIx::Connector 0.58 + DBIx::Connector::Driver 0.58 + DBIx::Connector::Driver::Firebird 0.58 + DBIx::Connector::Driver::MSSQL 0.58 + DBIx::Connector::Driver::Oracle 0.58 + DBIx::Connector::Driver::Pg 0.58 + DBIx::Connector::Driver::SQLite 0.58 + DBIx::Connector::Driver::mysql 0.58 + DBIx::Connector::RollbackError 0.58 + DBIx::Connector::SvpRollbackError 0.58 + DBIx::Connector::TxnRollbackError 0.58 + requirements: + DBI 1.605 + perl 5.008001 + Data-Clone-0.004 + pathname: G/GF/GFUJI/Data-Clone-0.004.tar.gz + provides: + Data::Clone 0.004 + requirements: + Devel::PPPort 3.19 + ExtUtils::MakeMaker 6.59 + ExtUtils::ParseXS 3.18 + Test::More 0.88 + Test::Requires 0.03 + XSLoader 0.02 + parent 0 + perl 5.008001 + Data-Compare-1.29 + pathname: D/DC/DCANTRELL/Data-Compare-1.29.tar.gz + provides: + Data::Compare 1.29 + Data::Compare::Plugins::Scalar::Properties 1.25 + requirements: + Clone 0.43 + ExtUtils::MakeMaker 6.48 + File::Find::Rule 0.1 + Scalar::Util 0 + Test::More 0.88 + perl 5.006 + Data-Dump-1.25 + pathname: G/GA/GARU/Data-Dump-1.25.tar.gz + provides: + Data::Dump 1.25 + Data::Dump::FilterContext undef + Data::Dump::Filtered undef + Data::Dump::Trace 0.02 + Data::Dump::Trace::Call 0.02 + Data::Dump::Trace::Wrapper 0.02 + requirements: + ExtUtils::MakeMaker 0 + Symbol 0 + Test 0 + perl 5.006 + Data-Dumper-Concise-2.023 + pathname: E/ET/ETHER/Data-Dumper-Concise-2.023.tar.gz + provides: + Data::Dumper::Concise 2.023 + Data::Dumper::Concise::Sugar 2.023 + Devel::Dwarn undef + requirements: + Data::Dumper 0 + Exporter 0 + ExtUtils::MakeMaker 0 + perl 5.006 + Data-Entropy-0.007 + pathname: Z/ZE/ZEFRAM/Data-Entropy-0.007.tar.gz + provides: + Data::Entropy 0.007 + Data::Entropy::Algorithms 0.007 + Data::Entropy::RawSource::CryptCounter 0.007 + Data::Entropy::RawSource::Local 0.007 + Data::Entropy::RawSource::RandomOrg 0.007 + Data::Entropy::RawSource::RandomnumbersInfo 0.007 + Data::Entropy::Source 0.007 + requirements: + Carp 0 + Crypt::Rijndael 0 + Data::Float 0.008 + Errno 1.00 + Exporter 0 + HTTP::Lite 2.2 + IO::File 1.03 + Module::Build 0 + Params::Classify 0 + Test::More 0 + constant 0 + integer 0 + parent 0 + perl 5.006 + strict 0 + warnings 0 + Data-Float-0.013 + pathname: Z/ZE/ZEFRAM/Data-Float-0.013.tar.gz + provides: + Data::Float 0.013 + requirements: + Carp 0 + Exporter 0 + Module::Build 0 + Test::More 0 + constant 0 + integer 0 + parent 0 + perl 5.006 + strict 0 + warnings 0 + Data-Integer-0.006 + pathname: Z/ZE/ZEFRAM/Data-Integer-0.006.tar.gz + provides: + Data::Integer 0.006 + requirements: + Carp 0 + Exporter 0 + Module::Build 0 + Test::More 0 + constant 0 + integer 0 + parent 0 + perl 5.006 + strict 0 + warnings 0 + Data-OptList-0.114 + pathname: R/RJ/RJBS/Data-OptList-0.114.tar.gz + provides: + Data::OptList 0.114 + requirements: + ExtUtils::MakeMaker 6.78 + List::Util 0 + Params::Util 0 + Sub::Install 0.921 + perl 5.012 + strict 0 + warnings 0 + Data-Page-2.03 + pathname: E/ET/ETHER/Data-Page-2.03.tar.gz + provides: + Data::Page 2.03 + requirements: + Carp 0 + Class::Accessor::Chained::Fast 0 + ExtUtils::MakeMaker 0 + base 0 + integer 0 + perl 5.006 + strict 0 + Data-UUID-1.226 + pathname: R/RJ/RJBS/Data-UUID-1.226.tar.gz + provides: + Data::UUID 1.226 + requirements: + Digest::MD5 0 + ExtUtils::MakeMaker 0 + Data-UUID-MT-1.001 + pathname: D/DA/DAGOLDEN/Data-UUID-MT-1.001.tar.gz + provides: + Data::UUID::MT 1.001 + requirements: + Config 0 + ExtUtils::MakeMaker 6.30 + Math::Random::MT::Auto 0 + Scalar::Util 1.10 + Time::HiRes 0 + strict 0 + warnings 0 + Data-Visitor-0.32 + pathname: E/ET/ETHER/Data-Visitor-0.32.tar.gz + provides: + Data::Visitor 0.32 + Data::Visitor::Callback 0.32 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + Moose 0.89 + Scalar::Util 0 + Symbol 0 + Tie::ToObject 0.01 + constant 0 + namespace::clean 0.19 + overload 0 + perl 5.006 + strict 0 + warnings 0 + Date-Calc-6.4 + pathname: S/ST/STBEY/Date-Calc-6.4.tar.gz + provides: + Date::Calc 6.4 + Date::Calc::Object 6.4 + Date::Calc::PP 6.4 + Date::Calendar 6.4 + Date::Calendar::Profiles 6.4 + Date::Calendar::Year 6.4 + requirements: + Bit::Vector 7.4 + Carp::Clan 6.04 + ExtUtils::MakeMaker 0 + DateTime-1.59 + pathname: D/DR/DROLSKY/DateTime-1.59.tar.gz + provides: + DateTime 1.59 + DateTime::Duration 1.59 + DateTime::Helpers 1.59 + DateTime::Infinite 1.59 + DateTime::Infinite::Future 1.59 + DateTime::Infinite::Past 1.59 + DateTime::LeapSecond 1.59 + DateTime::PP 1.59 + DateTime::PPExtra 1.59 + DateTime::Types 1.59 + requirements: + Carp 0 + DateTime::Locale 1.06 + DateTime::TimeZone 2.44 + Dist::CheckConflicts 0.02 + ExtUtils::MakeMaker 0 + POSIX 0 + Params::ValidationCompiler 0.26 + Scalar::Util 0 + Specio 0.18 + Specio::Declare 0 + Specio::Exporter 0 + Specio::Library::Builtins 0 + Specio::Library::Numeric 0 + Specio::Library::String 0 + Specio::Subs 0 + Try::Tiny 0 + XSLoader 0 + integer 0 + namespace::autoclean 0.19 + overload 0 + parent 0 + perl 5.008004 + strict 0 + warnings 0 + warnings::register 0 + DateTime-Format-Builder-0.83 + pathname: D/DR/DROLSKY/DateTime-Format-Builder-0.83.tar.gz + provides: + DateTime::Format::Builder 0.83 + DateTime::Format::Builder::Parser 0.83 + DateTime::Format::Builder::Parser::Dispatch 0.83 + DateTime::Format::Builder::Parser::Quick 0.83 + DateTime::Format::Builder::Parser::Regex 0.83 + DateTime::Format::Builder::Parser::Strptime 0.83 + DateTime::Format::Builder::Parser::generic 0.83 + requirements: + Carp 0 + DateTime 1.00 + DateTime::Format::Strptime 1.04 + ExtUtils::MakeMaker 0 + Params::Validate 0.72 + Scalar::Util 0 + parent 0 + strict 0 + warnings 0 + DateTime-Format-Duration-1.04 + pathname: E/ET/ETHER/DateTime-Format-Duration-1.04.tar.gz + provides: + DateTime::Format::Duration 1.04 + requirements: + Carp 0 + Data::Dumper 0 + DateTime::Duration 0 + Exporter 0 + ExtUtils::MakeMaker 0 + Params::Validate 0 + constant 0 + perl 5.006 + strict 0 + DateTime-Format-ISO8601-0.16 + pathname: D/DR/DROLSKY/DateTime-Format-ISO8601-0.16.tar.gz + provides: + DateTime::Format::ISO8601 0.16 + DateTime::Format::ISO8601::Types 0.16 + requirements: + Carp 0 + DateTime 1.45 + DateTime::Format::Builder 0.77 + ExtUtils::MakeMaker 0 + Params::ValidationCompiler 0.26 + Specio 0.18 + Specio::Declare 0 + Specio::Exporter 0 + Specio::Library::Builtins 0 + namespace::autoclean 0 + parent 0 + strict 0 + warnings 0 + DateTime-Format-Natural-1.16 + pathname: S/SC/SCHUBIGER/DateTime-Format-Natural-1.16.tar.gz + provides: + DateTime::Format::Natural 1.16 + DateTime::Format::Natural::Calc 1.46 + DateTime::Format::Natural::Compat 0.07 + DateTime::Format::Natural::Duration 0.07 + DateTime::Format::Natural::Duration::Checks 0.05 + DateTime::Format::Natural::Expand 0.04 + DateTime::Format::Natural::Extract 0.13 + DateTime::Format::Natural::Formatted 0.12 + DateTime::Format::Natural::Helpers 0.06 + DateTime::Format::Natural::Lang::Base 1.08 + DateTime::Format::Natural::Lang::EN 1.72 + DateTime::Format::Natural::Rewrite 0.07 + DateTime::Format::Natural::Test 0.12 + DateTime::Format::Natural::Utils 0.08 + DateTime::Format::Natural::Wrappers 0.03 + requirements: + Carp 0 + Clone 0 + DateTime 0 + DateTime::HiRes 0 + DateTime::TimeZone 0 + Exporter 0 + Getopt::Long 0 + List::MoreUtils 0 + Params::Validate 1.15 + Scalar::Util 0 + Storable 0 + Term::ReadLine 0 + boolean 0 + DateTime-Format-Pg-0.16014 + pathname: D/DM/DMAKI/DateTime-Format-Pg-0.16014.tar.gz + provides: + DateTime::Format::Pg 0.16014 + requirements: + DateTime 0.10 + DateTime::Format::Builder 0.72 + DateTime::TimeZone 0.05 + ExtUtils::MakeMaker 6.36 + Module::Build::Tiny 0.035 + Test::More 0 + DateTime-Format-Strptime-1.79 + pathname: D/DR/DROLSKY/DateTime-Format-Strptime-1.79.tar.gz + provides: + DateTime::Format::Strptime 1.79 + DateTime::Format::Strptime::Types 1.79 + requirements: + Carp 0 + DateTime 1.00 + DateTime::Locale 1.30 + DateTime::Locale::Base 0 + DateTime::Locale::FromData 0 + DateTime::TimeZone 2.09 + Exporter 0 + ExtUtils::MakeMaker 0 + Params::ValidationCompiler 0 + Specio 0.33 + Specio::Declare 0 + Specio::Exporter 0 + Specio::Library::Builtins 0 + Specio::Library::String 0 + Try::Tiny 0 + constant 0 + parent 0 + strict 0 + warnings 0 + DateTime-Format-W3CDTF-0.08 + pathname: G/GW/GWILLIAMS/DateTime-Format-W3CDTF-0.08.tar.gz + provides: + DateTime::Format::W3CDTF 0.08 + requirements: + DateTime 0 + ExtUtils::MakeMaker 6.59 + Test::More 0.61 + perl 5.008 + DateTime-HiRes-0.04 + pathname: D/DR/DROLSKY/DateTime-HiRes-0.04.tar.gz + provides: + DateTime::HiRes 0.04 + requirements: + DateTime 0 + ExtUtils::MakeMaker 0 + Time::HiRes 0 + strict 0 + warnings 0 + DateTime-Locale-1.39 + pathname: D/DR/DROLSKY/DateTime-Locale-1.39.tar.gz + provides: + DateTime::Locale 1.39 + DateTime::Locale::Base 1.39 + DateTime::Locale::Catalog 1.39 + DateTime::Locale::Data 1.39 + DateTime::Locale::FromData 1.39 + DateTime::Locale::Util 1.39 + requirements: + Carp 0 + Dist::CheckConflicts 0.02 + Exporter 0 + ExtUtils::MakeMaker 0 + File::ShareDir 0 + File::ShareDir::Install 0.06 + File::Spec 0 + List::Util 1.45 + Params::ValidationCompiler 0.13 + Specio::Declare 0 + Specio::Library::String 0 + Storable 0 + namespace::autoclean 0.19 + perl 5.008004 + strict 0 + warnings 0 + DateTime-TimeZone-2.60 + pathname: D/DR/DROLSKY/DateTime-TimeZone-2.60.tar.gz + provides: + DateTime::TimeZone 2.60 + DateTime::TimeZone::Africa::Abidjan 2.60 + DateTime::TimeZone::Africa::Algiers 2.60 + DateTime::TimeZone::Africa::Bissau 2.60 + DateTime::TimeZone::Africa::Cairo 2.60 + DateTime::TimeZone::Africa::Casablanca 2.60 + DateTime::TimeZone::Africa::Ceuta 2.60 + DateTime::TimeZone::Africa::El_Aaiun 2.60 + DateTime::TimeZone::Africa::Johannesburg 2.60 + DateTime::TimeZone::Africa::Juba 2.60 + DateTime::TimeZone::Africa::Khartoum 2.60 + DateTime::TimeZone::Africa::Lagos 2.60 + DateTime::TimeZone::Africa::Maputo 2.60 + DateTime::TimeZone::Africa::Monrovia 2.60 + DateTime::TimeZone::Africa::Nairobi 2.60 + DateTime::TimeZone::Africa::Ndjamena 2.60 + DateTime::TimeZone::Africa::Sao_Tome 2.60 + DateTime::TimeZone::Africa::Tripoli 2.60 + DateTime::TimeZone::Africa::Tunis 2.60 + DateTime::TimeZone::Africa::Windhoek 2.60 + DateTime::TimeZone::America::Adak 2.60 + DateTime::TimeZone::America::Anchorage 2.60 + DateTime::TimeZone::America::Araguaina 2.60 + DateTime::TimeZone::America::Argentina::Buenos_Aires 2.60 + DateTime::TimeZone::America::Argentina::Catamarca 2.60 + DateTime::TimeZone::America::Argentina::Cordoba 2.60 + DateTime::TimeZone::America::Argentina::Jujuy 2.60 + DateTime::TimeZone::America::Argentina::La_Rioja 2.60 + DateTime::TimeZone::America::Argentina::Mendoza 2.60 + DateTime::TimeZone::America::Argentina::Rio_Gallegos 2.60 + DateTime::TimeZone::America::Argentina::Salta 2.60 + DateTime::TimeZone::America::Argentina::San_Juan 2.60 + DateTime::TimeZone::America::Argentina::San_Luis 2.60 + DateTime::TimeZone::America::Argentina::Tucuman 2.60 + DateTime::TimeZone::America::Argentina::Ushuaia 2.60 + DateTime::TimeZone::America::Asuncion 2.60 + DateTime::TimeZone::America::Bahia 2.60 + DateTime::TimeZone::America::Bahia_Banderas 2.60 + DateTime::TimeZone::America::Barbados 2.60 + DateTime::TimeZone::America::Belem 2.60 + DateTime::TimeZone::America::Belize 2.60 + DateTime::TimeZone::America::Boa_Vista 2.60 + DateTime::TimeZone::America::Bogota 2.60 + DateTime::TimeZone::America::Boise 2.60 + DateTime::TimeZone::America::Cambridge_Bay 2.60 + DateTime::TimeZone::America::Campo_Grande 2.60 + DateTime::TimeZone::America::Cancun 2.60 + DateTime::TimeZone::America::Caracas 2.60 + DateTime::TimeZone::America::Cayenne 2.60 + DateTime::TimeZone::America::Chicago 2.60 + DateTime::TimeZone::America::Chihuahua 2.60 + DateTime::TimeZone::America::Ciudad_Juarez 2.60 + DateTime::TimeZone::America::Costa_Rica 2.60 + DateTime::TimeZone::America::Cuiaba 2.60 + DateTime::TimeZone::America::Danmarkshavn 2.60 + DateTime::TimeZone::America::Dawson 2.60 + DateTime::TimeZone::America::Dawson_Creek 2.60 + DateTime::TimeZone::America::Denver 2.60 + DateTime::TimeZone::America::Detroit 2.60 + DateTime::TimeZone::America::Edmonton 2.60 + DateTime::TimeZone::America::Eirunepe 2.60 + DateTime::TimeZone::America::El_Salvador 2.60 + DateTime::TimeZone::America::Fort_Nelson 2.60 + DateTime::TimeZone::America::Fortaleza 2.60 + DateTime::TimeZone::America::Glace_Bay 2.60 + DateTime::TimeZone::America::Goose_Bay 2.60 + DateTime::TimeZone::America::Grand_Turk 2.60 + DateTime::TimeZone::America::Guatemala 2.60 + DateTime::TimeZone::America::Guayaquil 2.60 + DateTime::TimeZone::America::Guyana 2.60 + DateTime::TimeZone::America::Halifax 2.60 + DateTime::TimeZone::America::Havana 2.60 + DateTime::TimeZone::America::Hermosillo 2.60 + DateTime::TimeZone::America::Indiana::Indianapolis 2.60 + DateTime::TimeZone::America::Indiana::Knox 2.60 + DateTime::TimeZone::America::Indiana::Marengo 2.60 + DateTime::TimeZone::America::Indiana::Petersburg 2.60 + DateTime::TimeZone::America::Indiana::Tell_City 2.60 + DateTime::TimeZone::America::Indiana::Vevay 2.60 + DateTime::TimeZone::America::Indiana::Vincennes 2.60 + DateTime::TimeZone::America::Indiana::Winamac 2.60 + DateTime::TimeZone::America::Inuvik 2.60 + DateTime::TimeZone::America::Iqaluit 2.60 + DateTime::TimeZone::America::Jamaica 2.60 + DateTime::TimeZone::America::Juneau 2.60 + DateTime::TimeZone::America::Kentucky::Louisville 2.60 + DateTime::TimeZone::America::Kentucky::Monticello 2.60 + DateTime::TimeZone::America::La_Paz 2.60 + DateTime::TimeZone::America::Lima 2.60 + DateTime::TimeZone::America::Los_Angeles 2.60 + DateTime::TimeZone::America::Maceio 2.60 + DateTime::TimeZone::America::Managua 2.60 + DateTime::TimeZone::America::Manaus 2.60 + DateTime::TimeZone::America::Martinique 2.60 + DateTime::TimeZone::America::Matamoros 2.60 + DateTime::TimeZone::America::Mazatlan 2.60 + DateTime::TimeZone::America::Menominee 2.60 + DateTime::TimeZone::America::Merida 2.60 + DateTime::TimeZone::America::Metlakatla 2.60 + DateTime::TimeZone::America::Mexico_City 2.60 + DateTime::TimeZone::America::Miquelon 2.60 + DateTime::TimeZone::America::Moncton 2.60 + DateTime::TimeZone::America::Monterrey 2.60 + DateTime::TimeZone::America::Montevideo 2.60 + DateTime::TimeZone::America::New_York 2.60 + DateTime::TimeZone::America::Nome 2.60 + DateTime::TimeZone::America::Noronha 2.60 + DateTime::TimeZone::America::North_Dakota::Beulah 2.60 + DateTime::TimeZone::America::North_Dakota::Center 2.60 + DateTime::TimeZone::America::North_Dakota::New_Salem 2.60 + DateTime::TimeZone::America::Nuuk 2.60 + DateTime::TimeZone::America::Ojinaga 2.60 + DateTime::TimeZone::America::Panama 2.60 + DateTime::TimeZone::America::Paramaribo 2.60 + DateTime::TimeZone::America::Phoenix 2.60 + DateTime::TimeZone::America::Port_au_Prince 2.60 + DateTime::TimeZone::America::Porto_Velho 2.60 + DateTime::TimeZone::America::Puerto_Rico 2.60 + DateTime::TimeZone::America::Punta_Arenas 2.60 + DateTime::TimeZone::America::Rankin_Inlet 2.60 + DateTime::TimeZone::America::Recife 2.60 + DateTime::TimeZone::America::Regina 2.60 + DateTime::TimeZone::America::Resolute 2.60 + DateTime::TimeZone::America::Rio_Branco 2.60 + DateTime::TimeZone::America::Santarem 2.60 + DateTime::TimeZone::America::Santiago 2.60 + DateTime::TimeZone::America::Santo_Domingo 2.60 + DateTime::TimeZone::America::Sao_Paulo 2.60 + DateTime::TimeZone::America::Scoresbysund 2.60 + DateTime::TimeZone::America::Sitka 2.60 + DateTime::TimeZone::America::St_Johns 2.60 + DateTime::TimeZone::America::Swift_Current 2.60 + DateTime::TimeZone::America::Tegucigalpa 2.60 + DateTime::TimeZone::America::Thule 2.60 + DateTime::TimeZone::America::Tijuana 2.60 + DateTime::TimeZone::America::Toronto 2.60 + DateTime::TimeZone::America::Vancouver 2.60 + DateTime::TimeZone::America::Whitehorse 2.60 + DateTime::TimeZone::America::Winnipeg 2.60 + DateTime::TimeZone::America::Yakutat 2.60 + DateTime::TimeZone::Antarctica::Casey 2.60 + DateTime::TimeZone::Antarctica::Davis 2.60 + DateTime::TimeZone::Antarctica::Macquarie 2.60 + DateTime::TimeZone::Antarctica::Mawson 2.60 + DateTime::TimeZone::Antarctica::Palmer 2.60 + DateTime::TimeZone::Antarctica::Rothera 2.60 + DateTime::TimeZone::Antarctica::Troll 2.60 + DateTime::TimeZone::Asia::Almaty 2.60 + DateTime::TimeZone::Asia::Amman 2.60 + DateTime::TimeZone::Asia::Anadyr 2.60 + DateTime::TimeZone::Asia::Aqtau 2.60 + DateTime::TimeZone::Asia::Aqtobe 2.60 + DateTime::TimeZone::Asia::Ashgabat 2.60 + DateTime::TimeZone::Asia::Atyrau 2.60 + DateTime::TimeZone::Asia::Baghdad 2.60 + DateTime::TimeZone::Asia::Baku 2.60 + DateTime::TimeZone::Asia::Bangkok 2.60 + DateTime::TimeZone::Asia::Barnaul 2.60 + DateTime::TimeZone::Asia::Beirut 2.60 + DateTime::TimeZone::Asia::Bishkek 2.60 + DateTime::TimeZone::Asia::Chita 2.60 + DateTime::TimeZone::Asia::Choibalsan 2.60 + DateTime::TimeZone::Asia::Colombo 2.60 + DateTime::TimeZone::Asia::Damascus 2.60 + DateTime::TimeZone::Asia::Dhaka 2.60 + DateTime::TimeZone::Asia::Dili 2.60 + DateTime::TimeZone::Asia::Dubai 2.60 + DateTime::TimeZone::Asia::Dushanbe 2.60 + DateTime::TimeZone::Asia::Famagusta 2.60 + DateTime::TimeZone::Asia::Gaza 2.60 + DateTime::TimeZone::Asia::Hebron 2.60 + DateTime::TimeZone::Asia::Ho_Chi_Minh 2.60 + DateTime::TimeZone::Asia::Hong_Kong 2.60 + DateTime::TimeZone::Asia::Hovd 2.60 + DateTime::TimeZone::Asia::Irkutsk 2.60 + DateTime::TimeZone::Asia::Jakarta 2.60 + DateTime::TimeZone::Asia::Jayapura 2.60 + DateTime::TimeZone::Asia::Jerusalem 2.60 + DateTime::TimeZone::Asia::Kabul 2.60 + DateTime::TimeZone::Asia::Kamchatka 2.60 + DateTime::TimeZone::Asia::Karachi 2.60 + DateTime::TimeZone::Asia::Kathmandu 2.60 + DateTime::TimeZone::Asia::Khandyga 2.60 + DateTime::TimeZone::Asia::Kolkata 2.60 + DateTime::TimeZone::Asia::Krasnoyarsk 2.60 + DateTime::TimeZone::Asia::Kuching 2.60 + DateTime::TimeZone::Asia::Macau 2.60 + DateTime::TimeZone::Asia::Magadan 2.60 + DateTime::TimeZone::Asia::Makassar 2.60 + DateTime::TimeZone::Asia::Manila 2.60 + DateTime::TimeZone::Asia::Nicosia 2.60 + DateTime::TimeZone::Asia::Novokuznetsk 2.60 + DateTime::TimeZone::Asia::Novosibirsk 2.60 + DateTime::TimeZone::Asia::Omsk 2.60 + DateTime::TimeZone::Asia::Oral 2.60 + DateTime::TimeZone::Asia::Pontianak 2.60 + DateTime::TimeZone::Asia::Pyongyang 2.60 + DateTime::TimeZone::Asia::Qatar 2.60 + DateTime::TimeZone::Asia::Qostanay 2.60 + DateTime::TimeZone::Asia::Qyzylorda 2.60 + DateTime::TimeZone::Asia::Riyadh 2.60 + DateTime::TimeZone::Asia::Sakhalin 2.60 + DateTime::TimeZone::Asia::Samarkand 2.60 + DateTime::TimeZone::Asia::Seoul 2.60 + DateTime::TimeZone::Asia::Shanghai 2.60 + DateTime::TimeZone::Asia::Singapore 2.60 + DateTime::TimeZone::Asia::Srednekolymsk 2.60 + DateTime::TimeZone::Asia::Taipei 2.60 + DateTime::TimeZone::Asia::Tashkent 2.60 + DateTime::TimeZone::Asia::Tbilisi 2.60 + DateTime::TimeZone::Asia::Tehran 2.60 + DateTime::TimeZone::Asia::Thimphu 2.60 + DateTime::TimeZone::Asia::Tokyo 2.60 + DateTime::TimeZone::Asia::Tomsk 2.60 + DateTime::TimeZone::Asia::Ulaanbaatar 2.60 + DateTime::TimeZone::Asia::Urumqi 2.60 + DateTime::TimeZone::Asia::Ust_Nera 2.60 + DateTime::TimeZone::Asia::Vladivostok 2.60 + DateTime::TimeZone::Asia::Yakutsk 2.60 + DateTime::TimeZone::Asia::Yangon 2.60 + DateTime::TimeZone::Asia::Yekaterinburg 2.60 + DateTime::TimeZone::Asia::Yerevan 2.60 + DateTime::TimeZone::Atlantic::Azores 2.60 + DateTime::TimeZone::Atlantic::Bermuda 2.60 + DateTime::TimeZone::Atlantic::Canary 2.60 + DateTime::TimeZone::Atlantic::Cape_Verde 2.60 + DateTime::TimeZone::Atlantic::Faroe 2.60 + DateTime::TimeZone::Atlantic::Madeira 2.60 + DateTime::TimeZone::Atlantic::South_Georgia 2.60 + DateTime::TimeZone::Atlantic::Stanley 2.60 + DateTime::TimeZone::Australia::Adelaide 2.60 + DateTime::TimeZone::Australia::Brisbane 2.60 + DateTime::TimeZone::Australia::Broken_Hill 2.60 + DateTime::TimeZone::Australia::Darwin 2.60 + DateTime::TimeZone::Australia::Eucla 2.60 + DateTime::TimeZone::Australia::Hobart 2.60 + DateTime::TimeZone::Australia::Lindeman 2.60 + DateTime::TimeZone::Australia::Lord_Howe 2.60 + DateTime::TimeZone::Australia::Melbourne 2.60 + DateTime::TimeZone::Australia::Perth 2.60 + DateTime::TimeZone::Australia::Sydney 2.60 + DateTime::TimeZone::CET 2.60 + DateTime::TimeZone::CST6CDT 2.60 + DateTime::TimeZone::Catalog 2.60 + DateTime::TimeZone::EET 2.60 + DateTime::TimeZone::EST 2.60 + DateTime::TimeZone::EST5EDT 2.60 + DateTime::TimeZone::Europe::Andorra 2.60 + DateTime::TimeZone::Europe::Astrakhan 2.60 + DateTime::TimeZone::Europe::Athens 2.60 + DateTime::TimeZone::Europe::Belgrade 2.60 + DateTime::TimeZone::Europe::Berlin 2.60 + DateTime::TimeZone::Europe::Brussels 2.60 + DateTime::TimeZone::Europe::Bucharest 2.60 + DateTime::TimeZone::Europe::Budapest 2.60 + DateTime::TimeZone::Europe::Chisinau 2.60 + DateTime::TimeZone::Europe::Dublin 2.60 + DateTime::TimeZone::Europe::Gibraltar 2.60 + DateTime::TimeZone::Europe::Helsinki 2.60 + DateTime::TimeZone::Europe::Istanbul 2.60 + DateTime::TimeZone::Europe::Kaliningrad 2.60 + DateTime::TimeZone::Europe::Kirov 2.60 + DateTime::TimeZone::Europe::Kyiv 2.60 + DateTime::TimeZone::Europe::Lisbon 2.60 + DateTime::TimeZone::Europe::London 2.60 + DateTime::TimeZone::Europe::Madrid 2.60 + DateTime::TimeZone::Europe::Malta 2.60 + DateTime::TimeZone::Europe::Minsk 2.60 + DateTime::TimeZone::Europe::Moscow 2.60 + DateTime::TimeZone::Europe::Paris 2.60 + DateTime::TimeZone::Europe::Prague 2.60 + DateTime::TimeZone::Europe::Riga 2.60 + DateTime::TimeZone::Europe::Rome 2.60 + DateTime::TimeZone::Europe::Samara 2.60 + DateTime::TimeZone::Europe::Saratov 2.60 + DateTime::TimeZone::Europe::Simferopol 2.60 + DateTime::TimeZone::Europe::Sofia 2.60 + DateTime::TimeZone::Europe::Tallinn 2.60 + DateTime::TimeZone::Europe::Tirane 2.60 + DateTime::TimeZone::Europe::Ulyanovsk 2.60 + DateTime::TimeZone::Europe::Vienna 2.60 + DateTime::TimeZone::Europe::Vilnius 2.60 + DateTime::TimeZone::Europe::Volgograd 2.60 + DateTime::TimeZone::Europe::Warsaw 2.60 + DateTime::TimeZone::Europe::Zurich 2.60 + DateTime::TimeZone::Floating 2.60 + DateTime::TimeZone::HST 2.60 + DateTime::TimeZone::Indian::Chagos 2.60 + DateTime::TimeZone::Indian::Maldives 2.60 + DateTime::TimeZone::Indian::Mauritius 2.60 + DateTime::TimeZone::Local 2.60 + DateTime::TimeZone::Local::Android 2.60 + DateTime::TimeZone::Local::Unix 2.60 + DateTime::TimeZone::Local::VMS 2.60 + DateTime::TimeZone::MET 2.60 + DateTime::TimeZone::MST 2.60 + DateTime::TimeZone::MST7MDT 2.60 + DateTime::TimeZone::OffsetOnly 2.60 + DateTime::TimeZone::OlsonDB 2.60 + DateTime::TimeZone::OlsonDB::Change 2.60 + DateTime::TimeZone::OlsonDB::Observance 2.60 + DateTime::TimeZone::OlsonDB::Rule 2.60 + DateTime::TimeZone::OlsonDB::Zone 2.60 + DateTime::TimeZone::PST8PDT 2.60 + DateTime::TimeZone::Pacific::Apia 2.60 + DateTime::TimeZone::Pacific::Auckland 2.60 + DateTime::TimeZone::Pacific::Bougainville 2.60 + DateTime::TimeZone::Pacific::Chatham 2.60 + DateTime::TimeZone::Pacific::Easter 2.60 + DateTime::TimeZone::Pacific::Efate 2.60 + DateTime::TimeZone::Pacific::Fakaofo 2.60 + DateTime::TimeZone::Pacific::Fiji 2.60 + DateTime::TimeZone::Pacific::Galapagos 2.60 + DateTime::TimeZone::Pacific::Gambier 2.60 + DateTime::TimeZone::Pacific::Guadalcanal 2.60 + DateTime::TimeZone::Pacific::Guam 2.60 + DateTime::TimeZone::Pacific::Honolulu 2.60 + DateTime::TimeZone::Pacific::Kanton 2.60 + DateTime::TimeZone::Pacific::Kiritimati 2.60 + DateTime::TimeZone::Pacific::Kosrae 2.60 + DateTime::TimeZone::Pacific::Kwajalein 2.60 + DateTime::TimeZone::Pacific::Marquesas 2.60 + DateTime::TimeZone::Pacific::Nauru 2.60 + DateTime::TimeZone::Pacific::Niue 2.60 + DateTime::TimeZone::Pacific::Norfolk 2.60 + DateTime::TimeZone::Pacific::Noumea 2.60 + DateTime::TimeZone::Pacific::Pago_Pago 2.60 + DateTime::TimeZone::Pacific::Palau 2.60 + DateTime::TimeZone::Pacific::Pitcairn 2.60 + DateTime::TimeZone::Pacific::Port_Moresby 2.60 + DateTime::TimeZone::Pacific::Rarotonga 2.60 + DateTime::TimeZone::Pacific::Tahiti 2.60 + DateTime::TimeZone::Pacific::Tarawa 2.60 + DateTime::TimeZone::Pacific::Tongatapu 2.60 + DateTime::TimeZone::UTC 2.60 + DateTime::TimeZone::WET 2.60 + requirements: + Class::Singleton 1.03 + Cwd 3 + ExtUtils::MakeMaker 0 + File::Basename 0 + File::Compare 0 + File::Find 0 + File::Spec 0 + List::Util 1.33 + Module::Runtime 0 + Params::ValidationCompiler 0.13 + Specio::Library::Builtins 0 + Specio::Library::String 0 + Try::Tiny 0 + constant 0 + namespace::autoclean 0 + parent 0 + perl 5.008004 + strict 0 + warnings 0 + Devel-Cycle-1.12 + pathname: L/LD/LDS/Devel-Cycle-1.12.tar.gz + provides: + Devel::Cycle 1.12 + requirements: + ExtUtils::MakeMaker 0 + Scalar::Util 0 + Test::More 0 + Devel-Declare-0.006022 + pathname: E/ET/ETHER/Devel-Declare-0.006022.tar.gz + provides: + Devel::Declare 0.006022 + Devel::Declare::Context::Simple 0.006022 + Devel::Declare::MethodInstaller::Simple 0.006022 + requirements: + B::Hooks::EndOfScope 0.05 + B::Hooks::OP::Check 0.19 + ExtUtils::Depends 0.302 + Scalar::Util 1.11 + Sub::Name 0 + Test::More 0.88 + Test::Requires 0 + perl 5.008001 + Devel-GlobalDestruction-0.14 + pathname: H/HA/HAARG/Devel-GlobalDestruction-0.14.tar.gz + provides: + Devel::GlobalDestruction 0.14 + requirements: + ExtUtils::MakeMaker 0 + Sub::Exporter::Progressive 0.001011 + perl 5.006 + Devel-OverloadInfo-0.007 + pathname: I/IL/ILMARI/Devel-OverloadInfo-0.007.tar.gz + provides: + Devel::OverloadInfo 0.007 + requirements: + B 0 + Exporter 5.57 + ExtUtils::MakeMaker 0 + MRO::Compat 0 + Package::Stash 0.14 + Scalar::Util 0 + Sub::Util 1.40 + Text::ParseWords 0 + overload 0 + perl 5.006 + strict 0 + warnings 0 + Devel-PartialDump-0.20 + pathname: E/ET/ETHER/Devel-PartialDump-0.20.tar.gz + provides: + Devel::PartialDump 0.20 + requirements: + Carp 0 + Class::Tiny 0 + ExtUtils::MakeMaker 0 + Scalar::Util 0 + Sub::Exporter 0 + namespace::clean 0.19 + perl 5.006001 + strict 0 + warnings 0 + Devel-StackTrace-2.04 + pathname: D/DR/DROLSKY/Devel-StackTrace-2.04.tar.gz + provides: + Devel::StackTrace 2.04 + Devel::StackTrace::Frame 2.04 + requirements: + ExtUtils::MakeMaker 0 + File::Spec 0 + Scalar::Util 0 + overload 0 + perl 5.006 + strict 0 + warnings 0 + Devel-StackTrace-AsHTML-0.15 + pathname: M/MI/MIYAGAWA/Devel-StackTrace-AsHTML-0.15.tar.gz + provides: + Devel::StackTrace::AsHTML 0.15 + requirements: + Devel::StackTrace 0 + ExtUtils::MakeMaker 0 + Digest-CRC-0.24 + pathname: O/OL/OLIMAUL/Digest-CRC-0.24.tar.gz + provides: + Digest::CRC 0.24 + requirements: + ExtUtils::MakeMaker 0 + Digest-HMAC-1.04 + pathname: A/AR/ARODLAND/Digest-HMAC-1.04.tar.gz + provides: + Digest::HMAC 1.04 + Digest::HMAC_MD5 1.04 + Digest::HMAC_SHA1 1.04 + requirements: + Digest::MD5 2 + Digest::SHA 1 + ExtUtils::MakeMaker 0 + perl 5.004 + Digest-MD4-1.9 + pathname: M/MI/MIKEM/DigestMD4/Digest-MD4-1.9.tar.gz + provides: + Digest::MD4 1.9 + requirements: + ExtUtils::MakeMaker 0 + File::Spec 0 + Digest-MD5-File-0.08 + pathname: D/DM/DMUEY/Digest-MD5-File-0.08.tar.gz + provides: + Digest::MD5::File 0.08 + requirements: + Digest::MD5 0 + ExtUtils::MakeMaker 0 + LWP::UserAgent 0 + Digest-SHA1-2.13 + pathname: G/GA/GAAS/Digest-SHA1-2.13.tar.gz + provides: + Digest::SHA1 2.13 + requirements: + Digest::base 1.00 + ExtUtils::MakeMaker 0 + perl 5.004 + Digest-SHA3-1.05 + pathname: M/MS/MSHELOR/Digest-SHA3-1.05.tar.gz + provides: + Digest::SHA3 1.05 + requirements: + ExtUtils::MakeMaker 0 + perl 5.003 + Dist-CheckConflicts-0.11 + pathname: D/DO/DOY/Dist-CheckConflicts-0.11.tar.gz + provides: + Dist::CheckConflicts 0.11 + requirements: + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 6.30 + Module::Runtime 0.009 + base 0 + strict 0 + warnings 0 + Email-Abstract-3.009 + pathname: R/RJ/RJBS/Email-Abstract-3.009.tar.gz + provides: + Email::Abstract 3.009 + Email::Abstract::EmailMIME 3.009 + Email::Abstract::EmailSimple 3.009 + Email::Abstract::MIMEEntity 3.009 + Email::Abstract::MailInternet 3.009 + Email::Abstract::MailMessage 3.009 + Email::Abstract::Plugin 3.009 + requirements: + Carp 0 + Email::Simple 1.998 + ExtUtils::MakeMaker 6.78 + MRO::Compat 0 + Module::Pluggable 1.5 + Scalar::Util 0 + perl 5.006 + strict 0 + warnings 0 + Email-Address-1.913 + pathname: R/RJ/RJBS/Email-Address-1.913.tar.gz + provides: + Email::Address 1.913 + requirements: + ExtUtils::MakeMaker 6.78 + overload 0 + perl 5.012 + strict 0 + warnings 0 + Email-Address-XS-1.05 + pathname: P/PA/PALI/Email-Address-XS-1.05.tar.gz + provides: + Email::Address::XS 1.05 + requirements: + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 0 + XSLoader 0 + base 0 + overload 0 + perl 5.006000 + strict 0 + warnings 0 + Email-Date-Format-1.008 + pathname: R/RJ/RJBS/Email-Date-Format-1.008.tar.gz + provides: + Email::Date::Format 1.008 + requirements: + Exporter 5.57 + ExtUtils::MakeMaker 6.78 + Time::Local 1.27 + perl 5.012 + warnings 0 + Email-MIME-1.953 + pathname: R/RJ/RJBS/Email-MIME-1.953.tar.gz + provides: + Email::MIME 1.953 + Email::MIME::Creator 1.953 + Email::MIME::Encode 1.953 + Email::MIME::Header 1.953 + Email::MIME::Header::AddressList 1.953 + Email::MIME::Modifier 1.953 + requirements: + Carp 0 + Email::Address::XS 0 + Email::MIME::ContentType 1.023 + Email::MIME::Encodings 1.314 + Email::MessageID 0 + Email::Simple 2.212 + Email::Simple::Creator 0 + Email::Simple::Header 0 + Encode 1.9801 + ExtUtils::MakeMaker 6.78 + MIME::Base64 0 + MIME::Types 1.13 + Module::Runtime 0 + Scalar::Util 0 + parent 0 + perl 5.012 + strict 0 + warnings 0 + Email-MIME-ContentType-1.028 + pathname: R/RJ/RJBS/Email-MIME-ContentType-1.028.tar.gz + provides: + Email::MIME::ContentType 1.028 + requirements: + Carp 0 + Encode 2.87 + Exporter 5.57 + ExtUtils::MakeMaker 6.78 + Text::Unidecode 0 + perl 5.012 + warnings 0 + Email-MIME-Encodings-1.317 + pathname: R/RJ/RJBS/Email-MIME-Encodings-1.317.tar.gz + provides: + Email::MIME::Encodings 1.317 + requirements: + Carp 0 + ExtUtils::MakeMaker 6.78 + MIME::Base64 3.05 + MIME::QuotedPrint 3.05 + perl 5.012 + strict 0 + warnings 0 + Email-MessageID-1.408 + pathname: R/RJ/RJBS/Email-MessageID-1.408.tar.gz + provides: + Email::MessageID 1.408 + requirements: + ExtUtils::MakeMaker 6.78 + Sys::Hostname 0 + overload 0 + perl 5.012 + strict 0 + warnings 0 + Email-Sender-2.600 + pathname: R/RJ/RJBS/Email-Sender-2.600.tar.gz + provides: + Email::Sender 2.600 + Email::Sender::Failure 2.600 + Email::Sender::Failure::Multi 2.600 + Email::Sender::Failure::Permanent 2.600 + Email::Sender::Failure::Temporary 2.600 + Email::Sender::Manual 2.600 + Email::Sender::Manual::QuickStart 2.600 + Email::Sender::Role::CommonSending 2.600 + Email::Sender::Role::HasMessage 2.600 + Email::Sender::Simple 2.600 + Email::Sender::Success 2.600 + Email::Sender::Success::Partial 2.600 + Email::Sender::Transport 2.600 + Email::Sender::Transport::DevNull 2.600 + Email::Sender::Transport::Failable 2.600 + Email::Sender::Transport::Maildir 2.600 + Email::Sender::Transport::Mbox 2.600 + Email::Sender::Transport::Print 2.600 + Email::Sender::Transport::SMTP 2.600 + Email::Sender::Transport::SMTP::Persistent 2.600 + Email::Sender::Transport::Sendmail 2.600 + Email::Sender::Transport::Test 2.600 + Email::Sender::Transport::Wrapper 2.600 + Email::Sender::Util 2.600 + requirements: + Carp 0 + Email::Abstract 3.006 + Email::Address::XS 0 + Email::Simple 1.998 + ExtUtils::MakeMaker 6.78 + Fcntl 0 + File::Basename 0 + File::Path 2.06 + File::Spec 0 + IO::File 1.11 + IO::Handle 0 + List::Util 1.45 + Module::Runtime 0 + Moo 2.000000 + Moo::Role 0 + MooX::Types::MooseLike 0.15 + MooX::Types::MooseLike::Base 0 + Net::SMTP 3.07 + Scalar::Util 0 + Sub::Exporter 0 + Sub::Exporter::Util 0 + Sys::Hostname 0 + Throwable::Error 0.200003 + Try::Tiny 0 + perl 5.012 + strict 0 + utf8 0 + warnings 0 + Email-Simple-2.218 + pathname: R/RJ/RJBS/Email-Simple-2.218.tar.gz + provides: + Email::Simple 2.218 + Email::Simple::Creator 2.218 + Email::Simple::Header 2.218 + requirements: + Carp 0 + Email::Date::Format 0 + ExtUtils::MakeMaker 6.78 + perl 5.012 + strict 0 + warnings 0 + Email-Valid-1.203 + pathname: R/RJ/RJBS/Email-Valid-1.203.tar.gz + provides: + Email::Valid 1.203 + requirements: + ExtUtils::MakeMaker 0 + Mail::Address 0 + Net::DNS 0 + Scalar::Util 0 + Test::More 0 + perl 5.006 + Encode-Detect-1.01 + pathname: J/JG/JGMYERS/Encode-Detect-1.01.tar.gz + provides: + Encode::Detect 1.01 + Encode::Detect::Detector 1.01 + requirements: + ExtUtils::CBuilder 0 + Module::Build 0 + Encode-Locale-1.05 + pathname: G/GA/GAAS/Encode-Locale-1.05.tar.gz + provides: + Encode::Locale 1.05 + requirements: + Encode 2 + Encode::Alias 0 + ExtUtils::MakeMaker 0 + perl 5.008 + Eval-Closure-0.14 + pathname: D/DO/DOY/Eval-Closure-0.14.tar.gz + provides: + Eval::Closure 0.14 + requirements: + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 0 + Scalar::Util 0 + constant 0 + overload 0 + strict 0 + warnings 0 + Exception-Base-0.2501 + pathname: D/DE/DEXTER/Exception-Base-0.2501.tar.gz + provides: + Exception::Base 0.2501 + requirements: + Test::Unit::Lite 0.12 + perl 5.006 + Exception-Class-1.45 + pathname: D/DR/DROLSKY/Exception-Class-1.45.tar.gz + provides: + Exception::Class 1.45 + Exception::Class::Base 1.45 + requirements: + Carp 0 + Class::Data::Inheritable 0.02 + Devel::StackTrace 2.00 + ExtUtils::MakeMaker 0 + Scalar::Util 0 + base 0 + overload 0 + perl 5.008001 + strict 0 + warnings 0 + Exception-Died-0.06 + pathname: D/DE/DEXTER/Exception-Died-0.06.tar.gz + provides: + Exception::Died 0.06 + requirements: + Exception::Base 0.21 + Test::Assert 0.05 + Test::Unit::Lite 0.11 + constant::boolean 0 + parent 0 + perl 5.006 + Exception-Warning-0.0401 + pathname: D/DE/DEXTER/Exception-Warning-0.0401.tar.gz + provides: + Exception::Warning 0.0401 + requirements: + Exception::Base 0.21 + Test::Assert 0.05 + Test::Unit::Lite 0.12 + parent 0 + perl 5.006 + Exporter-Tiny-1.006002 + pathname: T/TO/TOBYINK/Exporter-Tiny-1.006002.tar.gz + provides: + Exporter::Shiny 1.006002 + Exporter::Tiny 1.006002 + requirements: + ExtUtils::MakeMaker 6.17 + perl 5.006001 + ExtUtils-Config-0.008 + pathname: L/LE/LEONT/ExtUtils-Config-0.008.tar.gz + provides: + ExtUtils::Config 0.008 + requirements: + Data::Dumper 0 + ExtUtils::MakeMaker 6.30 + strict 0 + warnings 0 + ExtUtils-Depends-0.8001 + pathname: X/XA/XAOC/ExtUtils-Depends-0.8001.tar.gz + provides: + ExtUtils::Depends 0.8001 + requirements: + Data::Dumper 0 + ExtUtils::MakeMaker 7.44 + File::Spec 0 + IO::File 0 + perl 5.006 + ExtUtils-Helpers-0.026 + pathname: L/LE/LEONT/ExtUtils-Helpers-0.026.tar.gz + provides: + ExtUtils::Helpers 0.026 + ExtUtils::Helpers::Unix 0.026 + ExtUtils::Helpers::VMS 0.026 + ExtUtils::Helpers::Windows 0.026 + requirements: + Carp 0 + Exporter 5.57 + ExtUtils::MakeMaker 0 + File::Basename 0 + File::Copy 0 + File::Spec::Functions 0 + Text::ParseWords 3.24 + perl 5.006 + strict 0 + warnings 0 + ExtUtils-InstallPaths-0.012 + pathname: L/LE/LEONT/ExtUtils-InstallPaths-0.012.tar.gz + provides: + ExtUtils::InstallPaths 0.012 + requirements: + Carp 0 + ExtUtils::Config 0.002 + ExtUtils::MakeMaker 0 + File::Spec 0 + perl 5.006 + strict 0 + warnings 0 + ExtUtils-MakeMaker-7.70 + pathname: B/BI/BINGOS/ExtUtils-MakeMaker-7.70.tar.gz + provides: + ExtUtils::Command 7.70 + ExtUtils::Command::MM 7.70 + ExtUtils::Liblist 7.70 + ExtUtils::Liblist::Kid 7.70 + ExtUtils::MM 7.70 + ExtUtils::MM_AIX 7.70 + ExtUtils::MM_Any 7.70 + ExtUtils::MM_BeOS 7.70 + ExtUtils::MM_Cygwin 7.70 + ExtUtils::MM_DOS 7.70 + ExtUtils::MM_Darwin 7.70 + ExtUtils::MM_MacOS 7.70 + ExtUtils::MM_NW5 7.70 + ExtUtils::MM_OS2 7.70 + ExtUtils::MM_OS390 7.70 + ExtUtils::MM_QNX 7.70 + ExtUtils::MM_UWIN 7.70 + ExtUtils::MM_Unix 7.70 + ExtUtils::MM_VMS 7.70 + ExtUtils::MM_VOS 7.70 + ExtUtils::MM_Win32 7.70 + ExtUtils::MM_Win95 7.70 + ExtUtils::MY 7.70 + ExtUtils::MakeMaker 7.70 + ExtUtils::MakeMaker::Config 7.70 + ExtUtils::MakeMaker::Locale 7.70 + ExtUtils::MakeMaker::_version 7.70 + ExtUtils::MakeMaker::charstar 7.70 + ExtUtils::MakeMaker::version 7.70 + ExtUtils::MakeMaker::version::regex 7.70 + ExtUtils::MakeMaker::version::vpp 7.70 + ExtUtils::Mkbootstrap 7.70 + ExtUtils::Mksymlists 7.70 + ExtUtils::testlib 7.70 + MM 7.70 + MY 7.70 + requirements: + Data::Dumper 0 + Encode 0 + File::Basename 0 + File::Spec 0.8 + Pod::Man 0 + perl 5.006 + FFI-CheckLib-0.31 + pathname: P/PL/PLICEASE/FFI-CheckLib-0.31.tar.gz + provides: + FFI::CheckLib 0.31 + requirements: + ExtUtils::MakeMaker 0 + File::Which 0 + List::Util 1.33 + perl 5.006 + Fatal-Exception-0.05 + pathname: D/DE/DEXTER/Fatal-Exception-0.05.tar.gz + provides: + Exception::Argument 0.05 + Exception::Fatal 0.05 + Fatal::Exception 0.05 + requirements: + Exception::Base 0.21 + Exception::Died 0 + Exception::Warning 0 + Test::Assert 0 + Test::Unit::Lite 0.07 + perl 5.006 + File-ChangeNotify-0.31 + pathname: D/DR/DROLSKY/File-ChangeNotify-0.31.tar.gz + provides: + File::ChangeNotify 0.31 + File::ChangeNotify::Event 0.31 + File::ChangeNotify::Watcher 0.31 + File::ChangeNotify::Watcher::Default 0.31 + File::ChangeNotify::Watcher::Inotify 0.31 + File::ChangeNotify::Watcher::KQueue 0.31 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + Fcntl 0 + File::Find 0 + File::Spec 0 + Module::Pluggable::Object 0 + Module::Runtime 0 + Moo 1.006 + Moo::Role 0 + Time::HiRes 0 + Type::Utils 0 + Types::Standard 0 + namespace::autoclean 0 + strict 0 + warnings 0 + File-Copy-Recursive-0.45 + pathname: D/DM/DMUEY/File-Copy-Recursive-0.45.tar.gz + provides: + File::Copy::Recursive 0.45 + requirements: + Cwd 0 + ExtUtils::MakeMaker 0 + File::Copy 0 + File::Glob 0 + File::Spec 0 + File-Find-Rule-0.34 + pathname: R/RC/RCLAMP/File-Find-Rule-0.34.tar.gz + provides: + File::Find::Rule 0.34 + File::Find::Rule::Test::ATeam undef + requirements: + ExtUtils::MakeMaker 0 + File::Find 0 + File::Spec 0 + Number::Compare 0 + Test::More 0 + Text::Glob 0.07 + File-Listing-6.15 + pathname: P/PL/PLICEASE/File-Listing-6.15.tar.gz + provides: + File::Listing 6.15 + File::Listing::apache 6.15 + File::Listing::dosftp 6.15 + File::Listing::netware 6.15 + File::Listing::unix 6.15 + File::Listing::vms 6.15 + requirements: + Exporter 5.57 + ExtUtils::MakeMaker 0 + HTTP::Date 0 + perl 5.006 + File-NFSLock-1.29 + pathname: B/BB/BBB/File-NFSLock-1.29.tar.gz + provides: + File::NFSLock 1.29 + requirements: + ExtUtils::MakeMaker 0 + File-Remove-1.61 + pathname: S/SH/SHLOMIF/File-Remove-1.61.tar.gz + provides: + File::Remove 1.61 + requirements: + Cwd 3.29 + ExtUtils::MakeMaker 0 + File::Glob 0 + File::Path 0 + File::Spec 3.29 + Module::Build 0.28 + constant 0 + perl 5.008 + strict 0 + vars 0 + warnings 0 + File-ShareDir-1.118 + pathname: R/RE/REHSACK/File-ShareDir-1.118.tar.gz + provides: + File::ShareDir 1.118 + requirements: + Carp 0 + Class::Inspector 1.12 + ExtUtils::MakeMaker 0 + File::ShareDir::Install 0.13 + File::Spec 0.80 + perl 5.008001 + warnings 0 + File-ShareDir-Install-0.14 + pathname: E/ET/ETHER/File-ShareDir-Install-0.14.tar.gz + provides: + File::ShareDir::Install 0.14 + requirements: + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 0 + File::Spec 0 + IO::Dir 0 + perl 5.006 + strict 0 + warnings 0 + File-Slurp-9999.32 + pathname: C/CA/CAPOEIRAB/File-Slurp-9999.32.tar.gz + provides: + File::Slurp 9999.32 + requirements: + B 0 + Carp 0 + Errno 0 + Exporter 5.57 + ExtUtils::MakeMaker 0 + Fcntl 0 + File::Basename 0 + File::Spec 3.01 + File::Temp 0 + IO::Handle 0 + POSIX 0 + strict 0 + warnings 0 + File-Which-1.27 + pathname: P/PL/PLICEASE/File-Which-1.27.tar.gz + provides: + File::Which 1.27 + requirements: + ExtUtils::MakeMaker 0 + base 0 + perl 5.006 + File-chdir-0.1011 + pathname: D/DA/DAGOLDEN/File-chdir-0.1011.tar.gz + provides: + File::chdir 0.1011 + File::chdir::ARRAY 0.1011 + File::chdir::SCALAR 0.1011 + requirements: + Carp 0 + Cwd 3.16 + Exporter 0 + ExtUtils::MakeMaker 6.17 + File::Spec::Functions 3.27 + perl 5.006 + strict 0 + vars 0 + Filesys-Notify-Simple-0.14 + pathname: M/MI/MIYAGAWA/Filesys-Notify-Simple-0.14.tar.gz + provides: + Filesys::Notify::Simple 0.14 + requirements: + ExtUtils::MakeMaker 0 + perl 5.008001 + Getopt-Long-Descriptive-0.111 + pathname: R/RJ/RJBS/Getopt-Long-Descriptive-0.111.tar.gz + provides: + Getopt::Long::Descriptive 0.111 + Getopt::Long::Descriptive::Opts 0.111 + Getopt::Long::Descriptive::Usage 0.111 + requirements: + Carp 0 + ExtUtils::MakeMaker 6.78 + File::Basename 0 + Getopt::Long 2.33 + List::Util 0 + Params::Validate 0.97 + Scalar::Util 0 + Sub::Exporter 0.972 + Sub::Exporter::Util 0 + overload 0 + perl 5.012 + strict 0 + warnings 0 + GnuPG-0.19 + pathname: Y/YA/YANICK/GnuPG-0.19.tar.gz + provides: + GnuPG 0.19 + GnuPG::Tie undef + GnuPG::Tie::ClearSign undef + GnuPG::Tie::Decrypt undef + GnuPG::Tie::Encrypt undef + GnuPG::Tie::Sign undef + requirements: + ExtUtils::MakeMaker 0 + HTML-Form-6.11 + pathname: S/SI/SIMBABQUE/HTML-Form-6.11.tar.gz + provides: + HTML::Form 6.11 + HTML::Form::FileInput 6.11 + HTML::Form::IgnoreInput 6.11 + HTML::Form::ImageInput 6.11 + HTML::Form::Input 6.11 + HTML::Form::KeygenInput 6.11 + HTML::Form::ListInput 6.11 + HTML::Form::SubmitInput 6.11 + HTML::Form::TextInput 6.11 + requirements: + Carp 0 + Encode 2 + ExtUtils::MakeMaker 0 + HTML::TokeParser 0 + HTTP::Request 6 + HTTP::Request::Common 6.03 + Test::More 0.96 + URI 1.10 + parent 0 + perl 5.008001 + strict 0 + HTML-FormHandler-0.40068 + pathname: G/GS/GSHANK/HTML-FormHandler-0.40068.tar.gz + provides: + HTML::FormHandler 0.40068 + HTML::FormHandler::Base 0.40068 + HTML::FormHandler::Blocks 0.40068 + HTML::FormHandler::BuildFields 0.40068 + HTML::FormHandler::BuildPages 0.40068 + HTML::FormHandler::Field 0.40068 + HTML::FormHandler::Field::AddElement 0.40068 + HTML::FormHandler::Field::BoolSelect 0.40068 + HTML::FormHandler::Field::Boolean 0.40068 + HTML::FormHandler::Field::Button 0.40068 + HTML::FormHandler::Field::Captcha 0.40068 + HTML::FormHandler::Field::Checkbox 0.40068 + HTML::FormHandler::Field::Compound 0.40068 + HTML::FormHandler::Field::Date 0.40068 + HTML::FormHandler::Field::DateMDY 0.40068 + HTML::FormHandler::Field::DateTime 0.40068 + HTML::FormHandler::Field::Display 0.40068 + HTML::FormHandler::Field::Duration 0.40068 + HTML::FormHandler::Field::Email 0.40068 + HTML::FormHandler::Field::File 0.40068 + HTML::FormHandler::Field::Float 0.40068 + HTML::FormHandler::Field::Hidden 0.40068 + HTML::FormHandler::Field::Hour 0.40068 + HTML::FormHandler::Field::IntRange 0.40068 + HTML::FormHandler::Field::Integer 0.40068 + HTML::FormHandler::Field::Minute 0.40068 + HTML::FormHandler::Field::Money 0.40068 + HTML::FormHandler::Field::Month 0.40068 + HTML::FormHandler::Field::MonthDay 0.40068 + HTML::FormHandler::Field::MonthName 0.40068 + HTML::FormHandler::Field::Multiple 0.40068 + HTML::FormHandler::Field::Nested 0.40068 + HTML::FormHandler::Field::NoValue 0.40068 + HTML::FormHandler::Field::NonEditable 0.40068 + HTML::FormHandler::Field::Password 0.40068 + HTML::FormHandler::Field::PasswordConf 0.40068 + HTML::FormHandler::Field::PosInteger 0.40068 + HTML::FormHandler::Field::PrimaryKey 0.40068 + HTML::FormHandler::Field::Repeatable 0.40068 + HTML::FormHandler::Field::RequestToken 0.40068 + HTML::FormHandler::Field::Reset 0.40068 + HTML::FormHandler::Field::Result 0.40068 + HTML::FormHandler::Field::RmElement 0.40068 + HTML::FormHandler::Field::Role::RequestToken 0.40068 + HTML::FormHandler::Field::Second 0.40068 + HTML::FormHandler::Field::Select 0.40068 + HTML::FormHandler::Field::SelectCSV 0.40068 + HTML::FormHandler::Field::Submit 0.40068 + HTML::FormHandler::Field::Text 0.40068 + HTML::FormHandler::Field::TextArea 0.40068 + HTML::FormHandler::Field::TextCSV 0.40068 + HTML::FormHandler::Field::Upload 0.40068 + HTML::FormHandler::Field::Weekday 0.40068 + HTML::FormHandler::Field::Year 0.40068 + HTML::FormHandler::Fields 0.40068 + HTML::FormHandler::Foo 0.40068 + HTML::FormHandler::I18N 0.40068 + HTML::FormHandler::I18N::ar_kw 0.40068 + HTML::FormHandler::I18N::bg_bg 0.40068 + HTML::FormHandler::I18N::ca_es 0.40068 + HTML::FormHandler::I18N::cs_cz 0.40068 + HTML::FormHandler::I18N::de_de 0.40068 + HTML::FormHandler::I18N::en_us 0.40068 + HTML::FormHandler::I18N::es_es 0.40068 + HTML::FormHandler::I18N::hu_hu 0.40068 + HTML::FormHandler::I18N::it_it 0.40068 + HTML::FormHandler::I18N::ja_jp 0.40068 + HTML::FormHandler::I18N::pt_br 0.40068 + HTML::FormHandler::I18N::ru_ru 0.40068 + HTML::FormHandler::I18N::sv_se 0.40068 + HTML::FormHandler::I18N::tr_tr 0.40068 + HTML::FormHandler::I18N::ua_ua 0.40068 + HTML::FormHandler::InitResult 0.40068 + HTML::FormHandler::Merge 0.40068 + HTML::FormHandler::Model 0.40068 + HTML::FormHandler::Model::Object 0.40068 + HTML::FormHandler::Moose 0.40068 + HTML::FormHandler::Moose::Role 0.40068 + HTML::FormHandler::Page 0.40068 + HTML::FormHandler::Page::Simple 0.40068 + HTML::FormHandler::Pages 0.40068 + HTML::FormHandler::Render::RepeatableJs 0.40068 + HTML::FormHandler::Render::Simple 0.40068 + HTML::FormHandler::Render::Table 0.40068 + HTML::FormHandler::Render::Util 0.40068 + HTML::FormHandler::Render::WithTT 0.40068 + HTML::FormHandler::Result 0.40068 + HTML::FormHandler::Result::Role 0.40068 + HTML::FormHandler::Test 0.40068 + HTML::FormHandler::TraitFor::Captcha 0.40068 + HTML::FormHandler::TraitFor::I18N 0.40068 + HTML::FormHandler::TraitFor::Types 0.40068 + HTML::FormHandler::Traits 0.40068 + HTML::FormHandler::Types 0.40068 + HTML::FormHandler::Validate 0.40068 + HTML::FormHandler::Widget::ApplyRole 0.40068 + HTML::FormHandler::Widget::Block 0.40068 + HTML::FormHandler::Widget::Block::Bootstrap 0.40068 + HTML::FormHandler::Widget::Field::Button 0.40068 + HTML::FormHandler::Widget::Field::ButtonTag 0.40068 + HTML::FormHandler::Widget::Field::Captcha 0.40068 + HTML::FormHandler::Widget::Field::Checkbox 0.40068 + HTML::FormHandler::Widget::Field::CheckboxGroup 0.40068 + HTML::FormHandler::Widget::Field::Compound 0.40068 + HTML::FormHandler::Widget::Field::Hidden 0.40068 + HTML::FormHandler::Widget::Field::HorizCheckboxGroup 0.40068 + HTML::FormHandler::Widget::Field::NoRender 0.40068 + HTML::FormHandler::Widget::Field::Password 0.40068 + HTML::FormHandler::Widget::Field::RadioGroup 0.40068 + HTML::FormHandler::Widget::Field::Repeatable 0.40068 + HTML::FormHandler::Widget::Field::Reset 0.40068 + HTML::FormHandler::Widget::Field::Role::HTMLAttributes 0.40068 + HTML::FormHandler::Widget::Field::Role::SelectedOption 0.40068 + HTML::FormHandler::Widget::Field::Select 0.40068 + HTML::FormHandler::Widget::Field::Span 0.40068 + HTML::FormHandler::Widget::Field::Submit 0.40068 + HTML::FormHandler::Widget::Field::Text 0.40068 + HTML::FormHandler::Widget::Field::Textarea 0.40068 + HTML::FormHandler::Widget::Field::Upload 0.40068 + HTML::FormHandler::Widget::Form::Role::HTMLAttributes 0.40068 + HTML::FormHandler::Widget::Form::Simple 0.40068 + HTML::FormHandler::Widget::Form::Table 0.40068 + HTML::FormHandler::Widget::Theme::Bootstrap 0.40068 + HTML::FormHandler::Widget::Theme::Bootstrap3 0.40068 + HTML::FormHandler::Widget::Theme::BootstrapFormMessages 0.40068 + HTML::FormHandler::Widget::Wrapper::Base 0.40068 + HTML::FormHandler::Widget::Wrapper::Bootstrap 0.40068 + HTML::FormHandler::Widget::Wrapper::Bootstrap3 0.40068 + HTML::FormHandler::Widget::Wrapper::Fieldset 0.40068 + HTML::FormHandler::Widget::Wrapper::None 0.40068 + HTML::FormHandler::Widget::Wrapper::Simple 0.40068 + HTML::FormHandler::Widget::Wrapper::SimpleInline 0.40068 + HTML::FormHandler::Widget::Wrapper::Table 0.40068 + HTML::FormHandler::Widget::Wrapper::TableInline 0.40068 + HTML::FormHandler::Wizard 0.40068 + requirements: + Carp 0 + Class::Load 0.06 + Crypt::Blowfish 0 + Crypt::CBC 0 + Data::Clone 0 + DateTime 0 + DateTime::Format::Strptime 0 + Email::Valid 0 + ExtUtils::MakeMaker 0 + File::ShareDir 0 + File::ShareDir::Install 0.06 + File::Spec 0 + HTML::Entities 0 + HTML::TreeBuilder 3.23 + JSON::MaybeXS 1.003003 + List::Util 1.33 + Locale::Maketext 1.09 + MIME::Base64 0 + Moose 2.1403 + MooseX::Getopt 0.16 + MooseX::Types 0.20 + MooseX::Types::Common 0 + MooseX::Types::LoadableClass 0.006 + Sub::Exporter 0 + Sub::Name 0 + Try::Tiny 0 + aliased 0 + namespace::autoclean 0.09 + HTML-HTML5-Entities-0.004 + pathname: T/TO/TOBYINK/HTML-HTML5-Entities-0.004.tar.gz + provides: + HTML::HTML5::Entities 0.004 + requirements: + ExtUtils::MakeMaker 6.17 + HTML-HTML5-Parser-0.992 + pathname: T/TO/TOBYINK/HTML-HTML5-Parser-0.992.tar.gz + provides: + HTML::HTML5::Parser 0.992 + HTML::HTML5::Parser::Charset::DecodeHandle 0.992 + HTML::HTML5::Parser::Charset::DecodeHandle::ByteBuffer undef + HTML::HTML5::Parser::Charset::DecodeHandle::CharString undef + HTML::HTML5::Parser::Charset::DecodeHandle::Encode undef + HTML::HTML5::Parser::Charset::DecodeHandle::ISO2022JP undef + HTML::HTML5::Parser::Charset::Info 0.992 + HTML::HTML5::Parser::Charset::USASCII undef + HTML::HTML5::Parser::Charset::UnicodeChecker 0.992 + HTML::HTML5::Parser::Charset::UniversalCharDet 0.992 + HTML::HTML5::Parser::Charset::WebLatin1 0.992 + HTML::HTML5::Parser::Charset::WebLatin5 undef + HTML::HTML5::Parser::Charset::WebThai 0.992 + HTML::HTML5::Parser::Charset::WebThai::WebTIS620 undef + HTML::HTML5::Parser::Error 0.992 + HTML::HTML5::Parser::TagSoupParser 0.992 + HTML::HTML5::Parser::TagSoupParser::RestartParser undef + HTML::HTML5::Parser::Tokenizer 0.992 + HTML::HTML5::Parser::UA 0.992 + requirements: + ExtUtils::MakeMaker 6.17 + HTML::HTML5::Entities 0.002 + HTTP::Tiny 0 + IO::HTML 0 + Scalar::Util 0 + Try::Tiny 0 + URI::file 0 + XML::LibXML 1.94 + XML::LibXML::Devel 0 + perl 5.008001 + HTML-Parser-3.81 + pathname: O/OA/OALDERS/HTML-Parser-3.81.tar.gz + provides: + HTML::Entities 3.81 + HTML::Filter 3.81 + HTML::HeadParser 3.81 + HTML::LinkExtor 3.81 + HTML::Parser 3.81 + HTML::PullParser 3.81 + HTML::TokeParser 3.81 + requirements: + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 6.52 + HTML::Tagset 0 + HTTP::Headers 0 + IO::File 0 + URI 0 + URI::URL 0 + XSLoader 0 + strict 0 + HTML-Selector-XPath-0.26 + pathname: C/CO/CORION/HTML-Selector-XPath-0.26.tar.gz + provides: + HTML::Selector::XPath 0.26 + requirements: + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 0 + perl 5.008001 + strict 0 + HTML-Tagset-3.20 + pathname: P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz + provides: + HTML::Tagset 3.20 + requirements: + ExtUtils::MakeMaker 0 + HTML-Tiny-1.08 + pathname: A/AR/ARISTOTLE/HTML-Tiny-1.08.tar.gz + provides: + HTML::Tiny 1.08 + requirements: + perl 5.006 + HTML-Tree-5.07 + pathname: K/KE/KENTNL/HTML-Tree-5.07.tar.gz + provides: + HTML::AsSubs 5.07 + HTML::Element 5.07 + HTML::Element::traverse 5.07 + HTML::Parse 5.07 + HTML::Tree 5.07 + HTML::TreeBuilder 5.07 + requirements: + Carp 0 + Encode 0 + Exporter 0 + HTML::Entities 0 + HTML::Parser 3.46 + HTML::Tagset 3.02 + Module::Build 0.2808 + Scalar::Util 0 + Test::Fatal 0 + Test::More 0 + base 0 + integer 0 + perl 5.008 + HTML-TreeBuilder-XPath-0.14 + pathname: M/MI/MIROD/HTML-TreeBuilder-XPath-0.14.tar.gz + provides: + HTML::Element 0.14 + HTML::TreeBuilder::XPath 0.14 + HTML::TreeBuilder::XPath::Attribute 0.14 + HTML::TreeBuilder::XPath::Node 0.14 + HTML::TreeBuilder::XPath::Root 0.14 + HTML::TreeBuilder::XPath::TextNode 0.14 + requirements: + ExtUtils::MakeMaker 0 + HTML::TreeBuilder 0 + List::Util 0 + XML::XPathEngine 0.12 + HTTP-Body-1.22 + pathname: G/GE/GETTY/HTTP-Body-1.22.tar.gz + provides: + HTTP::Body 1.22 + HTTP::Body::MultiPart 1.22 + HTTP::Body::OctetStream 1.22 + HTTP::Body::UrlEncoded 1.22 + HTTP::Body::XForms 1.22 + HTTP::Body::XFormsMultipart 1.22 + requirements: + Carp 0 + Digest::MD5 0 + ExtUtils::MakeMaker 0 + File::Temp 0.14 + HTTP::Headers 0 + IO::File 1.14 + HTTP-CookieJar-0.014 + pathname: D/DA/DAGOLDEN/HTTP-CookieJar-0.014.tar.gz + provides: + HTTP::CookieJar 0.014 + HTTP::CookieJar::LWP 0.014 + requirements: + Carp 0 + ExtUtils::MakeMaker 6.17 + HTTP::Date 0 + Time::Local 1.1901 + parent 0 + perl 5.008001 + strict 0 + warnings 0 + HTTP-Cookies-6.10 + pathname: O/OA/OALDERS/HTTP-Cookies-6.10.tar.gz + provides: + HTTP::Cookies 6.10 + HTTP::Cookies::Microsoft 6.10 + HTTP::Cookies::Netscape 6.10 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + HTTP::Date 6 + HTTP::Headers::Util 6 + HTTP::Request 0 + locale 0 + perl 5.008001 + strict 0 + HTTP-Date-6.05 + pathname: O/OA/OALDERS/HTTP-Date-6.05.tar.gz + provides: + HTTP::Date 6.05 + requirements: + Exporter 0 + ExtUtils::MakeMaker 0 + Time::Local 1.28 + Time::Zone 0 + perl 5.006002 + strict 0 + HTTP-Entity-Parser-0.25 + pathname: K/KA/KAZEBURO/HTTP-Entity-Parser-0.25.tar.gz + provides: + HTTP::Entity::Parser 0.25 + HTTP::Entity::Parser::JSON undef + HTTP::Entity::Parser::MultiPart undef + HTTP::Entity::Parser::OctetStream undef + HTTP::Entity::Parser::UrlEncoded undef + requirements: + Encode 0 + File::Temp 0 + HTTP::MultiPartParser 0 + Hash::MultiValue 0 + JSON::MaybeXS 1.003007 + Module::Build::Tiny 0.035 + Module::Load 0 + Stream::Buffered 0 + WWW::Form::UrlEncoded 0.23 + perl 5.008001 + HTTP-Headers-Fast-0.22 + pathname: T/TO/TOKUHIROM/HTTP-Headers-Fast-0.22.tar.gz + provides: + HTTP::Headers::Fast 0.22 + requirements: + HTTP::Date 0 + Module::Build::Tiny 0.035 + perl 5.008001 + HTTP-Lite-2.44 + pathname: N/NE/NEILB/HTTP-Lite-2.44.tar.gz + provides: + HTTP::Lite 2.44 + requirements: + ExtUtils::MakeMaker 0 + Fcntl 0 + Socket 1.3 + perl 5.005 + strict 0 + warnings 0 + HTTP-Message-6.44 + pathname: O/OA/OALDERS/HTTP-Message-6.44.tar.gz + provides: + HTTP::Config 6.44 + HTTP::Headers 6.44 + HTTP::Headers::Auth 6.44 + HTTP::Headers::ETag 6.44 + HTTP::Headers::Util 6.44 + HTTP::Message 6.44 + HTTP::Request 6.44 + HTTP::Request::Common 6.44 + HTTP::Response 6.44 + HTTP::Status 6.44 + requirements: + Carp 0 + Clone 0.46 + Compress::Raw::Bzip2 0 + Compress::Raw::Zlib 2.062 + Encode 3.01 + Encode::Locale 1 + Exporter 5.57 + ExtUtils::MakeMaker 0 + File::Spec 0 + HTTP::Date 6 + IO::Compress::Bzip2 2.021 + IO::Compress::Deflate 0 + IO::Compress::Gzip 0 + IO::HTML 0 + IO::Uncompress::Inflate 0 + IO::Uncompress::RawInflate 0 + LWP::MediaTypes 6 + MIME::Base64 2.1 + MIME::QuotedPrint 0 + URI 1.10 + parent 0 + perl 5.008001 + strict 0 + warnings 0 + HTTP-MultiPartParser-0.02 + pathname: C/CH/CHANSEN/HTTP-MultiPartParser-0.02.tar.gz + provides: + HTTP::MultiPartParser 0.02 + requirements: + Carp 0 + ExtUtils::MakeMaker 6.59 + Scalar::Util 0 + Test::Deep 0 + Test::More 0.88 + perl 5.008001 + HTTP-Negotiate-6.01 + pathname: G/GA/GAAS/HTTP-Negotiate-6.01.tar.gz + provides: + HTTP::Negotiate 6.01 + requirements: + ExtUtils::MakeMaker 0 + HTTP::Headers 6 + perl 5.008001 + HTTP-Request-AsCGI-1.2 + pathname: F/FL/FLORA/HTTP-Request-AsCGI-1.2.tar.gz + provides: + HTTP::Request::AsCGI 1.2 + requirements: + Carp 0 + Class::Accessor 0 + ExtUtils::MakeMaker 0 + HTTP::Request 0 + HTTP::Response 1.53 + IO::File 0 + Test::More 0 + URI::Escape 0 + Hash-Merge-0.302 + pathname: H/HE/HERMES/Hash-Merge-0.302.tar.gz + provides: + Hash::Merge 0.302 + requirements: + Clone::Choose 0.008 + ExtUtils::MakeMaker 6.64 + Scalar::Util 0 + perl 5.008001 + Hash-MultiValue-0.16 + pathname: A/AR/ARISTOTLE/Hash-MultiValue-0.16.tar.gz + provides: + Hash::MultiValue 0.16 + requirements: + ExtUtils::MakeMaker 0 + perl 5.008001 + Hash-Util-FieldHash-Compat-0.11 + pathname: E/ET/ETHER/Hash-Util-FieldHash-Compat-0.11.tar.gz + provides: + Hash::Util::FieldHash::Compat 0.11 + Hash::Util::FieldHash::Compat::Heavy 0.11 + requirements: + Exporter 0 + ExtUtils::MakeMaker 0 + constant 0 + parent 0 + perl 5.006 + strict 0 + warnings 0 + Heap-0.80 + pathname: J/JM/JMM/Heap-0.80.tar.gz + provides: + Heap 0.80 + Heap::Binary 0.80 + Heap::Binomial 0.80 + Heap::Elem 0.80 + Heap::Elem::Num 0.80 + Heap::Elem::NumRev 0.80 + Heap::Elem::Ref 0.80 + Heap::Elem::RefRev 0.80 + Heap::Elem::Str 0.80 + Heap::Elem::StrRev 0.80 + Heap::Fibonacci 0.80 + requirements: + ExtUtils::MakeMaker 0 + Test::Simple 0.45 + Hook-LexWrap-0.26 + pathname: E/ET/ETHER/Hook-LexWrap-0.26.tar.gz + provides: + Hook::LexWrap 0.26 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + overload 0 + perl 5.006 + strict 0 + warnings 0 + IO-HTML-1.004 + pathname: C/CJ/CJM/IO-HTML-1.004.tar.gz + provides: + IO::HTML 1.004 + requirements: + Carp 0 + Encode 2.10 + Exporter 5.57 + ExtUtils::MakeMaker 0 + perl 5.008 + IO-Socket-SSL-2.083 + pathname: S/SU/SULLR/IO-Socket-SSL-2.083.tar.gz + provides: + IO::Socket::SSL 2.083 + IO::Socket::SSL::Intercept 2.056 + IO::Socket::SSL::OCSP_Cache 2.083 + IO::Socket::SSL::OCSP_Resolver 2.083 + IO::Socket::SSL::PublicSuffix undef + IO::Socket::SSL::SSL_Context 2.083 + IO::Socket::SSL::SSL_HANDLE 2.083 + IO::Socket::SSL::Session_Cache 2.083 + IO::Socket::SSL::Trace 2.083 + IO::Socket::SSL::Utils 2.015 + requirements: + ExtUtils::MakeMaker 0 + Mozilla::CA 0 + Net::SSLeay 1.46 + Scalar::Util 0 + IO-Socket-Timeout-0.32 + pathname: D/DA/DAMS/IO-Socket-Timeout-0.32.tar.gz + provides: + IO::Socket::Timeout 0.32 + IO::Socket::Timeout::Role::PerlIO 0.32 + IO::Socket::Timeout::Role::SetSockOpt 0.32 + requirements: + ExtUtils::MakeMaker 0 + File::Spec 0 + IO::Handle 0 + IPC::Open3 0 + Module::Build::Tiny 0.039 + PerlIO::via::Timeout 0.32 + Test::More 0 + Test::TCP 0 + IO-String-1.08 + pathname: G/GA/GAAS/IO-String-1.08.tar.gz + provides: + IO::String 1.08 + requirements: + ExtUtils::MakeMaker 0 + IPC-Signal-1.00 + pathname: R/RO/ROSCH/IPC-Signal-1.00.tar.gz + provides: + IPC::Signal 1.00 + requirements: + ExtUtils::MakeMaker 0 + JSON-4.10 + pathname: I/IS/ISHIGAKI/JSON-4.10.tar.gz + provides: + JSON 4.10 + JSON::Backend::PP 4.10 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + JSON-Any-1.39 + pathname: E/ET/ETHER/JSON-Any-1.39.tar.gz + provides: + JSON::Any 1.39 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + constant 0 + perl 5.008 + strict 0 + warnings 0 + JSON-MaybeXS-1.004005 + pathname: E/ET/ETHER/JSON-MaybeXS-1.004005.tar.gz + provides: + JSON::MaybeXS 1.004005 + requirements: + Carp 0 + Cpanel::JSON::XS 2.3310 + ExtUtils::MakeMaker 0 + JSON::PP 2.27300 + Scalar::Util 0 + perl 5.006 + JSON-XS-4.03 + pathname: M/ML/MLEHMANN/JSON-XS-4.03.tar.gz + provides: + JSON::XS 4.03 + requirements: + Canary::Stability 0 + ExtUtils::MakeMaker 6.52 + Types::Serialiser 0 + common::sense 0 + LWP-MediaTypes-6.04 + pathname: O/OA/OALDERS/LWP-MediaTypes-6.04.tar.gz + provides: + LWP::MediaTypes 6.04 + requirements: + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 0 + File::Basename 0 + Scalar::Util 0 + perl 5.006002 + strict 0 + LWP-Protocol-https-6.10 + pathname: O/OA/OALDERS/LWP-Protocol-https-6.10.tar.gz + provides: + LWP::Protocol::https 6.10 + LWP::Protocol::https::Socket 6.10 + requirements: + ExtUtils::MakeMaker 0 + IO::Socket::SSL 1.54 + LWP::Protocol::http 0 + LWP::UserAgent 6.06 + Mozilla::CA 20180117 + Net::HTTPS 6 + base 0 + perl 5.008001 + strict 0 + LWP-UserAgent-Mockable-1.18 + pathname: M/MJ/MJEMMESON/LWP-UserAgent-Mockable-1.18.tar.gz + provides: + LWP::UserAgent::Mockable 1.18 + requirements: + B::Deparse 0.61 + Hook::LexWrap 0 + LWP 0 + LWP::UserAgent 0 + Module::Build::Tiny 0.039 + Safe::Isa 0 + Storable 2.05 + URI 0 + perl 5.006 + strict 0 + warnings 0 + Lingua-EN-Inflect-1.905 + pathname: D/DC/DCONWAY/Lingua-EN-Inflect-1.905.tar.gz + provides: + Lingua::EN::Inflect 1.905 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + List-AllUtils-0.19 + pathname: D/DR/DROLSKY/List-AllUtils-0.19.tar.gz + provides: + List::AllUtils 0.19 + requirements: + Exporter 0 + ExtUtils::MakeMaker 0 + List::SomeUtils 0.58 + List::Util 1.56 + List::UtilsBy 0.11 + base 0 + strict 0 + warnings 0 + List-MoreUtils-0.430 + pathname: R/RE/REHSACK/List-MoreUtils-0.430.tar.gz + provides: + List::MoreUtils 0.430 + List::MoreUtils::PP 0.430 + requirements: + Exporter::Tiny 0.038 + ExtUtils::MakeMaker 0 + List::MoreUtils::XS 0.430 + List-MoreUtils-XS-0.430 + pathname: R/RE/REHSACK/List-MoreUtils-XS-0.430.tar.gz + provides: + List::MoreUtils::XS 0.430 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + File::Basename 0 + File::Copy 0 + File::Path 0 + File::Spec 0 + IPC::Cmd 0 + XSLoader 0.22 + base 0 + List-SomeUtils-0.59 + pathname: D/DR/DROLSKY/List-SomeUtils-0.59.tar.gz + provides: + List::SomeUtils 0.59 + List::SomeUtils::PP 0.59 + requirements: + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 0 + List::SomeUtils::XS 0.54 + List::Util 0 + Module::Implementation 0.04 + Text::ParseWords 0 + perl 5.006 + strict 0 + vars 0 + warnings 0 + List-SomeUtils-XS-0.58 + pathname: D/DR/DROLSKY/List-SomeUtils-XS-0.58.tar.gz + provides: + List::SomeUtils::XS 0.58 + requirements: + ExtUtils::MakeMaker 0 + XSLoader 0 + strict 0 + warnings 0 + List-UtilsBy-0.12 + pathname: P/PE/PEVANS/List-UtilsBy-0.12.tar.gz + provides: + List::UtilsBy 0.12 + requirements: + Exporter 5.57 + Module::Build 0.4004 + Locale-PO-0.27 + pathname: C/CO/COSIMO/Locale-PO-0.27.tar.gz + provides: + Locale::PO 0.27 + requirements: + ExtUtils::MakeMaker 0 + File::Slurp 0 + Test::More 0 + Log-Dispatch-2.71 + pathname: D/DR/DROLSKY/Log-Dispatch-2.71.tar.gz + provides: + Log::Dispatch 2.71 + Log::Dispatch::ApacheLog 2.71 + Log::Dispatch::Base 2.71 + Log::Dispatch::Code 2.71 + Log::Dispatch::Email 2.71 + Log::Dispatch::Email::MIMELite 2.71 + Log::Dispatch::Email::MailSend 2.71 + Log::Dispatch::Email::MailSender 2.71 + Log::Dispatch::Email::MailSendmail 2.71 + Log::Dispatch::File 2.71 + Log::Dispatch::File::Locked 2.71 + Log::Dispatch::Handle 2.71 + Log::Dispatch::Null 2.71 + Log::Dispatch::Output 2.71 + Log::Dispatch::Screen 2.71 + Log::Dispatch::Syslog 2.71 + Log::Dispatch::Types 2.71 + Log::Dispatch::Vars 2.71 + requirements: + Carp 0 + Devel::GlobalDestruction 0 + Dist::CheckConflicts 0.02 + Encode 0 + Exporter 0 + ExtUtils::MakeMaker 0 + Fcntl 0 + IO::Handle 0 + Module::Runtime 0 + Params::ValidationCompiler 0 + Scalar::Util 0 + Specio 0.32 + Specio::Declare 0 + Specio::Exporter 0 + Specio::Library::Builtins 0 + Specio::Library::Numeric 0 + Specio::Library::String 0 + Sys::Syslog 0.28 + Try::Tiny 0 + base 0 + namespace::autoclean 0 + parent 0 + perl 5.006 + strict 0 + warnings 0 + MIME-Types-2.24 + pathname: M/MA/MARKOV/MIME-Types-2.24.tar.gz + provides: + MIME::Type 2.24 + MIME::Types 2.24 + MojoX::MIME::Types 2.24 + requirements: + ExtUtils::MakeMaker 0 + File::Basename 0 + File::Spec 0 + List::Util 0 + Test::More 0.47 + MRO-Compat-0.15 + pathname: H/HA/HAARG/MRO-Compat-0.15.tar.gz + provides: + MRO::Compat 0.15 + requirements: + ExtUtils::MakeMaker 0 + perl 5.006 + MailTools-2.21 + pathname: M/MA/MARKOV/MailTools-2.21.tar.gz + provides: + Mail::Address 2.21 + Mail::Cap 2.21 + Mail::Field 2.21 + Mail::Field::AddrList 2.21 + Mail::Field::Date 2.21 + Mail::Field::Generic 2.21 + Mail::Filter 2.21 + Mail::Header 2.21 + Mail::Internet 2.21 + Mail::Mailer 2.21 + Mail::Mailer::qmail 2.21 + Mail::Mailer::rfc822 2.21 + Mail::Mailer::sendmail 2.21 + Mail::Mailer::smtp 2.21 + Mail::Mailer::smtp::pipe 2.21 + Mail::Mailer::smtps 2.21 + Mail::Mailer::smtps::pipe 2.21 + Mail::Mailer::testfile 2.21 + Mail::Mailer::testfile::pipe 2.21 + Mail::Send 2.21 + Mail::Util 2.21 + MailTools 2.21 + requirements: + Date::Format 0 + Date::Parse 0 + ExtUtils::MakeMaker 0 + IO::Handle 0 + Net::Domain 1.05 + Net::SMTP 1.03 + Test::More 0 + Math-Random-ISAAC-1.004 + pathname: J/JA/JAWNSY/Math-Random-ISAAC-1.004.tar.gz + provides: + Math::Random::ISAAC 1.004 + Math::Random::ISAAC::PP 1.004 + requirements: + ExtUtils::MakeMaker 6.31 + Test::More 0.62 + Test::NoWarnings 0.084 + Math-Random-MT-Auto-6.23 + pathname: J/JD/JDHEDDEN/Math-Random-MT-Auto-6.23.tar.gz + provides: + Math::Random::MT::Auto 6.23 + Math::Random::MT::Auto::Range 6.23 + requirements: + Carp 0 + Config 0 + Data::Dumper 0 + Exception::Class 1.32 + ExtUtils::MakeMaker 0 + Fcntl 0 + Object::InsideOut 3.88 + Scalar::Util 1.23 + Test::More 0 + XSLoader 0 + strict 0 + warnings 0 + Math-Random-Secure-0.080001 + pathname: F/FR/FREW/Math-Random-Secure-0.080001.tar.gz + provides: + Math::Random::Secure 0.080001 + Math::Random::Secure::RNG 0.080001 + requirements: + Crypt::Random::Source 0.07 + ExtUtils::MakeMaker 0 + Math::Random::ISAAC 1.001 + Moo 2 + Method-Signatures-Simple-1.07 + pathname: R/RH/RHESA/Method-Signatures-Simple-1.07.tar.gz + provides: + Method::Signatures::Simple 1.07 + requirements: + Devel::Declare 0.003001 + ExtUtils::MakeMaker 6.30 + Module-Build-0.4234 + pathname: L/LE/LEONT/Module-Build-0.4234.tar.gz + provides: + Module::Build 0.4234 + Module::Build::Base 0.4234 + Module::Build::Compat 0.4234 + Module::Build::Config 0.4234 + Module::Build::Cookbook 0.4234 + Module::Build::Dumper 0.4234 + Module::Build::Notes 0.4234 + Module::Build::PPMMaker 0.4234 + Module::Build::Platform::Default 0.4234 + Module::Build::Platform::MacOS 0.4234 + Module::Build::Platform::Unix 0.4234 + Module::Build::Platform::VMS 0.4234 + Module::Build::Platform::VOS 0.4234 + Module::Build::Platform::Windows 0.4234 + Module::Build::Platform::aix 0.4234 + Module::Build::Platform::cygwin 0.4234 + Module::Build::Platform::darwin 0.4234 + Module::Build::Platform::os2 0.4234 + Module::Build::PodParser 0.4234 + requirements: + CPAN::Meta 2.142060 + Cwd 0 + Data::Dumper 0 + ExtUtils::CBuilder 0.27 + ExtUtils::Install 0 + ExtUtils::Manifest 0 + ExtUtils::Mkbootstrap 0 + ExtUtils::ParseXS 2.21 + File::Basename 0 + File::Compare 0 + File::Copy 0 + File::Find 0 + File::Path 0 + File::Spec 0.82 + Getopt::Long 0 + Module::Metadata 1.000002 + Perl::OSType 1 + TAP::Harness 3.29 + Text::Abbrev 0 + Text::ParseWords 0 + perl 5.006001 + version 0.87 + Module-Build-Tiny-0.045 + pathname: L/LE/LEONT/Module-Build-Tiny-0.045.tar.gz + provides: + Module::Build::Tiny 0.045 + requirements: + CPAN::Meta 0 + DynaLoader 0 + Exporter 5.57 + ExtUtils::CBuilder 0 + ExtUtils::Config 0.003 + ExtUtils::Helpers 0.020 + ExtUtils::Install 0 + ExtUtils::InstallPaths 0.002 + ExtUtils::ParseXS 0 + File::Basename 0 + File::Find 0 + File::Path 0 + File::Spec::Functions 0 + Getopt::Long 2.36 + JSON::PP 2 + Pod::Man 0 + TAP::Harness::Env 0 + perl 5.006 + strict 0 + warnings 0 + Module-Find-0.16 + pathname: C/CR/CRENZ/Module-Find-0.16.tar.gz + provides: + Module::Find 0.16 + requirements: + ExtUtils::MakeMaker 0 + File::Find 0 + File::Spec 0 + Test::More 0 + perl 5.008001 + Module-Implementation-0.09 + pathname: D/DR/DROLSKY/Module-Implementation-0.09.tar.gz + provides: + Module::Implementation 0.09 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + Module::Runtime 0.012 + Try::Tiny 0 + strict 0 + warnings 0 + Module-Install-1.21 + pathname: E/ET/ETHER/Module-Install-1.21.tar.gz + provides: + Module::AutoInstall 1.21 + Module::Install 1.21 + Module::Install::Admin 1.21 + Module::Install::Admin::Bundle 1.21 + Module::Install::Admin::Compiler 1.21 + Module::Install::Admin::Find 1.21 + Module::Install::Admin::Include 1.21 + Module::Install::Admin::Makefile 1.21 + Module::Install::Admin::Manifest 1.21 + Module::Install::Admin::Metadata 1.21 + Module::Install::Admin::ScanDeps 1.21 + Module::Install::Admin::WriteAll 1.21 + Module::Install::AutoInstall 1.21 + Module::Install::Base 1.21 + Module::Install::Base::FakeAdmin 1.21 + Module::Install::Bundle 1.21 + Module::Install::Can 1.21 + Module::Install::Compiler 1.21 + Module::Install::Deprecated 1.21 + Module::Install::External 1.21 + Module::Install::Fetch 1.21 + Module::Install::Include 1.21 + Module::Install::Inline 1.21 + Module::Install::MakeMaker 1.21 + Module::Install::Makefile 1.21 + Module::Install::Metadata 1.21 + Module::Install::PAR 1.21 + Module::Install::Run 1.21 + Module::Install::Scripts 1.21 + Module::Install::Share 1.21 + Module::Install::Win32 1.21 + Module::Install::With 1.21 + Module::Install::WriteAll 1.21 + inc::Module::Install 1.21 + requirements: + Devel::PPPort 3.16 + ExtUtils::Install 1.52 + ExtUtils::MakeMaker 6.59 + ExtUtils::ParseXS 2.19 + File::Path 0 + File::Remove 1.42 + File::Spec 3.28 + Module::Build 0.29 + Module::CoreList 2.17 + Module::ScanDeps 1.09 + Parse::CPAN::Meta 1.4413 + Test::Harness 3.13 + Test::More 0.86 + YAML::Tiny 1.38 + autodie 0 + perl 5.006 + Module-Pluggable-5.2 + pathname: S/SI/SIMONW/Module-Pluggable-5.2.tar.gz + provides: + Devel::InnerPackage 0.4 + Module::Pluggable 5.2 + Module::Pluggable::Object 5.2 + requirements: + Exporter 5.57 + ExtUtils::MakeMaker 0 + File::Basename 0 + File::Find 0 + File::Spec 3.00 + File::Spec::Functions 0 + if 0 + perl 5.00503 + strict 0 + Module-Runtime-0.016 + pathname: Z/ZE/ZEFRAM/Module-Runtime-0.016.tar.gz + provides: + Module::Runtime 0.016 + requirements: + Module::Build 0 + Test::More 0.41 + perl 5.006 + strict 0 + warnings 0 + Module-Runtime-Conflicts-0.003 + pathname: E/ET/ETHER/Module-Runtime-Conflicts-0.003.tar.gz + provides: + Module::Runtime::Conflicts 0.003 + requirements: + Dist::CheckConflicts 0 + ExtUtils::MakeMaker 0 + Module::Runtime 0 + perl 5.006 + strict 0 + warnings 0 + Module-ScanDeps-1.31 + pathname: R/RS/RSCHUPP/Module-ScanDeps-1.31.tar.gz + provides: + Module::ScanDeps 1.31 + requirements: + ExtUtils::MakeMaker 0 + File::Spec 0 + File::Temp 0 + Getopt::Long 0 + Module::Metadata 0 + Text::ParseWords 0 + perl 5.008001 + version 0 + Moo-2.005005 + pathname: H/HA/HAARG/Moo-2.005005.tar.gz + provides: + Method::Generate::Accessor undef + Method::Generate::BuildAll undef + Method::Generate::Constructor undef + Method::Generate::DemolishAll undef + Moo 2.005005 + Moo::HandleMoose undef + Moo::HandleMoose::FakeConstructor undef + Moo::HandleMoose::FakeMetaClass undef + Moo::HandleMoose::_TypeMap undef + Moo::Object undef + Moo::Role 2.005005 + Moo::_Utils undef + Moo::sification undef + oo undef + requirements: + Carp 0 + Class::Method::Modifiers 1.10 + Exporter 0 + ExtUtils::MakeMaker 0 + Role::Tiny 2.002003 + Scalar::Util 1.00 + Sub::Defer 2.006006 + Sub::Quote 2.006006 + perl 5.006 + MooX-Types-MooseLike-0.29 + pathname: M/MA/MATEU/MooX-Types-MooseLike-0.29.tar.gz + provides: + MooX::Types::MooseLike 0.29 + MooX::Types::MooseLike::Base 0.29 + requirements: + ExtUtils::MakeMaker 0 + Module::Runtime 0.014 + Moose-2.2203 + pathname: E/ET/ETHER/Moose-2.2203.tar.gz + provides: + Class::MOP 2.2203 + Class::MOP::Attribute 2.2203 + Class::MOP::Class 2.2203 + Class::MOP::Class::Immutable::Trait 2.2203 + Class::MOP::Deprecated 2.2203 + Class::MOP::Instance 2.2203 + Class::MOP::Method 2.2203 + Class::MOP::Method::Accessor 2.2203 + Class::MOP::Method::Constructor 2.2203 + Class::MOP::Method::Generated 2.2203 + Class::MOP::Method::Inlined 2.2203 + Class::MOP::Method::Meta 2.2203 + Class::MOP::Method::Wrapped 2.2203 + Class::MOP::MiniTrait 2.2203 + Class::MOP::Mixin 2.2203 + Class::MOP::Mixin::AttributeCore 2.2203 + Class::MOP::Mixin::HasAttributes 2.2203 + Class::MOP::Mixin::HasMethods 2.2203 + Class::MOP::Mixin::HasOverloads 2.2203 + Class::MOP::Module 2.2203 + Class::MOP::Object 2.2203 + Class::MOP::Overload 2.2203 + Class::MOP::Package 2.2203 + Moose 2.2203 + Moose::Cookbook 2.2203 + Moose::Cookbook::Basics::BankAccount_MethodModifiersAndSubclassing 2.2203 + Moose::Cookbook::Basics::BinaryTree_AttributeFeatures 2.2203 + Moose::Cookbook::Basics::BinaryTree_BuilderAndLazyBuild 2.2203 + Moose::Cookbook::Basics::Company_Subtypes 2.2203 + Moose::Cookbook::Basics::DateTime_ExtendingNonMooseParent 2.2203 + Moose::Cookbook::Basics::Document_AugmentAndInner 2.2203 + Moose::Cookbook::Basics::Genome_OverloadingSubtypesAndCoercion 2.2203 + Moose::Cookbook::Basics::HTTP_SubtypesAndCoercion 2.2203 + Moose::Cookbook::Basics::Immutable 2.2203 + Moose::Cookbook::Basics::Person_BUILDARGSAndBUILD 2.2203 + Moose::Cookbook::Basics::Point_AttributesAndSubclassing 2.2203 + Moose::Cookbook::Extending::Debugging_BaseClassRole 2.2203 + Moose::Cookbook::Extending::ExtensionOverview 2.2203 + Moose::Cookbook::Extending::Mooseish_MooseSugar 2.2203 + Moose::Cookbook::Legacy::Debugging_BaseClassReplacement 2.2203 + Moose::Cookbook::Legacy::Labeled_AttributeMetaclass 2.2203 + Moose::Cookbook::Legacy::Table_ClassMetaclass 2.2203 + Moose::Cookbook::Meta::GlobRef_InstanceMetaclass 2.2203 + Moose::Cookbook::Meta::Labeled_AttributeTrait 2.2203 + Moose::Cookbook::Meta::PrivateOrPublic_MethodMetaclass 2.2203 + Moose::Cookbook::Meta::Table_MetaclassTrait 2.2203 + Moose::Cookbook::Meta::WhyMeta 2.2203 + Moose::Cookbook::Roles::ApplicationToInstance 2.2203 + Moose::Cookbook::Roles::Comparable_CodeReuse 2.2203 + Moose::Cookbook::Roles::Restartable_AdvancedComposition 2.2203 + Moose::Cookbook::Snack::Keywords 2.2203 + Moose::Cookbook::Snack::Types 2.2203 + Moose::Cookbook::Style 2.2203 + Moose::Deprecated 2.2203 + Moose::Exception 2.2203 + Moose::Exception::AccessorMustReadWrite 2.2203 + Moose::Exception::AddParameterizableTypeTakesParameterizableType 2.2203 + Moose::Exception::AddRoleTakesAMooseMetaRoleInstance 2.2203 + Moose::Exception::AddRoleToARoleTakesAMooseMetaRole 2.2203 + Moose::Exception::ApplyTakesABlessedInstance 2.2203 + Moose::Exception::AttachToClassNeedsAClassMOPClassInstanceOrASubclass 2.2203 + Moose::Exception::AttributeConflictInRoles 2.2203 + Moose::Exception::AttributeConflictInSummation 2.2203 + Moose::Exception::AttributeExtensionIsNotSupportedInRoles 2.2203 + Moose::Exception::AttributeIsRequired 2.2203 + Moose::Exception::AttributeMustBeAnClassMOPMixinAttributeCoreOrSubclass 2.2203 + Moose::Exception::AttributeNamesDoNotMatch 2.2203 + Moose::Exception::AttributeValueIsNotAnObject 2.2203 + Moose::Exception::AttributeValueIsNotDefined 2.2203 + Moose::Exception::AutoDeRefNeedsArrayRefOrHashRef 2.2203 + Moose::Exception::BadOptionFormat 2.2203 + Moose::Exception::BothBuilderAndDefaultAreNotAllowed 2.2203 + Moose::Exception::BuilderDoesNotExist 2.2203 + Moose::Exception::BuilderMethodNotSupportedForAttribute 2.2203 + Moose::Exception::BuilderMethodNotSupportedForInlineAttribute 2.2203 + Moose::Exception::BuilderMustBeAMethodName 2.2203 + Moose::Exception::CallingMethodOnAnImmutableInstance 2.2203 + Moose::Exception::CallingReadOnlyMethodOnAnImmutableInstance 2.2203 + Moose::Exception::CanExtendOnlyClasses 2.2203 + Moose::Exception::CanOnlyConsumeRole 2.2203 + Moose::Exception::CanOnlyWrapBlessedCode 2.2203 + Moose::Exception::CanReblessOnlyIntoASubclass 2.2203 + Moose::Exception::CanReblessOnlyIntoASuperclass 2.2203 + Moose::Exception::CannotAddAdditionalTypeCoercionsToUnion 2.2203 + Moose::Exception::CannotAddAsAnAttributeToARole 2.2203 + Moose::Exception::CannotApplyBaseClassRolesToRole 2.2203 + Moose::Exception::CannotAssignValueToReadOnlyAccessor 2.2203 + Moose::Exception::CannotAugmentIfLocalMethodPresent 2.2203 + Moose::Exception::CannotAugmentNoSuperMethod 2.2203 + Moose::Exception::CannotAutoDerefWithoutIsa 2.2203 + Moose::Exception::CannotAutoDereferenceTypeConstraint 2.2203 + Moose::Exception::CannotCalculateNativeType 2.2203 + Moose::Exception::CannotCallAnAbstractBaseMethod 2.2203 + Moose::Exception::CannotCallAnAbstractMethod 2.2203 + Moose::Exception::CannotCoerceAWeakRef 2.2203 + Moose::Exception::CannotCoerceAttributeWhichHasNoCoercion 2.2203 + Moose::Exception::CannotCreateHigherOrderTypeWithoutATypeParameter 2.2203 + Moose::Exception::CannotCreateMethodAliasLocalMethodIsPresent 2.2203 + Moose::Exception::CannotCreateMethodAliasLocalMethodIsPresentInClass 2.2203 + Moose::Exception::CannotDelegateLocalMethodIsPresent 2.2203 + Moose::Exception::CannotDelegateWithoutIsa 2.2203 + Moose::Exception::CannotFindDelegateMetaclass 2.2203 + Moose::Exception::CannotFindType 2.2203 + Moose::Exception::CannotFindTypeGivenToMatchOnType 2.2203 + Moose::Exception::CannotFixMetaclassCompatibility 2.2203 + Moose::Exception::CannotGenerateInlineConstraint 2.2203 + Moose::Exception::CannotInitializeMooseMetaRoleComposite 2.2203 + Moose::Exception::CannotInlineTypeConstraintCheck 2.2203 + Moose::Exception::CannotLocatePackageInINC 2.2203 + Moose::Exception::CannotMakeMetaclassCompatible 2.2203 + Moose::Exception::CannotOverrideALocalMethod 2.2203 + Moose::Exception::CannotOverrideBodyOfMetaMethods 2.2203 + Moose::Exception::CannotOverrideLocalMethodIsPresent 2.2203 + Moose::Exception::CannotOverrideNoSuperMethod 2.2203 + Moose::Exception::CannotRegisterUnnamedTypeConstraint 2.2203 + Moose::Exception::CannotUseLazyBuildAndDefaultSimultaneously 2.2203 + Moose::Exception::CircularReferenceInAlso 2.2203 + Moose::Exception::ClassDoesNotHaveInitMeta 2.2203 + Moose::Exception::ClassDoesTheExcludedRole 2.2203 + Moose::Exception::ClassNamesDoNotMatch 2.2203 + Moose::Exception::CloneObjectExpectsAnInstanceOfMetaclass 2.2203 + Moose::Exception::CodeBlockMustBeACodeRef 2.2203 + Moose::Exception::CoercingWithoutCoercions 2.2203 + Moose::Exception::CoercionAlreadyExists 2.2203 + Moose::Exception::CoercionNeedsTypeConstraint 2.2203 + Moose::Exception::ConflictDetectedInCheckRoleExclusions 2.2203 + Moose::Exception::ConflictDetectedInCheckRoleExclusionsInToClass 2.2203 + Moose::Exception::ConstructClassInstanceTakesPackageName 2.2203 + Moose::Exception::CouldNotCreateMethod 2.2203 + Moose::Exception::CouldNotCreateWriter 2.2203 + Moose::Exception::CouldNotEvalConstructor 2.2203 + Moose::Exception::CouldNotEvalDestructor 2.2203 + Moose::Exception::CouldNotFindTypeConstraintToCoerceFrom 2.2203 + Moose::Exception::CouldNotGenerateInlineAttributeMethod 2.2203 + Moose::Exception::CouldNotLocateTypeConstraintForUnion 2.2203 + Moose::Exception::CouldNotParseType 2.2203 + Moose::Exception::CreateMOPClassTakesArrayRefOfAttributes 2.2203 + Moose::Exception::CreateMOPClassTakesArrayRefOfSuperclasses 2.2203 + Moose::Exception::CreateMOPClassTakesHashRefOfMethods 2.2203 + Moose::Exception::CreateTakesArrayRefOfRoles 2.2203 + Moose::Exception::CreateTakesHashRefOfAttributes 2.2203 + Moose::Exception::CreateTakesHashRefOfMethods 2.2203 + Moose::Exception::DefaultToMatchOnTypeMustBeCodeRef 2.2203 + Moose::Exception::DelegationToAClassWhichIsNotLoaded 2.2203 + Moose::Exception::DelegationToARoleWhichIsNotLoaded 2.2203 + Moose::Exception::DelegationToATypeWhichIsNotAClass 2.2203 + Moose::Exception::DoesRequiresRoleName 2.2203 + Moose::Exception::EnumCalledWithAnArrayRefAndAdditionalArgs 2.2203 + Moose::Exception::EnumValuesMustBeString 2.2203 + Moose::Exception::ExtendsMissingArgs 2.2203 + Moose::Exception::HandlesMustBeAHashRef 2.2203 + Moose::Exception::IllegalInheritedOptions 2.2203 + Moose::Exception::IllegalMethodTypeToAddMethodModifier 2.2203 + Moose::Exception::IncompatibleMetaclassOfSuperclass 2.2203 + Moose::Exception::InitMetaRequiresClass 2.2203 + Moose::Exception::InitializeTakesUnBlessedPackageName 2.2203 + Moose::Exception::InstanceBlessedIntoWrongClass 2.2203 + Moose::Exception::InstanceMustBeABlessedReference 2.2203 + Moose::Exception::InvalidArgPassedToMooseUtilMetaRole 2.2203 + Moose::Exception::InvalidArgumentToMethod 2.2203 + Moose::Exception::InvalidArgumentsToTraitAliases 2.2203 + Moose::Exception::InvalidBaseTypeGivenToCreateParameterizedTypeConstraint 2.2203 + Moose::Exception::InvalidHandleValue 2.2203 + Moose::Exception::InvalidHasProvidedInARole 2.2203 + Moose::Exception::InvalidNameForType 2.2203 + Moose::Exception::InvalidOverloadOperator 2.2203 + Moose::Exception::InvalidRoleApplication 2.2203 + Moose::Exception::InvalidTypeConstraint 2.2203 + Moose::Exception::InvalidTypeGivenToCreateParameterizedTypeConstraint 2.2203 + Moose::Exception::InvalidValueForIs 2.2203 + Moose::Exception::IsaDoesNotDoTheRole 2.2203 + Moose::Exception::IsaLacksDoesMethod 2.2203 + Moose::Exception::LazyAttributeNeedsADefault 2.2203 + Moose::Exception::Legacy 2.2203 + Moose::Exception::MOPAttributeNewNeedsAttributeName 2.2203 + Moose::Exception::MatchActionMustBeACodeRef 2.2203 + Moose::Exception::MessageParameterMustBeCodeRef 2.2203 + Moose::Exception::MetaclassIsAClassNotASubclassOfGivenMetaclass 2.2203 + Moose::Exception::MetaclassIsARoleNotASubclassOfGivenMetaclass 2.2203 + Moose::Exception::MetaclassIsNotASubclassOfGivenMetaclass 2.2203 + Moose::Exception::MetaclassMustBeASubclassOfMooseMetaClass 2.2203 + Moose::Exception::MetaclassMustBeASubclassOfMooseMetaRole 2.2203 + Moose::Exception::MetaclassMustBeDerivedFromClassMOPClass 2.2203 + Moose::Exception::MetaclassNotLoaded 2.2203 + Moose::Exception::MetaclassTypeIncompatible 2.2203 + Moose::Exception::MethodExpectedAMetaclassObject 2.2203 + Moose::Exception::MethodExpectsFewerArgs 2.2203 + Moose::Exception::MethodExpectsMoreArgs 2.2203 + Moose::Exception::MethodModifierNeedsMethodName 2.2203 + Moose::Exception::MethodNameConflictInRoles 2.2203 + Moose::Exception::MethodNameNotFoundInInheritanceHierarchy 2.2203 + Moose::Exception::MethodNameNotGiven 2.2203 + Moose::Exception::MustDefineAMethodName 2.2203 + Moose::Exception::MustDefineAnAttributeName 2.2203 + Moose::Exception::MustDefineAnOverloadOperator 2.2203 + Moose::Exception::MustHaveAtLeastOneValueToEnumerate 2.2203 + Moose::Exception::MustPassAHashOfOptions 2.2203 + Moose::Exception::MustPassAMooseMetaRoleInstanceOrSubclass 2.2203 + Moose::Exception::MustPassAPackageNameOrAnExistingClassMOPPackageInstance 2.2203 + Moose::Exception::MustPassEvenNumberOfArguments 2.2203 + Moose::Exception::MustPassEvenNumberOfAttributeOptions 2.2203 + Moose::Exception::MustProvideANameForTheAttribute 2.2203 + Moose::Exception::MustSpecifyAtleastOneMethod 2.2203 + Moose::Exception::MustSpecifyAtleastOneRole 2.2203 + Moose::Exception::MustSpecifyAtleastOneRoleToApplicant 2.2203 + Moose::Exception::MustSupplyAClassMOPAttributeInstance 2.2203 + Moose::Exception::MustSupplyADelegateToMethod 2.2203 + Moose::Exception::MustSupplyAMetaclass 2.2203 + Moose::Exception::MustSupplyAMooseMetaAttributeInstance 2.2203 + Moose::Exception::MustSupplyAnAccessorTypeToConstructWith 2.2203 + Moose::Exception::MustSupplyAnAttributeToConstructWith 2.2203 + Moose::Exception::MustSupplyArrayRefAsCurriedArguments 2.2203 + Moose::Exception::MustSupplyPackageNameAndName 2.2203 + Moose::Exception::NeedsTypeConstraintUnionForTypeCoercionUnion 2.2203 + Moose::Exception::NeitherAttributeNorAttributeNameIsGiven 2.2203 + Moose::Exception::NeitherClassNorClassNameIsGiven 2.2203 + Moose::Exception::NeitherRoleNorRoleNameIsGiven 2.2203 + Moose::Exception::NeitherTypeNorTypeNameIsGiven 2.2203 + Moose::Exception::NoAttributeFoundInSuperClass 2.2203 + Moose::Exception::NoBodyToInitializeInAnAbstractBaseClass 2.2203 + Moose::Exception::NoCasesMatched 2.2203 + Moose::Exception::NoConstraintCheckForTypeConstraint 2.2203 + Moose::Exception::NoDestructorClassSpecified 2.2203 + Moose::Exception::NoImmutableTraitSpecifiedForClass 2.2203 + Moose::Exception::NoParentGivenToSubtype 2.2203 + Moose::Exception::OnlyInstancesCanBeCloned 2.2203 + Moose::Exception::OperatorIsRequired 2.2203 + Moose::Exception::OverloadConflictInSummation 2.2203 + Moose::Exception::OverloadRequiresAMetaClass 2.2203 + Moose::Exception::OverloadRequiresAMetaMethod 2.2203 + Moose::Exception::OverloadRequiresAMetaOverload 2.2203 + Moose::Exception::OverloadRequiresAMethodNameOrCoderef 2.2203 + Moose::Exception::OverloadRequiresAnOperator 2.2203 + Moose::Exception::OverloadRequiresNamesForCoderef 2.2203 + Moose::Exception::OverrideConflictInComposition 2.2203 + Moose::Exception::OverrideConflictInSummation 2.2203 + Moose::Exception::PackageDoesNotUseMooseExporter 2.2203 + Moose::Exception::PackageNameAndNameParamsNotGivenToWrap 2.2203 + Moose::Exception::PackagesAndModulesAreNotCachable 2.2203 + Moose::Exception::ParameterIsNotSubtypeOfParent 2.2203 + Moose::Exception::ReferencesAreNotAllowedAsDefault 2.2203 + Moose::Exception::RequiredAttributeLacksInitialization 2.2203 + Moose::Exception::RequiredAttributeNeedsADefault 2.2203 + Moose::Exception::RequiredMethodsImportedByClass 2.2203 + Moose::Exception::RequiredMethodsNotImplementedByClass 2.2203 + Moose::Exception::Role::Attribute 2.2203 + Moose::Exception::Role::AttributeName 2.2203 + Moose::Exception::Role::Class 2.2203 + Moose::Exception::Role::EitherAttributeOrAttributeName 2.2203 + Moose::Exception::Role::Instance 2.2203 + Moose::Exception::Role::InstanceClass 2.2203 + Moose::Exception::Role::InvalidAttributeOptions 2.2203 + Moose::Exception::Role::Method 2.2203 + Moose::Exception::Role::ParamsHash 2.2203 + Moose::Exception::Role::Role 2.2203 + Moose::Exception::Role::RoleForCreate 2.2203 + Moose::Exception::Role::RoleForCreateMOPClass 2.2203 + Moose::Exception::Role::TypeConstraint 2.2203 + Moose::Exception::RoleDoesTheExcludedRole 2.2203 + Moose::Exception::RoleExclusionConflict 2.2203 + Moose::Exception::RoleNameRequired 2.2203 + Moose::Exception::RoleNameRequiredForMooseMetaRole 2.2203 + Moose::Exception::RolesDoNotSupportAugment 2.2203 + Moose::Exception::RolesDoNotSupportExtends 2.2203 + Moose::Exception::RolesDoNotSupportInner 2.2203 + Moose::Exception::RolesDoNotSupportRegexReferencesForMethodModifiers 2.2203 + Moose::Exception::RolesInCreateTakesAnArrayRef 2.2203 + Moose::Exception::RolesListMustBeInstancesOfMooseMetaRole 2.2203 + Moose::Exception::SingleParamsToNewMustBeHashRef 2.2203 + Moose::Exception::TriggerMustBeACodeRef 2.2203 + Moose::Exception::TypeConstraintCannotBeUsedForAParameterizableType 2.2203 + Moose::Exception::TypeConstraintIsAlreadyCreated 2.2203 + Moose::Exception::TypeParameterMustBeMooseMetaType 2.2203 + Moose::Exception::UnableToCanonicalizeHandles 2.2203 + Moose::Exception::UnableToCanonicalizeNonRolePackage 2.2203 + Moose::Exception::UnableToRecognizeDelegateMetaclass 2.2203 + Moose::Exception::UndefinedHashKeysPassedToMethod 2.2203 + Moose::Exception::UnionCalledWithAnArrayRefAndAdditionalArgs 2.2203 + Moose::Exception::UnionTakesAtleastTwoTypeNames 2.2203 + Moose::Exception::ValidationFailedForInlineTypeConstraint 2.2203 + Moose::Exception::ValidationFailedForTypeConstraint 2.2203 + Moose::Exception::WrapTakesACodeRefToBless 2.2203 + Moose::Exception::WrongTypeConstraintGiven 2.2203 + Moose::Exporter 2.2203 + Moose::Intro 2.2203 + Moose::Manual 2.2203 + Moose::Manual::Attributes 2.2203 + Moose::Manual::BestPractices 2.2203 + Moose::Manual::Classes 2.2203 + Moose::Manual::Concepts 2.2203 + Moose::Manual::Construction 2.2203 + Moose::Manual::Contributing 2.2203 + Moose::Manual::Delegation 2.2203 + Moose::Manual::Delta 2.2203 + Moose::Manual::Exceptions 2.2203 + Moose::Manual::Exceptions::Manifest 2.2203 + Moose::Manual::FAQ 2.2203 + Moose::Manual::MOP 2.2203 + Moose::Manual::MethodModifiers 2.2203 + Moose::Manual::MooseX 2.2203 + Moose::Manual::Resources 2.2203 + Moose::Manual::Roles 2.2203 + Moose::Manual::Support 2.2203 + Moose::Manual::Types 2.2203 + Moose::Manual::Unsweetened 2.2203 + Moose::Meta::Attribute 2.2203 + Moose::Meta::Attribute::Native 2.2203 + Moose::Meta::Attribute::Native::Trait 2.2203 + Moose::Meta::Attribute::Native::Trait::Array 2.2203 + Moose::Meta::Attribute::Native::Trait::Bool 2.2203 + Moose::Meta::Attribute::Native::Trait::Code 2.2203 + Moose::Meta::Attribute::Native::Trait::Counter 2.2203 + Moose::Meta::Attribute::Native::Trait::Hash 2.2203 + Moose::Meta::Attribute::Native::Trait::Number 2.2203 + Moose::Meta::Attribute::Native::Trait::String 2.2203 + Moose::Meta::Class 2.2203 + Moose::Meta::Class::Immutable::Trait 2.2203 + Moose::Meta::Instance 2.2203 + Moose::Meta::Method 2.2203 + Moose::Meta::Method::Accessor 2.2203 + Moose::Meta::Method::Accessor::Native 2.2203 + Moose::Meta::Method::Accessor::Native::Array 2.2203 + Moose::Meta::Method::Accessor::Native::Array::Writer 2.2203 + Moose::Meta::Method::Accessor::Native::Array::accessor 2.2203 + Moose::Meta::Method::Accessor::Native::Array::clear 2.2203 + Moose::Meta::Method::Accessor::Native::Array::count 2.2203 + Moose::Meta::Method::Accessor::Native::Array::delete 2.2203 + Moose::Meta::Method::Accessor::Native::Array::elements 2.2203 + Moose::Meta::Method::Accessor::Native::Array::first 2.2203 + Moose::Meta::Method::Accessor::Native::Array::first_index 2.2203 + Moose::Meta::Method::Accessor::Native::Array::get 2.2203 + Moose::Meta::Method::Accessor::Native::Array::grep 2.2203 + Moose::Meta::Method::Accessor::Native::Array::insert 2.2203 + Moose::Meta::Method::Accessor::Native::Array::is_empty 2.2203 + Moose::Meta::Method::Accessor::Native::Array::join 2.2203 + Moose::Meta::Method::Accessor::Native::Array::map 2.2203 + Moose::Meta::Method::Accessor::Native::Array::natatime 2.2203 + Moose::Meta::Method::Accessor::Native::Array::pop 2.2203 + Moose::Meta::Method::Accessor::Native::Array::push 2.2203 + Moose::Meta::Method::Accessor::Native::Array::reduce 2.2203 + Moose::Meta::Method::Accessor::Native::Array::set 2.2203 + Moose::Meta::Method::Accessor::Native::Array::shallow_clone 2.2203 + Moose::Meta::Method::Accessor::Native::Array::shift 2.2203 + Moose::Meta::Method::Accessor::Native::Array::shuffle 2.2203 + Moose::Meta::Method::Accessor::Native::Array::sort 2.2203 + Moose::Meta::Method::Accessor::Native::Array::sort_in_place 2.2203 + Moose::Meta::Method::Accessor::Native::Array::splice 2.2203 + Moose::Meta::Method::Accessor::Native::Array::uniq 2.2203 + Moose::Meta::Method::Accessor::Native::Array::unshift 2.2203 + Moose::Meta::Method::Accessor::Native::Bool::not 2.2203 + Moose::Meta::Method::Accessor::Native::Bool::set 2.2203 + Moose::Meta::Method::Accessor::Native::Bool::toggle 2.2203 + Moose::Meta::Method::Accessor::Native::Bool::unset 2.2203 + Moose::Meta::Method::Accessor::Native::Code::execute 2.2203 + Moose::Meta::Method::Accessor::Native::Code::execute_method 2.2203 + Moose::Meta::Method::Accessor::Native::Collection 2.2203 + Moose::Meta::Method::Accessor::Native::Counter::Writer 2.2203 + Moose::Meta::Method::Accessor::Native::Counter::dec 2.2203 + Moose::Meta::Method::Accessor::Native::Counter::inc 2.2203 + Moose::Meta::Method::Accessor::Native::Counter::reset 2.2203 + Moose::Meta::Method::Accessor::Native::Counter::set 2.2203 + Moose::Meta::Method::Accessor::Native::Hash 2.2203 + Moose::Meta::Method::Accessor::Native::Hash::Writer 2.2203 + Moose::Meta::Method::Accessor::Native::Hash::accessor 2.2203 + Moose::Meta::Method::Accessor::Native::Hash::clear 2.2203 + Moose::Meta::Method::Accessor::Native::Hash::count 2.2203 + Moose::Meta::Method::Accessor::Native::Hash::defined 2.2203 + Moose::Meta::Method::Accessor::Native::Hash::delete 2.2203 + Moose::Meta::Method::Accessor::Native::Hash::elements 2.2203 + Moose::Meta::Method::Accessor::Native::Hash::exists 2.2203 + Moose::Meta::Method::Accessor::Native::Hash::get 2.2203 + Moose::Meta::Method::Accessor::Native::Hash::is_empty 2.2203 + Moose::Meta::Method::Accessor::Native::Hash::keys 2.2203 + Moose::Meta::Method::Accessor::Native::Hash::kv 2.2203 + Moose::Meta::Method::Accessor::Native::Hash::set 2.2203 + Moose::Meta::Method::Accessor::Native::Hash::shallow_clone 2.2203 + Moose::Meta::Method::Accessor::Native::Hash::values 2.2203 + Moose::Meta::Method::Accessor::Native::Number::abs 2.2203 + Moose::Meta::Method::Accessor::Native::Number::add 2.2203 + Moose::Meta::Method::Accessor::Native::Number::div 2.2203 + Moose::Meta::Method::Accessor::Native::Number::mod 2.2203 + Moose::Meta::Method::Accessor::Native::Number::mul 2.2203 + Moose::Meta::Method::Accessor::Native::Number::set 2.2203 + Moose::Meta::Method::Accessor::Native::Number::sub 2.2203 + Moose::Meta::Method::Accessor::Native::Reader 2.2203 + Moose::Meta::Method::Accessor::Native::String::append 2.2203 + Moose::Meta::Method::Accessor::Native::String::chomp 2.2203 + Moose::Meta::Method::Accessor::Native::String::chop 2.2203 + Moose::Meta::Method::Accessor::Native::String::clear 2.2203 + Moose::Meta::Method::Accessor::Native::String::inc 2.2203 + Moose::Meta::Method::Accessor::Native::String::length 2.2203 + Moose::Meta::Method::Accessor::Native::String::match 2.2203 + Moose::Meta::Method::Accessor::Native::String::prepend 2.2203 + Moose::Meta::Method::Accessor::Native::String::replace 2.2203 + Moose::Meta::Method::Accessor::Native::String::substr 2.2203 + Moose::Meta::Method::Accessor::Native::Writer 2.2203 + Moose::Meta::Method::Augmented 2.2203 + Moose::Meta::Method::Constructor 2.2203 + Moose::Meta::Method::Delegation 2.2203 + Moose::Meta::Method::Destructor 2.2203 + Moose::Meta::Method::Meta 2.2203 + Moose::Meta::Method::Overridden 2.2203 + Moose::Meta::Mixin::AttributeCore 2.2203 + Moose::Meta::Object::Trait 2.2203 + Moose::Meta::Role 2.2203 + Moose::Meta::Role::Application 2.2203 + Moose::Meta::Role::Application::RoleSummation 2.2203 + Moose::Meta::Role::Application::ToClass 2.2203 + Moose::Meta::Role::Application::ToInstance 2.2203 + Moose::Meta::Role::Application::ToRole 2.2203 + Moose::Meta::Role::Attribute 2.2203 + Moose::Meta::Role::Composite 2.2203 + Moose::Meta::Role::Method 2.2203 + Moose::Meta::Role::Method::Conflicting 2.2203 + Moose::Meta::Role::Method::Required 2.2203 + Moose::Meta::TypeCoercion 2.2203 + Moose::Meta::TypeCoercion::Union 2.2203 + Moose::Meta::TypeConstraint 2.2203 + Moose::Meta::TypeConstraint::Class 2.2203 + Moose::Meta::TypeConstraint::DuckType 2.2203 + Moose::Meta::TypeConstraint::Enum 2.2203 + Moose::Meta::TypeConstraint::Parameterizable 2.2203 + Moose::Meta::TypeConstraint::Parameterized 2.2203 + Moose::Meta::TypeConstraint::Registry 2.2203 + Moose::Meta::TypeConstraint::Role 2.2203 + Moose::Meta::TypeConstraint::Union 2.2203 + Moose::Object 2.2203 + Moose::Role 2.2203 + Moose::Spec::Role 2.2203 + Moose::Unsweetened 2.2203 + Moose::Util 2.2203 + Moose::Util::MetaRole 2.2203 + Moose::Util::TypeConstraints 2.2203 + Moose::Util::TypeConstraints::Builtins 2.2203 + Test::Moose 2.2203 + metaclass 2.2203 + oose 2.2203 + requirements: + Carp 1.22 + Class::Load 0.09 + Class::Load::XS 0.01 + Data::OptList 0.107 + Devel::GlobalDestruction 0 + Devel::OverloadInfo 0.005 + Devel::StackTrace 2.03 + Dist::CheckConflicts 0.02 + Eval::Closure 0.04 + ExtUtils::MakeMaker 0 + List::Util 1.56 + MRO::Compat 0.05 + Module::Runtime 0.014 + Module::Runtime::Conflicts 0.002 + Package::DeprecationManager 0.11 + Package::Stash 0.32 + Package::Stash::XS 0.24 + Params::Util 1.00 + Scalar::Util 1.19 + Sub::Exporter 0.980 + Sub::Util 1.40 + Try::Tiny 0.17 + parent 0.223 + strict 1.03 + warnings 1.03 + MooseX-Clone-0.06 + pathname: E/ET/ETHER/MooseX-Clone-0.06.tar.gz + provides: + MooseX::Clone 0.06 + MooseX::Clone::Meta::Attribute::Trait::Clone 0.06 + MooseX::Clone::Meta::Attribute::Trait::Clone::Base 0.06 + MooseX::Clone::Meta::Attribute::Trait::Clone::Std 0.06 + MooseX::Clone::Meta::Attribute::Trait::Copy 0.06 + MooseX::Clone::Meta::Attribute::Trait::NoClone 0.06 + MooseX::Clone::Meta::Attribute::Trait::StorableClone 0.06 + requirements: + Carp 0 + Data::Visitor 0.24 + Data::Visitor::Callback 0 + Hash::Util::FieldHash::Compat 0 + Module::Build::Tiny 0.039 + Moose::Role 0 + Storable 0 + namespace::autoclean 0 + perl 5.006 + MooseX-Emulate-Class-Accessor-Fast-0.009032 + pathname: H/HA/HAARG/MooseX-Emulate-Class-Accessor-Fast-0.009032.tar.gz + provides: + MooseX::Adopt::Class::Accessor::Fast 0.009032 + MooseX::Emulate::Class::Accessor::Fast 0.009032 + MooseX::Emulate::Class::Accessor::Fast::Meta::Accessor undef + MooseX::Emulate::Class::Accessor::Fast::Meta::Role::Attribute undef + requirements: + ExtUtils::MakeMaker 0 + Moose 0.84 + namespace::clean 0 + MooseX-Getopt-0.75 + pathname: E/ET/ETHER/MooseX-Getopt-0.75.tar.gz + provides: + MooseX::Getopt 0.75 + MooseX::Getopt::Basic 0.75 + MooseX::Getopt::Dashes 0.75 + MooseX::Getopt::GLD 0.75 + MooseX::Getopt::Meta::Attribute 0.75 + MooseX::Getopt::Meta::Attribute::NoGetopt 0.75 + MooseX::Getopt::Meta::Attribute::Trait 0.75 + MooseX::Getopt::Meta::Attribute::Trait::NoGetopt 0.75 + MooseX::Getopt::OptionTypeMap 0.75 + MooseX::Getopt::ProcessedArgv 0.75 + MooseX::Getopt::Strict 0.75 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + Getopt::Long 2.37 + Getopt::Long::Descriptive 0.088 + Module::Build::Tiny 0.034 + Moose 0 + Moose::Meta::Attribute 0 + Moose::Role 0.56 + Moose::Util::TypeConstraints 0 + MooseX::Role::Parameterized 1.01 + Scalar::Util 0 + Try::Tiny 0 + namespace::autoclean 0 + perl 5.006 + strict 0 + warnings 0 + MooseX-MethodAttributes-0.32 + pathname: E/ET/ETHER/MooseX-MethodAttributes-0.32.tar.gz + provides: + MooseX::MethodAttributes 0.32 + MooseX::MethodAttributes::Inheritable 0.32 + MooseX::MethodAttributes::Role 0.32 + MooseX::MethodAttributes::Role::AttrContainer 0.32 + MooseX::MethodAttributes::Role::AttrContainer::Inheritable 0.32 + MooseX::MethodAttributes::Role::Meta::Class 0.32 + MooseX::MethodAttributes::Role::Meta::Map 0.32 + MooseX::MethodAttributes::Role::Meta::Method 0.32 + MooseX::MethodAttributes::Role::Meta::Method::MaybeWrapped 0.32 + MooseX::MethodAttributes::Role::Meta::Method::Wrapped 0.32 + MooseX::MethodAttributes::Role::Meta::Role 0.32 + MooseX::MethodAttributes::Role::Meta::Role::Application 0.32 + MooseX::MethodAttributes::Role::Meta::Role::Application::Summation 0.32 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + Moose 0 + Moose::Exporter 0 + Moose::Role 0 + Moose::Util 0 + Moose::Util::MetaRole 0 + namespace::autoclean 0.08 + perl 5.006 + MooseX-Role-Parameterized-1.11 + pathname: E/ET/ETHER/MooseX-Role-Parameterized-1.11.tar.gz + provides: + MooseX::Role::Parameterised 1.11 + MooseX::Role::Parameterized 1.11 + MooseX::Role::Parameterized::Meta::Role::Parameterized 1.11 + MooseX::Role::Parameterized::Meta::Trait::Parameterizable 1.11 + MooseX::Role::Parameterized::Meta::Trait::Parameterized 1.11 + MooseX::Role::Parameterized::Parameters 1.11 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + Module::Build::Tiny 0.034 + Module::Runtime 0 + Moose 2.0300 + Moose::Exporter 0 + Moose::Meta::Role 0 + Moose::Role 0 + Moose::Util 0 + namespace::autoclean 0 + namespace::clean 0.19 + perl 5.008001 + strict 0 + warnings 0 + MooseX-Runnable-0.10 + pathname: E/ET/ETHER/MooseX-Runnable-0.10.tar.gz + provides: + MooseX::Runnable 0.10 + MooseX::Runnable::Invocation 0.10 + MooseX::Runnable::Invocation::MxRun 0.10 + MooseX::Runnable::Invocation::Plugin::Debug 0.10 + MooseX::Runnable::Invocation::Plugin::PAR 0.10 + MooseX::Runnable::Invocation::Plugin::Profile 0.10 + MooseX::Runnable::Invocation::Plugin::Restart 0.10 + MooseX::Runnable::Invocation::Plugin::Restart::Auto 0.10 + MooseX::Runnable::Invocation::Plugin::Restart::Base 0.10 + MooseX::Runnable::Invocation::Plugin::Role::CmdlineArgs 0.10 + MooseX::Runnable::Invocation::Role::WithParsedArgs 0.10 + MooseX::Runnable::Invocation::Scheme::MooseX::Getopt 0.10 + MooseX::Runnable::Run 0.10 + MooseX::Runnable::Util::ArgParser 0.10 + requirements: + Class::Load 0 + FindBin 0 + List::SomeUtils 0 + Module::Build::Tiny 0.034 + Moose 0 + Moose::Role 0 + MooseX::Types 0 + MooseX::Types::Moose 0 + MooseX::Types::Path::Tiny 0 + Params::Util 0 + Path::Tiny 0 + namespace::autoclean 0 + perl 5.006 + strict 0 + warnings 0 + MooseX-Singleton-0.30 + pathname: E/ET/ETHER/MooseX-Singleton-0.30.tar.gz + provides: + MooseX::Singleton 0.30 + MooseX::Singleton::Role::Meta::Class 0.30 + MooseX::Singleton::Role::Meta::Instance 0.30 + MooseX::Singleton::Role::Meta::Method::Constructor 0.30 + MooseX::Singleton::Role::Object 0.30 + requirements: + Carp 0 + Module::Build::Tiny 0.034 + Moose 1.10 + Moose::Exporter 0 + Moose::Role 0 + Scalar::Util 0 + perl 5.006 + strict 0 + warnings 0 + MooseX-Types-0.50 + pathname: E/ET/ETHER/MooseX-Types-0.50.tar.gz + provides: + MooseX::Types 0.50 + MooseX::Types::Base 0.50 + MooseX::Types::CheckedUtilExports 0.50 + MooseX::Types::Combine 0.50 + MooseX::Types::Moose 0.50 + MooseX::Types::TypeDecorator 0.50 + MooseX::Types::UndefinedType 0.50 + MooseX::Types::Util 0.50 + MooseX::Types::Wrapper 0.50 + requirements: + Carp 0 + Carp::Clan 6.00 + Exporter 0 + Module::Build::Tiny 0.034 + Module::Runtime 0 + Moose 1.06 + Moose::Exporter 0 + Moose::Meta::TypeConstraint::Union 0 + Moose::Util::TypeConstraints 0 + Scalar::Util 1.19 + Sub::Exporter 0 + Sub::Exporter::ForMethods 0.100052 + Sub::Install 0 + Sub::Name 0 + base 0 + namespace::autoclean 0.16 + overload 0 + perl 5.008 + strict 0 + warnings 0 + MooseX-Types-Common-0.001014 + pathname: E/ET/ETHER/MooseX-Types-Common-0.001014.tar.gz + provides: + MooseX::Types::Common 0.001014 + MooseX::Types::Common::Numeric 0.001014 + MooseX::Types::Common::String 0.001014 + requirements: + Carp 0 + Module::Build::Tiny 0.034 + MooseX::Types 0 + MooseX::Types::Moose 0 + if 0 + perl 5.008 + strict 0 + warnings 0 + MooseX-Types-DateTime-W3C-1.103360 + pathname: A/AJ/AJGB/MooseX-Types-DateTime-W3C-1.103360.tar.gz + provides: + MooseX::Types::DateTime::W3C 1.103360 + requirements: + DateTime 0 + DateTime::TimeZone 1.26 + ExtUtils::MakeMaker 6.31 + File::Find 0 + File::Temp 0 + Module::Build 0.3601 + Moose 0 + MooseX::Types 0 + MooseX::Types::Moose 0 + Test::Exception 0 + Test::More 0 + MooseX-Types-LoadableClass-0.015 + pathname: E/ET/ETHER/MooseX-Types-LoadableClass-0.015.tar.gz + provides: + MooseX::Types::LoadableClass 0.015 + requirements: + Module::Build::Tiny 0.034 + Module::Runtime 0 + MooseX::Types 0 + MooseX::Types::Moose 0 + if 0 + namespace::autoclean 0 + perl 5.006 + strict 0 + warnings 0 + MooseX-Types-Path-Tiny-0.012 + pathname: E/ET/ETHER/MooseX-Types-Path-Tiny-0.012.tar.gz + provides: + MooseX::Types::Path::Tiny 0.012 + requirements: + Module::Build::Tiny 0.034 + Moose 2 + MooseX::Getopt 0 + MooseX::Types 0 + MooseX::Types::Moose 0 + MooseX::Types::Stringlike 0 + Path::Tiny 0 + if 0 + namespace::autoclean 0 + perl 5.006 + strict 0 + warnings 0 + MooseX-Types-Stringlike-0.003 + pathname: D/DA/DAGOLDEN/MooseX-Types-Stringlike-0.003.tar.gz + provides: + MooseX::Types::Stringlike 0.003 + requirements: + ExtUtils::MakeMaker 6.17 + MooseX::Types 0 + MooseX::Types::Moose 0 + overload 0 + strict 0 + warnings 0 + MooseX-Types-Structured-0.36 + pathname: E/ET/ETHER/MooseX-Types-Structured-0.36.tar.gz + provides: + MooseX::Types::Structured 0.36 + requirements: + Devel::PartialDump 0.13 + Module::Build::Tiny 0.034 + Moose 0 + Moose::Meta::TypeCoercion 0 + Moose::Meta::TypeConstraint 0 + Moose::Meta::TypeConstraint::Parameterizable 0 + Moose::Util::TypeConstraints 1.06 + MooseX::Types 0.22 + Scalar::Util 0 + Sub::Exporter 0.982 + if 0 + namespace::clean 0.19 + overload 0 + perl 5.008 + MooseX-Types-URI-0.09 + pathname: E/ET/ETHER/MooseX-Types-URI-0.09.tar.gz + provides: + MooseX::Types::URI 0.09 + requirements: + ExtUtils::MakeMaker 0 + Module::Build::Tiny 0.034 + MooseX::Types 0.40 + MooseX::Types::Moose 0 + Scalar::Util 0 + URI 0 + URI::FromHash 0 + URI::QueryParam 0 + URI::WithBase 0 + URI::data 0 + URI::file 0 + if 0 + namespace::autoclean 0 + perl 5.006 + strict 0 + warnings 0 + Mozilla-CA-20221114 + pathname: H/HA/HAARG/Mozilla-CA-20221114.tar.gz + provides: + Mozilla::CA 20221114 + requirements: + ExtUtils::MakeMaker 0 + perl 5.006 + Net-DNS-1.38 + pathname: N/NL/NLNETLABS/Net-DNS-1.38.tar.gz + provides: + Net::DNS 1.38 + Net::DNS::Domain 1913 + Net::DNS::DomainName 1898 + Net::DNS::DomainName1035 1898 + Net::DNS::DomainName2535 1898 + Net::DNS::Header 1910 + Net::DNS::Mailbox 1910 + Net::DNS::Mailbox1035 1910 + Net::DNS::Mailbox2535 1910 + Net::DNS::Nameserver 1923 + Net::DNS::Packet 1910 + Net::DNS::Parameters 1921 + Net::DNS::Question 1895 + Net::DNS::RR 1910 + Net::DNS::RR::A 1896 + Net::DNS::RR::AAAA 1896 + Net::DNS::RR::AFSDB 1898 + Net::DNS::RR::AMTRELAY 1896 + Net::DNS::RR::APL 1896 + Net::DNS::RR::APL::Item 1896 + Net::DNS::RR::CAA 1910 + Net::DNS::RR::CDNSKEY 1909 + Net::DNS::RR::CDS 1909 + Net::DNS::RR::CERT 1896 + Net::DNS::RR::CNAME 1896 + Net::DNS::RR::CSYNC 1910 + Net::DNS::RR::DHCID 1896 + Net::DNS::RR::DNAME 1896 + Net::DNS::RR::DNSKEY 1910 + Net::DNS::RR::DS 1909 + Net::DNS::RR::EUI48 1896 + Net::DNS::RR::EUI64 1896 + Net::DNS::RR::GPOS 1910 + Net::DNS::RR::HINFO 1896 + Net::DNS::RR::HIP 1896 + Net::DNS::RR::HTTPS 1896 + Net::DNS::RR::IPSECKEY 1909 + Net::DNS::RR::ISDN 1896 + Net::DNS::RR::KEY 1896 + Net::DNS::RR::KX 1898 + Net::DNS::RR::L32 1896 + Net::DNS::RR::L64 1896 + Net::DNS::RR::LOC 1896 + Net::DNS::RR::LP 1896 + Net::DNS::RR::MB 1910 + Net::DNS::RR::MG 1910 + Net::DNS::RR::MINFO 1896 + Net::DNS::RR::MR 1910 + Net::DNS::RR::MX 1896 + Net::DNS::RR::NAPTR 1898 + Net::DNS::RR::NID 1896 + Net::DNS::RR::NS 1896 + Net::DNS::RR::NSEC 1896 + Net::DNS::RR::NSEC3 1910 + Net::DNS::RR::NSEC3PARAM 1896 + Net::DNS::RR::NULL 1896 + Net::DNS::RR::OPENPGPKEY 1896 + Net::DNS::RR::OPT 1921 + Net::DNS::RR::OPT::CHAIN 1921 + Net::DNS::RR::OPT::CLIENT_SUBNET 1921 + Net::DNS::RR::OPT::COOKIE 1921 + Net::DNS::RR::OPT::DAU 1921 + Net::DNS::RR::OPT::DHU 1921 + Net::DNS::RR::OPT::EXPIRE 1921 + Net::DNS::RR::OPT::EXTENDED_ERROR 1921 + Net::DNS::RR::OPT::KEY_TAG 1921 + Net::DNS::RR::OPT::N3U 1921 + Net::DNS::RR::OPT::NSID 1921 + Net::DNS::RR::OPT::PADDING 1921 + Net::DNS::RR::OPT::REPORT_CHANNEL 1921 + Net::DNS::RR::OPT::TCP_KEEPALIVE 1921 + Net::DNS::RR::PTR 1896 + Net::DNS::RR::PX 1898 + Net::DNS::RR::RP 1898 + Net::DNS::RR::RRSIG 1896 + Net::DNS::RR::RT 1898 + Net::DNS::RR::SIG 1908 + Net::DNS::RR::SMIMEA 1896 + Net::DNS::RR::SOA 1896 + Net::DNS::RR::SPF 1896 + Net::DNS::RR::SRV 1898 + Net::DNS::RR::SSHFP 1896 + Net::DNS::RR::SVCB 1896 + Net::DNS::RR::TKEY 1908 + Net::DNS::RR::TLSA 1896 + Net::DNS::RR::TSIG 1909 + Net::DNS::RR::TXT 1911 + Net::DNS::RR::URI 1896 + Net::DNS::RR::X25 1896 + Net::DNS::RR::ZONEMD 1896 + Net::DNS::Resolver 1895 + Net::DNS::Resolver::Base 1910 + Net::DNS::Resolver::MSWin32 1856 + Net::DNS::Resolver::Recurse 1896 + Net::DNS::Resolver::UNIX 1856 + Net::DNS::Resolver::android 1856 + Net::DNS::Resolver::cygwin 1856 + Net::DNS::Resolver::os2 1856 + Net::DNS::Resolver::os390 1856 + Net::DNS::Text 1894 + Net::DNS::Update 1895 + Net::DNS::ZoneFile 1910 + Net::DNS::ZoneFile::Generator 1910 + Net::DNS::ZoneFile::Text 1910 + requirements: + Carp 1.1 + Digest::HMAC 1.03 + Digest::MD5 2.13 + Digest::SHA 5.23 + Encode 2.26 + Exporter 5.63 + ExtUtils::MakeMaker 6.48 + File::Spec 3.29 + Getopt::Long 2.43 + IO::File 1.14 + IO::Select 1.17 + IO::Socket 1.3 + IO::Socket::IP 0.38 + MIME::Base64 2.13 + PerlIO 1.05 + Scalar::Util 1.19 + Time::Local 1.19 + perl 5.008009 + Net-HTTP-6.22 + pathname: O/OA/OALDERS/Net-HTTP-6.22.tar.gz + provides: + Net::HTTP 6.22 + Net::HTTP::Methods 6.22 + Net::HTTP::NB 6.22 + Net::HTTPS 6.22 + requirements: + Carp 0 + Compress::Raw::Zlib 0 + ExtUtils::MakeMaker 0 + IO::Socket::INET 0 + IO::Uncompress::Gunzip 0 + URI 0 + base 0 + perl 5.006002 + strict 0 + warnings 0 + Net-SSLeay-1.92 + pathname: C/CH/CHRISN/Net-SSLeay-1.92.tar.gz + provides: + Net::SSLeay 1.92 + Net::SSLeay::Handle 1.92 + requirements: + English 0 + ExtUtils::MakeMaker 0 + File::Spec::Functions 0 + MIME::Base64 0 + Text::Wrap 0 + constant 0 + perl 5.008001 + Number-Compare-0.03 + pathname: R/RC/RCLAMP/Number-Compare-0.03.tar.gz + provides: + Number::Compare 0.03 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + Number-Format-1.76 + pathname: R/RJ/RJBS/Number-Format-1.76.tar.gz + provides: + Number::Format 1.76 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + POSIX 0 + Object-InsideOut-4.05 + pathname: J/JD/JDHEDDEN/Object-InsideOut-4.05.tar.gz + provides: + Bundle::Object::InsideOut 4.05 + Object::InsideOut 4.05 + Object::InsideOut::Exception 4.05 + Object::InsideOut::Metadata 4.05 + Object::InsideOut::Results 4.05 + Object::InsideOut::Secure 4.05 + Object::InsideOut::Util 4.05 + Term::YAPI 4.05 + requirements: + B 0 + Config 0 + Data::Dumper 0 + Exception::Class 1.22 + Scalar::Util 1.63 + Test::More 0.5 + attributes 0 + overload 0 + perl v5.6.0 + strict 0 + warnings 0 + Object-Signature-1.08 + pathname: E/ET/ETHER/Object-Signature-1.08.tar.gz + provides: + Object::Signature 1.08 + Object::Signature::File 1.08 + requirements: + Digest::MD5 2.00 + ExtUtils::MakeMaker 0 + Storable 2.11 + base 0 + perl 5.006 + strict 0 + warnings 0 + POSIX-strftime-Compiler-0.44 + pathname: K/KA/KAZEBURO/POSIX-strftime-Compiler-0.44.tar.gz + provides: + POSIX::strftime::Compiler 0.44 + requirements: + Carp 0 + Exporter 0 + Module::Build::Tiny 0.035 + POSIX 0 + Time::Local 0 + perl 5.008001 + PPI-1.276 + pathname: O/OA/OALDERS/PPI-1.276.tar.gz + provides: + PPI 1.276 + PPI::Cache 1.276 + PPI::Document 1.276 + PPI::Document::File 1.276 + PPI::Document::Fragment 1.276 + PPI::Document::Normalized 1.276 + PPI::Dumper 1.276 + PPI::Element 1.276 + PPI::Exception 1.276 + PPI::Exception::ParserRejection 1.276 + PPI::Find 1.276 + PPI::Lexer 1.276 + PPI::Node 1.276 + PPI::Normal 1.276 + PPI::Normal::Standard 1.276 + PPI::Singletons 1.276 + PPI::Statement 1.276 + PPI::Statement::Break 1.276 + PPI::Statement::Compound 1.276 + PPI::Statement::Data 1.276 + PPI::Statement::End 1.276 + PPI::Statement::Expression 1.276 + PPI::Statement::Given 1.276 + PPI::Statement::Include 1.276 + PPI::Statement::Include::Perl6 1.276 + PPI::Statement::Null 1.276 + PPI::Statement::Package 1.276 + PPI::Statement::Scheduled 1.276 + PPI::Statement::Sub 1.276 + PPI::Statement::Unknown 1.276 + PPI::Statement::UnmatchedBrace 1.276 + PPI::Statement::Variable 1.276 + PPI::Statement::When 1.276 + PPI::Structure 1.276 + PPI::Structure::Block 1.276 + PPI::Structure::Condition 1.276 + PPI::Structure::Constructor 1.276 + PPI::Structure::For 1.276 + PPI::Structure::Given 1.276 + PPI::Structure::List 1.276 + PPI::Structure::Subscript 1.276 + PPI::Structure::Unknown 1.276 + PPI::Structure::When 1.276 + PPI::Token 1.276 + PPI::Token::ArrayIndex 1.276 + PPI::Token::Attribute 1.276 + PPI::Token::BOM 1.276 + PPI::Token::Cast 1.276 + PPI::Token::Comment 1.276 + PPI::Token::DashedWord 1.276 + PPI::Token::Data 1.276 + PPI::Token::End 1.276 + PPI::Token::HereDoc 1.276 + PPI::Token::Label 1.276 + PPI::Token::Magic 1.276 + PPI::Token::Number 1.276 + PPI::Token::Number::Binary 1.276 + PPI::Token::Number::Exp 1.276 + PPI::Token::Number::Float 1.276 + PPI::Token::Number::Hex 1.276 + PPI::Token::Number::Octal 1.276 + PPI::Token::Number::Version 1.276 + PPI::Token::Operator 1.276 + PPI::Token::Pod 1.276 + PPI::Token::Prototype 1.276 + PPI::Token::Quote 1.276 + PPI::Token::Quote::Double 1.276 + PPI::Token::Quote::Interpolate 1.276 + PPI::Token::Quote::Literal 1.276 + PPI::Token::Quote::Single 1.276 + PPI::Token::QuoteLike 1.276 + PPI::Token::QuoteLike::Backtick 1.276 + PPI::Token::QuoteLike::Command 1.276 + PPI::Token::QuoteLike::Readline 1.276 + PPI::Token::QuoteLike::Regexp 1.276 + PPI::Token::QuoteLike::Words 1.276 + PPI::Token::Regexp 1.276 + PPI::Token::Regexp::Match 1.276 + PPI::Token::Regexp::Substitute 1.276 + PPI::Token::Regexp::Transliterate 1.276 + PPI::Token::Separator 1.276 + PPI::Token::Structure 1.276 + PPI::Token::Symbol 1.276 + PPI::Token::Unknown 1.276 + PPI::Token::Whitespace 1.276 + PPI::Token::Word 1.276 + PPI::Tokenizer 1.276 + PPI::Transform 1.276 + PPI::Transform::UpdateCopyright 1.276 + PPI::Util 1.276 + PPI::XSAccessor 1.276 + requirements: + Carp 0 + Clone 0.30 + Digest::MD5 2.35 + Exporter 0 + ExtUtils::MakeMaker 0 + File::Path 0 + File::Spec 0.84 + List::Util 1.33 + Params::Util 1.00 + Scalar::Util 0 + Storable 2.17 + Task::Weaken 0 + constant 0 + if 0 + overload 0 + perl 5.006 + strict 0 + PPIx-QuoteLike-0.023 + pathname: W/WY/WYANT/PPIx-QuoteLike-0.023.tar.gz + provides: + PPIx::QuoteLike 0.023 + PPIx::QuoteLike::Constant 0.023 + PPIx::QuoteLike::Dumper 0.023 + PPIx::QuoteLike::Token 0.023 + PPIx::QuoteLike::Token::Control 0.023 + PPIx::QuoteLike::Token::Delimiter 0.023 + PPIx::QuoteLike::Token::Interpolation 0.023 + PPIx::QuoteLike::Token::String 0.023 + PPIx::QuoteLike::Token::Structure 0.023 + PPIx::QuoteLike::Token::Unknown 0.023 + PPIx::QuoteLike::Token::Whitespace 0.023 + PPIx::QuoteLike::Utils 0.023 + requirements: + Carp 0 + Encode 0 + Exporter 0 + List::Util 0 + PPI::Document 1.238 + PPI::Dumper 1.238 + Readonly 0 + Scalar::Util 0 + Test::More 0.88 + base 0 + charnames 0 + constant 0 + lib 0 + perl 5.006 + re 0 + strict 0 + warnings 0 + PPIx-Regexp-0.088 + pathname: W/WY/WYANT/PPIx-Regexp-0.088.tar.gz + provides: + PPIx::Regexp 0.088 + PPIx::Regexp::Constant 0.085_04 + PPIx::Regexp::Constant::Inf 0.088 + PPIx::Regexp::Dumper 0.088 + PPIx::Regexp::Element 0.088 + PPIx::Regexp::Lexer 0.088 + PPIx::Regexp::Node 0.088 + PPIx::Regexp::Node::Range 0.088 + PPIx::Regexp::Node::Unknown 0.088 + PPIx::Regexp::Structure 0.088 + PPIx::Regexp::Structure::Assertion 0.088 + PPIx::Regexp::Structure::Atomic_Script_Run 0.088 + PPIx::Regexp::Structure::BranchReset 0.088 + PPIx::Regexp::Structure::Capture 0.088 + PPIx::Regexp::Structure::CharClass 0.088 + PPIx::Regexp::Structure::Code 0.088 + PPIx::Regexp::Structure::Main 0.088 + PPIx::Regexp::Structure::Modifier 0.088 + PPIx::Regexp::Structure::NamedCapture 0.088 + PPIx::Regexp::Structure::Quantifier 0.088 + PPIx::Regexp::Structure::RegexSet 0.088 + PPIx::Regexp::Structure::Regexp 0.088 + PPIx::Regexp::Structure::Replacement 0.088 + PPIx::Regexp::Structure::Script_Run 0.088 + PPIx::Regexp::Structure::Subexpression 0.088 + PPIx::Regexp::Structure::Switch 0.088 + PPIx::Regexp::Structure::Unknown 0.088 + PPIx::Regexp::Support 0.088 + PPIx::Regexp::Token 0.088 + PPIx::Regexp::Token::Assertion 0.088 + PPIx::Regexp::Token::Backreference 0.088 + PPIx::Regexp::Token::Backtrack 0.088 + PPIx::Regexp::Token::CharClass 0.088 + PPIx::Regexp::Token::CharClass::POSIX 0.088 + PPIx::Regexp::Token::CharClass::POSIX::Unknown 0.088 + PPIx::Regexp::Token::CharClass::Simple 0.088 + PPIx::Regexp::Token::Code 0.088 + PPIx::Regexp::Token::Comment 0.088 + PPIx::Regexp::Token::Condition 0.088 + PPIx::Regexp::Token::Control 0.088 + PPIx::Regexp::Token::Delimiter 0.088 + PPIx::Regexp::Token::Greediness 0.088 + PPIx::Regexp::Token::GroupType 0.088 + PPIx::Regexp::Token::GroupType::Assertion 0.088 + PPIx::Regexp::Token::GroupType::Atomic_Script_Run 0.088 + PPIx::Regexp::Token::GroupType::BranchReset 0.088 + PPIx::Regexp::Token::GroupType::Code 0.088 + PPIx::Regexp::Token::GroupType::Modifier 0.088 + PPIx::Regexp::Token::GroupType::NamedCapture 0.088 + PPIx::Regexp::Token::GroupType::Script_Run 0.088 + PPIx::Regexp::Token::GroupType::Subexpression 0.088 + PPIx::Regexp::Token::GroupType::Switch 0.088 + PPIx::Regexp::Token::Interpolation 0.088 + PPIx::Regexp::Token::Literal 0.088 + PPIx::Regexp::Token::Modifier 0.088 + PPIx::Regexp::Token::NoOp 0.088 + PPIx::Regexp::Token::Operator 0.088 + PPIx::Regexp::Token::Quantifier 0.088 + PPIx::Regexp::Token::Recursion 0.088 + PPIx::Regexp::Token::Reference 0.088 + PPIx::Regexp::Token::Structure 0.088 + PPIx::Regexp::Token::Unknown 0.088 + PPIx::Regexp::Token::Unmatched 0.088 + PPIx::Regexp::Token::Whitespace 0.088 + PPIx::Regexp::Tokenizer 0.088 + PPIx::Regexp::Util 0.088 + requirements: + Carp 0 + Encode 0 + Exporter 0 + List::Util 0 + PPI::Document 1.238 + PPI::Dumper 1.238 + Scalar::Util 0 + Task::Weaken 0 + Test::More 0.88 + base 0 + charnames 0 + constant 0 + lib 0 + overload 0 + perl 5.006 + strict 0 + warnings 0 + PPIx-Utils-0.003 + pathname: D/DB/DBOOK/PPIx-Utils-0.003.tar.gz + provides: + PPIx::Utils 0.003 + PPIx::Utils::Classification 0.003 + PPIx::Utils::Language 0.003 + PPIx::Utils::Traversal 0.003 + requirements: + B::Keywords 1.09 + Exporter 0 + ExtUtils::MakeMaker 0 + PPI 1.250 + Scalar::Util 0 + perl 5.006 + Package-DeprecationManager-0.18 + pathname: D/DR/DROLSKY/Package-DeprecationManager-0.18.tar.gz + provides: + Package::DeprecationManager 0.18 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + List::Util 1.33 + Package::Stash 0 + Params::Util 0 + Sub::Install 0 + Sub::Util 0 + strict 0 + warnings 0 + Package-Stash-0.40 + pathname: E/ET/ETHER/Package-Stash-0.40.tar.gz + provides: + Package::Stash 0.40 + Package::Stash::PP 0.40 + requirements: + B 0 + Carp 0 + Dist::CheckConflicts 0.02 + ExtUtils::MakeMaker 0 + Getopt::Long 0 + Module::Implementation 0.06 + Package::Stash::XS 0.26 + Scalar::Util 0 + Symbol 0 + Text::ParseWords 0 + constant 0 + perl 5.008001 + strict 0 + warnings 0 + Package-Stash-XS-0.30 + pathname: E/ET/ETHER/Package-Stash-XS-0.30.tar.gz + provides: + Package::Stash::XS 0.30 + requirements: + ExtUtils::MakeMaker 0 + XSLoader 0 + perl 5.008001 + strict 0 + warnings 0 + PadWalker-2.5 + pathname: R/RO/ROBIN/PadWalker-2.5.tar.gz + provides: + PadWalker 2.5 + requirements: + ExtUtils::MakeMaker 0 + perl 5.008001 + Parallel-ForkManager-2.02 + pathname: Y/YA/YANICK/Parallel-ForkManager-2.02.tar.gz + provides: + Parallel::ForkManager 2.02 + Parallel::ForkManager::Child 2.02 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + File::Path 0 + File::Spec 0 + File::Temp 0 + Moo 0 + Moo::Role 0 + POSIX 0 + Storable 0 + perl 5.006 + strict 0 + warnings 0 + Parallel-Prefork-0.18 + pathname: K/KA/KAZUHO/Parallel-Prefork-0.18.tar.gz + provides: + Parallel::Prefork 0.18 + Parallel::Prefork::SpareWorkers undef + Parallel::Prefork::SpareWorkers::Scoreboard undef + requirements: + Class::Accessor::Lite 0.04 + ExtUtils::MakeMaker 6.59 + List::MoreUtils 0 + Proc::Wait3 0.03 + Scope::Guard 0 + Signal::Mask 0 + Test::Requires 0 + Test::SharedFork 0 + perl 5.008001 + Params-Classify-0.015 + pathname: Z/ZE/ZEFRAM/Params-Classify-0.015.tar.gz + provides: + Params::Classify 0.015 + requirements: + Exporter 0 + Module::Build 0 + Scalar::Util 1.01 + Test::More 0 + parent 0 + perl 5.006001 + strict 0 + warnings 0 + Params-Util-1.102 + pathname: R/RE/REHSACK/Params-Util-1.102.tar.gz + provides: + Params::Util 1.102 + Params::Util::PP 1.102 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + File::Basename 0 + File::Copy 0 + File::Path 0 + File::Spec 0 + IPC::Cmd 0 + Scalar::Util 1.18 + XSLoader 0.22 + parent 0 + Params-Validate-1.31 + pathname: D/DR/DROLSKY/Params-Validate-1.31.tar.gz + provides: + Params::Validate 1.31 + Params::Validate::Constants 1.31 + Params::Validate::PP 1.31 + Params::Validate::XS 1.31 + requirements: + Carp 0 + Exporter 0 + ExtUtils::CBuilder 0 + Module::Build 0.4227 + Module::Implementation 0 + Scalar::Util 1.10 + XSLoader 0 + perl 5.008001 + strict 0 + vars 0 + warnings 0 + Params-ValidationCompiler-0.31 + pathname: D/DR/DROLSKY/Params-ValidationCompiler-0.31.tar.gz + provides: + Params::ValidationCompiler 0.31 + Params::ValidationCompiler::Compiler 0.31 + Params::ValidationCompiler::Exceptions 0.31 + requirements: + B 0 + Carp 0 + Eval::Closure 0 + Exception::Class 0 + Exporter 0 + ExtUtils::MakeMaker 0 + List::Util 1.29 + Scalar::Util 0 + overload 0 + strict 0 + warnings 0 + Path-Class-0.37 + pathname: K/KW/KWILLIAMS/Path-Class-0.37.tar.gz + provides: + Path::Class 0.37 + Path::Class::Dir 0.37 + Path::Class::Entity 0.37 + Path::Class::File 0.37 + requirements: + Carp 0 + Cwd 0 + Exporter 0 + ExtUtils::MakeMaker 6.30 + File::Copy 0 + File::Path 0 + File::Spec 3.26 + File::Temp 0 + File::stat 0 + IO::Dir 0 + IO::File 0 + Module::Build 0.3601 + Perl::OSType 0 + Scalar::Util 0 + overload 0 + parent 0 + strict 0 + Path-Tiny-0.144 + pathname: D/DA/DAGOLDEN/Path-Tiny-0.144.tar.gz + provides: + Path::Tiny 0.144 + Path::Tiny::Error 0.144 + requirements: + Carp 0 + Cwd 0 + Digest 1.03 + Digest::SHA 5.45 + Encode 0 + Exporter 5.57 + ExtUtils::MakeMaker 6.17 + Fcntl 0 + File::Compare 0 + File::Copy 0 + File::Glob 0 + File::Path 2.07 + File::Spec 0.86 + File::Temp 0.19 + File::stat 0 + constant 0 + overload 0 + perl 5.008001 + strict 0 + warnings 0 + warnings::register 0 + Perl-Critic-1.150 + pathname: P/PE/PETDANCE/Perl-Critic-1.150.tar.gz + provides: + Perl::Critic 1.150 + Perl::Critic::Annotation 1.150 + Perl::Critic::Command 1.150 + Perl::Critic::Config 1.150 + Perl::Critic::Document 1.150 + Perl::Critic::Exception 1.150 + Perl::Critic::Exception::AggregateConfiguration 1.150 + Perl::Critic::Exception::Configuration 1.150 + Perl::Critic::Exception::Configuration::Generic 1.150 + Perl::Critic::Exception::Configuration::NonExistentPolicy 1.150 + Perl::Critic::Exception::Configuration::Option 1.150 + Perl::Critic::Exception::Configuration::Option::Global 1.150 + Perl::Critic::Exception::Configuration::Option::Global::ExtraParameter 1.150 + Perl::Critic::Exception::Configuration::Option::Global::ParameterValue 1.150 + Perl::Critic::Exception::Configuration::Option::Policy 1.150 + Perl::Critic::Exception::Configuration::Option::Policy::ExtraParameter 1.150 + Perl::Critic::Exception::Configuration::Option::Policy::ParameterValue 1.150 + Perl::Critic::Exception::Fatal 1.150 + Perl::Critic::Exception::Fatal::Generic 1.150 + Perl::Critic::Exception::Fatal::Internal 1.150 + Perl::Critic::Exception::Fatal::PolicyDefinition 1.150 + Perl::Critic::Exception::IO 1.150 + Perl::Critic::Exception::Parse 1.150 + Perl::Critic::OptionsProcessor 1.150 + Perl::Critic::Policy 1.150 + Perl::Critic::Policy::BuiltinFunctions::ProhibitBooleanGrep 1.150 + Perl::Critic::Policy::BuiltinFunctions::ProhibitComplexMappings 1.150 + Perl::Critic::Policy::BuiltinFunctions::ProhibitLvalueSubstr 1.150 + Perl::Critic::Policy::BuiltinFunctions::ProhibitReverseSortBlock 1.150 + Perl::Critic::Policy::BuiltinFunctions::ProhibitShiftRef 1.150 + Perl::Critic::Policy::BuiltinFunctions::ProhibitSleepViaSelect 1.150 + Perl::Critic::Policy::BuiltinFunctions::ProhibitStringyEval 1.150 + Perl::Critic::Policy::BuiltinFunctions::ProhibitStringySplit 1.150 + Perl::Critic::Policy::BuiltinFunctions::ProhibitUniversalCan 1.150 + Perl::Critic::Policy::BuiltinFunctions::ProhibitUniversalIsa 1.150 + Perl::Critic::Policy::BuiltinFunctions::ProhibitUselessTopic 1.150 + Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidGrep 1.150 + Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidMap 1.150 + Perl::Critic::Policy::BuiltinFunctions::RequireBlockGrep 1.150 + Perl::Critic::Policy::BuiltinFunctions::RequireBlockMap 1.150 + Perl::Critic::Policy::BuiltinFunctions::RequireGlobFunction 1.150 + Perl::Critic::Policy::BuiltinFunctions::RequireSimpleSortBlock 1.150 + Perl::Critic::Policy::ClassHierarchies::ProhibitAutoloading 1.150 + Perl::Critic::Policy::ClassHierarchies::ProhibitExplicitISA 1.150 + Perl::Critic::Policy::ClassHierarchies::ProhibitOneArgBless 1.150 + Perl::Critic::Policy::CodeLayout::ProhibitHardTabs 1.150 + Perl::Critic::Policy::CodeLayout::ProhibitParensWithBuiltins 1.150 + Perl::Critic::Policy::CodeLayout::ProhibitQuotedWordLists 1.150 + Perl::Critic::Policy::CodeLayout::ProhibitTrailingWhitespace 1.150 + Perl::Critic::Policy::CodeLayout::RequireConsistentNewlines 1.150 + Perl::Critic::Policy::CodeLayout::RequireTidyCode 1.150 + Perl::Critic::Policy::CodeLayout::RequireTrailingCommas 1.150 + Perl::Critic::Policy::ControlStructures::ProhibitCStyleForLoops 1.150 + Perl::Critic::Policy::ControlStructures::ProhibitCascadingIfElse 1.150 + Perl::Critic::Policy::ControlStructures::ProhibitDeepNests 1.150 + Perl::Critic::Policy::ControlStructures::ProhibitLabelsWithSpecialBlockNames 1.150 + Perl::Critic::Policy::ControlStructures::ProhibitMutatingListFunctions 1.150 + Perl::Critic::Policy::ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions 1.150 + Perl::Critic::Policy::ControlStructures::ProhibitPostfixControls 1.150 + Perl::Critic::Policy::ControlStructures::ProhibitUnlessBlocks 1.150 + Perl::Critic::Policy::ControlStructures::ProhibitUnreachableCode 1.150 + Perl::Critic::Policy::ControlStructures::ProhibitUntilBlocks 1.150 + Perl::Critic::Policy::ControlStructures::ProhibitYadaOperator 1.150 + Perl::Critic::Policy::Documentation::PodSpelling 1.150 + Perl::Critic::Policy::Documentation::RequirePackageMatchesPodName 1.150 + Perl::Critic::Policy::Documentation::RequirePodAtEnd 1.150 + Perl::Critic::Policy::Documentation::RequirePodSections 1.150 + Perl::Critic::Policy::ErrorHandling::RequireCarping 1.150 + Perl::Critic::Policy::ErrorHandling::RequireCheckingReturnValueOfEval 1.150 + Perl::Critic::Policy::InputOutput::ProhibitBacktickOperators 1.150 + Perl::Critic::Policy::InputOutput::ProhibitBarewordDirHandles 1.150 + Perl::Critic::Policy::InputOutput::ProhibitBarewordFileHandles 1.150 + Perl::Critic::Policy::InputOutput::ProhibitExplicitStdin 1.150 + Perl::Critic::Policy::InputOutput::ProhibitInteractiveTest 1.150 + Perl::Critic::Policy::InputOutput::ProhibitJoinedReadline 1.150 + Perl::Critic::Policy::InputOutput::ProhibitOneArgSelect 1.150 + Perl::Critic::Policy::InputOutput::ProhibitReadlineInForLoop 1.150 + Perl::Critic::Policy::InputOutput::ProhibitTwoArgOpen 1.150 + Perl::Critic::Policy::InputOutput::RequireBracedFileHandleWithPrint 1.150 + Perl::Critic::Policy::InputOutput::RequireBriefOpen 1.150 + Perl::Critic::Policy::InputOutput::RequireCheckedClose 1.150 + Perl::Critic::Policy::InputOutput::RequireCheckedOpen 1.150 + Perl::Critic::Policy::InputOutput::RequireCheckedSyscalls 1.150 + Perl::Critic::Policy::InputOutput::RequireEncodingWithUTF8Layer 1.150 + Perl::Critic::Policy::Miscellanea::ProhibitFormats 1.150 + Perl::Critic::Policy::Miscellanea::ProhibitTies 1.150 + Perl::Critic::Policy::Miscellanea::ProhibitUnrestrictedNoCritic 1.150 + Perl::Critic::Policy::Miscellanea::ProhibitUselessNoCritic 1.150 + Perl::Critic::Policy::Modules::ProhibitAutomaticExportation 1.150 + Perl::Critic::Policy::Modules::ProhibitConditionalUseStatements 1.150 + Perl::Critic::Policy::Modules::ProhibitEvilModules 1.150 + Perl::Critic::Policy::Modules::ProhibitExcessMainComplexity 1.150 + Perl::Critic::Policy::Modules::ProhibitMultiplePackages 1.150 + Perl::Critic::Policy::Modules::RequireBarewordIncludes 1.150 + Perl::Critic::Policy::Modules::RequireEndWithOne 1.150 + Perl::Critic::Policy::Modules::RequireExplicitPackage 1.150 + Perl::Critic::Policy::Modules::RequireFilenameMatchesPackage 1.150 + Perl::Critic::Policy::Modules::RequireNoMatchVarsWithUseEnglish 1.150 + Perl::Critic::Policy::Modules::RequireVersionVar 1.150 + Perl::Critic::Policy::NamingConventions::Capitalization 1.150 + Perl::Critic::Policy::NamingConventions::ProhibitAmbiguousNames 1.150 + Perl::Critic::Policy::Objects::ProhibitIndirectSyntax 1.150 + Perl::Critic::Policy::References::ProhibitDoubleSigils 1.150 + Perl::Critic::Policy::RegularExpressions::ProhibitCaptureWithoutTest 1.150 + Perl::Critic::Policy::RegularExpressions::ProhibitComplexRegexes 1.150 + Perl::Critic::Policy::RegularExpressions::ProhibitEnumeratedClasses 1.150 + Perl::Critic::Policy::RegularExpressions::ProhibitEscapedMetacharacters 1.150 + Perl::Critic::Policy::RegularExpressions::ProhibitFixedStringMatches 1.150 + Perl::Critic::Policy::RegularExpressions::ProhibitSingleCharAlternation 1.150 + Perl::Critic::Policy::RegularExpressions::ProhibitUnusedCapture 1.150 + Perl::Critic::Policy::RegularExpressions::ProhibitUnusualDelimiters 1.150 + Perl::Critic::Policy::RegularExpressions::ProhibitUselessTopic 1.150 + Perl::Critic::Policy::RegularExpressions::RequireBracesForMultiline 1.150 + Perl::Critic::Policy::RegularExpressions::RequireDotMatchAnything 1.150 + Perl::Critic::Policy::RegularExpressions::RequireExtendedFormatting 1.150 + Perl::Critic::Policy::RegularExpressions::RequireLineBoundaryMatching 1.150 + Perl::Critic::Policy::Subroutines::ProhibitAmpersandSigils 1.150 + Perl::Critic::Policy::Subroutines::ProhibitBuiltinHomonyms 1.150 + Perl::Critic::Policy::Subroutines::ProhibitExcessComplexity 1.150 + Perl::Critic::Policy::Subroutines::ProhibitExplicitReturnUndef 1.150 + Perl::Critic::Policy::Subroutines::ProhibitManyArgs 1.150 + Perl::Critic::Policy::Subroutines::ProhibitNestedSubs 1.150 + Perl::Critic::Policy::Subroutines::ProhibitReturnSort 1.150 + Perl::Critic::Policy::Subroutines::ProhibitSubroutinePrototypes 1.150 + Perl::Critic::Policy::Subroutines::ProhibitUnusedPrivateSubroutines 1.150 + Perl::Critic::Policy::Subroutines::ProtectPrivateSubs 1.150 + Perl::Critic::Policy::Subroutines::RequireArgUnpacking 1.150 + Perl::Critic::Policy::Subroutines::RequireFinalReturn 1.150 + Perl::Critic::Policy::TestingAndDebugging::ProhibitNoStrict 1.150 + Perl::Critic::Policy::TestingAndDebugging::ProhibitNoWarnings 1.150 + Perl::Critic::Policy::TestingAndDebugging::ProhibitProlongedStrictureOverride 1.150 + Perl::Critic::Policy::TestingAndDebugging::RequireTestLabels 1.150 + Perl::Critic::Policy::TestingAndDebugging::RequireUseStrict 1.150 + Perl::Critic::Policy::TestingAndDebugging::RequireUseWarnings 1.150 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitCommaSeparatedStatements 1.150 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitComplexVersion 1.150 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitConstantPragma 1.150 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitEmptyQuotes 1.150 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitEscapedCharacters 1.150 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitImplicitNewlines 1.150 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitInterpolationOfLiterals 1.150 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitLeadingZeros 1.150 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitLongChainsOfMethodCalls 1.150 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitMagicNumbers 1.150 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitMismatchedOperators 1.150 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitMixedBooleanOperators 1.150 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitNoisyQuotes 1.150 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters 1.150 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitSpecialLiteralHeredocTerminator 1.150 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitVersionStrings 1.150 + Perl::Critic::Policy::ValuesAndExpressions::RequireConstantVersion 1.150 + Perl::Critic::Policy::ValuesAndExpressions::RequireInterpolationOfMetachars 1.150 + Perl::Critic::Policy::ValuesAndExpressions::RequireNumberSeparators 1.150 + Perl::Critic::Policy::ValuesAndExpressions::RequireQuotedHeredocTerminator 1.150 + Perl::Critic::Policy::ValuesAndExpressions::RequireUpperCaseHeredocTerminator 1.150 + Perl::Critic::Policy::Variables::ProhibitAugmentedAssignmentInDeclaration 1.150 + Perl::Critic::Policy::Variables::ProhibitConditionalDeclarations 1.150 + Perl::Critic::Policy::Variables::ProhibitEvilVariables 1.150 + Perl::Critic::Policy::Variables::ProhibitLocalVars 1.150 + Perl::Critic::Policy::Variables::ProhibitMatchVars 1.150 + Perl::Critic::Policy::Variables::ProhibitPackageVars 1.150 + Perl::Critic::Policy::Variables::ProhibitPerl4PackageNames 1.150 + Perl::Critic::Policy::Variables::ProhibitPunctuationVars 1.150 + Perl::Critic::Policy::Variables::ProhibitReusedNames 1.150 + Perl::Critic::Policy::Variables::ProhibitUnusedVariables 1.150 + Perl::Critic::Policy::Variables::ProtectPrivateVars 1.150 + Perl::Critic::Policy::Variables::RequireInitializationForLocalVars 1.150 + Perl::Critic::Policy::Variables::RequireLexicalLoopIterators 1.150 + Perl::Critic::Policy::Variables::RequireLocalizedPunctuationVars 1.150 + Perl::Critic::Policy::Variables::RequireNegativeIndices 1.150 + Perl::Critic::PolicyConfig 1.150 + Perl::Critic::PolicyFactory 1.150 + Perl::Critic::PolicyListing 1.150 + Perl::Critic::PolicyParameter 1.150 + Perl::Critic::PolicyParameter::Behavior 1.150 + Perl::Critic::PolicyParameter::Behavior::Boolean 1.150 + Perl::Critic::PolicyParameter::Behavior::Enumeration 1.150 + Perl::Critic::PolicyParameter::Behavior::Integer 1.150 + Perl::Critic::PolicyParameter::Behavior::String 1.150 + Perl::Critic::PolicyParameter::Behavior::StringList 1.150 + Perl::Critic::ProfilePrototype 1.150 + Perl::Critic::Statistics 1.150 + Perl::Critic::TestUtils 1.150 + Perl::Critic::Theme 1.150 + Perl::Critic::ThemeListing 1.150 + Perl::Critic::UserProfile 1.150 + Perl::Critic::Utils 1.150 + Perl::Critic::Utils::Constants 1.150 + Perl::Critic::Utils::McCabe 1.150 + Perl::Critic::Utils::POD 1.150 + Perl::Critic::Utils::PPI 1.150 + Perl::Critic::Utils::Perl 1.150 + Perl::Critic::Violation 1.150 + Test::Perl::Critic::Policy 1.150 + requirements: + B::Keywords 1.23 + Carp 0 + Config::Tiny 2 + English 0 + Exception::Class 1.23 + Exporter 5.63 + File::Basename 0 + File::Find 0 + File::Path 0 + File::Spec 0 + File::Spec::Unix 0 + File::Temp 0 + File::Which 0 + Getopt::Long 0 + List::SomeUtils 0.55 + List::Util 0 + Module::Build 0.4204 + Module::Pluggable 3.1 + PPI 1.271 + PPI::Document 1.271 + PPI::Document::File 1.271 + PPI::Node 1.271 + PPI::Token::Quote::Single 1.271 + PPI::Token::Whitespace 1.271 + PPIx::QuoteLike 0 + PPIx::Regexp 0.027 + PPIx::Regexp::Util 0.068 + PPIx::Utils::Traversal 0.003 + Perl::Tidy 0 + Pod::PlainText 0 + Pod::Select 0 + Pod::Spell 1 + Pod::Usage 0 + Readonly 2 + Scalar::Util 0 + String::Format 1.18 + Term::ANSIColor 2.02 + Test::Builder 0.92 + Text::ParseWords 3 + base 0 + charnames 0 + lib 0 + overload 0 + parent 0 + perl 5.010001 + strict 0 + version 0.77 + warnings 0 + Perl-Critic-Moose-1.05 + pathname: D/DR/DROLSKY/Perl-Critic-Moose-1.05.tar.gz + provides: + Perl::Critic::Moose 1.05 + Perl::Critic::Policy::Moose::ProhibitDESTROYMethod 1.05 + Perl::Critic::Policy::Moose::ProhibitLazyBuild 1.05 + Perl::Critic::Policy::Moose::ProhibitMultipleWiths 1.05 + Perl::Critic::Policy::Moose::ProhibitNewMethod 1.05 + Perl::Critic::Policy::Moose::RequireCleanNamespace 1.05 + Perl::Critic::Policy::Moose::RequireMakeImmutable 1.05 + requirements: + ExtUtils::MakeMaker 0 + Perl::Critic::Policy 0 + Perl::Critic::Utils 0 + Perl::Critic::Utils::PPI 0 + Readonly 0 + base 0 + namespace::autoclean 0 + perl 5.008 + strict 0 + warnings 0 + Perl-Critic-Policy-Variables-ProhibitUnusedVarsStricter-0.114 + pathname: W/WY/WYANT/Perl-Critic-Policy-Variables-ProhibitUnusedVarsStricter-0.114.tar.gz + provides: + Perl::Critic::Policy::Variables::ProhibitUnusedVarsStricter 0.114 + requirements: + Carp 0 + English 0 + PPI::Document 0 + PPIx::QuoteLike 0.011 + PPIx::QuoteLike::Constant 0.011 + PPIx::Regexp 0.071 + Perl::Critic::Exception::Fatal::Internal 1.119 + Perl::Critic::Exception::Fatal::PolicyDefinition 1.119 + Perl::Critic::Policy 1.119 + Perl::Critic::TestUtils 0 + Perl::Critic::Utils 1.119 + Readonly 0 + Scalar::Util 0 + Test::More 0.88 + Test::Perl::Critic::Policy 0 + base 0 + lib 0 + perl 5.006001 + strict 0 + warnings 0 + Perl-Critic-TooMuchCode-0.19 + pathname: G/GU/GUGOD/Perl-Critic-TooMuchCode-0.19.tar.gz + provides: + Perl::Critic::Policy::TooMuchCode::ProhibitDuplicateLiteral undef + Perl::Critic::Policy::TooMuchCode::ProhibitDuplicateSub undef + Perl::Critic::Policy::TooMuchCode::ProhibitExcessiveColons 0.01 + Perl::Critic::Policy::TooMuchCode::ProhibitExtraStricture undef + Perl::Critic::Policy::TooMuchCode::ProhibitLargeBlock undef + Perl::Critic::Policy::TooMuchCode::ProhibitLargeTryBlock undef + Perl::Critic::Policy::TooMuchCode::ProhibitUnnecessaryScalarKeyword undef + Perl::Critic::Policy::TooMuchCode::ProhibitUnnecessaryUTF8Pragma undef + Perl::Critic::Policy::TooMuchCode::ProhibitUnusedConstant undef + Perl::Critic::Policy::TooMuchCode::ProhibitUnusedImport undef + Perl::Critic::Policy::TooMuchCode::ProhibitUnusedInclude undef + Perl::Critic::TooMuchCode 0.19 + requirements: + List::Util 1.50 + Module::Build::Tiny 0.039 + PPIx::QuoteLike 0 + PPIx::Utils 0.002 + Perl::Critic 0 + Scalar::Util 1.50 + version 0.77 + Perl-Tidy-20230309 + pathname: S/SH/SHANCOCK/Perl-Tidy-20230309.tar.gz + provides: + Perl::Tidy 20230309 + Perl::Tidy::Debugger 20230309 + Perl::Tidy::DevNull 20230309 + Perl::Tidy::Diagnostics 20230309 + Perl::Tidy::FileWriter 20230309 + Perl::Tidy::Formatter 20230309 + Perl::Tidy::HtmlWriter 20230309 + Perl::Tidy::IOScalar 20230309 + Perl::Tidy::IOScalarArray 20230309 + Perl::Tidy::IndentationItem 20230309 + Perl::Tidy::LineBuffer 20230309 + Perl::Tidy::LineSink 20230309 + Perl::Tidy::LineSource 20230309 + Perl::Tidy::Logger 20230309 + Perl::Tidy::Tokenizer 20230309 + Perl::Tidy::VerticalAligner 20230309 + Perl::Tidy::VerticalAligner::Alignment 20230309 + Perl::Tidy::VerticalAligner::Line 20230309 + requirements: + ExtUtils::MakeMaker 0 + perl 5.008 + PerlIO-utf8_strict-0.010 + pathname: L/LE/LEONT/PerlIO-utf8_strict-0.010.tar.gz + provides: + PerlIO::utf8_strict 0.010 + requirements: + ExtUtils::MakeMaker 0 + XSLoader 0 + perl 5.008 + strict 0 + warnings 0 + PerlIO-via-Timeout-0.32 + pathname: D/DA/DAMS/PerlIO-via-Timeout-0.32.tar.gz + provides: + PerlIO::via::Timeout 0.32 + requirements: + Exporter 5.57 + ExtUtils::MakeMaker 0 + File::Spec 0 + IO::Handle 0 + IPC::Open3 0 + Module::Build::Tiny 0.039 + PerlIO::via 0 + Test::More 0 + Test::TCP 0 + Time::HiRes 0 + Plack-1.0050 + pathname: M/MI/MIYAGAWA/Plack-1.0050.tar.gz + provides: + HTTP::Message::PSGI undef + HTTP::Server::PSGI undef + Plack 1.0050 + Plack::App::CGIBin undef + Plack::App::Cascade undef + Plack::App::Directory undef + Plack::App::File undef + Plack::App::PSGIBin undef + Plack::App::URLMap undef + Plack::App::WrapCGI undef + Plack::Builder undef + Plack::Component undef + Plack::HTTPParser undef + Plack::HTTPParser::PP undef + Plack::Handler undef + Plack::Handler::Apache1 undef + Plack::Handler::Apache2 undef + Plack::Handler::Apache2::Registry undef + Plack::Handler::CGI undef + Plack::Handler::CGI::Writer undef + Plack::Handler::FCGI undef + Plack::Handler::HTTP::Server::PSGI undef + Plack::Handler::Standalone undef + Plack::LWPish undef + Plack::Loader undef + Plack::Loader::Delayed undef + Plack::Loader::Restarter undef + Plack::Loader::Shotgun undef + Plack::MIME undef + Plack::Middleware undef + Plack::Middleware::AccessLog undef + Plack::Middleware::AccessLog::Timed undef + Plack::Middleware::Auth::Basic undef + Plack::Middleware::BufferedStreaming undef + Plack::Middleware::Chunked undef + Plack::Middleware::Conditional undef + Plack::Middleware::ConditionalGET undef + Plack::Middleware::ContentLength undef + Plack::Middleware::ContentMD5 undef + Plack::Middleware::ErrorDocument undef + Plack::Middleware::HTTPExceptions undef + Plack::Middleware::Head undef + Plack::Middleware::IIS6ScriptNameFix undef + Plack::Middleware::IIS7KeepAliveFix undef + Plack::Middleware::JSONP undef + Plack::Middleware::LighttpdScriptNameFix undef + Plack::Middleware::Lint undef + Plack::Middleware::Log4perl undef + Plack::Middleware::LogDispatch undef + Plack::Middleware::NullLogger undef + Plack::Middleware::RearrangeHeaders undef + Plack::Middleware::Recursive undef + Plack::Middleware::Refresh undef + Plack::Middleware::Runtime undef + Plack::Middleware::SimpleContentFilter undef + Plack::Middleware::SimpleLogger undef + Plack::Middleware::StackTrace undef + Plack::Middleware::Static undef + Plack::Middleware::XFramework undef + Plack::Middleware::XSendfile undef + Plack::Recursive::ForwardRequest undef + Plack::Request 1.0050 + Plack::Request::Upload undef + Plack::Response 1.0050 + Plack::Runner undef + Plack::TempBuffer undef + Plack::Test undef + Plack::Test::MockHTTP undef + Plack::Test::Server undef + Plack::Test::Suite undef + Plack::Util undef + Plack::Util::Accessor undef + Plack::Util::IOWithPath undef + Plack::Util::Prototype undef + requirements: + Apache::LogFormat::Compiler 0.33 + Cookie::Baker 0.07 + Devel::StackTrace 1.23 + Devel::StackTrace::AsHTML 0.11 + ExtUtils::MakeMaker 0 + File::ShareDir 1.00 + File::ShareDir::Install 0.06 + Filesys::Notify::Simple 0 + HTTP::Entity::Parser 0.25 + HTTP::Headers::Fast 0.18 + HTTP::Message 5.814 + HTTP::Tiny 0.034 + Hash::MultiValue 0.05 + Pod::Usage 1.36 + Stream::Buffered 0.02 + Test::TCP 2.15 + Try::Tiny 0 + URI 1.59 + WWW::Form::UrlEncoded 0.23 + parent 0 + perl 5.008001 + Plack-Middleware-Debug-0.18 + pathname: M/MI/MIYAGAWA/Plack-Middleware-Debug-0.18.tar.gz + provides: + Plack::Middleware::Debug 0.18 + Plack::Middleware::Debug::Base 0.18 + Plack::Middleware::Debug::CatalystLog 0.18 + Plack::Middleware::Debug::DBITrace 0.18 + Plack::Middleware::Debug::Environment 0.18 + Plack::Middleware::Debug::Memory 0.18 + Plack::Middleware::Debug::ModuleVersions 0.18 + Plack::Middleware::Debug::Panel undef + Plack::Middleware::Debug::Parameters undef + Plack::Middleware::Debug::PerlConfig 0.18 + Plack::Middleware::Debug::Response 0.18 + Plack::Middleware::Debug::Session undef + Plack::Middleware::Debug::Timer 0.18 + Plack::Middleware::Debug::TrackObjects undef + requirements: + Class::Method::Modifiers 1.05 + Data::Dump 0 + Data::Dumper::Concise 0 + Encode 2.23 + File::ShareDir 1.00 + Module::Build::Tiny 0.034 + Plack 0 + Text::MicroTemplate 0.15 + parent 0 + perl 5.008001 + Plack-Middleware-FixMissingBodyInRedirect-0.12 + pathname: S/SW/SWEETKID/Plack-Middleware-FixMissingBodyInRedirect-0.12.tar.gz + provides: + Plack::Middleware::FixMissingBodyInRedirect 0.12 + requirements: + ExtUtils::MakeMaker 6.30 + HTML::Entities 0 + Plack::Middleware 0 + Plack::Util 0 + Scalar::Util 0 + parent 0 + strict 0 + warnings 0 + Plack-Middleware-MethodOverride-0.20 + pathname: M/MI/MIYAGAWA/Plack-Middleware-MethodOverride-0.20.tar.gz + provides: + Plack::Middleware::MethodOverride 0.20 + requirements: + ExtUtils::MakeMaker 0 + Plack::Middleware 0 + Plack::Request 0 + Plack::Util::Accessor 0 + parent 0 + perl 5.008001 + strict 0 + warnings 0 + Plack-Middleware-RemoveRedundantBody-0.09 + pathname: S/SW/SWEETKID/Plack-Middleware-RemoveRedundantBody-0.09.tar.gz + provides: + Plack::Middleware::RemoveRedundantBody 0.09 + requirements: + ExtUtils::MakeMaker 0 + Plack::Middleware 0 + Plack::Util 0 + parent 0 + strict 0 + warnings 0 + Plack-Middleware-ReverseProxy-0.16 + pathname: M/MI/MIYAGAWA/Plack-Middleware-ReverseProxy-0.16.tar.gz + provides: + Plack::Middleware::ReverseProxy 0.16 + requirements: + ExtUtils::MakeMaker 6.59 + Plack 0.9988 + Plack::Middleware 0 + Plack::Request 0 + Test::More 0 + parent 0 + perl 5.008001 + Plack-Test-ExternalServer-0.02 + pathname: E/ET/ETHER/Plack-Test-ExternalServer-0.02.tar.gz + provides: + Plack::Test::ExternalServer 0.02 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + LWP::UserAgent 0 + URI 0 + perl 5.006 + strict 0 + warnings 0 + Pod-Spell-1.26 + pathname: H/HA/HAARG/Pod-Spell-1.26.tar.gz + provides: + Pod::Spell 1.26 + Pod::Wordlist 1.26 + requirements: + Carp 0 + Class::Tiny 0 + ExtUtils::MakeMaker 0 + File::ShareDir 0 + File::ShareDir::Install 0.06 + Lingua::EN::Inflect 0 + POSIX 0 + Pod::Escapes 0 + Pod::Simple 3.27 + Text::Wrap 0 + constant 0 + locale 0 + parent 0 + perl 5.008 + Proc-Wait3-0.05 + pathname: C/CT/CTILMES/Proc-Wait3-0.05.tar.gz + provides: + Proc::Wait3 0.05 + requirements: + ExtUtils::MakeMaker 0 + REST-Utils-0.6 + pathname: J/JA/JALDHAR/REST-Utils-0.6.tar.gz + provides: + REST::Utils 0.6 + requirements: + Test::More 0 + Test::WWW::Mechanize::CGI 0 + perl 5.008 + RSS-Parser-Lite-0.12 + pathname: T/TF/TFPBL/RSS-Parser-Lite-0.12.tar.gz + provides: + XML::RSS::Parser::Lite 0.12 + XML::RSS::Parser::Lite::Item 0.12 + requirements: + ExtUtils::MakeMaker 0 + XML::Parser::Lite 0 + Readonly-2.05 + pathname: S/SA/SANKO/Readonly-2.05.tar.gz + provides: + Readonly 2.05 + Readonly::Array undef + Readonly::Hash undef + Readonly::Scalar undef + requirements: + Module::Build::Tiny 0.035 + perl 5.005 + Redis-2.000 + pathname: D/DA/DAMS/Redis-2.000.tar.gz + provides: + Redis 2.000 + Redis::Hash 2.000 + Redis::List 2.000 + Redis::Sentinel 2.000 + requirements: + ExtUtils::MakeMaker 6.63_03 + IO::Socket::Timeout 0.29 + Module::Build::Tiny 0.034 + Try::Tiny 0 + perl 5.010 + Role-Tiny-2.002004 + pathname: H/HA/HAARG/Role-Tiny-2.002004.tar.gz + provides: + Role::Tiny 2.002004 + Role::Tiny::With 2.002004 + requirements: + Exporter 5.57 + perl 5.006 + Safe-Isa-1.000010 + pathname: E/ET/ETHER/Safe-Isa-1.000010.tar.gz + provides: + Safe::Isa 1.000010 + requirements: + Exporter 5.57 + ExtUtils::MakeMaker 0 + Scalar::Util 0 + perl 5.006 + Scalar-List-Utils-1.63 + pathname: P/PE/PEVANS/Scalar-List-Utils-1.63.tar.gz + provides: + List::Util 1.63 + List::Util::XS 1.63 + Scalar::Util 1.63 + Sub::Util 1.63 + requirements: + ExtUtils::MakeMaker 0 + perl 5.006 + Scalar-String-0.003 + pathname: Z/ZE/ZEFRAM/Scalar-String-0.003.tar.gz + provides: + Scalar::String 0.003 + requirements: + Carp 0 + Exporter 0 + Module::Build 0 + Test::More 0 + bytes 0 + if 0 + parent 0 + perl 5.006 + strict 0 + utf8 0 + warnings 0 + Scope-Guard-0.21 + pathname: C/CH/CHOCOLATE/Scope-Guard-0.21.tar.gz + provides: + Scope::Guard 0.21 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + perl 5.006001 + Sentry-Raven-1.14 + pathname: Q/QR/QRRY/Sentry-Raven-1.14.tar.gz + provides: + Sentry::Raven 1.14 + Sentry::Raven::Processor::RemoveStackVariables undef + requirements: + Data::Dump 0 + Devel::StackTrace 0 + English 0 + ExtUtils::MakeMaker 0 + File::Basename 0 + File::Slurp 0 + HTTP::Request::Common 0 + HTTP::Status 0 + JSON::XS 0 + LWP::Protocol::https 0 + LWP::UserAgent 0 + List::Util 0 + Moo 0 + MooX::Types::MooseLike::Base 0 + Sys::Hostname 0 + Time::Piece 0 + URI 0 + UUID::Tiny 0 + perl 5.008 + Server-Starter-0.35 + pathname: K/KA/KAZUHO/Server-Starter-0.35.tar.gz + provides: + Server::Starter 0.35 + Server::Starter::Guard undef + requirements: + Module::Build 0.4005 + perl 5.008 + Set-Scalar-1.29 + pathname: D/DA/DAVIDO/Set-Scalar-1.29.tar.gz + provides: + Set::Scalar 1.29 + Set::Scalar::Base 1.29 + Set::Scalar::Null 1.29 + Set::Scalar::Real 1.29 + Set::Scalar::Universe 1.29 + Set::Scalar::Valued 1.29 + Set::Scalar::ValuedUniverse 1.29 + Set::Scalar::Virtual 1.29 + requirements: + ExtUtils::MakeMaker 0 + Signal-Mask-0.008 + pathname: L/LE/LEONT/Signal-Mask-0.008.tar.gz + provides: + Signal::Mask 0.008 + Signal::Pending 0.008 + requirements: + Carp 0 + ExtUtils::MakeMaker 6.30 + IPC::Signal 0 + POSIX 0 + strict 0 + warnings 0 + Specio-0.48 + pathname: D/DR/DROLSKY/Specio-0.48.tar.gz + provides: + Specio 0.48 + Specio::Coercion 0.48 + Specio::Constraint::AnyCan 0.48 + Specio::Constraint::AnyDoes 0.48 + Specio::Constraint::AnyIsa 0.48 + Specio::Constraint::Enum 0.48 + Specio::Constraint::Intersection 0.48 + Specio::Constraint::ObjectCan 0.48 + Specio::Constraint::ObjectDoes 0.48 + Specio::Constraint::ObjectIsa 0.48 + Specio::Constraint::Parameterizable 0.48 + Specio::Constraint::Parameterized 0.48 + Specio::Constraint::Role::CanType 0.48 + Specio::Constraint::Role::DoesType 0.48 + Specio::Constraint::Role::Interface 0.48 + Specio::Constraint::Role::IsaType 0.48 + Specio::Constraint::Simple 0.48 + Specio::Constraint::Structurable 0.48 + Specio::Constraint::Structured 0.48 + Specio::Constraint::Union 0.48 + Specio::Declare 0.48 + Specio::DeclaredAt 0.48 + Specio::Exception 0.48 + Specio::Exporter 0.48 + Specio::Helpers 0.48 + Specio::Library::Builtins 0.48 + Specio::Library::Numeric 0.48 + Specio::Library::Perl 0.48 + Specio::Library::String 0.48 + Specio::Library::Structured 0.48 + Specio::Library::Structured::Dict 0.48 + Specio::Library::Structured::Map 0.48 + Specio::Library::Structured::Tuple 0.48 + Specio::OO 0.48 + Specio::PartialDump 0.48 + Specio::Registry 0.48 + Specio::Role::Inlinable 0.48 + Specio::Subs 0.48 + Specio::TypeChecks 0.48 + Test::Specio 0.48 + requirements: + B 0 + Carp 0 + Devel::StackTrace 0 + Eval::Closure 0 + Exporter 0 + ExtUtils::MakeMaker 0 + IO::File 0 + List::Util 1.33 + MRO::Compat 0 + Module::Runtime 0 + Role::Tiny 1.003003 + Role::Tiny::With 0 + Scalar::Util 0 + Storable 0 + Sub::Quote 0 + Test::Fatal 0 + Test::More 0.96 + Try::Tiny 0 + XString 0 + overload 0 + parent 0 + perl 5.008 + re 0 + strict 0 + version 0.83 + warnings 0 + Spiffy-0.46 + pathname: I/IN/INGY/Spiffy-0.46.tar.gz + provides: + Spiffy 0.46 + Spiffy::mixin undef + requirements: + ExtUtils::MakeMaker 6.30 + Starlet-0.31 + pathname: K/KA/KAZUHO/Starlet-0.31.tar.gz + provides: + Plack::Handler::Starlet undef + Starlet 0.31 + Starlet::Server undef + requirements: + ExtUtils::MakeMaker 6.59 + LWP::UserAgent 5.8 + Parallel::Prefork 0.17 + Plack 0.992 + Server::Starter 0.06 + Test::More 0.88 + Test::TCP 2.1 + perl 5.008001 + Statistics-Basic-1.6611 + pathname: J/JE/JETTERO/Statistics-Basic-1.6611.tar.gz + provides: + Statistics::Basic 1.6611 + Statistics::Basic::ComputedVector undef + Statistics::Basic::Correlation undef + Statistics::Basic::Covariance undef + Statistics::Basic::LeastSquareFit undef + Statistics::Basic::Mean undef + Statistics::Basic::Median undef + Statistics::Basic::Mode undef + Statistics::Basic::StdDev undef + Statistics::Basic::Variance undef + Statistics::Basic::Vector undef + Statistics::Basic::_OneVectorBase undef + Statistics::Basic::_TwoVectorBase undef + requirements: + ExtUtils::MakeMaker 0 + Number::Format 1.42 + Scalar::Util 0 + perl 5.006 + Stream-Buffered-0.03 + pathname: D/DO/DOY/Stream-Buffered-0.03.tar.gz + provides: + Stream::Buffered 0.03 + Stream::Buffered::Auto undef + Stream::Buffered::File undef + Stream::Buffered::PerlIO undef + requirements: + ExtUtils::MakeMaker 6.30 + IO::File 1.14 + String-CamelCase-0.04 + pathname: H/HI/HIO/String-CamelCase-0.04.tar.gz + provides: + String::CamelCase 0.04 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + String-Escape-2010.002 + pathname: E/EV/EVO/String-Escape-2010.002.tar.gz + provides: + String::Escape 2010.002 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + String-Format-1.18 + pathname: S/SR/SREZIC/String-Format-1.18.tar.gz + provides: + String::Format 1.18 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + String-RewritePrefix-0.009 + pathname: R/RJ/RJBS/String-RewritePrefix-0.009.tar.gz + provides: + String::RewritePrefix 0.009 + requirements: + Carp 0 + ExtUtils::MakeMaker 6.78 + Sub::Exporter 0.972 + perl 5.012 + strict 0 + warnings 0 + String-ShellQuote-1.04 + pathname: R/RO/ROSCH/String-ShellQuote-1.04.tar.gz + provides: + String::ShellQuote 1.04 + requirements: + ExtUtils::MakeMaker 0 + String-TT-0.03 + pathname: B/BO/BOBTFISH/String-TT-0.03.tar.gz + provides: + String::TT 0.03 + requirements: + Carp 0 + ExtUtils::MakeMaker 6.42 + List::Util 0 + PadWalker 0 + Sub::Exporter 0 + Template 0 + Test::Exception 0 + Test::More 0.88 + Test::TableDriven 0 + ok 0 + Sub-Exporter-0.989 + pathname: R/RJ/RJBS/Sub-Exporter-0.989.tar.gz + provides: + Sub::Exporter 0.989 + Sub::Exporter::Util 0.989 + requirements: + Carp 0 + Data::OptList 0.100 + ExtUtils::MakeMaker 6.78 + Params::Util 0.14 + Sub::Install 0.92 + perl 5.008000 + strict 0 + warnings 0 + Sub-Exporter-ForMethods-0.100055 + pathname: R/RJ/RJBS/Sub-Exporter-ForMethods-0.100055.tar.gz + provides: + Sub::Exporter::ForMethods 0.100055 + requirements: + ExtUtils::MakeMaker 6.78 + Scalar::Util 0 + Sub::Exporter 0.978 + Sub::Util 0 + perl 5.012 + strict 0 + warnings 0 + Sub-Exporter-Progressive-0.001013 + pathname: F/FR/FREW/Sub-Exporter-Progressive-0.001013.tar.gz + provides: + Sub::Exporter::Progressive 0.001013 + requirements: + ExtUtils::MakeMaker 0 + Sub-Identify-0.14 + pathname: R/RG/RGARCIA/Sub-Identify-0.14.tar.gz + provides: + Sub::Identify 0.14 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + Sub-Install-0.929 + pathname: R/RJ/RJBS/Sub-Install-0.929.tar.gz + provides: + Sub::Install 0.929 + requirements: + B 0 + Carp 0 + ExtUtils::MakeMaker 6.78 + Scalar::Util 0 + perl 5.008000 + strict 0 + warnings 0 + Sub-Name-0.27 + pathname: E/ET/ETHER/Sub-Name-0.27.tar.gz + provides: + Sub::Name 0.27 + requirements: + Exporter 0 + ExtUtils::MakeMaker 0 + XSLoader 0 + perl 5.006 + strict 0 + warnings 0 + Sub-Quote-2.006008 + pathname: H/HA/HAARG/Sub-Quote-2.006008.tar.gz + provides: + Sub::Defer 2.006008 + Sub::Quote 2.006008 + requirements: + ExtUtils::MakeMaker 0 + Scalar::Util 0 + perl 5.006 + Sub-Uplevel-0.2800 + pathname: D/DA/DAGOLDEN/Sub-Uplevel-0.2800.tar.gz + provides: + Sub::Uplevel 0.2800 + requirements: + Carp 0 + ExtUtils::MakeMaker 6.17 + constant 0 + perl 5.006 + strict 0 + warnings 0 + Symbol-Util-0.0203 + pathname: D/DE/DEXTER/Symbol-Util-0.0203.tar.gz + provides: + Symbol::Util 0.0203 + requirements: + perl 5.006 + TAP-Harness-JUnit-0.42 + pathname: J/JL/JLAVALLEE/TAP-Harness-JUnit-0.42.tar.gz + provides: + TAP::Harness::JUnit 0.42 + TAP::Harness::JUnit::Parser undef + requirements: + Encode 0 + File::Temp 0 + Module::Build 0.42 + Scalar::Util 0 + TAP::Harness 3.05 + TAP::Parser 0 + Test::Deep 0 + Test::More 0 + Time::HiRes 0 + XML::Simple 0 + TAP-Parser-SourceHandler-pgTAP-3.36 + pathname: D/DW/DWHEELER/TAP-Parser-SourceHandler-pgTAP-3.36.tar.gz + provides: + TAP::Parser::SourceHandler::pgTAP 3.36 + requirements: + Module::Build 0.30 + TAP::Parser::SourceHandler 0 + Test::More 0.88 + perl 5.006 + Task-Weaken-1.06 + pathname: E/ET/ETHER/Task-Weaken-1.06.tar.gz + provides: + Task::Weaken 1.06 + requirements: + Config 0 + ExtUtils::MakeMaker 0 + File::Spec 0 + Scalar::Util 1.14 + perl 5.006 + strict 0 + Template-Plugin-Class-0.14 + pathname: R/RC/RCLAMP/Template-Plugin-Class-0.14.tar.gz + provides: + Template::Plugin::Class 0.14 + Template::Plugin::Class::Proxy 0.14 + requirements: + ExtUtils::MakeMaker 0 + Template 0 + Test::More 0 + Template-Plugin-JSON-Escape-0.02 + pathname: N/NA/NANTO/Template-Plugin-JSON-Escape-0.02.tar.gz + provides: + Template::Plugin::JSON::Escape 0.02 + requirements: + ExtUtils::MakeMaker 0 + JSON 2.12 + Template 2.20 + Test::More 0 + Template-Plugin-JavaScript-0.02 + pathname: M/MI/MIYAGAWA/Template-Plugin-JavaScript-0.02.tar.gz + provides: + Template::Plugin::JavaScript 0.02 + requirements: + ExtUtils::MakeMaker 0 + Template 0 + Test::More 0.32 + Template-Timer-1.00 + pathname: P/PE/PETDANCE/Template-Timer-1.00.tar.gz + provides: + Template::Timer 1.00 + requirements: + ExtUtils::MakeMaker 0 + Template 0 + Test::More 0 + Time::HiRes 0 + Template-Toolkit-3.101 + pathname: A/AB/ABW/Template-Toolkit-3.101.tar.gz + provides: + Template 3.101 + Template::Base 3.100 + Template::Config 3.100 + Template::Constants 3.100 + Template::Context 3.100 + Template::Directive 3.100 + Template::Document 3.100 + Template::Exception 3.100 + Template::Filters 3.100 + Template::Grammar 3.100 + Template::Iterator 3.100 + Template::Monad::Assert 3.100 + Template::Monad::Scalar 3.100 + Template::Namespace::Constants 3.100 + Template::Parser 3.100 + Template::Perl 3.100 + Template::Plugin 3.100 + Template::Plugin::Assert 3.100 + Template::Plugin::Datafile 3.100 + Template::Plugin::Date 3.100 + Template::Plugin::Date::Calc 3.100 + Template::Plugin::Date::Manip 3.100 + Template::Plugin::Directory 3.100 + Template::Plugin::Dumper 3.100 + Template::Plugin::File 3.100 + Template::Plugin::Filter 3.100 + Template::Plugin::Format 3.100 + Template::Plugin::HTML 3.100 + Template::Plugin::Image 3.100 + Template::Plugin::Iterator 3.100 + Template::Plugin::Math 3.100 + Template::Plugin::Pod 3.100 + Template::Plugin::Procedural 3.100 + Template::Plugin::Scalar 3.100 + Template::Plugin::String 3.100 + Template::Plugin::Table 3.100 + Template::Plugin::URL 3.100 + Template::Plugin::View 3.100 + Template::Plugin::Wrap 3.100 + Template::Plugins 3.100 + Template::Provider 3.100 + Template::Service 3.100 + Template::Stash 3.100 + Template::Stash::Context 3.100 + Template::Stash::XS undef + Template::Test 3.100 + Template::TieString 3.100 + Template::Toolkit 3.100 + Template::VMethods 3.100 + Template::View 3.100 + requirements: + AppConfig 1.56 + ExtUtils::MakeMaker 0 + File::Spec 0.8 + File::Temp 0.12 + Scalar::Util 0 + Test-Abortable-0.003 + pathname: R/RJ/RJBS/Test-Abortable-0.003.tar.gz + provides: + Test::Abortable 0.003 + requirements: + ExtUtils::MakeMaker 6.78 + Sub::Exporter 0 + Test2::API 1.302075 + perl 5.012 + strict 0 + warnings 0 + Test-Aggregate-0.375 + pathname: R/RW/RWSTAUNER/Test-Aggregate-0.375.tar.gz + provides: + Test::Aggregate 0.375 + Test::Aggregate::Base 0.375 + Test::Aggregate::Builder 0.375 + Test::Aggregate::Nested 0.375 + requirements: + ExtUtils::MakeMaker 0 + FindBin 1.47 + Test::Harness 3.09 + Test::Most 0.21 + Test::NoWarnings 0 + Test::Simple 0.94 + Test::Trap 0 + Test-Assert-0.0504 + pathname: D/DE/DEXTER/Test-Assert-0.0504.tar.gz + provides: + Exception::Assertion 0.0504 + Test::Assert 0.0504 + requirements: + Class::Inspector 0 + Exception::Base 0.21 + Symbol::Util 0.0202 + Test::Unit::Lite 0.11 + constant::boolean 0.02 + parent 0 + perl 5.006 + Test-Base-0.89 + pathname: I/IN/INGY/Test-Base-0.89.tar.gz + provides: + Test::Base 0.89 + Test::Base::Block 0.89 + Test::Base::Filter undef + Test::Base::Handle 0.89 + requirements: + ExtUtils::MakeMaker 0 + Filter::Util::Call 0 + Scalar::Util 1.07 + Spiffy 0.40 + Test::More 0.88 + perl 5.008001 + Test-Deep-1.204 + pathname: R/RJ/RJBS/Test-Deep-1.204.tar.gz + provides: + Test::Deep 1.204 + Test::Deep::All 1.204 + Test::Deep::Any 1.204 + Test::Deep::Array 1.204 + Test::Deep::ArrayEach 1.204 + Test::Deep::ArrayElementsOnly 1.204 + Test::Deep::ArrayLength 1.204 + Test::Deep::ArrayLengthOnly 1.204 + Test::Deep::Blessed 1.204 + Test::Deep::Boolean 1.204 + Test::Deep::Cache 1.204 + Test::Deep::Cache::Simple 1.204 + Test::Deep::Class 1.204 + Test::Deep::Cmp 1.204 + Test::Deep::Code 1.204 + Test::Deep::Hash 1.204 + Test::Deep::HashEach 1.204 + Test::Deep::HashElements 1.204 + Test::Deep::HashKeys 1.204 + Test::Deep::HashKeysOnly 1.204 + Test::Deep::Ignore 1.204 + Test::Deep::Isa 1.204 + Test::Deep::ListMethods 1.204 + Test::Deep::MM 1.204 + Test::Deep::Methods 1.204 + Test::Deep::NoTest 1.204 + Test::Deep::None 1.204 + Test::Deep::Number 1.204 + Test::Deep::Obj 1.204 + Test::Deep::Ref 1.204 + Test::Deep::RefType 1.204 + Test::Deep::Regexp 1.204 + Test::Deep::RegexpMatches 1.204 + Test::Deep::RegexpOnly 1.204 + Test::Deep::RegexpRef 1.204 + Test::Deep::RegexpRefOnly 1.204 + Test::Deep::RegexpVersion 1.204 + Test::Deep::ScalarRef 1.204 + Test::Deep::ScalarRefOnly 1.204 + Test::Deep::Set 1.204 + Test::Deep::Shallow 1.204 + Test::Deep::Stack 1.204 + Test::Deep::String 1.204 + Test::Deep::SubHash 1.204 + Test::Deep::SubHashElements 1.204 + Test::Deep::SubHashKeys 1.204 + Test::Deep::SubHashKeysOnly 1.204 + Test::Deep::SuperHash 1.204 + Test::Deep::SuperHashElements 1.204 + Test::Deep::SuperHashKeys 1.204 + Test::Deep::SuperHashKeysOnly 1.204 + requirements: + ExtUtils::MakeMaker 6.78 + List::Util 1.09 + Scalar::Util 1.09 + Test::Builder 0 + Test::More 0.96 + perl 5.012 + Test-Differences-0.69 + pathname: D/DC/DCANTRELL/Test-Differences-0.69.tar.gz + provides: + Test::Differences 0.69 + requirements: + Capture::Tiny 0.24 + Data::Dumper 2.126 + ExtUtils::MakeMaker 0 + Test::More 0.88 + Text::Diff 1.43 + Test-EOL-2.02 + pathname: E/ET/ETHER/Test-EOL-2.02.tar.gz + provides: + Test::EOL 2.02 + requirements: + Cwd 0 + ExtUtils::MakeMaker 0 + File::Find 0 + File::Spec 0 + Test::Builder 0 + perl 5.006 + strict 0 + warnings 0 + Test-Exception-0.43 + pathname: E/EX/EXODIST/Test-Exception-0.43.tar.gz + provides: + Test::Exception 0.43 + requirements: + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 0 + Sub::Uplevel 0.18 + Test::Builder 0.7 + Test::Builder::Tester 1.07 + Test::Harness 2.03 + base 0 + perl 5.006001 + strict 0 + warnings 0 + Test-Fatal-0.017 + pathname: R/RJ/RJBS/Test-Fatal-0.017.tar.gz + provides: + Test::Fatal 0.017 + requirements: + Carp 0 + Exporter 5.57 + ExtUtils::MakeMaker 6.78 + Test::Builder 0 + Try::Tiny 0.07 + strict 0 + warnings 0 + Test-JSON-0.11 + pathname: O/OV/OVID/Test-JSON-0.11.tar.gz + provides: + Test::JSON 0.11 + requirements: + JSON::Any 1.2 + Test::Differences 0.47 + Test::Simple 0.62 + Test::Tester 0.107 + Test-LongString-0.17 + pathname: R/RG/RGARCIA/Test-LongString-0.17.tar.gz + provides: + Test::LongString 0.17 + requirements: + ExtUtils::MakeMaker 0 + Test::Builder 0.12 + Test::Builder::Tester 1.04 + Test-Memory-Cycle-1.06 + pathname: P/PE/PETDANCE/Test-Memory-Cycle-1.06.tar.gz + provides: + Test::Memory::Cycle 1.06 + requirements: + Devel::Cycle 1.07 + ExtUtils::MakeMaker 0 + Getopt::Long 0 + PadWalker 0 + Test::Builder 0 + Test::Builder::Tester 0 + Test::More 0 + Test::Simple 0.62 + Test-Mock-Class-0.0303 + pathname: D/DE/DEXTER/Test-Mock-Class-0.0303.tar.gz + provides: + Test::Mock::Class 0.0303 + Test::Mock::Class::Role::Meta::Class 0.0303 + Test::Mock::Class::Role::Object 0.0303 + requirements: + Class::Inspector 0 + Class::MOP 0.93 + Exception::Base 0 + Exception::Fatal 0 + Moose 0.9 + Test::Assert 0.05 + Test::Unit::Lite 0.12 + namespace::clean 0 + perl 5.006 + Test-Most-0.38 + pathname: O/OV/OVID/Test-Most-0.38.tar.gz + provides: + Test::Most 0.38 + Test::Most::Exception 0.38 + requirements: + Exception::Class 1.14 + ExtUtils::MakeMaker 0 + Test::Deep 0.119 + Test::Differences 0.64 + Test::Exception 0.43 + Test::Harness 3.35 + Test::More 1.302047 + Test::Warn 0.30 + Test-NoTabs-2.02 + pathname: E/ET/ETHER/Test-NoTabs-2.02.tar.gz + provides: + Test::NoTabs 2.02 + requirements: + ExtUtils::MakeMaker 0 + File::Find 0 + File::Spec 0 + FindBin 0 + Test::Builder 0 + perl 5.006 + strict 0 + warnings 0 + Test-NoWarnings-1.06 + pathname: H/HA/HAARG/Test-NoWarnings-1.06.tar.gz + provides: + Test::NoWarnings 1.06 + Test::NoWarnings::Warning 1.06 + requirements: + ExtUtils::MakeMaker 0 + Test::Builder 0.86 + perl 5.006 + Test-Requires-0.11 + pathname: T/TO/TOKUHIROM/Test-Requires-0.11.tar.gz + provides: + Test::Requires 0.11 + requirements: + ExtUtils::MakeMaker 6.64 + Test::Builder::Module 0 + Test::More 0.47 + perl 5.006 + Test-Routine-0.031 + pathname: R/RJ/RJBS/Test-Routine-0.031.tar.gz + provides: + Test::Routine 0.031 + Test::Routine::Common 0.031 + Test::Routine::Compositor 0.031 + Test::Routine::Manual::Demo 0.031 + Test::Routine::Runner 0.031 + Test::Routine::Test 0.031 + Test::Routine::Test::Role 0.031 + Test::Routine::Util 0.031 + requirements: + Carp 0 + Class::Load 0 + ExtUtils::MakeMaker 6.78 + Moose 0 + Moose::Exporter 0 + Moose::Meta::Class 0 + Moose::Meta::Method 0 + Moose::Role 0 + Moose::Util 0 + Moose::Util::TypeConstraints 0 + Params::Util 0 + Scalar::Util 0 + Sub::Exporter 0 + Sub::Exporter::Util 0 + Test2::API 1.302045 + Test::Abortable 0.002 + Test::More 0.96 + Try::Tiny 0 + namespace::autoclean 0 + namespace::clean 0 + perl 5.012000 + strict 0 + warnings 0 + Test-SharedFork-0.35 + pathname: E/EX/EXODIST/Test-SharedFork-0.35.tar.gz + provides: + Test::SharedFork 0.35 + Test::SharedFork::Array undef + Test::SharedFork::Scalar undef + Test::SharedFork::Store undef + requirements: + ExtUtils::MakeMaker 6.64 + File::Temp 0 + Test::Builder 0.32 + Test::Builder::Module 0 + Test::More 0.88 + perl 5.008_001 + Test-TCP-2.22 + pathname: M/MI/MIYAGAWA/Test-TCP-2.22.tar.gz + provides: + Net::EmptyPort undef + Test::TCP 2.22 + Test::TCP::CheckPort undef + requirements: + ExtUtils::MakeMaker 6.64 + IO::Socket::INET 0 + IO::Socket::IP 0 + Test::More 0 + Test::SharedFork 0.29 + Time::HiRes 0 + perl 5.008001 + Test-TableDriven-0.02 + pathname: J/JR/JROCKWAY/Test-TableDriven-0.02.tar.gz + provides: + Test::TableDriven 0.02 + requirements: + Data::Dumper 0 + ExtUtils::MakeMaker 0 + Test::More 0 + Test-Trap-v0.3.5 + pathname: E/EB/EBHANSSEN/Test-Trap-v0.3.5.tar.gz + provides: + Test::Trap v0.3.5 + Test::Trap::Builder v0.3.5 + Test::Trap::Builder::PerlIO v0.3.5 + Test::Trap::Builder::SystemSafe v0.3.5 + Test::Trap::Builder::TempFile v0.3.5 + requirements: + Carp 0 + Config 0 + Data::Dump 0 + Exporter 0 + File::Temp 0 + IO::Handle 0 + Module::Build 0 + Test::Builder 0 + Test::More 0 + Test::Tester 0.107 + base 0 + constant 0 + lib 0 + perl v5.6.2 + strict 0 + version 0 + warnings 0 + Test-Unit-Lite-0.1202 + pathname: D/DE/DEXTER/Test-Unit-Lite-0.1202.tar.gz + provides: + Test::Unit::Debug 0 + Test::Unit::HarnessUnit 0 + Test::Unit::Lite 0.1202 + Test::Unit::Lite::AllTests 0 + Test::Unit::Result 0 + Test::Unit::TestCase 0 + Test::Unit::TestRunner 0 + Test::Unit::TestSuite 0 + requirements: + perl 5.006 + Test-WWW-Mechanize-1.60 + pathname: P/PE/PETDANCE/Test-WWW-Mechanize-1.60.tar.gz + provides: + Test::WWW::Mechanize 1.60 + requirements: + Carp 0 + Carp::Assert::More 1.16 + ExtUtils::MakeMaker 0 + HTML::Form 0 + HTML::TokeParser 0 + HTTP::Message 6.29 + LWP 6.02 + Test::Builder 0 + Test::LongString 0.15 + WWW::Mechanize 1.68 + parent 0 + perl 5.01 + Test-WWW-Mechanize-CGI-0.1 + pathname: M/MR/MRAMBERG/Test-WWW-Mechanize-CGI-0.1.tar.gz + provides: + Test::WWW::Mechanize::CGI 0.1 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + Test::WWW::Mechanize 0 + WWW::Mechanize::CGI 0.2 + Test-WWW-Mechanize-Catalyst-0.62 + pathname: M/MS/MSTROUT/Test-WWW-Mechanize-Catalyst-0.62.tar.gz + provides: + Test::WWW::Mechanize::Catalyst 0.62 + requirements: + Catalyst 5.90 + Catalyst::Plugin::Session::State::Cookie 0 + Catalyst::Plugin::Session::Store::Dummy 0 + Class::Load 0.19 + ExtUtils::MakeMaker 6.59 + LWP 5.816 + Moose 0.67 + Test::Exception 0 + Test::More 0.88 + Test::WWW::Mechanize 1.14 + Test::utf8 0 + WWW::Mechanize 1.54 + namespace::clean 0.09 + perl 5.008004 + Test-Warn-0.37 + pathname: B/BI/BIGJ/Test-Warn-0.37.tar.gz + provides: + Test::Warn 0.37 + requirements: + Carp 1.22 + ExtUtils::MakeMaker 0 + Sub::Uplevel 0.12 + Test::Builder 0.13 + Test::Builder::Tester 1.02 + perl 5.006 + Test-XPath-0.20 + pathname: M/MA/MANWAR/Test-XPath-0.20.tar.gz + provides: + Test::XPath 0.20 + requirements: + ExtUtils::MakeMaker 0 + Test::Builder 0.70 + Test::More 0.70 + XML::LibXML 1.70 + perl 5.006 + Test-utf8-1.02 + pathname: M/MA/MARKF/Test-utf8-1.02.tar.gz + provides: + Test::utf8 1.02 + requirements: + ExtUtils::MakeMaker 6.59 + Test::Builder 0 + Test::Builder::Tester 0.09 + perl 5.007003 + Text-Diff-1.45 + pathname: N/NE/NEILB/Text-Diff-1.45.tar.gz + provides: + Text::Diff 1.45 + Text::Diff::Base 1.45 + Text::Diff::Config 1.44 + Text::Diff::Table 1.44 + requirements: + Algorithm::Diff 1.19 + Exporter 0 + ExtUtils::MakeMaker 0 + perl 5.006 + Text-Diff3-0.10 + pathname: T/TO/TOCIYUKI/Text-Diff3-0.10.tar.gz + provides: + Text::Diff3 0.10 + Text::Diff3::Base 0.08 + Text::Diff3::Diff3 0.08 + Text::Diff3::DiffHeckel 0.08 + Text::Diff3::Factory 0.08 + Text::Diff3::List 0.08 + Text::Diff3::ListMixin 0.08 + Text::Diff3::Range2 0.08 + Text::Diff3::Range3 0.08 + Text::Diff3::Text 0.08 + requirements: + ExtUtils::MakeMaker 0 + Test::Base 0 + Text-Glob-0.11 + pathname: R/RC/RCLAMP/Text-Glob-0.11.tar.gz + provides: + Text::Glob 0.11 + requirements: + Exporter 0 + ExtUtils::MakeMaker 0 + constant 0 + perl 5.005030 + Text-Markdown-1.000031 + pathname: B/BO/BOBTFISH/Text-Markdown-1.000031.tar.gz + provides: + Text::Markdown 1.000031 + requirements: + Digest::MD5 0 + Encode 0 + ExtUtils::MakeMaker 6.42 + FindBin 0 + List::MoreUtils 0 + Test::Differences 0 + Test::Exception 0 + Test::More 0.42 + Text::Balanced 0 + Text-MicroTemplate-0.24 + pathname: K/KA/KAZUHO/Text-MicroTemplate-0.24.tar.gz + provides: + Text::MicroTemplate 0.24 + Text::MicroTemplate::EncodedString 0.24 + Text::MicroTemplate::File undef + requirements: + ExtUtils::MakeMaker 6.59 + File::Temp 0 + Test::More 0 + perl 5.008000 + Text-SimpleTable-2.07 + pathname: M/MR/MRAMBERG/Text-SimpleTable-2.07.tar.gz + provides: + Text::SimpleTable 2.07 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + perl 5.008001 + Text-Trim-1.04 + pathname: R/RJ/RJT/Text-Trim-1.04.tar.gz + provides: + Text::Trim 1.04 + requirements: + ExtUtils::MakeMaker 0 + perl 5.006 + Text-Unaccent-PurePerl-0.05 + pathname: P/PJ/PJACKLAM/Text-Unaccent-PurePerl-0.05.tar.gz + provides: + Text::Unaccent::PurePerl 0.05 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + Text-Unidecode-1.30 + pathname: S/SB/SBURKE/Text-Unidecode-1.30.tar.gz + provides: + Text::Unidecode 1.30 + requirements: + ExtUtils::MakeMaker 0 + perl 5.008 + Text-WikiFormat-0.81 + pathname: C/CY/CYCLES/Text-WikiFormat-0.81.tar.gz + provides: + Text::WikiFormat 0.81 + Text::WikiFormat::Block 0 + Text::WikiFormat::Block::code 0 + Text::WikiFormat::Blocks 0 + requirements: + Scalar::Util 1.14 + Test::More 0.30 + URI::Escape 0.01 + Throwable-1.001 + pathname: R/RJ/RJBS/Throwable-1.001.tar.gz + provides: + StackTrace::Auto 1.001 + Throwable 1.001 + Throwable::Error 1.001 + requirements: + Carp 0 + Devel::StackTrace 1.32 + ExtUtils::MakeMaker 6.78 + Module::Runtime 0.002 + Moo 1.000001 + Moo::Role 0 + Scalar::Util 0 + Sub::Quote 0 + overload 0 + Tie-ToObject-0.03 + pathname: N/NU/NUFFIN/Tie-ToObject-0.03.tar.gz + provides: + Tie::ToObject 0.03 + requirements: + ExtUtils::MakeMaker 0 + Scalar::Util 0 + Test::More 0 + Test::use::ok 0 + Tie::RefHash 0 + TimeDate-2.33 + pathname: A/AT/ATOOMIC/TimeDate-2.33.tar.gz + provides: + Date::Format 2.24 + Date::Format::Generic 2.24 + Date::Language 1.10 + Date::Language::Afar 0.99 + Date::Language::Amharic 1.00 + Date::Language::Austrian 1.01 + Date::Language::Brazilian 1.01 + Date::Language::Bulgarian 1.01 + Date::Language::Chinese 1.00 + Date::Language::Chinese_GB 1.01 + Date::Language::Czech 1.01 + Date::Language::Danish 1.01 + Date::Language::Dutch 1.02 + Date::Language::English 1.01 + Date::Language::Finnish 1.01 + Date::Language::French 1.04 + Date::Language::Gedeo 0.99 + Date::Language::German 1.02 + Date::Language::Greek 1.00 + Date::Language::Hungarian 1.01 + Date::Language::Icelandic 1.01 + Date::Language::Italian 1.01 + Date::Language::Norwegian 1.01 + Date::Language::Occitan 1.04 + Date::Language::Oromo 0.99 + Date::Language::Romanian 1.01 + Date::Language::Russian 1.01 + Date::Language::Russian_cp1251 1.01 + Date::Language::Russian_koi8r 1.01 + Date::Language::Sidama 0.99 + Date::Language::Somali 0.99 + Date::Language::Spanish 1.00 + Date::Language::Swedish 1.01 + Date::Language::Tigrinya 1.00 + Date::Language::TigrinyaEritrean 1.00 + Date::Language::TigrinyaEthiopian 1.00 + Date::Language::Turkish 1.0 + Date::Parse 2.33 + Time::Zone 2.24 + TimeDate 1.21 + requirements: + ExtUtils::MakeMaker 0 + Tree-Simple-1.34 + pathname: R/RS/RSAVAGE/Tree-Simple-1.34.tgz + provides: + Tree::Simple 1.34 + Tree::Simple::Visitor 1.34 + requirements: + ExtUtils::MakeMaker 0 + Scalar::Util 1.18 + constant 0 + strict 0 + warnings 0 + Tree-Simple-VisitorFactory-0.16 + pathname: R/RS/RSAVAGE/Tree-Simple-VisitorFactory-0.16.tgz + provides: + Tree::Simple::Visitor::BreadthFirstTraversal 0.16 + Tree::Simple::Visitor::CreateDirectoryTree 0.16 + Tree::Simple::Visitor::FindByNodeValue 0.16 + Tree::Simple::Visitor::FindByPath 0.16 + Tree::Simple::Visitor::FindByUID 0.16 + Tree::Simple::Visitor::FromNestedArray 0.16 + Tree::Simple::Visitor::FromNestedHash 0.16 + Tree::Simple::Visitor::GetAllDescendents 0.16 + Tree::Simple::Visitor::LoadClassHierarchy 0.16 + Tree::Simple::Visitor::LoadDirectoryTree 0.16 + Tree::Simple::Visitor::PathToRoot 0.16 + Tree::Simple::Visitor::PostOrderTraversal 0.16 + Tree::Simple::Visitor::PreOrderTraversal 0.16 + Tree::Simple::Visitor::Sort 0.16 + Tree::Simple::Visitor::ToNestedArray 0.16 + Tree::Simple::Visitor::ToNestedHash 0.16 + Tree::Simple::Visitor::VariableDepthClone 0.16 + Tree::Simple::VisitorFactory 0.16 + requirements: + ExtUtils::MakeMaker 0 + File::Spec 0.6 + Scalar::Util 1.1 + Tree::Simple 1.12 + Tree::Simple::Visitor 1.22 + base 0 + strict 0 + warnings 0 + Try-Tiny-0.31 + pathname: E/ET/ETHER/Try-Tiny-0.31.tar.gz + provides: + Try::Tiny 0.31 + requirements: + Carp 0 + Exporter 5.57 + ExtUtils::MakeMaker 0 + constant 0 + perl 5.006 + strict 0 + warnings 0 + Type-Tiny-2.004000 + pathname: T/TO/TOBYINK/Type-Tiny-2.004000.tar.gz + provides: + Devel::TypeTiny::Perl58Compat 2.004000 + Error::TypeTiny 2.004000 + Error::TypeTiny::Assertion 2.004000 + Error::TypeTiny::Compilation 2.004000 + Error::TypeTiny::WrongNumberOfParameters 2.004000 + Eval::TypeTiny 2.004000 + Eval::TypeTiny::CodeAccumulator 2.004000 + Reply::Plugin::TypeTiny 2.004000 + Test::TypeTiny 2.004000 + Type::Coercion 2.004000 + Type::Coercion::FromMoose 2.004000 + Type::Coercion::Union 2.004000 + Type::Library 2.004000 + Type::Params 2.004000 + Type::Params::Alternatives 2.004000 + Type::Params::Parameter 2.004000 + Type::Params::Signature 2.004000 + Type::Parser 2.004000 + Type::Parser::AstBuilder 2.004000 + Type::Parser::Token 2.004000 + Type::Parser::TokenStream 2.004000 + Type::Registry 2.004000 + Type::Tie 2.004000 + Type::Tie::ARRAY 2.004000 + Type::Tie::BASE 2.004000 + Type::Tie::HASH 2.004000 + Type::Tie::SCALAR 2.004000 + Type::Tiny 2.004000 + Type::Tiny::Bitfield 2.004000 + Type::Tiny::Class 2.004000 + Type::Tiny::ConstrainedObject 2.004000 + Type::Tiny::Duck 2.004000 + Type::Tiny::Enum 2.004000 + Type::Tiny::Intersection 2.004000 + Type::Tiny::Role 2.004000 + Type::Tiny::Union 2.004000 + Type::Utils 2.004000 + Types::Common 2.004000 + Types::Common::Numeric 2.004000 + Types::Common::String 2.004000 + Types::Standard 2.004000 + Types::Standard::ArrayRef 2.004000 + Types::Standard::CycleTuple 2.004000 + Types::Standard::Dict 2.004000 + Types::Standard::HashRef 2.004000 + Types::Standard::Map 2.004000 + Types::Standard::ScalarRef 2.004000 + Types::Standard::StrMatch 2.004000 + Types::Standard::Tied 2.004000 + Types::Standard::Tuple 2.004000 + Types::TypeTiny 2.004000 + requirements: + Exporter::Tiny 1.006000 + ExtUtils::MakeMaker 6.17 + perl 5.008001 + Types-Serialiser-1.01 + pathname: M/ML/MLEHMANN/Types-Serialiser-1.01.tar.gz + provides: + JSON::PP::Boolean 1.01 + Types::Serialiser 1.01 + Types::Serialiser::BooleanBase 1.01 + Types::Serialiser::Error 1.01 + requirements: + ExtUtils::MakeMaker 0 + common::sense 0 + URI-5.19 + pathname: S/SI/SIMBABQUE/URI-5.19.tar.gz + provides: + URI 5.19 + URI::Escape 5.19 + URI::Heuristic 5.19 + URI::IRI 5.19 + URI::QueryParam 5.19 + URI::Split 5.19 + URI::URL 5.19 + URI::WithBase 5.19 + URI::data 5.19 + URI::file 5.19 + URI::file::Base 5.19 + URI::file::FAT 5.19 + URI::file::Mac 5.19 + URI::file::OS2 5.19 + URI::file::QNX 5.19 + URI::file::Unix 5.19 + URI::file::Win32 5.19 + URI::ftp 5.19 + URI::gopher 5.19 + URI::http 5.19 + URI::https 5.19 + URI::ldap 5.19 + URI::ldapi 5.19 + URI::ldaps 5.19 + URI::mailto 5.19 + URI::mms 5.19 + URI::news 5.19 + URI::nntp 5.19 + URI::nntps 5.19 + URI::pop 5.19 + URI::rlogin 5.19 + URI::rsync 5.19 + URI::rtsp 5.19 + URI::rtspu 5.19 + URI::sftp 5.19 + URI::sip 5.19 + URI::sips 5.19 + URI::snews 5.19 + URI::ssh 5.19 + URI::telnet 5.19 + URI::tn3270 5.19 + URI::urn 5.19 + URI::urn::isbn 5.19 + URI::urn::oid 5.19 + requirements: + Carp 0 + Cwd 0 + Data::Dumper 0 + Encode 0 + Exporter 5.57 + ExtUtils::MakeMaker 0 + MIME::Base64 2 + Net::Domain 0 + Scalar::Util 0 + constant 0 + integer 0 + overload 0 + parent 0 + perl 5.008001 + strict 0 + utf8 0 + warnings 0 + URI-FromHash-0.05 + pathname: D/DR/DROLSKY/URI-FromHash-0.05.tar.gz + provides: + URI::FromHash 0.05 + requirements: + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 0 + Params::Validate 0 + URI 1.68 + strict 0 + warnings 0 + URI-ws-0.03 + pathname: P/PL/PLICEASE/URI-ws-0.03.tar.gz + provides: + URI::ws 0.03 + URI::wss 0.03 + requirements: + ExtUtils::MakeMaker 6.30 + URI 0 + UUID-Tiny-1.04 + pathname: C/CA/CAUGUSTIN/UUID-Tiny-1.04.tar.gz + provides: + UUID::Tiny 1.04 + requirements: + Carp 0 + Digest::MD5 0 + ExtUtils::MakeMaker 0 + IO::File 0 + MIME::Base64 0 + POSIX 0 + Test::More 0 + Time::HiRes 0 + Unicode-ICU-Collator-0.005 + pathname: T/TO/TONYC/Unicode-ICU-Collator-0.005.tar.gz + provides: + Unicode::ICU::Collator 0.005 + requirements: + ExtUtils::MakeMaker 0 + Test::More 0.47 + XSLoader 0 + Variable-Magic-0.63 + pathname: V/VP/VPIT/Variable-Magic-0.63.tar.gz + provides: + Variable::Magic 0.63 + requirements: + Carp 0 + Config 0 + Exporter 0 + ExtUtils::MakeMaker 0 + IO::Handle 0 + IO::Select 0 + IPC::Open3 0 + POSIX 0 + Socket 0 + Test::More 0 + XSLoader 0 + base 0 + lib 0 + perl 5.008 + WWW-Form-UrlEncoded-0.26 + pathname: K/KA/KAZEBURO/WWW-Form-UrlEncoded-0.26.tar.gz + provides: + WWW::Form::UrlEncoded 0.26 + WWW::Form::UrlEncoded::PP undef + requirements: + Exporter 0 + Module::Build 0.4005 + perl 5.008001 + WWW-Mechanize-2.17 + pathname: S/SI/SIMBABQUE/WWW-Mechanize-2.17.tar.gz + provides: + WWW::Mechanize 2.17 + WWW::Mechanize::Image 2.17 + WWW::Mechanize::Link 2.17 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + Getopt::Long 0 + HTML::Form 6.08 + HTML::HeadParser 0 + HTML::TokeParser 0 + HTML::TreeBuilder 5 + HTTP::Cookies 0 + HTTP::Request 1.30 + HTTP::Request::Common 0 + LWP::UserAgent 0 + Pod::Usage 0 + Scalar::Util 1.14 + Tie::RefHash 0 + URI::URL 0 + URI::file 0 + base 0 + perl 5.008 + strict 0 + warnings 0 + WWW-Mechanize-CGI-0.3 + pathname: M/MR/MRAMBERG/WWW-Mechanize-CGI-0.3.tar.gz + provides: + WWW::Mechanize::CGI 0.3 + requirements: + Carp 0 + ExtUtils::MakeMaker 0 + File::Spec 0 + HTTP::Request::AsCGI 0.2 + IO::Pipe 0 + Test::More 0 + WWW::Mechanize 0 + WWW-RobotRules-6.02 + pathname: G/GA/GAAS/WWW-RobotRules-6.02.tar.gz + provides: + WWW::RobotRules 6.02 + WWW::RobotRules::AnyDBM_File 6.00 + WWW::RobotRules::InCore 6.02 + requirements: + AnyDBM_File 0 + ExtUtils::MakeMaker 0 + Fcntl 0 + URI 1.10 + perl 5.008001 + WWW-Sitemap-XML-2.02 + pathname: A/AJ/AJGB/WWW-Sitemap-XML-2.02.tar.gz + provides: + WWW::Sitemap::XML 2.02 + WWW::Sitemap::XML::Google::Image 2.02 + WWW::Sitemap::XML::Google::Image::Interface 2.02 + WWW::Sitemap::XML::Google::Video 2.02 + WWW::Sitemap::XML::Google::Video::Interface 2.02 + WWW::Sitemap::XML::Google::Video::Player 2.02 + WWW::Sitemap::XML::Google::Video::Player::Interface 2.02 + WWW::Sitemap::XML::Types 2.02 + WWW::Sitemap::XML::URL 2.02 + WWW::Sitemap::XML::URL::Interface 2.02 + WWW::SitemapIndex::XML 2.02 + WWW::SitemapIndex::XML::Sitemap 2.02 + WWW::SitemapIndex::XML::Sitemap::Interface 2.02 + requirements: + ExtUtils::MakeMaker 6.30 + Module::Build 0.3601 + Moose 2.1101 + Moose::Role 0 + Moose::Util::TypeConstraints 0 + MooseX::Types 0 + MooseX::Types::DateTime::W3C 0 + MooseX::Types::Moose 0 + MooseX::Types::URI 0 + Scalar::Util 0 + XML::LibXML 1.70 + strict 0 + warnings 0 + XML-LibXML-2.0208 + pathname: S/SH/SHLOMIF/XML-LibXML-2.0208.tar.gz + provides: + XML::LibXML 2.0208 + XML::LibXML::Attr 2.0208 + XML::LibXML::AttributeHash 2.0208 + XML::LibXML::Boolean 2.0208 + XML::LibXML::CDATASection 2.0208 + XML::LibXML::Comment 2.0208 + XML::LibXML::Common 2.0208 + XML::LibXML::Devel 2.0208 + XML::LibXML::Document 2.0208 + XML::LibXML::DocumentFragment 2.0208 + XML::LibXML::Dtd 2.0208 + XML::LibXML::Element 2.0208 + XML::LibXML::ErrNo 2.0208 + XML::LibXML::Error 2.0208 + XML::LibXML::InputCallback 2.0208 + XML::LibXML::Literal 2.0208 + XML::LibXML::NamedNodeMap 2.0208 + XML::LibXML::Namespace 2.0208 + XML::LibXML::Node 2.0208 + XML::LibXML::NodeList 2.0208 + XML::LibXML::Number 2.0208 + XML::LibXML::PI 2.0208 + XML::LibXML::Pattern 2.0208 + XML::LibXML::Reader 2.0208 + XML::LibXML::RegExp 2.0208 + XML::LibXML::RelaxNG 2.0208 + XML::LibXML::SAX 2.0208 + XML::LibXML::SAX::AttributeNode 2.0208 + XML::LibXML::SAX::Builder 2.0208 + XML::LibXML::SAX::Generator 2.0208 + XML::LibXML::SAX::Parser 2.0208 + XML::LibXML::Schema 2.0208 + XML::LibXML::Text 2.0208 + XML::LibXML::XPathContext 2.0208 + XML::LibXML::XPathExpression 2.0208 + XML::LibXML::_SAXParser 2.0208 + requirements: + Alien::Base::Wrapper 0 + Alien::Libxml2 0.14 + Carp 0 + Config 0 + DynaLoader 0 + Encode 0 + Exporter 5.57 + ExtUtils::MakeMaker 0 + IO::Handle 0 + Scalar::Util 0 + Tie::Hash 0 + XML::NamespaceSupport 1.07 + XML::SAX 0.11 + XML::SAX::Base 0 + XML::SAX::DocumentLocator 0 + XML::SAX::Exception 0 + base 0 + constant 0 + overload 0 + parent 0 + perl 5.008001 + strict 0 + vars 0 + warnings 0 + XML-NamespaceSupport-1.12 + pathname: P/PE/PERIGRIN/XML-NamespaceSupport-1.12.tar.gz + provides: + XML::NamespaceSupport 1.12 + requirements: + ExtUtils::MakeMaker 6.17 + constant 0 + perl 5.006 + strict 0 + vars 0 + warnings 0 + XML-Parser-2.46 + pathname: T/TO/TODDR/XML-Parser-2.46.tar.gz + provides: + XML::Parser 2.46 + XML::Parser::Expat 2.46 + XML::Parser::Style::Debug undef + XML::Parser::Style::Objects undef + XML::Parser::Style::Stream undef + XML::Parser::Style::Subs undef + XML::Parser::Style::Tree undef + requirements: + ExtUtils::MakeMaker 0 + LWP::UserAgent 0 + perl 5.00405 + XML-Parser-Lite-0.722 + pathname: P/PH/PHRED/XML-Parser-Lite-0.722.tar.gz + provides: + XML::Parser::Lite 0.722 + requirements: + ExtUtils::MakeMaker 6.3 + perl 5.006 + strict 0 + warnings 0 + XML-SAX-1.02 + pathname: G/GR/GRANTM/XML-SAX-1.02.tar.gz + provides: + XML::SAX 1.02 + XML::SAX::DocumentLocator undef + XML::SAX::ParserFactory 1.02 + XML::SAX::PurePerl 1.02 + XML::SAX::PurePerl::DebugHandler undef + XML::SAX::PurePerl::Exception undef + XML::SAX::PurePerl::Productions undef + XML::SAX::PurePerl::Reader undef + XML::SAX::PurePerl::Reader::Stream undef + XML::SAX::PurePerl::Reader::String undef + XML::SAX::PurePerl::Reader::URI undef + requirements: + ExtUtils::MakeMaker 0 + File::Temp 0 + XML::NamespaceSupport 0.03 + XML::SAX::Base 1.05 + XML-SAX-Base-1.09 + pathname: G/GR/GRANTM/XML-SAX-Base-1.09.tar.gz + provides: + XML::SAX::Base 1.09 + XML::SAX::Base::NoHandler 1.09 + XML::SAX::Exception 1.09 + requirements: + ExtUtils::MakeMaker 0 + perl 5.008 + XML-SAX-Expat-0.51 + pathname: B/BJ/BJOERN/XML-SAX-Expat-0.51.tar.gz + provides: + XML::SAX::Expat 0.51 + requirements: + ExtUtils::MakeMaker 0 + XML::NamespaceSupport 0.03 + XML::Parser 2.27 + XML::SAX 0.03 + XML::SAX::Base 1.00 + XML-SemanticDiff-1.0007 + pathname: P/PE/PERIGRIN/XML-SemanticDiff-1.0007.tar.gz + provides: + XML::SemanticDiff 1.0007 + XML::SemanticDiff::BasicHandler 1.0007 + XML::SemanticDiff::PathFinder 1.0007 + XML::SemanticDiff::PathFinder::Obj 1.0007 + requirements: + Digest::MD5 0 + Encode 0 + Module::Build 0.28 + XML::Parser 0 + perl 5.008 + strict 0 + warnings 0 + XML-Simple-2.25 + pathname: G/GR/GRANTM/XML-Simple-2.25.tar.gz + provides: + XML::Simple 2.25 + requirements: + ExtUtils::MakeMaker 0 + XML::NamespaceSupport 1.04 + XML::SAX 0.15 + XML::SAX::Expat 0 + perl 5.008 + XML-XPath-1.48 + pathname: M/MA/MANWAR/XML-XPath-1.48.tar.gz + provides: + XML::XPath 1.48 + XML::XPath::Boolean 1.48 + XML::XPath::Builder 1.48 + XML::XPath::Expr 1.48 + XML::XPath::Function 1.48 + XML::XPath::Literal 1.48 + XML::XPath::LocationPath 1.48 + XML::XPath::Node 1.48 + XML::XPath::Node::Attribute 1.48 + XML::XPath::Node::AttributeImpl 1.48 + XML::XPath::Node::Comment 1.48 + XML::XPath::Node::Element 1.48 + XML::XPath::Node::Namespace 1.48 + XML::XPath::Node::PI 1.48 + XML::XPath::Node::Text 1.48 + XML::XPath::NodeSet 1.48 + XML::XPath::Number 1.48 + XML::XPath::Parser 1.48 + XML::XPath::PerlSAX 1.48 + XML::XPath::Root 1.48 + XML::XPath::Step 1.48 + XML::XPath::Variable 1.48 + XML::XPath::XMLParser 1.48 + requirements: + ExtUtils::MakeMaker 0 + Path::Tiny 0.076 + Scalar::Util 1.45 + Test::More 0 + XML::Parser 2.23 + perl 5.010001 + XML-XPathEngine-0.14 + pathname: M/MI/MIROD/XML-XPathEngine-0.14.tar.gz + provides: + XML::XPathEngine 0.14 + XML::XPathEngine::Boolean undef + XML::XPathEngine::Expr undef + XML::XPathEngine::Function undef + XML::XPathEngine::Literal undef + XML::XPathEngine::LocationPath undef + XML::XPathEngine::NodeSet undef + XML::XPathEngine::Number undef + XML::XPathEngine::Root undef + XML::XPathEngine::Step undef + XML::XPathEngine::Variable undef + requirements: + ExtUtils::MakeMaker 0 + Test::More 0 + XString-0.005 + pathname: A/AT/ATOOMIC/XString-0.005.tar.gz + provides: + XString 0.005 + requirements: + ExtUtils::MakeMaker 0 + perl 5.008 + YAML-Tiny-1.74 + pathname: E/ET/ETHER/YAML-Tiny-1.74.tar.gz + provides: + YAML::Tiny 1.74 + requirements: + B 0 + Carp 0 + Exporter 0 + ExtUtils::MakeMaker 0 + Fcntl 0 + Scalar::Util 0 + perl 5.008001 + strict 0 + warnings 0 + aliased-0.34 + pathname: E/ET/ETHER/aliased-0.34.tar.gz + provides: + aliased 0.34 + requirements: + Carp 0 + Exporter 0 + Module::Build::Tiny 0.039 + perl 5.006 + strict 0 + warnings 0 + bareword-filehandles-0.007 + pathname: I/IL/ILMARI/bareword-filehandles-0.007.tar.gz + provides: + bareword::filehandles 0.007 + requirements: + B::Hooks::OP::Check 0 + ExtUtils::Depends 0 + ExtUtils::MakeMaker 0 + Test::More 0.88 + XSLoader 0 + if 0 + perl 5.008001 + strict 0 + warnings 0 + boolean-0.46 + pathname: I/IN/INGY/boolean-0.46.tar.gz + provides: + boolean 0.46 + requirements: + ExtUtils::MakeMaker 0 + perl 5.008001 + common-sense-3.75 + pathname: M/ML/MLEHMANN/common-sense-3.75.tar.gz + provides: + common::sense 3.75 + requirements: + ExtUtils::MakeMaker 0 + constant-boolean-0.02 + pathname: D/DE/DEXTER/constant-boolean-0.02.tar.gz + provides: + constant::boolean 0.02 + requirements: + Symbol::Util 0.02 + perl 5.006 + indirect-0.39 + pathname: V/VP/VPIT/indirect-0.39.tar.gz + provides: + indirect 0.39 + requirements: + Carp 0 + Config 0 + ExtUtils::MakeMaker 0 + File::Spec 0 + IO::Handle 0 + IO::Select 0 + IPC::Open3 0 + POSIX 0 + Socket 0 + Test::More 0 + XSLoader 0 + lib 0 + perl 5.008001 + libintl-perl-1.33 + pathname: G/GU/GUIDO/libintl-perl-1.33.tar.gz + provides: + Locale::Messages 1.33 + Locale::Recode undef + Locale::Recode::_Aliases undef + Locale::Recode::_Conversions undef + Locale::RecodeData undef + Locale::RecodeData::ASMO_449 undef + Locale::RecodeData::ATARI_ST undef + Locale::RecodeData::ATARI_ST_EURO undef + Locale::RecodeData::CP10007 undef + Locale::RecodeData::CP1250 undef + Locale::RecodeData::CP1251 undef + Locale::RecodeData::CP1252 undef + Locale::RecodeData::CP1253 undef + Locale::RecodeData::CP1254 undef + Locale::RecodeData::CP1256 undef + Locale::RecodeData::CP1257 undef + Locale::RecodeData::CSN_369103 undef + Locale::RecodeData::CWI undef + Locale::RecodeData::DEC_MCS undef + Locale::RecodeData::EBCDIC_AT_DE undef + Locale::RecodeData::EBCDIC_AT_DE_A undef + Locale::RecodeData::EBCDIC_CA_FR undef + Locale::RecodeData::EBCDIC_DK_NO undef + Locale::RecodeData::EBCDIC_DK_NO_A undef + Locale::RecodeData::EBCDIC_ES undef + Locale::RecodeData::EBCDIC_ES_A undef + Locale::RecodeData::EBCDIC_ES_S undef + Locale::RecodeData::EBCDIC_FI_SE undef + Locale::RecodeData::EBCDIC_FI_SE_A undef + Locale::RecodeData::EBCDIC_FR undef + Locale::RecodeData::EBCDIC_IS_FRISS undef + Locale::RecodeData::EBCDIC_IT undef + Locale::RecodeData::EBCDIC_PT undef + Locale::RecodeData::EBCDIC_UK undef + Locale::RecodeData::EBCDIC_US undef + Locale::RecodeData::ECMA_CYRILLIC undef + Locale::RecodeData::GEORGIAN_ACADEMY undef + Locale::RecodeData::GEORGIAN_PS undef + Locale::RecodeData::GOST_19768_74 undef + Locale::RecodeData::GREEK7 undef + Locale::RecodeData::GREEK7_OLD undef + Locale::RecodeData::GREEK_CCITT undef + Locale::RecodeData::HP_ROMAN8 undef + Locale::RecodeData::IBM037 undef + Locale::RecodeData::IBM038 undef + Locale::RecodeData::IBM1004 undef + Locale::RecodeData::IBM1026 undef + Locale::RecodeData::IBM1047 undef + Locale::RecodeData::IBM256 undef + Locale::RecodeData::IBM273 undef + Locale::RecodeData::IBM274 undef + Locale::RecodeData::IBM275 undef + Locale::RecodeData::IBM277 undef + Locale::RecodeData::IBM278 undef + Locale::RecodeData::IBM280 undef + Locale::RecodeData::IBM281 undef + Locale::RecodeData::IBM284 undef + Locale::RecodeData::IBM285 undef + Locale::RecodeData::IBM290 undef + Locale::RecodeData::IBM297 undef + Locale::RecodeData::IBM420 undef + Locale::RecodeData::IBM423 undef + Locale::RecodeData::IBM424 undef + Locale::RecodeData::IBM437 undef + Locale::RecodeData::IBM500 undef + Locale::RecodeData::IBM850 undef + Locale::RecodeData::IBM851 undef + Locale::RecodeData::IBM852 undef + Locale::RecodeData::IBM855 undef + Locale::RecodeData::IBM857 undef + Locale::RecodeData::IBM860 undef + Locale::RecodeData::IBM861 undef + Locale::RecodeData::IBM862 undef + Locale::RecodeData::IBM863 undef + Locale::RecodeData::IBM864 undef + Locale::RecodeData::IBM865 undef + Locale::RecodeData::IBM866 undef + Locale::RecodeData::IBM868 undef + Locale::RecodeData::IBM869 undef + Locale::RecodeData::IBM870 undef + Locale::RecodeData::IBM871 undef + Locale::RecodeData::IBM874 undef + Locale::RecodeData::IBM875 undef + Locale::RecodeData::IBM880 undef + Locale::RecodeData::IBM891 undef + Locale::RecodeData::IBM903 undef + Locale::RecodeData::IBM904 undef + Locale::RecodeData::IBM905 undef + Locale::RecodeData::IBM918 undef + Locale::RecodeData::IEC_P27_1 undef + Locale::RecodeData::INIS undef + Locale::RecodeData::INIS_8 undef + Locale::RecodeData::INIS_CYRILLIC undef + Locale::RecodeData::ISO_10367_BOX undef + Locale::RecodeData::ISO_2033_1983 undef + Locale::RecodeData::ISO_5427 undef + Locale::RecodeData::ISO_5427_EXT undef + Locale::RecodeData::ISO_5428 undef + Locale::RecodeData::ISO_8859_1 undef + Locale::RecodeData::ISO_8859_10 undef + Locale::RecodeData::ISO_8859_11 undef + Locale::RecodeData::ISO_8859_13 undef + Locale::RecodeData::ISO_8859_14 undef + Locale::RecodeData::ISO_8859_15 undef + Locale::RecodeData::ISO_8859_16 undef + Locale::RecodeData::ISO_8859_2 undef + Locale::RecodeData::ISO_8859_3 undef + Locale::RecodeData::ISO_8859_4 undef + Locale::RecodeData::ISO_8859_5 undef + Locale::RecodeData::ISO_8859_6 undef + Locale::RecodeData::ISO_8859_7 undef + Locale::RecodeData::ISO_8859_8 undef + Locale::RecodeData::ISO_8859_9 undef + Locale::RecodeData::KOI8_R undef + Locale::RecodeData::KOI8_RU undef + Locale::RecodeData::KOI8_T undef + Locale::RecodeData::KOI8_U undef + Locale::RecodeData::KOI_8 undef + Locale::RecodeData::LATIN_GREEK undef + Locale::RecodeData::LATIN_GREEK_1 undef + Locale::RecodeData::MACARABIC undef + Locale::RecodeData::MACCROATIAN undef + Locale::RecodeData::MACCYRILLIC undef + Locale::RecodeData::MACGREEK undef + Locale::RecodeData::MACHEBREW undef + Locale::RecodeData::MACICELAND undef + Locale::RecodeData::MACINTOSH undef + Locale::RecodeData::MACROMANIA undef + Locale::RecodeData::MACTHAI undef + Locale::RecodeData::MACTURKISH undef + Locale::RecodeData::MACUKRAINE undef + Locale::RecodeData::MAC_IS undef + Locale::RecodeData::MAC_SAMI undef + Locale::RecodeData::MAC_UK undef + Locale::RecodeData::NATS_DANO undef + Locale::RecodeData::NATS_SEFI undef + Locale::RecodeData::NEXTSTEP undef + Locale::RecodeData::SAMI_WS2 undef + Locale::RecodeData::TIS_620 undef + Locale::RecodeData::US_ASCII undef + Locale::RecodeData::UTF_8 undef + Locale::RecodeData::VISCII undef + Locale::RecodeData::_Encode undef + Locale::TextDomain 1.33 + Locale::Util undef + Locale::gettext_dumb undef + Locale::gettext_pp undef + Locale::gettext_xs undef + MyInstall undef + SimpleCal undef + libintl::perl undef + requirements: + ExtUtils::MakeMaker 0 + File::Spec 0 + version 0.77 + libwww-perl-6.70 + pathname: S/SI/SIMBABQUE/libwww-perl-6.70.tar.gz + provides: + LWP 6.70 + LWP::Authen::Basic 6.70 + LWP::Authen::Digest 6.70 + LWP::Authen::Ntlm 6.70 + LWP::ConnCache 6.70 + LWP::Debug 6.70 + LWP::Debug::TraceHTTP 6.70 + LWP::DebugFile 6.70 + LWP::MemberMixin 6.70 + LWP::Protocol 6.70 + LWP::Protocol::cpan 6.70 + LWP::Protocol::data 6.70 + LWP::Protocol::file 6.70 + LWP::Protocol::ftp 6.70 + LWP::Protocol::gopher 6.70 + LWP::Protocol::http 6.70 + LWP::Protocol::loopback 6.70 + LWP::Protocol::mailto 6.70 + LWP::Protocol::nntp 6.70 + LWP::Protocol::nogo 6.70 + LWP::RobotUA 6.70 + LWP::Simple 6.70 + LWP::UserAgent 6.70 + requirements: + Digest::MD5 0 + Encode 2.12 + Encode::Locale 0 + ExtUtils::MakeMaker 0 + File::Copy 0 + File::Listing 6 + File::Temp 0 + Getopt::Long 0 + HTML::Entities 0 + HTML::HeadParser 3.71 + HTTP::CookieJar::LWP 0 + HTTP::Cookies 6 + HTTP::Date 6 + HTTP::Negotiate 6 + HTTP::Request 6.18 + HTTP::Request::Common 6.18 + HTTP::Response 6.18 + HTTP::Status 6.18 + IO::Select 0 + IO::Socket 0 + LWP::MediaTypes 6 + MIME::Base64 2.1 + Module::Load 0 + Net::FTP 2.58 + Net::HTTP 6.18 + Scalar::Util 0 + Try::Tiny 0 + URI 1.10 + URI::Escape 0 + WWW::RobotRules 6 + parent 0.217 + perl 5.008001 + strict 0 + warnings 0 + multidimensional-0.014 + pathname: I/IL/ILMARI/multidimensional-0.014.tar.gz + provides: + multidimensional 0.014 + requirements: + B::Hooks::OP::Check 0.19 + CPAN::Meta 2.112580 + ExtUtils::Depends 0 + ExtUtils::MakeMaker 0 + Test::More 0.88 + XSLoader 0 + if 0 + perl 5.008001 + strict 0 + warnings 0 + namespace-autoclean-0.29 + pathname: E/ET/ETHER/namespace-autoclean-0.29.tar.gz + provides: + namespace::autoclean 0.29 + requirements: + B::Hooks::EndOfScope 0.12 + ExtUtils::MakeMaker 0 + List::Util 0 + Sub::Identify 0 + namespace::clean 0.20 + perl 5.006 + strict 0 + warnings 0 + namespace-clean-0.27 + pathname: R/RI/RIBASUSHI/namespace-clean-0.27.tar.gz + provides: + namespace::clean 0.27 + requirements: + B::Hooks::EndOfScope 0.12 + ExtUtils::MakeMaker 0 + Package::Stash 0.23 + perl 5.008001 + strictures-2.000006 + pathname: H/HA/HAARG/strictures-2.000006.tar.gz + provides: + strictures 2.000006 + strictures::extra undef + requirements: + bareword::filehandles 0 + indirect 0 + multidimensional 0 + perl 5.006 diff --git a/cpanfile.snapshot b/cpanfile.snapshot index 8717e0fb49b..51e0af5b2a7 100644 --- a/cpanfile.snapshot +++ b/cpanfile.snapshot @@ -247,10 +247,10 @@ DISTRIBUTIONS perl 5.008001 strict 0 warnings 0 - B-Keywords-1.24 - pathname: R/RU/RURBAN/B-Keywords-1.24.tar.gz + B-Keywords-1.26 + pathname: R/RU/RURBAN/B-Keywords-1.26.tar.gz provides: - B::Keywords 1.24 + B::Keywords 1.26 requirements: B 0 ExtUtils::MakeMaker 0 @@ -357,16 +357,17 @@ DISTRIBUTIONS perl 5.006 strict 0 warnings 0 - Carp-Assert-More-2.2.0 - pathname: P/PE/PETDANCE/Carp-Assert-More-2.2.0.tar.gz + Carp-Assert-More-2.3.0 + pathname: P/PE/PETDANCE/Carp-Assert-More-2.3.0.tar.gz provides: - Carp::Assert::More 2.002000 + Carp::Assert::More 2.003000 requirements: Carp 0 ExtUtils::MakeMaker 0 Scalar::Util 0 Test::Exception 0 Test::More 0.18 + perl 5.010001 Carp-Clan-6.08 pathname: E/ET/ETHER/Carp-Clan-6.08.tar.gz provides: @@ -490,7 +491,7 @@ DISTRIBUTIONS requirements: Catalyst::Runtime 0 Class::Accessor::Fast 0 - ExtUtils::MakeMaker 7.34 + ExtUtils::MakeMaker 7.62 HTTP::Headers::ETag 0 HTTP::Status 0 List::Util 0 @@ -552,10 +553,10 @@ DISTRIBUTIONS MIME::Types 2.03 Moose 0 namespace::autoclean 0 - Catalyst-Runtime-5.90130 - pathname: J/JJ/JJNAPIORK/Catalyst-Runtime-5.90130.tar.gz + Catalyst-Runtime-5.90131 + pathname: J/JJ/JJNAPIORK/Catalyst-Runtime-5.90131.tar.gz provides: - Catalyst 5.90130 + Catalyst 5.90131 Catalyst::Action undef Catalyst::ActionChain undef Catalyst::ActionContainer undef @@ -586,13 +587,13 @@ DISTRIBUTIONS Catalyst::Log undef Catalyst::Middleware::Stash undef Catalyst::Model undef - Catalyst::Plugin::Unicode::Encoding 5.90130 + Catalyst::Plugin::Unicode::Encoding 5.90131 Catalyst::Request undef Catalyst::Request::PartData undef Catalyst::Request::Upload undef Catalyst::Response undef Catalyst::Response::Writer undef - Catalyst::Runtime 5.90130 + Catalyst::Runtime 5.90131 Catalyst::Script::CGI undef Catalyst::Script::Create undef Catalyst::Script::FastCGI undef @@ -850,10 +851,10 @@ DISTRIBUTIONS File::Spec::Functions 0 FileHandle 0 IO::File 0 - Config-Tiny-2.29 - pathname: R/RS/RSAVAGE/Config-Tiny-2.29.tgz + Config-Tiny-2.30 + pathname: R/RS/RSAVAGE/Config-Tiny-2.30.tgz provides: - Config::Tiny 2.29 + Config::Tiny 2.30 requirements: ExtUtils::MakeMaker 0 File::Spec 3.30 @@ -871,10 +872,10 @@ DISTRIBUTIONS Module::Build::Tiny 0.035 URI::Escape 0 perl 5.008001 - Cpanel-JSON-XS-4.36 - pathname: R/RU/RURBAN/Cpanel-JSON-XS-4.36.tar.gz + Cpanel-JSON-XS-4.37 + pathname: R/RU/RURBAN/Cpanel-JSON-XS-4.37.tar.gz provides: - Cpanel::JSON::XS 4.36 + Cpanel::JSON::XS 4.37 Cpanel::JSON::XS::Type undef requirements: Carp 0 @@ -1024,127 +1025,127 @@ DISTRIBUTIONS Crypt::UnixCrypt_XS 0.11 requirements: ExtUtils::MakeMaker 0 - CryptX-0.078 - pathname: M/MI/MIK/CryptX-0.078.tar.gz - provides: - Crypt::AuthEnc 0.078 - Crypt::AuthEnc::CCM 0.078 - Crypt::AuthEnc::ChaCha20Poly1305 0.078 - Crypt::AuthEnc::EAX 0.078 - Crypt::AuthEnc::GCM 0.078 - Crypt::AuthEnc::OCB 0.078 - Crypt::Checksum 0.078 - Crypt::Checksum::Adler32 0.078 - Crypt::Checksum::CRC32 0.078 - Crypt::Cipher 0.078 - Crypt::Cipher::AES 0.078 - Crypt::Cipher::Anubis 0.078 - Crypt::Cipher::Blowfish 0.078 - Crypt::Cipher::CAST5 0.078 - Crypt::Cipher::Camellia 0.078 - Crypt::Cipher::DES 0.078 - Crypt::Cipher::DES_EDE 0.078 - Crypt::Cipher::IDEA 0.078 - Crypt::Cipher::KASUMI 0.078 - Crypt::Cipher::Khazad 0.078 - Crypt::Cipher::MULTI2 0.078 - Crypt::Cipher::Noekeon 0.078 - Crypt::Cipher::RC2 0.078 - Crypt::Cipher::RC5 0.078 - Crypt::Cipher::RC6 0.078 - Crypt::Cipher::SAFERP 0.078 - Crypt::Cipher::SAFER_K128 0.078 - Crypt::Cipher::SAFER_K64 0.078 - Crypt::Cipher::SAFER_SK128 0.078 - Crypt::Cipher::SAFER_SK64 0.078 - Crypt::Cipher::SEED 0.078 - Crypt::Cipher::Serpent 0.078 - Crypt::Cipher::Skipjack 0.078 - Crypt::Cipher::Twofish 0.078 - Crypt::Cipher::XTEA 0.078 - Crypt::Digest 0.078 - Crypt::Digest::BLAKE2b_160 0.078 - Crypt::Digest::BLAKE2b_256 0.078 - Crypt::Digest::BLAKE2b_384 0.078 - Crypt::Digest::BLAKE2b_512 0.078 - Crypt::Digest::BLAKE2s_128 0.078 - Crypt::Digest::BLAKE2s_160 0.078 - Crypt::Digest::BLAKE2s_224 0.078 - Crypt::Digest::BLAKE2s_256 0.078 - Crypt::Digest::CHAES 0.078 - Crypt::Digest::Keccak224 0.078 - Crypt::Digest::Keccak256 0.078 - Crypt::Digest::Keccak384 0.078 - Crypt::Digest::Keccak512 0.078 - Crypt::Digest::MD2 0.078 - Crypt::Digest::MD4 0.078 - Crypt::Digest::MD5 0.078 - Crypt::Digest::RIPEMD128 0.078 - Crypt::Digest::RIPEMD160 0.078 - Crypt::Digest::RIPEMD256 0.078 - Crypt::Digest::RIPEMD320 0.078 - Crypt::Digest::SHA1 0.078 - Crypt::Digest::SHA224 0.078 - Crypt::Digest::SHA256 0.078 - Crypt::Digest::SHA384 0.078 - Crypt::Digest::SHA3_224 0.078 - Crypt::Digest::SHA3_256 0.078 - Crypt::Digest::SHA3_384 0.078 - Crypt::Digest::SHA3_512 0.078 - Crypt::Digest::SHA512 0.078 - Crypt::Digest::SHA512_224 0.078 - Crypt::Digest::SHA512_256 0.078 - Crypt::Digest::SHAKE 0.078 - Crypt::Digest::Tiger192 0.078 - Crypt::Digest::Whirlpool 0.078 - Crypt::KeyDerivation 0.078 - Crypt::Mac 0.078 - Crypt::Mac::BLAKE2b 0.078 - Crypt::Mac::BLAKE2s 0.078 - Crypt::Mac::F9 0.078 - Crypt::Mac::HMAC 0.078 - Crypt::Mac::OMAC 0.078 - Crypt::Mac::PMAC 0.078 - Crypt::Mac::Pelican 0.078 - Crypt::Mac::Poly1305 0.078 - Crypt::Mac::XCBC 0.078 - Crypt::Misc 0.078 - Crypt::Mode 0.078 - Crypt::Mode::CBC 0.078 - Crypt::Mode::CFB 0.078 - Crypt::Mode::CTR 0.078 - Crypt::Mode::ECB 0.078 - Crypt::Mode::OFB 0.078 - Crypt::PK 0.078 - Crypt::PK::DH 0.078 - Crypt::PK::DSA 0.078 - Crypt::PK::ECC 0.078 - Crypt::PK::Ed25519 0.078 - Crypt::PK::RSA 0.078 - Crypt::PK::X25519 0.078 - Crypt::PRNG 0.078 - Crypt::PRNG::ChaCha20 0.078 - Crypt::PRNG::Fortuna 0.078 - Crypt::PRNG::RC4 0.078 - Crypt::PRNG::Sober128 0.078 - Crypt::PRNG::Yarrow 0.078 - Crypt::Stream::ChaCha 0.078 - Crypt::Stream::RC4 0.078 - Crypt::Stream::Rabbit 0.078 - Crypt::Stream::Salsa20 0.078 - Crypt::Stream::Sober128 0.078 - Crypt::Stream::Sosemanuk 0.078 - CryptX 0.078 - Math::BigInt::LTM 0.078 + CryptX-0.080 + pathname: M/MI/MIK/CryptX-0.080.tar.gz + provides: + Crypt::AuthEnc 0.080 + Crypt::AuthEnc::CCM 0.080 + Crypt::AuthEnc::ChaCha20Poly1305 0.080 + Crypt::AuthEnc::EAX 0.080 + Crypt::AuthEnc::GCM 0.080 + Crypt::AuthEnc::OCB 0.080 + Crypt::Checksum 0.080 + Crypt::Checksum::Adler32 0.080 + Crypt::Checksum::CRC32 0.080 + Crypt::Cipher 0.080 + Crypt::Cipher::AES 0.080 + Crypt::Cipher::Anubis 0.080 + Crypt::Cipher::Blowfish 0.080 + Crypt::Cipher::CAST5 0.080 + Crypt::Cipher::Camellia 0.080 + Crypt::Cipher::DES 0.080 + Crypt::Cipher::DES_EDE 0.080 + Crypt::Cipher::IDEA 0.080 + Crypt::Cipher::KASUMI 0.080 + Crypt::Cipher::Khazad 0.080 + Crypt::Cipher::MULTI2 0.080 + Crypt::Cipher::Noekeon 0.080 + Crypt::Cipher::RC2 0.080 + Crypt::Cipher::RC5 0.080 + Crypt::Cipher::RC6 0.080 + Crypt::Cipher::SAFERP 0.080 + Crypt::Cipher::SAFER_K128 0.080 + Crypt::Cipher::SAFER_K64 0.080 + Crypt::Cipher::SAFER_SK128 0.080 + Crypt::Cipher::SAFER_SK64 0.080 + Crypt::Cipher::SEED 0.080 + Crypt::Cipher::Serpent 0.080 + Crypt::Cipher::Skipjack 0.080 + Crypt::Cipher::Twofish 0.080 + Crypt::Cipher::XTEA 0.080 + Crypt::Digest 0.080 + Crypt::Digest::BLAKE2b_160 0.080 + Crypt::Digest::BLAKE2b_256 0.080 + Crypt::Digest::BLAKE2b_384 0.080 + Crypt::Digest::BLAKE2b_512 0.080 + Crypt::Digest::BLAKE2s_128 0.080 + Crypt::Digest::BLAKE2s_160 0.080 + Crypt::Digest::BLAKE2s_224 0.080 + Crypt::Digest::BLAKE2s_256 0.080 + Crypt::Digest::CHAES 0.080 + Crypt::Digest::Keccak224 0.080 + Crypt::Digest::Keccak256 0.080 + Crypt::Digest::Keccak384 0.080 + Crypt::Digest::Keccak512 0.080 + Crypt::Digest::MD2 0.080 + Crypt::Digest::MD4 0.080 + Crypt::Digest::MD5 0.080 + Crypt::Digest::RIPEMD128 0.080 + Crypt::Digest::RIPEMD160 0.080 + Crypt::Digest::RIPEMD256 0.080 + Crypt::Digest::RIPEMD320 0.080 + Crypt::Digest::SHA1 0.080 + Crypt::Digest::SHA224 0.080 + Crypt::Digest::SHA256 0.080 + Crypt::Digest::SHA384 0.080 + Crypt::Digest::SHA3_224 0.080 + Crypt::Digest::SHA3_256 0.080 + Crypt::Digest::SHA3_384 0.080 + Crypt::Digest::SHA3_512 0.080 + Crypt::Digest::SHA512 0.080 + Crypt::Digest::SHA512_224 0.080 + Crypt::Digest::SHA512_256 0.080 + Crypt::Digest::SHAKE 0.080 + Crypt::Digest::Tiger192 0.080 + Crypt::Digest::Whirlpool 0.080 + Crypt::KeyDerivation 0.080 + Crypt::Mac 0.080 + Crypt::Mac::BLAKE2b 0.080 + Crypt::Mac::BLAKE2s 0.080 + Crypt::Mac::F9 0.080 + Crypt::Mac::HMAC 0.080 + Crypt::Mac::OMAC 0.080 + Crypt::Mac::PMAC 0.080 + Crypt::Mac::Pelican 0.080 + Crypt::Mac::Poly1305 0.080 + Crypt::Mac::XCBC 0.080 + Crypt::Misc 0.080 + Crypt::Mode 0.080 + Crypt::Mode::CBC 0.080 + Crypt::Mode::CFB 0.080 + Crypt::Mode::CTR 0.080 + Crypt::Mode::ECB 0.080 + Crypt::Mode::OFB 0.080 + Crypt::PK 0.080 + Crypt::PK::DH 0.080 + Crypt::PK::DSA 0.080 + Crypt::PK::ECC 0.080 + Crypt::PK::Ed25519 0.080 + Crypt::PK::RSA 0.080 + Crypt::PK::X25519 0.080 + Crypt::PRNG 0.080 + Crypt::PRNG::ChaCha20 0.080 + Crypt::PRNG::Fortuna 0.080 + Crypt::PRNG::RC4 0.080 + Crypt::PRNG::Sober128 0.080 + Crypt::PRNG::Yarrow 0.080 + Crypt::Stream::ChaCha 0.080 + Crypt::Stream::RC4 0.080 + Crypt::Stream::Rabbit 0.080 + Crypt::Stream::Salsa20 0.080 + Crypt::Stream::Sober128 0.080 + Crypt::Stream::Sosemanuk 0.080 + CryptX 0.080 + Math::BigInt::LTM 0.080 requirements: ExtUtils::MakeMaker 0 Math::BigInt 0 perl 5.006 - DBD-Pg-3.16.3 - pathname: T/TU/TURNSTEP/DBD-Pg-3.16.3.tar.gz + DBD-Pg-3.17.0 + pathname: T/TU/TURNSTEP/DBD-Pg-3.17.0.tar.gz provides: - Bundle::DBD::Pg v3.16.3 - DBD::Pg v3.16.3 + Bundle::DBD::Pg v3.17.0 + DBD::Pg v3.17.0 requirements: DBI 1.614 ExtUtils::MakeMaker 6.58 @@ -1254,20 +1255,20 @@ DISTRIBUTIONS ExtUtils::MakeMaker 6.48 Test::Simple 0.90 perl 5.008001 - DBIx-Connector-0.58 - pathname: A/AR/ARISTOTLE/DBIx-Connector-0.58.tar.gz - provides: - DBIx::Connector 0.58 - DBIx::Connector::Driver 0.58 - DBIx::Connector::Driver::Firebird 0.58 - DBIx::Connector::Driver::MSSQL 0.58 - DBIx::Connector::Driver::Oracle 0.58 - DBIx::Connector::Driver::Pg 0.58 - DBIx::Connector::Driver::SQLite 0.58 - DBIx::Connector::Driver::mysql 0.58 - DBIx::Connector::RollbackError 0.58 - DBIx::Connector::SvpRollbackError 0.58 - DBIx::Connector::TxnRollbackError 0.58 + DBIx-Connector-0.59 + pathname: A/AR/ARISTOTLE/DBIx-Connector-0.59.tar.gz + provides: + DBIx::Connector 0.59 + DBIx::Connector::Driver 0.59 + DBIx::Connector::Driver::Firebird 0.59 + DBIx::Connector::Driver::MSSQL 0.59 + DBIx::Connector::Driver::Oracle 0.59 + DBIx::Connector::Driver::Pg 0.59 + DBIx::Connector::Driver::SQLite 0.59 + DBIx::Connector::Driver::mysql 0.59 + DBIx::Connector::RollbackError 0.59 + DBIx::Connector::SvpRollbackError 0.59 + DBIx::Connector::TxnRollbackError 0.59 requirements: DBI 1.605 perl 5.008001 @@ -1452,19 +1453,19 @@ DISTRIBUTIONS Bit::Vector 7.4 Carp::Clan 6.04 ExtUtils::MakeMaker 0 - DateTime-1.59 - pathname: D/DR/DROLSKY/DateTime-1.59.tar.gz + DateTime-1.63 + pathname: D/DR/DROLSKY/DateTime-1.63.tar.gz provides: - DateTime 1.59 - DateTime::Duration 1.59 - DateTime::Helpers 1.59 - DateTime::Infinite 1.59 - DateTime::Infinite::Future 1.59 - DateTime::Infinite::Past 1.59 - DateTime::LeapSecond 1.59 - DateTime::PP 1.59 - DateTime::PPExtra 1.59 - DateTime::Types 1.59 + DateTime 1.63 + DateTime::Duration 1.63 + DateTime::Helpers 1.63 + DateTime::Infinite 1.63 + DateTime::Infinite::Future 1.63 + DateTime::Infinite::Past 1.63 + DateTime::LeapSecond 1.63 + DateTime::PP 1.63 + DateTime::PPExtra 1.63 + DateTime::Types 1.63 requirements: Carp 0 DateTime::Locale 1.06 @@ -1544,10 +1545,10 @@ DISTRIBUTIONS parent 0 strict 0 warnings 0 - DateTime-Format-Natural-1.16 - pathname: S/SC/SCHUBIGER/DateTime-Format-Natural-1.16.tar.gz + DateTime-Format-Natural-1.18 + pathname: S/SC/SCHUBIGER/DateTime-Format-Natural-1.18.tar.gz provides: - DateTime::Format::Natural 1.16 + DateTime::Format::Natural 1.18 DateTime::Format::Natural::Calc 1.46 DateTime::Format::Natural::Compat 0.07 DateTime::Format::Natural::Duration 0.07 @@ -1558,8 +1559,8 @@ DISTRIBUTIONS DateTime::Format::Natural::Helpers 0.06 DateTime::Format::Natural::Lang::Base 1.08 DateTime::Format::Natural::Lang::EN 1.72 - DateTime::Format::Natural::Rewrite 0.07 - DateTime::Format::Natural::Test 0.12 + DateTime::Format::Natural::Rewrite 0.08 + DateTime::Format::Natural::Test 0.13 DateTime::Format::Natural::Utils 0.08 DateTime::Format::Natural::Wrappers 0.03 requirements: @@ -2157,16 +2158,16 @@ DISTRIBUTIONS base 0 strict 0 warnings 0 - Email-Abstract-3.009 - pathname: R/RJ/RJBS/Email-Abstract-3.009.tar.gz + Email-Abstract-3.010 + pathname: R/RJ/RJBS/Email-Abstract-3.010.tar.gz provides: - Email::Abstract 3.009 - Email::Abstract::EmailMIME 3.009 - Email::Abstract::EmailSimple 3.009 - Email::Abstract::MIMEEntity 3.009 - Email::Abstract::MailInternet 3.009 - Email::Abstract::MailMessage 3.009 - Email::Abstract::Plugin 3.009 + Email::Abstract 3.010 + Email::Abstract::EmailMIME 3.010 + Email::Abstract::EmailSimple 3.010 + Email::Abstract::MIMEEntity 3.010 + Email::Abstract::MailInternet 3.010 + Email::Abstract::MailMessage 3.010 + Email::Abstract::Plugin 3.010 requirements: Carp 0 Email::Simple 1.998 @@ -2485,52 +2486,6 @@ DISTRIBUTIONS perl 5.006 strict 0 warnings 0 - ExtUtils-MakeMaker-7.70 - pathname: B/BI/BINGOS/ExtUtils-MakeMaker-7.70.tar.gz - provides: - ExtUtils::Command 7.70 - ExtUtils::Command::MM 7.70 - ExtUtils::Liblist 7.70 - ExtUtils::Liblist::Kid 7.70 - ExtUtils::MM 7.70 - ExtUtils::MM_AIX 7.70 - ExtUtils::MM_Any 7.70 - ExtUtils::MM_BeOS 7.70 - ExtUtils::MM_Cygwin 7.70 - ExtUtils::MM_DOS 7.70 - ExtUtils::MM_Darwin 7.70 - ExtUtils::MM_MacOS 7.70 - ExtUtils::MM_NW5 7.70 - ExtUtils::MM_OS2 7.70 - ExtUtils::MM_OS390 7.70 - ExtUtils::MM_QNX 7.70 - ExtUtils::MM_UWIN 7.70 - ExtUtils::MM_Unix 7.70 - ExtUtils::MM_VMS 7.70 - ExtUtils::MM_VOS 7.70 - ExtUtils::MM_Win32 7.70 - ExtUtils::MM_Win95 7.70 - ExtUtils::MY 7.70 - ExtUtils::MakeMaker 7.70 - ExtUtils::MakeMaker::Config 7.70 - ExtUtils::MakeMaker::Locale 7.70 - ExtUtils::MakeMaker::_version 7.70 - ExtUtils::MakeMaker::charstar 7.70 - ExtUtils::MakeMaker::version 7.70 - ExtUtils::MakeMaker::version::regex 7.70 - ExtUtils::MakeMaker::version::vpp 7.70 - ExtUtils::Mkbootstrap 7.70 - ExtUtils::Mksymlists 7.70 - ExtUtils::testlib 7.70 - MM 7.70 - MY 7.70 - requirements: - Data::Dumper 0 - Encode 0 - File::Basename 0 - File::Spec 0.8 - Pod::Man 0 - perl 5.006 FFI-CheckLib-0.31 pathname: P/PL/PLICEASE/FFI-CheckLib-0.31.tar.gz provides: @@ -2600,15 +2555,15 @@ DISTRIBUTIONS Number::Compare 0 Test::More 0 Text::Glob 0.07 - File-Listing-6.15 - pathname: P/PL/PLICEASE/File-Listing-6.15.tar.gz + File-Listing-6.16 + pathname: P/PL/PLICEASE/File-Listing-6.16.tar.gz provides: - File::Listing 6.15 - File::Listing::apache 6.15 - File::Listing::dosftp 6.15 - File::Listing::netware 6.15 - File::Listing::unix 6.15 - File::Listing::vms 6.15 + File::Listing 6.16 + File::Listing::apache 6.16 + File::Listing::dosftp 6.16 + File::Listing::netware 6.16 + File::Listing::unix 6.16 + File::Listing::vms 6.16 requirements: Exporter 5.57 ExtUtils::MakeMaker 0 @@ -2991,10 +2946,10 @@ DISTRIBUTIONS URI::URL 0 XSLoader 0 strict 0 - HTML-Selector-XPath-0.26 - pathname: C/CO/CORION/HTML-Selector-XPath-0.26.tar.gz + HTML-Selector-XPath-0.28 + pathname: C/CO/CORION/HTML-Selector-XPath-0.28.tar.gz provides: - HTML::Selector::XPath 0.26 + HTML::Selector::XPath 0.28 requirements: Carp 0 Exporter 0 @@ -3095,10 +3050,10 @@ DISTRIBUTIONS locale 0 perl 5.008001 strict 0 - HTTP-Date-6.05 - pathname: O/OA/OALDERS/HTTP-Date-6.05.tar.gz + HTTP-Date-6.06 + pathname: O/OA/OALDERS/HTTP-Date-6.06.tar.gz provides: - HTTP::Date 6.05 + HTTP::Date 6.06 requirements: Exporter 0 ExtUtils::MakeMaker 0 @@ -3144,19 +3099,19 @@ DISTRIBUTIONS perl 5.005 strict 0 warnings 0 - HTTP-Message-6.44 - pathname: O/OA/OALDERS/HTTP-Message-6.44.tar.gz + HTTP-Message-6.45 + pathname: O/OA/OALDERS/HTTP-Message-6.45.tar.gz provides: - HTTP::Config 6.44 - HTTP::Headers 6.44 - HTTP::Headers::Auth 6.44 - HTTP::Headers::ETag 6.44 - HTTP::Headers::Util 6.44 - HTTP::Message 6.44 - HTTP::Request 6.44 - HTTP::Request::Common 6.44 - HTTP::Response 6.44 - HTTP::Status 6.44 + HTTP::Config 6.45 + HTTP::Headers 6.45 + HTTP::Headers::Auth 6.45 + HTTP::Headers::ETag 6.45 + HTTP::Headers::Util 6.45 + HTTP::Message 6.45 + HTTP::Request 6.45 + HTTP::Request::Common 6.45 + HTTP::Response 6.45 + HTTP::Status 6.45 requirements: Carp 0 Clone 0.46 @@ -3334,13 +3289,15 @@ DISTRIBUTIONS requirements: ExtUtils::MakeMaker 0 Test::More 0 - JSON-Any-1.39 - pathname: E/ET/ETHER/JSON-Any-1.39.tar.gz + JSON-Any-1.40 + pathname: E/ET/ETHER/JSON-Any-1.40.tar.gz provides: - JSON::Any 1.39 + JSON::Any 1.40 requirements: + CPAN::Meta::Requirements 2.120620 Carp 0 ExtUtils::MakeMaker 0 + Module::Metadata 0 constant 0 perl 5.008 strict 0 @@ -3377,17 +3334,16 @@ DISTRIBUTIONS Scalar::Util 0 perl 5.006002 strict 0 - LWP-Protocol-https-6.10 - pathname: O/OA/OALDERS/LWP-Protocol-https-6.10.tar.gz + LWP-Protocol-https-6.11 + pathname: O/OA/OALDERS/LWP-Protocol-https-6.11.tar.gz provides: - LWP::Protocol::https 6.10 - LWP::Protocol::https::Socket 6.10 + LWP::Protocol::https 6.11 + LWP::Protocol::https::Socket 6.11 requirements: ExtUtils::MakeMaker 0 - IO::Socket::SSL 1.54 + IO::Socket::SSL 1.970 LWP::Protocol::http 0 LWP::UserAgent 6.06 - Mozilla::CA 20180117 Net::HTTPS 6 base 0 perl 5.008001 @@ -3680,10 +3636,10 @@ DISTRIBUTIONS Text::ParseWords 0 perl 5.006001 version 0.87 - Module-Build-Tiny-0.045 - pathname: L/LE/LEONT/Module-Build-Tiny-0.045.tar.gz + Module-Build-Tiny-0.047 + pathname: L/LE/LEONT/Module-Build-Tiny-0.047.tar.gz provides: - Module::Build::Tiny 0.045 + Module::Build::Tiny 0.047 requirements: CPAN::Meta 0 DynaLoader 0 @@ -3794,7 +3750,7 @@ DISTRIBUTIONS File::Spec 3.00 File::Spec::Functions 0 if 0 - perl 5.00503 + perl 5.005030 strict 0 Module-Runtime-0.016 pathname: Z/ZE/ZEFRAM/Module-Runtime-0.016.tar.gz @@ -3817,10 +3773,10 @@ DISTRIBUTIONS perl 5.006 strict 0 warnings 0 - Module-ScanDeps-1.31 - pathname: R/RS/RSCHUPP/Module-ScanDeps-1.31.tar.gz + Module-ScanDeps-1.34 + pathname: R/RS/RSCHUPP/Module-ScanDeps-1.34.tar.gz provides: - Module::ScanDeps 1.31 + Module::ScanDeps 1.34 requirements: ExtUtils::MakeMaker 0 File::Spec 0 @@ -3828,7 +3784,7 @@ DISTRIBUTIONS Getopt::Long 0 Module::Metadata 0 Text::ParseWords 0 - perl 5.008001 + perl 5.008009 version 0 Moo-2.005005 pathname: H/HA/HAARG/Moo-2.005005.tar.gz @@ -3865,446 +3821,446 @@ DISTRIBUTIONS requirements: ExtUtils::MakeMaker 0 Module::Runtime 0.014 - Moose-2.2203 - pathname: E/ET/ETHER/Moose-2.2203.tar.gz - provides: - Class::MOP 2.2203 - Class::MOP::Attribute 2.2203 - Class::MOP::Class 2.2203 - Class::MOP::Class::Immutable::Trait 2.2203 - Class::MOP::Deprecated 2.2203 - Class::MOP::Instance 2.2203 - Class::MOP::Method 2.2203 - Class::MOP::Method::Accessor 2.2203 - Class::MOP::Method::Constructor 2.2203 - Class::MOP::Method::Generated 2.2203 - Class::MOP::Method::Inlined 2.2203 - Class::MOP::Method::Meta 2.2203 - Class::MOP::Method::Wrapped 2.2203 - Class::MOP::MiniTrait 2.2203 - Class::MOP::Mixin 2.2203 - Class::MOP::Mixin::AttributeCore 2.2203 - Class::MOP::Mixin::HasAttributes 2.2203 - Class::MOP::Mixin::HasMethods 2.2203 - Class::MOP::Mixin::HasOverloads 2.2203 - Class::MOP::Module 2.2203 - Class::MOP::Object 2.2203 - Class::MOP::Overload 2.2203 - Class::MOP::Package 2.2203 - Moose 2.2203 - Moose::Cookbook 2.2203 - Moose::Cookbook::Basics::BankAccount_MethodModifiersAndSubclassing 2.2203 - Moose::Cookbook::Basics::BinaryTree_AttributeFeatures 2.2203 - Moose::Cookbook::Basics::BinaryTree_BuilderAndLazyBuild 2.2203 - Moose::Cookbook::Basics::Company_Subtypes 2.2203 - Moose::Cookbook::Basics::DateTime_ExtendingNonMooseParent 2.2203 - Moose::Cookbook::Basics::Document_AugmentAndInner 2.2203 - Moose::Cookbook::Basics::Genome_OverloadingSubtypesAndCoercion 2.2203 - Moose::Cookbook::Basics::HTTP_SubtypesAndCoercion 2.2203 - Moose::Cookbook::Basics::Immutable 2.2203 - Moose::Cookbook::Basics::Person_BUILDARGSAndBUILD 2.2203 - Moose::Cookbook::Basics::Point_AttributesAndSubclassing 2.2203 - Moose::Cookbook::Extending::Debugging_BaseClassRole 2.2203 - Moose::Cookbook::Extending::ExtensionOverview 2.2203 - Moose::Cookbook::Extending::Mooseish_MooseSugar 2.2203 - Moose::Cookbook::Legacy::Debugging_BaseClassReplacement 2.2203 - Moose::Cookbook::Legacy::Labeled_AttributeMetaclass 2.2203 - Moose::Cookbook::Legacy::Table_ClassMetaclass 2.2203 - Moose::Cookbook::Meta::GlobRef_InstanceMetaclass 2.2203 - Moose::Cookbook::Meta::Labeled_AttributeTrait 2.2203 - Moose::Cookbook::Meta::PrivateOrPublic_MethodMetaclass 2.2203 - Moose::Cookbook::Meta::Table_MetaclassTrait 2.2203 - Moose::Cookbook::Meta::WhyMeta 2.2203 - Moose::Cookbook::Roles::ApplicationToInstance 2.2203 - Moose::Cookbook::Roles::Comparable_CodeReuse 2.2203 - Moose::Cookbook::Roles::Restartable_AdvancedComposition 2.2203 - Moose::Cookbook::Snack::Keywords 2.2203 - Moose::Cookbook::Snack::Types 2.2203 - Moose::Cookbook::Style 2.2203 - Moose::Deprecated 2.2203 - Moose::Exception 2.2203 - Moose::Exception::AccessorMustReadWrite 2.2203 - Moose::Exception::AddParameterizableTypeTakesParameterizableType 2.2203 - Moose::Exception::AddRoleTakesAMooseMetaRoleInstance 2.2203 - Moose::Exception::AddRoleToARoleTakesAMooseMetaRole 2.2203 - Moose::Exception::ApplyTakesABlessedInstance 2.2203 - Moose::Exception::AttachToClassNeedsAClassMOPClassInstanceOrASubclass 2.2203 - Moose::Exception::AttributeConflictInRoles 2.2203 - Moose::Exception::AttributeConflictInSummation 2.2203 - Moose::Exception::AttributeExtensionIsNotSupportedInRoles 2.2203 - Moose::Exception::AttributeIsRequired 2.2203 - Moose::Exception::AttributeMustBeAnClassMOPMixinAttributeCoreOrSubclass 2.2203 - Moose::Exception::AttributeNamesDoNotMatch 2.2203 - Moose::Exception::AttributeValueIsNotAnObject 2.2203 - Moose::Exception::AttributeValueIsNotDefined 2.2203 - Moose::Exception::AutoDeRefNeedsArrayRefOrHashRef 2.2203 - Moose::Exception::BadOptionFormat 2.2203 - Moose::Exception::BothBuilderAndDefaultAreNotAllowed 2.2203 - Moose::Exception::BuilderDoesNotExist 2.2203 - Moose::Exception::BuilderMethodNotSupportedForAttribute 2.2203 - Moose::Exception::BuilderMethodNotSupportedForInlineAttribute 2.2203 - Moose::Exception::BuilderMustBeAMethodName 2.2203 - Moose::Exception::CallingMethodOnAnImmutableInstance 2.2203 - Moose::Exception::CallingReadOnlyMethodOnAnImmutableInstance 2.2203 - Moose::Exception::CanExtendOnlyClasses 2.2203 - Moose::Exception::CanOnlyConsumeRole 2.2203 - Moose::Exception::CanOnlyWrapBlessedCode 2.2203 - Moose::Exception::CanReblessOnlyIntoASubclass 2.2203 - Moose::Exception::CanReblessOnlyIntoASuperclass 2.2203 - Moose::Exception::CannotAddAdditionalTypeCoercionsToUnion 2.2203 - Moose::Exception::CannotAddAsAnAttributeToARole 2.2203 - Moose::Exception::CannotApplyBaseClassRolesToRole 2.2203 - Moose::Exception::CannotAssignValueToReadOnlyAccessor 2.2203 - Moose::Exception::CannotAugmentIfLocalMethodPresent 2.2203 - Moose::Exception::CannotAugmentNoSuperMethod 2.2203 - Moose::Exception::CannotAutoDerefWithoutIsa 2.2203 - Moose::Exception::CannotAutoDereferenceTypeConstraint 2.2203 - Moose::Exception::CannotCalculateNativeType 2.2203 - Moose::Exception::CannotCallAnAbstractBaseMethod 2.2203 - Moose::Exception::CannotCallAnAbstractMethod 2.2203 - Moose::Exception::CannotCoerceAWeakRef 2.2203 - Moose::Exception::CannotCoerceAttributeWhichHasNoCoercion 2.2203 - Moose::Exception::CannotCreateHigherOrderTypeWithoutATypeParameter 2.2203 - Moose::Exception::CannotCreateMethodAliasLocalMethodIsPresent 2.2203 - Moose::Exception::CannotCreateMethodAliasLocalMethodIsPresentInClass 2.2203 - Moose::Exception::CannotDelegateLocalMethodIsPresent 2.2203 - Moose::Exception::CannotDelegateWithoutIsa 2.2203 - Moose::Exception::CannotFindDelegateMetaclass 2.2203 - Moose::Exception::CannotFindType 2.2203 - Moose::Exception::CannotFindTypeGivenToMatchOnType 2.2203 - Moose::Exception::CannotFixMetaclassCompatibility 2.2203 - Moose::Exception::CannotGenerateInlineConstraint 2.2203 - Moose::Exception::CannotInitializeMooseMetaRoleComposite 2.2203 - Moose::Exception::CannotInlineTypeConstraintCheck 2.2203 - Moose::Exception::CannotLocatePackageInINC 2.2203 - Moose::Exception::CannotMakeMetaclassCompatible 2.2203 - Moose::Exception::CannotOverrideALocalMethod 2.2203 - Moose::Exception::CannotOverrideBodyOfMetaMethods 2.2203 - Moose::Exception::CannotOverrideLocalMethodIsPresent 2.2203 - Moose::Exception::CannotOverrideNoSuperMethod 2.2203 - Moose::Exception::CannotRegisterUnnamedTypeConstraint 2.2203 - Moose::Exception::CannotUseLazyBuildAndDefaultSimultaneously 2.2203 - Moose::Exception::CircularReferenceInAlso 2.2203 - Moose::Exception::ClassDoesNotHaveInitMeta 2.2203 - Moose::Exception::ClassDoesTheExcludedRole 2.2203 - Moose::Exception::ClassNamesDoNotMatch 2.2203 - Moose::Exception::CloneObjectExpectsAnInstanceOfMetaclass 2.2203 - Moose::Exception::CodeBlockMustBeACodeRef 2.2203 - Moose::Exception::CoercingWithoutCoercions 2.2203 - Moose::Exception::CoercionAlreadyExists 2.2203 - Moose::Exception::CoercionNeedsTypeConstraint 2.2203 - Moose::Exception::ConflictDetectedInCheckRoleExclusions 2.2203 - Moose::Exception::ConflictDetectedInCheckRoleExclusionsInToClass 2.2203 - Moose::Exception::ConstructClassInstanceTakesPackageName 2.2203 - Moose::Exception::CouldNotCreateMethod 2.2203 - Moose::Exception::CouldNotCreateWriter 2.2203 - Moose::Exception::CouldNotEvalConstructor 2.2203 - Moose::Exception::CouldNotEvalDestructor 2.2203 - Moose::Exception::CouldNotFindTypeConstraintToCoerceFrom 2.2203 - Moose::Exception::CouldNotGenerateInlineAttributeMethod 2.2203 - Moose::Exception::CouldNotLocateTypeConstraintForUnion 2.2203 - Moose::Exception::CouldNotParseType 2.2203 - Moose::Exception::CreateMOPClassTakesArrayRefOfAttributes 2.2203 - Moose::Exception::CreateMOPClassTakesArrayRefOfSuperclasses 2.2203 - Moose::Exception::CreateMOPClassTakesHashRefOfMethods 2.2203 - Moose::Exception::CreateTakesArrayRefOfRoles 2.2203 - Moose::Exception::CreateTakesHashRefOfAttributes 2.2203 - Moose::Exception::CreateTakesHashRefOfMethods 2.2203 - Moose::Exception::DefaultToMatchOnTypeMustBeCodeRef 2.2203 - Moose::Exception::DelegationToAClassWhichIsNotLoaded 2.2203 - Moose::Exception::DelegationToARoleWhichIsNotLoaded 2.2203 - Moose::Exception::DelegationToATypeWhichIsNotAClass 2.2203 - Moose::Exception::DoesRequiresRoleName 2.2203 - Moose::Exception::EnumCalledWithAnArrayRefAndAdditionalArgs 2.2203 - Moose::Exception::EnumValuesMustBeString 2.2203 - Moose::Exception::ExtendsMissingArgs 2.2203 - Moose::Exception::HandlesMustBeAHashRef 2.2203 - Moose::Exception::IllegalInheritedOptions 2.2203 - Moose::Exception::IllegalMethodTypeToAddMethodModifier 2.2203 - Moose::Exception::IncompatibleMetaclassOfSuperclass 2.2203 - Moose::Exception::InitMetaRequiresClass 2.2203 - Moose::Exception::InitializeTakesUnBlessedPackageName 2.2203 - Moose::Exception::InstanceBlessedIntoWrongClass 2.2203 - Moose::Exception::InstanceMustBeABlessedReference 2.2203 - Moose::Exception::InvalidArgPassedToMooseUtilMetaRole 2.2203 - Moose::Exception::InvalidArgumentToMethod 2.2203 - Moose::Exception::InvalidArgumentsToTraitAliases 2.2203 - Moose::Exception::InvalidBaseTypeGivenToCreateParameterizedTypeConstraint 2.2203 - Moose::Exception::InvalidHandleValue 2.2203 - Moose::Exception::InvalidHasProvidedInARole 2.2203 - Moose::Exception::InvalidNameForType 2.2203 - Moose::Exception::InvalidOverloadOperator 2.2203 - Moose::Exception::InvalidRoleApplication 2.2203 - Moose::Exception::InvalidTypeConstraint 2.2203 - Moose::Exception::InvalidTypeGivenToCreateParameterizedTypeConstraint 2.2203 - Moose::Exception::InvalidValueForIs 2.2203 - Moose::Exception::IsaDoesNotDoTheRole 2.2203 - Moose::Exception::IsaLacksDoesMethod 2.2203 - Moose::Exception::LazyAttributeNeedsADefault 2.2203 - Moose::Exception::Legacy 2.2203 - Moose::Exception::MOPAttributeNewNeedsAttributeName 2.2203 - Moose::Exception::MatchActionMustBeACodeRef 2.2203 - Moose::Exception::MessageParameterMustBeCodeRef 2.2203 - Moose::Exception::MetaclassIsAClassNotASubclassOfGivenMetaclass 2.2203 - Moose::Exception::MetaclassIsARoleNotASubclassOfGivenMetaclass 2.2203 - Moose::Exception::MetaclassIsNotASubclassOfGivenMetaclass 2.2203 - Moose::Exception::MetaclassMustBeASubclassOfMooseMetaClass 2.2203 - Moose::Exception::MetaclassMustBeASubclassOfMooseMetaRole 2.2203 - Moose::Exception::MetaclassMustBeDerivedFromClassMOPClass 2.2203 - Moose::Exception::MetaclassNotLoaded 2.2203 - Moose::Exception::MetaclassTypeIncompatible 2.2203 - Moose::Exception::MethodExpectedAMetaclassObject 2.2203 - Moose::Exception::MethodExpectsFewerArgs 2.2203 - Moose::Exception::MethodExpectsMoreArgs 2.2203 - Moose::Exception::MethodModifierNeedsMethodName 2.2203 - Moose::Exception::MethodNameConflictInRoles 2.2203 - Moose::Exception::MethodNameNotFoundInInheritanceHierarchy 2.2203 - Moose::Exception::MethodNameNotGiven 2.2203 - Moose::Exception::MustDefineAMethodName 2.2203 - Moose::Exception::MustDefineAnAttributeName 2.2203 - Moose::Exception::MustDefineAnOverloadOperator 2.2203 - Moose::Exception::MustHaveAtLeastOneValueToEnumerate 2.2203 - Moose::Exception::MustPassAHashOfOptions 2.2203 - Moose::Exception::MustPassAMooseMetaRoleInstanceOrSubclass 2.2203 - Moose::Exception::MustPassAPackageNameOrAnExistingClassMOPPackageInstance 2.2203 - Moose::Exception::MustPassEvenNumberOfArguments 2.2203 - Moose::Exception::MustPassEvenNumberOfAttributeOptions 2.2203 - Moose::Exception::MustProvideANameForTheAttribute 2.2203 - Moose::Exception::MustSpecifyAtleastOneMethod 2.2203 - Moose::Exception::MustSpecifyAtleastOneRole 2.2203 - Moose::Exception::MustSpecifyAtleastOneRoleToApplicant 2.2203 - Moose::Exception::MustSupplyAClassMOPAttributeInstance 2.2203 - Moose::Exception::MustSupplyADelegateToMethod 2.2203 - Moose::Exception::MustSupplyAMetaclass 2.2203 - Moose::Exception::MustSupplyAMooseMetaAttributeInstance 2.2203 - Moose::Exception::MustSupplyAnAccessorTypeToConstructWith 2.2203 - Moose::Exception::MustSupplyAnAttributeToConstructWith 2.2203 - Moose::Exception::MustSupplyArrayRefAsCurriedArguments 2.2203 - Moose::Exception::MustSupplyPackageNameAndName 2.2203 - Moose::Exception::NeedsTypeConstraintUnionForTypeCoercionUnion 2.2203 - Moose::Exception::NeitherAttributeNorAttributeNameIsGiven 2.2203 - Moose::Exception::NeitherClassNorClassNameIsGiven 2.2203 - Moose::Exception::NeitherRoleNorRoleNameIsGiven 2.2203 - Moose::Exception::NeitherTypeNorTypeNameIsGiven 2.2203 - Moose::Exception::NoAttributeFoundInSuperClass 2.2203 - Moose::Exception::NoBodyToInitializeInAnAbstractBaseClass 2.2203 - Moose::Exception::NoCasesMatched 2.2203 - Moose::Exception::NoConstraintCheckForTypeConstraint 2.2203 - Moose::Exception::NoDestructorClassSpecified 2.2203 - Moose::Exception::NoImmutableTraitSpecifiedForClass 2.2203 - Moose::Exception::NoParentGivenToSubtype 2.2203 - Moose::Exception::OnlyInstancesCanBeCloned 2.2203 - Moose::Exception::OperatorIsRequired 2.2203 - Moose::Exception::OverloadConflictInSummation 2.2203 - Moose::Exception::OverloadRequiresAMetaClass 2.2203 - Moose::Exception::OverloadRequiresAMetaMethod 2.2203 - Moose::Exception::OverloadRequiresAMetaOverload 2.2203 - Moose::Exception::OverloadRequiresAMethodNameOrCoderef 2.2203 - Moose::Exception::OverloadRequiresAnOperator 2.2203 - Moose::Exception::OverloadRequiresNamesForCoderef 2.2203 - Moose::Exception::OverrideConflictInComposition 2.2203 - Moose::Exception::OverrideConflictInSummation 2.2203 - Moose::Exception::PackageDoesNotUseMooseExporter 2.2203 - Moose::Exception::PackageNameAndNameParamsNotGivenToWrap 2.2203 - Moose::Exception::PackagesAndModulesAreNotCachable 2.2203 - Moose::Exception::ParameterIsNotSubtypeOfParent 2.2203 - Moose::Exception::ReferencesAreNotAllowedAsDefault 2.2203 - Moose::Exception::RequiredAttributeLacksInitialization 2.2203 - Moose::Exception::RequiredAttributeNeedsADefault 2.2203 - Moose::Exception::RequiredMethodsImportedByClass 2.2203 - Moose::Exception::RequiredMethodsNotImplementedByClass 2.2203 - Moose::Exception::Role::Attribute 2.2203 - Moose::Exception::Role::AttributeName 2.2203 - Moose::Exception::Role::Class 2.2203 - Moose::Exception::Role::EitherAttributeOrAttributeName 2.2203 - Moose::Exception::Role::Instance 2.2203 - Moose::Exception::Role::InstanceClass 2.2203 - Moose::Exception::Role::InvalidAttributeOptions 2.2203 - Moose::Exception::Role::Method 2.2203 - Moose::Exception::Role::ParamsHash 2.2203 - Moose::Exception::Role::Role 2.2203 - Moose::Exception::Role::RoleForCreate 2.2203 - Moose::Exception::Role::RoleForCreateMOPClass 2.2203 - Moose::Exception::Role::TypeConstraint 2.2203 - Moose::Exception::RoleDoesTheExcludedRole 2.2203 - Moose::Exception::RoleExclusionConflict 2.2203 - Moose::Exception::RoleNameRequired 2.2203 - Moose::Exception::RoleNameRequiredForMooseMetaRole 2.2203 - Moose::Exception::RolesDoNotSupportAugment 2.2203 - Moose::Exception::RolesDoNotSupportExtends 2.2203 - Moose::Exception::RolesDoNotSupportInner 2.2203 - Moose::Exception::RolesDoNotSupportRegexReferencesForMethodModifiers 2.2203 - Moose::Exception::RolesInCreateTakesAnArrayRef 2.2203 - Moose::Exception::RolesListMustBeInstancesOfMooseMetaRole 2.2203 - Moose::Exception::SingleParamsToNewMustBeHashRef 2.2203 - Moose::Exception::TriggerMustBeACodeRef 2.2203 - Moose::Exception::TypeConstraintCannotBeUsedForAParameterizableType 2.2203 - Moose::Exception::TypeConstraintIsAlreadyCreated 2.2203 - Moose::Exception::TypeParameterMustBeMooseMetaType 2.2203 - Moose::Exception::UnableToCanonicalizeHandles 2.2203 - Moose::Exception::UnableToCanonicalizeNonRolePackage 2.2203 - Moose::Exception::UnableToRecognizeDelegateMetaclass 2.2203 - Moose::Exception::UndefinedHashKeysPassedToMethod 2.2203 - Moose::Exception::UnionCalledWithAnArrayRefAndAdditionalArgs 2.2203 - Moose::Exception::UnionTakesAtleastTwoTypeNames 2.2203 - Moose::Exception::ValidationFailedForInlineTypeConstraint 2.2203 - Moose::Exception::ValidationFailedForTypeConstraint 2.2203 - Moose::Exception::WrapTakesACodeRefToBless 2.2203 - Moose::Exception::WrongTypeConstraintGiven 2.2203 - Moose::Exporter 2.2203 - Moose::Intro 2.2203 - Moose::Manual 2.2203 - Moose::Manual::Attributes 2.2203 - Moose::Manual::BestPractices 2.2203 - Moose::Manual::Classes 2.2203 - Moose::Manual::Concepts 2.2203 - Moose::Manual::Construction 2.2203 - Moose::Manual::Contributing 2.2203 - Moose::Manual::Delegation 2.2203 - Moose::Manual::Delta 2.2203 - Moose::Manual::Exceptions 2.2203 - Moose::Manual::Exceptions::Manifest 2.2203 - Moose::Manual::FAQ 2.2203 - Moose::Manual::MOP 2.2203 - Moose::Manual::MethodModifiers 2.2203 - Moose::Manual::MooseX 2.2203 - Moose::Manual::Resources 2.2203 - Moose::Manual::Roles 2.2203 - Moose::Manual::Support 2.2203 - Moose::Manual::Types 2.2203 - Moose::Manual::Unsweetened 2.2203 - Moose::Meta::Attribute 2.2203 - Moose::Meta::Attribute::Native 2.2203 - Moose::Meta::Attribute::Native::Trait 2.2203 - Moose::Meta::Attribute::Native::Trait::Array 2.2203 - Moose::Meta::Attribute::Native::Trait::Bool 2.2203 - Moose::Meta::Attribute::Native::Trait::Code 2.2203 - Moose::Meta::Attribute::Native::Trait::Counter 2.2203 - Moose::Meta::Attribute::Native::Trait::Hash 2.2203 - Moose::Meta::Attribute::Native::Trait::Number 2.2203 - Moose::Meta::Attribute::Native::Trait::String 2.2203 - Moose::Meta::Class 2.2203 - Moose::Meta::Class::Immutable::Trait 2.2203 - Moose::Meta::Instance 2.2203 - Moose::Meta::Method 2.2203 - Moose::Meta::Method::Accessor 2.2203 - Moose::Meta::Method::Accessor::Native 2.2203 - Moose::Meta::Method::Accessor::Native::Array 2.2203 - Moose::Meta::Method::Accessor::Native::Array::Writer 2.2203 - Moose::Meta::Method::Accessor::Native::Array::accessor 2.2203 - Moose::Meta::Method::Accessor::Native::Array::clear 2.2203 - Moose::Meta::Method::Accessor::Native::Array::count 2.2203 - Moose::Meta::Method::Accessor::Native::Array::delete 2.2203 - Moose::Meta::Method::Accessor::Native::Array::elements 2.2203 - Moose::Meta::Method::Accessor::Native::Array::first 2.2203 - Moose::Meta::Method::Accessor::Native::Array::first_index 2.2203 - Moose::Meta::Method::Accessor::Native::Array::get 2.2203 - Moose::Meta::Method::Accessor::Native::Array::grep 2.2203 - Moose::Meta::Method::Accessor::Native::Array::insert 2.2203 - Moose::Meta::Method::Accessor::Native::Array::is_empty 2.2203 - Moose::Meta::Method::Accessor::Native::Array::join 2.2203 - Moose::Meta::Method::Accessor::Native::Array::map 2.2203 - Moose::Meta::Method::Accessor::Native::Array::natatime 2.2203 - Moose::Meta::Method::Accessor::Native::Array::pop 2.2203 - Moose::Meta::Method::Accessor::Native::Array::push 2.2203 - Moose::Meta::Method::Accessor::Native::Array::reduce 2.2203 - Moose::Meta::Method::Accessor::Native::Array::set 2.2203 - Moose::Meta::Method::Accessor::Native::Array::shallow_clone 2.2203 - Moose::Meta::Method::Accessor::Native::Array::shift 2.2203 - Moose::Meta::Method::Accessor::Native::Array::shuffle 2.2203 - Moose::Meta::Method::Accessor::Native::Array::sort 2.2203 - Moose::Meta::Method::Accessor::Native::Array::sort_in_place 2.2203 - Moose::Meta::Method::Accessor::Native::Array::splice 2.2203 - Moose::Meta::Method::Accessor::Native::Array::uniq 2.2203 - Moose::Meta::Method::Accessor::Native::Array::unshift 2.2203 - Moose::Meta::Method::Accessor::Native::Bool::not 2.2203 - Moose::Meta::Method::Accessor::Native::Bool::set 2.2203 - Moose::Meta::Method::Accessor::Native::Bool::toggle 2.2203 - Moose::Meta::Method::Accessor::Native::Bool::unset 2.2203 - Moose::Meta::Method::Accessor::Native::Code::execute 2.2203 - Moose::Meta::Method::Accessor::Native::Code::execute_method 2.2203 - Moose::Meta::Method::Accessor::Native::Collection 2.2203 - Moose::Meta::Method::Accessor::Native::Counter::Writer 2.2203 - Moose::Meta::Method::Accessor::Native::Counter::dec 2.2203 - Moose::Meta::Method::Accessor::Native::Counter::inc 2.2203 - Moose::Meta::Method::Accessor::Native::Counter::reset 2.2203 - Moose::Meta::Method::Accessor::Native::Counter::set 2.2203 - Moose::Meta::Method::Accessor::Native::Hash 2.2203 - Moose::Meta::Method::Accessor::Native::Hash::Writer 2.2203 - Moose::Meta::Method::Accessor::Native::Hash::accessor 2.2203 - Moose::Meta::Method::Accessor::Native::Hash::clear 2.2203 - Moose::Meta::Method::Accessor::Native::Hash::count 2.2203 - Moose::Meta::Method::Accessor::Native::Hash::defined 2.2203 - Moose::Meta::Method::Accessor::Native::Hash::delete 2.2203 - Moose::Meta::Method::Accessor::Native::Hash::elements 2.2203 - Moose::Meta::Method::Accessor::Native::Hash::exists 2.2203 - Moose::Meta::Method::Accessor::Native::Hash::get 2.2203 - Moose::Meta::Method::Accessor::Native::Hash::is_empty 2.2203 - Moose::Meta::Method::Accessor::Native::Hash::keys 2.2203 - Moose::Meta::Method::Accessor::Native::Hash::kv 2.2203 - Moose::Meta::Method::Accessor::Native::Hash::set 2.2203 - Moose::Meta::Method::Accessor::Native::Hash::shallow_clone 2.2203 - Moose::Meta::Method::Accessor::Native::Hash::values 2.2203 - Moose::Meta::Method::Accessor::Native::Number::abs 2.2203 - Moose::Meta::Method::Accessor::Native::Number::add 2.2203 - Moose::Meta::Method::Accessor::Native::Number::div 2.2203 - Moose::Meta::Method::Accessor::Native::Number::mod 2.2203 - Moose::Meta::Method::Accessor::Native::Number::mul 2.2203 - Moose::Meta::Method::Accessor::Native::Number::set 2.2203 - Moose::Meta::Method::Accessor::Native::Number::sub 2.2203 - Moose::Meta::Method::Accessor::Native::Reader 2.2203 - Moose::Meta::Method::Accessor::Native::String::append 2.2203 - Moose::Meta::Method::Accessor::Native::String::chomp 2.2203 - Moose::Meta::Method::Accessor::Native::String::chop 2.2203 - Moose::Meta::Method::Accessor::Native::String::clear 2.2203 - Moose::Meta::Method::Accessor::Native::String::inc 2.2203 - Moose::Meta::Method::Accessor::Native::String::length 2.2203 - Moose::Meta::Method::Accessor::Native::String::match 2.2203 - Moose::Meta::Method::Accessor::Native::String::prepend 2.2203 - Moose::Meta::Method::Accessor::Native::String::replace 2.2203 - Moose::Meta::Method::Accessor::Native::String::substr 2.2203 - Moose::Meta::Method::Accessor::Native::Writer 2.2203 - Moose::Meta::Method::Augmented 2.2203 - Moose::Meta::Method::Constructor 2.2203 - Moose::Meta::Method::Delegation 2.2203 - Moose::Meta::Method::Destructor 2.2203 - Moose::Meta::Method::Meta 2.2203 - Moose::Meta::Method::Overridden 2.2203 - Moose::Meta::Mixin::AttributeCore 2.2203 - Moose::Meta::Object::Trait 2.2203 - Moose::Meta::Role 2.2203 - Moose::Meta::Role::Application 2.2203 - Moose::Meta::Role::Application::RoleSummation 2.2203 - Moose::Meta::Role::Application::ToClass 2.2203 - Moose::Meta::Role::Application::ToInstance 2.2203 - Moose::Meta::Role::Application::ToRole 2.2203 - Moose::Meta::Role::Attribute 2.2203 - Moose::Meta::Role::Composite 2.2203 - Moose::Meta::Role::Method 2.2203 - Moose::Meta::Role::Method::Conflicting 2.2203 - Moose::Meta::Role::Method::Required 2.2203 - Moose::Meta::TypeCoercion 2.2203 - Moose::Meta::TypeCoercion::Union 2.2203 - Moose::Meta::TypeConstraint 2.2203 - Moose::Meta::TypeConstraint::Class 2.2203 - Moose::Meta::TypeConstraint::DuckType 2.2203 - Moose::Meta::TypeConstraint::Enum 2.2203 - Moose::Meta::TypeConstraint::Parameterizable 2.2203 - Moose::Meta::TypeConstraint::Parameterized 2.2203 - Moose::Meta::TypeConstraint::Registry 2.2203 - Moose::Meta::TypeConstraint::Role 2.2203 - Moose::Meta::TypeConstraint::Union 2.2203 - Moose::Object 2.2203 - Moose::Role 2.2203 - Moose::Spec::Role 2.2203 - Moose::Unsweetened 2.2203 - Moose::Util 2.2203 - Moose::Util::MetaRole 2.2203 - Moose::Util::TypeConstraints 2.2203 - Moose::Util::TypeConstraints::Builtins 2.2203 - Test::Moose 2.2203 - metaclass 2.2203 - oose 2.2203 + Moose-2.2206 + pathname: E/ET/ETHER/Moose-2.2206.tar.gz + provides: + Class::MOP 2.2206 + Class::MOP::Attribute 2.2206 + Class::MOP::Class 2.2206 + Class::MOP::Class::Immutable::Trait 2.2206 + Class::MOP::Deprecated 2.2206 + Class::MOP::Instance 2.2206 + Class::MOP::Method 2.2206 + Class::MOP::Method::Accessor 2.2206 + Class::MOP::Method::Constructor 2.2206 + Class::MOP::Method::Generated 2.2206 + Class::MOP::Method::Inlined 2.2206 + Class::MOP::Method::Meta 2.2206 + Class::MOP::Method::Wrapped 2.2206 + Class::MOP::MiniTrait 2.2206 + Class::MOP::Mixin 2.2206 + Class::MOP::Mixin::AttributeCore 2.2206 + Class::MOP::Mixin::HasAttributes 2.2206 + Class::MOP::Mixin::HasMethods 2.2206 + Class::MOP::Mixin::HasOverloads 2.2206 + Class::MOP::Module 2.2206 + Class::MOP::Object 2.2206 + Class::MOP::Overload 2.2206 + Class::MOP::Package 2.2206 + Moose 2.2206 + Moose::Cookbook 2.2206 + Moose::Cookbook::Basics::BankAccount_MethodModifiersAndSubclassing 2.2206 + Moose::Cookbook::Basics::BinaryTree_AttributeFeatures 2.2206 + Moose::Cookbook::Basics::BinaryTree_BuilderAndLazyBuild 2.2206 + Moose::Cookbook::Basics::Company_Subtypes 2.2206 + Moose::Cookbook::Basics::DateTime_ExtendingNonMooseParent 2.2206 + Moose::Cookbook::Basics::Document_AugmentAndInner 2.2206 + Moose::Cookbook::Basics::Genome_OverloadingSubtypesAndCoercion 2.2206 + Moose::Cookbook::Basics::HTTP_SubtypesAndCoercion 2.2206 + Moose::Cookbook::Basics::Immutable 2.2206 + Moose::Cookbook::Basics::Person_BUILDARGSAndBUILD 2.2206 + Moose::Cookbook::Basics::Point_AttributesAndSubclassing 2.2206 + Moose::Cookbook::Extending::Debugging_BaseClassRole 2.2206 + Moose::Cookbook::Extending::ExtensionOverview 2.2206 + Moose::Cookbook::Extending::Mooseish_MooseSugar 2.2206 + Moose::Cookbook::Legacy::Debugging_BaseClassReplacement 2.2206 + Moose::Cookbook::Legacy::Labeled_AttributeMetaclass 2.2206 + Moose::Cookbook::Legacy::Table_ClassMetaclass 2.2206 + Moose::Cookbook::Meta::GlobRef_InstanceMetaclass 2.2206 + Moose::Cookbook::Meta::Labeled_AttributeTrait 2.2206 + Moose::Cookbook::Meta::PrivateOrPublic_MethodMetaclass 2.2206 + Moose::Cookbook::Meta::Table_MetaclassTrait 2.2206 + Moose::Cookbook::Meta::WhyMeta 2.2206 + Moose::Cookbook::Roles::ApplicationToInstance 2.2206 + Moose::Cookbook::Roles::Comparable_CodeReuse 2.2206 + Moose::Cookbook::Roles::Restartable_AdvancedComposition 2.2206 + Moose::Cookbook::Snack::Keywords 2.2206 + Moose::Cookbook::Snack::Types 2.2206 + Moose::Cookbook::Style 2.2206 + Moose::Deprecated 2.2206 + Moose::Exception 2.2206 + Moose::Exception::AccessorMustReadWrite 2.2206 + Moose::Exception::AddParameterizableTypeTakesParameterizableType 2.2206 + Moose::Exception::AddRoleTakesAMooseMetaRoleInstance 2.2206 + Moose::Exception::AddRoleToARoleTakesAMooseMetaRole 2.2206 + Moose::Exception::ApplyTakesABlessedInstance 2.2206 + Moose::Exception::AttachToClassNeedsAClassMOPClassInstanceOrASubclass 2.2206 + Moose::Exception::AttributeConflictInRoles 2.2206 + Moose::Exception::AttributeConflictInSummation 2.2206 + Moose::Exception::AttributeExtensionIsNotSupportedInRoles 2.2206 + Moose::Exception::AttributeIsRequired 2.2206 + Moose::Exception::AttributeMustBeAnClassMOPMixinAttributeCoreOrSubclass 2.2206 + Moose::Exception::AttributeNamesDoNotMatch 2.2206 + Moose::Exception::AttributeValueIsNotAnObject 2.2206 + Moose::Exception::AttributeValueIsNotDefined 2.2206 + Moose::Exception::AutoDeRefNeedsArrayRefOrHashRef 2.2206 + Moose::Exception::BadOptionFormat 2.2206 + Moose::Exception::BothBuilderAndDefaultAreNotAllowed 2.2206 + Moose::Exception::BuilderDoesNotExist 2.2206 + Moose::Exception::BuilderMethodNotSupportedForAttribute 2.2206 + Moose::Exception::BuilderMethodNotSupportedForInlineAttribute 2.2206 + Moose::Exception::BuilderMustBeAMethodName 2.2206 + Moose::Exception::CallingMethodOnAnImmutableInstance 2.2206 + Moose::Exception::CallingReadOnlyMethodOnAnImmutableInstance 2.2206 + Moose::Exception::CanExtendOnlyClasses 2.2206 + Moose::Exception::CanOnlyConsumeRole 2.2206 + Moose::Exception::CanOnlyWrapBlessedCode 2.2206 + Moose::Exception::CanReblessOnlyIntoASubclass 2.2206 + Moose::Exception::CanReblessOnlyIntoASuperclass 2.2206 + Moose::Exception::CannotAddAdditionalTypeCoercionsToUnion 2.2206 + Moose::Exception::CannotAddAsAnAttributeToARole 2.2206 + Moose::Exception::CannotApplyBaseClassRolesToRole 2.2206 + Moose::Exception::CannotAssignValueToReadOnlyAccessor 2.2206 + Moose::Exception::CannotAugmentIfLocalMethodPresent 2.2206 + Moose::Exception::CannotAugmentNoSuperMethod 2.2206 + Moose::Exception::CannotAutoDerefWithoutIsa 2.2206 + Moose::Exception::CannotAutoDereferenceTypeConstraint 2.2206 + Moose::Exception::CannotCalculateNativeType 2.2206 + Moose::Exception::CannotCallAnAbstractBaseMethod 2.2206 + Moose::Exception::CannotCallAnAbstractMethod 2.2206 + Moose::Exception::CannotCoerceAWeakRef 2.2206 + Moose::Exception::CannotCoerceAttributeWhichHasNoCoercion 2.2206 + Moose::Exception::CannotCreateHigherOrderTypeWithoutATypeParameter 2.2206 + Moose::Exception::CannotCreateMethodAliasLocalMethodIsPresent 2.2206 + Moose::Exception::CannotCreateMethodAliasLocalMethodIsPresentInClass 2.2206 + Moose::Exception::CannotDelegateLocalMethodIsPresent 2.2206 + Moose::Exception::CannotDelegateWithoutIsa 2.2206 + Moose::Exception::CannotFindDelegateMetaclass 2.2206 + Moose::Exception::CannotFindType 2.2206 + Moose::Exception::CannotFindTypeGivenToMatchOnType 2.2206 + Moose::Exception::CannotFixMetaclassCompatibility 2.2206 + Moose::Exception::CannotGenerateInlineConstraint 2.2206 + Moose::Exception::CannotInitializeMooseMetaRoleComposite 2.2206 + Moose::Exception::CannotInlineTypeConstraintCheck 2.2206 + Moose::Exception::CannotLocatePackageInINC 2.2206 + Moose::Exception::CannotMakeMetaclassCompatible 2.2206 + Moose::Exception::CannotOverrideALocalMethod 2.2206 + Moose::Exception::CannotOverrideBodyOfMetaMethods 2.2206 + Moose::Exception::CannotOverrideLocalMethodIsPresent 2.2206 + Moose::Exception::CannotOverrideNoSuperMethod 2.2206 + Moose::Exception::CannotRegisterUnnamedTypeConstraint 2.2206 + Moose::Exception::CannotUseLazyBuildAndDefaultSimultaneously 2.2206 + Moose::Exception::CircularReferenceInAlso 2.2206 + Moose::Exception::ClassDoesNotHaveInitMeta 2.2206 + Moose::Exception::ClassDoesTheExcludedRole 2.2206 + Moose::Exception::ClassNamesDoNotMatch 2.2206 + Moose::Exception::CloneObjectExpectsAnInstanceOfMetaclass 2.2206 + Moose::Exception::CodeBlockMustBeACodeRef 2.2206 + Moose::Exception::CoercingWithoutCoercions 2.2206 + Moose::Exception::CoercionAlreadyExists 2.2206 + Moose::Exception::CoercionNeedsTypeConstraint 2.2206 + Moose::Exception::ConflictDetectedInCheckRoleExclusions 2.2206 + Moose::Exception::ConflictDetectedInCheckRoleExclusionsInToClass 2.2206 + Moose::Exception::ConstructClassInstanceTakesPackageName 2.2206 + Moose::Exception::CouldNotCreateMethod 2.2206 + Moose::Exception::CouldNotCreateWriter 2.2206 + Moose::Exception::CouldNotEvalConstructor 2.2206 + Moose::Exception::CouldNotEvalDestructor 2.2206 + Moose::Exception::CouldNotFindTypeConstraintToCoerceFrom 2.2206 + Moose::Exception::CouldNotGenerateInlineAttributeMethod 2.2206 + Moose::Exception::CouldNotLocateTypeConstraintForUnion 2.2206 + Moose::Exception::CouldNotParseType 2.2206 + Moose::Exception::CreateMOPClassTakesArrayRefOfAttributes 2.2206 + Moose::Exception::CreateMOPClassTakesArrayRefOfSuperclasses 2.2206 + Moose::Exception::CreateMOPClassTakesHashRefOfMethods 2.2206 + Moose::Exception::CreateTakesArrayRefOfRoles 2.2206 + Moose::Exception::CreateTakesHashRefOfAttributes 2.2206 + Moose::Exception::CreateTakesHashRefOfMethods 2.2206 + Moose::Exception::DefaultToMatchOnTypeMustBeCodeRef 2.2206 + Moose::Exception::DelegationToAClassWhichIsNotLoaded 2.2206 + Moose::Exception::DelegationToARoleWhichIsNotLoaded 2.2206 + Moose::Exception::DelegationToATypeWhichIsNotAClass 2.2206 + Moose::Exception::DoesRequiresRoleName 2.2206 + Moose::Exception::EnumCalledWithAnArrayRefAndAdditionalArgs 2.2206 + Moose::Exception::EnumValuesMustBeString 2.2206 + Moose::Exception::ExtendsMissingArgs 2.2206 + Moose::Exception::HandlesMustBeAHashRef 2.2206 + Moose::Exception::IllegalInheritedOptions 2.2206 + Moose::Exception::IllegalMethodTypeToAddMethodModifier 2.2206 + Moose::Exception::IncompatibleMetaclassOfSuperclass 2.2206 + Moose::Exception::InitMetaRequiresClass 2.2206 + Moose::Exception::InitializeTakesUnBlessedPackageName 2.2206 + Moose::Exception::InstanceBlessedIntoWrongClass 2.2206 + Moose::Exception::InstanceMustBeABlessedReference 2.2206 + Moose::Exception::InvalidArgPassedToMooseUtilMetaRole 2.2206 + Moose::Exception::InvalidArgumentToMethod 2.2206 + Moose::Exception::InvalidArgumentsToTraitAliases 2.2206 + Moose::Exception::InvalidBaseTypeGivenToCreateParameterizedTypeConstraint 2.2206 + Moose::Exception::InvalidHandleValue 2.2206 + Moose::Exception::InvalidHasProvidedInARole 2.2206 + Moose::Exception::InvalidNameForType 2.2206 + Moose::Exception::InvalidOverloadOperator 2.2206 + Moose::Exception::InvalidRoleApplication 2.2206 + Moose::Exception::InvalidTypeConstraint 2.2206 + Moose::Exception::InvalidTypeGivenToCreateParameterizedTypeConstraint 2.2206 + Moose::Exception::InvalidValueForIs 2.2206 + Moose::Exception::IsaDoesNotDoTheRole 2.2206 + Moose::Exception::IsaLacksDoesMethod 2.2206 + Moose::Exception::LazyAttributeNeedsADefault 2.2206 + Moose::Exception::Legacy 2.2206 + Moose::Exception::MOPAttributeNewNeedsAttributeName 2.2206 + Moose::Exception::MatchActionMustBeACodeRef 2.2206 + Moose::Exception::MessageParameterMustBeCodeRef 2.2206 + Moose::Exception::MetaclassIsAClassNotASubclassOfGivenMetaclass 2.2206 + Moose::Exception::MetaclassIsARoleNotASubclassOfGivenMetaclass 2.2206 + Moose::Exception::MetaclassIsNotASubclassOfGivenMetaclass 2.2206 + Moose::Exception::MetaclassMustBeASubclassOfMooseMetaClass 2.2206 + Moose::Exception::MetaclassMustBeASubclassOfMooseMetaRole 2.2206 + Moose::Exception::MetaclassMustBeDerivedFromClassMOPClass 2.2206 + Moose::Exception::MetaclassNotLoaded 2.2206 + Moose::Exception::MetaclassTypeIncompatible 2.2206 + Moose::Exception::MethodExpectedAMetaclassObject 2.2206 + Moose::Exception::MethodExpectsFewerArgs 2.2206 + Moose::Exception::MethodExpectsMoreArgs 2.2206 + Moose::Exception::MethodModifierNeedsMethodName 2.2206 + Moose::Exception::MethodNameConflictInRoles 2.2206 + Moose::Exception::MethodNameNotFoundInInheritanceHierarchy 2.2206 + Moose::Exception::MethodNameNotGiven 2.2206 + Moose::Exception::MustDefineAMethodName 2.2206 + Moose::Exception::MustDefineAnAttributeName 2.2206 + Moose::Exception::MustDefineAnOverloadOperator 2.2206 + Moose::Exception::MustHaveAtLeastOneValueToEnumerate 2.2206 + Moose::Exception::MustPassAHashOfOptions 2.2206 + Moose::Exception::MustPassAMooseMetaRoleInstanceOrSubclass 2.2206 + Moose::Exception::MustPassAPackageNameOrAnExistingClassMOPPackageInstance 2.2206 + Moose::Exception::MustPassEvenNumberOfArguments 2.2206 + Moose::Exception::MustPassEvenNumberOfAttributeOptions 2.2206 + Moose::Exception::MustProvideANameForTheAttribute 2.2206 + Moose::Exception::MustSpecifyAtleastOneMethod 2.2206 + Moose::Exception::MustSpecifyAtleastOneRole 2.2206 + Moose::Exception::MustSpecifyAtleastOneRoleToApplicant 2.2206 + Moose::Exception::MustSupplyAClassMOPAttributeInstance 2.2206 + Moose::Exception::MustSupplyADelegateToMethod 2.2206 + Moose::Exception::MustSupplyAMetaclass 2.2206 + Moose::Exception::MustSupplyAMooseMetaAttributeInstance 2.2206 + Moose::Exception::MustSupplyAnAccessorTypeToConstructWith 2.2206 + Moose::Exception::MustSupplyAnAttributeToConstructWith 2.2206 + Moose::Exception::MustSupplyArrayRefAsCurriedArguments 2.2206 + Moose::Exception::MustSupplyPackageNameAndName 2.2206 + Moose::Exception::NeedsTypeConstraintUnionForTypeCoercionUnion 2.2206 + Moose::Exception::NeitherAttributeNorAttributeNameIsGiven 2.2206 + Moose::Exception::NeitherClassNorClassNameIsGiven 2.2206 + Moose::Exception::NeitherRoleNorRoleNameIsGiven 2.2206 + Moose::Exception::NeitherTypeNorTypeNameIsGiven 2.2206 + Moose::Exception::NoAttributeFoundInSuperClass 2.2206 + Moose::Exception::NoBodyToInitializeInAnAbstractBaseClass 2.2206 + Moose::Exception::NoCasesMatched 2.2206 + Moose::Exception::NoConstraintCheckForTypeConstraint 2.2206 + Moose::Exception::NoDestructorClassSpecified 2.2206 + Moose::Exception::NoImmutableTraitSpecifiedForClass 2.2206 + Moose::Exception::NoParentGivenToSubtype 2.2206 + Moose::Exception::OnlyInstancesCanBeCloned 2.2206 + Moose::Exception::OperatorIsRequired 2.2206 + Moose::Exception::OverloadConflictInSummation 2.2206 + Moose::Exception::OverloadRequiresAMetaClass 2.2206 + Moose::Exception::OverloadRequiresAMetaMethod 2.2206 + Moose::Exception::OverloadRequiresAMetaOverload 2.2206 + Moose::Exception::OverloadRequiresAMethodNameOrCoderef 2.2206 + Moose::Exception::OverloadRequiresAnOperator 2.2206 + Moose::Exception::OverloadRequiresNamesForCoderef 2.2206 + Moose::Exception::OverrideConflictInComposition 2.2206 + Moose::Exception::OverrideConflictInSummation 2.2206 + Moose::Exception::PackageDoesNotUseMooseExporter 2.2206 + Moose::Exception::PackageNameAndNameParamsNotGivenToWrap 2.2206 + Moose::Exception::PackagesAndModulesAreNotCachable 2.2206 + Moose::Exception::ParameterIsNotSubtypeOfParent 2.2206 + Moose::Exception::ReferencesAreNotAllowedAsDefault 2.2206 + Moose::Exception::RequiredAttributeLacksInitialization 2.2206 + Moose::Exception::RequiredAttributeNeedsADefault 2.2206 + Moose::Exception::RequiredMethodsImportedByClass 2.2206 + Moose::Exception::RequiredMethodsNotImplementedByClass 2.2206 + Moose::Exception::Role::Attribute 2.2206 + Moose::Exception::Role::AttributeName 2.2206 + Moose::Exception::Role::Class 2.2206 + Moose::Exception::Role::EitherAttributeOrAttributeName 2.2206 + Moose::Exception::Role::Instance 2.2206 + Moose::Exception::Role::InstanceClass 2.2206 + Moose::Exception::Role::InvalidAttributeOptions 2.2206 + Moose::Exception::Role::Method 2.2206 + Moose::Exception::Role::ParamsHash 2.2206 + Moose::Exception::Role::Role 2.2206 + Moose::Exception::Role::RoleForCreate 2.2206 + Moose::Exception::Role::RoleForCreateMOPClass 2.2206 + Moose::Exception::Role::TypeConstraint 2.2206 + Moose::Exception::RoleDoesTheExcludedRole 2.2206 + Moose::Exception::RoleExclusionConflict 2.2206 + Moose::Exception::RoleNameRequired 2.2206 + Moose::Exception::RoleNameRequiredForMooseMetaRole 2.2206 + Moose::Exception::RolesDoNotSupportAugment 2.2206 + Moose::Exception::RolesDoNotSupportExtends 2.2206 + Moose::Exception::RolesDoNotSupportInner 2.2206 + Moose::Exception::RolesDoNotSupportRegexReferencesForMethodModifiers 2.2206 + Moose::Exception::RolesInCreateTakesAnArrayRef 2.2206 + Moose::Exception::RolesListMustBeInstancesOfMooseMetaRole 2.2206 + Moose::Exception::SingleParamsToNewMustBeHashRef 2.2206 + Moose::Exception::TriggerMustBeACodeRef 2.2206 + Moose::Exception::TypeConstraintCannotBeUsedForAParameterizableType 2.2206 + Moose::Exception::TypeConstraintIsAlreadyCreated 2.2206 + Moose::Exception::TypeParameterMustBeMooseMetaType 2.2206 + Moose::Exception::UnableToCanonicalizeHandles 2.2206 + Moose::Exception::UnableToCanonicalizeNonRolePackage 2.2206 + Moose::Exception::UnableToRecognizeDelegateMetaclass 2.2206 + Moose::Exception::UndefinedHashKeysPassedToMethod 2.2206 + Moose::Exception::UnionCalledWithAnArrayRefAndAdditionalArgs 2.2206 + Moose::Exception::UnionTakesAtleastTwoTypeNames 2.2206 + Moose::Exception::ValidationFailedForInlineTypeConstraint 2.2206 + Moose::Exception::ValidationFailedForTypeConstraint 2.2206 + Moose::Exception::WrapTakesACodeRefToBless 2.2206 + Moose::Exception::WrongTypeConstraintGiven 2.2206 + Moose::Exporter 2.2206 + Moose::Intro 2.2206 + Moose::Manual 2.2206 + Moose::Manual::Attributes 2.2206 + Moose::Manual::BestPractices 2.2206 + Moose::Manual::Classes 2.2206 + Moose::Manual::Concepts 2.2206 + Moose::Manual::Construction 2.2206 + Moose::Manual::Contributing 2.2206 + Moose::Manual::Delegation 2.2206 + Moose::Manual::Delta 2.2206 + Moose::Manual::Exceptions 2.2206 + Moose::Manual::Exceptions::Manifest 2.2206 + Moose::Manual::FAQ 2.2206 + Moose::Manual::MOP 2.2206 + Moose::Manual::MethodModifiers 2.2206 + Moose::Manual::MooseX 2.2206 + Moose::Manual::Resources 2.2206 + Moose::Manual::Roles 2.2206 + Moose::Manual::Support 2.2206 + Moose::Manual::Types 2.2206 + Moose::Manual::Unsweetened 2.2206 + Moose::Meta::Attribute 2.2206 + Moose::Meta::Attribute::Native 2.2206 + Moose::Meta::Attribute::Native::Trait 2.2206 + Moose::Meta::Attribute::Native::Trait::Array 2.2206 + Moose::Meta::Attribute::Native::Trait::Bool 2.2206 + Moose::Meta::Attribute::Native::Trait::Code 2.2206 + Moose::Meta::Attribute::Native::Trait::Counter 2.2206 + Moose::Meta::Attribute::Native::Trait::Hash 2.2206 + Moose::Meta::Attribute::Native::Trait::Number 2.2206 + Moose::Meta::Attribute::Native::Trait::String 2.2206 + Moose::Meta::Class 2.2206 + Moose::Meta::Class::Immutable::Trait 2.2206 + Moose::Meta::Instance 2.2206 + Moose::Meta::Method 2.2206 + Moose::Meta::Method::Accessor 2.2206 + Moose::Meta::Method::Accessor::Native 2.2206 + Moose::Meta::Method::Accessor::Native::Array 2.2206 + Moose::Meta::Method::Accessor::Native::Array::Writer 2.2206 + Moose::Meta::Method::Accessor::Native::Array::accessor 2.2206 + Moose::Meta::Method::Accessor::Native::Array::clear 2.2206 + Moose::Meta::Method::Accessor::Native::Array::count 2.2206 + Moose::Meta::Method::Accessor::Native::Array::delete 2.2206 + Moose::Meta::Method::Accessor::Native::Array::elements 2.2206 + Moose::Meta::Method::Accessor::Native::Array::first 2.2206 + Moose::Meta::Method::Accessor::Native::Array::first_index 2.2206 + Moose::Meta::Method::Accessor::Native::Array::get 2.2206 + Moose::Meta::Method::Accessor::Native::Array::grep 2.2206 + Moose::Meta::Method::Accessor::Native::Array::insert 2.2206 + Moose::Meta::Method::Accessor::Native::Array::is_empty 2.2206 + Moose::Meta::Method::Accessor::Native::Array::join 2.2206 + Moose::Meta::Method::Accessor::Native::Array::map 2.2206 + Moose::Meta::Method::Accessor::Native::Array::natatime 2.2206 + Moose::Meta::Method::Accessor::Native::Array::pop 2.2206 + Moose::Meta::Method::Accessor::Native::Array::push 2.2206 + Moose::Meta::Method::Accessor::Native::Array::reduce 2.2206 + Moose::Meta::Method::Accessor::Native::Array::set 2.2206 + Moose::Meta::Method::Accessor::Native::Array::shallow_clone 2.2206 + Moose::Meta::Method::Accessor::Native::Array::shift 2.2206 + Moose::Meta::Method::Accessor::Native::Array::shuffle 2.2206 + Moose::Meta::Method::Accessor::Native::Array::sort 2.2206 + Moose::Meta::Method::Accessor::Native::Array::sort_in_place 2.2206 + Moose::Meta::Method::Accessor::Native::Array::splice 2.2206 + Moose::Meta::Method::Accessor::Native::Array::uniq 2.2206 + Moose::Meta::Method::Accessor::Native::Array::unshift 2.2206 + Moose::Meta::Method::Accessor::Native::Bool::not 2.2206 + Moose::Meta::Method::Accessor::Native::Bool::set 2.2206 + Moose::Meta::Method::Accessor::Native::Bool::toggle 2.2206 + Moose::Meta::Method::Accessor::Native::Bool::unset 2.2206 + Moose::Meta::Method::Accessor::Native::Code::execute 2.2206 + Moose::Meta::Method::Accessor::Native::Code::execute_method 2.2206 + Moose::Meta::Method::Accessor::Native::Collection 2.2206 + Moose::Meta::Method::Accessor::Native::Counter::Writer 2.2206 + Moose::Meta::Method::Accessor::Native::Counter::dec 2.2206 + Moose::Meta::Method::Accessor::Native::Counter::inc 2.2206 + Moose::Meta::Method::Accessor::Native::Counter::reset 2.2206 + Moose::Meta::Method::Accessor::Native::Counter::set 2.2206 + Moose::Meta::Method::Accessor::Native::Hash 2.2206 + Moose::Meta::Method::Accessor::Native::Hash::Writer 2.2206 + Moose::Meta::Method::Accessor::Native::Hash::accessor 2.2206 + Moose::Meta::Method::Accessor::Native::Hash::clear 2.2206 + Moose::Meta::Method::Accessor::Native::Hash::count 2.2206 + Moose::Meta::Method::Accessor::Native::Hash::defined 2.2206 + Moose::Meta::Method::Accessor::Native::Hash::delete 2.2206 + Moose::Meta::Method::Accessor::Native::Hash::elements 2.2206 + Moose::Meta::Method::Accessor::Native::Hash::exists 2.2206 + Moose::Meta::Method::Accessor::Native::Hash::get 2.2206 + Moose::Meta::Method::Accessor::Native::Hash::is_empty 2.2206 + Moose::Meta::Method::Accessor::Native::Hash::keys 2.2206 + Moose::Meta::Method::Accessor::Native::Hash::kv 2.2206 + Moose::Meta::Method::Accessor::Native::Hash::set 2.2206 + Moose::Meta::Method::Accessor::Native::Hash::shallow_clone 2.2206 + Moose::Meta::Method::Accessor::Native::Hash::values 2.2206 + Moose::Meta::Method::Accessor::Native::Number::abs 2.2206 + Moose::Meta::Method::Accessor::Native::Number::add 2.2206 + Moose::Meta::Method::Accessor::Native::Number::div 2.2206 + Moose::Meta::Method::Accessor::Native::Number::mod 2.2206 + Moose::Meta::Method::Accessor::Native::Number::mul 2.2206 + Moose::Meta::Method::Accessor::Native::Number::set 2.2206 + Moose::Meta::Method::Accessor::Native::Number::sub 2.2206 + Moose::Meta::Method::Accessor::Native::Reader 2.2206 + Moose::Meta::Method::Accessor::Native::String::append 2.2206 + Moose::Meta::Method::Accessor::Native::String::chomp 2.2206 + Moose::Meta::Method::Accessor::Native::String::chop 2.2206 + Moose::Meta::Method::Accessor::Native::String::clear 2.2206 + Moose::Meta::Method::Accessor::Native::String::inc 2.2206 + Moose::Meta::Method::Accessor::Native::String::length 2.2206 + Moose::Meta::Method::Accessor::Native::String::match 2.2206 + Moose::Meta::Method::Accessor::Native::String::prepend 2.2206 + Moose::Meta::Method::Accessor::Native::String::replace 2.2206 + Moose::Meta::Method::Accessor::Native::String::substr 2.2206 + Moose::Meta::Method::Accessor::Native::Writer 2.2206 + Moose::Meta::Method::Augmented 2.2206 + Moose::Meta::Method::Constructor 2.2206 + Moose::Meta::Method::Delegation 2.2206 + Moose::Meta::Method::Destructor 2.2206 + Moose::Meta::Method::Meta 2.2206 + Moose::Meta::Method::Overridden 2.2206 + Moose::Meta::Mixin::AttributeCore 2.2206 + Moose::Meta::Object::Trait 2.2206 + Moose::Meta::Role 2.2206 + Moose::Meta::Role::Application 2.2206 + Moose::Meta::Role::Application::RoleSummation 2.2206 + Moose::Meta::Role::Application::ToClass 2.2206 + Moose::Meta::Role::Application::ToInstance 2.2206 + Moose::Meta::Role::Application::ToRole 2.2206 + Moose::Meta::Role::Attribute 2.2206 + Moose::Meta::Role::Composite 2.2206 + Moose::Meta::Role::Method 2.2206 + Moose::Meta::Role::Method::Conflicting 2.2206 + Moose::Meta::Role::Method::Required 2.2206 + Moose::Meta::TypeCoercion 2.2206 + Moose::Meta::TypeCoercion::Union 2.2206 + Moose::Meta::TypeConstraint 2.2206 + Moose::Meta::TypeConstraint::Class 2.2206 + Moose::Meta::TypeConstraint::DuckType 2.2206 + Moose::Meta::TypeConstraint::Enum 2.2206 + Moose::Meta::TypeConstraint::Parameterizable 2.2206 + Moose::Meta::TypeConstraint::Parameterized 2.2206 + Moose::Meta::TypeConstraint::Registry 2.2206 + Moose::Meta::TypeConstraint::Role 2.2206 + Moose::Meta::TypeConstraint::Union 2.2206 + Moose::Object 2.2206 + Moose::Role 2.2206 + Moose::Spec::Role 2.2206 + Moose::Unsweetened 2.2206 + Moose::Util 2.2206 + Moose::Util::MetaRole 2.2206 + Moose::Util::TypeConstraints 2.2206 + Moose::Util::TypeConstraints::Builtins 2.2206 + Test::Moose 2.2206 + metaclass 2.2206 + oose 2.2206 requirements: Carp 1.22 Class::Load 0.09 @@ -4640,17 +4596,16 @@ DISTRIBUTIONS perl 5.006 strict 0 warnings 0 - Mozilla-CA-20221114 - pathname: H/HA/HAARG/Mozilla-CA-20221114.tar.gz + Mozilla-CA-20230821 + pathname: L/LW/LWP/Mozilla-CA-20230821.tar.gz provides: - Mozilla::CA 20221114 + Mozilla::CA 20230821 requirements: ExtUtils::MakeMaker 0 - perl 5.006 - Net-DNS-1.38 - pathname: N/NL/NLNETLABS/Net-DNS-1.38.tar.gz + Net-DNS-1.40 + pathname: N/NL/NLNETLABS/Net-DNS-1.40.tar.gz provides: - Net::DNS 1.38 + Net::DNS 1.40 Net::DNS::Domain 1913 Net::DNS::DomainName 1898 Net::DNS::DomainName1035 1898 @@ -4659,8 +4614,8 @@ DISTRIBUTIONS Net::DNS::Mailbox 1910 Net::DNS::Mailbox1035 1910 Net::DNS::Mailbox2535 1910 - Net::DNS::Nameserver 1923 - Net::DNS::Packet 1910 + Net::DNS::Nameserver 1925 + Net::DNS::Packet 1925 Net::DNS::Parameters 1921 Net::DNS::Question 1895 Net::DNS::RR 1910 @@ -4707,20 +4662,20 @@ DISTRIBUTIONS Net::DNS::RR::NSEC3PARAM 1896 Net::DNS::RR::NULL 1896 Net::DNS::RR::OPENPGPKEY 1896 - Net::DNS::RR::OPT 1921 - Net::DNS::RR::OPT::CHAIN 1921 - Net::DNS::RR::OPT::CLIENT_SUBNET 1921 - Net::DNS::RR::OPT::COOKIE 1921 - Net::DNS::RR::OPT::DAU 1921 - Net::DNS::RR::OPT::DHU 1921 - Net::DNS::RR::OPT::EXPIRE 1921 - Net::DNS::RR::OPT::EXTENDED_ERROR 1921 - Net::DNS::RR::OPT::KEY_TAG 1921 - Net::DNS::RR::OPT::N3U 1921 - Net::DNS::RR::OPT::NSID 1921 - Net::DNS::RR::OPT::PADDING 1921 - Net::DNS::RR::OPT::REPORT_CHANNEL 1921 - Net::DNS::RR::OPT::TCP_KEEPALIVE 1921 + Net::DNS::RR::OPT 1934 + Net::DNS::RR::OPT::CHAIN 1934 + Net::DNS::RR::OPT::CLIENT_SUBNET 1934 + Net::DNS::RR::OPT::COOKIE 1934 + Net::DNS::RR::OPT::DAU 1934 + Net::DNS::RR::OPT::DHU 1934 + Net::DNS::RR::OPT::EXPIRE 1934 + Net::DNS::RR::OPT::EXTENDED_ERROR 1934 + Net::DNS::RR::OPT::KEY_TAG 1934 + Net::DNS::RR::OPT::N3U 1934 + Net::DNS::RR::OPT::NSID 1934 + Net::DNS::RR::OPT::PADDING 1934 + Net::DNS::RR::OPT::REPORT_CHANNEL 1934 + Net::DNS::RR::OPT::TCP_KEEPALIVE 1934 Net::DNS::RR::PTR 1896 Net::DNS::RR::PX 1898 Net::DNS::RR::RP 1898 @@ -4728,11 +4683,11 @@ DISTRIBUTIONS Net::DNS::RR::RT 1898 Net::DNS::RR::SIG 1908 Net::DNS::RR::SMIMEA 1896 - Net::DNS::RR::SOA 1896 + Net::DNS::RR::SOA 1931 Net::DNS::RR::SPF 1896 Net::DNS::RR::SRV 1898 Net::DNS::RR::SSHFP 1896 - Net::DNS::RR::SVCB 1896 + Net::DNS::RR::SVCB 1930 Net::DNS::RR::TKEY 1908 Net::DNS::RR::TLSA 1896 Net::DNS::RR::TSIG 1909 @@ -4741,9 +4696,9 @@ DISTRIBUTIONS Net::DNS::RR::X25 1896 Net::DNS::RR::ZONEMD 1896 Net::DNS::Resolver 1895 - Net::DNS::Resolver::Base 1910 + Net::DNS::Resolver::Base 1930 Net::DNS::Resolver::MSWin32 1856 - Net::DNS::Resolver::Recurse 1896 + Net::DNS::Resolver::Recurse 1930 Net::DNS::Resolver::UNIX 1856 Net::DNS::Resolver::android 1856 Net::DNS::Resolver::cygwin 1856 @@ -4773,13 +4728,13 @@ DISTRIBUTIONS Scalar::Util 1.19 Time::Local 1.19 perl 5.008009 - Net-HTTP-6.22 - pathname: O/OA/OALDERS/Net-HTTP-6.22.tar.gz + Net-HTTP-6.23 + pathname: O/OA/OALDERS/Net-HTTP-6.23.tar.gz provides: - Net::HTTP 6.22 - Net::HTTP::Methods 6.22 - Net::HTTP::NB 6.22 - Net::HTTPS 6.22 + Net::HTTP 6.23 + Net::HTTP::Methods 6.23 + Net::HTTP::NB 6.23 + Net::HTTPS 6.23 requirements: Carp 0 Compress::Raw::Zlib 0 @@ -4866,100 +4821,100 @@ DISTRIBUTIONS POSIX 0 Time::Local 0 perl 5.008001 - PPI-1.276 - pathname: O/OA/OALDERS/PPI-1.276.tar.gz - provides: - PPI 1.276 - PPI::Cache 1.276 - PPI::Document 1.276 - PPI::Document::File 1.276 - PPI::Document::Fragment 1.276 - PPI::Document::Normalized 1.276 - PPI::Dumper 1.276 - PPI::Element 1.276 - PPI::Exception 1.276 - PPI::Exception::ParserRejection 1.276 - PPI::Find 1.276 - PPI::Lexer 1.276 - PPI::Node 1.276 - PPI::Normal 1.276 - PPI::Normal::Standard 1.276 - PPI::Singletons 1.276 - PPI::Statement 1.276 - PPI::Statement::Break 1.276 - PPI::Statement::Compound 1.276 - PPI::Statement::Data 1.276 - PPI::Statement::End 1.276 - PPI::Statement::Expression 1.276 - PPI::Statement::Given 1.276 - PPI::Statement::Include 1.276 - PPI::Statement::Include::Perl6 1.276 - PPI::Statement::Null 1.276 - PPI::Statement::Package 1.276 - PPI::Statement::Scheduled 1.276 - PPI::Statement::Sub 1.276 - PPI::Statement::Unknown 1.276 - PPI::Statement::UnmatchedBrace 1.276 - PPI::Statement::Variable 1.276 - PPI::Statement::When 1.276 - PPI::Structure 1.276 - PPI::Structure::Block 1.276 - PPI::Structure::Condition 1.276 - PPI::Structure::Constructor 1.276 - PPI::Structure::For 1.276 - PPI::Structure::Given 1.276 - PPI::Structure::List 1.276 - PPI::Structure::Subscript 1.276 - PPI::Structure::Unknown 1.276 - PPI::Structure::When 1.276 - PPI::Token 1.276 - PPI::Token::ArrayIndex 1.276 - PPI::Token::Attribute 1.276 - PPI::Token::BOM 1.276 - PPI::Token::Cast 1.276 - PPI::Token::Comment 1.276 - PPI::Token::DashedWord 1.276 - PPI::Token::Data 1.276 - PPI::Token::End 1.276 - PPI::Token::HereDoc 1.276 - PPI::Token::Label 1.276 - PPI::Token::Magic 1.276 - PPI::Token::Number 1.276 - PPI::Token::Number::Binary 1.276 - PPI::Token::Number::Exp 1.276 - PPI::Token::Number::Float 1.276 - PPI::Token::Number::Hex 1.276 - PPI::Token::Number::Octal 1.276 - PPI::Token::Number::Version 1.276 - PPI::Token::Operator 1.276 - PPI::Token::Pod 1.276 - PPI::Token::Prototype 1.276 - PPI::Token::Quote 1.276 - PPI::Token::Quote::Double 1.276 - PPI::Token::Quote::Interpolate 1.276 - PPI::Token::Quote::Literal 1.276 - PPI::Token::Quote::Single 1.276 - PPI::Token::QuoteLike 1.276 - PPI::Token::QuoteLike::Backtick 1.276 - PPI::Token::QuoteLike::Command 1.276 - PPI::Token::QuoteLike::Readline 1.276 - PPI::Token::QuoteLike::Regexp 1.276 - PPI::Token::QuoteLike::Words 1.276 - PPI::Token::Regexp 1.276 - PPI::Token::Regexp::Match 1.276 - PPI::Token::Regexp::Substitute 1.276 - PPI::Token::Regexp::Transliterate 1.276 - PPI::Token::Separator 1.276 - PPI::Token::Structure 1.276 - PPI::Token::Symbol 1.276 - PPI::Token::Unknown 1.276 - PPI::Token::Whitespace 1.276 - PPI::Token::Word 1.276 - PPI::Tokenizer 1.276 - PPI::Transform 1.276 - PPI::Transform::UpdateCopyright 1.276 - PPI::Util 1.276 - PPI::XSAccessor 1.276 + PPI-1.277 + pathname: M/MI/MITHALDU/PPI-1.277.tar.gz + provides: + PPI 1.277 + PPI::Cache 1.277 + PPI::Document 1.277 + PPI::Document::File 1.277 + PPI::Document::Fragment 1.277 + PPI::Document::Normalized 1.277 + PPI::Dumper 1.277 + PPI::Element 1.277 + PPI::Exception 1.277 + PPI::Exception::ParserRejection 1.277 + PPI::Find 1.277 + PPI::Lexer 1.277 + PPI::Node 1.277 + PPI::Normal 1.277 + PPI::Normal::Standard 1.277 + PPI::Singletons 1.277 + PPI::Statement 1.277 + PPI::Statement::Break 1.277 + PPI::Statement::Compound 1.277 + PPI::Statement::Data 1.277 + PPI::Statement::End 1.277 + PPI::Statement::Expression 1.277 + PPI::Statement::Given 1.277 + PPI::Statement::Include 1.277 + PPI::Statement::Include::Perl6 1.277 + PPI::Statement::Null 1.277 + PPI::Statement::Package 1.277 + PPI::Statement::Scheduled 1.277 + PPI::Statement::Sub 1.277 + PPI::Statement::Unknown 1.277 + PPI::Statement::UnmatchedBrace 1.277 + PPI::Statement::Variable 1.277 + PPI::Statement::When 1.277 + PPI::Structure 1.277 + PPI::Structure::Block 1.277 + PPI::Structure::Condition 1.277 + PPI::Structure::Constructor 1.277 + PPI::Structure::For 1.277 + PPI::Structure::Given 1.277 + PPI::Structure::List 1.277 + PPI::Structure::Subscript 1.277 + PPI::Structure::Unknown 1.277 + PPI::Structure::When 1.277 + PPI::Token 1.277 + PPI::Token::ArrayIndex 1.277 + PPI::Token::Attribute 1.277 + PPI::Token::BOM 1.277 + PPI::Token::Cast 1.277 + PPI::Token::Comment 1.277 + PPI::Token::DashedWord 1.277 + PPI::Token::Data 1.277 + PPI::Token::End 1.277 + PPI::Token::HereDoc 1.277 + PPI::Token::Label 1.277 + PPI::Token::Magic 1.277 + PPI::Token::Number 1.277 + PPI::Token::Number::Binary 1.277 + PPI::Token::Number::Exp 1.277 + PPI::Token::Number::Float 1.277 + PPI::Token::Number::Hex 1.277 + PPI::Token::Number::Octal 1.277 + PPI::Token::Number::Version 1.277 + PPI::Token::Operator 1.277 + PPI::Token::Pod 1.277 + PPI::Token::Prototype 1.277 + PPI::Token::Quote 1.277 + PPI::Token::Quote::Double 1.277 + PPI::Token::Quote::Interpolate 1.277 + PPI::Token::Quote::Literal 1.277 + PPI::Token::Quote::Single 1.277 + PPI::Token::QuoteLike 1.277 + PPI::Token::QuoteLike::Backtick 1.277 + PPI::Token::QuoteLike::Command 1.277 + PPI::Token::QuoteLike::Readline 1.277 + PPI::Token::QuoteLike::Regexp 1.277 + PPI::Token::QuoteLike::Words 1.277 + PPI::Token::Regexp 1.277 + PPI::Token::Regexp::Match 1.277 + PPI::Token::Regexp::Substitute 1.277 + PPI::Token::Regexp::Transliterate 1.277 + PPI::Token::Separator 1.277 + PPI::Token::Structure 1.277 + PPI::Token::Symbol 1.277 + PPI::Token::Unknown 1.277 + PPI::Token::Whitespace 1.277 + PPI::Token::Word 1.277 + PPI::Tokenizer 1.277 + PPI::Transform 1.277 + PPI::Transform::UpdateCopyright 1.277 + PPI::Util 1.277 + PPI::XSAccessor 1.277 requirements: Carp 0 Clone 0.30 @@ -5315,203 +5270,203 @@ DISTRIBUTIONS strict 0 warnings 0 warnings::register 0 - Perl-Critic-1.150 - pathname: P/PE/PETDANCE/Perl-Critic-1.150.tar.gz - provides: - Perl::Critic 1.150 - Perl::Critic::Annotation 1.150 - Perl::Critic::Command 1.150 - Perl::Critic::Config 1.150 - Perl::Critic::Document 1.150 - Perl::Critic::Exception 1.150 - Perl::Critic::Exception::AggregateConfiguration 1.150 - Perl::Critic::Exception::Configuration 1.150 - Perl::Critic::Exception::Configuration::Generic 1.150 - Perl::Critic::Exception::Configuration::NonExistentPolicy 1.150 - Perl::Critic::Exception::Configuration::Option 1.150 - Perl::Critic::Exception::Configuration::Option::Global 1.150 - Perl::Critic::Exception::Configuration::Option::Global::ExtraParameter 1.150 - Perl::Critic::Exception::Configuration::Option::Global::ParameterValue 1.150 - Perl::Critic::Exception::Configuration::Option::Policy 1.150 - Perl::Critic::Exception::Configuration::Option::Policy::ExtraParameter 1.150 - Perl::Critic::Exception::Configuration::Option::Policy::ParameterValue 1.150 - Perl::Critic::Exception::Fatal 1.150 - Perl::Critic::Exception::Fatal::Generic 1.150 - Perl::Critic::Exception::Fatal::Internal 1.150 - Perl::Critic::Exception::Fatal::PolicyDefinition 1.150 - Perl::Critic::Exception::IO 1.150 - Perl::Critic::Exception::Parse 1.150 - Perl::Critic::OptionsProcessor 1.150 - Perl::Critic::Policy 1.150 - Perl::Critic::Policy::BuiltinFunctions::ProhibitBooleanGrep 1.150 - Perl::Critic::Policy::BuiltinFunctions::ProhibitComplexMappings 1.150 - Perl::Critic::Policy::BuiltinFunctions::ProhibitLvalueSubstr 1.150 - Perl::Critic::Policy::BuiltinFunctions::ProhibitReverseSortBlock 1.150 - Perl::Critic::Policy::BuiltinFunctions::ProhibitShiftRef 1.150 - Perl::Critic::Policy::BuiltinFunctions::ProhibitSleepViaSelect 1.150 - Perl::Critic::Policy::BuiltinFunctions::ProhibitStringyEval 1.150 - Perl::Critic::Policy::BuiltinFunctions::ProhibitStringySplit 1.150 - Perl::Critic::Policy::BuiltinFunctions::ProhibitUniversalCan 1.150 - Perl::Critic::Policy::BuiltinFunctions::ProhibitUniversalIsa 1.150 - Perl::Critic::Policy::BuiltinFunctions::ProhibitUselessTopic 1.150 - Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidGrep 1.150 - Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidMap 1.150 - Perl::Critic::Policy::BuiltinFunctions::RequireBlockGrep 1.150 - Perl::Critic::Policy::BuiltinFunctions::RequireBlockMap 1.150 - Perl::Critic::Policy::BuiltinFunctions::RequireGlobFunction 1.150 - Perl::Critic::Policy::BuiltinFunctions::RequireSimpleSortBlock 1.150 - Perl::Critic::Policy::ClassHierarchies::ProhibitAutoloading 1.150 - Perl::Critic::Policy::ClassHierarchies::ProhibitExplicitISA 1.150 - Perl::Critic::Policy::ClassHierarchies::ProhibitOneArgBless 1.150 - Perl::Critic::Policy::CodeLayout::ProhibitHardTabs 1.150 - Perl::Critic::Policy::CodeLayout::ProhibitParensWithBuiltins 1.150 - Perl::Critic::Policy::CodeLayout::ProhibitQuotedWordLists 1.150 - Perl::Critic::Policy::CodeLayout::ProhibitTrailingWhitespace 1.150 - Perl::Critic::Policy::CodeLayout::RequireConsistentNewlines 1.150 - Perl::Critic::Policy::CodeLayout::RequireTidyCode 1.150 - Perl::Critic::Policy::CodeLayout::RequireTrailingCommas 1.150 - Perl::Critic::Policy::ControlStructures::ProhibitCStyleForLoops 1.150 - Perl::Critic::Policy::ControlStructures::ProhibitCascadingIfElse 1.150 - Perl::Critic::Policy::ControlStructures::ProhibitDeepNests 1.150 - Perl::Critic::Policy::ControlStructures::ProhibitLabelsWithSpecialBlockNames 1.150 - Perl::Critic::Policy::ControlStructures::ProhibitMutatingListFunctions 1.150 - Perl::Critic::Policy::ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions 1.150 - Perl::Critic::Policy::ControlStructures::ProhibitPostfixControls 1.150 - Perl::Critic::Policy::ControlStructures::ProhibitUnlessBlocks 1.150 - Perl::Critic::Policy::ControlStructures::ProhibitUnreachableCode 1.150 - Perl::Critic::Policy::ControlStructures::ProhibitUntilBlocks 1.150 - Perl::Critic::Policy::ControlStructures::ProhibitYadaOperator 1.150 - Perl::Critic::Policy::Documentation::PodSpelling 1.150 - Perl::Critic::Policy::Documentation::RequirePackageMatchesPodName 1.150 - Perl::Critic::Policy::Documentation::RequirePodAtEnd 1.150 - Perl::Critic::Policy::Documentation::RequirePodSections 1.150 - Perl::Critic::Policy::ErrorHandling::RequireCarping 1.150 - Perl::Critic::Policy::ErrorHandling::RequireCheckingReturnValueOfEval 1.150 - Perl::Critic::Policy::InputOutput::ProhibitBacktickOperators 1.150 - Perl::Critic::Policy::InputOutput::ProhibitBarewordDirHandles 1.150 - Perl::Critic::Policy::InputOutput::ProhibitBarewordFileHandles 1.150 - Perl::Critic::Policy::InputOutput::ProhibitExplicitStdin 1.150 - Perl::Critic::Policy::InputOutput::ProhibitInteractiveTest 1.150 - Perl::Critic::Policy::InputOutput::ProhibitJoinedReadline 1.150 - Perl::Critic::Policy::InputOutput::ProhibitOneArgSelect 1.150 - Perl::Critic::Policy::InputOutput::ProhibitReadlineInForLoop 1.150 - Perl::Critic::Policy::InputOutput::ProhibitTwoArgOpen 1.150 - Perl::Critic::Policy::InputOutput::RequireBracedFileHandleWithPrint 1.150 - Perl::Critic::Policy::InputOutput::RequireBriefOpen 1.150 - Perl::Critic::Policy::InputOutput::RequireCheckedClose 1.150 - Perl::Critic::Policy::InputOutput::RequireCheckedOpen 1.150 - Perl::Critic::Policy::InputOutput::RequireCheckedSyscalls 1.150 - Perl::Critic::Policy::InputOutput::RequireEncodingWithUTF8Layer 1.150 - Perl::Critic::Policy::Miscellanea::ProhibitFormats 1.150 - Perl::Critic::Policy::Miscellanea::ProhibitTies 1.150 - Perl::Critic::Policy::Miscellanea::ProhibitUnrestrictedNoCritic 1.150 - Perl::Critic::Policy::Miscellanea::ProhibitUselessNoCritic 1.150 - Perl::Critic::Policy::Modules::ProhibitAutomaticExportation 1.150 - Perl::Critic::Policy::Modules::ProhibitConditionalUseStatements 1.150 - Perl::Critic::Policy::Modules::ProhibitEvilModules 1.150 - Perl::Critic::Policy::Modules::ProhibitExcessMainComplexity 1.150 - Perl::Critic::Policy::Modules::ProhibitMultiplePackages 1.150 - Perl::Critic::Policy::Modules::RequireBarewordIncludes 1.150 - Perl::Critic::Policy::Modules::RequireEndWithOne 1.150 - Perl::Critic::Policy::Modules::RequireExplicitPackage 1.150 - Perl::Critic::Policy::Modules::RequireFilenameMatchesPackage 1.150 - Perl::Critic::Policy::Modules::RequireNoMatchVarsWithUseEnglish 1.150 - Perl::Critic::Policy::Modules::RequireVersionVar 1.150 - Perl::Critic::Policy::NamingConventions::Capitalization 1.150 - Perl::Critic::Policy::NamingConventions::ProhibitAmbiguousNames 1.150 - Perl::Critic::Policy::Objects::ProhibitIndirectSyntax 1.150 - Perl::Critic::Policy::References::ProhibitDoubleSigils 1.150 - Perl::Critic::Policy::RegularExpressions::ProhibitCaptureWithoutTest 1.150 - Perl::Critic::Policy::RegularExpressions::ProhibitComplexRegexes 1.150 - Perl::Critic::Policy::RegularExpressions::ProhibitEnumeratedClasses 1.150 - Perl::Critic::Policy::RegularExpressions::ProhibitEscapedMetacharacters 1.150 - Perl::Critic::Policy::RegularExpressions::ProhibitFixedStringMatches 1.150 - Perl::Critic::Policy::RegularExpressions::ProhibitSingleCharAlternation 1.150 - Perl::Critic::Policy::RegularExpressions::ProhibitUnusedCapture 1.150 - Perl::Critic::Policy::RegularExpressions::ProhibitUnusualDelimiters 1.150 - Perl::Critic::Policy::RegularExpressions::ProhibitUselessTopic 1.150 - Perl::Critic::Policy::RegularExpressions::RequireBracesForMultiline 1.150 - Perl::Critic::Policy::RegularExpressions::RequireDotMatchAnything 1.150 - Perl::Critic::Policy::RegularExpressions::RequireExtendedFormatting 1.150 - Perl::Critic::Policy::RegularExpressions::RequireLineBoundaryMatching 1.150 - Perl::Critic::Policy::Subroutines::ProhibitAmpersandSigils 1.150 - Perl::Critic::Policy::Subroutines::ProhibitBuiltinHomonyms 1.150 - Perl::Critic::Policy::Subroutines::ProhibitExcessComplexity 1.150 - Perl::Critic::Policy::Subroutines::ProhibitExplicitReturnUndef 1.150 - Perl::Critic::Policy::Subroutines::ProhibitManyArgs 1.150 - Perl::Critic::Policy::Subroutines::ProhibitNestedSubs 1.150 - Perl::Critic::Policy::Subroutines::ProhibitReturnSort 1.150 - Perl::Critic::Policy::Subroutines::ProhibitSubroutinePrototypes 1.150 - Perl::Critic::Policy::Subroutines::ProhibitUnusedPrivateSubroutines 1.150 - Perl::Critic::Policy::Subroutines::ProtectPrivateSubs 1.150 - Perl::Critic::Policy::Subroutines::RequireArgUnpacking 1.150 - Perl::Critic::Policy::Subroutines::RequireFinalReturn 1.150 - Perl::Critic::Policy::TestingAndDebugging::ProhibitNoStrict 1.150 - Perl::Critic::Policy::TestingAndDebugging::ProhibitNoWarnings 1.150 - Perl::Critic::Policy::TestingAndDebugging::ProhibitProlongedStrictureOverride 1.150 - Perl::Critic::Policy::TestingAndDebugging::RequireTestLabels 1.150 - Perl::Critic::Policy::TestingAndDebugging::RequireUseStrict 1.150 - Perl::Critic::Policy::TestingAndDebugging::RequireUseWarnings 1.150 - Perl::Critic::Policy::ValuesAndExpressions::ProhibitCommaSeparatedStatements 1.150 - Perl::Critic::Policy::ValuesAndExpressions::ProhibitComplexVersion 1.150 - Perl::Critic::Policy::ValuesAndExpressions::ProhibitConstantPragma 1.150 - Perl::Critic::Policy::ValuesAndExpressions::ProhibitEmptyQuotes 1.150 - Perl::Critic::Policy::ValuesAndExpressions::ProhibitEscapedCharacters 1.150 - Perl::Critic::Policy::ValuesAndExpressions::ProhibitImplicitNewlines 1.150 - Perl::Critic::Policy::ValuesAndExpressions::ProhibitInterpolationOfLiterals 1.150 - Perl::Critic::Policy::ValuesAndExpressions::ProhibitLeadingZeros 1.150 - Perl::Critic::Policy::ValuesAndExpressions::ProhibitLongChainsOfMethodCalls 1.150 - Perl::Critic::Policy::ValuesAndExpressions::ProhibitMagicNumbers 1.150 - Perl::Critic::Policy::ValuesAndExpressions::ProhibitMismatchedOperators 1.150 - Perl::Critic::Policy::ValuesAndExpressions::ProhibitMixedBooleanOperators 1.150 - Perl::Critic::Policy::ValuesAndExpressions::ProhibitNoisyQuotes 1.150 - Perl::Critic::Policy::ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters 1.150 - Perl::Critic::Policy::ValuesAndExpressions::ProhibitSpecialLiteralHeredocTerminator 1.150 - Perl::Critic::Policy::ValuesAndExpressions::ProhibitVersionStrings 1.150 - Perl::Critic::Policy::ValuesAndExpressions::RequireConstantVersion 1.150 - Perl::Critic::Policy::ValuesAndExpressions::RequireInterpolationOfMetachars 1.150 - Perl::Critic::Policy::ValuesAndExpressions::RequireNumberSeparators 1.150 - Perl::Critic::Policy::ValuesAndExpressions::RequireQuotedHeredocTerminator 1.150 - Perl::Critic::Policy::ValuesAndExpressions::RequireUpperCaseHeredocTerminator 1.150 - Perl::Critic::Policy::Variables::ProhibitAugmentedAssignmentInDeclaration 1.150 - Perl::Critic::Policy::Variables::ProhibitConditionalDeclarations 1.150 - Perl::Critic::Policy::Variables::ProhibitEvilVariables 1.150 - Perl::Critic::Policy::Variables::ProhibitLocalVars 1.150 - Perl::Critic::Policy::Variables::ProhibitMatchVars 1.150 - Perl::Critic::Policy::Variables::ProhibitPackageVars 1.150 - Perl::Critic::Policy::Variables::ProhibitPerl4PackageNames 1.150 - Perl::Critic::Policy::Variables::ProhibitPunctuationVars 1.150 - Perl::Critic::Policy::Variables::ProhibitReusedNames 1.150 - Perl::Critic::Policy::Variables::ProhibitUnusedVariables 1.150 - Perl::Critic::Policy::Variables::ProtectPrivateVars 1.150 - Perl::Critic::Policy::Variables::RequireInitializationForLocalVars 1.150 - Perl::Critic::Policy::Variables::RequireLexicalLoopIterators 1.150 - Perl::Critic::Policy::Variables::RequireLocalizedPunctuationVars 1.150 - Perl::Critic::Policy::Variables::RequireNegativeIndices 1.150 - Perl::Critic::PolicyConfig 1.150 - Perl::Critic::PolicyFactory 1.150 - Perl::Critic::PolicyListing 1.150 - Perl::Critic::PolicyParameter 1.150 - Perl::Critic::PolicyParameter::Behavior 1.150 - Perl::Critic::PolicyParameter::Behavior::Boolean 1.150 - Perl::Critic::PolicyParameter::Behavior::Enumeration 1.150 - Perl::Critic::PolicyParameter::Behavior::Integer 1.150 - Perl::Critic::PolicyParameter::Behavior::String 1.150 - Perl::Critic::PolicyParameter::Behavior::StringList 1.150 - Perl::Critic::ProfilePrototype 1.150 - Perl::Critic::Statistics 1.150 - Perl::Critic::TestUtils 1.150 - Perl::Critic::Theme 1.150 - Perl::Critic::ThemeListing 1.150 - Perl::Critic::UserProfile 1.150 - Perl::Critic::Utils 1.150 - Perl::Critic::Utils::Constants 1.150 - Perl::Critic::Utils::McCabe 1.150 - Perl::Critic::Utils::POD 1.150 - Perl::Critic::Utils::PPI 1.150 - Perl::Critic::Utils::Perl 1.150 - Perl::Critic::Violation 1.150 - Test::Perl::Critic::Policy 1.150 + Perl-Critic-1.152 + pathname: P/PE/PETDANCE/Perl-Critic-1.152.tar.gz + provides: + Perl::Critic 1.152 + Perl::Critic::Annotation 1.152 + Perl::Critic::Command 1.152 + Perl::Critic::Config 1.152 + Perl::Critic::Document 1.152 + Perl::Critic::Exception 1.152 + Perl::Critic::Exception::AggregateConfiguration 1.152 + Perl::Critic::Exception::Configuration 1.152 + Perl::Critic::Exception::Configuration::Generic 1.152 + Perl::Critic::Exception::Configuration::NonExistentPolicy 1.152 + Perl::Critic::Exception::Configuration::Option 1.152 + Perl::Critic::Exception::Configuration::Option::Global 1.152 + Perl::Critic::Exception::Configuration::Option::Global::ExtraParameter 1.152 + Perl::Critic::Exception::Configuration::Option::Global::ParameterValue 1.152 + Perl::Critic::Exception::Configuration::Option::Policy 1.152 + Perl::Critic::Exception::Configuration::Option::Policy::ExtraParameter 1.152 + Perl::Critic::Exception::Configuration::Option::Policy::ParameterValue 1.152 + Perl::Critic::Exception::Fatal 1.152 + Perl::Critic::Exception::Fatal::Generic 1.152 + Perl::Critic::Exception::Fatal::Internal 1.152 + Perl::Critic::Exception::Fatal::PolicyDefinition 1.152 + Perl::Critic::Exception::IO 1.152 + Perl::Critic::Exception::Parse 1.152 + Perl::Critic::OptionsProcessor 1.152 + Perl::Critic::Policy 1.152 + Perl::Critic::Policy::BuiltinFunctions::ProhibitBooleanGrep 1.152 + Perl::Critic::Policy::BuiltinFunctions::ProhibitComplexMappings 1.152 + Perl::Critic::Policy::BuiltinFunctions::ProhibitLvalueSubstr 1.152 + Perl::Critic::Policy::BuiltinFunctions::ProhibitReverseSortBlock 1.152 + Perl::Critic::Policy::BuiltinFunctions::ProhibitShiftRef 1.152 + Perl::Critic::Policy::BuiltinFunctions::ProhibitSleepViaSelect 1.152 + Perl::Critic::Policy::BuiltinFunctions::ProhibitStringyEval 1.152 + Perl::Critic::Policy::BuiltinFunctions::ProhibitStringySplit 1.152 + Perl::Critic::Policy::BuiltinFunctions::ProhibitUniversalCan 1.152 + Perl::Critic::Policy::BuiltinFunctions::ProhibitUniversalIsa 1.152 + Perl::Critic::Policy::BuiltinFunctions::ProhibitUselessTopic 1.152 + Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidGrep 1.152 + Perl::Critic::Policy::BuiltinFunctions::ProhibitVoidMap 1.152 + Perl::Critic::Policy::BuiltinFunctions::RequireBlockGrep 1.152 + Perl::Critic::Policy::BuiltinFunctions::RequireBlockMap 1.152 + Perl::Critic::Policy::BuiltinFunctions::RequireGlobFunction 1.152 + Perl::Critic::Policy::BuiltinFunctions::RequireSimpleSortBlock 1.152 + Perl::Critic::Policy::ClassHierarchies::ProhibitAutoloading 1.152 + Perl::Critic::Policy::ClassHierarchies::ProhibitExplicitISA 1.152 + Perl::Critic::Policy::ClassHierarchies::ProhibitOneArgBless 1.152 + Perl::Critic::Policy::CodeLayout::ProhibitHardTabs 1.152 + Perl::Critic::Policy::CodeLayout::ProhibitParensWithBuiltins 1.152 + Perl::Critic::Policy::CodeLayout::ProhibitQuotedWordLists 1.152 + Perl::Critic::Policy::CodeLayout::ProhibitTrailingWhitespace 1.152 + Perl::Critic::Policy::CodeLayout::RequireConsistentNewlines 1.152 + Perl::Critic::Policy::CodeLayout::RequireTidyCode 1.152 + Perl::Critic::Policy::CodeLayout::RequireTrailingCommas 1.152 + Perl::Critic::Policy::ControlStructures::ProhibitCStyleForLoops 1.152 + Perl::Critic::Policy::ControlStructures::ProhibitCascadingIfElse 1.152 + Perl::Critic::Policy::ControlStructures::ProhibitDeepNests 1.152 + Perl::Critic::Policy::ControlStructures::ProhibitLabelsWithSpecialBlockNames 1.152 + Perl::Critic::Policy::ControlStructures::ProhibitMutatingListFunctions 1.152 + Perl::Critic::Policy::ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions 1.152 + Perl::Critic::Policy::ControlStructures::ProhibitPostfixControls 1.152 + Perl::Critic::Policy::ControlStructures::ProhibitUnlessBlocks 1.152 + Perl::Critic::Policy::ControlStructures::ProhibitUnreachableCode 1.152 + Perl::Critic::Policy::ControlStructures::ProhibitUntilBlocks 1.152 + Perl::Critic::Policy::ControlStructures::ProhibitYadaOperator 1.152 + Perl::Critic::Policy::Documentation::PodSpelling 1.152 + Perl::Critic::Policy::Documentation::RequirePackageMatchesPodName 1.152 + Perl::Critic::Policy::Documentation::RequirePodAtEnd 1.152 + Perl::Critic::Policy::Documentation::RequirePodSections 1.152 + Perl::Critic::Policy::ErrorHandling::RequireCarping 1.152 + Perl::Critic::Policy::ErrorHandling::RequireCheckingReturnValueOfEval 1.152 + Perl::Critic::Policy::InputOutput::ProhibitBacktickOperators 1.152 + Perl::Critic::Policy::InputOutput::ProhibitBarewordDirHandles 1.152 + Perl::Critic::Policy::InputOutput::ProhibitBarewordFileHandles 1.152 + Perl::Critic::Policy::InputOutput::ProhibitExplicitStdin 1.152 + Perl::Critic::Policy::InputOutput::ProhibitInteractiveTest 1.152 + Perl::Critic::Policy::InputOutput::ProhibitJoinedReadline 1.152 + Perl::Critic::Policy::InputOutput::ProhibitOneArgSelect 1.152 + Perl::Critic::Policy::InputOutput::ProhibitReadlineInForLoop 1.152 + Perl::Critic::Policy::InputOutput::ProhibitTwoArgOpen 1.152 + Perl::Critic::Policy::InputOutput::RequireBracedFileHandleWithPrint 1.152 + Perl::Critic::Policy::InputOutput::RequireBriefOpen 1.152 + Perl::Critic::Policy::InputOutput::RequireCheckedClose 1.152 + Perl::Critic::Policy::InputOutput::RequireCheckedOpen 1.152 + Perl::Critic::Policy::InputOutput::RequireCheckedSyscalls 1.152 + Perl::Critic::Policy::InputOutput::RequireEncodingWithUTF8Layer 1.152 + Perl::Critic::Policy::Miscellanea::ProhibitFormats 1.152 + Perl::Critic::Policy::Miscellanea::ProhibitTies 1.152 + Perl::Critic::Policy::Miscellanea::ProhibitUnrestrictedNoCritic 1.152 + Perl::Critic::Policy::Miscellanea::ProhibitUselessNoCritic 1.152 + Perl::Critic::Policy::Modules::ProhibitAutomaticExportation 1.152 + Perl::Critic::Policy::Modules::ProhibitConditionalUseStatements 1.152 + Perl::Critic::Policy::Modules::ProhibitEvilModules 1.152 + Perl::Critic::Policy::Modules::ProhibitExcessMainComplexity 1.152 + Perl::Critic::Policy::Modules::ProhibitMultiplePackages 1.152 + Perl::Critic::Policy::Modules::RequireBarewordIncludes 1.152 + Perl::Critic::Policy::Modules::RequireEndWithOne 1.152 + Perl::Critic::Policy::Modules::RequireExplicitPackage 1.152 + Perl::Critic::Policy::Modules::RequireFilenameMatchesPackage 1.152 + Perl::Critic::Policy::Modules::RequireNoMatchVarsWithUseEnglish 1.152 + Perl::Critic::Policy::Modules::RequireVersionVar 1.152 + Perl::Critic::Policy::NamingConventions::Capitalization 1.152 + Perl::Critic::Policy::NamingConventions::ProhibitAmbiguousNames 1.152 + Perl::Critic::Policy::Objects::ProhibitIndirectSyntax 1.152 + Perl::Critic::Policy::References::ProhibitDoubleSigils 1.152 + Perl::Critic::Policy::RegularExpressions::ProhibitCaptureWithoutTest 1.152 + Perl::Critic::Policy::RegularExpressions::ProhibitComplexRegexes 1.152 + Perl::Critic::Policy::RegularExpressions::ProhibitEnumeratedClasses 1.152 + Perl::Critic::Policy::RegularExpressions::ProhibitEscapedMetacharacters 1.152 + Perl::Critic::Policy::RegularExpressions::ProhibitFixedStringMatches 1.152 + Perl::Critic::Policy::RegularExpressions::ProhibitSingleCharAlternation 1.152 + Perl::Critic::Policy::RegularExpressions::ProhibitUnusedCapture 1.152 + Perl::Critic::Policy::RegularExpressions::ProhibitUnusualDelimiters 1.152 + Perl::Critic::Policy::RegularExpressions::ProhibitUselessTopic 1.152 + Perl::Critic::Policy::RegularExpressions::RequireBracesForMultiline 1.152 + Perl::Critic::Policy::RegularExpressions::RequireDotMatchAnything 1.152 + Perl::Critic::Policy::RegularExpressions::RequireExtendedFormatting 1.152 + Perl::Critic::Policy::RegularExpressions::RequireLineBoundaryMatching 1.152 + Perl::Critic::Policy::Subroutines::ProhibitAmpersandSigils 1.152 + Perl::Critic::Policy::Subroutines::ProhibitBuiltinHomonyms 1.152 + Perl::Critic::Policy::Subroutines::ProhibitExcessComplexity 1.152 + Perl::Critic::Policy::Subroutines::ProhibitExplicitReturnUndef 1.152 + Perl::Critic::Policy::Subroutines::ProhibitManyArgs 1.152 + Perl::Critic::Policy::Subroutines::ProhibitNestedSubs 1.152 + Perl::Critic::Policy::Subroutines::ProhibitReturnSort 1.152 + Perl::Critic::Policy::Subroutines::ProhibitSubroutinePrototypes 1.152 + Perl::Critic::Policy::Subroutines::ProhibitUnusedPrivateSubroutines 1.152 + Perl::Critic::Policy::Subroutines::ProtectPrivateSubs 1.152 + Perl::Critic::Policy::Subroutines::RequireArgUnpacking 1.152 + Perl::Critic::Policy::Subroutines::RequireFinalReturn 1.152 + Perl::Critic::Policy::TestingAndDebugging::ProhibitNoStrict 1.152 + Perl::Critic::Policy::TestingAndDebugging::ProhibitNoWarnings 1.152 + Perl::Critic::Policy::TestingAndDebugging::ProhibitProlongedStrictureOverride 1.152 + Perl::Critic::Policy::TestingAndDebugging::RequireTestLabels 1.152 + Perl::Critic::Policy::TestingAndDebugging::RequireUseStrict 1.152 + Perl::Critic::Policy::TestingAndDebugging::RequireUseWarnings 1.152 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitCommaSeparatedStatements 1.152 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitComplexVersion 1.152 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitConstantPragma 1.152 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitEmptyQuotes 1.152 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitEscapedCharacters 1.152 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitImplicitNewlines 1.152 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitInterpolationOfLiterals 1.152 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitLeadingZeros 1.152 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitLongChainsOfMethodCalls 1.152 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitMagicNumbers 1.152 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitMismatchedOperators 1.152 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitMixedBooleanOperators 1.152 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitNoisyQuotes 1.152 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters 1.152 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitSpecialLiteralHeredocTerminator 1.152 + Perl::Critic::Policy::ValuesAndExpressions::ProhibitVersionStrings 1.152 + Perl::Critic::Policy::ValuesAndExpressions::RequireConstantVersion 1.152 + Perl::Critic::Policy::ValuesAndExpressions::RequireInterpolationOfMetachars 1.152 + Perl::Critic::Policy::ValuesAndExpressions::RequireNumberSeparators 1.152 + Perl::Critic::Policy::ValuesAndExpressions::RequireQuotedHeredocTerminator 1.152 + Perl::Critic::Policy::ValuesAndExpressions::RequireUpperCaseHeredocTerminator 1.152 + Perl::Critic::Policy::Variables::ProhibitAugmentedAssignmentInDeclaration 1.152 + Perl::Critic::Policy::Variables::ProhibitConditionalDeclarations 1.152 + Perl::Critic::Policy::Variables::ProhibitEvilVariables 1.152 + Perl::Critic::Policy::Variables::ProhibitLocalVars 1.152 + Perl::Critic::Policy::Variables::ProhibitMatchVars 1.152 + Perl::Critic::Policy::Variables::ProhibitPackageVars 1.152 + Perl::Critic::Policy::Variables::ProhibitPerl4PackageNames 1.152 + Perl::Critic::Policy::Variables::ProhibitPunctuationVars 1.152 + Perl::Critic::Policy::Variables::ProhibitReusedNames 1.152 + Perl::Critic::Policy::Variables::ProhibitUnusedVariables 1.152 + Perl::Critic::Policy::Variables::ProtectPrivateVars 1.152 + Perl::Critic::Policy::Variables::RequireInitializationForLocalVars 1.152 + Perl::Critic::Policy::Variables::RequireLexicalLoopIterators 1.152 + Perl::Critic::Policy::Variables::RequireLocalizedPunctuationVars 1.152 + Perl::Critic::Policy::Variables::RequireNegativeIndices 1.152 + Perl::Critic::PolicyConfig 1.152 + Perl::Critic::PolicyFactory 1.152 + Perl::Critic::PolicyListing 1.152 + Perl::Critic::PolicyParameter 1.152 + Perl::Critic::PolicyParameter::Behavior 1.152 + Perl::Critic::PolicyParameter::Behavior::Boolean 1.152 + Perl::Critic::PolicyParameter::Behavior::Enumeration 1.152 + Perl::Critic::PolicyParameter::Behavior::Integer 1.152 + Perl::Critic::PolicyParameter::Behavior::String 1.152 + Perl::Critic::PolicyParameter::Behavior::StringList 1.152 + Perl::Critic::ProfilePrototype 1.152 + Perl::Critic::Statistics 1.152 + Perl::Critic::TestUtils 1.152 + Perl::Critic::Theme 1.152 + Perl::Critic::ThemeListing 1.152 + Perl::Critic::UserProfile 1.152 + Perl::Critic::Utils 1.152 + Perl::Critic::Utils::Constants 1.152 + Perl::Critic::Utils::McCabe 1.152 + Perl::Critic::Utils::POD 1.152 + Perl::Critic::Utils::PPI 1.152 + Perl::Critic::Utils::Perl 1.152 + Perl::Critic::Violation 1.152 + Test::Perl::Critic::Policy 1.152 requirements: B::Keywords 1.23 Carp 0 @@ -5531,12 +5486,12 @@ DISTRIBUTIONS List::Util 0 Module::Build 0.4204 Module::Pluggable 3.1 - PPI 1.271 - PPI::Document 1.271 - PPI::Document::File 1.271 - PPI::Node 1.271 - PPI::Token::Quote::Single 1.271 - PPI::Token::Whitespace 1.271 + PPI 1.277 + PPI::Document 1.277 + PPI::Document::File 1.277 + PPI::Node 1.277 + PPI::Token::Quote::Single 1.277 + PPI::Token::Whitespace 1.277 PPIx::QuoteLike 0 PPIx::Regexp 0.027 PPIx::Regexp::Util 0.068 @@ -5630,27 +5585,23 @@ DISTRIBUTIONS Perl::Critic 0 Scalar::Util 1.50 version 0.77 - Perl-Tidy-20230309 - pathname: S/SH/SHANCOCK/Perl-Tidy-20230309.tar.gz - provides: - Perl::Tidy 20230309 - Perl::Tidy::Debugger 20230309 - Perl::Tidy::DevNull 20230309 - Perl::Tidy::Diagnostics 20230309 - Perl::Tidy::FileWriter 20230309 - Perl::Tidy::Formatter 20230309 - Perl::Tidy::HtmlWriter 20230309 - Perl::Tidy::IOScalar 20230309 - Perl::Tidy::IOScalarArray 20230309 - Perl::Tidy::IndentationItem 20230309 - Perl::Tidy::LineBuffer 20230309 - Perl::Tidy::LineSink 20230309 - Perl::Tidy::LineSource 20230309 - Perl::Tidy::Logger 20230309 - Perl::Tidy::Tokenizer 20230309 - Perl::Tidy::VerticalAligner 20230309 - Perl::Tidy::VerticalAligner::Alignment 20230309 - Perl::Tidy::VerticalAligner::Line 20230309 + Perl-Tidy-20230912 + pathname: S/SH/SHANCOCK/Perl-Tidy-20230912.tar.gz + provides: + Perl::Tidy 20230912 + Perl::Tidy::Debugger 20230912 + Perl::Tidy::Diagnostics 20230912 + Perl::Tidy::FileWriter 20230912 + Perl::Tidy::Formatter 20230912 + Perl::Tidy::HtmlWriter 20230912 + Perl::Tidy::IOScalar 20230912 + Perl::Tidy::IOScalarArray 20230912 + Perl::Tidy::IndentationItem 20230912 + Perl::Tidy::Logger 20230912 + Perl::Tidy::Tokenizer 20230912 + Perl::Tidy::VerticalAligner 20230912 + Perl::Tidy::VerticalAligner::Alignment 20230912 + Perl::Tidy::VerticalAligner::Line 20230912 requirements: ExtUtils::MakeMaker 0 perl 5.008 @@ -5867,6 +5818,28 @@ DISTRIBUTIONS perl 5.006 strict 0 warnings 0 + Pod-Parser-1.66 + pathname: M/MA/MAREKR/Pod-Parser-1.66.tar.gz + provides: + Pod::Cache 1.66 + Pod::Cache::Item 1.66 + Pod::Find 1.66 + Pod::Hyperlink 1.66 + Pod::InputObjects 1.66 + Pod::InputSource 1.66 + Pod::InteriorSequence 1.66 + Pod::List 1.66 + Pod::Paragraph 1.66 + Pod::ParseTree 1.66 + Pod::ParseUtils 1.66 + Pod::Parser 1.66 + Pod::PlainText 2.07 + Pod::Select 1.66 + requirements: + Cwd 0 + ExtUtils::MakeMaker 0 + File::Basename 0 + Test::More 0.6 Pod-Spell-1.26 pathname: H/HA/HAARG/Pod-Spell-1.26.tar.gz provides: @@ -6217,11 +6190,11 @@ DISTRIBUTIONS Test::More 0.88 Test::TableDriven 0 ok 0 - Sub-Exporter-0.989 - pathname: R/RJ/RJBS/Sub-Exporter-0.989.tar.gz + Sub-Exporter-0.990 + pathname: R/RJ/RJBS/Sub-Exporter-0.990.tar.gz provides: - Sub::Exporter 0.989 - Sub::Exporter::Util 0.989 + Sub::Exporter 0.990 + Sub::Exporter::Util 0.990 requirements: Carp 0 Data::OptList 0.100 @@ -6549,10 +6522,10 @@ DISTRIBUTIONS Test::Builder 0 Test::More 0.96 perl 5.012 - Test-Differences-0.69 - pathname: D/DC/DCANTRELL/Test-Differences-0.69.tar.gz + Test-Differences-0.71 + pathname: D/DC/DCANTRELL/Test-Differences-0.71.tar.gz provides: - Test::Differences 0.69 + Test::Differences 0.71 requirements: Capture::Tiny 0.24 Data::Dumper 2.126 @@ -6817,7 +6790,7 @@ DISTRIBUTIONS Test::LongString 0.15 WWW::Mechanize 1.68 parent 0 - perl 5.01 + perl 5.010 Test-WWW-Mechanize-CGI-0.1 pathname: M/MR/MRAMBERG/Test-WWW-Mechanize-CGI-0.1.tar.gz provides: @@ -7170,53 +7143,55 @@ DISTRIBUTIONS requirements: ExtUtils::MakeMaker 0 common::sense 0 - URI-5.19 - pathname: S/SI/SIMBABQUE/URI-5.19.tar.gz - provides: - URI 5.19 - URI::Escape 5.19 - URI::Heuristic 5.19 - URI::IRI 5.19 - URI::QueryParam 5.19 - URI::Split 5.19 - URI::URL 5.19 - URI::WithBase 5.19 - URI::data 5.19 - URI::file 5.19 - URI::file::Base 5.19 - URI::file::FAT 5.19 - URI::file::Mac 5.19 - URI::file::OS2 5.19 - URI::file::QNX 5.19 - URI::file::Unix 5.19 - URI::file::Win32 5.19 - URI::ftp 5.19 - URI::gopher 5.19 - URI::http 5.19 - URI::https 5.19 - URI::ldap 5.19 - URI::ldapi 5.19 - URI::ldaps 5.19 - URI::mailto 5.19 - URI::mms 5.19 - URI::news 5.19 - URI::nntp 5.19 - URI::nntps 5.19 - URI::pop 5.19 - URI::rlogin 5.19 - URI::rsync 5.19 - URI::rtsp 5.19 - URI::rtspu 5.19 - URI::sftp 5.19 - URI::sip 5.19 - URI::sips 5.19 - URI::snews 5.19 - URI::ssh 5.19 - URI::telnet 5.19 - URI::tn3270 5.19 - URI::urn 5.19 - URI::urn::isbn 5.19 - URI::urn::oid 5.19 + URI-5.21 + pathname: O/OA/OALDERS/URI-5.21.tar.gz + provides: + URI 5.21 + URI::Escape 5.21 + URI::Heuristic 5.21 + URI::IRI 5.21 + URI::QueryParam 5.21 + URI::Split 5.21 + URI::URL 5.21 + URI::WithBase 5.21 + URI::data 5.21 + URI::file 5.21 + URI::file::Base 5.21 + URI::file::FAT 5.21 + URI::file::Mac 5.21 + URI::file::OS2 5.21 + URI::file::QNX 5.21 + URI::file::Unix 5.21 + URI::file::Win32 5.21 + URI::ftp 5.21 + URI::gopher 5.21 + URI::http 5.21 + URI::https 5.21 + URI::icap 5.21 + URI::icaps 5.21 + URI::ldap 5.21 + URI::ldapi 5.21 + URI::ldaps 5.21 + URI::mailto 5.21 + URI::mms 5.21 + URI::news 5.21 + URI::nntp 5.21 + URI::nntps 5.21 + URI::pop 5.21 + URI::rlogin 5.21 + URI::rsync 5.21 + URI::rtsp 5.21 + URI::rtspu 5.21 + URI::sftp 5.21 + URI::sip 5.21 + URI::sips 5.21 + URI::snews 5.21 + URI::ssh 5.21 + URI::telnet 5.21 + URI::tn3270 5.21 + URI::urn 5.21 + URI::urn::isbn 5.21 + URI::urn::oid 5.21 requirements: Carp 0 Cwd 0 @@ -7385,45 +7360,45 @@ DISTRIBUTIONS XML::LibXML 1.70 strict 0 warnings 0 - XML-LibXML-2.0208 - pathname: S/SH/SHLOMIF/XML-LibXML-2.0208.tar.gz - provides: - XML::LibXML 2.0208 - XML::LibXML::Attr 2.0208 - XML::LibXML::AttributeHash 2.0208 - XML::LibXML::Boolean 2.0208 - XML::LibXML::CDATASection 2.0208 - XML::LibXML::Comment 2.0208 - XML::LibXML::Common 2.0208 - XML::LibXML::Devel 2.0208 - XML::LibXML::Document 2.0208 - XML::LibXML::DocumentFragment 2.0208 - XML::LibXML::Dtd 2.0208 - XML::LibXML::Element 2.0208 - XML::LibXML::ErrNo 2.0208 - XML::LibXML::Error 2.0208 - XML::LibXML::InputCallback 2.0208 - XML::LibXML::Literal 2.0208 - XML::LibXML::NamedNodeMap 2.0208 - XML::LibXML::Namespace 2.0208 - XML::LibXML::Node 2.0208 - XML::LibXML::NodeList 2.0208 - XML::LibXML::Number 2.0208 - XML::LibXML::PI 2.0208 - XML::LibXML::Pattern 2.0208 - XML::LibXML::Reader 2.0208 - XML::LibXML::RegExp 2.0208 - XML::LibXML::RelaxNG 2.0208 - XML::LibXML::SAX 2.0208 - XML::LibXML::SAX::AttributeNode 2.0208 - XML::LibXML::SAX::Builder 2.0208 - XML::LibXML::SAX::Generator 2.0208 - XML::LibXML::SAX::Parser 2.0208 - XML::LibXML::Schema 2.0208 - XML::LibXML::Text 2.0208 - XML::LibXML::XPathContext 2.0208 - XML::LibXML::XPathExpression 2.0208 - XML::LibXML::_SAXParser 2.0208 + XML-LibXML-2.0209 + pathname: S/SH/SHLOMIF/XML-LibXML-2.0209.tar.gz + provides: + XML::LibXML 2.0209 + XML::LibXML::Attr 2.0209 + XML::LibXML::AttributeHash 2.0209 + XML::LibXML::Boolean 2.0209 + XML::LibXML::CDATASection 2.0209 + XML::LibXML::Comment 2.0209 + XML::LibXML::Common 2.0209 + XML::LibXML::Devel 2.0209 + XML::LibXML::Document 2.0209 + XML::LibXML::DocumentFragment 2.0209 + XML::LibXML::Dtd 2.0209 + XML::LibXML::Element 2.0209 + XML::LibXML::ErrNo 2.0209 + XML::LibXML::Error 2.0209 + XML::LibXML::InputCallback 2.0209 + XML::LibXML::Literal 2.0209 + XML::LibXML::NamedNodeMap 2.0209 + XML::LibXML::Namespace 2.0209 + XML::LibXML::Node 2.0209 + XML::LibXML::NodeList 2.0209 + XML::LibXML::Number 2.0209 + XML::LibXML::PI 2.0209 + XML::LibXML::Pattern 2.0209 + XML::LibXML::Reader 2.0209 + XML::LibXML::RegExp 2.0209 + XML::LibXML::RelaxNG 2.0209 + XML::LibXML::SAX 2.0209 + XML::LibXML::SAX::AttributeNode 2.0209 + XML::LibXML::SAX::Builder 2.0209 + XML::LibXML::SAX::Generator 2.0209 + XML::LibXML::SAX::Parser 2.0209 + XML::LibXML::Schema 2.0209 + XML::LibXML::Text 2.0209 + XML::LibXML::XPathContext 2.0209 + XML::LibXML::XPathExpression 2.0209 + XML::LibXML::_SAXParser 2.0209 requirements: Alien::Base::Wrapper 0 Alien::Libxml2 0.14 @@ -7473,7 +7448,7 @@ DISTRIBUTIONS requirements: ExtUtils::MakeMaker 0 LWP::UserAgent 0 - perl 5.00405 + perl 5.004050 XML-Parser-Lite-0.722 pathname: P/PH/PHRED/XML-Parser-Lite-0.722.tar.gz provides: @@ -7838,32 +7813,32 @@ DISTRIBUTIONS ExtUtils::MakeMaker 0 File::Spec 0 version 0.77 - libwww-perl-6.70 - pathname: S/SI/SIMBABQUE/libwww-perl-6.70.tar.gz - provides: - LWP 6.70 - LWP::Authen::Basic 6.70 - LWP::Authen::Digest 6.70 - LWP::Authen::Ntlm 6.70 - LWP::ConnCache 6.70 - LWP::Debug 6.70 - LWP::Debug::TraceHTTP 6.70 - LWP::DebugFile 6.70 - LWP::MemberMixin 6.70 - LWP::Protocol 6.70 - LWP::Protocol::cpan 6.70 - LWP::Protocol::data 6.70 - LWP::Protocol::file 6.70 - LWP::Protocol::ftp 6.70 - LWP::Protocol::gopher 6.70 - LWP::Protocol::http 6.70 - LWP::Protocol::loopback 6.70 - LWP::Protocol::mailto 6.70 - LWP::Protocol::nntp 6.70 - LWP::Protocol::nogo 6.70 - LWP::RobotUA 6.70 - LWP::Simple 6.70 - LWP::UserAgent 6.70 + libwww-perl-6.72 + pathname: O/OA/OALDERS/libwww-perl-6.72.tar.gz + provides: + LWP 6.72 + LWP::Authen::Basic 6.72 + LWP::Authen::Digest 6.72 + LWP::Authen::Ntlm 6.72 + LWP::ConnCache 6.72 + LWP::Debug 6.72 + LWP::Debug::TraceHTTP 6.72 + LWP::DebugFile 6.72 + LWP::MemberMixin 6.72 + LWP::Protocol 6.72 + LWP::Protocol::cpan 6.72 + LWP::Protocol::data 6.72 + LWP::Protocol::file 6.72 + LWP::Protocol::ftp 6.72 + LWP::Protocol::gopher 6.72 + LWP::Protocol::http 6.72 + LWP::Protocol::loopback 6.72 + LWP::Protocol::mailto 6.72 + LWP::Protocol::nntp 6.72 + LWP::Protocol::nogo 6.72 + LWP::RobotUA 6.72 + LWP::Simple 6.72 + LWP::UserAgent 6.72 requirements: Digest::MD5 0 Encode 2.12 diff --git a/docker/Dockerfile.perl5.30.tests b/docker/Dockerfile.perl5.30.tests new file mode 100644 index 00000000000..4e6444cf7aa --- /dev/null +++ b/docker/Dockerfile.perl5.30.tests @@ -0,0 +1,290 @@ +FROM phusion/baseimage:focal-1.2.0 + +RUN useradd --create-home --shell /bin/bash musicbrainz + +WORKDIR /home/musicbrainz + +COPY docker/nodesource_pubkey.txt docker/pgdg_pubkey.txt ./ + +RUN apt-get update && \ + apt-get install \ + --no-install-recommends \ + --no-install-suggests \ + -y \ + ca-certificates \ + curl \ + gnupg && \ + mkdir -p /etc/apt/keyrings && \ + cp nodesource_pubkey.txt /etc/apt/keyrings/nodesource.asc && \ + cp pgdg_pubkey.txt /etc/apt/keyrings/pgdg.asc && \ + rm nodesource_pubkey.txt pgdg_pubkey.txt && \ + echo "deb [signed-by=/etc/apt/keyrings/nodesource.asc] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \ + echo "deb [signed-by=/etc/apt/keyrings/pgdg.asc] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \ + apt-get update && \ + apt-get install \ + --no-install-recommends \ + --no-install-suggests \ + -y \ + build-essential \ + bzip2 \ + gcc \ + gettext \ + git \ + language-pack-de \ + language-pack-el \ + language-pack-es \ + language-pack-et \ + language-pack-fi \ + language-pack-fr \ + language-pack-he \ + language-pack-it \ + language-pack-ja \ + language-pack-nl \ + language-pack-sq \ + libc6-dev \ + libdb-dev \ + libdb5.3 \ + libexpat1 \ + libexpat1-dev \ + libgbm1 \ + libicu-dev \ + libicu66 \ + libperl-dev \ + libpq-dev \ + libpq5 \ + libssl-dev \ + libssl1.1 \ + libxkbcommon0 \ + libxml2 \ + libxml2-dev \ + locales \ + lsof \ + make \ + maven \ + nodejs \ + openjdk-8-jdk \ + openjdk-8-jre \ + openssh-client \ + perl \ + pkg-config \ + postgresql-12 \ + postgresql-12-pgtap \ + postgresql-server-dev-12 \ + python2 \ + python2-dev \ + rabbitmq-server \ + redis-server \ + runit \ + runit-systemd \ + software-properties-common \ + sudo \ + unzip \ + virtualenv \ + wget \ + zlib1g-dev && \ + add-apt-repository -y ppa:deadsnakes/ppa && \ + apt install \ + --no-install-recommends \ + --no-install-suggests \ + -y \ + python3.9 \ + python3.9-dev \ + python3.9-distutils \ + python3.9-venv && \ + rm -rf /var/lib/apt/lists/* && \ + update-java-alternatives -s java-1.8.0-openjdk-amd64 && \ + systemctl disable rabbitmq-server + +RUN wget -q -O - https://cpanmin.us | perl - App::cpanminus && \ + cpanm Carton JSON::XS && \ + rm -rf /root/.cpanm + +ENV PERL_CARTON_PATH="/home/musicbrainz/carton-local" \ + PERL_CPANM_OPT="--notest --no-interactive" + +COPY --chown=musicbrainz:musicbrainz cpanfile ./ +COPY --chown=musicbrainz:musicbrainz cpanfile.perl5.30.snapshot ./cpanfile.snapshot +RUN sudo -E -H -u musicbrainz carton install --deployment && \ + rm cpanfile cpanfile.snapshot + +RUN mkdir musicbrainz-server +ENV PG_AMQP_COMMIT 240d477 + +RUN git clone --depth 1 https://github.com/omniti-labs/pg_amqp.git && \ + cd pg_amqp && \ + git reset --hard $PG_AMQP_COMMIT && \ + make && \ + make install && \ + cd /home/musicbrainz + +ENV SOLR_VERSION 7.7.3 +ENV SOLR_HOME /opt/solr/server/solr + +RUN curl -sLO http://archive.apache.org/dist/lucene/solr/$SOLR_VERSION/solr-$SOLR_VERSION.tgz && \ + tar xzf solr-$SOLR_VERSION.tgz solr-$SOLR_VERSION/bin/install_solr_service.sh --strip-components=2 && \ + ./install_solr_service.sh solr-$SOLR_VERSION.tgz && \ + systemctl disable solr + +ENV MB_SOLR_TAG v3.4.2 + +# Steps taken from https://github.com/metabrainz/mb-solr/blob/master/Dockerfile +RUN sudo -E -H -u musicbrainz git clone --branch $MB_SOLR_TAG --depth 1 --recursive https://github.com/metabrainz/mb-solr.git && \ + cd mb-solr/mmd-schema/brainz-mmd2-jaxb && \ + mvn install && \ + cd ../../mb-solr && \ + mvn package -DskipTests && \ + mkdir -p /opt/solr/lib $SOLR_HOME && \ + cp target/mb-solr-0.0.1-SNAPSHOT-jar-with-dependencies.jar /opt/solr/lib/ && \ + cd .. && \ + cp -R mbsssss $SOLR_HOME/mycores/ && \ + sed -i'' 's||/opt/solr/lib|' $SOLR_HOME/solr.xml && \ + mkdir $SOLR_HOME/data && \ + chown -R solr:solr /opt/solr/ && \ + cd /home/musicbrainz + +ENV SIR_TAG v3.0.1 + +RUN sudo -E -H -u musicbrainz git clone --branch $SIR_TAG https://github.com/metabrainz/sir.git && \ + cd sir && \ + sudo -E -H -u musicbrainz sh -c 'virtualenv --python=python2 venv; . venv/bin/activate; pip install --upgrade pip; pip install -r requirements.txt; pip install git+https://github.com/esnme/ultrajson.git@7d0f4fb7e911120fd09075049233b587936b0a65' && \ + cd /home/musicbrainz + +ENV ARTWORK_INDEXER_COMMIT c8731b5 + +RUN sudo -E -H -u musicbrainz git clone https://github.com/metabrainz/artwork-indexer.git && \ + cd artwork-indexer && \ + sudo -E -H -u musicbrainz git reset --hard $ARTWORK_INDEXER_COMMIT && \ + sudo -E -H -u musicbrainz sh -c 'python3.9 -m venv venv; . venv/bin/activate; pip install -r requirements.txt' && \ + cd /home/musicbrainz + +ENV ARTWORK_REDIRECT_COMMIT c632ecf + +RUN sudo -E -H -u musicbrainz git clone https://github.com/metabrainz/artwork-redirect.git && \ + cd artwork-redirect && \ + sudo -E -H -u musicbrainz git reset --hard $ARTWORK_REDIRECT_COMMIT && \ + sudo -E -H -u musicbrainz sh -c 'python3.9 -m venv venv; . venv/bin/activate; pip install -r requirements.txt' && \ + cd /home/musicbrainz + +RUN curl -sLO https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/119.0.6045.105/linux64/chrome-linux64.zip && \ + unzip chrome-linux64.zip -d /opt && \ + rm chrome-linux64.zip + +RUN curl -sLO https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/119.0.6045.105/linux64/chromedriver-linux64.zip && \ + unzip chromedriver-linux64.zip -d /tmp && \ + mv /tmp/chromedriver-linux64/chromedriver /usr/local/bin/ && \ + chmod +x /usr/local/bin/chromedriver && \ + rm -r chromedriver-linux64.zip /tmp/chromedriver-linux64 + +RUN curl -sLO https://github.com/validator/validator/releases/download/18.11.5/vnu.jar_18.11.5.zip && \ + unzip -d vnu -j vnu.jar_18.11.5.zip && \ + rm vnu.jar_18.11.5.zip + +RUN echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen && \ + locale-gen + +ENV PGHOME /var/lib/postgresql +ENV PGDATA "$PGHOME"/data + +RUN mkdir -p "$PGDATA" && \ + chown -R postgres:postgres "$PGHOME" && \ + cd "$PGHOME" && \ + chmod 700 "$PGDATA" && \ + sudo -u postgres /usr/lib/postgresql/12/bin/initdb \ + --data-checksums \ + --encoding utf8 \ + --locale en_US.UTF8 \ + --username postgres \ + --pgdata "$PGDATA" && \ + cd - + +COPY --chown=postgres:postgres \ + docker/musicbrainz-tests/pg_hba.conf \ + docker/musicbrainz-tests/postgresql.conf \ + $PGDATA/ + +RUN sudo -E -H -u postgres touch \ + $PGDATA/pg_ident.conf + +COPY docker/musicbrainz-tests/artwork-indexer-config.ini artwork-indexer/config.ini +COPY docker/musicbrainz-tests/artwork-redirect-config.ini artwork-redirect/config.ini +COPY docker/musicbrainz-tests/sir-config.ini sir/config.ini + +COPY \ + docker/musicbrainz-tests/artwork-indexer.service \ + /etc/service/artwork-indexer/run +COPY \ + docker/musicbrainz-tests/artwork-redirect.service \ + /etc/service/artwork-redirect/run +COPY \ + docker/musicbrainz-tests/chrome.service \ + /etc/service/chrome/run +COPY \ + docker/musicbrainz-tests/postgresql.service \ + /etc/service/postgresql/run +COPY \ + docker/musicbrainz-tests/redis.service \ + /etc/service/redis/run +COPY \ + docker/musicbrainz-tests/solr.service \ + /etc/service/solr/run +COPY \ + docker/musicbrainz-tests/ssssss.service \ + /etc/service/ssssss/run +COPY \ + docker/musicbrainz-tests/template-renderer.service \ + /etc/service/template-renderer/run +COPY \ + docker/musicbrainz-tests/vnu.service \ + /etc/service/vnu/run +COPY \ + docker/musicbrainz-tests/website.service \ + /etc/service/website/run +RUN chmod 755 \ + /etc/service/artwork-indexer/run \ + /etc/service/artwork-redirect/run \ + /etc/service/chrome/run \ + /etc/service/postgresql/run \ + /etc/service/redis/run \ + /etc/service/solr/run \ + /etc/service/ssssss/run \ + /etc/service/template-renderer/run \ + /etc/service/vnu/run \ + /etc/service/website/run +RUN touch \ + /etc/service/artwork-indexer/down \ + /etc/service/artwork-redirect/down \ + /etc/service/chrome/down \ + /etc/service/postgresql/down \ + /etc/service/redis/down \ + /etc/service/solr/down \ + /etc/service/ssssss/down \ + /etc/service/template-renderer/down \ + /etc/service/vnu/down \ + /etc/service/website/down + +COPY \ + docker/scripts/start_template_renderer.sh \ + /usr/local/bin/ +RUN chmod 755 \ + /usr/local/bin/start_template_renderer.sh + +COPY docker/scripts/install_svlogd_services.sh /usr/local/bin +RUN chmod +x /usr/local/bin/install_svlogd_services.sh && \ + install_svlogd_services.sh \ + artwork-indexer \ + artwork-redirect \ + chrome \ + postgresql \ + redis \ + solr \ + ssssss \ + template-renderer \ + vnu \ + website && \ + rm /usr/local/bin/install_svlogd_services.sh + +# Allow the musicbrainz user execute any command with sudo. +# Primarily needed to run rabbitmqctl. +RUN echo 'musicbrainz ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +LABEL com.circleci.preserve-entrypoint=true diff --git a/docker/Dockerfile.tests b/docker/Dockerfile.tests index d177ba47098..46191baa598 100644 --- a/docker/Dockerfile.tests +++ b/docker/Dockerfile.tests @@ -1,10 +1,10 @@ -FROM phusion/baseimage:focal-1.0.0-alpha1-amd64 +FROM phusion/baseimage:jammy-1.0.1 RUN useradd --create-home --shell /bin/bash musicbrainz WORKDIR /home/musicbrainz -COPY docker/pgdg_pubkey.txt docker/yarn_pubkey.txt ./ +COPY docker/nodesource_pubkey.txt docker/pgdg_pubkey.txt ./ RUN apt-get update && \ apt-get install \ @@ -14,21 +14,16 @@ RUN apt-get update && \ ca-certificates \ curl \ gnupg && \ - apt-key add pgdg_pubkey.txt && \ - apt-key add yarn_pubkey.txt && \ - rm pgdg_pubkey.txt yarn_pubkey.txt && \ - apt-key adv --keyserver keyserver.ubuntu.com --refresh-keys 'Yarn' && \ - echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \ - echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \ - curl -sLO https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ - curl -sLO https://deb.nodesource.com/node_18.x/pool/main/n/nodejs/nodejs_18.17.1-deb-1nodesource1_amd64.deb && \ + cp nodesource_pubkey.txt /etc/apt/keyrings/nodesource.asc && \ + cp pgdg_pubkey.txt /etc/apt/keyrings/pgdg.asc && \ + rm nodesource_pubkey.txt pgdg_pubkey.txt && \ + echo "deb [signed-by=/etc/apt/keyrings/nodesource.asc] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \ + echo "deb [signed-by=/etc/apt/keyrings/pgdg.asc] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \ apt-get update && \ apt-get install \ --no-install-recommends \ --no-install-suggests \ -y \ - ./google-chrome-stable_current_amd64.deb \ - ./nodejs_18.17.1-deb-1nodesource1_amd64.deb \ build-essential \ bzip2 \ gcc \ @@ -50,19 +45,22 @@ RUN apt-get update && \ libdb5.3 \ libexpat1 \ libexpat1-dev \ + libgbm1 \ libicu-dev \ - libicu66 \ + libicu70 \ libperl-dev \ libpq-dev \ libpq5 \ libssl-dev \ - libssl1.1 \ + libssl3 \ + libxkbcommon0 \ libxml2 \ libxml2-dev \ locales \ lsof \ make \ maven \ + nodejs \ openjdk-8-jdk \ openjdk-8-jre \ openssh-client \ @@ -73,6 +71,10 @@ RUN apt-get update && \ postgresql-server-dev-12 \ python2 \ python2-dev \ + python3 \ + python3-dev \ + python3-distutils \ + python3-venv \ rabbitmq-server \ redis-server \ runit \ @@ -82,20 +84,8 @@ RUN apt-get update && \ unzip \ virtualenv \ wget \ - yarn \ zlib1g-dev && \ - add-apt-repository -y ppa:deadsnakes/ppa && \ - apt install \ - --no-install-recommends \ - --no-install-suggests \ - -y \ - python3.9 \ - python3.9-dev \ - python3.9-distutils \ - python3.9-venv && \ rm -rf /var/lib/apt/lists/* && \ - rm google-chrome-stable_current_amd64.deb && \ - rm nodejs_18.17.1-deb-1nodesource1_amd64.deb && \ update-java-alternatives -s java-1.8.0-openjdk-amd64 && \ systemctl disable rabbitmq-server @@ -145,11 +135,11 @@ RUN sudo -E -H -u musicbrainz git clone --branch $MB_SOLR_TAG --depth 1 --recurs chown -R solr:solr /opt/solr/ && \ cd /home/musicbrainz -ENV SIR_TAG v3.0.0 +ENV SIR_TAG v3.0.1 RUN sudo -E -H -u musicbrainz git clone --branch $SIR_TAG https://github.com/metabrainz/sir.git && \ cd sir && \ - sudo -E -H -u musicbrainz sh -c 'virtualenv --python=python2 venv; . venv/bin/activate; pip install --upgrade pip; pip install -r requirements.txt; pip install typing git+https://github.com/esnme/ultrajson.git@7d0f4fb7e911120fd09075049233b587936b0a65' && \ + sudo -E -H -u musicbrainz sh -c 'virtualenv --python=python2 venv; . venv/bin/activate; pip install --upgrade pip; pip install -r requirements.txt; pip install git+https://github.com/esnme/ultrajson.git@7d0f4fb7e911120fd09075049233b587936b0a65' && \ cd /home/musicbrainz ENV ARTWORK_INDEXER_COMMIT c8731b5 @@ -157,18 +147,22 @@ ENV ARTWORK_INDEXER_COMMIT c8731b5 RUN sudo -E -H -u musicbrainz git clone https://github.com/metabrainz/artwork-indexer.git && \ cd artwork-indexer && \ sudo -E -H -u musicbrainz git reset --hard $ARTWORK_INDEXER_COMMIT && \ - sudo -E -H -u musicbrainz sh -c 'python3.9 -m venv venv; . venv/bin/activate; pip install -r requirements.txt' && \ + sudo -E -H -u musicbrainz sh -c 'python3 -m venv venv; . venv/bin/activate; pip install -r requirements.txt' && \ cd /home/musicbrainz -ENV ARTWORK_REDIRECT_COMMIT origin/eaa +ENV ARTWORK_REDIRECT_COMMIT c632ecf RUN sudo -E -H -u musicbrainz git clone https://github.com/metabrainz/artwork-redirect.git && \ cd artwork-redirect && \ sudo -E -H -u musicbrainz git reset --hard $ARTWORK_REDIRECT_COMMIT && \ - sudo -E -H -u musicbrainz sh -c 'python3.9 -m venv venv; . venv/bin/activate; pip install -r requirements.txt' && \ + sudo -E -H -u musicbrainz sh -c 'python3 -m venv venv; . venv/bin/activate; pip install -r requirements.txt' && \ cd /home/musicbrainz -RUN curl -sLO https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.96/linux64/chromedriver-linux64.zip && \ +RUN curl -sLO https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/119.0.6045.105/linux64/chrome-linux64.zip && \ + unzip chrome-linux64.zip -d /opt && \ + rm chrome-linux64.zip + +RUN curl -sLO https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/119.0.6045.105/linux64/chromedriver-linux64.zip && \ unzip chromedriver-linux64.zip -d /tmp && \ mv /tmp/chromedriver-linux64/chromedriver /usr/local/bin/ && \ chmod +x /usr/local/bin/chromedriver && \ @@ -181,17 +175,20 @@ RUN curl -sLO https://github.com/validator/validator/releases/download/18.11.5/v RUN echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen && \ locale-gen -ENV PGDATA /home/musicbrainz/pgdata +ENV PGHOME /var/lib/postgresql +ENV PGDATA "$PGHOME"/data RUN mkdir -p "$PGDATA" && \ - chown postgres:postgres "$PGDATA" && \ + chown -R postgres:postgres "$PGHOME" && \ + cd "$PGHOME" && \ chmod 700 "$PGDATA" && \ sudo -u postgres /usr/lib/postgresql/12/bin/initdb \ --data-checksums \ --encoding utf8 \ --locale en_US.UTF8 \ --username postgres \ - --pgdata "$PGDATA" + --pgdata "$PGDATA" && \ + cd - COPY --chown=postgres:postgres \ docker/musicbrainz-tests/pg_hba.conf \ diff --git a/docker/musicbrainz-tests/postgresql.service b/docker/musicbrainz-tests/postgresql.service index 07a081e3756..ea0ba87a6b8 100755 --- a/docker/musicbrainz-tests/postgresql.service +++ b/docker/musicbrainz-tests/postgresql.service @@ -1,4 +1,4 @@ #!/bin/sh exec chpst -u postgres:postgres \ - /usr/lib/postgresql/12/bin/postgres -D /home/musicbrainz/pgdata + /usr/lib/postgresql/12/bin/postgres -D /var/lib/postgresql/data diff --git a/docker/musicbrainz-tests/run_circleci_tests.sh b/docker/musicbrainz-tests/run_circleci_tests.sh new file mode 100755 index 00000000000..c2db0e9161f --- /dev/null +++ b/docker/musicbrainz-tests/run_circleci_tests.sh @@ -0,0 +1,63 @@ +#!/usr/bin/env bash + +sudo -E -H -u musicbrainz mkdir -p junit_output + +sudo -E -H -u musicbrainz cp docker/musicbrainz-tests/DBDefs.pm lib/ + +rm /etc/service/{postgresql,redis}/down && sv start postgresql redis + +sudo -E -H -u musicbrainz carton exec -- ./script/create_test_db.sh + +sudo -E -H -u musicbrainz make -C po all_quiet deploy + +MUSICBRAINZ_RUNNING_TESTS=1 \ + NODE_ENV=test \ + WEBPACK_MODE=development \ + NO_PROGRESS=1 \ + sudo -E -H -u musicbrainz \ + carton exec -- ./script/compile_resources.sh client server web-tests + +sudo -E -H -u musicbrainz ./node_modules/.bin/flow --quiet +sudo -E -H -u musicbrainz ./node_modules/.bin/eslint --max-warnings 0 . + +rm /etc/service/chrome/down && sv start chrome + +sudo -E -H -u musicbrainz carton exec -- node \ + t/web.js \ + | tee >(./node_modules/.bin/tap-junit > ./junit_output/js_web.xml) \ + | ./node_modules/.bin/tap-difflet + +sv kill chrome + +./docker/musicbrainz-tests/add_mbtest_alias.sh + +sudo -u postgres createdb -O musicbrainz -T musicbrainz_test -U postgres musicbrainz_test_json_dump +sudo -u postgres createdb -O musicbrainz -T musicbrainz_test -U postgres musicbrainz_test_full_export +sudo -u postgres createdb -O musicbrainz -T musicbrainz_test -U postgres musicbrainz_test_sitemaps + +rm /etc/service/{template-renderer,vnu,website}/down && sv start template-renderer vnu website + +export MMD_SCHEMA_ROOT=/home/musicbrainz/mb-solr/mmd-schema +export JUNIT_OUTPUT_FILE=junit_output/perl_and_pgtap.xml + +sudo -E -H -u musicbrainz carton exec -- prove \ + --pgtap-option dbname=musicbrainz_test \ + --pgtap-option host=localhost \ + --pgtap-option port=5432 \ + --pgtap-option username=musicbrainz \ + --source pgTAP \ + --source Perl \ + -I lib \ + t/author/* \ + t/critic.t \ + t/hydration_i18n.t \ + t/pgtap/* \ + t/pgtap/unused-tags/* \ + t/script/MergeDuplicateArtistCredits.t \ + t/script/BuildSitemaps.t \ + t/script/DumpJSON.t \ + t/script/ExportAllTables.t \ + t/script/dbmirror2.t \ + t/tests.t \ + --harness=TAP::Harness::JUnit \ + -v diff --git a/docker/musicbrainz-tests/run_selenium_tests.sh b/docker/musicbrainz-tests/run_selenium_tests.sh index 8ccd80e1bdd..2a68b63b5c8 100755 --- a/docker/musicbrainz-tests/run_selenium_tests.sh +++ b/docker/musicbrainz-tests/run_selenium_tests.sh @@ -13,8 +13,10 @@ sudo -E -H -u musicbrainz cp docker/musicbrainz-tests/DBDefs.pm lib/ # Create the musicbrainz_test and musicbrainz_selenium DBs. sudo -E -H -u musicbrainz carton exec -- ./script/create_test_db.sh +pushd /var/lib/postgresql sudo -u postgres createdb -O musicbrainz -T musicbrainz_test -U postgres \ musicbrainz_selenium +popd # Set the open file limit Solr requests on startup, then start Solr. ulimit -n 65000 @@ -30,17 +32,17 @@ rabbitmqctl set_permissions -p /sir-test sir '.*' '.*' '.*' export SIR_DIR=/home/musicbrainz/sir cd "$SIR_DIR" sudo -E -H -u musicbrainz sh -c '. venv/bin/activate; python -m sir amqp_setup; python -m sir extension; python -m sir triggers --broker-id=1' -sudo -u postgres psql -U postgres -f sql/CreateExtension.sql musicbrainz_selenium -sudo -u postgres psql -U musicbrainz -f sql/CreateFunctions.sql musicbrainz_selenium -sudo -u postgres psql -U musicbrainz -f sql/CreateTriggers.sql musicbrainz_selenium +psql -U postgres -f sql/CreateExtension.sql musicbrainz_selenium +psql -U musicbrainz -f sql/CreateFunctions.sql musicbrainz_selenium +psql -U musicbrainz -f sql/CreateTriggers.sql musicbrainz_selenium # Install the artwork_indexer schema into musicbrainz_selenium. cd /home/musicbrainz/artwork-indexer -sudo -u postgres psql -U musicbrainz -f sql/create.sql musicbrainz_selenium -sudo -u postgres psql -U musicbrainz -f sql/caa_functions.sql musicbrainz_selenium -sudo -u postgres psql -U musicbrainz -f sql/caa_triggers.sql musicbrainz_selenium -sudo -u postgres psql -U musicbrainz -f sql/eaa_functions.sql musicbrainz_selenium -sudo -u postgres psql -U musicbrainz -f sql/eaa_triggers.sql musicbrainz_selenium +psql -U musicbrainz -f sql/create.sql musicbrainz_selenium +psql -U musicbrainz -f sql/caa_functions.sql musicbrainz_selenium +psql -U musicbrainz -f sql/caa_triggers.sql musicbrainz_selenium +psql -U musicbrainz -f sql/eaa_functions.sql musicbrainz_selenium +psql -U musicbrainz -f sql/eaa_triggers.sql musicbrainz_selenium cd /home/musicbrainz/musicbrainz-server @@ -49,6 +51,7 @@ rm /etc/service/{artwork-indexer,artwork-redirect,ssssss}/down sv start artwork-indexer artwork-redirect ssssss # Compile static resources. +corepack enable sudo -E -H -u musicbrainz yarn sudo -E -H -u musicbrainz make -C po all_quiet deploy NODE_ENV=test \ @@ -69,7 +72,8 @@ sleep 10 sudo -E -H -u musicbrainz mkdir -p junit_output -sudo -E -H -u musicbrainz carton exec -- ./t/selenium.js \ +sudo -E -H -u musicbrainz carton exec -- \ + ./t/selenium.js --browser-binary-path=/opt/chrome-linux64/chrome \ | tee >(./node_modules/.bin/tap-junit > ./junit_output/selenium.xml) \ | ./node_modules/.bin/tap-difflet diff --git a/docker/nodesource_pubkey.txt b/docker/nodesource_pubkey.txt new file mode 100644 index 00000000000..b7637b89f66 --- /dev/null +++ b/docker/nodesource_pubkey.txt @@ -0,0 +1,29 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQENBFdDN1ABCADaNd/I3j3tn40deQNgz7hB2NvT+syXe6k4ZmdiEcOfBvFrkS8B +hNS67t93etHsxEy7E0qwsZH32bKazMqe9zDwoa3aVImryjh6SHC9lMtW27JPHFeM +Srkt9YmH1WMwWcRO6eSY9B3PpazquhnvbammLuUojXRIxkDroy6Fw4UKmUNSRr32 +9Ej87jRoR1B2/57Kfp2Y4+vFGGzSvh3AFQpBHq51qsNHALU6+8PjLfIt+5TPvaWR +TB+kAZnQZkaIQM2nr1n3oj6ak2RATY/+kjLizgFWzgEfbCrbsyq68UoY5FPBnu4Z +E3iDZpaIqwKr0seUC7iA1xM5eHi5kty1oB7HABEBAAG0Ik5Tb2xpZCA8bnNvbGlk +LWdwZ0Bub2Rlc291cmNlLmNvbT6JATgEEwECACIFAldDN1ACGwMGCwkIBwMCBhUI +AgkKCwQWAgMBAh4BAheAAAoJEC9ZtfmbG+C0y7wH/i4xnab36dtrYW7RZwL8i6Sc +NjMx4j9+U1kr/F6YtqWd+JwCbBdar5zRghxPcYEq/qf7MbgAYcs1eSOuTOb7n7+o +xUwdH2iCtHhKh3Jr2mRw1ks7BbFZPB5KmkxHaEBfLT4d+I91ZuUdPXJ+0SXs9gzk +Dbz65Uhoz3W03aiF8HeL5JNARZFMbHHNVL05U1sTGTCOtu+1c/33f3TulQ/XZ3Y4 +hwGCpLe0Tv7g7Lp3iLMZMWYPEa0a7S4u8he5IEJQLd8bE8jltcQvrdr3Fm8kI2Jg +BJmUmX4PSfhuTCFaR/yeCt3UoW883bs9LfbTzIx9DJGpRIu8Y0IL3b4sj/GoZVq5 +AQ0EV0M3UAEIAKrTaC62ayzqOIPa7nS90BHHck4Z33a2tZF/uof38xNOiyWGhT8u +JeFoTTHn5SQq5Ftyu4K3K2fbbpuu/APQF05AaljzVkDGNMW4pSkgOasdysj831cu +ssrHX2RYS22wg80k6C/Hwmh5F45faEuNxsV+bPx7oPUrt5n6GMx84vEP3i1+FDBi +0pt/B/QnDFBXki1BGvJ35f5NwDefK8VaInxXP3ZN/WIbtn5dqxppkV/YkO7GiJlp +Jlju9rf3kKUIQzKQWxFsbCAPIHoWv7rH9RSxgDithXtG6Yg5R1aeBbJaPNXL9wpJ +YBJbiMjkAFaz4B95FOqZm3r7oHugiCGsHX0AEQEAAYkBHwQYAQIACQUCV0M3UAIb +DAAKCRAvWbX5mxvgtE/OB/0VN88DR3Y3fuqy7lq/dthkn7Dqm9YXdorZl3L152eE +IF882aG8FE3qZdaLGjQO4oShAyNWmRfSGuoH0XERXAI9n0r8m4mDMxE6rtP7tHet +y/5M8x3CTyuMgx5GLDaEUvBusnTD+/v/fBMwRK/cZ9du5PSG4R50rtst+oYyC2ao +x4I2SgjtF/cY7bECsZDplzatN3gv34PkcdIg8SLHAVlL4N5tzumDeizRspcSyoy2 +K2+hwKU4C4+dekLLTg8rjnRROvplV2KtaEk6rxKtIRFDCoQng8wfJuIMrDNKvqZw +FRGt7cbvW5MCnuH8MhItOl9Uxp1wHp6gtav/h8Gp6MBa +=MARt +-----END PGP PUBLIC KEY BLOCK----- diff --git a/docker/templates/Dockerfile.cpanfile-snapshot.m4 b/docker/templates/Dockerfile.cpanfile-snapshot.m4 index d39b60b3974..257f36f4107 100644 --- a/docker/templates/Dockerfile.cpanfile-snapshot.m4 +++ b/docker/templates/Dockerfile.cpanfile-snapshot.m4 @@ -1,5 +1,5 @@ m4_include(`macros.m4')m4_dnl -FROM metabrainz/base-image:focal-1.0.0-alpha1 +FROM metabrainz/base-image:jammy-1.0.1-v0.4 ARG DEBIAN_FRONTEND=noninteractive diff --git a/docker/templates/Dockerfile.website.m4 b/docker/templates/Dockerfile.website.m4 index dd9c7f9e0e9..dcd2bb0acf0 100644 --- a/docker/templates/Dockerfile.website.m4 +++ b/docker/templates/Dockerfile.website.m4 @@ -10,7 +10,7 @@ git_info install_translations() -install_javascript_and_templates(` --only=production') +install_javascript_and_templates COPY \ docker/musicbrainz-website/template-renderer.service \ diff --git a/docker/templates/macros.m4 b/docker/templates/macros.m4 index 1c3050ee176..93fa45d2464 100644 --- a/docker/templates/macros.m4 +++ b/docker/templates/macros.m4 @@ -3,38 +3,31 @@ m4_divert(-1) m4_define( `apt_install', `m4_dnl -apt-get update && ( \ - apt-get install --no-install-suggests --no-install-recommends -y $1 || ( \ - apt-key adv --keyserver keyserver.ubuntu.com --refresh-keys && \ - apt-get install --no-install-suggests --no-install-recommends -y $1 ) ) && \ +apt-get update && \ + apt-get install --no-install-suggests --no-install-recommends -y $1 && \ rm -rf /var/lib/apt/lists/*') m4_define(`apt_purge', `apt-get purge --auto-remove -y $1') m4_define(`sudo_mb', `sudo -E -H -u musicbrainz $1') -m4_define(`NODEJS_DEB', `nodejs_18.17.1-deb-1nodesource1_amd64.deb') - m4_define( `install_javascript', `m4_dnl -COPY docker/yarn_pubkey.txt /tmp/ -copy_mb(``package.json yarn.lock ./'') -RUN apt-key add /tmp/yarn_pubkey.txt && \ - rm /tmp/yarn_pubkey.txt && \ - echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \ - apt_install(``git python3-minimal yarn'') && \ - cd /tmp && \ - curl -sLO https://deb.nodesource.com/node_18.x/pool/main/n/nodejs/NODEJS_DEB && \ - dpkg -i NODEJS_DEB && \ - cd - && \ - sudo_mb(``yarn install$1'') +COPY docker/nodesource_pubkey.txt /tmp/ +copy_mb(``package.json yarn.lock .yarnrc.yml ./'') +RUN cp /tmp/nodesource_pubkey.txt /etc/apt/keyrings/nodesource.asc && \ + rm /tmp/nodesource_pubkey.txt && \ + echo "deb [signed-by=/etc/apt/keyrings/nodesource.asc] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \ + apt_install(``git nodejs python3-minimal'') && \ + corepack enable && \ + sudo_mb(``yarn'') copy_mb(``babel.config.cjs ./'')') m4_define( `install_javascript_and_templates', `m4_dnl -install_javascript(`$1') +install_javascript copy_mb(``docker/scripts/compile_resources_for_image.sh docker/scripts/'') copy_mb(``root/ root/'') @@ -68,9 +61,9 @@ bzip2 m4_dnl ca-certificates m4_dnl libdb5.3 m4_dnl libexpat1 m4_dnl -libicu66 m4_dnl +libicu70 m4_dnl libpq5 m4_dnl -libssl1.1 m4_dnl +libssl3 m4_dnl libxml2 m4_dnl moreutils m4_dnl perl m4_dnl @@ -99,9 +92,9 @@ ENV PERL_CARTON_PATH /home/musicbrainz/carton-local ENV PERL_CPANM_OPT --notest --no-interactive COPY docker/pgdg_pubkey.txt /tmp/ -RUN apt-key add /tmp/pgdg_pubkey.txt && \ +RUN cp /tmp/pgdg_pubkey.txt /etc/apt/keyrings/pgdg.asc && \ rm /tmp/pgdg_pubkey.txt && \ - echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \ + echo "deb [signed-by=/etc/apt/keyrings/pgdg.asc] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \ apt_install(`mbs_build_deps mbs_run_deps') && \ wget -q -O - https://cpanmin.us | perl - App::cpanminus && \ cpanm Carton JSON::XS && \ diff --git a/docker/templates/server_base.m4 b/docker/templates/server_base.m4 index 740cc6eca46..68c0965bf96 100644 --- a/docker/templates/server_base.m4 +++ b/docker/templates/server_base.m4 @@ -1,5 +1,5 @@ m4_include(`macros.m4')m4_dnl -FROM metabrainz/base-image:focal-1.0.0-alpha1 +FROM metabrainz/base-image:jammy-1.0.1-v0.4 ARG DEBIAN_FRONTEND=noninteractive diff --git a/docker/yarn_pubkey.txt b/docker/yarn_pubkey.txt deleted file mode 100644 index 509718b26af..00000000000 --- a/docker/yarn_pubkey.txt +++ /dev/null @@ -1,220 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- - -mQINBFf0j5oBEADS6cItqCbf4lOLICohq2aHqM5I1jsz3DC4ddIU5ONbKXP1t0wk -FEUPRzd6m80cTo7Q02Bw7enh4J6HvM5XVBSSGKENP6XAsiOZnY9nkXlcQAPFRnCn -CjEfoOPZ0cBKjn2IpIXXcC+7xh4p1yruBpOsCbT6BuzA+Nm9j4cpRjdRdWSSmdID -TyMZClmYm/NIfCPduYvNZxZXhW3QYeieP7HIonhZSHVu/jauEUyHLVsieUIvAOJI -cXYpwLlrw0yy4flHe1ORJzuA7EZ4eOWCuKf1PgowEnVSS7Qp7lksCuljtfXgWelB -XGJlAMD90mMbsNpQPF8ywQ2wjECM8Q6BGUcQuGMDBtFihobb+ufJxpUOm4uDt0y4 -zaw+MVSi+a56+zvY0VmMGVyJstldPAcUlFYBDsfC9+zpzyrAqRY+qFWOT2tj29R5 -ZNYvUUjEmA/kXPNIwmEr4oj7PVjSTUSpwoKamFFE6Bbha1bzIHpdPIRYc6cEulp3 -dTOWfp+Cniiblp9gwz3HeXOWu7npTTvJBnnyRSVtQgRnZrrtRt3oLZgmj2fpZFCE -g8VcnQOb0iFcIM7VlWL0QR4SOz36/GFyezZkGsMlJwIGjXkqGhcEHYVDpg0nMoq1 -qUvizxv4nKLanZ5jKrV2J8V09PbL+BERIi6QSeXhXQIui/HfV5wHXC6DywARAQAB -tBxZYXJuIFBhY2thZ2luZyA8eWFybkBkYW4uY3g+iQI5BBMBCAAjBQJX9I+aAhsD -BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQFkawG4blAxB52Q/9FcyGIEK2 -QamDhookuoUGGYjIeN+huQPWmc6mLPEKS2Vahk5jnJKVtAFiaqINiUtt/1jZuhF2 -bVGITvZK79kM6lg42xQcnhypzQPgkN7GQ/ApYqeKqCh1wV43KzT/CsJ9TrI0SC34 -qYHTEXXUprAuwQitgAJNi5QMdMtauCmpK+Xtl/72aetvL8jMFElOobeGwKgfLo9+ -We2EkKhSwyiy3W5TYI1UlV+evyyT+N0pmhRUSH6sJpzDnVYYPbCWa2b+0D/PHjXi -edKcely/NvqyVGoWZ+j41wkp5Q0wK2ybURS1ajfaKt0OcMhRf9XCfeXAQvU98mEk -FlfPaq0CXsjOy8eJXDeoc1dwxjDi2YbfHel0CafjrNp6qIFG9v3JxPUU19hG9lxD -Iv7VXftvMpjJCo/J4Qk+MOv7KsabgXg1iZHmllyyH3TY4AA4VA+mlceiiOHdXbKk -Q3BfS1jdXPV+2kBfqM4oWANArlrFTqtop8PPsDNqh/6SrVsthr7WTvC5q5h/Lmxy -Krm4Laf7JJMvdisfAsBbGZcR0Xv/Vw9cf2OIEzeOWbj5xul0kHT1vHhVNrBNanfe -t79RTDGESPbqz+bTS7olHWctl6TlwxA0/qKlI/PzXfOg63Nqy15woq9buca+uTcS -ccYO5au+g4Z70IEeQHsq5SC56qDR5/FvYyu5Ag0EV/SPmgEQANDSEMBKp6ER86y+ -udfKdSLP9gOv6hPsAgCHhcvBsks+ixeX9U9KkK7vj/1q6wodKf9oEbbdykHgIIB1 -lzY1l7u7/biAtQhTjdEZPh/dt3vjogrJblUEC0rt+fZe325ociocS4Bt9I75Ttkd -nWgkE4uOBJsSllpUbqfLBfYR58zz2Rz1pkBqRTkmJFetVNYErYi2tWbeJ59GjUN7 -w1K3GhxqbMbgx4dF5+rjGs+KI9k6jkGeeQHqhDk+FU70oLVLuH2Dmi9IFjklKmGa -3BU7VpNxvDwdoV7ttRYEBcBnPOmL24Sn4Xhe2MDCqgJwwyohd9rk8neV7GtavVea -Tv6bnzi1iJRgDld51HFWG8X+y55i5cYWaiXHdHOAG1+t35QUrczm9+sgkiKSk1II -TlEFsfwRl16NTCMGzjP5kGCm/W+yyyvBMw7CkENQcd23fMsdaQ/2UNYJau2PoRH/ -m+IoRehIcmE0npKeLVTDeZNCzpmfY18T542ibK49kdjZiK6G/VyBhIbWEFVu5Ll9 -+8GbcO9ucYaaeWkFS8Hg0FZafMk59VxKiICKLZ5he/C4f0UssXdyRYU6C5BH8UTC -QLg0z8mSSL+Wb2iFVPrn39Do7Zm8ry6LBCmfCf3pI99Q/1VaLDauorooJV3rQ5kC -JEiAeqQtLOvyoXIex1VbzlRUXmElABEBAAGJAh8EGAEIAAkFAlf0j5oCGwwACgkQ -FkawG4blAxAUUQ//afD0KLHjClHsA/dFiW+5qVzI8kPMHwO1QcUjeXrB6I3SluOT -rLSPhOsoS72yAaU9hFuq8g9ecmFrl3Skp/U4DHZXioEmozyZRp7eVsaHTewlfaOb -6g7+v52ktYdomcp3BM5v/pPZCnB5rLrH2KaUWbpY6V6tqtCHbF7zftDqcBENJDXf -hiCqS19J08GZFjDEqGDrEj3YEmEXZMN7PcXEISPIz6NYI6rw4yVH8AXfQW6vpPzm -ycHwI0QsVW2NQdcZ6zZt+phm6shNUbN2iDdg3BJICmIvQf8qhO3bOh0Bwc11FLHu -MKuGVxnWN82HyIsuUB7WDLBHEOtg61Zf1nAF1PQK52YuQz3EWI4LL9OqVqfSTY1J -jqIfj+u1PY2UHrxZfxlz1M8pXb1grozjKQ5aNqBKRrcMZNx71itR5rv18qGjGR2i -Sciu/xah7zAroEQrx72IjYt03tbk/007CvUlUqFIFB8kY1bbfX8JAA+TxelUniUR -2CY8eom5HnaPpKE3kGXZ0jWkudbWb7uuWcW1FE/bO+VtexpBL3SoXmwbVMGnJIEi -Uvy8m6ez0kzLXzJ/4K4b8bDO4NjFX2ocKdzLA89Z95KcZUxEG0O7kaDCu0x3BEge -uArJLecD5je2/2HXAdvkOAOUi6Gc/LiJrtInc0vUFsdqWCUK5Ao/MKvdMFW5Ag0E -V/SP2AEQALRcYv/hiv1n3VYuJbFnEfMkGwkdBYLGo3hiHKY8xrsFVePl9SkL8aqd -C310KUFNI42gGY/lz54RUHOqfMszTdafFrmwU18ECWGo4oG9qEutIKG7fkxcvk2M -tgsOMZFJqVDS1a9I4QTIkv1ellLBhVub9S7vhe/0jDjXs9IyOBpYQrpCXAm6SypC -fpqkDJ4qt/yFheATcm3s8ZVTsk2hiz2jnbqfvpte3hr3XArDjZXr3mGAp3YY9JFT -zVBOhyhT/92e6tURz8a/+IrMJzhSyIDel9L+2sHHo9E+fA3/h3lg2mo6EZmRTuvE -v9GXf5xeP5lSCDwS6YBXevJ8OSPlocC8Qm8ziww6dy/23XTxPg4YTkdf42i7VOpS -pa7EvBGne8YrmUzfbrxyAArK05lo56ZWb9ROgTnqM62wfvrCbEqSHidN3WQQEhMH -N7vtXeDPhAd8vaDhYBk4A/yWXIwgIbMczYf7Pl7oY3bXlQHb0KW/y7N3OZCr5mPW -94VLLH/v+T5R4DXaqTWeWtDGXLih7uXrG9vdlyrULEW+FDSpexKFUQe83a+Vkp6x -GX7FdMC9tNKYnPeRYqPF9UQEJg+MSbfkHSAJgky+bbacz+eqacLXMNCEk2LXFV1B -66u2EvSkGZiH7+6BNOar84I3qJrU7LBD7TmKBDHtnRr9JXrAxee3ABEBAAGJBEQE -GAEIAA8FAlf0j9gCGwIFCQHhM4ACKQkQFkawG4blAxDBXSAEGQEIAAYFAlf0j9gA -CgkQ0QH3iZ1B88PaoA//VuGdF5sjxRIOAOYqXypOD9/Kd7lYyxmtCwnvKdM7f8O5 -iD8oR2Pk1RhYHjpkfMRVjMkaLfxIRXfGQsWfKN2Zsa4zmTuNy7H6X26XW3rkFWpm -dECz1siGRvcpL6NvwLPIPQe7tST72q03u1H7bcyLGk0sTppgMoBND7yuaBTBZkAO -WizR+13x7FV+Y2j430Ft/DOe/NTc9dAlp6WmF5baOZClULfFzCTf9OcS2+bo68oP -gwWwnciJHSSLm6WRjsgoDxo5f3xBJs0ELKCr4jMwpSOTYqbDgEYOQTmHKkX8ZeQA -7mokc9guA0WK+DiGZis85lU95mneyJ2RuYcz6/VDwvT84ooe1swVkC2palDqBMwg -jZSTzbcUVqZRRnSDCe9jtpvF48WK4ZRiqtGO6Avzg1ZwMmWSr0zHQrLrUMTq/62W -KxLyj2oPxgptRg589hIwXVxJRWQjFijvK/xSjRMLgg73aNTq6Ojh98iyKAQ3HfzW -6iXBLLuGfvxflFednUSdWorr38MspcFvjFBOly+NDSjPHamNQ2h19iHLrYT7t4ve -nU9PvC+ORvXGxTN8mQR9btSdienQ8bBuU/mg/c417w6WbY7tkkqHqUuQC9LoaVdC -QFeE/SKGNe+wWN/EKi0QhXR9+UgWA41Gddi83Bk5deuTwbUeYkMDeUlOq3yyemcG -VxAA0PSktXnJgUj63+cdXu7ustVqzMjVJySCKSBtwJOge5aayonCNxz7KwoPO34m -Gdr9P4iJfc9kjawNV79aQ5aUH9uU2qFlbZOdO8pHOTjy4E+J0wbJb3VtzCJc1Eaa -83kZLFtJ45Fv2WQQ2Nv3Fo+yqAtkOkaBZv9Yq0UTaDkSYE9MMzHDVFx11TT21NZD -xu2QiIiqBcZfqJtIFHN5jONjwPG08xLAQKfUNROzclZ1h4XYUT+TWouopmpNeay5 -JSNcp5LsC2Rn0jSFuZGPJ1rBwB9vSFVA/GvOj8qEdfhjN3XbqPLVdOeChKuhlK0/ -sOLZZG91SHmT5SjP2zM6QKKSwNgHX4xZt4uugSZiY13+XqnrOGO9zRH8uumhsQmI -eFEdT27fsXTDTkWPI2zlHTltQjH1iebqqM9gfa2KUt671WyoL1yLhWrgePvDE+He -r002OslvvW6aAIIBki3FntPDqdIH89EEB4UEGqiA1eIZ6hGaQfinC7/IOkkm/mEa -qdeoI6NRS521/yf7i34NNj3IaL+rZQFbVWdbTEzAPtAs+bMJOHQXSGZeUUFrEQ/J -ael6aNg7mlr7cacmDwZWYLoCfY4w9GW6JHi6i63np8EA34CXecfor7cAX4XfaokB -XjyEkrnfV6OWYS7f01JJOcqYANhndxz1Ph8bxoRPelf5q+W5Ag0EWBU7dwEQAL1p -wH4prFMFMNV7MJPAwEug0Mxf3OsTBtCBnBYNvgFB+SFwKQLyDXUujuGQudjqQPCz -/09MOJPwGCOi0uA0BQScJ5JAfOq33qXi1iXCj9akeCfZXCOWtG3Izc3ofS6uee7K -fWUF1hNyA3PUwpRtM2pll+sQEO3y/EN7xYGUOM0mlCawrYGtxSNMlWBlMk/y5HK9 -upz+iHwUaEJ4PjV+P4YmDq0PnPvXE4qhTIvxx0kO5oZF0tAJCoTg1HE7o99/xq9Z -rejDR1JJj6btNw1YFQsRDLxRZv4rL9He10lmLhiQE8QN7zOWzyJbRP++tWY2d2zE -yFzvsOsGPbBqLDNkbb9d8Bfvp+udG13sHAEtRzI2UWe5SEdVHobAgu5l+m10WlsN -TG/L0gJe1eD1bwceWlnSrbqw+y+pam9YKWqdu18ETN6CeAbNo4w7honRkcRdZyoG -p9zZf3o1bGBBMla6RbLuJBoRDOy2Ql7B+Z87N0td6KlHI6X8fNbatbtsXR7qLUBP -5oRb6nXX4+DnTMDbvFpE2zxnkg+C354Tw5ysyHhM6abB2+zCXcZ3holeyxC+BUrO -gGPyLH/s01mg2zmttwC1UbkaGkQ6SwCoQoFEVq9Dp96B6PgZxhEw0GMrKRw53LoX -4rZif9Exv6qUFsGY8U9daEdDPF5UHYe7t/nPpfW3ABEBAAGJBEQEGAEIAA8CGwIF -AlokZSMFCQQWmKMCKcFdIAQZAQgABgUCWBU7dwAKCRBGwhMN/SSX9XKdD/4/dWSy -7h+ejbq8DuaX1vNXea79f+DNTUerJKpi/1nDOTajnXZnhCShP/yVF6kgbu8AVFDM -+fno/P++kx+IwNp/q2HGzzCm/jLeb6txAhAo7iw3fDAU89u8zzAahjp8Zq8iQsoo -hfLUGnNEaW0Z25/Rzb37Jy/NxxCnK5OtmThmXveQvIFLx8K34xlZ6MwyiUO64smI -dtdyLr492LciZpvJK1s2cliZLKu40dwseWAhvK6BOIBx1PLQGL/Pwx95jCNUDASR -fhvY3C27B5gvO6kE5O/RKpgKYF25k5uRLkscxn7liH0d+t3Ti4x07lwiLLQCwZ6F -NELdfJp5rtCT33es1wYTNfss0HUYHYFdKr0Vg9v6rR7B/yTwuv0TRYbR28M5olKR -IZ52B0DVDO9OCkACRVaxeWSxKFV/g1WyTE1QYNFo8t5EH4hX/mM76RGwW46DlOWS -fpyC7X4GfmAh+/SfL0rtN4Lr3uBFAhwrx1vW3xeJ2BIptGaxJgRpELLdz3HDb83s -MtT8mzeBXwVR3txmlpg36T96sx3J+osDugV34ctsDkO7/3vXIXz/oGh/zOmMH35A -9EgBGlxE4RxBfPT122XzBbwzSvT3Gmdr7QmTonEX6y0P3v6HOKRBcjFS0JePfmmz -1RJLG/Vy7PQxoV1YZbXc66C03htDYM2B6VtMNQkQFkawG4blAxCiVRAAhq/1L5Yl -smItiC6MROtPP+lfAWRmMSkoIuAtzkV/orqPetwWzjYLgApOvVXBuf9FdJ5vAx1I -XG3mDx6mQQWkr4t9onwCUuQ7lE29qmvCHB3FpKVJPKiGC6xK38t5dGAJtbUMZBQb -1vDuQ7new8dVLzBSH1VZ7gx9AT+WEptWznb1US1AbejO0uT8jsVc/McK4R3LQmVy -9+hbTYZFz1zCImuv9SCNZPSdLpDe41QxcMfKiW7XU4rshJULKd4HYG92KjeJU80z -gCyppOm85ENiMz91tPT7+A4O7XMlOaJEH8t/2SZGBE/dmHjSKcWIpJYrIZKXTrNv -7rSQGvweNG5alvCAvnrLJ2cRpU1Rziw7auEU1YiSse+hQ1ZBIzWhPMunIdnkL/BJ -unBTVE7hPMMG7alOLy5Z0ikNytVewasZlm/dj5tEsfvF7tisVTZWVjWCvEMTP5fe -cNMEAwbZdBDyQBAN00y7xp4Pwc/kPLuaqESyTTt8jGek/pe7/+6fu0GQmR2gZKGa -gAxeZEvXWrxSJp/q81XSQGcO6QYMff7VexY3ncdjSVLro+Z3ZtYt6aVIGAEEA5UE -341yCGIeN+nr27CXD4fHF28aPh+AJzYh+uVjQhHbL8agwcyCMLgU88u1U0tT5Qtj -wnw+w+3UNhROvn495REpeEwD60iVeiuF5FW5Ag0EWbWWowEQALCiEk5Ic40W7/v5 -hqYNjrRlxTE/1axOhhzt8eCB7eOeNOMQKwabYxqBceNmol/guzlnFqLtbaA6yZQk -zz/K3eNwWQg7CfXO3+p/dN0HtktPfdCk+kY/t7StKRjINW6S9xk9KshiukmdiDq8 -JKS0HgxqphBB3tDjmo6/RiaOEFMoUlXKSU+BYYpBpLKg53P8F/8nIsK2aZJyk8Xu -Bd0UXKI+N1gfCfzoDWnYHs73LQKcjrTaZQauT81J7+TeWoLI28vkVxyjvTXAyjSB -nhxTYfwUNGSoawEXyJ1uKCwhIpklxcCMI9Hykg7sKNsvmJ4uNcRJ7cSRfb0g5DR9 -dLhR+eEvFd+o4PblKk16AI48N8Zg1dLlJuV2cAtl0oBPk+tnbZukvkS5n1IzTSmi -iPIXvK2t506VtfFEw4iZrJWf2Q9//TszBM3r1FPATLH7EAeG5P8RV+ri7L7NvzP6 -ZQClRDUsxeimCSe8v/t0OpheCVMlM9TpVcKGMw8ig/WEodoLOP4iqBs4BKR7fuyd -jDqbU0k/sdJTltp7IIdK1e49POIQ7pt+SUrsq/HnPW4woLC1WjouBWyr2M7/a0Sl -dPidZ2BUAK7O9oXosidZMJT7dBp3eHrspY4bdkSxsd0nshj0ndtqNktxkrSFRkoF -pMz0J/M3Q93CjdHuTLpTHQEWjm/7ABEBAAGJBEQEGAEIAA8FAlm1lqMCGwIFCQJ2 -LQACKQkQFkawG4blAxDBXSAEGQEIAAYFAlm1lqMACgkQ4HTRbrb/TeMpDQ//eOIs -CWY2gYOGACw42JzMVvuTDrgRT4hMhgHCGeKzn1wFL1EsbSQV4Z6pYvnNayuEakgI -z14wf4UFs5u1ehfBwatmakSQJn32ANcAvI0INAkLEoqqy81mROjMc9FFrOkdqjcN -7yN0BzH9jNYL/gsvmOOwOu+dIH3C1Lgei844ZR1BZK1900mohuRwcji0sdROMcrK -rGjqd4yb6f7yl0wbdAxA3IHT3TFGczC7Y41P2OEpaJeVIZZgxkgQsJ14qK/QGpdK -vmZAQpjHBipeO/H+qxyOT5Y+f15VLWGOOVL090+ZdtF7h3m4X2+L7xWsFIgdOprf -O60gq3e79YFfgNBYU5BGtJGFGlJ0sGtnpzx5QCRka0j/1E5lIu00sW3WfGItFd48 -hW6wHCloyoi7pBR7xqSEoU/U5o7+nC8wHFrDYyqcyO9Q3mZDw4LvlgnyMOM+qLv/ -fNgO9USE4T30eSvc0t/5p1hCKNvyxHFghdRSJqn70bm6MQY+kd6+B/k62Oy8eCwR -t4PR+LQEIPnxN7xGuNpVO1oMyhhO41osYruMrodzw81icBRKYFlSuDOQ5jlcSajc -6TvF22y+VXy7nx1q/CN4tzB/ryUASU+vXS8/QNM6qI/QbbgBy7VtHqDbs2KHp4cP -0j9KYQzMrKwtRwfHqVrwFLkCp61EHwSlPsEFiglpMg/8DQ92O4beY0n7eSrilwEd -Jg89IeepTBm1QYiLM33qWLR9CABYAIiDG7qxviHozVfX6kUwbkntVpyHAXSbWrM3 -kD6jPs3u/dimLKVyd29AVrBSn9FC04EjtDWsj1KB7HrFN4oo9o0JLSnXeJb8FnPf -3MitaKltvj/kZhegozIs+zvpzuri0LvoB4fNA0T4eAmxkGkZBB+mjNCrUHIakyPZ -VzWGL0QGsfK1Q9jvw0OErqHJYX8A1wLre/HkBne+e5ezS6Mc7kFW33Y1arfbHFNA -e12juPsOxqK76qNilUbQpPtNvWP3FTpbkAdodMLq/gQ+M5yHwPe8SkpZ8wYCfcwE -emz/P+4QhQB8tbYbpcPxJ+aQjVjcHpsLdrlSY3JL/gqockR7+97GrCzqXbgvsqiW -r16Zyn6mxYWEHn9HXMh3b+2IYKFFXHffbIBq/mfibDnZtQBrZpn2uyh6F2ZuOsZh -0LTD7RL53KV3fi90nS00Gs1kbMkPycL1JLqvYQDpllE2oZ1dKDYkwivGyDQhRNfE -RL6JkjyiSxfZ2c84r2HPgnJTi/WBplloQkM+2NfXrBo6kLHSC6aBndRKk2UmUhrU -luGcQUyfzYRFH5kVueIYfDaBPus9gb+sjnViFRpqVjefwlXSJEDHWP3Cl2cuo2mJ -jeDghj400U6pjSUW3bIC/PK5Ag0EXCxEEQEQAKVjsdljwPDGO+48879LDa1d7GEu -/Jm9HRK6INCQiSiS/0mHkeKa6t4DRgCY2ID9lFiegx2Er+sIgL0chs16XJrFO21u -kw+bkBdm2HYUKSsUFmr/bms8DkmAM699vRYVUAzO9eXG/g8lVrAzlb3RT7eGHYKd -15DT5KxXDQB+T+mWE9qD5RJwEyPjSU+4WjYF+Rr9gbSuAt5UySUb9jTR5HRNj9wt -b4YutfP9jbfqy8esQVG9R/hpWKb2laxvn8Qc2Xj93qNIkBt/SILfx9WDJl0wNUmu -+zUwpiC2wrLFTgNOpq7g9wRPtg5mi8MXExWwSF2DlD54yxOOAvdVACJFBXEcstQ3 -SWg8gxljG8eLMpDjwoIBax3DZwiYZjkjJPeydSulh8vKoFBCQkf2PcImXdOk2HqO -V1L7FROM6fKydeSLJbx17SNjVdQnq1OsyqSO0catAFNptMHBsN+tiCI29gpGegao -umV9cnND69aYvyPBgvdtmzPChjSmc6rzW1yXCJDm2qzwm/BcwJNXW5B3EUPxc0qS -Wste9fUna0G4l/WMuaIzVkuTgXf1/r9HeQbjtxAztxH0d0VgdHAWPDkUYmztcZ4s -d0PWkVa18qSrOvyhI96gCzdvMRLX17m1kPvP5PlPulvqizjDs8BScqeSzGgSbbQV -m5Tx4w2uF4/n3FBnABEBAAGJBFsEGAEIACYCGwIWIQRy7PRqVrStOckHu7cWRrAb -huUDEAUCY897hAUJDUbR8wIpwV0gBBkBAgAGBQJcLEQRAAoJECPnFmeItj4egdIP -/3D4rN79jOl7wG1aDNxiDF57FY9VgB7sAP42u1H2SffpFfz4jC5AG1tHwY9P8tDt -0ctdlVUBl4QvlaOI+gvKsBT+Dl2uhLMR17r1jCM7QWl9Smr+td2lwbcaerU67ndB -RVIeLA3NUURG97TK+suXLxSYJ63VnF9YLJejg3IFgRjXOmV+x+4+PITEeipjXmaH -Fu6fFvgYA0Cal2MFTS9eajh81QIdHVrBSxPYMAU5gwmNN8fWq8UjQxgl8sbehO+y -2zVSKEkZRG5L4uo995xG7hESAmJegpbV0AsolSo4XiXCzI24L+fmywr9s33if1sj -pjhiqR0bvpQVdRr5YkcVG5VZZo1j4WDwWVxsoyCNek6q/opURHGRVvkk3HG61XLe -+SVi28cJRJosfltR8EkQkfih8dwrq+GTzDgZT7BYpTjrDWu0TlAeere879tRH9wX -nmgnfXOJMzRjfHdYnBKkl6Flj6oEk9C2T7WcqlmVZ1qxwoVR364qMYUp8PDt8GNQ -NhkmoYgkr747znhKCclNtWTMOgFchwoer+NqGGnQXxoBcDaOTgjITcTcvwnFKwUg -6si1UzOUJTbE++WLO5Bx53PiZPsceCaYsjQs+S83D4ZcKapyUHIyXWNYQ4Su+Tq5 -o/zXwjHmfINWlT1+MRKvADMmWIWef5ZjPtd0Xb/GVuhSCRAWRrAbhuUDEHSxD/9M -5il+6iZDsLMFQvsZJjRWnquPxRXBfyA3aiLJXsmMwWfSdEjS3JKq2hrOKVT3FgkN -CHBxhPREIPEhlE7EsGmdYvvzceYeM8LuK4DVMIjjpsIlxyS+h3iQNamoITbwuZyc -Hgv9FGVOElrtntqPY6BZWBdK1ZVAT3Q4hf1+o2UZ6o5gcmu6rR5wlgsqdGc5XCev -YVaJ7qQXvLhU0gzWyJ1p//d4DQUqrXW9+1bFg/gwPFn+ZBoO40/IovwoIdo1xX4p -KgH47aXFRHB53LhNtve422XDEuQnBTwNucvxAA91TmFt1BDVy1VCEwlDaKMS4Tuw -xrBEBKwsuBqelJPEcDzzt+yvc3jPoVrNrC5zLpAF3VPCUCkf21tbqYroFy/UfQls -O26iJhfPxoLEGtuCYt+DrpnR/1DteKqtett+Z1nJ9JEZAxk8QjdcpdMa5kBtC1hd -vb9f8ySSxv91RtzmyehIc7TBogwK+mydWMskTmNAl4ecGepfghPfA5JDW0NUm/Vv -/DAylze+BXzXPBeMXDAsHOcf4A8QVht9jX5a03QpPcFcXUYFjtItrjeDyzlSBp3K -8B9ECMy2+ke0U0jupNWlFxxzR15e+rEi450ilL/wKm7Va5VhQuNlXToIZJdQg/3e -n2jb+0Wye2SNCdPjF8663z+VwaZDVaDXqnT72wEJv7kCDQRcN/VvARAAoEHIkyjF -DsfoCxA/b2qNjz+l8OI2WhAMdqxReg7JN9R61qbetj9RYIcWswPSO84c0ioRUk+x -JavEFh/6Lg00QKwJKPf0kd1Us6SfqklxGczOaWNLyiM7JthFRNMp0qVX6NjLqGoC -NO+d/+nNk6s2x4rLECj/EROmE3ZQQEo5nBXmPlhXpVem23rGfXEQvXDNqFmvqrP+ -Befn/+aDpo89QIm3sE8G0LfgcajIdSfgLH+NJTvOVAtXXVXJPK39Njr1aBzWTbWh -LS2bji7DwP7hshdh7DE2rS623vlzvkkrms8oKkiRpKATdhQ8CEx+mhTFKCj6GtNq -hwttCbf98N9GpiHD0has65YtgQQjk2pLR62rZf6czagRfKbFQzXjl2JxS/bsHVhT -khyJFqgDcHCSXe7K8uGTAE2AkakGhGyDJYqGVSl0w5IAU8dqDQMc0IpsVMbFk4nX -4GgOwixwrzrgCh0jRi+EwUHJYZHBAyzNCkr++D25R0gwNhPMjSKe8Ks6G3hH3XP/ -ZVlceW/gPfxRixUTk/q7s3xPpPhLMREEpKS1aGcmYxEkrkVBDAzNYKdKP1MYwLn4 -lh4yNFXWlTClnDyI6UODTHwt8xDddtnT9u+U+xc6OJiYcCOstl+ovS9HmM/Kt9VT -EX9cckEEL1IS+9esQMr4b5X02Y1q9Q2uEucAEQEAAYkEWwQYAQgAJgIbAhYhBHLs -9GpWtK05yQe7txZGsBuG5QMQBQJjz3uOBQkNOyCfAinBXSAEGQECAAYFAlw39W8A -CgkQT3dnk2lHW6p0eg/+K2JJu1RbTSLJPFYQhLcxX+5d2unkuNLIy3kArtZuB992 -E2Fw00okPGtuPdSyk2ygh4DeYnwmabIWChi7LDp+YnqcI4GfMxNG6RsHs+A/77rL -BST3BB1sejZppmKCQZDSC2pvYaZBpS80UvftCZ9RFdY+kTC22Btn/5ekiQOfIqhU -H9CyGWS/YlGciomVIVn1hSPN8l4EpBCDtceRaephvzjQIZT3AxOfSlpwJviYjAOk -SX4qWyIjC5Ke5kfEOldUuBN1JGAm45tKlrz/LD/+VOc2IWpbkOIAVSldUgpRyiIJ -QAZ80trNxrJI7ncaID8lAa7pBptJiL0KorRjk3c6Y7p830Nwe0J5e5+W1RzN4wlR -8+9uuRyP8Mcwz/Hz2jwMiv38Vk4tAOe4PYNZuDnpjZ28yCpF3UUgvzjarubFAcg2 -jd8SauCQFlmOfvT+1qIMSeLmWBOdlzJTUpJRcZqnkEE4WtiMSlxyWVFvUwOmKSGi -8CLoGW1Ksh9thQ9zKhvVUiVoKn4Z79HXr4pX6rnp+mweJ2dEZtlqD7HxjVTlCHn9 -fzClt/Nt0h721fJbS587AC/ZMgg5GV+GKu6Mij0sPAowUJVCIwN9uK/GHICZEAoM -SngP8xzKnhU5FD38vwBvsqbKxTtICrv2NuwnQ0WBBQ58w5mv2RCMr2W6iegSKIAJ -EBZGsBuG5QMQ0SIQAMFN0FlUSP5TiKrTFMj79TcCLDeAvk8+h7nNj/dlgDpRl4kp -r+XO/a0VTwK8XVszNA43FDuT0WORPG73LYlgJi5gdLeWoXaEnW1f+ZyR2uc8/UNu -8nwv2dPLefLbhrWpkQbcriOt5FHL61Z8CqYa67vm2Lkr1yD+y3XFAuB2j3hbB1pF -xmc3wvkY+ZMA3fMb+ZbAlV9ylNn4MWzK2Z1hzC0G33Ym6z8SbqljvTn0ABS8BI0g -cJaPtSV7+rq+a/YOCBudSY1qBLCHGvpkByispqKjguS/95+37zcqEbTCTX9S5XmS -lsKFY08+6rq7yu8ptLkbg/RuXLzAvn6g56zFQlPeR+BIrKeCbWRu9hx4kSS6uN22 -MgYgv7l9ohNTzRxnugHnnerdyElDge50AQeFR43bdHEhvyumPLjaJ2WbSHtxRkLw -HcXOlx6lL/i2DJeLMaCshITV6TfvubVYG8djMUogWiXK0T74oocPSs00HDNs7OPy -9W44ZAFknGvoaTOEYxNgSI84yUf2304IhP+U9pYcRnJwJM4pOzcXZxPibrQf2Ex9 -XZXRkb9jkfYMvs0XBnCTUnSl5WVVlNHo2oUC2/mwuc321M6ucf7uDwN6FdPQVlJh -1qXVLvbNiyYug0lvwXsyfwu6IX+wl+kAP5NrRYuX8H+L0eauTGrRsld7OZ3H -=e4wy ------END PGP PUBLIC KEY BLOCK----- diff --git a/docs/database_schema_diagrams/write_graphs.pl b/docs/database_schema_diagrams/write_graphs.pl index ca43610a2a3..254af3ae5b1 100755 --- a/docs/database_schema_diagrams/write_graphs.pl +++ b/docs/database_schema_diagrams/write_graphs.pl @@ -71,6 +71,7 @@ =head1 COPYRIGHT AND LICENSE use File::Slurp qw( read_file ); use JSON::XS qw( decode_json ); use List::AllUtils qw( any ); +use MusicBrainz::Server::Data::Utils qw( contains_string ); use MusicBrainz::Server::Log qw( log_error log_info log_warning ); use Readonly; @@ -190,7 +191,7 @@ sub write_dot_files my @dfks; foreach my $cfk (@cfks) { my $ref_table = $cfk->[1]; - if (any { $_ eq $ref_table } @diagram_tables_names) { + if (contains_string(\@diagram_tables_names, $ref_table)) { push @dfks, $cfk; } } @@ -199,10 +200,10 @@ sub write_dot_files my %diagram_columns; foreach my $table (@diagram_tables_names) { - if (not any { $_ eq $table } @created_tables) { + unless (contains_string(\@created_tables, $table)) { log_warning { "The table '$table' in '$diagram_id' diagram doesn't exist." }; } - if (any { $_ eq 'shortened' } @{ %$diagram_tables_props{$table} }) { + if (contains_string([ %$diagram_tables_props{$table} ], 'shortened')) { my $is_any_column_hidden = 0; my @columns; if (exists $created_primary_keys{$table}) { @@ -226,7 +227,7 @@ sub write_dot_files if (@columns) { my @sorted_columns; foreach my $column (@{ $created_columns{$table} }) { - if (any { $_ eq $column } @columns) { + if (contains_string(\@columns, $column)) { push @sorted_columns, $column; } else { $is_any_column_hidden = 1; @@ -267,10 +268,10 @@ sub write_dot_files foreach my $table (@diagram_tables_names) { my $bgcolor = - (any { $_ eq 'highlighted' } @{ %$diagram_tables_props{$table} }) + (contains_string([ %$diagram_tables_props{$table} ], 'highlighted')) ? "$HI_TABLE_COLOR" : "$TABLE_COLOR"; my $title = - (any { $_ eq 'materialized' } @{ %$diagram_tables_props{$table} }) + (contains_string([ %$diagram_tables_props{$table} ], 'materialized')) ? "$table (m)" : "$table"; print $graph_fh <<~"EOF"; "$table" [ @@ -281,7 +282,7 @@ sub write_dot_files if (exists $diagram_columns{$table}) { my @column_names = @{ $diagram_columns{$table} }; foreach my $col (@column_names) { - if (any { $_ eq $col } @{ $created_primary_keys{$table} }) { + if (contains_string($created_primary_keys{$table}, $col)) { print $graph_fh <<~"EOF"; $col EOF @@ -308,7 +309,7 @@ sub write_dot_files foreach my $schema (keys %created_schemas) { my @schema_tables; foreach my $table (@diagram_tables_names) { - if (any { $_ eq $table } @{ $created_schemas{$schema} }) { + if (contains_string($created_schemas{$schema}, $table)) { push @schema_tables, $table; } } diff --git a/entities.mjs b/entities.mjs index 4ffdaaeb97d..59f26a3ef48 100644 --- a/entities.mjs +++ b/entities.mjs @@ -21,10 +21,6 @@ type AutomaticRemovalPropsT = { ... }; -type $MakeReadOnly = - & ((T) => $ReadOnly<$ObjMap>) - & ((T) => T); - const ENTITIES = { annotation: { model: 'Annotation', @@ -895,4 +891,4 @@ const ENTITIES = { deepFreeze(ENTITIES); -export default (ENTITIES: $Call<$MakeReadOnly, typeof ENTITIES>); +export default (ENTITIES: DeepReadOnly); diff --git a/flow-typed/npm/cookie_v0.4.x.js b/flow-typed/npm/cookie_v0.4.x.js index 0bd5a406ad3..34b76403d81 100644 --- a/flow-typed/npm/cookie_v0.4.x.js +++ b/flow-typed/npm/cookie_v0.4.x.js @@ -18,7 +18,7 @@ declare module 'cookie' { parse: ( str: string, options?: CookeParseOptions, - ) => {[string]: string, ...}, + ) => {[cookieName: string]: string, ...}, serialize: ( name: string, value: string, diff --git a/flow-typed/npm/fast-diff_v1.x.x.js b/flow-typed/npm/fast-diff_v1.x.x.js index 258639d5ddd..132859ec7e8 100644 --- a/flow-typed/npm/fast-diff_v1.x.x.js +++ b/flow-typed/npm/fast-diff_v1.x.x.js @@ -14,8 +14,9 @@ declare module 'fast-diff' { * EQUAL = 0 * DELETE = -1 */ - declare type FastEditDiff = [-1 | 0 | 1, string]; + declare type FastEditDiff = [1 | 0 | -1, string]; + // eslint-disable-next-line no-unused-vars declare function diff( a: string, b: string, diff --git a/flow-typed/npm/jed_v1.x.x.js b/flow-typed/npm/jed_v1.x.x.js index f207c699bbd..27c21603a06 100644 --- a/flow-typed/npm/jed_v1.x.x.js +++ b/flow-typed/npm/jed_v1.x.x.js @@ -2,13 +2,13 @@ declare module 'jed' { declare export type JedOptions = { domain?: string, locale_data: { - [string]: { + [domain: string]: { '': { domain: string, lang: string, plural_forms: string, }, - [string]: Array, + [messageId: string]: Array, ... }, ... @@ -17,17 +17,17 @@ declare module 'jed' { }; declare class Jed { - constructor(options: JedOptions): Jed; - locale?: string, - options: JedOptions; - dgettext(domain: string, key: string): string; + constructor(options: JedOptions): Jed, + dgettext(domain: string, key: string): string, dngettext( domain: string, singular_key: string, plural_key: string, value: number, - ): string; - dpgettext(domain: string, context: string, key: string): string; + ): string, + dpgettext(domain: string, context: string, key: string): string, + locale?: string, + options: JedOptions, } declare module.exports: typeof Jed; diff --git a/flow-typed/npm/knockout_v3.1.0.js b/flow-typed/npm/knockout_v3.1.0.js index 64fa90da9aa..995923682c0 100644 --- a/flow-typed/npm/knockout_v3.1.0.js +++ b/flow-typed/npm/knockout_v3.1.0.js @@ -7,7 +7,7 @@ * later version: http://www.gnu.org/licenses/gpl-2.0.txt */ -/* eslint-disable flowtype/sort-keys */ +/* eslint-disable ft-flow/sort-keys */ declare module 'knockout' { declare type Observable = { diff --git a/flow-typed/npm/pg-cursor_v2.x.x.js b/flow-typed/npm/pg-cursor_v2.x.x.js index d2b7336c4cc..923db21c4ef 100644 --- a/flow-typed/npm/pg-cursor_v2.x.x.js +++ b/flow-typed/npm/pg-cursor_v2.x.x.js @@ -7,7 +7,7 @@ * later version: http://www.gnu.org/licenses/gpl-2.0.txt */ -/* eslint-disable flowtype/sort-keys */ +/* eslint-disable ft-flow/sort-keys */ declare module 'pg-cursor' { import type {Connection, PgResultSet, Submittable} from 'pg'; diff --git a/flow-typed/npm/pg_v8.x.x.js b/flow-typed/npm/pg_v8.x.x.js index 19e3ae5f663..5f249db1a8b 100644 --- a/flow-typed/npm/pg_v8.x.x.js +++ b/flow-typed/npm/pg_v8.x.x.js @@ -7,7 +7,7 @@ * later version: http://www.gnu.org/licenses/gpl-2.0.txt */ -/* eslint-disable flowtype/sort-keys */ +/* eslint-disable ft-flow/sort-keys */ declare module 'pg' { declare export type ClientConfig = { @@ -18,6 +18,7 @@ declare module 'pg' { +host?: string, }; + // eslint-disable-next-line no-unused-vars declare export type QueryConfig<+V = mixed> = { +name?: string, +text: string, diff --git a/flow-typed/npm/redux_v4.x.x.js b/flow-typed/npm/redux_v4.x.x.js index c918a71da77..f7f5e1dafdd 100644 --- a/flow-typed/npm/redux_v4.x.x.js +++ b/flow-typed/npm/redux_v4.x.x.js @@ -11,7 +11,7 @@ declare module 'redux' { declare export type DispatchAPI = (action: A) => A; - declare export type Dispatch = DispatchAPI; + declare export type Dispatch = DispatchAPI; declare export type MiddlewareAPI> = { dispatch: D, @@ -31,7 +31,7 @@ declare module 'redux' { declare export type Reducer = (state: S, action: A) => S; declare export type CombinedReducer = ( - state: ($Shape & {...}) | void, + state: (Partial & {...}) | void, action: A ) => S; diff --git a/lib/MusicBrainz/Server/Controller/Admin/Attributes.pm b/lib/MusicBrainz/Server/Controller/Admin/Attributes.pm index 17b61021fcd..5be4cbd7141 100644 --- a/lib/MusicBrainz/Server/Controller/Admin/Attributes.pm +++ b/lib/MusicBrainz/Server/Controller/Admin/Attributes.pm @@ -3,12 +3,11 @@ use Moose; use namespace::autoclean; use utf8; +use MusicBrainz::Server::Data::Utils qw( contains_string ); use MusicBrainz::Server::Entity::Util::JSON qw( to_json_array ); use MusicBrainz::Server::Translation qw( l ); -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - BEGIN { extends 'MusicBrainz::Server::Controller' }; my @models = qw( @@ -47,7 +46,7 @@ sub index : Path('/admin/attributes') Args(0) RequireAuth(account_admin) { sub attribute_base : Chained('/') PathPart('admin/attributes') CaptureArgs(1) RequireAuth(account_admin) { my ($self, $c, $model) = @_; - $c->detach('/error_404') unless $model ~~ @models; + $c->detach('/error_404') unless contains_string(\@models, $model); $c->stash->{model} = $model; } diff --git a/lib/MusicBrainz/Server/Controller/Collection.pm b/lib/MusicBrainz/Server/Controller/Collection.pm index 70f2f9d19bf..51cf663d989 100644 --- a/lib/MusicBrainz/Server/Controller/Collection.pm +++ b/lib/MusicBrainz/Server/Controller/Collection.pm @@ -74,7 +74,7 @@ sub _do_add_or_remove { my $entity = $c->model(type_to_model($entity_type))->get_by_id($entity_id); unless ($entity) { - $c->stash->{message} = l('“{id}” is not a valid row ID; the entity might have been merged or deleted.', { id => $entity_id }); + $c->stash->{message} = l('“{id}” is not a valid row ID; the entity might have been merged or removed.', { id => $entity_id }); $c->detach('/error_400'); } diff --git a/lib/MusicBrainz/Server/Controller/Role/Load.pm b/lib/MusicBrainz/Server/Controller/Role/Load.pm index ff4b868a158..c9e58f56499 100644 --- a/lib/MusicBrainz/Server/Controller/Role/Load.pm +++ b/lib/MusicBrainz/Server/Controller/Role/Load.pm @@ -3,14 +3,12 @@ package MusicBrainz::Server::Controller::Role::Load; use MooseX::MethodAttributes::Role; use MooseX::Role::Parameterized; use namespace::autoclean; -use MusicBrainz::Server::Data::Utils qw( model_to_type ); +use MusicBrainz::Server::Data::Utils qw( contains_string model_to_type ); use MusicBrainz::Server::Validation qw( is_guid is_positive_integer ); use MusicBrainz::Server::Constants qw( :direction %ENTITIES ); use Readonly; use aliased 'MusicBrainz::Server::Entity::RelationshipLinkTypeGroup'; -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - parameter 'model' => ( isa => 'Str', required => 1 @@ -74,10 +72,10 @@ role my $relationships = $params->relationships; my $loaded = 0; - if ($action ~~ $relationships->{all}) { + if (contains_string($relationships->{all}, $action)) { $c->model('Relationship')->load($entity); $loaded = 1; - } elsif ($action ~~ $relationships->{cardinal}) { + } elsif (contains_string($relationships->{cardinal}, $action)) { $c->model('Relationship')->load_cardinal($entity); $loaded = 1; } diff --git a/lib/MusicBrainz/Server/Controller/Search.pm b/lib/MusicBrainz/Server/Controller/Search.pm index cbb2293f85f..b88d1fa5179 100644 --- a/lib/MusicBrainz/Server/Controller/Search.pm +++ b/lib/MusicBrainz/Server/Controller/Search.pm @@ -10,9 +10,6 @@ use MusicBrainz::Server::Entity::Util::JSON qw( to_json_array ); use MusicBrainz::Server::Form::Search::Query; use MusicBrainz::Server::Form::Search::Search; use Scalar::Util qw( looks_like_number ); -use feature 'switch'; - -no if $] >= 5.018, warnings => 'experimental::smartmatch'; sub search : Path('') { @@ -124,79 +121,77 @@ sub direct : Private my @entities = map { $_->entity } @$results; - given ($type) { - when ('artist') { - $c->model('ArtistType')->load(@entities); - $c->model('Area')->load(@entities); - $c->model('Gender')->load(@entities); - } - when ('editor') { - $c->model('Editor')->load_preferences(@entities); - } - when ('release_group') { - $c->model('ReleaseGroupType')->load(@entities); - $c->model('ReleaseGroup')->load_has_cover_art(@entities); - } - when ('release') { - $c->model('Language')->load(@entities); - $c->model('Release')->load_related_info(@entities); - $c->model('Release')->load_meta(@entities); - $c->model('Script')->load(@entities); - $c->model('ReleaseStatus')->load(@entities); - $c->model('ReleaseGroup')->load(@entities); - $c->model('ReleaseGroupType')->load(map { $_->release_group } - @entities); - } - when ('label') { - $c->model('LabelType')->load(@entities); - $c->model('Area')->load(@entities); - } - when ('recording') { - my %recording_releases_map = $c->model('Release')->find_by_recordings(map { - $_->entity->id - } @$results); - my %result_map = map { $_->entity->id => $_ } @$results; - - $result_map{$_}->extra($recording_releases_map{$_}) for keys %recording_releases_map; - - my @releases = map { $_->{release} } map { @{ $_->extra } } @$results; - $c->model('ReleaseGroup')->load(@releases); - $c->model('ReleaseGroupType')->load(map { $_->release_group } @releases); - $c->model('Medium')->load_for_releases(@releases); - $c->model('Track')->load_for_mediums(map { $_->all_mediums } @releases); - $c->model('Recording')->load( - map { $_->all_tracks } map { $_->all_mediums } @releases); - $c->model('ISRC')->load_for_recordings(map { $_->entity } @$results); - } - when ('work') { - $c->model('Work')->load_writers(@entities); - $c->model('Work')->load_recording_artists(@entities); - $c->model('ISWC')->load_for_works(@entities); - $c->model('Language')->load_for_works(@entities); - $c->model('WorkType')->load(@entities); - } - when ('area') { - $c->model('AreaType')->load(@entities); - $c->model('Area')->load_containment(@entities); - } - when ('place') { - $c->model('PlaceType')->load(@entities); - $c->model('Area')->load(@entities); - } - when ('instrument') { - $c->model('InstrumentType')->load(@entities); - } - when ('series') { - $c->model('SeriesType')->load(@entities); - $c->model('SeriesOrderingType')->load(@entities); - } - when ('event') { - $c->model('Event')->load_related_info(@entities); - $c->model('Event')->load_areas(@entities); - } - when ('tag') { - $c->model('Genre')->load(@entities); - } + if ($type eq 'artist') { + $c->model('ArtistType')->load(@entities); + $c->model('Area')->load(@entities); + $c->model('Gender')->load(@entities); + } + elsif ($type eq 'editor') { + $c->model('Editor')->load_preferences(@entities); + } + elsif ($type eq 'release_group') { + $c->model('ReleaseGroupType')->load(@entities); + $c->model('ReleaseGroup')->load_has_cover_art(@entities); + } + elsif ($type eq 'release') { + $c->model('Language')->load(@entities); + $c->model('Release')->load_related_info(@entities); + $c->model('Release')->load_meta(@entities); + $c->model('Script')->load(@entities); + $c->model('ReleaseStatus')->load(@entities); + $c->model('ReleaseGroup')->load(@entities); + $c->model('ReleaseGroupType')->load(map { $_->release_group } + @entities); + } + elsif ($type eq 'label') { + $c->model('LabelType')->load(@entities); + $c->model('Area')->load(@entities); + } + elsif ($type eq 'recording') { + my %recording_releases_map = $c->model('Release')->find_by_recordings(map { + $_->entity->id + } @$results); + my %result_map = map { $_->entity->id => $_ } @$results; + + $result_map{$_}->extra($recording_releases_map{$_}) for keys %recording_releases_map; + + my @releases = map { $_->{release} } map { @{ $_->extra } } @$results; + $c->model('ReleaseGroup')->load(@releases); + $c->model('ReleaseGroupType')->load(map { $_->release_group } @releases); + $c->model('Medium')->load_for_releases(@releases); + $c->model('Track')->load_for_mediums(map { $_->all_mediums } @releases); + $c->model('Recording')->load( + map { $_->all_tracks } map { $_->all_mediums } @releases); + $c->model('ISRC')->load_for_recordings(map { $_->entity } @$results); + } + elsif ($type eq 'work') { + $c->model('Work')->load_writers(@entities); + $c->model('Work')->load_recording_artists(@entities); + $c->model('ISWC')->load_for_works(@entities); + $c->model('Language')->load_for_works(@entities); + $c->model('WorkType')->load(@entities); + } + elsif ($type eq 'area') { + $c->model('AreaType')->load(@entities); + $c->model('Area')->load_containment(@entities); + } + elsif ($type eq 'place') { + $c->model('PlaceType')->load(@entities); + $c->model('Area')->load(@entities); + } + elsif ($type eq 'instrument') { + $c->model('InstrumentType')->load(@entities); + } + elsif ($type eq 'series') { + $c->model('SeriesType')->load(@entities); + $c->model('SeriesOrderingType')->load(@entities); + } + elsif ($type eq 'event') { + $c->model('Event')->load_related_info(@entities); + $c->model('Event')->load_areas(@entities); + } + elsif ($type eq 'tag') { + $c->model('Genre')->load(@entities); } if ($type =~ /(recording|release|release_group)/) @@ -260,17 +255,14 @@ sub do_external_search { my $template = 'search/error/'; # Switch on the response code to decide which template to provide - given ($ret->{code}) - { - when (404) { $template .= 'NoResults'; } - when (403) { $template .= 'NoInfo'; }; - when (414) { $template .= 'UriTooLarge'; }; - when (500) { $template .= 'InternalError'; } - when (400) { $template .= 'Invalid'; } - when (503) { $template .= 'RateLimited'; } - - default { $template .= 'General'; } - } + my $code = $ret->{code}; + if ($code == 404) { $template .= 'NoResults'; } + elsif ($code == 403) { $template .= 'NoInfo'; } + elsif ($code == 414) { $template .= 'UriTooLarge'; } + elsif ($code == 500) { $template .= 'InternalError'; } + elsif ($code == 400) { $template .= 'Invalid'; } + elsif ($code == 503) { $template .= 'RateLimited'; } + else { $template .= 'General'; } my %props = ( form => $c->stash->{form}->TO_JSON, diff --git a/lib/MusicBrainz/Server/Controller/Series.pm b/lib/MusicBrainz/Server/Controller/Series.pm index 6db89ea9268..977a1d2cc4b 100644 --- a/lib/MusicBrainz/Server/Controller/Series.pm +++ b/lib/MusicBrainz/Server/Controller/Series.pm @@ -109,11 +109,14 @@ sub show : PathPart('') Chained('load') { } my %props = ( - entities => to_json_array(\@entities), + listProps => { + entities => to_json_array(\@entities), + seriesEntityType => $series->type->item_entity_type, + seriesItemNumbers => \@item_numbers, + }, numberOfRevisions => $c->stash->{number_of_revisions}, pager => serialize_pager($c->stash->{pager}), series => $series->TO_JSON, - seriesItemNumbers => \@item_numbers, wikipediaExtract => to_json_object($c->stash->{wikipedia_extract}), ); diff --git a/lib/MusicBrainz/Server/Controller/Statistics.pm b/lib/MusicBrainz/Server/Controller/Statistics.pm index 330b11ffa43..e4ed3f25f8d 100644 --- a/lib/MusicBrainz/Server/Controller/Statistics.pm +++ b/lib/MusicBrainz/Server/Controller/Statistics.pm @@ -162,6 +162,8 @@ sub countries : Local my $artist_country_prefix = 'count.artist.country'; my $release_country_prefix = 'count.release.country'; my $label_country_prefix = 'count.label.country'; + my $event_country_prefix = 'count.event.country'; + my $place_country_prefix = 'count.place.country'; my @countries = $c->model('CountryArea')->get_all(); my %countries = map { $_->country_code => $_ } grep { defined $_->country_code } @countries; foreach my $stat_name @@ -169,11 +171,15 @@ sub countries : Local if (my ($iso_code) = $stat_name =~ /^$artist_country_prefix\.(.*)$/) { my $release_stat = $stat_name =~ s/$artist_country_prefix/$release_country_prefix/r; my $label_stat = $stat_name =~ s/$artist_country_prefix/$label_country_prefix/r; + my $event_stat = $stat_name =~ s/$artist_country_prefix/$event_country_prefix/r; + my $place_stat = $stat_name =~ s/$artist_country_prefix/$place_country_prefix/r; push(@$country_stats, ({ 'entity' => to_json_object($countries{$iso_code}), 'artist_count' => $stats->statistic($stat_name), 'release_count' => $stats->statistic($release_stat), - 'label_count' => $stats->statistic($label_stat) + 'label_count' => $stats->statistic($label_stat), + 'event_count' => $stats->statistic($event_stat), + 'place_count' => $stats->statistic($place_stat) })); } } diff --git a/lib/MusicBrainz/Server/Controller/WS/2/Tag.pm b/lib/MusicBrainz/Server/Controller/WS/2/Tag.pm index a04e3763aba..45843de2564 100644 --- a/lib/MusicBrainz/Server/Controller/WS/2/Tag.pm +++ b/lib/MusicBrainz/Server/Controller/WS/2/Tag.pm @@ -11,8 +11,6 @@ use MusicBrainz::Server::Data::Utils qw( non_empty trim type_to_model ); use MusicBrainz::Server::Validation qw( is_guid ); use MusicBrainz::Server::WebService::XML::XPath; -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - my $ws_defs = Data::OptList::mkopt([ tag => { method => 'GET', @@ -109,7 +107,7 @@ sub tag_submit : Private $has_votes = 1; $vote = $xp->find('@mb:vote', $_)->string_value; - unless ($vote ~~ [qw(upvote downvote withdraw)]) { + unless ($vote =~ /^(upvote|downvote|withdraw)$/) { $self->_error($c, 'Unrecognized vote type: ' . $vote); } } diff --git a/lib/MusicBrainz/Server/Controller/WS/js/Edit.pm b/lib/MusicBrainz/Server/Controller/WS/js/Edit.pm index b0b11d85bd1..105a4df4a42 100644 --- a/lib/MusicBrainz/Server/Controller/WS/js/Edit.pm +++ b/lib/MusicBrainz/Server/Controller/WS/js/Edit.pm @@ -31,6 +31,7 @@ use MusicBrainz::Server::Constants qw( use MusicBrainz::Server::ControllerUtils::Relationship qw( merge_link_attributes ); use MusicBrainz::Server::Data::Utils qw( boolean_from_json + contains_number type_to_model model_to_type partial_date_to_hash @@ -62,8 +63,6 @@ use aliased 'MusicBrainz::Server::Entity::Track'; use aliased 'MusicBrainz::Server::WebService::JSONSerializer'; BEGIN { extends 'MusicBrainz::Server::Controller' } -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - Readonly our $ERROR_NOT_LOGGED_IN => 1; Readonly our $ERROR_NON_EXISTENT_ENTITIES => 2; @@ -506,7 +505,7 @@ sub process_edits { for my $edit (@$edits) { my $edit_type = $edit->{edit_type}; - if ($edit_type ~~ $RELATIONSHIP_EDIT_TYPES) { + if (contains_number($RELATIONSHIP_EDIT_TYPES, $edit_type)) { push @link_types_to_load, $edit->{linkTypeID}; push @relationship_edits, $edit; } @@ -530,11 +529,16 @@ sub process_edits { $edit->{link_type} = $link_type; - if ($edit->{edit_type} ~~ [$EDIT_RELATIONSHIP_EDIT, $EDIT_RELATIONSHIP_DELETE]) { + my $edit_type = $edit->{edit_type}; + + if ( + $edit_type == $EDIT_RELATIONSHIP_EDIT || + $edit_type == $EDIT_RELATIONSHIP_DELETE + ) { my $id = $edit->{id} or $c->forward('/ws/js/detach_with_error', ['missing relationship id']); $add_relationship_to_load->($link_type, $id, $edit); - } elsif ($edit->{edit_type} == $EDIT_RELATIONSHIPS_REORDER) { + } elsif ($edit_type == $EDIT_RELATIONSHIPS_REORDER) { my $relationship_order = $edit->{relationship_order}; if (ref $relationship_order eq 'ARRAY') { for my $ordering (@$relationship_order) { @@ -709,6 +713,9 @@ sub edit : Chained('/') PathPart('ws/js/edit') CaptureArgs(0) Edit { if ($c->user->is_editing_disabled) { $c->forward('/ws/js/detach_with_error', ['you are not allowed to enter edits']); } + if ($c->is_cross_origin && !$c->user->is_bot) { + $c->forward('/ws/js/detach_with_error', ['cross-origin requests are allowed only for bot accounts', 403]); + } } sub create : Chained('edit') PathPart('create') Edit { @@ -736,7 +743,7 @@ sub submit_edits { $c->forward('/ws/js/detach_with_error', ['editNote invalid']); } - unless ($edit_type ~~ $ALLOWED_EDIT_TYPES) { + unless (contains_number($ALLOWED_EDIT_TYPES, $edit_type)) { $c->forward('/ws/js/detach_with_error', ["edit_type $edit_type is not supported"]); } } diff --git a/lib/MusicBrainz/Server/Data/Artist.pm b/lib/MusicBrainz/Server/Data/Artist.pm index 095c8765003..3bfa6562dce 100644 --- a/lib/MusicBrainz/Server/Data/Artist.pm +++ b/lib/MusicBrainz/Server/Data/Artist.pm @@ -13,6 +13,7 @@ use MusicBrainz::Server::Data::Utils qw( is_special_artist add_partial_date_to_row conditional_merge_column_query + contains_string hash_to_row load_subobjects merge_table_attributes @@ -397,12 +398,12 @@ sub merge my $merged_type_is_group = defined $merged_type && - any { $merged_type eq $_ } @$group_types; + contains_string($group_types, $merged_type); if ($merged_type_is_group && $merged_gender) { my $target_type_is_group = defined $target_type && - any { $target_type eq $_ } @$group_types; + contains_string($group_types, $target_type); if ($target_type_is_group) { $dropped_columns{gender} = $merged_gender; diff --git a/lib/MusicBrainz/Server/Data/Edit.pm b/lib/MusicBrainz/Server/Data/Edit.pm index 44c52100945..c0bdaabcf51 100644 --- a/lib/MusicBrainz/Server/Data/Edit.pm +++ b/lib/MusicBrainz/Server/Data/Edit.pm @@ -14,7 +14,11 @@ use Encode qw( decode ); use Try::Tiny; use List::AllUtils qw( any uniq zip ); use MusicBrainz::Server::Data::Editor; -use MusicBrainz::Server::Data::Utils qw( non_empty type_to_model ); +use MusicBrainz::Server::Data::Utils qw( + contains_string + non_empty + type_to_model +); use MusicBrainz::Server::EditRegistry; use MusicBrainz::Server::Edit::Exceptions; use MusicBrainz::Server::Constants qw( @@ -649,7 +653,10 @@ sub load_all } else { for my $extra_model (@$extra_models) { push @{ $post_load_models->{$model}->{$object_id} }, $extra_model - unless (any { $_ eq $extra_model } @{ $post_load_models->{$model}->{$object_id} }); + unless (contains_string( + $post_load_models->{$model}->{$object_id}, + $extra_model, + )); } } } diff --git a/lib/MusicBrainz/Server/Data/Editor.pm b/lib/MusicBrainz/Server/Data/Editor.pm index b4aa1f5045b..7e837a07c70 100644 --- a/lib/MusicBrainz/Server/Data/Editor.pm +++ b/lib/MusicBrainz/Server/Data/Editor.pm @@ -182,7 +182,12 @@ around '_get_by_keys' => sub { sub find_by_email { my ($self, $email) = @_; - return $self->_get_by_keys('email', $email); + + my $query = 'SELECT ' . $self->_columns . + ' FROM ' . $self->_table . + ' WHERE lower(email) = lower(?)'; + + $self->query_to_list($query, [$email]); } sub find_by_ip { diff --git a/lib/MusicBrainz/Server/Data/Relationship.pm b/lib/MusicBrainz/Server/Data/Relationship.pm index 97547c31e08..067a401f931 100644 --- a/lib/MusicBrainz/Server/Data/Relationship.pm +++ b/lib/MusicBrainz/Server/Data/Relationship.pm @@ -35,8 +35,6 @@ use List::AllUtils qw( any nsort_by part partition_by uniq ); use aliased 'MusicBrainz::Server::Entity::RelationshipTargetTypeGroup'; use aliased 'MusicBrainz::Server::Entity::RelationshipLinkTypeGroup'; -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - extends 'MusicBrainz::Server::Data::Entity'; my %TYPES = map { $_ => 1} @RELATABLE_ENTITIES; diff --git a/lib/MusicBrainz/Server/Data/Search.pm b/lib/MusicBrainz/Server/Data/Search.pm index 21f08387df9..7d9e2e3296d 100644 --- a/lib/MusicBrainz/Server/Data/Search.pm +++ b/lib/MusicBrainz/Server/Data/Search.pm @@ -56,15 +56,13 @@ use MusicBrainz::Server::Data::Release; use MusicBrainz::Server::Data::ReleaseGroup; use MusicBrainz::Server::Data::Series; use MusicBrainz::Server::Data::Tag; -use MusicBrainz::Server::Data::Utils qw( ref_to_type ); +use MusicBrainz::Server::Data::Utils qw( contains_string ref_to_type ); use MusicBrainz::Server::Data::Work; use MusicBrainz::Server::Constants qw( entities_with $DARTIST_ID $DLABEL_ID ); use MusicBrainz::Server::Data::Utils qw( type_to_model ); use MusicBrainz::Server::ExternalUtils qw( get_chunked_with_retry ); use DateTime::Format::ISO8601; -use feature 'switch'; - -no if $] >= 5.018, warnings => 'experimental::smartmatch'; +use Readonly; extends 'MusicBrainz::Server::Data::Entity'; @@ -134,7 +132,7 @@ sub search SQL $hard_search_limit = $offset * 2; - } elsif ($type ~~ [qw(recording release release_group)]) { + } elsif ($type =~ /^(recording|release|release_group)$/) { if ($type eq 'release_group') { $extra_columns = 'entity.type AS primary_type_id,'; } elsif ($type eq 'recording') { @@ -201,7 +199,7 @@ sub search SQL $hard_search_limit = int($offset * 1.2); - } elsif ($type ~~ [qw(area event instrument label place series work)]) { + } elsif ($type =~ /^(area|event|instrument|label|place|series|work)$/) { my $where_deleted = 'WHERE entity.id != ?'; if ($type eq 'label') { $deleted_entity = $DLABEL_ID; @@ -319,11 +317,17 @@ sub search SQL $use_hard_search_limit = 0; - } elsif ($type eq 'tag') { + } + + elsif ($type eq 'tag') { $query = <<~'SQL'; - SELECT tag.id, tag.name, genre.id AS genre_id, + SELECT tag.id, + tag.name, + coalesce(genre.id, genre_alias.genre) AS genre_id, ts_rank_cd(mb_simple_tsvector(tag.name), query, 2) AS rank - FROM tag LEFT JOIN genre USING (name), plainto_tsquery('mb_simple', mb_lower(?)) AS query + FROM tag + LEFT JOIN genre USING (name) + LEFT JOIN genre_alias USING (name), plainto_tsquery('mb_simple', mb_lower(?)) AS query WHERE mb_simple_tsvector(tag.name) @@ query ORDER BY rank DESC, tag.name OFFSET ? @@ -398,9 +402,11 @@ my %mapping = ( 'label-code' => 'label_code', ); +Readonly our @ENTITIES_WITH_SIMPLE_TYPES => entities_with(['type', 'simple']); + sub schema_fixup_type { my ($self, $data, $type) = @_; - if (defined $data->{type} && $type ~~ [ entities_with(['type', 'simple']) ]) { + if (defined $data->{type} && contains_string(\@ENTITIES_WITH_SIMPLE_TYPES, $type)) { my $model = 'MusicBrainz::Server::Entity::' . type_to_model($type) . 'Type'; $data->{type} = $model->new( name => $data->{type} ); } @@ -438,7 +444,7 @@ sub schema_fixup { $data->{coordinates} = MusicBrainz::Server::Entity::Coordinates->new( $data->{coordinates} ); } - if (($type ~~ [qw(artist event label area place)]) && defined $data->{'life-span'}) + if (($type =~ /^(artist|event|label|area|place)$/) && defined $data->{'life-span'}) { $data->{begin_date} = MusicBrainz::Server::Entity::PartialDate->new($data->{'life-span'}->{begin}) if (defined $data->{'life-span'}->{begin}); @@ -893,7 +899,7 @@ sub external_search undef; # Use types as provided by jsonnew format - if ($type ~~ [qw(area artist event instrument label place recording release release-group work annotation cdstub editor)]) { + if ($type =~ /^(area|artist|event|instrument|label|place|recording|release|release-group|work|annotation|cdstub|editor)$/) { $xmltype .= 's'; } diff --git a/lib/MusicBrainz/Server/Data/Statistics.pm b/lib/MusicBrainz/Server/Data/Statistics.pm index 42a60310984..a725c39f8bb 100644 --- a/lib/MusicBrainz/Server/Data/Statistics.pm +++ b/lib/MusicBrainz/Server/Data/Statistics.pm @@ -337,6 +337,45 @@ my %stats = ( DESC => 'Count of all events', SQL => 'SELECT COUNT(*) FROM event', }, + 'count.event.country' => { + DESC => 'Distribution of events per country', + CALC => sub { + my ($self, $sql) = @_; + + my $area_containment_join = get_area_containment_join($sql); + + my $data = $sql->select_list_of_lists(qq{ + SELECT COALESCE(iso.code::text, 'null'), COUNT(e.id) + FROM event e + JOIN ( + SELECT lae.entity1 AS event, lae.entity0 AS area + FROM l_area_event lae + UNION + SELECT lep.entity0 AS event, p.area + FROM l_event_place lep + JOIN place p ON lep.entity1 = p.id + ) event_area ON event_area.event = e.id + LEFT JOIN $area_containment_join ac + ON event_area.area = ac.descendant + AND ac.parent IN (SELECT area FROM country_area) + FULL OUTER JOIN iso_3166_1 iso + ON iso.area = COALESCE( + (SELECT area FROM country_area WHERE area = ac.descendant), + ac.parent, + event_area.area + ) + GROUP BY iso.code + }); + + my %dist = map { @$_ } @$data; + + +{ + map { + 'count.event.country.'.$_ => $dist{$_} + } keys %dist + }; + }, + }, 'count.event.type' => { DESC => 'Distribution of events by type', CALC => sub { @@ -393,6 +432,37 @@ my %stats = ( DESC => 'Count of all places', SQL => 'SELECT COUNT(*) FROM place', }, + 'count.place.country' => { + DESC => 'Distribution of places per country', + CALC => sub { + my ($self, $sql) = @_; + + my $area_containment_join = get_area_containment_join($sql); + + my $data = $sql->select_list_of_lists(qq{ + SELECT COALESCE(iso.code::text, 'null'), COUNT(p.id) + FROM place p + LEFT JOIN $area_containment_join ac + ON p.area = ac.descendant + AND ac.parent IN (SELECT area FROM country_area) + FULL OUTER JOIN iso_3166_1 iso + ON iso.area = COALESCE( + (SELECT area FROM country_area WHERE area = ac.descendant), + ac.parent, + p.area + ) + GROUP BY iso.code + }); + + my %dist = map { @$_ } @$data; + + +{ + map { + 'count.place.country.'.$_ => $dist{$_} + } keys %dist + }; + }, + }, 'count.place.type' => { DESC => 'Distribution of places by type', CALC => sub { @@ -941,7 +1011,7 @@ my %stats = ( FROM release r LEFT JOIN release_country rc ON r.id = rc.release FULL OUTER JOIN country_area c ON rc.country = c.area - LEFT JOIN iso_3166_1 iso ON c.area = iso.area + FULL OUTER JOIN iso_3166_1 iso ON c.area = iso.area GROUP BY iso.code}, ); diff --git a/lib/MusicBrainz/Server/Data/Tag.pm b/lib/MusicBrainz/Server/Data/Tag.pm index f59f0408d10..2ac339d6b15 100644 --- a/lib/MusicBrainz/Server/Data/Tag.pm +++ b/lib/MusicBrainz/Server/Data/Tag.pm @@ -16,7 +16,9 @@ sub _type { 'tag' } sub _table { - return 'tag LEFT JOIN genre USING (name)'; + return 'tag + LEFT JOIN genre USING (name) + LEFT JOIN genre_alias USING (name)'; } sub _id_column @@ -26,7 +28,9 @@ sub _id_column sub _columns { - return 'tag.id, tag.name, genre.id as genre_id'; + return 'tag.id, + tag.name, + coalesce(genre.id, genre_alias.genre) as genre_id'; } sub _column_mapping diff --git a/lib/MusicBrainz/Server/Data/URL.pm b/lib/MusicBrainz/Server/Data/URL.pm index 601d285e9cc..85f437560e5 100644 --- a/lib/MusicBrainz/Server/Data/URL.pm +++ b/lib/MusicBrainz/Server/Data/URL.pm @@ -103,7 +103,6 @@ my %URL_SPECIALIZATIONS = ( 'JunoDownload' => qr{^https?://(?:www\.)?junodownload\.com/}i, 'Kashinavi' => qr{^https?://(?:www\.)?kashinavi\.com/}i, 'KBR' => qr{^https?://opac\.kbr\.be/}i, - 'Kget' => qr{^https?://(?:www\.)?kget\.jp/}i, 'Kickstarter' => qr{^https?://(?:www\.)?kickstarter\.com/}i, 'Kofi' => qr{^https?://(?:www\.)?ko-fi\.com/}i, 'LaBoiteAuxParoles' => qr{^https?://(?:www\.)?laboiteauxparoles\.com/}i, diff --git a/lib/MusicBrainz/Server/Data/Utils.pm b/lib/MusicBrainz/Server/Data/Utils.pm index 80937577672..083ec59c90e 100644 --- a/lib/MusicBrainz/Server/Data/Utils.pm +++ b/lib/MusicBrainz/Server/Data/Utils.pm @@ -14,7 +14,7 @@ use Data::UUID::MT; use Math::Random::Secure qw( irand ); use MIME::Base64 qw( encode_base64url ); use JSON::XS; -use List::AllUtils qw( natatime sort_by ); +use List::AllUtils qw( any natatime sort_by ); use MusicBrainz::Server::Constants qw( $DARTIST_ID $VARTIST_ID @@ -39,6 +39,8 @@ our @EXPORT_OK = qw( boolean_to_json check_data conditional_merge_column_query + contains_number + contains_string copy_escape coordinates_to_hash datetime_to_iso8601 @@ -752,6 +754,20 @@ sub localized_note { }); } +sub contains_number { + my ($array_ref, $number) = @_; + + return 0 unless defined $array_ref; + return any { $_ == $number } @$array_ref; +} + +sub contains_string { + my ($array_ref, $string) = @_; + + return 0 unless defined $array_ref; + return any { $_ eq $string } @$array_ref; +} + 1; =head1 COPYRIGHT AND LICENSE diff --git a/lib/MusicBrainz/Server/Edit/Alias/Edit.pm b/lib/MusicBrainz/Server/Edit/Alias/Edit.pm index 7e9d0ae8773..552c8b0ad6a 100644 --- a/lib/MusicBrainz/Server/Edit/Alias/Edit.pm +++ b/lib/MusicBrainz/Server/Edit/Alias/Edit.pm @@ -17,8 +17,6 @@ use MusicBrainz::Server::Entity::Util::JSON qw( to_json_object ); use aliased 'MusicBrainz::Server::Entity::PartialDate'; -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - extends 'MusicBrainz::Server::Edit::WithDifferences'; with 'MusicBrainz::Server::Edit::Alias'; with 'MusicBrainz::Server::Edit::CheckForConflicts'; @@ -133,18 +131,14 @@ sub _mapping around extract_property => sub { my ($orig, $self) = splice(@_, 0, 2); my ($property, $ancestor, $current, $new) = @_; - given ($property) { - when ('begin_date') { - return merge_partial_date('begin_date' => $ancestor, $current, $new); - } - - when ('end_date') { - return merge_partial_date('end_date' => $ancestor, $current, $new); - } - - default { - return ($self->$orig(@_)); - } + if ($property eq 'begin_date') { + return merge_partial_date('begin_date' => $ancestor, $current, $new); + } + elsif ($property eq 'end_date') { + return merge_partial_date('end_date' => $ancestor, $current, $new); + } + else { + return ($self->$orig(@_)); } }; diff --git a/lib/MusicBrainz/Server/Edit/Annotation/Edit.pm b/lib/MusicBrainz/Server/Edit/Annotation/Edit.pm index 69df71947b0..1168724f5cd 100644 --- a/lib/MusicBrainz/Server/Edit/Annotation/Edit.pm +++ b/lib/MusicBrainz/Server/Edit/Annotation/Edit.pm @@ -116,7 +116,7 @@ role { if (!$self->c->model($model)->get_by_id($self->data->{entity}{id})) { MusicBrainz::Server::Edit::Exceptions::FailedDependency->throw( - 'The relevant entity has been removed since this edit was created.' + 'The relevant entity has been removed since this edit was entered.' ); } diff --git a/lib/MusicBrainz/Server/Edit/Area/Edit.pm b/lib/MusicBrainz/Server/Edit/Area/Edit.pm index 0083e36e338..30a102eb9f2 100644 --- a/lib/MusicBrainz/Server/Edit/Area/Edit.pm +++ b/lib/MusicBrainz/Server/Edit/Area/Edit.pm @@ -22,8 +22,6 @@ use MooseX::Types::Structured qw( Dict Optional ); use aliased 'MusicBrainz::Server::Entity::Area'; use aliased 'MusicBrainz::Server::Entity::PartialDate'; -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - extends 'MusicBrainz::Server::Edit::Generic::Edit'; with 'MusicBrainz::Server::Edit::CheckForConflicts'; with 'MusicBrainz::Server::Edit::Area'; @@ -157,17 +155,14 @@ sub _edit_hash { around extract_property => sub { my ($orig, $self) = splice(@_, 0, 2); my ($property, $ancestor, $current, $new) = @_; - given ($property) { - when ('begin_date') { - return merge_partial_date('begin_date' => $ancestor, $current, $new); - } - - when ('end_date') { - return merge_partial_date('end_date' => $ancestor, $current, $new); - } - default { - return ($self->$orig(@_)); - } + if ($property eq 'begin_date') { + return merge_partial_date('begin_date' => $ancestor, $current, $new); + } + elsif ($property eq 'end_date') { + return merge_partial_date('end_date' => $ancestor, $current, $new); + } + else { + return ($self->$orig(@_)); } }; diff --git a/lib/MusicBrainz/Server/Edit/Artist/Edit.pm b/lib/MusicBrainz/Server/Edit/Artist/Edit.pm index f6cad09b712..df463da71a7 100644 --- a/lib/MusicBrainz/Server/Edit/Artist/Edit.pm +++ b/lib/MusicBrainz/Server/Edit/Artist/Edit.pm @@ -27,8 +27,6 @@ use aliased 'MusicBrainz::Server::Entity::Artist'; use aliased 'MusicBrainz::Server::Entity::Area'; use aliased 'MusicBrainz::Server::Entity::PartialDate'; -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - extends 'MusicBrainz::Server::Edit::Generic::Edit'; with 'MusicBrainz::Server::Edit::Artist'; with 'MusicBrainz::Server::Edit::CheckForConflicts'; @@ -250,17 +248,14 @@ sub _edit_hash { around extract_property => sub { my ($orig, $self) = splice(@_, 0, 2); my ($property, $ancestor, $current, $new) = @_; - given ($property) { - when ('begin_date') { - return merge_partial_date('begin_date' => $ancestor, $current, $new); - } - - when ('end_date') { - return merge_partial_date('end_date' => $ancestor, $current, $new); - } - default { - return ($self->$orig(@_)); - } + if ($property eq 'begin_date') { + return merge_partial_date('begin_date' => $ancestor, $current, $new); + } + elsif ($property eq 'end_date') { + return merge_partial_date('end_date' => $ancestor, $current, $new); + } + else { + return ($self->$orig(@_)); } }; diff --git a/lib/MusicBrainz/Server/Edit/CheckForConflicts.pm b/lib/MusicBrainz/Server/Edit/CheckForConflicts.pm index df70c162677..d063bb69ad9 100644 --- a/lib/MusicBrainz/Server/Edit/CheckForConflicts.pm +++ b/lib/MusicBrainz/Server/Edit/CheckForConflicts.pm @@ -144,7 +144,7 @@ sub merge_changes { catch { if (eval { $_->isa('Conflict') }) { MusicBrainz::Server::Edit::Exceptions::FailedDependency - ->throw('Data has changed since this edit was created, and now conflicts ' . + ->throw('Data has changed since this edit was entered, and now conflicts ' . 'with changes made in this edit.'); } else { diff --git a/lib/MusicBrainz/Server/Edit/Event/Edit.pm b/lib/MusicBrainz/Server/Edit/Event/Edit.pm index 10788396d75..069380232b0 100644 --- a/lib/MusicBrainz/Server/Edit/Event/Edit.pm +++ b/lib/MusicBrainz/Server/Edit/Event/Edit.pm @@ -28,8 +28,6 @@ use MooseX::Types::Structured qw( Dict Optional ); use aliased 'MusicBrainz::Server::Entity::Event'; use aliased 'MusicBrainz::Server::Entity::PartialDate'; -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - extends 'MusicBrainz::Server::Edit::Generic::Edit'; with 'MusicBrainz::Server::Edit::CheckForConflicts'; with 'MusicBrainz::Server::Edit::Event'; @@ -167,22 +165,17 @@ sub _edit_hash { around extract_property => sub { my ($orig, $self) = splice(@_, 0, 2); my ($property, $ancestor, $current, $new) = @_; - given ($property) { - when ('begin_date') { - return merge_partial_date('begin_date' => $ancestor, $current, $new); - } - - when ('end_date') { - return merge_partial_date('end_date' => $ancestor, $current, $new); - } - - when ('time') { - return merge_time('time' => $ancestor, $current, $new); - } - - default { - return ($self->$orig(@_)); - } + if ($property eq 'begin_date') { + return merge_partial_date('begin_date' => $ancestor, $current, $new); + } + elsif ($property eq 'end_date') { + return merge_partial_date('end_date' => $ancestor, $current, $new); + } + elsif ($property eq 'time') { + return merge_time('time' => $ancestor, $current, $new); + } + else { + return ($self->$orig(@_)); } }; diff --git a/lib/MusicBrainz/Server/Edit/Generic/Merge.pm b/lib/MusicBrainz/Server/Edit/Generic/Merge.pm index b0ada0eacbc..eeb7885aed9 100644 --- a/lib/MusicBrainz/Server/Edit/Generic/Merge.pm +++ b/lib/MusicBrainz/Server/Edit/Generic/Merge.pm @@ -122,7 +122,7 @@ sub accept my $model = $self->c->model( $self->_merge_model ); if (!$model->get_by_id($self->new_entity->{id})) { MusicBrainz::Server::Edit::Exceptions::FailedDependency->throw( - 'The target has been removed since this edit was created' + 'The target has been removed since this edit was entered' ); } if (!values %{ $model->get_by_ids($self->_old_ids) }) { diff --git a/lib/MusicBrainz/Server/Edit/Genre/Edit.pm b/lib/MusicBrainz/Server/Edit/Genre/Edit.pm index 28e181e0f97..d89eb88b0ca 100644 --- a/lib/MusicBrainz/Server/Edit/Genre/Edit.pm +++ b/lib/MusicBrainz/Server/Edit/Genre/Edit.pm @@ -14,8 +14,6 @@ use MooseX::Types::Structured qw( Dict Optional ); use aliased 'MusicBrainz::Server::Entity::Genre'; -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - extends 'MusicBrainz::Server::Edit::Generic::Edit'; with 'MusicBrainz::Server::Edit::CheckForConflicts'; with 'MusicBrainz::Server::Edit::Genre'; diff --git a/lib/MusicBrainz/Server/Edit/Label/Edit.pm b/lib/MusicBrainz/Server/Edit/Label/Edit.pm index 64f50e396e3..39256c25415 100644 --- a/lib/MusicBrainz/Server/Edit/Label/Edit.pm +++ b/lib/MusicBrainz/Server/Edit/Label/Edit.pm @@ -26,8 +26,6 @@ use MooseX::Types::Structured qw( Dict Optional ); use aliased 'MusicBrainz::Server::Entity::Label'; use aliased 'MusicBrainz::Server::Entity::Area'; -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - extends 'MusicBrainz::Server::Edit::Generic::Edit'; with 'MusicBrainz::Server::Edit::Label'; with 'MusicBrainz::Server::Edit::CheckForConflicts'; @@ -223,18 +221,14 @@ sub _edit_hash { around extract_property => sub { my ($orig, $self) = splice(@_, 0, 2); my ($property, $ancestor, $current, $new) = @_; - given ($property) { - when ('begin_date') { - return merge_partial_date('begin_date' => $ancestor, $current, $new); - } - - when ('end_date') { - return merge_partial_date('end_date' => $ancestor, $current, $new); - } - - default { - return ($self->$orig(@_)); - } + if ($property eq 'begin_date') { + return merge_partial_date('begin_date' => $ancestor, $current, $new); + } + elsif ($property eq 'end_date') { + return merge_partial_date('end_date' => $ancestor, $current, $new); + } + else { + return ($self->$orig(@_)); } }; diff --git a/lib/MusicBrainz/Server/Edit/Medium/Edit.pm b/lib/MusicBrainz/Server/Edit/Medium/Edit.pm index 13d25c6294c..ba5785167f7 100644 --- a/lib/MusicBrainz/Server/Edit/Medium/Edit.pm +++ b/lib/MusicBrainz/Server/Edit/Medium/Edit.pm @@ -453,7 +453,7 @@ sub accept { } catch { MusicBrainz::Server::Edit::Exceptions::FailedDependency - ->throw('The tracklist has changed since this edit was created, and conflicts ' . + ->throw('The tracklist has changed since this edit was entered, and conflicts ' . 'with changes made in this edit'); }; diff --git a/lib/MusicBrainz/Server/Edit/Place/Edit.pm b/lib/MusicBrainz/Server/Edit/Place/Edit.pm index 4083c3ce9ce..f154951c461 100644 --- a/lib/MusicBrainz/Server/Edit/Place/Edit.pm +++ b/lib/MusicBrainz/Server/Edit/Place/Edit.pm @@ -30,8 +30,6 @@ use aliased 'MusicBrainz::Server::Entity::Area'; use aliased 'MusicBrainz::Server::Entity::PartialDate'; use aliased 'MusicBrainz::Server::Entity::Coordinates'; -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - extends 'MusicBrainz::Server::Edit::Generic::Edit'; with 'MusicBrainz::Server::Edit::CheckForConflicts'; with 'MusicBrainz::Server::Edit::Place'; @@ -191,22 +189,17 @@ sub edit_template { 'EditPlace' } around extract_property => sub { my ($orig, $self) = splice(@_, 0, 2); my ($property, $ancestor, $current, $new) = @_; - given ($property) { - when ('begin_date') { - return merge_partial_date('begin_date' => $ancestor, $current, $new); - } - - when ('end_date') { - return merge_partial_date('end_date' => $ancestor, $current, $new); - } - - when ('coordinates') { - return merge_coordinates('coordinates' => $ancestor, $current, $new); - } - - default { - return ($self->$orig(@_)); - } + if ($property eq 'begin_date') { + return merge_partial_date('begin_date' => $ancestor, $current, $new); + } + elsif ($property eq 'end_date') { + return merge_partial_date('end_date' => $ancestor, $current, $new); + } + elsif ($property eq 'coordinates') { + return merge_coordinates('coordinates' => $ancestor, $current, $new); + } + else { + return ($self->$orig(@_)); } }; diff --git a/lib/MusicBrainz/Server/Edit/Recording/Edit.pm b/lib/MusicBrainz/Server/Edit/Recording/Edit.pm index cc82e4e66c0..eed72e657a8 100644 --- a/lib/MusicBrainz/Server/Edit/Recording/Edit.pm +++ b/lib/MusicBrainz/Server/Edit/Recording/Edit.pm @@ -26,8 +26,6 @@ use MusicBrainz::Server::Entity::Util::JSON qw( to_json_object ); use MusicBrainz::Server::Track; use MusicBrainz::Server::Translation qw( N_l ); -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - extends 'MusicBrainz::Server::Edit::Generic::Edit'; with 'MusicBrainz::Server::Edit::Recording::RelatedEntities'; with 'MusicBrainz::Server::Edit::Recording'; @@ -206,14 +204,11 @@ before accept => sub { around extract_property => sub { my ($orig, $self) = splice(@_, 0, 2); my ($property, $ancestor, $current, $new) = @_; - given ($property) { - when ('artist_credit') { - return merge_artist_credit($self->c, $ancestor, $current, $new); - } - - default { - return ($self->$orig(@_)); - } + if ($property eq 'artist_credit') { + return merge_artist_credit($self->c, $ancestor, $current, $new); + } + else { + return ($self->$orig(@_)); } }; diff --git a/lib/MusicBrainz/Server/Edit/Relationship.pm b/lib/MusicBrainz/Server/Edit/Relationship.pm index de4bf78c32c..aa51aea9fce 100644 --- a/lib/MusicBrainz/Server/Edit/Relationship.pm +++ b/lib/MusicBrainz/Server/Edit/Relationship.pm @@ -13,8 +13,6 @@ use namespace::autoclean; use MusicBrainz::Server::Translation qw ( l ); -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - sub edit_category { l('Relationship') } sub check_attributes { @@ -101,9 +99,9 @@ sub editor_may_edit_types { my ($self, $type0, $type1) = @_; my $types = join '_', sort($type0, $type1); - if ($types ~~ [qw(area_area area_url)]) { + if ($types =~ /^area_(area|url)$/) { return $self->editor->is_location_editor; - } elsif ($types ~~ [qw(area_instrument instrument_instrument instrument_url)]) { + } elsif ($types =~ /^(area_instrument|instrument_instrument|instrument_url)$/) { return $self->editor->is_relationship_editor; } else { return 1; diff --git a/lib/MusicBrainz/Server/Edit/Release/Edit.pm b/lib/MusicBrainz/Server/Edit/Release/Edit.pm index fb809e39099..ecff698a95d 100644 --- a/lib/MusicBrainz/Server/Edit/Release/Edit.pm +++ b/lib/MusicBrainz/Server/Edit/Release/Edit.pm @@ -30,8 +30,6 @@ use MusicBrainz::Server::Entity::PartialDate; use MusicBrainz::Server::Entity::Util::JSON qw( to_json_array to_json_object ); use MusicBrainz::Server::Translation qw( N_l ); -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - extends 'MusicBrainz::Server::Edit::Generic::Edit'; with 'MusicBrainz::Server::Edit::Role::EditArtistCredit'; with 'MusicBrainz::Server::Edit::Role::Preview'; @@ -254,18 +252,14 @@ around 'initialize' => sub around extract_property => sub { my ($orig, $self) = splice(@_, 0, 2); my ($property, $ancestor, $current, $new) = @_; - given ($property) { - when ('artist_credit') { - return merge_artist_credit($self->c, $ancestor, $current, $new); - } - - when ('barcode') { - return merge_barcode($ancestor, $current, $new); - } - - default { - return ($self->$orig(@_)); - } + if ($property eq 'artist_credit') { + return merge_artist_credit($self->c, $ancestor, $current, $new); + } + elsif ($property eq 'barcode') { + return merge_barcode($ancestor, $current, $new); + } + else { + return ($self->$orig(@_)); } }; diff --git a/lib/MusicBrainz/Server/Edit/Release/EditReleaseLabel.pm b/lib/MusicBrainz/Server/Edit/Release/EditReleaseLabel.pm index adaf2ce232b..665a8a1fd6e 100644 --- a/lib/MusicBrainz/Server/Edit/Release/EditReleaseLabel.pm +++ b/lib/MusicBrainz/Server/Edit/Release/EditReleaseLabel.pm @@ -17,8 +17,6 @@ use MusicBrainz::Server::Translation qw( N_l lp ); use MusicBrainz::Server::Entity::Util::MediumFormat qw( combined_medium_format_name ); use Scalar::Util qw( looks_like_number ); -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - extends 'MusicBrainz::Server::Edit::WithDifferences'; with 'MusicBrainz::Server::Edit::Role::Preview'; with 'MusicBrainz::Server::Edit::Release::RelatedEntities'; @@ -334,18 +332,15 @@ sub current_instance { around extract_property => sub { my ($orig, $self) = splice(@_, 0, 2); my ($property, $ancestor, $current, $new) = @_; - given ($property) { - when ('label') { - return ( - merge_value($ancestor->{label}), - merge_value(_serialize_label($current->label)), - merge_value($new->{label}), - ); - } - - default { - return ($self->$orig(@_)); - } + if ($property eq 'label') { + return ( + merge_value($ancestor->{label}), + merge_value(_serialize_label($current->label)), + merge_value($new->{label}), + ); + } + else { + return ($self->$orig(@_)); } }; diff --git a/lib/MusicBrainz/Server/Edit/Release/ReorderCoverArt.pm b/lib/MusicBrainz/Server/Edit/Release/ReorderCoverArt.pm index 51f6ff37d5a..870804055a3 100644 --- a/lib/MusicBrainz/Server/Edit/Release/ReorderCoverArt.pm +++ b/lib/MusicBrainz/Server/Edit/Release/ReorderCoverArt.pm @@ -80,7 +80,7 @@ sub accept { if (join(q(,), @current_ids) ne join (q(,), @edit_ids)) { MusicBrainz::Server::Edit::Exceptions::FailedDependency - ->throw('Cover art has been added or removed since this edit was created, which conflicts ' . + ->throw('Cover art has been added or removed since this edit was entered, which conflicts ' . 'with changes made in this edit.'); } diff --git a/lib/MusicBrainz/Server/Edit/ReleaseGroup/Edit.pm b/lib/MusicBrainz/Server/Edit/ReleaseGroup/Edit.pm index 78eddf1a800..ba5747cbd52 100644 --- a/lib/MusicBrainz/Server/Edit/ReleaseGroup/Edit.pm +++ b/lib/MusicBrainz/Server/Edit/ReleaseGroup/Edit.pm @@ -27,8 +27,6 @@ use Scalar::Util qw( looks_like_number ); use aliased 'MusicBrainz::Server::Entity::ReleaseGroup'; -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - extends 'MusicBrainz::Server::Edit::Generic::Edit'; with 'MusicBrainz::Server::Edit::ReleaseGroup::RelatedEntities'; with 'MusicBrainz::Server::Edit::ReleaseGroup'; @@ -180,31 +178,29 @@ around initialize => sub around extract_property => sub { my ($orig, $self) = splice(@_, 0, 2); my ($property, $ancestor, $current, $new) = @_; - given ($property) { - when ('artist_credit') { - return merge_artist_credit($self->c, $ancestor, $current, $new); - } - when ('type_id') { - return ( - merge_value($ancestor->{type_id}), - merge_value($current->primary_type_id), - merge_value($new->{type_id}) - ) - } - when ('secondary_type_ids') { - my $type_list_gen = sub { - my $type = shift; - return [ join(q(,), sort @$type), $type ]; - }; - return ( - $type_list_gen->( $ancestor->{secondary_type_ids} ), - $type_list_gen->( [ map { $_->id } $current->all_secondary_types ] ), - $type_list_gen->( $new->{secondary_type_ids} ), - ) - } - default { - return $self->$orig(@_); - } + if ($property eq 'artist_credit') { + return merge_artist_credit($self->c, $ancestor, $current, $new); + } + elsif ($property eq 'type_id') { + return ( + merge_value($ancestor->{type_id}), + merge_value($current->primary_type_id), + merge_value($new->{type_id}) + ) + } + elsif ($property eq 'secondary_type_ids') { + my $type_list_gen = sub { + my $type = shift; + return [ join(q(,), sort @$type), $type ]; + }; + return ( + $type_list_gen->( $ancestor->{secondary_type_ids} ), + $type_list_gen->( [ map { $_->id } $current->all_secondary_types ] ), + $type_list_gen->( $new->{secondary_type_ids} ), + ) + } + else { + return $self->$orig(@_); } }; diff --git a/lib/MusicBrainz/Server/Edit/Series/Edit.pm b/lib/MusicBrainz/Server/Edit/Series/Edit.pm index 7c3bf3dc5a7..e06bb55028b 100644 --- a/lib/MusicBrainz/Server/Edit/Series/Edit.pm +++ b/lib/MusicBrainz/Server/Edit/Series/Edit.pm @@ -17,8 +17,6 @@ use MooseX::Types::Structured qw( Dict Optional ); use aliased 'MusicBrainz::Server::Entity::Series'; -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - extends 'MusicBrainz::Server::Edit::Generic::Edit'; with 'MusicBrainz::Server::Edit::Series'; with 'MusicBrainz::Server::Edit::CheckForConflicts'; diff --git a/lib/MusicBrainz/Server/Edit/URL/Edit.pm b/lib/MusicBrainz/Server/Edit/URL/Edit.pm index 066afeb02b3..6bf640e8ba1 100644 --- a/lib/MusicBrainz/Server/Edit/URL/Edit.pm +++ b/lib/MusicBrainz/Server/Edit/URL/Edit.pm @@ -16,8 +16,6 @@ use MusicBrainz::Server::Edit::Utils qw( changed_display_data ); use MusicBrainz::Server::Entity::Util::JSON qw( to_json_object ); use MusicBrainz::Server::Translation qw( N_l ); -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - extends 'MusicBrainz::Server::Edit::Generic::Edit'; with 'MusicBrainz::Server::Edit::URL'; with 'MusicBrainz::Server::Edit::URL::RelatedEntities'; @@ -147,18 +145,15 @@ sub current_instance { around extract_property => sub { my ($orig, $self) = splice(@_, 0, 2); my ($property, $ancestor, $current, $new) = @_; - given ($property) { - when ('url') { - return ( - [ $ancestor->{url}, $ancestor->{url} ], - [ $current->url->as_string, $current->url->as_string ], - [ $new->{url}, $new->{url} ] - ); - } - - default { - return ($self->$orig(@_)); - } + if ($property eq 'url') { + return ( + [ $ancestor->{url}, $ancestor->{url} ], + [ $current->url->as_string, $current->url->as_string ], + [ $new->{url}, $new->{url} ] + ); + } + else { + return ($self->$orig(@_)); } }; diff --git a/lib/MusicBrainz/Server/Edit/Utils.pm b/lib/MusicBrainz/Server/Edit/Utils.pm index a18ef476b15..7a9d2d36a74 100644 --- a/lib/MusicBrainz/Server/Edit/Utils.pm +++ b/lib/MusicBrainz/Server/Edit/Utils.pm @@ -10,7 +10,7 @@ use MusicBrainz::Server::Data::Utils qw( artist_credit_to_ref coordinates_to_has use MusicBrainz::Server::Edit::Exceptions; use MusicBrainz::Server::Entity::ArtistCredit; use MusicBrainz::Server::Entity::ArtistCreditName; -use MusicBrainz::Server::Translation qw( N_l ); +use MusicBrainz::Server::Translation qw( N_l N_lp ); use Scalar::Util qw( blessed ); use Set::Scalar; @@ -275,7 +275,7 @@ our @STATUS_MAP = ( [ $STATUS_ERROR => N_l('Error') ], [ $STATUS_FAILEDPREREQ => N_l('Failed prerequisite') ], [ $STATUS_NOVOTES => N_l('No votes') ], - [ $STATUS_DELETED => N_l('Cancelled') ], + [ $STATUS_DELETED => N_lp('Cancelled', 'edit') ], ); our %STATUS_NAMES = map { @$_ } @STATUS_MAP; diff --git a/lib/MusicBrainz/Server/Edit/Work/Edit.pm b/lib/MusicBrainz/Server/Edit/Work/Edit.pm index ad89d26eca1..7e73b31cdfa 100644 --- a/lib/MusicBrainz/Server/Edit/Work/Edit.pm +++ b/lib/MusicBrainz/Server/Edit/Work/Edit.pm @@ -264,7 +264,7 @@ after accept => sub { } else { MusicBrainz::Server::Edit::Exceptions::FailedDependency - ->throw('Data has changed since this edit was created, and now conflicts ' . + ->throw('Data has changed since this edit was entered, and now conflicts ' . 'with changes made in this edit.'); } } diff --git a/lib/MusicBrainz/Server/EditSearch/Predicate.pm b/lib/MusicBrainz/Server/EditSearch/Predicate.pm index 2ceceec20c9..8fd8ed6a038 100644 --- a/lib/MusicBrainz/Server/EditSearch/Predicate.pm +++ b/lib/MusicBrainz/Server/EditSearch/Predicate.pm @@ -98,4 +98,6 @@ sub valid { return 1; } +sub disable_limit_for_edit_listing { 0 } + 1; diff --git a/lib/MusicBrainz/Server/EditSearch/Predicate/AppliedEdits.pm b/lib/MusicBrainz/Server/EditSearch/Predicate/AppliedEdits.pm index 98e144d8f80..d4eb5ce3dfe 100644 --- a/lib/MusicBrainz/Server/EditSearch/Predicate/AppliedEdits.pm +++ b/lib/MusicBrainz/Server/EditSearch/Predicate/AppliedEdits.pm @@ -1,12 +1,9 @@ package MusicBrainz::Server::EditSearch::Predicate::AppliedEdits; use Moose; use namespace::autoclean; -use feature 'switch'; use MusicBrainz::Server::Constants qw( :edit_status ); -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - extends 'MusicBrainz::Server::EditSearch::Predicate::ID'; sub combine_with_query { @@ -15,13 +12,12 @@ sub combine_with_query { my $subquery = '(SELECT COUNT(*) FROM edit H WHERE H.editor = edit.editor AND H.status = ?)'; my $sql; - given ($self->operator) { - when ('BETWEEN') { - $sql = $subquery . ' BETWEEN SYMMETRIC ? AND ?'; - } - default { - $sql = join(' ', $subquery, $self->operator, '?'); - } + my $operator = $self->operator; + if ($operator eq 'BETWEEN') { + $sql = $subquery . ' BETWEEN SYMMETRIC ? AND ?'; + } + else { + $sql = join(' ', $subquery, $operator, '?'); } $query->add_where([ $sql, [ $STATUS_APPLIED, @{ $self->sql_arguments } ] ]); diff --git a/lib/MusicBrainz/Server/EditSearch/Predicate/ID.pm b/lib/MusicBrainz/Server/EditSearch/Predicate/ID.pm index 416df4896fc..22efa3a4ff9 100644 --- a/lib/MusicBrainz/Server/EditSearch/Predicate/ID.pm +++ b/lib/MusicBrainz/Server/EditSearch/Predicate/ID.pm @@ -2,9 +2,6 @@ package MusicBrainz::Server::EditSearch::Predicate::ID; use Moose; use MusicBrainz::Server::Validation qw( is_database_row_id is_integer ); use namespace::autoclean; -use feature 'switch'; - -no if $] >= 5.018, warnings => 'experimental::smartmatch'; with 'MusicBrainz::Server::EditSearch::Predicate'; @@ -19,13 +16,12 @@ sub combine_with_query { my ($self, $query) = @_; my $sql; - given ($self->operator) { - when ('BETWEEN') { - $sql = 'edit.' . $self->field_name . ' BETWEEN SYMMETRIC ? AND ?'; - } - default { - $sql = join(' ', 'edit.'.$self->field_name, $self->operator, '?') - } + my $operator = $self->operator; + if ($operator eq 'BETWEEN') { + $sql = 'edit.' . $self->field_name . ' BETWEEN SYMMETRIC ? AND ?'; + } + else { + $sql = join(' ', 'edit.'.$self->field_name, $operator, '?') } $query->add_where([ $sql, $self->sql_arguments ]); diff --git a/lib/MusicBrainz/Server/EditSearch/Predicate/RelationshipType.pm b/lib/MusicBrainz/Server/EditSearch/Predicate/RelationshipType.pm index 12689aedbae..ab31c06a3b9 100644 --- a/lib/MusicBrainz/Server/EditSearch/Predicate/RelationshipType.pm +++ b/lib/MusicBrainz/Server/EditSearch/Predicate/RelationshipType.pm @@ -35,4 +35,7 @@ sub combine_with_query { ]); } +# MBS-13347 +sub disable_limit_for_edit_listing { 1 } + 1; diff --git a/lib/MusicBrainz/Server/EditSearch/Predicate/Role/Subscribed.pm b/lib/MusicBrainz/Server/EditSearch/Predicate/Role/Subscribed.pm index 9cc2935585b..1360195c790 100644 --- a/lib/MusicBrainz/Server/EditSearch/Predicate/Role/Subscribed.pm +++ b/lib/MusicBrainz/Server/EditSearch/Predicate/Role/Subscribed.pm @@ -3,8 +3,6 @@ use 5.10.0; use MooseX::Role::Parameterized; use namespace::autoclean; -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - parameter type => ( isa => 'Str', required => 1 @@ -44,37 +42,33 @@ role { around combine_with_query => sub { my ($orig, $self) = splice(@_, 0, 2); my ($query) = @_; + my $operator = $self->operator; + if ($operator eq 'subscribed') { + my $subscribed_clause = "IN ( + SELECT $subscribed_column + FROM editor_subscribe_$type + WHERE editor = ? + )"; - given ($self->operator) { - when ('subscribed') { - my $subscribed_clause = "IN ( - SELECT $subscribed_column - FROM editor_subscribe_$type - WHERE editor = ? - )"; - - $query->add_where([ - $template_clause =~ s/ROLE_CLAUSE\(([^)]*)\)/$1 $subscribed_clause/r, - [ $self->user->id ] - ]); - } - - when ('not_subscribed') { - my $subscribed_clause = "NOT IN ( - SELECT $subscribed_column - FROM editor_subscribe_$type - WHERE editor = ? - )"; - - $query->add_where([ - $template_clause =~ s/ROLE_CLAUSE\(([^)]*)\)/$1 $subscribed_clause/r, - [ $self->user->id ] - ]); - } + $query->add_where([ + $template_clause =~ s/ROLE_CLAUSE\(([^)]*)\)/$1 $subscribed_clause/r, + [ $self->user->id ] + ]); + } + elsif ($operator eq 'not_subscribed') { + my $subscribed_clause = "NOT IN ( + SELECT $subscribed_column + FROM editor_subscribe_$type + WHERE editor = ? + )"; - default { - $self->$orig(@_); - } + $query->add_where([ + $template_clause =~ s/ROLE_CLAUSE\(([^)]*)\)/$1 $subscribed_clause/r, + [ $self->user->id ] + ]); + } + else { + $self->$orig(@_); } }; diff --git a/lib/MusicBrainz/Server/EditSearch/Query.pm b/lib/MusicBrainz/Server/EditSearch/Query.pm index c112a235b46..c4b598eef5a 100644 --- a/lib/MusicBrainz/Server/EditSearch/Query.pm +++ b/lib/MusicBrainz/Server/EditSearch/Query.pm @@ -149,7 +149,14 @@ sub valid { sub as_string { my $self = shift; - $_->combine_with_query($self) for $self->fields; + + my $disable_limit_for_edit_listing = 0; + for my $field ($self->fields) { + $field->combine_with_query($self); + $disable_limit_for_edit_listing ||= + $field->disable_limit_for_edit_listing; + } + my $comb = $self->combinator; my $ae_predicate = defined $self->auto_edit_filter ? 'autoedit = ? AND ' : ''; @@ -190,8 +197,10 @@ sub as_string { join(" $comb ", map { '(' . $_->[0] . ')' } $self->where) . ") $extra_conditions - $order - LIMIT $LIMIT_FOR_EDIT_LISTING"; + $order" . + ($disable_limit_for_edit_listing + ? '' + : " LIMIT $LIMIT_FOR_EDIT_LISTING"); } sub arguments { diff --git a/lib/MusicBrainz/Server/Entity/Series.pm b/lib/MusicBrainz/Server/Entity/Series.pm index 831e095d2a2..cac5d770e48 100644 --- a/lib/MusicBrainz/Server/Entity/Series.pm +++ b/lib/MusicBrainz/Server/Entity/Series.pm @@ -3,8 +3,6 @@ package MusicBrainz::Server::Entity::Series; use Moose; use MusicBrainz::Server::Entity::Types; -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - extends 'MusicBrainz::Server::Entity'; with 'MusicBrainz::Server::Entity::Role::Relatable'; with 'MusicBrainz::Server::Entity::Role::Taggable'; diff --git a/lib/MusicBrainz/Server/Entity/URL/Kget.pm b/lib/MusicBrainz/Server/Entity/URL/Kget.pm deleted file mode 100644 index 6627a92560a..00000000000 --- a/lib/MusicBrainz/Server/Entity/URL/Kget.pm +++ /dev/null @@ -1,23 +0,0 @@ -package MusicBrainz::Server::Entity::URL::Kget; - -use Moose; -use utf8; - -extends 'MusicBrainz::Server::Entity::URL'; -with 'MusicBrainz::Server::Entity::URL::Sidebar'; - -sub sidebar_name { '歌詞GET' } - -__PACKAGE__->meta->make_immutable; -no Moose; -1; - -=head1 COPYRIGHT AND LICENSE - -Copyright (C) 2019 MetaBrainz Foundation - -This file is part of MusicBrainz, the open internet music database, -and is licensed under the GPL version 2, or (at your option) any -later version: http://www.gnu.org/licenses/gpl-2.0.txt - -=cut diff --git a/lib/MusicBrainz/Server/Form/Field/URL.pm b/lib/MusicBrainz/Server/Form/Field/URL.pm index 7fb4340d43f..7c0080a832f 100644 --- a/lib/MusicBrainz/Server/Form/Field/URL.pm +++ b/lib/MusicBrainz/Server/Form/Field/URL.pm @@ -2,6 +2,7 @@ package MusicBrainz::Server::Form::Field::URL; use URI; use Moose; use namespace::autoclean; +use utf8; use MusicBrainz::Server::Translation qw( l ); use MusicBrainz::Server::Validation qw( is_valid_url ); @@ -23,7 +24,7 @@ sub validate my $url = $self->value; $url = URI->new($url)->canonical; - return $self->add_error(l('Enter a valid url e.g. "http://google.com/"')) + return $self->add_error(l('Enter a valid URL, such as “http://google.com/”')) unless is_valid_url($url->as_string); return $self->add_error(l('URL protocol must be HTTP, HTTPS or FTP')) diff --git a/lib/MusicBrainz/Server/Plugin/Diff.pm b/lib/MusicBrainz/Server/Plugin/Diff.pm index bb76828ffcb..aafdcaa081d 100644 --- a/lib/MusicBrainz/Server/Plugin/Diff.pm +++ b/lib/MusicBrainz/Server/Plugin/Diff.pm @@ -3,8 +3,6 @@ package MusicBrainz::Server::Plugin::Diff; use strict; use warnings; -use feature 'switch'; - use base 'Template::Plugin'; use Algorithm::Diff qw( sdiff traverse_sequences ); @@ -14,8 +12,6 @@ use HTML::Entities qw( decode_entities ); use Scalar::Util qw( blessed ); use MusicBrainz::Server::Validation qw( encode_entities trim_in_place ); -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - sub new { my ($class, $context) = @_; return bless { c => $context }, $class; @@ -146,42 +142,37 @@ sub diff_artist_credits { for my $diff (@diffs) { my ($change_type, $old_name, $new_name) = @$diff; - given ($change_type) { - when ('u') { - my $html = $self->_link_joined($old_name); - $sides{old} .= $html; - $sides{new} .= $html; - }; - - when ('c') { - # Diff the credited names - $sides{old} .= $self->_link_artist_credit_name( - $old_name, - $self->diff_side(encode_entities($old_name->name), encode_entities($new_name->name), '-','\s+') - ); - $sides{new} .= $self->_link_artist_credit_name( - $new_name, - $self->diff_side(encode_entities($old_name->name), encode_entities($new_name->name), '+', '\s+') - ); - - # Diff the join phrases - $sides{old} .= $self->diff_side(encode_entities($old_name->join_phrase), encode_entities($new_name->join_phrase), '-', '\s+'); - $sides{new} .= $self->diff_side(encode_entities($old_name->join_phrase), encode_entities($new_name->join_phrase), '+', '\s+'); - } - - when ('-') { - $sides{old} .= $h->span( - { class => $class_map{'-'} }, - $self->_link_joined($old_name) - ); - } - - when ('+') { - $sides{new} .= $h->span( - { class => $class_map{'+'} }, - $self->_link_joined($new_name) - ); - } + if ($change_type eq 'u') { + my $html = $self->_link_joined($old_name); + $sides{old} .= $html; + $sides{new} .= $html; + } + elsif ($change_type eq 'c') { + # Diff the credited names + $sides{old} .= $self->_link_artist_credit_name( + $old_name, + $self->diff_side(encode_entities($old_name->name), encode_entities($new_name->name), '-','\s+') + ); + $sides{new} .= $self->_link_artist_credit_name( + $new_name, + $self->diff_side(encode_entities($old_name->name), encode_entities($new_name->name), '+', '\s+') + ); + + # Diff the join phrases + $sides{old} .= $self->diff_side(encode_entities($old_name->join_phrase), encode_entities($new_name->join_phrase), '-', '\s+'); + $sides{new} .= $self->diff_side(encode_entities($old_name->join_phrase), encode_entities($new_name->join_phrase), '+', '\s+'); + } + elsif ($change_type eq '-') { + $sides{old} .= $h->span( + { class => $class_map{'-'} }, + $self->_link_joined($old_name) + ); + } + elsif ($change_type eq '+') { + $sides{new} .= $h->span( + { class => $class_map{'+'} }, + $self->_link_joined($new_name) + ); } } diff --git a/lib/MusicBrainz/Server/Sitemap/Builder.pm b/lib/MusicBrainz/Server/Sitemap/Builder.pm index fc7e89ffc1e..b3eca226670 100644 --- a/lib/MusicBrainz/Server/Sitemap/Builder.pm +++ b/lib/MusicBrainz/Server/Sitemap/Builder.pm @@ -13,6 +13,7 @@ use List::AllUtils qw( any natatime ); use Moose; use MusicBrainz::Server::Constants qw( %ENTITIES ); use MusicBrainz::Server::Context; +use MusicBrainz::Server::Data::Utils qw( contains_string ); use MusicBrainz::Server::Log qw( log_info ); use MusicBrainz::Server::Sitemap::Constants qw( $MAX_SITEMAP_SIZE ); use MusicBrainz::Server::Sitemap::Utils qw( @@ -131,7 +132,6 @@ has sitemap_files => ( traits => ['Array', 'NoGetopt'], handles => { add_sitemap_file => 'push', - all_sitemap_files => 'elements', }, ); @@ -432,7 +432,7 @@ cleanup, after writing the index file. sub do_not_delete { my ($self, $file) = @_; - any { $_ eq $file } $self->all_sitemap_files; + contains_string($self->sitemap_files, $file); } __PACKAGE__->meta->make_immutable; diff --git a/lib/MusicBrainz/Server/Translation.pm b/lib/MusicBrainz/Server/Translation.pm index 87e44155687..d9a6e80e9d2 100644 --- a/lib/MusicBrainz/Server/Translation.pm +++ b/lib/MusicBrainz/Server/Translation.pm @@ -13,6 +13,7 @@ use POSIX qw( setlocale ); use Text::Balanced qw( extract_bracketed ); use Unicode::ICU::Collator qw( UCOL_NUMERIC_COLLATION UCOL_ON ); +use MusicBrainz::Server::Data::Utils qw( contains_string ); use MusicBrainz::Server::Validation qw( encode_entities ); with 'MusicBrainz::Server::Role::Translation' => { domain => 'mb_server' }; @@ -141,7 +142,7 @@ sub set_language return $set_lang; } # Check if the language without country code is in MB_LANGUAGES - elsif (any { $set_lang_nocountry eq $_ } DBDefs->MB_LANGUAGES) { + elsif (contains_string([ DBDefs->MB_LANGUAGES ], $set_lang_nocountry)) { return $set_lang_nocountry; } # Give up, return the full language even though it looks wrong @@ -176,7 +177,7 @@ sub language_from_cookie any { $cookie->value eq $_ || $cookie_munge eq $_ } DBDefs->MB_LANGUAGES) { return $cookie->value; } elsif (defined $cookie && - any { $cookie_nocountry eq $_ } DBDefs->MB_LANGUAGES) { + contains_string([ DBDefs->MB_LANGUAGES ], $cookie_nocountry)) { return $cookie_nocountry; } else { return undef; diff --git a/lib/MusicBrainz/Server/Validation.pm b/lib/MusicBrainz/Server/Validation.pm index e8a14038533..12d76c27267 100644 --- a/lib/MusicBrainz/Server/Validation.pm +++ b/lib/MusicBrainz/Server/Validation.pm @@ -4,6 +4,7 @@ use warnings; use Date::Calc; use List::AllUtils qw( any ); +use Readonly; require Exporter; { @@ -52,6 +53,7 @@ use Encode qw( decode encode ); use Scalar::Util qw( looks_like_number ); use Text::Unaccent::PurePerl qw( unac_string_utf16 ); use MusicBrainz::Server::Constants qw( $MAX_POSTGRES_INT $MAX_POSTGRES_BIGINT ); +use MusicBrainz::Server::Data::Utils qw( contains_number ); use utf8; sub unaccent_utf16 ($) @@ -260,6 +262,8 @@ sub is_valid_iso_3166_3 return $iso_3166_3 =~ /^[A-Z]{4}$/; } +Readonly my @MONTHS_WITH_30_DAYS => (4, 6, 9, 11); + sub is_valid_partial_date { my ($year, $month, $day) = @_; @@ -274,7 +278,8 @@ sub is_valid_partial_date if (defined $month && $day) { return 0 if $day > 29 && $month == 2; - return 0 if $day > 30 && any { $_ == $month } (4, 6, 9, 11); + return 0 if $day > 30 && + contains_number(\@MONTHS_WITH_30_DAYS, $month); } if (defined $year) { diff --git a/package.json b/package.json index 55c74f8a3fd..49705a721aa 100644 --- a/package.json +++ b/package.json @@ -8,20 +8,20 @@ }, "license": "GPL-2.0-or-later", "dependencies": { - "@babel/core": "7.20.2", + "@babel/core": "7.22.10", "@babel/plugin-proposal-class-properties": "7.18.6", "@babel/plugin-proposal-nullish-coalescing-operator": "7.18.6", - "@babel/plugin-proposal-optional-chaining": "7.18.9", + "@babel/plugin-proposal-optional-chaining": "7.21.0", "@babel/plugin-syntax-dynamic-import": "7.8.3", - "@babel/plugin-transform-flow-strip-types": "7.19.0", - "@babel/plugin-transform-react-constant-elements": "7.20.2", - "@babel/plugin-transform-react-inline-elements": "7.18.6", - "@babel/plugin-transform-react-jsx": "7.19.0", - "@babel/plugin-transform-runtime": "7.19.6", - "@babel/preset-env": "7.20.2", - "@babel/preset-flow": "7.18.6", - "@babel/register": "7.18.9", - "@babel/runtime": "7.20.1", + "@babel/plugin-transform-flow-strip-types": "7.22.5", + "@babel/plugin-transform-react-constant-elements": "7.22.5", + "@babel/plugin-transform-react-inline-elements": "7.22.5", + "@babel/plugin-transform-react-jsx": "7.22.5", + "@babel/plugin-transform-runtime": "7.22.10", + "@babel/preset-env": "7.22.10", + "@babel/preset-flow": "7.22.5", + "@babel/register": "7.22.5", + "@babel/runtime": "7.22.10", "@popperjs/core": "2.5.3", "@sentry/browser": "5.10.2", "@sentry/node": "5.10.2", @@ -32,16 +32,15 @@ "core-js": "3.6.5", "deep-freeze-strict": "1.1.1", "detect-node": "2.0.3", - "eslint-plugin-simple-import-sort": "^7.0.0", "fast-diff": "1.2.0", "filesize": "2.0.4", "generic-diff": "1.0.1", "he": "1.1.1", "imports-loader": "3.0.0", - "jed": "https://github.com/mwiencek/Jed.git#cd3f71b", + "jed": "https://github.com/mwiencek/Jed.git#cd3f71b7479b9c587990a0fa27ae9fdafbd9d9d9", "jquery": "1.11.2", - "knockout": "https://github.com/mwiencek/knockout.git#a09f077", - "knockout-arraytransforms": "https://github.com/mwiencek/knockout-arraytransforms.git#9673e91", + "knockout": "https://github.com/mwiencek/knockout.git#a09f0778844130a89af438971ad6229ab81e26b3", + "knockout-arraytransforms": "https://github.com/mwiencek/knockout-arraytransforms.git#9673e91a4755b92ba4eea5ca03067790dbbd997b", "leaflet": "1.6.0", "leaflet.markercluster": "1.4.1", "less": "4.1.1", @@ -72,20 +71,22 @@ "yargs": "3.10.0" }, "devDependencies": { - "@babel/cli": "7.19.3", - "@babel/eslint-parser": "7.19.1", + "@babel/cli": "7.22.10", "babel-plugin-istanbul": "5.2.0", + "babel-plugin-syntax-hermes-parser": "0.15.1", "buffer": "6.0.3", "chrome-remote-interface": "0.33.0", - "eslint": "7.9.0", - "eslint-plugin-fb-flow": "0.0.2", - "eslint-plugin-flowtype": "5.2.0", - "eslint-plugin-import": "2.22.0", - "eslint-plugin-react": "7.20.6", - "eslint-plugin-react-hooks": "4.1.2", + "eslint": "8.46.0", + "eslint-plugin-fb-flow": "0.0.4", + "eslint-plugin-ft-flow": "3.0.1", + "eslint-plugin-import": "2.29.0", + "eslint-plugin-react": "7.33.1", + "eslint-plugin-react-hooks": "4.6.0", + "eslint-plugin-simple-import-sort": "^7.0.0", "file-url": "2.0.2", - "flow-bin": "0.201.0", + "flow-bin": "0.220.0", "gettext-parser": "3.1.0", + "hermes-eslint": "0.17.1", "http-proxy": "1.18.1", "json5": "2.1.3", "nyc": "14.1.1", @@ -97,7 +98,8 @@ "tap-junit": "3.1.0", "tape": "4.7.0", "utf8": "2.1.2", - "xgettext-js": "3.0.0" + "xgettext-js": "https://github.com/metabrainz/xgettext-js#0301681a479c1796ff6850c9bd2a169074386d92" }, - "private": true + "private": true, + "packageManager": "yarn@4.0.1" } diff --git a/po/README b/po/README index d77e476de24..5aad6a7bfaf 100644 --- a/po/README +++ b/po/README @@ -18,7 +18,7 @@ To accomplish that we'd need a two step solution: 1. Prepare the code base for localization. This means writing localization routines and bringing our strings into -shape for translation (i.e. marking them appropriately). No +shape for translation (that is, marking them appropriately). No translations would be prepared at this step, the system would still work in English, but introducing translations would be a matter of including some .po files. This is currently implemented as @@ -84,7 +84,7 @@ Plurals are done with an ln()-function: (proper syntax: ln(english_singular, english_plural, number, parameter_hash)) -**Warning**: Plural forms only apply to enumerable entities, i.e. "I +**Warning**: Plural forms only apply to enumerable entities, that is, "I have X apples" should be localized with ln(), but "I have apples" should use l(). diff --git a/po/attributes.bg.po b/po/attributes.bg.po index d5e15b30fc3..b556be6e322 100644 --- a/po/attributes.bg.po +++ b/po/attributes.bg.po @@ -28,6 +28,11 @@ msgid "" "or solo + keyboard) instrumental works, initially in baroque music." msgstr "" +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "" + #: DB:medium_format/name:54 msgctxt "medium_format" msgid "10\" Shellac" @@ -38,6 +43,11 @@ msgctxt "medium_format" msgid "10\" Vinyl" msgstr "" +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "" + #: DB:medium_format/name:72 msgctxt "medium_format" msgid "12\" LaserDisc" @@ -63,6 +73,11 @@ msgctxt "medium_format" msgid "5.25\" Floppy Disk" msgstr "" +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "" + #: DB:medium_format/name:52 msgctxt "medium_format" msgid "7\" Flexi-disc" @@ -374,9 +389,9 @@ msgstr "" msgctxt "event_type" msgid "" "A performance of one or more plays, musicals, operas, ballets or other " -"similar works for the stage in their staged form (as opposed to a concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" #: DB:place_type/description:8 @@ -829,6 +844,11 @@ msgctxt "work_attribute_type_allowed_value" msgid "Acemtarab" msgstr "" +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "" + #: DB:work_attribute_type_allowed_value/value:848 msgctxt "work_attribute_type_allowed_value" msgid "Adānā" diff --git a/po/attributes.bn.po b/po/attributes.bn.po index fcf80d54814..f2bdac35933 100644 --- a/po/attributes.bn.po +++ b/po/attributes.bn.po @@ -30,6 +30,11 @@ msgid "" "or solo + keyboard) instrumental works, initially in baroque music." msgstr "" +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "" + #: DB:medium_format/name:54 msgctxt "medium_format" msgid "10\" Shellac" @@ -40,6 +45,11 @@ msgctxt "medium_format" msgid "10\" Vinyl" msgstr "১০\" ভিনি" +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "" + #: DB:medium_format/name:72 msgctxt "medium_format" msgid "12\" LaserDisc" @@ -65,6 +75,11 @@ msgctxt "medium_format" msgid "5.25\" Floppy Disk" msgstr "৫.২৫\" ফ্লপি ডিস্ক " +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "" + #: DB:medium_format/name:52 msgctxt "medium_format" msgid "7\" Flexi-disc" @@ -376,9 +391,9 @@ msgstr "" msgctxt "event_type" msgid "" "A performance of one or more plays, musicals, operas, ballets or other " -"similar works for the stage in their staged form (as opposed to a concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" #: DB:place_type/description:8 @@ -831,6 +846,11 @@ msgctxt "work_attribute_type_allowed_value" msgid "Acemtarab" msgstr "" +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "" + #: DB:work_attribute_type_allowed_value/value:848 msgctxt "work_attribute_type_allowed_value" msgid "Adānā" diff --git a/po/attributes.ca.po b/po/attributes.ca.po index f10f1053b21..dc7233a4ef9 100644 --- a/po/attributes.ca.po +++ b/po/attributes.ca.po @@ -35,6 +35,11 @@ msgstr "" "a petita escala (sovint solista o solista + teclat), inicialment en música " "barroca." +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "" + #: DB:medium_format/name:54 msgctxt "medium_format" msgid "10\" Shellac" @@ -45,6 +50,11 @@ msgctxt "medium_format" msgid "10\" Vinyl" msgstr "10\" Vilin" +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "" + #: DB:medium_format/name:72 msgctxt "medium_format" msgid "12\" LaserDisc" @@ -70,6 +80,11 @@ msgctxt "medium_format" msgid "5.25\" Floppy Disk" msgstr "" +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "" + #: DB:medium_format/name:52 msgctxt "medium_format" msgid "7\" Flexi-disc" @@ -383,9 +398,9 @@ msgstr "" msgctxt "event_type" msgid "" "A performance of one or more plays, musicals, operas, ballets or other " -"similar works for the stage in their staged form (as opposed to a concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" #: DB:place_type/description:8 @@ -838,6 +853,11 @@ msgctxt "work_attribute_type_allowed_value" msgid "Acemtarab" msgstr "" +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "" + #: DB:work_attribute_type_allowed_value/value:848 msgctxt "work_attribute_type_allowed_value" msgid "Adānā" diff --git a/po/attributes.cs.po b/po/attributes.cs.po index fdb93fdaf3e..d972087b401 100644 --- a/po/attributes.cs.po +++ b/po/attributes.cs.po @@ -37,6 +37,11 @@ msgstr "" "rozsahu (nejčastěji pro sólový nástroj nebo nástroj za doprovodu klavíru) s " "počátky v hudbě období baroko." +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "" + #: DB:medium_format/name:54 msgctxt "medium_format" msgid "10\" Shellac" @@ -47,6 +52,11 @@ msgctxt "medium_format" msgid "10\" Vinyl" msgstr "10\" Vinyl" +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "" + #: DB:medium_format/name:72 msgctxt "medium_format" msgid "12\" LaserDisc" @@ -72,6 +82,11 @@ msgctxt "medium_format" msgid "5.25\" Floppy Disk" msgstr "" +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "" + #: DB:medium_format/name:52 msgctxt "medium_format" msgid "7\" Flexi-disc" @@ -387,9 +402,9 @@ msgstr "" msgctxt "event_type" msgid "" "A performance of one or more plays, musicals, operas, ballets or other " -"similar works for the stage in their staged form (as opposed to a concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" #: DB:place_type/description:8 @@ -842,6 +857,11 @@ msgctxt "work_attribute_type_allowed_value" msgid "Acemtarab" msgstr "" +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "" + #: DB:work_attribute_type_allowed_value/value:848 msgctxt "work_attribute_type_allowed_value" msgid "Adānā" diff --git a/po/attributes.cy.po b/po/attributes.cy.po index 023ba8c1d5d..53f6e040583 100644 --- a/po/attributes.cy.po +++ b/po/attributes.cy.po @@ -29,6 +29,11 @@ msgid "" "or solo + keyboard) instrumental works, initially in baroque music." msgstr "" +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "" + #: DB:medium_format/name:54 msgctxt "medium_format" msgid "10\" Shellac" @@ -39,6 +44,11 @@ msgctxt "medium_format" msgid "10\" Vinyl" msgstr "" +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "" + #: DB:medium_format/name:72 msgctxt "medium_format" msgid "12\" LaserDisc" @@ -64,6 +74,11 @@ msgctxt "medium_format" msgid "5.25\" Floppy Disk" msgstr "" +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "" + #: DB:medium_format/name:52 msgctxt "medium_format" msgid "7\" Flexi-disc" @@ -375,9 +390,9 @@ msgstr "" msgctxt "event_type" msgid "" "A performance of one or more plays, musicals, operas, ballets or other " -"similar works for the stage in their staged form (as opposed to a concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" #: DB:place_type/description:8 @@ -830,6 +845,11 @@ msgctxt "work_attribute_type_allowed_value" msgid "Acemtarab" msgstr "" +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "" + #: DB:work_attribute_type_allowed_value/value:848 msgctxt "work_attribute_type_allowed_value" msgid "Adānā" diff --git a/po/attributes.da.po b/po/attributes.da.po index dfea1b556b9..5d0e3641789 100644 --- a/po/attributes.da.po +++ b/po/attributes.da.po @@ -31,6 +31,11 @@ msgid "" "or solo + keyboard) instrumental works, initially in baroque music." msgstr "" +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "" + #: DB:medium_format/name:54 msgctxt "medium_format" msgid "10\" Shellac" @@ -41,6 +46,11 @@ msgctxt "medium_format" msgid "10\" Vinyl" msgstr "10\" vinyl" +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "" + #: DB:medium_format/name:72 msgctxt "medium_format" msgid "12\" LaserDisc" @@ -66,6 +76,11 @@ msgctxt "medium_format" msgid "5.25\" Floppy Disk" msgstr "" +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "" + #: DB:medium_format/name:52 msgctxt "medium_format" msgid "7\" Flexi-disc" @@ -377,9 +392,9 @@ msgstr "" msgctxt "event_type" msgid "" "A performance of one or more plays, musicals, operas, ballets or other " -"similar works for the stage in their staged form (as opposed to a concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" #: DB:place_type/description:8 @@ -832,6 +847,11 @@ msgctxt "work_attribute_type_allowed_value" msgid "Acemtarab" msgstr "Acemtarab" +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "" + #: DB:work_attribute_type_allowed_value/value:848 msgctxt "work_attribute_type_allowed_value" msgid "Adānā" diff --git a/po/attributes.de.po b/po/attributes.de.po index d08ea694be4..19948efe1a2 100644 --- a/po/attributes.de.po +++ b/po/attributes.de.po @@ -82,6 +82,11 @@ msgstr "" "„Sonate“ ist ein allgemeiner Begriff für Instrumentalstücke in kleiner " "Besetzung (meist Solo oder Solo + Tasten), ursprünglich in der Barockmusik." +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "" + #: DB:medium_format/name:54 msgctxt "medium_format" msgid "10\" Shellac" @@ -92,6 +97,11 @@ msgctxt "medium_format" msgid "10\" Vinyl" msgstr "10″-Vinyl" +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "" + #: DB:medium_format/name:72 msgctxt "medium_format" msgid "12\" LaserDisc" @@ -117,6 +127,11 @@ msgctxt "medium_format" msgid "5.25\" Floppy Disk" msgstr "5,25″-Diskette" +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "" + #: DB:medium_format/name:52 msgctxt "medium_format" msgid "7\" Flexi-disc" @@ -462,9 +477,9 @@ msgstr "Ein gebundes Buch mit einem Umschlag am Ende der eine CD beherbergt" msgctxt "event_type" msgid "" "A performance of one or more plays, musicals, operas, ballets or other " -"similar works for the stage in their staged form (as opposed to a concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" "Eine Aufführung eines oder mehrerer Theaterstücke, Musicals, Opern, Ballette " "oder anderer ähnlicher Werke für die Bühne in ihrer inszenierten Form (im " @@ -990,6 +1005,11 @@ msgctxt "work_attribute_type_allowed_value" msgid "Acemtarab" msgstr "" +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "" + #: DB:work_attribute_type_allowed_value/value:848 msgctxt "work_attribute_type_allowed_value" msgid "Adānā" diff --git a/po/attributes.el.po b/po/attributes.el.po index 6a2d7d7991e..ee6aeab54d2 100644 --- a/po/attributes.el.po +++ b/po/attributes.el.po @@ -34,6 +34,11 @@ msgid "" "or solo + keyboard) instrumental works, initially in baroque music." msgstr "" +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "" + #: DB:medium_format/name:54 msgctxt "medium_format" msgid "10\" Shellac" @@ -44,6 +49,11 @@ msgctxt "medium_format" msgid "10\" Vinyl" msgstr "βινύλιο 10\" " +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "" + #: DB:medium_format/name:72 msgctxt "medium_format" msgid "12\" LaserDisc" @@ -69,6 +79,11 @@ msgctxt "medium_format" msgid "5.25\" Floppy Disk" msgstr "" +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "" + #: DB:medium_format/name:52 msgctxt "medium_format" msgid "7\" Flexi-disc" @@ -384,9 +399,9 @@ msgstr "" msgctxt "event_type" msgid "" "A performance of one or more plays, musicals, operas, ballets or other " -"similar works for the stage in their staged form (as opposed to a concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" #: DB:place_type/description:8 @@ -839,6 +854,11 @@ msgctxt "work_attribute_type_allowed_value" msgid "Acemtarab" msgstr "" +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "" + #: DB:work_attribute_type_allowed_value/value:848 msgctxt "work_attribute_type_allowed_value" msgid "Adānā" diff --git a/po/attributes.eo.po b/po/attributes.eo.po index 6624d55ef24..3fcf1271c54 100644 --- a/po/attributes.eo.po +++ b/po/attributes.eo.po @@ -37,6 +37,11 @@ msgstr "" "(tre ofte solajn aŭ solajn + klavarajn) instrumentajn verkojn, komence en " "baroka muziko." +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "" + #: DB:medium_format/name:54 msgctxt "medium_format" msgid "10\" Shellac" @@ -47,6 +52,11 @@ msgctxt "medium_format" msgid "10\" Vinyl" msgstr "10″ vinildisko" +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "" + #: DB:medium_format/name:72 msgctxt "medium_format" msgid "12\" LaserDisc" @@ -72,6 +82,11 @@ msgctxt "medium_format" msgid "5.25\" Floppy Disk" msgstr "5.25″ disketo" +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "" + #: DB:medium_format/name:52 msgctxt "medium_format" msgid "7\" Flexi-disc" @@ -396,9 +411,9 @@ msgstr "" msgctxt "event_type" msgid "" "A performance of one or more plays, musicals, operas, ballets or other " -"similar works for the stage in their staged form (as opposed to a concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" #: DB:place_type/description:8 @@ -851,6 +866,11 @@ msgctxt "work_attribute_type_allowed_value" msgid "Acemtarab" msgstr "" +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "" + #: DB:work_attribute_type_allowed_value/value:848 msgctxt "work_attribute_type_allowed_value" msgid "Adānā" diff --git a/po/attributes.es.po b/po/attributes.es.po index 34dbd801e4a..61f9ad1bf18 100644 --- a/po/attributes.es.po +++ b/po/attributes.es.po @@ -42,19 +42,21 @@ # Philipp Wolfer , 2023. # emiguel1960 , 2023. # Yllelder , 2023. +# reosarevok , 2023. msgid "" msgstr "" "Project-Id-Version: MusicBrainz\n" -"PO-Revision-Date: 2023-10-01 20:27+0000\n" -"Last-Translator: Yllelder \n" +"PO-Revision-Date: 2023-10-20 16:27+0000\n" +"Last-Translator: reosarevok \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ((n != 0 && n % 1000000 == 0)" -" ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ((n != 0 && n % 1000000 == " +"0) ? 1 : 2);\n" "X-Generator: Weblate 5.0.2\n" #: DB:work_type/description:9 @@ -78,6 +80,11 @@ msgstr "" "instrumentales (muy a menudo en solitario o en solitario + teclado), " "inicialmente en la música barroca." +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "" + #: DB:medium_format/name:54 msgctxt "medium_format" msgid "10\" Shellac" @@ -88,6 +95,11 @@ msgctxt "medium_format" msgid "10\" Vinyl" msgstr "Disco de vinilo de 10\"" +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "" + #: DB:medium_format/name:72 msgctxt "medium_format" msgid "12\" LaserDisc" @@ -113,6 +125,11 @@ msgctxt "medium_format" msgid "5.25\" Floppy Disk" msgstr "Disquete de 5.25\"" +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "" + #: DB:medium_format/name:52 msgctxt "medium_format" msgid "7\" Flexi-disc" @@ -279,9 +296,9 @@ msgstr "" "definitorio suele ser la duración del single y el precio al que se vende. " "Hasta 1995 era común que estos singles fueran lanzados usando un formato " "mini-cd, que es básicamente un CD mucho más pequeño típicamente de 8 cm de " -"diámetro. ‎ Alrededor de 1995, el sencillo de 8 cm fue eliminado, y el ‎‎" -"sencillo‎‎ estándar de ‎‎CD‎‎ de 12 cm es más común ahora; En general, los ‎‎" -"relanzamientos‎‎ de singles anteriores a 1995 se lanzarán en el formato de 12 " +"diámetro. ‎ Alrededor de 1995, el sencillo de 8 cm fue eliminado, y el " +"‎‎sencillo‎‎ estándar de ‎‎CD‎‎ de 12 cm es más común ahora; En general, los " +"‎‎relanzamientos‎‎ de singles anteriores a 1995 se lanzarán en el formato de 12 " "cm, incluso si se lanzaron originalmente en el ‎‎formato‎‎ de 8 cm.‎ ‎ Los singles " "japoneses a menudo vienen con versiones instrumentales de las canciones y " "también tienen maxi-singles como en UK con versiones remezcladas de las " @@ -312,8 +329,8 @@ msgid "" "A (usually green) space kept available for recreation in an otherwise built " "and populated area." msgstr "" -"Un espacio (usualmente verde) se mantiene libre para la recreación en un " -"área construida y poblada." +"Un espacio abierto (habitualmente un espacio verde) destinado al " +"esparcimiento en un asentamiento humano." #: DB:medium_format/description:129 msgctxt "medium_format" @@ -322,10 +339,10 @@ msgid "" "often in the first track, that will have to be skipped in many audio " "players. Relatively common in old video game CDs." msgstr "" -"Un CD contiene tanto audio como datos en la misma sesión. Los datos a menudo " -"se encuentran en la primera pista, estos tendrán que ser omitidos por los " -"reproductores de audio. Esto es relativamente común en los CDs de " -"videojuegos viejos." +"Un CD que contiene tanto audio como datos en la misma sesión. Los datos a " +"menudo se encuentran en la primera pista, que debe ser omitida al leer el CD " +"en un reproductor de audio. Relativamente común en los CDs de videojuegos " +"viejos." #: DB:medium_format/description:42 msgctxt "medium_format" @@ -334,9 +351,9 @@ msgid "" "they are properly separated, audio players will not try to play the data " "session and it won't be part of the disc ID for the CD." msgstr "" -"Un CD que contiene dos sesiones, una con audio y la otra con datos. Dado que " -"están propiamente separadas, reproductores de audio no van a intentar " -"reproducir la sesión de datos y no formará parte del ID del disco para el CD." +"Un CD que contiene dos sesiones, una con audio y la otra con datos. Al estar " +"separada adecuadamente, los reproductores de audio no intentan reproducir la " +"sesión de datos, por lo que no formará parte del ID del disco para el CD." #: DB:release_group_secondary_type/description:8 msgctxt "release_group_secondary_type" @@ -361,7 +378,7 @@ msgstr "la dórico" #: DB:work_attribute_type_allowed_value/value:806 msgctxt "work_attribute_type_allowed_value" msgid "A Mixolydian" -msgstr "Modo mixolidio" +msgstr "la mixolidio" #: DB:work_type/description:2 msgctxt "work_type" @@ -548,9 +565,9 @@ msgstr "" msgctxt "event_type" msgid "" "A performance of one or more plays, musicals, operas, ballets or other " -"similar works for the stage in their staged form (as opposed to a concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" "Una interpretación de una o más obras, musicales, óperas, ballets u otras " "piezas de escenario similares en su forma escenificada (a diferencia de una " @@ -979,7 +996,7 @@ msgstr "la bemol menor" #: DB:work_attribute_type_allowed_value/value:817 msgctxt "work_attribute_type_allowed_value" msgid "A-sharp major" -msgstr "La sostenido mayor" +msgstr "la sostenido mayor" #: DB:work_attribute_type_allowed_value/value:30 msgctxt "work_attribute_type_allowed_value" @@ -989,67 +1006,67 @@ msgstr "la sostenido menor" #: DB:work_attribute_type/name:57 msgctxt "work_attribute_type" msgid "AACIMH ID" -msgstr "AACIMH ID" +msgstr "ID de AACIMH" #: DB:work_attribute_type/name:44 msgctxt "work_attribute_type" msgid "ACAM ID" -msgstr "ACAM ID" +msgstr "ID de ACAM" #: DB:work_attribute_type/name:47 msgctxt "work_attribute_type" msgid "ACDAM ID" -msgstr "ACDAM ID" +msgstr "ID de ACDAM" #: DB:work_attribute_type/name:58 msgctxt "work_attribute_type" msgid "AEI ID" -msgstr "AEI ID" +msgstr "ID de AEI" #: DB:work_attribute_type/name:43 msgctxt "work_attribute_type" msgid "AGADU ID" -msgstr "AGADU ID" +msgstr "ID de AGADU" #: DB:work_attribute_type/name:63 msgctxt "work_attribute_type" msgid "AKKA/LAA ID" -msgstr "AKKA/LAA ID" +msgstr "ID de AKKA/LAA" #: DB:work_attribute_type/name:23 msgctxt "work_attribute_type" msgid "AKM ID" -msgstr "AKM ID" +msgstr "ID de AKM" #: DB:work_attribute_type/name:38 msgctxt "work_attribute_type" msgid "AMRA ID" -msgstr "AMRA ID" +msgstr "ID de AMRA" #: DB:work_attribute_type/name:46 msgctxt "work_attribute_type" msgid "APA ID" -msgstr "APA ID" +msgstr "ID de APA" #: DB:work_attribute_type/name:41 msgctxt "work_attribute_type" msgid "APDAYC ID" -msgstr "APDAYC ID" +msgstr "ID de APDAYC" #: DB:work_attribute_type/name:13 msgctxt "work_attribute_type" msgid "APRA ID" -msgstr "Identificador APRA" +msgstr "ID de APRA" #: DB:work_attribute_type/name:48 msgctxt "work_attribute_type" msgid "ARTISJUS ID" -msgstr "ARTISJUS ID" +msgstr "ID de ARTISJUS" #: DB:work_attribute_type/name:6 msgctxt "work_attribute_type" msgid "ASCAP ID" -msgstr "Identificador ASCAP" +msgstr "ID de ASCAP" #: DB:work_attribute_type_allowed_value/value:299 msgctxt "work_attribute_type_allowed_value" @@ -1096,6 +1113,11 @@ msgctxt "work_attribute_type_allowed_value" msgid "Acemtarab" msgstr "Acemtarab" +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "" + #: DB:work_attribute_type_allowed_value/value:848 msgctxt "work_attribute_type_allowed_value" msgid "Adānā" @@ -1212,9 +1234,9 @@ msgid "" "consists of previously unreleased material (unless this type is combined " "with secondary types which change that, such as \"Compilation\")." msgstr "" -"Un álbum, quizás mejor definido como un lanzamiento de \"larga duración" -"\" (LP), generalmente consta de material inédito (a menos que este tipo se " -"combine con tipos secundarios que cambien eso, como \"Compilación\")." +"Un álbum, quizás mejor definido como un lanzamiento de \"larga " +"duración\" (LP), generalmente consta de material inédito (a menos que este " +"tipo se combine con tipos secundarios que cambien eso, como \"Compilación\")." #: DB:release_status/description:4 msgctxt "release_status" @@ -1649,7 +1671,7 @@ msgstr "si dórico" #: DB:work_attribute_type_allowed_value/value:807 msgctxt "work_attribute_type_allowed_value" msgid "B Mixolydian" -msgstr "Modo mixolidio en Si" +msgstr "si mixolidio" #: DB:work_attribute_type_allowed_value/value:33 msgctxt "work_attribute_type_allowed_value" @@ -1674,22 +1696,22 @@ msgstr "si bemol menor" #: DB:work_attribute_type_allowed_value/value:818 msgctxt "work_attribute_type_allowed_value" msgid "B-sharp major" -msgstr "Si sostenido mayor" +msgstr "si sostenido mayor" #: DB:work_attribute_type_allowed_value/value:819 msgctxt "work_attribute_type_allowed_value" msgid "B-sharp minor" -msgstr "Si sostenido menor" +msgstr "si sostenido menor" #: DB:work_attribute_type/name:7 msgctxt "work_attribute_type" msgid "BMI ID" -msgstr "Identificador BMI" +msgstr "ID de BMI" #: DB:work_attribute_type/name:26 msgctxt "work_attribute_type" msgid "BUMA/STEMRA ID" -msgstr "ID BUMA/STEMRA" +msgstr "ID de BUMA/STEMRA" #: DB:cover_art_archive.art_type/name:2 msgctxt "cover_art_type" @@ -2115,7 +2137,7 @@ msgstr "do dórico" #: DB:work_attribute_type_allowed_value/value:801 msgctxt "work_attribute_type_allowed_value" msgid "C Mixolydian" -msgstr "Modo mixolidio en Do" +msgstr "do mixolidio" #: DB:work_attribute_type_allowed_value/value:2 msgctxt "work_attribute_type_allowed_value" @@ -2135,7 +2157,7 @@ msgstr "do bemol mayor" #: DB:work_attribute_type_allowed_value/value:812 msgctxt "work_attribute_type_allowed_value" msgid "C-flat minor" -msgstr "Do bemol menor" +msgstr "do bemol menor" #: DB:work_attribute_type_allowed_value/value:4 msgctxt "work_attribute_type_allowed_value" @@ -2150,12 +2172,12 @@ msgstr "do sostenido menor" #: DB:work_attribute_type/name:19 msgctxt "work_attribute_type" msgid "CASH ID" -msgstr "CASH ID" +msgstr "ID de CASH" #: DB:work_attribute_type/name:22 msgctxt "work_attribute_type" msgid "CCLI ID" -msgstr "Identificador CCLI" +msgstr "ID de CCLI" #: DB:medium_format/name:1 msgctxt "medium_format" @@ -2185,12 +2207,12 @@ msgstr "CED" #: DB:work_attribute_type/name:45 msgctxt "work_attribute_type" msgid "COMPASS ID" -msgstr "ID DE BRÚJULA" +msgstr "ID de COMPASS" #: DB:work_attribute_type/name:73 msgctxt "work_attribute_type" msgid "COSCAP ID" -msgstr "ID COSCAP" +msgstr "ID de COSCAP" #: DB:work_attribute_type/name:65 msgctxt "work_attribute_type" @@ -2470,7 +2492,7 @@ msgstr "re dórico" #: DB:work_attribute_type_allowed_value/value:802 msgctxt "work_attribute_type_allowed_value" msgid "D Mixolydian" -msgstr "Modo mixolidio en Re" +msgstr "re mixolidio" #: DB:work_attribute_type_allowed_value/value:8 msgctxt "work_attribute_type_allowed_value" @@ -2495,7 +2517,7 @@ msgstr "re bemol menor" #: DB:work_attribute_type_allowed_value/value:813 msgctxt "work_attribute_type_allowed_value" msgid "D-sharp major" -msgstr "Re sostenido mayor" +msgstr "re sostenido mayor" #: DB:work_attribute_type_allowed_value/value:10 msgctxt "work_attribute_type_allowed_value" @@ -2999,7 +3021,7 @@ msgstr "mi dórico" #: DB:work_attribute_type_allowed_value/value:803 msgctxt "work_attribute_type_allowed_value" msgid "E Mixolydian" -msgstr "Modo mixolidio en Mi" +msgstr "mi mixolidio" #: DB:work_attribute_type_allowed_value/value:13 msgctxt "work_attribute_type_allowed_value" @@ -3014,7 +3036,7 @@ msgstr "mi menor" #: DB:work_attribute_type_allowed_value/value:11 msgctxt "work_attribute_type_allowed_value" msgid "E-flat major" -msgstr "mi bemol major" +msgstr "mi bemol mayor" #: DB:work_attribute_type_allowed_value/value:12 msgctxt "work_attribute_type_allowed_value" @@ -3024,7 +3046,7 @@ msgstr "mi bemol menor" #: DB:work_attribute_type_allowed_value/value:814 msgctxt "work_attribute_type_allowed_value" msgid "E-sharp major" -msgstr "Mi sostenido mayor" +msgstr "mi sostenido mayor" #: DB:work_attribute_type_allowed_value/value:15 msgctxt "work_attribute_type_allowed_value" @@ -3034,7 +3056,7 @@ msgstr "mi sostenido menor" #: DB:work_attribute_type/name:37 msgctxt "work_attribute_type" msgid "ECAD ID" -msgstr "ECAD ID" +msgstr "ID de ECAD" #: DB:release_group_primary_type/name:3 msgctxt "release_group_primary_type" @@ -3164,7 +3186,7 @@ msgstr "fa dórico" #: DB:work_attribute_type_allowed_value/value:804 msgctxt "work_attribute_type_allowed_value" msgid "F Mixolydian" -msgstr "Modo mixolidio en Fa" +msgstr "fa mixolidio" #: DB:work_attribute_type_allowed_value/value:17 msgctxt "work_attribute_type_allowed_value" @@ -3184,7 +3206,7 @@ msgstr "fa bemol mayor" #: DB:work_attribute_type_allowed_value/value:815 msgctxt "work_attribute_type_allowed_value" msgid "F-flat minor" -msgstr "F-flat menor" +msgstr "fa bemol menor" #: DB:work_attribute_type_allowed_value/value:19 msgctxt "work_attribute_type_allowed_value" @@ -3367,7 +3389,7 @@ msgstr "sol dórico" #: DB:work_attribute_type_allowed_value/value:805 msgctxt "work_attribute_type_allowed_value" msgid "G Mixolydian" -msgstr "Modo mixolidio en Sol" +msgstr "sol mixolidio" #: DB:work_attribute_type_allowed_value/value:22 msgctxt "work_attribute_type_allowed_value" @@ -3387,7 +3409,7 @@ msgstr "sol bemol mayor" #: DB:work_attribute_type_allowed_value/value:816 msgctxt "work_attribute_type_allowed_value" msgid "G-flat minor" -msgstr "Sol bemol menor" +msgstr "sol bemol menor" #: DB:work_attribute_type_allowed_value/value:24 msgctxt "work_attribute_type_allowed_value" @@ -3402,12 +3424,12 @@ msgstr "sol sostenido menor" #: DB:work_attribute_type/name:9 msgctxt "work_attribute_type" msgid "GEMA ID" -msgstr "Identificador GEMA" +msgstr "ID de GEMA" #: DB:work_attribute_type/name:106 msgctxt "work_attribute_type" msgid "GMR ID" -msgstr "GMR ID" +msgstr "ID de GMR" #: DB:work_attribute_type_allowed_value/value:88 msgctxt "work_attribute_type_allowed_value" @@ -3635,7 +3657,7 @@ msgstr "HDCD" #: DB:work_attribute_type/name:64 msgctxt "work_attribute_type" msgid "HFA ID" -msgstr "HFA ID" +msgstr "ID de HFA" #: DB:medium_format/name:37 msgctxt "medium_format" @@ -4344,12 +4366,12 @@ msgstr "" #: DB:work_attribute_type/name:52 msgctxt "work_attribute_type" msgid "IMRO ID" -msgstr "IMRO ID" +msgstr "ID de IMRO" #: DB:work_attribute_type/name:70 msgctxt "work_attribute_type" msgid "IPRS ID" -msgstr "IPRS ID" +msgstr "ID de IPRS" #: DB:work_attribute_type/name:14 msgctxt "work_attribute_type" @@ -4473,12 +4495,12 @@ msgstr "" #: DB:work_attribute_type/name:69 msgctxt "work_attribute_type" msgid "JACAP ID" -msgstr "JACAP ID" +msgstr "ID de JACAP" #: DB:work_attribute_type/name:3 msgctxt "work_attribute_type" msgid "JASRAC ID" -msgstr "Identificador JASRAC" +msgstr "ID de JASRAC" #: DB:work_attribute_type_allowed_value/value:114 msgctxt "work_attribute_type_allowed_value" @@ -4613,12 +4635,12 @@ msgstr "Jōnpuri" #: DB:work_attribute_type/name:51 msgctxt "work_attribute_type" msgid "KODA ID" -msgstr "KODA ID" +msgstr "ID de KODA" #: DB:work_attribute_type/name:11 msgctxt "work_attribute_type" msgid "KOMCA ID" -msgstr "Identificador KOMCA" +msgstr "ID de KOMCA" #: DB:work_attribute_type_allowed_value/value:621 msgctxt "work_attribute_type_allowed_value" @@ -5091,7 +5113,7 @@ msgstr "LaserDisc" #: DB:work_attribute_type/name:55 msgctxt "work_attribute_type" msgid "LatinNet ID" -msgstr "LatinNet ID" +msgstr "ID de LatinNet" #: DB:work_attribute_type_allowed_value/value:159 msgctxt "work_attribute_type_allowed_value" @@ -5146,17 +5168,17 @@ msgstr "Caja larga" #: DB:work_attribute_type/name:49 msgctxt "work_attribute_type" msgid "MACP ID" -msgstr "MACP ID" +msgstr "ID de MACP" #: DB:work_attribute_type/name:71 msgctxt "work_attribute_type" msgid "MCSC ID" -msgstr "MCSC ID" +msgstr "ID de MCSC" #: DB:work_attribute_type/name:72 msgctxt "work_attribute_type" msgid "MCT ID" -msgstr "MCT ID" +msgstr "ID de MCT" #: DB:work_attribute_type_allowed_value/value:963 msgctxt "work_attribute_type_allowed_value" @@ -5632,7 +5654,7 @@ msgstr "Muzaaf Devr-i Kebir" #: DB:work_attribute_type/name:12 msgctxt "work_attribute_type" msgid "MÜST ID" -msgstr "Identificador MÜST" +msgstr "ID de MÜST" #: DB:work_attribute_type_allowed_value/value:463 msgctxt "work_attribute_type_allowed_value" @@ -5782,7 +5804,7 @@ msgstr "Mōhanaṁ" #: DB:work_attribute_type/name:59 msgctxt "work_attribute_type" msgid "NICAUTOR ID" -msgstr "NICAUTOR ID" +msgstr "ID de NICAUTOR" #: DB:work_attribute_type_allowed_value/value:647 msgctxt "work_attribute_type_allowed_value" @@ -5962,7 +5984,7 @@ msgstr "Nevruzi Rumi" #: DB:work_attribute_type/name:33 msgctxt "work_attribute_type" msgid "NexTone ID" -msgstr "ID de Nextone" +msgstr "ID de NexTone" #: DB:work_attribute_type_allowed_value/value:471 msgctxt "work_attribute_type_allowed_value" @@ -6147,7 +6169,7 @@ msgstr "Nīlāṁbari" #: DB:work_attribute_type/name:25 msgctxt "work_attribute_type" msgid "OSA ID" -msgstr "ID OSA" +msgstr "ID de OSA" #: DB:cover_art_archive.art_type/name:5 msgctxt "cover_art_type" @@ -6393,7 +6415,7 @@ msgstr "Funda de Plástico" #: DB:work_type/name:28 msgctxt "work_type" msgid "Play" -msgstr "Tocar" +msgstr "Obra de teatro" #: DB:medium_format/name:74 msgctxt "medium_format" @@ -6911,12 +6933,12 @@ msgstr "SACD (multicanal) (Súper Audio CD)" #: DB:work_attribute_type/name:21 msgctxt "work_attribute_type" msgid "SACEM ID" -msgstr "SACEM ID" +msgstr "ID de SACEM" #: DB:work_attribute_type/name:56 msgctxt "work_attribute_type" msgid "SACIM ID" -msgstr "SACIM ID" +msgstr "ID de SACIM" #: DB:work_attribute_type/name:27 msgctxt "work_attribute_type" @@ -6926,37 +6948,37 @@ msgstr "ID de SACM" #: DB:work_attribute_type/name:42 msgctxt "work_attribute_type" msgid "SACVEN ID" -msgstr "SACVEN ID" +msgstr "ID de SACVEN" #: DB:work_attribute_type/name:24 msgctxt "work_attribute_type" msgid "SADAIC ID" -msgstr "Identificador SADAIC" +msgstr "ID de SADAIC" #: DB:work_attribute_type/name:68 msgctxt "work_attribute_type" msgid "SAMRO ID" -msgstr "SAMRO ID" +msgstr "ID de SAMRO" #: DB:work_attribute_type/name:40 msgctxt "work_attribute_type" msgid "SAYCE ID" -msgstr "SAYCE ID" +msgstr "ID de SAYCE" #: DB:work_attribute_type/name:39 msgctxt "work_attribute_type" msgid "SAYCO ID" -msgstr "SAYCO ID" +msgstr "ID de SAYCO" #: DB:work_attribute_type/name:140 msgctxt "work_attribute_type" msgid "SAZAS ID" -msgstr "SAZAS ID" +msgstr "ID de SAZAS" #: DB:work_attribute_type/name:173 msgctxt "work_attribute_type" msgid "SCD ID" -msgstr "SCD ID" +msgstr "ID de SCD" #: DB:medium_format/name:62 msgctxt "medium_format" @@ -6966,17 +6988,17 @@ msgstr "Tarjeta SD" #: DB:work_attribute_type/name:8 msgctxt "work_attribute_type" msgid "SESAC ID" -msgstr "Identificador SESAC" +msgstr "ID de SESAC" #: DB:work_attribute_type/name:60 msgctxt "work_attribute_type" msgid "SGACEDOM ID" -msgstr "SGACEDOM ID" +msgstr "ID de SGACEDOM" #: DB:work_attribute_type/name:20 msgctxt "work_attribute_type" msgid "SGAE ID" -msgstr "SGAE ID" +msgstr "ID de SGAE" #: DB:medium_format/name:36 msgctxt "medium_format" @@ -7001,47 +7023,47 @@ msgstr "SHM-SACD (multicanal)" #: DB:work_attribute_type/name:36 msgctxt "work_attribute_type" msgid "SIAE ID" -msgstr "SIAE ID" +msgstr "ID de SIAE" #: DB:work_attribute_type/name:61 msgctxt "work_attribute_type" msgid "SOBODAYCOM ID" -msgstr "SOBODAYCOM ID" +msgstr "ID de SOBODAYCOM" #: DB:work_attribute_type/name:10 msgctxt "work_attribute_type" msgid "SOCAN ID" -msgstr "Identificador SOCAN" +msgstr "ID de SOCAN" #: DB:work_attribute_type/name:53 msgctxt "work_attribute_type" msgid "SODRAC ID" -msgstr "SODRAC ID" +msgstr "ID de SODRAC" #: DB:work_attribute_type/name:35 msgctxt "work_attribute_type" msgid "SPA ID" -msgstr "SPA ID" +msgstr "ID de SPA" #: DB:work_attribute_type/name:62 msgctxt "work_attribute_type" msgid "SPAC ID" -msgstr "SPAC ID" +msgstr "ID de SPAC" #: DB:work_attribute_type/name:54 msgctxt "work_attribute_type" msgid "STEF ID" -msgstr "STEF ID" +msgstr "ID de STEF" #: DB:work_attribute_type/name:50 msgctxt "work_attribute_type" msgid "STIM ID" -msgstr "STIM ID" +msgstr "ID de STIM" #: DB:work_attribute_type/name:18 msgctxt "work_attribute_type" msgid "SUISA ID" -msgstr "SUISA ID" +msgstr "ID de SUISA" #: DB:medium_format/name:23 msgctxt "medium_format" @@ -7627,12 +7649,12 @@ msgstr "Sūltāl" #: DB:work_attribute_type/name:66 msgctxt "work_attribute_type" msgid "TEOSTO ID" -msgstr "TEOSTO ID" +msgstr "ID de TEOSTO" #: DB:work_attribute_type/name:67 msgctxt "work_attribute_type" msgid "TONO ID" -msgstr "TONO ID" +msgstr "ID de TONO" #: DB:work_attribute_type_allowed_value/value:573 msgctxt "work_attribute_type_allowed_value" diff --git a/po/attributes.es_419.po b/po/attributes.es_419.po new file mode 100644 index 00000000000..7b3e45cbe0e --- /dev/null +++ b/po/attributes.es_419.po @@ -0,0 +1,8550 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es_419\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: DB:work_type/description:9 +msgctxt "work_type" +msgid "" +"\"Motet\" is a term that applies to different types of (usually " +"unaccompanied) choral works. What exactly is a motet depends quite a bit on " +"the period." +msgstr "" + +#: DB:work_type/description:5 +msgctxt "work_type" +msgid "" +"\"Sonata\" is a general term used to describe small scale (very often solo " +"or solo + keyboard) instrumental works, initially in baroque music." +msgstr "" + +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "" + +#: DB:medium_format/name:54 +msgctxt "medium_format" +msgid "10\" Shellac" +msgstr "" + +#: DB:medium_format/name:30 +msgctxt "medium_format" +msgid "10\" Vinyl" +msgstr "" + +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "" + +#: DB:medium_format/name:72 +msgctxt "medium_format" +msgid "12\" LaserDisc" +msgstr "" + +#: DB:medium_format/name:55 +msgctxt "medium_format" +msgid "12\" Shellac" +msgstr "" + +#: DB:medium_format/name:31 +msgctxt "medium_format" +msgid "12\" Vinyl" +msgstr "" + +#: DB:medium_format/name:49 +msgctxt "medium_format" +msgid "3.5\" Floppy Disk" +msgstr "" + +#: DB:medium_format/name:91 +msgctxt "medium_format" +msgid "5.25\" Floppy Disk" +msgstr "" + +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "" + +#: DB:medium_format/name:52 +msgctxt "medium_format" +msgid "7\" Flexi-disc" +msgstr "" + +#: DB:medium_format/name:56 +msgctxt "medium_format" +msgid "7\" Shellac" +msgstr "" + +#: DB:medium_format/name:29 +msgctxt "medium_format" +msgid "7\" Vinyl" +msgstr "" + +#: DB:medium_format/name:71 +msgctxt "medium_format" +msgid "8\" LaserDisc" +msgstr "" + +#: DB:medium_format/name:78 +msgctxt "medium_format" +msgid "8-Track Cartridge" +msgstr "" + +#: DB:medium_format/name:34 +msgctxt "medium_format" +msgid "8cm CD" +msgstr "" + +#: DB:medium_format/name:40 +msgctxt "medium_format" +msgid "8cm CD+G" +msgstr "" + +#: DB:medium_format/description:166 +msgctxt "medium_format" +msgid "8cm DVD disc, often used for video singles." +msgstr "" + +#: DB:medium_format/description:58 +msgctxt "medium_format" +msgid "" +"90 rpm, vertical-cut shellac discs, produced by the Pathé label from 1906 to " +"1932." +msgstr "" + +#: DB:release_group_secondary_type/description:1 +msgctxt "release_group_secondary_type" +msgid "" +"

A compilation, for the purposes of the MusicBrainz database, covers the " +"following types of releases:

\n" +"\n" +"
    \n" +"
  • a collection of recordings from various old sources (not necessarily " +"released) combined together. For example a \"best of\", retrospective or " +"rarities type release.
  • \n" +"
  • a various artists song collection, usually based on a general theme " +"(\"Songs for Lovers\"), a particular time period (\"Hits of 1998\"), or some " +"other kind of grouping (\"Songs From the Movies\", the \"Café del Mar\" " +"series, etc).
  • \n" +"
\n" +"\n" +"

The MusicBrainz project does not generally consider the following to be " +"compilations:

\n" +"\n" +"
    \n" +"
  • a reissue of an album, even if it includes bonus tracks.
  • \n" +"
  • a tribute release containing covers of music by another artist.
  • \n" +"
  • a classical release containing new recordings of works by a classical " +"artist.
  • \n" +"
  • a split release containing new music by several artists
  • \n" +"
\n" +"\n" +"

Compilation should be used in addition to, not instead of, other types: " +"for example, a various artists soundtrack using pre-released music should be " +"marked as both a soundtrack and a compilation.

" +msgstr "" + +#: DB:release_group_primary_type/description:2 +msgctxt "release_group_primary_type" +msgid "" +"

A single has different definitions depending on the market it is released " +"for.

\n" +"\n" +"
    \n" +"
  • In the US market, a single typically has one main song and possibly a " +"handful of additional tracks or remixes of the main track; the single is " +"usually named after its main song; the single is primarily released to get " +"radio play and to promote release sales.
  • \n" +"
  • The U.K. market (also Australia and Europe) is similar to the US market, " +"however singles are often released as a two disc set, with each disc sold " +"separately. They also sometimes have a longer version of the single (often " +"combining the tracks from the two disc version) which is very similar to the " +"US style single, and this is referred to as a \"maxi-single\". (In some " +"cases the maxi-single is longer than the release the single comes from!)\n" +"
  • The Japanese market is much more single driven. The defining factor is " +"typically the length of the single and the price it is sold at. Up until " +"1995 it was common that these singles would be released using a mini-cd " +"format, which is basically a much smaller CD typically 8 cm in diameter. " +"Around 1995 the 8cm single was phased out, and the standard 12cm CD single " +"is more common now; generally re-releases of singles from pre-1995 will be " +"released on the 12cm format, even if they were originally released on the " +"8cm format. Japanese singles often come with instrumental versions of the " +"songs and also have maxi-singles like the UK with remixed versions of the " +"songs. Sometimes a maxi-single will have more tracks than an EP but as it's " +"all alternate versions of the same 2-3 songs it is still classified as a " +"single.
  • \n" +"
\n" +"\n" +"

There are other variations of the single called a \"split single\" where " +"songs by two different artists are released on the one disc, typically vinyl." +"

" +msgstr "" + +#: DB:medium_format/description:95 +msgctxt "medium_format" +msgid "" +"A \"digital collectible\" device, mostly used for k-pop music, that is " +"connected to a phone via Bluetooth or headphone jack and unlocks the release " +"for listening in a companion app for a limited period of time." +msgstr "" + +#: DB:place_type/description:9 +msgctxt "place_type" +msgid "" +"A (usually green) space kept available for recreation in an otherwise built " +"and populated area." +msgstr "" + +#: DB:medium_format/description:129 +msgctxt "medium_format" +msgid "" +"A CD that contains both audio and data in the same session. The data is " +"often in the first track, that will have to be skipped in many audio " +"players. Relatively common in old video game CDs." +msgstr "" + +#: DB:medium_format/description:42 +msgctxt "medium_format" +msgid "" +"A CD that contains two sessions, one with audio and one with data. Since " +"they are properly separated, audio players will not try to play the data " +"session and it won't be part of the disc ID for the CD." +msgstr "" + +#: DB:release_group_secondary_type/description:8 +msgctxt "release_group_secondary_type" +msgid "" +"A DJ-mix is a sequence of several recordings played one after the other, " +"each one modified so that they blend together into a continuous flow of " +"music. A DJ-mix release requires that the recordings be modified in some " +"manner, and the DJ who does this modification is usually (although not " +"always) credited in a fairly prominent way." +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:794 +msgctxt "work_attribute_type_allowed_value" +msgid "A Dorian" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:806 +msgctxt "work_attribute_type_allowed_value" +msgid "A Mixolydian" +msgstr "" + +#: DB:work_type/description:2 +msgctxt "work_type" +msgid "" +"A ballet is music composed to be used, together with a choreography, for a " +"ballet dance production." +msgstr "" + +#: DB:release_packaging/description:19 +msgctxt "release_packaging" +msgid "A box usually containing multiple discs as part of a boxed set." +msgstr "" + +#: DB:work_type/description:3 +msgctxt "work_type" +msgid "" +"A cantata is a vocal (often choral) composition with an instrumental " +"(usually orchestral) accompaniment, typically in several movements." +msgstr "" + +#: DB:medium_format/description:46 +msgctxt "medium_format" +msgid "" +"A card (or other similar physical support) that doesn't contain the music " +"itself directly, but provides a code to download it digitally. Often bundled " +"with physical releases but sometimes sold as a standalone item (especially " +"in Asia)." +msgstr "" + +#: DB:label_type/description:10 +msgctxt "label_type" +msgid "" +"A company that manufactures physical releases (such as pressing CDs or vinyl " +"records)." +msgstr "" + +#: DB:work_type/description:4 +msgctxt "work_type" +msgid "" +"A concerto is a musical work for soloist(s) accompanied by an orchestra." +msgstr "" + +#: DB:event_type/description:4 +msgctxt "event_type" +msgid "" +"A convention, expo or trade fair is an event which is not typically " +"orientated around music performances, but can include them as side " +"activities." +msgstr "" + +#: DB:release_status/description:2 +msgctxt "release_status" +msgid "" +"A give-away release or a release intended to promote an upcoming official " +"release (e.g. pre-release versions, releases included with a magazine, " +"versions supplied to radio DJs for air-play)." +msgstr "" + +#: DB:artist_type/description:2 +msgctxt "artist_type" +msgid "" +"A grouping of multiple musicians who perform together (in some cases, some " +"or all of the members might differ in different performances or recordings)." +msgstr "" + +#: DB:instrument_type/description:7 +msgctxt "instrument_type" +msgid "" +"A grouping of related but different instruments, like the different violin-" +"like instruments" +msgstr "" + +#: DB:label_type/description:5 +msgctxt "label_type" +msgid "A label that primarily puts out unsanctioned (bootleg) releases." +msgstr "" + +#: DB:release_packaging/description:55 +msgctxt "release_packaging" +msgid "" +"A large cardboard box often used until the mid-1990s to sell CDs in North " +"America, so that they would fit existing vinyl racks in stores." +msgstr "" + +#: DB:place_type/description:43 +msgctxt "place_type" +msgid "A large, permanent outdoor stage, typically with a fixed seating area." +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:28 +msgctxt "work_attribute_type_allowed_value" +msgid "A major" +msgstr "" + +#: DB:work_type/description:8 +msgctxt "work_type" +msgid "" +"A mass is a choral composition that sets the invariable portions of the " +"Christian Eucharistic liturgy (Kyrie - Gloria - Credo - Sanctus - Benedictus " +"- Agnus Dei, with other portions sometimes added) to music." +msgstr "" + +#: DB:event_type/description:5 +msgctxt "event_type" +msgid "" +"A masterclass or clinic is an event where an artist meets with a small to " +"medium-sized audience and instructs them individually and/or takes questions " +"intended to improve the audience members' playing skills." +msgstr "" + +#: DB:release_packaging/description:56 +msgctxt "release_packaging" +msgid "" +"A minimalistic plastic case where the back and front are kept together by a " +"small hinge. Most commonly used for cheap promotion / DIY releases." +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:29 +msgctxt "work_attribute_type_allowed_value" +msgid "A minor" +msgstr "" + +#: DB:work_type/description:13 +msgctxt "work_type" +msgid "" +"A partita is an instrumental piece composed of a series of variations, and " +"it's by its current definition very similar to a suite." +msgstr "" + +#: DB:event_type/description:3 +msgctxt "event_type" +msgid "" +"A party, reception or other event held specifically for the launch of a " +"release." +msgstr "" + +#: DB:release_packaging/description:17 +msgctxt "release_packaging" +msgid "A perfect bound book with a sleeve at the end to hold a CD" +msgstr "" + +#: DB:event_type/description:6 +msgctxt "event_type" +msgid "" +"A performance of one or more plays, musicals, operas, ballets or other " +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." +msgstr "" + +#: DB:place_type/description:8 +msgctxt "place_type" +msgid "A place (generally a factory) at which physical media are manufactured." +msgstr "" + +#: DB:place_type/description:5 +msgctxt "place_type" +msgid "" +"A place consisting of a large enclosed area with a central event space " +"surrounded by tiered seating for spectators, which can be used for indoor " +"sports, concerts and other entertainment events." +msgstr "" + +#: DB:place_type/description:1 +msgctxt "place_type" +msgid "" +"A place designed for non-live production of music, typically a recording " +"studio." +msgstr "" + +#: DB:place_type/description:2 +msgctxt "place_type" +msgid "" +"A place that has live artistic performances as one of its primary functions, " +"such as a concert hall." +msgstr "" + +#: DB:place_type/description:6 +msgctxt "place_type" +msgid "" +"A place that has worship or religious studies as its main function. " +"Religious buildings often host concerts and serve as recording locations, " +"especially for classical music." +msgstr "" + +#: DB:place_type/description:4 +msgctxt "place_type" +msgid "" +"A place whose main purpose is to host outdoor sport events, typically " +"consisting of a pitch surrounded by a structure for spectators with no roof, " +"or a roof which can be retracted." +msgstr "" + +#: DB:release_status/description:6 +msgctxt "release_status" +msgid "" +"A planned official release that was cancelled before being released, but for " +"which enough info is known to still confidently list it (e.g. it was " +"available for preorder)." +msgstr "" + +#: DB:work_type/description:28 +msgctxt "work_type" +msgid "" +"A play is a form of literature usually consisting of scripted dialogue " +"between characters, and intended for theatrical performance rather than just " +"reading." +msgstr "" + +#: DB:work_type/description:21 +msgctxt "work_type" +msgid "" +"A poem is a literary piece, generally short and in verse, where words are " +"usually chosen for their sound and for the images and ideas they suggest." +msgstr "" + +#: DB:release_status/description:5 +msgctxt "release_status" +msgid "" +"A previously official release that was actively withdrawn from circulation " +"by the artist and/or their record company after being released, whether to " +"replace it with a new version with some changes or to just retire it " +"altogether (e.g. because of legal issues)." +msgstr "" + +#: DB:release_group_secondary_type/description:10 +msgctxt "release_group_secondary_type" +msgid "" +"A promotional release mostly meant to have limited circulation and " +"demonstrate the sound of an artist to record labels, publishers and other " +"artists." +msgstr "" + +#: DB:work_type/description:14 +msgctxt "work_type" +msgid "" +"A quartet is a musical composition scored for four voices or instruments." +msgstr "" + +#: DB:series_type/description:8 +msgctxt "series_type" +msgid "A recurring festival, usually happening annually in the same location." +msgstr "" + +#: DB:release_group_secondary_type/description:12 +msgctxt "release_group_secondary_type" +msgid "" +"A release mostly consisting of field recordings (such as nature sounds or " +"city/industrial noise)." +msgstr "" + +#: DB:release_group_secondary_type/description:7 +msgctxt "release_group_secondary_type" +msgid "A release that primarily contains remixed material." +msgstr "" + +#: DB:release_group_secondary_type/description:6 +msgctxt "release_group_secondary_type" +msgid "" +"A release that was recorded live. Generally this means \"with an audience\", " +"be it in person, through the radio or in another similar way." +msgstr "" + +#: DB:place_type/description:7 +msgctxt "place_type" +msgid "" +"A school, university or other similar educational institution (especially, " +"but not only, one where music is taught)" +msgstr "" + +#: DB:series_type/description:14 +msgctxt "series_type" +msgid "A series of artists honoured by the same award." +msgstr "" + +#: DB:series_type/description:13 +msgctxt "series_type" +msgid "A series of artists." +msgstr "" + +#: DB:series_type/description:15 +msgctxt "series_type" +msgid "A series of award ceremonies, usually one per year." +msgstr "" + +#: DB:series_type/description:6 +msgctxt "series_type" +msgid "A series of events." +msgstr "" + +#: DB:series_type/description:9 +msgctxt "series_type" +msgid "A series of performances of the same show at the same venue." +msgstr "" + +#: DB:series_type/description:48 +msgctxt "series_type" +msgid "A series of recordings honoured by the same award." +msgstr "" + +#: DB:series_type/description:3 +msgctxt "series_type" +msgid "A series of recordings." +msgstr "" + +#: DB:series_type/description:7 +msgctxt "series_type" +msgid "A series of related concerts by an artist in different locations." +msgstr "" + +#: DB:series_type/description:12 +msgctxt "series_type" +msgid "A series of related concerts by an artist in the same location." +msgstr "" + +#: DB:series_type/description:80 +msgctxt "series_type" +msgid "" +"A series of release groups containing episodes of the same podcast series." +msgstr "" + +#: DB:series_type/description:47 +msgctxt "series_type" +msgid "A series of release groups honoured by the same award." +msgstr "" + +#: DB:series_type/description:1 +msgctxt "series_type" +msgid "A series of release groups." +msgstr "" + +#: DB:series_type/description:2 +msgctxt "series_type" +msgid "A series of releases." +msgstr "" + +#: DB:series_type/description:46 +msgctxt "series_type" +msgid "A series of works honoured by the same award." +msgstr "" + +#: DB:series_type/description:5 +msgctxt "series_type" +msgid "A series of works which form a catalogue of classical compositions." +msgstr "" + +#: DB:series_type/description:4 +msgctxt "series_type" +msgid "A series of works." +msgstr "" + +#: DB:place_type/description:42 +msgctxt "place_type" +msgid "" +"A small venue (such as a jazz club, nightclub or pub) that hosts concerts " +"and social events. May or may not have a dedicated stage or seating." +msgstr "" + +#: DB:work_type/description:15 +msgctxt "work_type" +msgid "" +"A song cycle is a group of songs designed to be performed in a sequence as a " +"single entity. In most cases, all of the songs are by the same composer, and " +"often use words from the same poet or lyricist." +msgstr "" + +#: DB:work_type/description:17 +msgctxt "work_type" +msgid "" +"A song is in its origin (and still in most cases) a composition for voice, " +"with or without instruments, performed by singing. This is the most common " +"form by far in folk and popular music, but also fairly common in a classical " +"context (\"art songs\")." +msgstr "" + +#: DB:work_type/description:22 +msgctxt "work_type" +msgid "" +"A soundtrack is the music that accompanies a film, TV program, videogame, or " +"even book." +msgstr "" + +#: DB:release_group_secondary_type/description:2 +msgctxt "release_group_secondary_type" +msgid "" +"A soundtrack is the musical score to a movie, TV series, stage show, video " +"game, or other medium. Video game CDs with audio tracks should be classified " +"as soundtracks because the musical properties of the CDs are more " +"interesting to MusicBrainz than their data properties." +msgstr "" + +#: DB:instrument_type/description:6 +msgctxt "instrument_type" +msgid "" +"A standard grouping of instruments often played together, like a string " +"quartet" +msgstr "" + +#: DB:medium_format/description:165 +msgctxt "medium_format" +msgid "" +"A standard size CD with the playing/data area of a 8cm CD; the remaining " +"area is empty clear/translucent plastic, sometimes printed." +msgstr "" + +#: DB:medium_format/description:167 +msgctxt "medium_format" +msgid "" +"A standard size DVD with the playing/data area of a 8cm MiniDVD; the " +"remaining area is empty clear/translucent plastic, sometimes printed." +msgstr "" + +#: DB:work_type/description:6 +msgctxt "work_type" +msgid "" +"A suite is an ordered set of instrumental or orchestral pieces normally " +"performed in a concert setting. They may be extracts from a ballet or opera, " +"or entirely original movements." +msgstr "" + +#: DB:work_type/description:18 +msgctxt "work_type" +msgid "" +"A symphonic poem is a piece of programmatic orchestral music, usually in a " +"single movement, that evokes a painting, a landscape, the content of a poem, " +"a story or novel, or other non-musical source." +msgstr "" + +#: DB:work_type/description:16 +msgctxt "work_type" +msgid "" +"A symphony is an extended composition, almost always scored for orchestra " +"without soloists." +msgstr "" + +#: DB:place_type/description:45 +msgctxt "place_type" +msgid "" +"A temporary outdoor stage erected for a music festival or other similar " +"event." +msgstr "" + +#: DB:release_packaging/description:2 +msgctxt "release_packaging" +msgid "A thinner jewel case, commonly used for CD singles." +msgstr "" + +#: DB:medium_format/description:128 +msgctxt "medium_format" +msgid "" +"A very small optical disc in a protective case that was intended for " +"portable listening. It did not find commercial success, but a few albums " +"were released in the format in the early 00s." +msgstr "" + +#: DB:medium_format/description:131 +msgctxt "medium_format" +msgid "" +"A video format used in the 1980s and 90s for professional work, including " +"television and video archival." +msgstr "" + +#: DB:work_type/description:19 +msgctxt "work_type" +msgid "" +"A zarzuela is a Spanish lyric-dramatic work that alternates between spoken " +"and sung scenes, the latter incorporating operatic and popular song, as well " +"as dance." +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:26 +msgctxt "work_attribute_type_allowed_value" +msgid "A-flat major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:27 +msgctxt "work_attribute_type_allowed_value" +msgid "A-flat minor" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:817 +msgctxt "work_attribute_type_allowed_value" +msgid "A-sharp major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:30 +msgctxt "work_attribute_type_allowed_value" +msgid "A-sharp minor" +msgstr "" + +#: DB:work_attribute_type/name:57 +msgctxt "work_attribute_type" +msgid "AACIMH ID" +msgstr "" + +#: DB:work_attribute_type/name:44 +msgctxt "work_attribute_type" +msgid "ACAM ID" +msgstr "" + +#: DB:work_attribute_type/name:47 +msgctxt "work_attribute_type" +msgid "ACDAM ID" +msgstr "" + +#: DB:work_attribute_type/name:58 +msgctxt "work_attribute_type" +msgid "AEI ID" +msgstr "" + +#: DB:work_attribute_type/name:43 +msgctxt "work_attribute_type" +msgid "AGADU ID" +msgstr "" + +#: DB:work_attribute_type/name:63 +msgctxt "work_attribute_type" +msgid "AKKA/LAA ID" +msgstr "" + +#: DB:work_attribute_type/name:23 +msgctxt "work_attribute_type" +msgid "AKM ID" +msgstr "" + +#: DB:work_attribute_type/name:38 +msgctxt "work_attribute_type" +msgid "AMRA ID" +msgstr "" + +#: DB:work_attribute_type/name:46 +msgctxt "work_attribute_type" +msgid "APA ID" +msgstr "" + +#: DB:work_attribute_type/name:41 +msgctxt "work_attribute_type" +msgid "APDAYC ID" +msgstr "" + +#: DB:work_attribute_type/name:13 +msgctxt "work_attribute_type" +msgid "APRA ID" +msgstr "" + +#: DB:work_attribute_type/name:48 +msgctxt "work_attribute_type" +msgid "ARTISJUS ID" +msgstr "" + +#: DB:work_attribute_type/name:6 +msgctxt "work_attribute_type" +msgid "ASCAP ID" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:299 +msgctxt "work_attribute_type_allowed_value" +msgid "Acem" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:305 +msgctxt "work_attribute_type_allowed_value" +msgid "Acem Nevruz" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:306 +msgctxt "work_attribute_type_allowed_value" +msgid "Acem Rast" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:300 +msgctxt "work_attribute_type_allowed_value" +msgid "Acem Zemzeme" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:301 +msgctxt "work_attribute_type_allowed_value" +msgid "Acemaşiran" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:302 +msgctxt "work_attribute_type_allowed_value" +msgid "Acembuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:303 +msgctxt "work_attribute_type_allowed_value" +msgid "Acemkürdi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:304 +msgctxt "work_attribute_type_allowed_value" +msgid "Acemli Yegah" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:307 +msgctxt "work_attribute_type_allowed_value" +msgid "Acemtarab" +msgstr "" + +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:848 +msgctxt "work_attribute_type_allowed_value" +msgid "Adānā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:849 +msgctxt "work_attribute_type_allowed_value" +msgid "Adānā malhār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:308 +msgctxt "work_attribute_type_allowed_value" +msgid "Aheng-i Tarab" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:850 +msgctxt "work_attribute_type_allowed_value" +msgid "Ahir lalit" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:851 +msgctxt "work_attribute_type_allowed_value" +msgid "Ahira bhairav" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:852 +msgctxt "work_attribute_type_allowed_value" +msgid "Ahiri tōḍī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:309 +msgctxt "work_attribute_type_allowed_value" +msgid "Ak Dügah" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:690 +msgctxt "work_attribute_type_allowed_value" +msgid "Aksak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:691 +msgctxt "work_attribute_type_allowed_value" +msgid "Aksaksemai" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:692 +msgctxt "work_attribute_type_allowed_value" +msgid "Aksaksemai Evferi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:853 +msgctxt "work_attribute_type_allowed_value" +msgid "Alahaiyā bilāval" +msgstr "" + +#: DB:release_group_primary_type/name:1 +msgctxt "release_group_primary_type" +msgid "Album" +msgstr "" + +#: DB:series_ordering_type/description:2 +msgctxt "series_ordering_type" +msgid "Allows for manually setting the position of each item in the series." +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:854 +msgctxt "work_attribute_type_allowed_value" +msgid "Ambikā" +msgstr "" + +#: DB:place_type/name:43 +msgctxt "place_type" +msgid "Amphitheatre" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:855 +msgctxt "work_attribute_type_allowed_value" +msgid "Amr̥t varṣiṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:40 +msgctxt "work_attribute_type_allowed_value" +msgid "Amṛtavarṣiṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:39 +msgctxt "work_attribute_type_allowed_value" +msgid "Amṛtavāhiṇi" +msgstr "" + +#: DB:release_group_primary_type/description:3 +msgctxt "release_group_primary_type" +msgid "" +"An EP is a so-called \"Extended Play\" release and often contains the " +"letters EP in the title. Generally an EP will be shorter than a full length " +"release (an LP or \"Long Play\") and the tracks are usually exclusive to the " +"EP, in other words the tracks don't come from a previously issued release. " +"EP is fairly difficult to define; usually it should only be assumed that a " +"release is an EP if the artist defines it as such." +msgstr "" + +#: DB:release_group_primary_type/description:1 +msgctxt "release_group_primary_type" +msgid "" +"An album, perhaps better defined as a \"Long Play\" (LP) release, generally " +"consists of previously unreleased material (unless this type is combined " +"with secondary types which change that, such as \"Compilation\")." +msgstr "" + +#: DB:release_status/description:4 +msgctxt "release_status" +msgid "" +"An alternate version of a release where the titles have been changed. These " +"don't correspond to any real release and should be linked to the original " +"release using the transl(iter)ation relationship." +msgstr "" + +#: DB:work_type/description:1 +msgctxt "work_type" +msgid "" +"An aria is a self-contained piece for one voice usually with orchestral " +"accompaniment. They are most common inside operas, but also appear in " +"cantatas, oratorios and even on their own (concert arias)." +msgstr "" + +#: DB:work_type/description:25 +msgctxt "work_type" +msgid "" +"An audio drama is a dramatized, purely acoustic performance, broadcast on " +"radio or published on an audio medium (tape, CD, etc.)." +msgstr "" + +#: DB:release_group_secondary_type/description:11 +msgctxt "release_group_secondary_type" +msgid "" +"An audio drama is an audio-only performance of a play (often, but not " +"always, meant for radio). Unlike audiobooks, it usually has multiple " +"performers rather than a main narrator." +msgstr "" + +#: DB:release_group_secondary_type/description:5 +msgctxt "release_group_secondary_type" +msgid "An audiobook is a book read by a narrator without music." +msgstr "" + +#: DB:event_type/description:7 +msgctxt "event_type" +msgid "" +"An award ceremony is an event which is focused on the granting of prizes, " +"but often includes musical performances in between the awarding of said " +"prizes, especially for musical awards." +msgstr "" + +#: DB:release_group_primary_type/description:12 +msgctxt "release_group_primary_type" +msgid "" +"An episodic release that was originally broadcast via radio, television, or " +"the Internet, including podcasts." +msgstr "" + +#: DB:event_type/description:2 +msgctxt "event_type" +msgid "" +"An event where a number of different acts perform across the course of the " +"day. Larger festivals may be spread across multiple days." +msgstr "" + +#: DB:event_type/description:1 +msgctxt "event_type" +msgid "" +"An individual concert by a single artist or collaboration, often with " +"supporting artists who perform before the main act." +msgstr "" + +#: DB:place_type/description:44 +msgctxt "place_type" +msgid "" +"An indoor performance facility with fixed seating, whether for music " +"(usually, but not always, classical music) or theatre." +msgstr "" + +#: DB:release_group_secondary_type/description:4 +msgctxt "release_group_secondary_type" +msgid "An interview release contains an interview, generally with an artist." +msgstr "" + +#: DB:release_packaging/description:54 +msgctxt "release_packaging" +msgid "An often decorated metal tin containing one or more CDs." +msgstr "" + +#: DB:work_type/description:10 +msgctxt "work_type" +msgid "" +"An opera is a dramatised work (text + musical score) for singers and " +"orchestra/ensemble. In true operas all dialog is sung, through arias and " +"recitatives, but some styles of opera include spoken dialogue." +msgstr "" + +#: DB:work_type/description:11 +msgctxt "work_type" +msgid "" +"An oratorio is a large (usually sacred) musical composition including an " +"orchestra, a choir, and soloists. While it has characters and a plot, it is " +"usually not performed theatrically (it lacks costumes, props and strong " +"character interaction)." +msgstr "" + +#: DB:label_type/description:8 +msgctxt "label_type" +msgid "An organization which collects royalties on behalf of artists." +msgstr "" + +#: DB:work_type/description:12 +msgctxt "work_type" +msgid "" +"An overture is, generally, the instrumental introduction to an opera. " +"Independent (\"concert\") overtures also exist, which are generally " +"programmatic works shorter than a symphonic poem." +msgstr "" + +#: DB:release_status/description:3 +msgctxt "release_status" +msgid "" +"An unofficial/underground release that was not sanctioned by the artist and/" +"or the record company. This includes unofficial live recordings and pirated " +"releases." +msgstr "" + +#: DB:work_type/description:20 +msgctxt "work_type" +msgid "" +"An étude is an instrumental musical composition, most commonly of " +"considerable difficulty, usually designed to provide practice material for " +"perfecting a particular technical skill." +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:310 +msgctxt "work_attribute_type_allowed_value" +msgid "Anberefşan" +msgstr "" + +#: DB:release_status/description:1 +msgctxt "release_status" +msgid "" +"Any release officially sanctioned by the artist and/or their record company. " +"Most releases will fit into this category." +msgstr "" + +#: DB:release_group_primary_type/description:11 +msgctxt "release_group_primary_type" +msgid "" +"Any release that does not fit or can't decisively be placed in any of the " +"other categories." +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:311 +msgctxt "work_attribute_type_allowed_value" +msgid "Araban" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:312 +msgctxt "work_attribute_type_allowed_value" +msgid "Arabanbuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:313 +msgctxt "work_attribute_type_allowed_value" +msgid "Arabankurdi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:314 +msgctxt "work_attribute_type_allowed_value" +msgid "Aram-ı Can" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:315 +msgctxt "work_attribute_type_allowed_value" +msgid "Aram-ı Dil" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:604 +msgctxt "work_attribute_type_allowed_value" +msgid "Aranağme" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:316 +msgctxt "work_attribute_type_allowed_value" +msgid "Arazbar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:317 +msgctxt "work_attribute_type_allowed_value" +msgid "Arazbar Zemzeme" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:318 +msgctxt "work_attribute_type_allowed_value" +msgid "Arazbarbuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:319 +msgctxt "work_attribute_type_allowed_value" +msgid "Arazbarek" +msgstr "" + +#: DB:editor_collection_type/name:7 +msgctxt "collection_type" +msgid "Area collection" +msgstr "" + +#: DB:area_alias_type/name:1 +msgctxt "alias_type" +msgid "Area name" +msgstr "" + +#: DB:work_type/name:1 +msgctxt "work_type" +msgid "Aria" +msgstr "" + +#: DB:series_type/name:14 +msgctxt "series_type" +msgid "Artist award" +msgstr "" + +#: DB:editor_collection_type/name:8 +msgctxt "collection_type" +msgid "Artist collection" +msgstr "" + +#: DB:artist_alias_type/name:1 +msgctxt "alias_type" +msgid "Artist name" +msgstr "" + +#: DB:series_type/name:13 +msgctxt "series_type" +msgid "Artist series" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:693 +msgctxt "work_attribute_type_allowed_value" +msgid "Artık Aksaksemai" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:856 +msgctxt "work_attribute_type_allowed_value" +msgid "Asā māṇḍ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:44 +msgctxt "work_attribute_type_allowed_value" +msgid "Asāvēri" +msgstr "" + +#: DB:editor_collection_type/name:5 +msgctxt "collection_type" +msgid "Attending" +msgstr "" + +#: DB:release_group_secondary_type/name:11 +msgctxt "release_group_secondary_type" +msgid "Audio drama" +msgstr "" + +#: DB:work_type/name:25 +msgctxt "work_type" +msgid "Audio drama" +msgstr "" + +#: DB:release_group_secondary_type/name:5 +msgctxt "release_group_secondary_type" +msgid "Audiobook" +msgstr "" + +#: DB:series_ordering_type/name:1 +msgctxt "series_ordering_type" +msgid "Automatic" +msgstr "" + +#: DB:event_type/name:7 +msgctxt "event_type" +msgid "Award ceremony" +msgstr "" + +#: DB:series_type/name:15 +msgctxt "series_type" +msgid "Award ceremony" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:694 +msgctxt "work_attribute_type_allowed_value" +msgid "Aydın" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:695 +msgctxt "work_attribute_type_allowed_value" +msgid "Ayin Devr-i Revanı" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:605 +msgctxt "work_attribute_type_allowed_value" +msgid "Ayin-i Şerif" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:696 +msgctxt "work_attribute_type_allowed_value" +msgid "Azeri Yürüksemai" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:682 +msgctxt "work_attribute_type_allowed_value" +msgid "Ağır Aksaksemai" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:683 +msgctxt "work_attribute_type_allowed_value" +msgid "Ağıraksak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:684 +msgctxt "work_attribute_type_allowed_value" +msgid "Ağıraydın" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:686 +msgctxt "work_attribute_type_allowed_value" +msgid "Ağırdarbıfetih" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:687 +msgctxt "work_attribute_type_allowed_value" +msgid "Ağırdüyek" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:688 +msgctxt "work_attribute_type_allowed_value" +msgid "Ağırevfer" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:603 +msgctxt "work_attribute_type_allowed_value" +msgid "Ağırsemai" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:689 +msgctxt "work_attribute_type_allowed_value" +msgid "Ağırsenginsemai" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:685 +msgctxt "work_attribute_type_allowed_value" +msgid "Ağırçenber" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:321 +msgctxt "work_attribute_type_allowed_value" +msgid "Aşiran Maye" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:320 +msgctxt "work_attribute_type_allowed_value" +msgid "Aşiran Zemzeme" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:322 +msgctxt "work_attribute_type_allowed_value" +msgid "Aşkefza" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:857 +msgctxt "work_attribute_type_allowed_value" +msgid "Aṣṭa rāg mālikā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:45 +msgctxt "work_attribute_type_allowed_value" +msgid "Aṭāna" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:289 +msgctxt "work_attribute_type_allowed_value" +msgid "Aṭṭa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:795 +msgctxt "work_attribute_type_allowed_value" +msgid "B Dorian" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:807 +msgctxt "work_attribute_type_allowed_value" +msgid "B Mixolydian" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:33 +msgctxt "work_attribute_type_allowed_value" +msgid "B major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:34 +msgctxt "work_attribute_type_allowed_value" +msgid "B minor" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:31 +msgctxt "work_attribute_type_allowed_value" +msgid "B-flat major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:32 +msgctxt "work_attribute_type_allowed_value" +msgid "B-flat minor" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:818 +msgctxt "work_attribute_type_allowed_value" +msgid "B-sharp major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:819 +msgctxt "work_attribute_type_allowed_value" +msgid "B-sharp minor" +msgstr "" + +#: DB:work_attribute_type/name:7 +msgctxt "work_attribute_type" +msgid "BMI ID" +msgstr "" + +#: DB:work_attribute_type/name:26 +msgctxt "work_attribute_type" +msgid "BUMA/STEMRA ID" +msgstr "" + +#: DB:cover_art_archive.art_type/name:2 +msgctxt "cover_art_type" +msgid "Back" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:323 +msgctxt "work_attribute_type_allowed_value" +msgid "Bahr-ı Nazik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:47 +msgctxt "work_attribute_type_allowed_value" +msgid "Bahudāri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:862 +msgctxt "work_attribute_type_allowed_value" +msgid "Bahādurī tōḍī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:863 +msgctxt "work_attribute_type_allowed_value" +msgid "Bahār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:864 +msgctxt "work_attribute_type_allowed_value" +msgid "Bairāgi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:48 +msgctxt "work_attribute_type_allowed_value" +msgid "Balahaṁsa" +msgstr "" + +#: DB:work_type/name:2 +msgctxt "work_type" +msgid "Ballet" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:866 +msgctxt "work_attribute_type_allowed_value" +msgid "Basant" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:867 +msgctxt "work_attribute_type_allowed_value" +msgid "Basant bahār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:868 +msgctxt "work_attribute_type_allowed_value" +msgid "Basant mukhāri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:869 +msgctxt "work_attribute_type_allowed_value" +msgid "Basantī kēdār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:49 +msgctxt "work_attribute_type_allowed_value" +msgid "Bauḷi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:51 +msgctxt "work_attribute_type_allowed_value" +msgid "Behāg" +msgstr "" + +#: DB:work_type/name:26 +msgctxt "work_type" +msgid "Beijing opera" +msgstr "" + +#: DB:work_type/description:26 +msgctxt "work_type" +msgid "" +"Beijing opera is a form of traditional Chinese theatre which combines music, " +"vocal performance, mime, dance, and acrobatics." +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:697 +msgctxt "work_attribute_type_allowed_value" +msgid "Bektaşi Devr-i Revanı" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:698 +msgctxt "work_attribute_type_allowed_value" +msgid "Bektaşi Raksanı" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:699 +msgctxt "work_attribute_type_allowed_value" +msgid "Bektaşi Raksı" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:700 +msgctxt "work_attribute_type_allowed_value" +msgid "Bektaşi Raksı Evferi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:324 +msgctxt "work_attribute_type_allowed_value" +msgid "Bend-i Hisar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:701 +msgctxt "work_attribute_type_allowed_value" +msgid "Berefşan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:606 +msgctxt "work_attribute_type_allowed_value" +msgid "Beste" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:702 +msgctxt "work_attribute_type_allowed_value" +msgid "Beste Devr-i Revanı" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:325 +msgctxt "work_attribute_type_allowed_value" +msgid "Beste Hicaz" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:326 +msgctxt "work_attribute_type_allowed_value" +msgid "Beste Hisar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:327 +msgctxt "work_attribute_type_allowed_value" +msgid "Beste Isfahan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:328 +msgctxt "work_attribute_type_allowed_value" +msgid "Bestenigar" +msgstr "" + +#: DB:medium_format/name:131 +msgctxt "medium_format" +msgid "Betacam SP" +msgstr "" + +#: DB:medium_format/name:24 +msgctxt "medium_format" +msgid "Betamax" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:329 +msgctxt "work_attribute_type_allowed_value" +msgid "Beyati" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:331 +msgctxt "work_attribute_type_allowed_value" +msgid "Beyati Araban" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:332 +msgctxt "work_attribute_type_allowed_value" +msgid "Beyati Arabanbuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:333 +msgctxt "work_attribute_type_allowed_value" +msgid "Beyati Arabankurdi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:330 +msgctxt "work_attribute_type_allowed_value" +msgid "Beyati Ruy-i Acem" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:334 +msgctxt "work_attribute_type_allowed_value" +msgid "Beyatibuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:335 +msgctxt "work_attribute_type_allowed_value" +msgid "Bezm-i Tarab" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:870 +msgctxt "work_attribute_type_allowed_value" +msgid "Bhairav" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:871 +msgctxt "work_attribute_type_allowed_value" +msgid "Bhairav bahār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:52 +#: DB:work_attribute_type_allowed_value/value:872 +msgctxt "work_attribute_type_allowed_value" +msgid "Bhairavi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:874 +msgctxt "work_attribute_type_allowed_value" +msgid "Bhavamat bhairav" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:53 +msgctxt "work_attribute_type_allowed_value" +msgid "Bhavāni" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:876 +msgctxt "work_attribute_type_allowed_value" +msgid "Bhimapalās" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:877 +msgctxt "work_attribute_type_allowed_value" +msgid "Bhinna ṣaḍja" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:54 +msgctxt "work_attribute_type_allowed_value" +msgid "Bhāvapriya" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:873 +msgctxt "work_attribute_type_allowed_value" +msgid "Bhāṭiyār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:875 +msgctxt "work_attribute_type_allowed_value" +msgid "Bhīm" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:55 +msgctxt "work_attribute_type_allowed_value" +msgid "Bhīmpalāsi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:56 +msgctxt "work_attribute_type_allowed_value" +msgid "Bhōga sāvēri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:878 +msgctxt "work_attribute_type_allowed_value" +msgid "Bhōpālī tōḍī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:879 +msgctxt "work_attribute_type_allowed_value" +msgid "Bhūp" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:57 +msgctxt "work_attribute_type_allowed_value" +msgid "Bhūpāḷaṁ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:58 +msgctxt "work_attribute_type_allowed_value" +msgid "Bhūṣāvaḷi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:880 +msgctxt "work_attribute_type_allowed_value" +msgid "Bibhās" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:882 +msgctxt "work_attribute_type_allowed_value" +msgid "Bihāg" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:883 +msgctxt "work_attribute_type_allowed_value" +msgid "Bihāgdā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:59 +msgctxt "work_attribute_type_allowed_value" +msgid "Bilahari" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:884 +msgctxt "work_attribute_type_allowed_value" +msgid "Bilāsakhānī tōḍī" +msgstr "" + +#: DB:medium_format/name:20 +msgctxt "medium_format" +msgid "Blu-ray" +msgstr "" + +#: DB:medium_format/name:79 +msgctxt "medium_format" +msgid "Blu-ray-R" +msgstr "" + +#: DB:medium_format/name:35 +msgctxt "medium_format" +msgid "Blu-spec CD" +msgstr "" + +#: DB:release_packaging/name:9 +msgctxt "release_packaging" +msgid "Book" +msgstr "" + +#: DB:cover_art_archive.art_type/name:3 +msgctxt "cover_art_type" +msgid "Booklet" +msgstr "" + +#: DB:release_status/name:3 +msgctxt "release_status" +msgid "Bootleg" +msgstr "" + +#: DB:label_type/name:5 +msgctxt "label_type" +msgid "Bootleg Production" +msgstr "" + +#: DB:cover_art_archive.art_type/name:49 +msgctxt "cover_art_type" +msgid "Bottom" +msgstr "" + +#: DB:release_packaging/name:19 +msgctxt "release_packaging" +msgid "Box" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:607 +msgctxt "work_attribute_type_allowed_value" +msgid "Bozlak" +msgstr "" + +#: DB:instrument_alias_type/name:3 +msgctxt "alias_type" +msgid "Brand name" +msgstr "" + +#: DB:release_group_primary_type/name:12 +msgctxt "release_group_primary_type" +msgid "Broadcast" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:885 +msgctxt "work_attribute_type_allowed_value" +msgid "Br̥ndāvanī sāraṅg" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:62 +msgctxt "work_attribute_type_allowed_value" +msgid "Budamanōhari" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:703 +msgctxt "work_attribute_type_allowed_value" +msgid "Bulgar Darbı" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:336 +msgctxt "work_attribute_type_allowed_value" +msgid "Buselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:337 +msgctxt "work_attribute_type_allowed_value" +msgid "Buselikaşiran" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:338 +msgctxt "work_attribute_type_allowed_value" +msgid "Büzürk" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:46 +#: DB:work_attribute_type_allowed_value/value:861 +msgctxt "work_attribute_type_allowed_value" +msgid "Bāgēśrī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:865 +msgctxt "work_attribute_type_allowed_value" +msgid "Bārvā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:50 +msgctxt "work_attribute_type_allowed_value" +msgid "Bēgaḍa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:881 +msgctxt "work_attribute_type_allowed_value" +msgid "Bīhād bhairav" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:60 +msgctxt "work_attribute_type_allowed_value" +msgid "Bṛndāvana sāranga" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:61 +msgctxt "work_attribute_type_allowed_value" +msgid "Bṛndāvani" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:789 +msgctxt "work_attribute_type_allowed_value" +msgid "C Dorian" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:801 +msgctxt "work_attribute_type_allowed_value" +msgid "C Mixolydian" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:2 +msgctxt "work_attribute_type_allowed_value" +msgid "C major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:3 +msgctxt "work_attribute_type_allowed_value" +msgid "C minor" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1 +msgctxt "work_attribute_type_allowed_value" +msgid "C-flat major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:812 +msgctxt "work_attribute_type_allowed_value" +msgid "C-flat minor" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:4 +msgctxt "work_attribute_type_allowed_value" +msgid "C-sharp major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:5 +msgctxt "work_attribute_type_allowed_value" +msgid "C-sharp minor" +msgstr "" + +#: DB:work_attribute_type/name:19 +msgctxt "work_attribute_type" +msgid "CASH ID" +msgstr "" + +#: DB:work_attribute_type/name:22 +msgctxt "work_attribute_type" +msgid "CCLI ID" +msgstr "" + +#: DB:medium_format/name:1 +msgctxt "medium_format" +msgid "CD" +msgstr "" + +#: DB:medium_format/name:39 +msgctxt "medium_format" +msgid "CD+G" +msgstr "" + +#: DB:medium_format/name:33 +msgctxt "medium_format" +msgid "CD-R" +msgstr "" + +#: DB:medium_format/name:41 +msgctxt "medium_format" +msgid "CDV" +msgstr "" + +#: DB:medium_format/name:60 +msgctxt "medium_format" +msgid "CED" +msgstr "" + +#: DB:work_attribute_type/name:45 +msgctxt "work_attribute_type" +msgid "COMPASS ID" +msgstr "" + +#: DB:work_attribute_type/name:73 +msgctxt "work_attribute_type" +msgid "COSCAP ID" +msgstr "" + +#: DB:work_attribute_type/name:65 +msgctxt "work_attribute_type" +msgid "COTT ID" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:63 +msgctxt "work_attribute_type_allowed_value" +msgid "Cakravākaṁ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:886 +msgctxt "work_attribute_type_allowed_value" +msgid "Campak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:887 +msgctxt "work_attribute_type_allowed_value" +msgid "Campākali" +msgstr "" + +#: DB:release_status/name:6 +msgctxt "release_status" +msgid "Cancelled" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:64 +msgctxt "work_attribute_type_allowed_value" +msgid "Candrajyōti" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:65 +#: DB:work_attribute_type_allowed_value/value:888 +msgctxt "work_attribute_type_allowed_value" +msgid "Candrakauns" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:889 +msgctxt "work_attribute_type_allowed_value" +msgid "Candramauli" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:339 +msgctxt "work_attribute_type_allowed_value" +msgid "Canfeza" +msgstr "" + +#: DB:work_type/name:3 +msgctxt "work_type" +msgid "Cantata" +msgstr "" + +#: DB:release_packaging/name:4 +msgctxt "release_packaging" +msgid "Cardboard/Paper Sleeve" +msgstr "" + +#: DB:medium_format/name:9 +msgctxt "medium_format" +msgid "Cartridge" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:66 +msgctxt "work_attribute_type_allowed_value" +msgid "Carturdaśa rāgamālika" +msgstr "" + +#: DB:medium_format/name:8 +msgctxt "medium_format" +msgid "Cassette" +msgstr "" + +#: DB:release_packaging/name:8 +msgctxt "release_packaging" +msgid "Cassette Case" +msgstr "" + +#: DB:series_type/name:5 +msgctxt "series_type" +msgid "Catalogue" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:291 +msgctxt "work_attribute_type_allowed_value" +msgid "Caturaśra-jāti jhaṁpe" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:827 +msgctxt "work_attribute_type_allowed_value" +msgid "Cautāl" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:70 +msgctxt "work_attribute_type_allowed_value" +msgid "Cencu kāmbhōji" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:704 +msgctxt "work_attribute_type_allowed_value" +msgid "Cevher" +msgstr "" + +#: DB:artist_type/name:4 +msgctxt "artist_type" +msgid "Character" +msgstr "" + +#: DB:artist_type/name:6 +msgctxt "artist_type" +msgid "Choir" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:892 +msgctxt "work_attribute_type_allowed_value" +msgid "Chāyā malhār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:893 +msgctxt "work_attribute_type_allowed_value" +msgid "Chāyānāt" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:71 +msgctxt "work_attribute_type_allowed_value" +msgid "Cintāmaṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:72 +msgctxt "work_attribute_type_allowed_value" +msgid "Cittaranjani" +msgstr "" + +#: DB:area_type/name:3 +msgctxt "area_type" +msgid "City" +msgstr "" + +#: DB:area_type/description:3 +msgctxt "area_type" +msgid "City is used for settlements of any size, including towns and villages." +msgstr "" + +#: DB:release_packaging/name:56 +msgctxt "release_packaging" +msgid "Clamshell Case" +msgstr "" + +#: DB:place_type/name:42 +msgctxt "place_type" +msgid "Club" +msgstr "" + +#: DB:release_group_secondary_type/name:1 +msgctxt "release_group_secondary_type" +msgid "Compilation" +msgstr "" + +#: DB:event_type/name:1 +msgctxt "event_type" +msgid "Concert" +msgstr "" + +#: DB:place_type/name:44 +msgctxt "place_type" +msgid "Concert hall / Theatre" +msgstr "" + +#: DB:work_type/name:4 +msgctxt "work_type" +msgid "Concerto" +msgstr "" + +#: DB:event_type/name:4 +msgctxt "event_type" +msgid "Convention/Expo" +msgstr "" + +#: DB:medium_format/name:61 +msgctxt "medium_format" +msgid "Copy Control CD" +msgstr "" + +#: DB:medium_format/description:61 +msgctxt "medium_format" +msgid "" +"Copy Control CD (CCCD) is an umbrella term for CDs released circa 2001-2006 " +"containing software that is ostensibly designed to prevent the CD from being " +"ripped. There are a number of software variants: the most well-known are " +"Macrovision's Cactus Data Shield (CDS) and SunnComm's MediaMax." +msgstr "" + +#: DB:area_type/name:1 +msgctxt "area_type" +msgid "Country" +msgstr "" + +#: DB:area_type/description:1 +msgctxt "area_type" +msgid "" +"Country is used for areas included (or previously included) in ISO 3166-1, e." +"g. United States." +msgstr "" + +#: DB:area_type/name:7 +msgctxt "area_type" +msgid "County" +msgstr "" + +#: DB:area_type/description:7 +msgctxt "area_type" +msgid "" +"County is used for smaller administrative divisions of a country which are " +"not the main administrative divisions but are also not municipalities, e.g. " +"counties in the USA. These are not considered when displaying the parent " +"areas for a given area." +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:608 +msgctxt "work_attribute_type_allowed_value" +msgid "Cumhurilahi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:705 +msgctxt "work_attribute_type_allowed_value" +msgid "Curcuna" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:890 +msgctxt "work_attribute_type_allowed_value" +msgid "Cāndanī kēdār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:825 +msgctxt "work_attribute_type_allowed_value" +msgid "Cār tāl" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:826 +msgctxt "work_attribute_type_allowed_value" +msgid "Cārtāl kī savārī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:67 +#: DB:work_attribute_type_allowed_value/value:891 +msgctxt "work_attribute_type_allowed_value" +msgid "Cārukēśi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:68 +msgctxt "work_attribute_type_allowed_value" +msgid "Cāyānāṭa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:69 +msgctxt "work_attribute_type_allowed_value" +msgid "Cāyātarangiṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:790 +msgctxt "work_attribute_type_allowed_value" +msgid "D Dorian" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:802 +msgctxt "work_attribute_type_allowed_value" +msgid "D Mixolydian" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:8 +msgctxt "work_attribute_type_allowed_value" +msgid "D major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:9 +msgctxt "work_attribute_type_allowed_value" +msgid "D minor" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:6 +msgctxt "work_attribute_type_allowed_value" +msgid "D-flat major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:7 +msgctxt "work_attribute_type_allowed_value" +msgid "D-flat minor" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:813 +msgctxt "work_attribute_type_allowed_value" +msgid "D-sharp major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:10 +msgctxt "work_attribute_type_allowed_value" +msgid "D-sharp minor" +msgstr "" + +#: DB:medium_format/name:11 +msgctxt "medium_format" +msgid "DAT" +msgstr "" + +#: DB:medium_format/name:16 +msgctxt "medium_format" +msgid "DCC" +msgstr "" + +#: DB:release_group_secondary_type/name:8 +msgctxt "release_group_secondary_type" +msgid "DJ-mix" +msgstr "" + +#: DB:medium_format/name:44 +msgctxt "medium_format" +msgid "DTS CD" +msgstr "" + +#: DB:medium_format/name:2 +msgctxt "medium_format" +msgid "DVD" +msgstr "" + +#: DB:medium_format/name:18 +msgctxt "medium_format" +msgid "DVD-Audio" +msgstr "" + +#: DB:medium_format/name:92 +msgctxt "medium_format" +msgid "DVD-R Video" +msgstr "" + +#: DB:medium_format/name:19 +msgctxt "medium_format" +msgid "DVD-Video" +msgstr "" + +#: DB:medium_format/name:47 +msgctxt "medium_format" +msgid "DVDplus" +msgstr "" + +#: DB:medium_format/name:70 +msgctxt "medium_format" +msgid "DVDplus (CD side)" +msgstr "" + +#: DB:medium_format/name:68 +msgctxt "medium_format" +msgid "DVDplus (DVD-Audio side)" +msgstr "" + +#: DB:medium_format/name:69 +msgctxt "medium_format" +msgid "DVDplus (DVD-Video side)" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:343 +msgctxt "work_attribute_type_allowed_value" +msgid "Danişveran" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:711 +msgctxt "work_attribute_type_allowed_value" +msgid "Darb" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:712 +msgctxt "work_attribute_type_allowed_value" +msgid "Darb-ı Fetih" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:713 +msgctxt "work_attribute_type_allowed_value" +msgid "Darb-ı Hüner" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:714 +msgctxt "work_attribute_type_allowed_value" +msgid "Darb-ı Kürdi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:715 +msgctxt "work_attribute_type_allowed_value" +msgid "Darb-ı Türki" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:796 +msgctxt "work_attribute_type_allowed_value" +msgid "Darbeyn" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:73 +msgctxt "work_attribute_type_allowed_value" +msgid "Darbār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:895 +msgctxt "work_attribute_type_allowed_value" +msgid "Darbāri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:74 +msgctxt "work_attribute_type_allowed_value" +msgid "Darbārī kānaḍa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:896 +msgctxt "work_attribute_type_allowed_value" +msgid "Darbārī tōḍī" +msgstr "" + +#: DB:medium_format/name:43 +msgctxt "medium_format" +msgid "Data CD" +msgstr "" + +#: DB:medium_format/name:94 +msgctxt "medium_format" +msgid "Data DVD" +msgstr "" + +#: DB:medium_format/name:93 +msgctxt "medium_format" +msgid "Data DVD-R" +msgstr "" + +#: DB:medium_format/name:128 +msgctxt "medium_format" +msgid "DataPlay" +msgstr "" + +#: DB:release_group_secondary_type/name:10 +msgctxt "release_group_secondary_type" +msgid "Demo" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:610 +msgctxt "work_attribute_type_allowed_value" +msgid "Destan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:716 +msgctxt "work_attribute_type_allowed_value" +msgid "Devr-i Aryan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:717 +msgctxt "work_attribute_type_allowed_value" +msgid "Devr-i Hindi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:718 +msgctxt "work_attribute_type_allowed_value" +msgid "Devr-i Hindi II" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:719 +msgctxt "work_attribute_type_allowed_value" +msgid "Devr-i Kebir" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:720 +msgctxt "work_attribute_type_allowed_value" +msgid "Devr-i Revan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:721 +msgctxt "work_attribute_type_allowed_value" +msgid "Devr-i Revan-ı Hindi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:722 +msgctxt "work_attribute_type_allowed_value" +msgid "Devr-i Süreyya" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:723 +msgctxt "work_attribute_type_allowed_value" +msgid "Devr-i Süreyya Sofyanı" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:724 +msgctxt "work_attribute_type_allowed_value" +msgid "Devr-i Turan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:797 +msgctxt "work_attribute_type_allowed_value" +msgid "Devr-i Turan II" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:79 +msgctxt "work_attribute_type_allowed_value" +msgid "Devāmṛtavarṣiṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:829 +msgctxt "work_attribute_type_allowed_value" +msgid "Dhamar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:80 +#: DB:work_attribute_type_allowed_value/value:902 +msgctxt "work_attribute_type_allowed_value" +msgid "Dhanaśrī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:81 +msgctxt "work_attribute_type_allowed_value" +msgid "Dhanyāsi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:903 +msgctxt "work_attribute_type_allowed_value" +msgid "Dhanī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:82 +msgctxt "work_attribute_type_allowed_value" +msgid "Dharmāvati" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:285 +msgctxt "work_attribute_type_allowed_value" +msgid "Dhr̥va" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:83 +msgctxt "work_attribute_type_allowed_value" +msgid "Dhēnuka" +msgstr "" + +#: DB:release_packaging/name:17 +msgctxt "release_packaging" +msgid "Digibook" +msgstr "" + +#: DB:release_packaging/name:89 +msgctxt "release_packaging" +msgid "Digifile" +msgstr "" + +#: DB:release_packaging/name:3 +msgctxt "release_packaging" +msgid "Digipak" +msgstr "" + +#: DB:medium_format/name:12 +msgctxt "medium_format" +msgid "Digital Media" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:345 +msgctxt "work_attribute_type_allowed_value" +msgid "Dil Efruz" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:344 +msgctxt "work_attribute_type_allowed_value" +msgid "Dildar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:348 +msgctxt "work_attribute_type_allowed_value" +msgid "Dilkeside" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:346 +msgctxt "work_attribute_type_allowed_value" +msgid "Dilkeş" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:347 +msgctxt "work_attribute_type_allowed_value" +msgid "Dilkeşhaveran" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:349 +msgctxt "work_attribute_type_allowed_value" +msgid "Dilküşa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:350 +msgctxt "work_attribute_type_allowed_value" +msgid "Dilnevaz" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:351 +msgctxt "work_attribute_type_allowed_value" +msgid "Dilnişin" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:904 +msgctxt "work_attribute_type_allowed_value" +msgid "Din kī puriyā" +msgstr "" + +#: DB:release_packaging/name:13 +msgctxt "release_packaging" +msgid "Discbox Slider" +msgstr "" + +#: DB:label_type/name:1 +msgctxt "label_type" +msgid "Distributor" +msgstr "" + +#: DB:area_type/name:5 +msgctxt "area_type" +msgid "District" +msgstr "" + +#: DB:area_type/description:5 +msgctxt "area_type" +msgid "District is used for a division of a large city, e.g. Queens." +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:611 +msgctxt "work_attribute_type_allowed_value" +msgid "Divan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:725 +msgctxt "work_attribute_type_allowed_value" +msgid "Dolap" +msgstr "" + +#: DB:medium_format/name:46 +msgctxt "medium_format" +msgid "Download Card" +msgstr "" + +#: DB:medium_format/name:4 +msgctxt "medium_format" +msgid "DualDisc" +msgstr "" + +#: DB:medium_format/name:67 +msgctxt "medium_format" +msgid "DualDisc (CD side)" +msgstr "" + +#: DB:medium_format/name:130 +msgctxt "medium_format" +msgid "DualDisc (DVD side)" +msgstr "" + +#: DB:medium_format/name:65 +msgctxt "medium_format" +msgid "DualDisc (DVD-Audio side)" +msgstr "" + +#: DB:medium_format/name:66 +msgctxt "medium_format" +msgid "DualDisc (DVD-Video side)" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:612 +msgctxt "work_attribute_type_allowed_value" +msgid "Durak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:726 +msgctxt "work_attribute_type_allowed_value" +msgid "Durak Evferi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:86 +msgctxt "work_attribute_type_allowed_value" +msgid "Durga" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:906 +msgctxt "work_attribute_type_allowed_value" +msgid "Durgā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:87 +msgctxt "work_attribute_type_allowed_value" +msgid "Dvijāvanti" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:352 +msgctxt "work_attribute_type_allowed_value" +msgid "Dügah" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:354 +msgctxt "work_attribute_type_allowed_value" +msgid "Dügah Maye" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:353 +msgctxt "work_attribute_type_allowed_value" +msgid "Dügahbuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:727 +msgctxt "work_attribute_type_allowed_value" +msgid "Dümen" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:728 +msgctxt "work_attribute_type_allowed_value" +msgid "Düyek" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:355 +msgctxt "work_attribute_type_allowed_value" +msgid "Düşems" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:828 +msgctxt "work_attribute_type_allowed_value" +msgid "Dādrā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:899 +msgctxt "work_attribute_type_allowed_value" +msgid "Dēsi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:900 +msgctxt "work_attribute_type_allowed_value" +msgid "Dēv gāndhār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:76 +msgctxt "work_attribute_type_allowed_value" +msgid "Dēvagāndhāri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:77 +msgctxt "work_attribute_type_allowed_value" +msgid "Dēvakriya" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:78 +msgctxt "work_attribute_type_allowed_value" +msgid "Dēvamanōhari" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:901 +msgctxt "work_attribute_type_allowed_value" +msgid "Dēvgirī bilāval" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:75 +#: DB:work_attribute_type_allowed_value/value:897 +msgctxt "work_attribute_type_allowed_value" +msgid "Dēś" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:898 +msgctxt "work_attribute_type_allowed_value" +msgid "Dēśakār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:292 +msgctxt "work_attribute_type_allowed_value" +msgid "Dēśādi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:830 +msgctxt "work_attribute_type_allowed_value" +msgid "Dīpacaṇḍī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:84 +msgctxt "work_attribute_type_allowed_value" +msgid "Dīpakaṁ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:905 +msgctxt "work_attribute_type_allowed_value" +msgid "Dīpāvali" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:85 +msgctxt "work_attribute_type_allowed_value" +msgid "Dīpāḷi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:791 +msgctxt "work_attribute_type_allowed_value" +msgid "E Dorian" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:803 +msgctxt "work_attribute_type_allowed_value" +msgid "E Mixolydian" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:13 +msgctxt "work_attribute_type_allowed_value" +msgid "E major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:14 +msgctxt "work_attribute_type_allowed_value" +msgid "E minor" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:11 +msgctxt "work_attribute_type_allowed_value" +msgid "E-flat major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:12 +msgctxt "work_attribute_type_allowed_value" +msgid "E-flat minor" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:814 +msgctxt "work_attribute_type_allowed_value" +msgid "E-sharp major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:15 +msgctxt "work_attribute_type_allowed_value" +msgid "E-sharp minor" +msgstr "" + +#: DB:work_attribute_type/name:37 +msgctxt "work_attribute_type" +msgid "ECAD ID" +msgstr "" + +#: DB:release_group_primary_type/name:3 +msgctxt "release_group_primary_type" +msgid "EP" +msgstr "" + +#: DB:medium_format/name:50 +msgctxt "medium_format" +msgid "Edison Diamond Disc" +msgstr "" + +#: DB:place_type/name:7 +msgctxt "place_type" +msgid "Educational institution" +msgstr "" + +#: DB:instrument_type/name:4 +msgctxt "instrument_type" +msgid "Electronic instrument" +msgstr "" + +#: DB:medium_format/name:42 +msgctxt "medium_format" +msgid "Enhanced CD" +msgstr "" + +#: DB:instrument_type/name:6 +msgctxt "instrument_type" +msgid "Ensemble" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:356 +msgctxt "work_attribute_type_allowed_value" +msgid "Eski Sipihr" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:613 +msgctxt "work_attribute_type_allowed_value" +msgid "Etüd" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:357 +msgctxt "work_attribute_type_allowed_value" +msgid "Evcara" +msgstr "" + +#: DB:editor_collection_type/name:4 +msgctxt "collection_type" +msgid "Event collection" +msgstr "" + +#: DB:event_alias_type/name:1 +msgctxt "alias_type" +msgid "Event name" +msgstr "" + +#: DB:series_type/name:6 +msgctxt "series_type" +msgid "Event series" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:729 +msgctxt "work_attribute_type_allowed_value" +msgid "Evfer" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:358 +msgctxt "work_attribute_type_allowed_value" +msgid "Eviç" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:359 +msgctxt "work_attribute_type_allowed_value" +msgid "Eviç Bahr-i Nazik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:360 +msgctxt "work_attribute_type_allowed_value" +msgid "Eviç Huzi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:364 +msgctxt "work_attribute_type_allowed_value" +msgid "Eviç Maye" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:361 +msgctxt "work_attribute_type_allowed_value" +msgid "Eviç Ruy-i Neva" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:365 +msgctxt "work_attribute_type_allowed_value" +msgid "Eviç Saba" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:366 +msgctxt "work_attribute_type_allowed_value" +msgid "Eviç Şevk" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:362 +msgctxt "work_attribute_type_allowed_value" +msgid "Eviçbuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:363 +msgctxt "work_attribute_type_allowed_value" +msgid "Eviçkürdi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:730 +msgctxt "work_attribute_type_allowed_value" +msgid "Evsat" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:614 +msgctxt "work_attribute_type_allowed_value" +msgid "Ezan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:792 +msgctxt "work_attribute_type_allowed_value" +msgid "F Dorian" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:804 +msgctxt "work_attribute_type_allowed_value" +msgid "F Mixolydian" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:17 +msgctxt "work_attribute_type_allowed_value" +msgid "F major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:18 +msgctxt "work_attribute_type_allowed_value" +msgid "F minor" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:16 +msgctxt "work_attribute_type_allowed_value" +msgid "F-flat major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:815 +msgctxt "work_attribute_type_allowed_value" +msgid "F-flat minor" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:19 +msgctxt "work_attribute_type_allowed_value" +msgid "F-sharp major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:20 +msgctxt "work_attribute_type_allowed_value" +msgid "F-sharp minor" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:731 +msgctxt "work_attribute_type_allowed_value" +msgid "Fahte" +msgstr "" + +#: DB:instrument_type/name:7 +msgctxt "instrument_type" +msgid "Family" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:615 +msgctxt "work_attribute_type_allowed_value" +msgid "Fantezi" +msgstr "" + +#: DB:release_packaging/name:10 +msgctxt "release_packaging" +msgid "Fatbox" +msgstr "" + +#: DB:gender/name:2 +msgctxt "gender" +msgid "Female" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:732 +msgctxt "work_attribute_type_allowed_value" +msgid "Fer" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:733 +msgctxt "work_attribute_type_allowed_value" +msgid "Fer'i Muhammes" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:367 +msgctxt "work_attribute_type_allowed_value" +msgid "Ferahfeza" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:368 +msgctxt "work_attribute_type_allowed_value" +msgid "Ferahnak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:369 +msgctxt "work_attribute_type_allowed_value" +msgid "Ferahnakaşiran" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:370 +msgctxt "work_attribute_type_allowed_value" +msgid "Ferahnüma" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:371 +msgctxt "work_attribute_type_allowed_value" +msgid "Ferahzad" +msgstr "" + +#: DB:event_type/name:2 +msgctxt "event_type" +msgid "Festival" +msgstr "" + +#: DB:series_type/name:8 +msgctxt "series_type" +msgid "Festival" +msgstr "" + +#: DB:place_type/name:45 +msgctxt "place_type" +msgid "Festival stage" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:372 +msgctxt "work_attribute_type_allowed_value" +msgid "Feth-i Bağdad" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:373 +msgctxt "work_attribute_type_allowed_value" +msgid "Feth-i Belgrad" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:374 +msgctxt "work_attribute_type_allowed_value" +msgid "Feth-i Dil" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:375 +msgctxt "work_attribute_type_allowed_value" +msgid "Feth-i Hicaz" +msgstr "" + +#: DB:release_group_secondary_type/name:12 +msgctxt "release_group_secondary_type" +msgid "Field recording" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:734 +msgctxt "work_attribute_type_allowed_value" +msgid "Fireng-i Fer" +msgstr "" + +#: DB:medium_format/description:73 +msgctxt "medium_format" +msgid "" +"Flat discs with grooves used in phonographs/gramophones. For shellac and " +"vinyl records, use that specifically" +msgstr "" + +#: DB:medium_format/name:51 +msgctxt "medium_format" +msgid "Flexi-disc" +msgstr "" + +#: DB:medium_format/description:51 +msgctxt "medium_format" +msgid "" +"Flexi-discs are phonograph records made of a thin, flexible vinyl sheet with " +"a molded-in groove, designed to be playable on a normal phonograph turntable." +msgstr "" + +#: DB:medium_format/name:76 +msgctxt "medium_format" +msgid "Floppy Disk" +msgstr "" + +#: DB:gender/description:4 +msgctxt "gender" +msgid "" +"For cases where gender just doesn't apply at all (like companies entered as " +"artists)." +msgstr "" + +#: DB:work_attribute_type/name:16 +msgctxt "work_attribute_type" +msgid "Form (Ottoman, Turkish)" +msgstr "" + +#: DB:area_alias_type/name:2 +msgctxt "alias_type" +msgid "Formal name" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:735 +msgctxt "work_attribute_type_allowed_value" +msgid "Frengçin" +msgstr "" + +#: DB:cover_art_archive.art_type/name:1 +msgctxt "cover_art_type" +msgid "Front" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:793 +msgctxt "work_attribute_type_allowed_value" +msgid "G Dorian" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:805 +msgctxt "work_attribute_type_allowed_value" +msgid "G Mixolydian" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:22 +msgctxt "work_attribute_type_allowed_value" +msgid "G major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:23 +msgctxt "work_attribute_type_allowed_value" +msgid "G minor" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:21 +msgctxt "work_attribute_type_allowed_value" +msgid "G-flat major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:816 +msgctxt "work_attribute_type_allowed_value" +msgid "G-flat minor" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:24 +msgctxt "work_attribute_type_allowed_value" +msgid "G-sharp major" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:25 +msgctxt "work_attribute_type_allowed_value" +msgid "G-sharp minor" +msgstr "" + +#: DB:work_attribute_type/name:9 +msgctxt "work_attribute_type" +msgid "GEMA ID" +msgstr "" + +#: DB:work_attribute_type/name:106 +msgctxt "work_attribute_type" +msgid "GMR ID" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:88 +msgctxt "work_attribute_type_allowed_value" +msgid "Gamakakriya" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:89 +msgctxt "work_attribute_type_allowed_value" +msgid "Gamakakriya/Pūrvīkaḷyāṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:95 +msgctxt "work_attribute_type_allowed_value" +msgid "Garuḍadhvani" +msgstr "" + +#: DB:release_packaging/name:12 +msgctxt "release_packaging" +msgid "Gatefold Cover" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:911 +msgctxt "work_attribute_type_allowed_value" +msgid "Gaurī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:912 +msgctxt "work_attribute_type_allowed_value" +msgid "Gaurī basant" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:99 +msgctxt "work_attribute_type_allowed_value" +msgid "Gaurīmanōhari" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:909 +msgctxt "work_attribute_type_allowed_value" +msgid "Gauḍ malhār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:910 +msgctxt "work_attribute_type_allowed_value" +msgid "Gauḍ sāraṅg" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:96 +msgctxt "work_attribute_type_allowed_value" +msgid "Gauḍa malhār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:97 +msgctxt "work_attribute_type_allowed_value" +msgid "Gauḷa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:98 +msgctxt "work_attribute_type_allowed_value" +msgid "Gauḷipantu" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:913 +msgctxt "work_attribute_type_allowed_value" +msgid "Gavti" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:616 +msgctxt "work_attribute_type_allowed_value" +msgid "Gazel" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:90 +msgctxt "work_attribute_type_allowed_value" +msgid "Gaṁbhīra nāṭa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:91 +msgctxt "work_attribute_type_allowed_value" +msgid "Gaṁbhīra vāṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:376 +msgctxt "work_attribute_type_allowed_value" +msgid "Gerdaniye" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:377 +msgctxt "work_attribute_type_allowed_value" +msgid "Gerdaniyebuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:378 +msgctxt "work_attribute_type_allowed_value" +msgid "Gerdaniyekürdi" +msgstr "" + +#: DB:medium_format/description:90 +msgctxt "medium_format" +msgid "" +"German tape cartridge format, using grooved tape rather than magnetic tape." +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:380 +msgctxt "work_attribute_type_allowed_value" +msgid "Geveşt" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:379 +msgctxt "work_attribute_type_allowed_value" +msgid "Geştü Güzar-ı Bahar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:100 +msgctxt "work_attribute_type_allowed_value" +msgid "Ghanṭa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:381 +msgctxt "work_attribute_type_allowed_value" +msgid "Gonca-i Rana" +msgstr "" + +#: DB:artist_type/name:2 +msgctxt "artist_type" +msgid "Group" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:916 +msgctxt "work_attribute_type_allowed_value" +msgid "Gurjarī tōḍī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:102 +msgctxt "work_attribute_type_allowed_value" +msgid "Gurjāri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:915 +msgctxt "work_attribute_type_allowed_value" +msgid "Guṇakārī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:382 +msgctxt "work_attribute_type_allowed_value" +msgid "Güldeste" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:384 +msgctxt "work_attribute_type_allowed_value" +msgid "Gülizar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:385 +msgctxt "work_attribute_type_allowed_value" +msgid "Gülizarbuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:386 +msgctxt "work_attribute_type_allowed_value" +msgid "Gülnari" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:387 +msgctxt "work_attribute_type_allowed_value" +msgid "Gülruh" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:383 +msgctxt "work_attribute_type_allowed_value" +msgid "Gülzar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:388 +msgctxt "work_attribute_type_allowed_value" +msgid "Gülşen-i Vefa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:617 +msgctxt "work_attribute_type_allowed_value" +msgid "Güvende" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:92 +msgctxt "work_attribute_type_allowed_value" +msgid "Gānamūrti" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:93 +msgctxt "work_attribute_type_allowed_value" +msgid "Gānavāridhi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:908 +msgctxt "work_attribute_type_allowed_value" +msgid "Gāndhī malhār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:94 +msgctxt "work_attribute_type_allowed_value" +msgid "Gāngēyabhūṣaṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:101 +msgctxt "work_attribute_type_allowed_value" +msgid "Gōpikāvasantaṁ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:914 +msgctxt "work_attribute_type_allowed_value" +msgid "Gōrākh kalyāṇ" +msgstr "" + +#: DB:medium_format/name:17 +msgctxt "medium_format" +msgid "HD-DVD" +msgstr "" + +#: DB:medium_format/name:25 +msgctxt "medium_format" +msgid "HDCD" +msgstr "" + +#: DB:work_attribute_type/name:64 +msgctxt "work_attribute_type" +msgid "HFA ID" +msgstr "" + +#: DB:medium_format/name:37 +msgctxt "medium_format" +msgid "HQCD" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:736 +msgctxt "work_attribute_type_allowed_value" +msgid "Hafif" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:618 +msgctxt "work_attribute_type_allowed_value" +msgid "Halk Türküsü" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:104 +msgctxt "work_attribute_type_allowed_value" +msgid "Hamsadhvani" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:918 +msgctxt "work_attribute_type_allowed_value" +msgid "Hamsadhvāni" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:919 +msgctxt "work_attribute_type_allowed_value" +msgid "Hamsanārāyaṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:107 +msgctxt "work_attribute_type_allowed_value" +msgid "Hamsavinōdini" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:917 +msgctxt "work_attribute_type_allowed_value" +msgid "Hamīr" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:103 +msgctxt "work_attribute_type_allowed_value" +msgid "Hamīr kaḷyaṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:108 +msgctxt "work_attribute_type_allowed_value" +msgid "Harikāmbhōji" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:389 +msgctxt "work_attribute_type_allowed_value" +msgid "Haver" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:737 +msgctxt "work_attribute_type_allowed_value" +msgid "Havi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:105 +msgctxt "work_attribute_type_allowed_value" +msgid "Haṁsanādaṁ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:106 +msgctxt "work_attribute_type_allowed_value" +msgid "Haṁsānandi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:390 +msgctxt "work_attribute_type_allowed_value" +msgid "Heftgah" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:738 +msgctxt "work_attribute_type_allowed_value" +msgid "Hezeç" +msgstr "" + +#: DB:medium_format/name:75 +msgctxt "medium_format" +msgid "HiPac" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:391 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicaz" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:395 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicaz Büzürk" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:396 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicaz Dilkeş" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:398 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicaz Hümayun" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:409 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicaz Uzzal" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:392 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicaz Zemzeme" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:410 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicaz Zirgüle" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:393 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicazaşiran" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:394 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicazbuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:397 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicazeyn" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:399 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicazi Acem" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:400 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicazi Irak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:401 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicazi Muhalif" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:402 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicazi Rumi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:403 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicazi Türki" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:404 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicazi Uşşak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:405 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicazkar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:408 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicazkar-Kürdi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:407 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicazkar-ı Kadim" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:406 +msgctxt "work_attribute_type_allowed_value" +msgid "Hicazkarbuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:112 +msgctxt "work_attribute_type_allowed_value" +msgid "Hindustān gāndhāri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:924 +msgctxt "work_attribute_type_allowed_value" +msgid "Hindōl" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:925 +msgctxt "work_attribute_type_allowed_value" +msgid "Hindōl pañcam" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:110 +msgctxt "work_attribute_type_allowed_value" +msgid "Hindōḷa vasantaṁ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:111 +msgctxt "work_attribute_type_allowed_value" +msgid "Hindōḷaṁ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:411 +msgctxt "work_attribute_type_allowed_value" +msgid "Hisar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:412 +msgctxt "work_attribute_type_allowed_value" +msgid "Hisar Vech-i Şehnaz" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:413 +msgctxt "work_attribute_type_allowed_value" +msgid "Hisarbuselik" +msgstr "" + +#: DB:label_type/name:2 +msgctxt "label_type" +msgid "Holding" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:414 +msgctxt "work_attribute_type_allowed_value" +msgid "Horasan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:415 +msgctxt "work_attribute_type_allowed_value" +msgid "Horosani Beyati" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:416 +msgctxt "work_attribute_type_allowed_value" +msgid "Hoş Aver" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:926 +msgctxt "work_attribute_type_allowed_value" +msgid "Husaini" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:113 +msgctxt "work_attribute_type_allowed_value" +msgid "Hussēnī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:619 +msgctxt "work_attribute_type_allowed_value" +msgid "Hutbe" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:417 +msgctxt "work_attribute_type_allowed_value" +msgid "Huzi" +msgstr "" + +#: DB:medium_format/name:38 +msgctxt "medium_format" +msgid "Hybrid SACD" +msgstr "" + +#: DB:medium_format/name:63 +msgctxt "medium_format" +msgid "Hybrid SACD (CD layer)" +msgstr "" + +#: DB:medium_format/name:64 +msgctxt "medium_format" +msgid "Hybrid SACD (SACD layer)" +msgstr "" + +#: DB:medium_format/name:87 +msgctxt "medium_format" +msgid "Hybrid SACD (SACD layer, 2 channels)" +msgstr "" + +#: DB:medium_format/name:86 +msgctxt "medium_format" +msgid "Hybrid SACD (SACD layer, multichannel)" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:418 +msgctxt "work_attribute_type_allowed_value" +msgid "Hüdavendigar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:419 +msgctxt "work_attribute_type_allowed_value" +msgid "Hüseyni" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:422 +msgctxt "work_attribute_type_allowed_value" +msgid "Hüseyni Araban" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:420 +msgctxt "work_attribute_type_allowed_value" +msgid "Hüseyni Gülizar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:421 +msgctxt "work_attribute_type_allowed_value" +msgid "Hüseyni Zemzeme" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:423 +msgctxt "work_attribute_type_allowed_value" +msgid "Hüseyniaşiran" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:424 +msgctxt "work_attribute_type_allowed_value" +msgid "Hüseynibuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:425 +msgctxt "work_attribute_type_allowed_value" +msgid "Hüzzam" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:426 +msgctxt "work_attribute_type_allowed_value" +msgid "Hüzzam-ı Cedid" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:920 +msgctxt "work_attribute_type_allowed_value" +msgid "Hēm bihāg" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:921 +msgctxt "work_attribute_type_allowed_value" +msgid "Hēm lalit" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:922 +msgctxt "work_attribute_type_allowed_value" +msgid "Hēmant" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:109 +msgctxt "work_attribute_type_allowed_value" +msgid "Hēmavati" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:923 +msgctxt "work_attribute_type_allowed_value" +msgid "Hēmāvānti" +msgstr "" + +#: DB:work_attribute_type/name:29 +msgctxt "work_attribute_type" +msgid "ICE ID" +msgstr "" + +#: DB:work_attribute_type/description:24 +msgctxt "work_attribute_type" +msgid "ID for the Argentinean rights society SADAIC" +msgstr "" + +#: DB:work_attribute_type/description:13 +msgctxt "work_attribute_type" +msgid "ID for the Australasian rights society APRA" +msgstr "" + +#: DB:work_attribute_type/description:23 +msgctxt "work_attribute_type" +msgid "ID for the Austrian rights society AKM" +msgstr "" + +#: DB:work_attribute_type/description:73 +msgctxt "work_attribute_type" +msgid "ID for the Barbadian rights society COSCAP" +msgstr "" + +#: DB:work_attribute_type/description:28 +msgctxt "work_attribute_type" +msgid "ID for the Belgian rights society SABAM" +msgstr "" + +#: DB:work_attribute_type/description:61 +msgctxt "work_attribute_type" +msgid "ID for the Bolivian rights society SOBODAYCOM" +msgstr "" + +#: DB:work_attribute_type/description:37 +msgctxt "work_attribute_type" +msgid "ID for the Brazilian rights society ECAD" +msgstr "" + +#: DB:work_attribute_type/description:34 +msgctxt "work_attribute_type" +msgid "ID for the British rights society PRS for Music" +msgstr "" + +#: DB:work_attribute_type/description:10 +msgctxt "work_attribute_type" +msgid "ID for the Canadian rights society SOCAN" +msgstr "" + +#: DB:work_attribute_type/description:53 +msgctxt "work_attribute_type" +msgid "ID for the Canadian rights society SODRAC" +msgstr "" + +#: DB:work_attribute_type/description:173 +msgctxt "work_attribute_type" +msgid "ID for the Chilean rights society SCD" +msgstr "" + +#: DB:work_attribute_type/description:71 +msgctxt "work_attribute_type" +msgid "ID for the Chinese rights society MCSC" +msgstr "" + +#: DB:work_attribute_type/description:39 +msgctxt "work_attribute_type" +msgid "ID for the Colombian rights society SAYCO" +msgstr "" + +#: DB:work_attribute_type/description:44 +msgctxt "work_attribute_type" +msgid "ID for the Costa Rican rights society ACAM" +msgstr "" + +#: DB:work_attribute_type/description:47 +msgctxt "work_attribute_type" +msgid "ID for the Cuban rights society ACDAM" +msgstr "" + +#: DB:work_attribute_type/description:25 +msgctxt "work_attribute_type" +msgid "ID for the Czech rights society OSA" +msgstr "" + +#: DB:work_attribute_type/description:51 +msgctxt "work_attribute_type" +msgid "ID for the Danish rights society KODA" +msgstr "" + +#: DB:work_attribute_type/description:60 +msgctxt "work_attribute_type" +msgid "ID for the Dominican rights society SGACEDOM" +msgstr "" + +#: DB:work_attribute_type/description:26 +msgctxt "work_attribute_type" +msgid "ID for the Dutch rights society BUMA/STEMRA" +msgstr "" + +#: DB:work_attribute_type/description:40 +msgctxt "work_attribute_type" +msgid "ID for the Ecuadorian rights society SAYCE" +msgstr "" + +#: DB:work_attribute_type/description:66 +msgctxt "work_attribute_type" +msgid "ID for the Finnish rights society TEOSTO" +msgstr "" + +#: DB:work_attribute_type/description:21 +msgctxt "work_attribute_type" +msgid "ID for the French rights society Sacem" +msgstr "" + +#: DB:work_attribute_type/description:9 +msgctxt "work_attribute_type" +msgid "ID for the German rights society GEMA" +msgstr "" + +#: DB:work_attribute_type/description:58 +msgctxt "work_attribute_type" +msgid "ID for the Guatemalan rights society AEI" +msgstr "" + +#: DB:work_attribute_type/description:57 +msgctxt "work_attribute_type" +msgid "ID for the Honduran rights society AACIMH" +msgstr "" + +#: DB:work_attribute_type/description:19 +msgctxt "work_attribute_type" +msgid "ID for the Hong Kong rights society CASH" +msgstr "" + +#: DB:work_attribute_type/description:48 +msgctxt "work_attribute_type" +msgid "ID for the Hungarian rights society ARTISJUS" +msgstr "" + +#: DB:work_attribute_type/description:54 +msgctxt "work_attribute_type" +msgid "ID for the Icelandic rights society STEF" +msgstr "" + +#: DB:work_attribute_type/description:70 +msgctxt "work_attribute_type" +msgid "ID for the Indian rights society IPRS" +msgstr "" + +#: DB:work_attribute_type/description:29 +msgctxt "work_attribute_type" +msgid "ID for the International Copyright Enterprise" +msgstr "" + +#: DB:work_attribute_type/description:52 +msgctxt "work_attribute_type" +msgid "ID for the Irish rights society IMRO" +msgstr "" + +#: DB:work_attribute_type/description:36 +msgctxt "work_attribute_type" +msgid "ID for the Italian rights society SIAE" +msgstr "" + +#: DB:work_attribute_type/description:69 +msgctxt "work_attribute_type" +msgid "ID for the Jamaican rights society JACAP" +msgstr "" + +#: DB:work_attribute_type/description:3 +msgctxt "work_attribute_type" +msgid "ID for the Japanese rights society JASRAC" +msgstr "" + +#: DB:work_attribute_type/description:33 +msgctxt "work_attribute_type" +msgid "ID for the Japanese rights society NexTone" +msgstr "" + +#: DB:work_attribute_type/description:11 +msgctxt "work_attribute_type" +msgid "ID for the Korean rights society KOMCA" +msgstr "" + +#: DB:work_attribute_type/description:63 +msgctxt "work_attribute_type" +msgid "ID for the Latvian rights society AKKA/LAA" +msgstr "" + +#: DB:work_attribute_type/description:49 +msgctxt "work_attribute_type" +msgid "ID for the Malaysian rights society MACP" +msgstr "" + +#: DB:work_attribute_type/description:27 +msgctxt "work_attribute_type" +msgid "ID for the Mexican rights society SACM" +msgstr "" + +#: DB:work_attribute_type/description:59 +msgctxt "work_attribute_type" +msgid "ID for the Nicaraguan rights society NICAUTOR" +msgstr "" + +#: DB:work_attribute_type/description:67 +msgctxt "work_attribute_type" +msgid "ID for the Norwegian rights society TONO" +msgstr "" + +#: DB:work_attribute_type/description:62 +msgctxt "work_attribute_type" +msgid "ID for the Panamanian rights society SPAC" +msgstr "" + +#: DB:work_attribute_type/description:46 +msgctxt "work_attribute_type" +msgid "ID for the Paraguayan rights society APA" +msgstr "" + +#: DB:work_attribute_type/description:41 +msgctxt "work_attribute_type" +msgid "ID for the Peruvian rights society APDAYC" +msgstr "" + +#: DB:work_attribute_type/description:30 +msgctxt "work_attribute_type" +msgid "ID for the Polish rights society ZAiKS" +msgstr "" + +#: DB:work_attribute_type/description:35 +msgctxt "work_attribute_type" +msgid "ID for the Portuguese rights society SPA" +msgstr "" + +#: DB:work_attribute_type/description:56 +msgctxt "work_attribute_type" +msgid "ID for the Salvadoran rights society SACIM" +msgstr "" + +#: DB:work_attribute_type/description:45 +msgctxt "work_attribute_type" +msgid "ID for the Singaporean rights society COMPASS" +msgstr "" + +#: DB:work_attribute_type/description:140 +msgctxt "work_attribute_type" +msgid "ID for the Slovenian rights society SAZAS" +msgstr "" + +#: DB:work_attribute_type/description:68 +msgctxt "work_attribute_type" +msgid "ID for the South African rights society SAMRO" +msgstr "" + +#: DB:work_attribute_type/description:20 +msgctxt "work_attribute_type" +msgid "ID for the Spanish rights society SGAE" +msgstr "" + +#: DB:work_attribute_type/description:50 +msgctxt "work_attribute_type" +msgid "ID for the Swedish rights society STIM" +msgstr "" + +#: DB:work_attribute_type/description:18 +msgctxt "work_attribute_type" +msgid "ID for the Swiss rights society SUISA" +msgstr "" + +#: DB:work_attribute_type/description:12 +msgctxt "work_attribute_type" +msgid "ID for the Taiwanese rights society MÜST" +msgstr "" + +#: DB:work_attribute_type/description:72 +msgctxt "work_attribute_type" +msgid "ID for the Thai rights society MCT" +msgstr "" + +#: DB:work_attribute_type/description:65 +msgctxt "work_attribute_type" +msgid "ID for the Trinidadian and Tobagonian rights society COTT" +msgstr "" + +#: DB:work_attribute_type/description:6 +msgctxt "work_attribute_type" +msgid "ID for the US rights society ASCAP" +msgstr "" + +#: DB:work_attribute_type/description:7 +msgctxt "work_attribute_type" +msgid "ID for the US rights society BMI" +msgstr "" + +#: DB:work_attribute_type/description:106 +msgctxt "work_attribute_type" +msgid "ID for the US rights society GMR" +msgstr "" + +#: DB:work_attribute_type/description:8 +msgctxt "work_attribute_type" +msgid "ID for the US rights society SESAC" +msgstr "" + +#: DB:work_attribute_type/description:43 +msgctxt "work_attribute_type" +msgid "ID for the Uruguayan rights society AGADU" +msgstr "" + +#: DB:work_attribute_type/description:42 +msgctxt "work_attribute_type" +msgid "ID for the Venezuelan rights society SACVEN" +msgstr "" + +#: DB:work_attribute_type/description:107 +msgctxt "work_attribute_type" +msgid "ID for the Vietnamese rights society VCPMC" +msgstr "" + +#: DB:work_attribute_type/description:38 +msgctxt "work_attribute_type" +msgid "ID for the international (formerly US) rights society AMRA" +msgstr "" + +#: DB:work_attribute_type/description:55 +msgctxt "work_attribute_type" +msgid "ID for the international rights society consortium LatinNet" +msgstr "" + +#: DB:work_attribute_type/description:22 +msgctxt "work_attribute_type" +msgid "ID for the private licensing company CCLI" +msgstr "" + +#: DB:work_attribute_type/description:64 +msgctxt "work_attribute_type" +msgid "ID for the private licensing company HFA (Harry Fox Agency)" +msgstr "" + +#: DB:work_attribute_type/name:52 +msgctxt "work_attribute_type" +msgid "IMRO ID" +msgstr "" + +#: DB:work_attribute_type/name:70 +msgctxt "work_attribute_type" +msgid "IPRS ID" +msgstr "" + +#: DB:work_attribute_type/name:14 +msgctxt "work_attribute_type" +msgid "Identifiers" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:832 +msgctxt "work_attribute_type_allowed_value" +msgid "Ikvāi" +msgstr "" + +#: DB:label_type/name:9 +msgctxt "label_type" +msgid "Imprint" +msgstr "" + +#: DB:work_type/name:30 +msgctxt "work_type" +msgid "Incidental music" +msgstr "" + +#: DB:work_type/description:30 +msgctxt "work_type" +msgid "" +"Incidental music is music written as background for (usually) a theatre play." +msgstr "" + +#: DB:area_type/name:9 +msgctxt "area_type" +msgid "Indigenous territory / reserve" +msgstr "" + +#: DB:place_type/name:5 +msgctxt "place_type" +msgid "Indoor arena" +msgstr "" + +#: DB:editor_collection_type/name:9 +msgctxt "collection_type" +msgid "Instrument collection" +msgstr "" + +#: DB:instrument_alias_type/name:1 +msgctxt "alias_type" +msgid "Instrument name" +msgstr "" + +#: DB:release_group_secondary_type/name:4 +msgctxt "release_group_secondary_type" +msgid "Interview" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:427 +msgctxt "work_attribute_type_allowed_value" +msgid "Irak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:428 +msgctxt "work_attribute_type_allowed_value" +msgid "Irakaşiran" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:739 +msgctxt "work_attribute_type_allowed_value" +msgid "Iraksak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:429 +msgctxt "work_attribute_type_allowed_value" +msgid "Isfahan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:430 +msgctxt "work_attribute_type_allowed_value" +msgid "Isfahan Ruy-i Neva" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:431 +msgctxt "work_attribute_type_allowed_value" +msgid "Isfahan Zemzeme" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:434 +msgctxt "work_attribute_type_allowed_value" +msgid "Isfahan-ı Cedid" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:432 +msgctxt "work_attribute_type_allowed_value" +msgid "Isfahanbuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:433 +msgctxt "work_attribute_type_allowed_value" +msgid "Isfahanek" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:435 +msgctxt "work_attribute_type_allowed_value" +msgid "Isfahani" +msgstr "" + +#: DB:area_type/name:6 +msgctxt "area_type" +msgid "Island" +msgstr "" + +#: DB:area_type/description:6 +msgctxt "area_type" +msgid "" +"Island is used for islands and atolls which don't form subdivisions of their " +"own, e.g. Skye. These are not considered when displaying the parent areas " +"for a given area." +msgstr "" + +#: DB:work_attribute_type/name:69 +msgctxt "work_attribute_type" +msgid "JACAP ID" +msgstr "" + +#: DB:work_attribute_type/name:3 +msgctxt "work_attribute_type" +msgid "JASRAC ID" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:114 +msgctxt "work_attribute_type_allowed_value" +msgid "Jaganmōhini" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:927 +msgctxt "work_attribute_type_allowed_value" +msgid "Jaijaivanti" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:928 +msgctxt "work_attribute_type_allowed_value" +msgid "Jait kalyāṇ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:115 +msgctxt "work_attribute_type_allowed_value" +msgid "Janaranjani" +msgstr "" + +#: DB:release_packaging/description:21 +msgctxt "release_packaging" +msgid "" +"Japanese case that holds an 8cm CD. It is rectangular but can be snapped to " +"make it more compact (hence the name)." +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:929 +msgctxt "work_attribute_type_allowed_value" +msgid "Jaunpuri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:116 +msgctxt "work_attribute_type_allowed_value" +msgid "Jaya manōhari" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:117 +msgctxt "work_attribute_type_allowed_value" +msgid "Jayantasēna" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:118 +msgctxt "work_attribute_type_allowed_value" +msgid "Jayantaśrī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:930 +msgctxt "work_attribute_type_allowed_value" +msgid "Jayavantī tōḍī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:833 +msgctxt "work_attribute_type_allowed_value" +msgid "Jaṭ" +msgstr "" + +#: DB:release_packaging/name:1 +msgctxt "release_packaging" +msgid "Jewel Case" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:119 +msgctxt "work_attribute_type_allowed_value" +msgid "Jhankāradhvani" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:834 +msgctxt "work_attribute_type_allowed_value" +msgid "Jhaptāl" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:931 +msgctxt "work_attribute_type_allowed_value" +msgid "Jhinjhaṭ mān̄j" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:932 +msgctxt "work_attribute_type_allowed_value" +msgid "Jhinjhōṭi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:835 +msgctxt "work_attribute_type_allowed_value" +msgid "Jhūmrā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:120 +msgctxt "work_attribute_type_allowed_value" +msgid "Jingala" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:124 +msgctxt "work_attribute_type_allowed_value" +msgid "Jyōti svarūpiṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:121 +#: DB:work_attribute_type_allowed_value/value:933 +msgctxt "work_attribute_type_allowed_value" +msgid "Jōg" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:122 +msgctxt "work_attribute_type_allowed_value" +msgid "Jōgiya" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:934 +msgctxt "work_attribute_type_allowed_value" +msgid "Jōgiyā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:935 +msgctxt "work_attribute_type_allowed_value" +msgid "Jōgiyā asavāri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:936 +msgctxt "work_attribute_type_allowed_value" +msgid "Jōgkauns" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:123 +msgctxt "work_attribute_type_allowed_value" +msgid "Jōnpuri" +msgstr "" + +#: DB:work_attribute_type/name:51 +msgctxt "work_attribute_type" +msgid "KODA ID" +msgstr "" + +#: DB:work_attribute_type/name:11 +msgctxt "work_attribute_type" +msgid "KOMCA ID" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:621 +msgctxt "work_attribute_type_allowed_value" +msgid "Kalenderi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:128 +msgctxt "work_attribute_type_allowed_value" +msgid "Kalgaḍa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:939 +msgctxt "work_attribute_type_allowed_value" +msgid "Kalyāṇ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:130 +#: DB:work_attribute_type_allowed_value/value:940 +msgctxt "work_attribute_type_allowed_value" +msgid "Kalyāṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:127 +#: DB:work_attribute_type_allowed_value/value:937 +msgctxt "work_attribute_type_allowed_value" +msgid "Kalāvati" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:938 +msgctxt "work_attribute_type_allowed_value" +msgid "Kalāśrī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:131 +msgctxt "work_attribute_type_allowed_value" +msgid "Kamalāmanōhari" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:622 +msgctxt "work_attribute_type_allowed_value" +msgid "Kamet" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:133 +msgctxt "work_attribute_type_allowed_value" +msgid "Kamās" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:137 +msgctxt "work_attribute_type_allowed_value" +msgid "Kannaḍa gaula" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:623 +msgctxt "work_attribute_type_allowed_value" +msgid "Kanto" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:742 +msgctxt "work_attribute_type_allowed_value" +msgid "Kapalı Curcuna" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:624 +msgctxt "work_attribute_type_allowed_value" +msgid "Kar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:626 +msgctxt "work_attribute_type_allowed_value" +msgid "Kar-ı Natık" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:627 +msgctxt "work_attribute_type_allowed_value" +msgid "Kar-ı Nev" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:437 +msgctxt "work_attribute_type_allowed_value" +msgid "Karabağı" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:141 +msgctxt "work_attribute_type_allowed_value" +msgid "Karaharapriya" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:438 +msgctxt "work_attribute_type_allowed_value" +msgid "Karcığar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:625 +msgctxt "work_attribute_type_allowed_value" +msgid "Karçe" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:628 +msgctxt "work_attribute_type_allowed_value" +msgid "Karşılama" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:142 +msgctxt "work_attribute_type_allowed_value" +msgid "Karṇaranjani" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:143 +msgctxt "work_attribute_type_allowed_value" +msgid "Karṇāṭaka behāg" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:144 +msgctxt "work_attribute_type_allowed_value" +msgid "Karṇāṭaka dēvagāndhāri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:145 +msgctxt "work_attribute_type_allowed_value" +msgid "Karṇāṭaka kāpi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:146 +msgctxt "work_attribute_type_allowed_value" +msgid "Karṇāṭaka śudda sāvēri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:629 +msgctxt "work_attribute_type_allowed_value" +msgid "Kasaphavası" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:147 +msgctxt "work_attribute_type_allowed_value" +msgid "Kathanakutūhalaṁ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:743 +msgctxt "work_attribute_type_allowed_value" +msgid "Katikofti" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:945 +msgctxt "work_attribute_type_allowed_value" +msgid "Kaunsī kānaḍā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:946 +msgctxt "work_attribute_type_allowed_value" +msgid "Kauśik dhvani" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:129 +msgctxt "work_attribute_type_allowed_value" +msgid "Kaḷyāṇa vasantaṁ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:125 +msgctxt "work_attribute_type_allowed_value" +msgid "Kaḷā sāvēri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:126 +msgctxt "work_attribute_type_allowed_value" +msgid "Kaḷānidhi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:439 +msgctxt "work_attribute_type_allowed_value" +msgid "Kebüter" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:150 +msgctxt "work_attribute_type_allowed_value" +msgid "Kedāraṁ" +msgstr "" + +#: DB:release_packaging/name:6 +msgctxt "release_packaging" +msgid "Keep Case" +msgstr "" + +#: DB:work_attribute_type/name:1 +msgctxt "work_attribute_type" +msgid "Key" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:950 +msgctxt "work_attribute_type_allowed_value" +msgid "Khambāvati" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:948 +msgctxt "work_attribute_type_allowed_value" +msgid "Khamāj" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:949 +msgctxt "work_attribute_type_allowed_value" +msgid "Khamāj bahār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:282 +msgctxt "work_attribute_type_allowed_value" +msgid "Khaṇḍa chāpu" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:293 +msgctxt "work_attribute_type_allowed_value" +msgid "Khaṇḍa-jāti tripuṭa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:294 +msgctxt "work_attribute_type_allowed_value" +msgid "Khaṇḍa-jāti ēka" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:951 +msgctxt "work_attribute_type_allowed_value" +msgid "Khaṭa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:952 +msgctxt "work_attribute_type_allowed_value" +msgid "Khokar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:837 +msgctxt "work_attribute_type_allowed_value" +msgid "Khēmtāl" +msgstr "" + +#: DB:medium_format/name:95 +msgctxt "medium_format" +msgid "KiT Album" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:630 +msgctxt "work_attribute_type_allowed_value" +msgid "Koda" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:631 +msgctxt "work_attribute_type_allowed_value" +msgid "Koşma" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:155 +msgctxt "work_attribute_type_allowed_value" +msgid "Kuntalavarāḷi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:955 +msgctxt "work_attribute_type_allowed_value" +msgid "Kuntavarāli" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:633 +msgctxt "work_attribute_type_allowed_value" +msgid "Kur'an-ı Kerim" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:156 +msgctxt "work_attribute_type_allowed_value" +msgid "Kurinji" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:632 +msgctxt "work_attribute_type_allowed_value" +msgid "Köçekçe" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:634 +msgctxt "work_attribute_type_allowed_value" +msgid "Küpe" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:442 +msgctxt "work_attribute_type_allowed_value" +msgid "Kürdi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:443 +msgctxt "work_attribute_type_allowed_value" +msgid "Kürdi Gerdaniye" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:444 +msgctxt "work_attribute_type_allowed_value" +msgid "Kürdilihicazkar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:635 +msgctxt "work_attribute_type_allowed_value" +msgid "Kürthavası" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:440 +msgctxt "work_attribute_type_allowed_value" +msgid "Küçek" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:441 +msgctxt "work_attribute_type_allowed_value" +msgid "Küçekneva" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:132 +msgctxt "work_attribute_type_allowed_value" +msgid "Kāmaranjani" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:134 +msgctxt "work_attribute_type_allowed_value" +msgid "Kāmavardani/Pantuvarāḷi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:941 +msgctxt "work_attribute_type_allowed_value" +msgid "Kāmbhōji" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:942 +msgctxt "work_attribute_type_allowed_value" +msgid "Kāmōdvanti" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:136 +msgctxt "work_attribute_type_allowed_value" +msgid "Kānaḍa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:943 +msgctxt "work_attribute_type_allowed_value" +msgid "Kānaḍā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:138 +msgctxt "work_attribute_type_allowed_value" +msgid "Kāntāmaṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:944 +msgctxt "work_attribute_type_allowed_value" +msgid "Kāphī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:139 +msgctxt "work_attribute_type_allowed_value" +msgid "Kāpi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:140 +msgctxt "work_attribute_type_allowed_value" +msgid "Kāpi nārāyaṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:148 +msgctxt "work_attribute_type_allowed_value" +msgid "Kāvaḍicindu" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:135 +msgctxt "work_attribute_type_allowed_value" +msgid "Kāṁbhōji" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:947 +msgctxt "work_attribute_type_allowed_value" +msgid "Kēdār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:149 +msgctxt "work_attribute_type_allowed_value" +msgid "Kēdāragauḷa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:836 +msgctxt "work_attribute_type_allowed_value" +msgid "Kēharvā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:152 +#: DB:work_attribute_type_allowed_value/value:953 +msgctxt "work_attribute_type_allowed_value" +msgid "Kīravāṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:151 +msgctxt "work_attribute_type_allowed_value" +msgid "Kīraṇāvaḷi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:153 +msgctxt "work_attribute_type_allowed_value" +msgid "Kōkiladhvani" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:154 +msgctxt "work_attribute_type_allowed_value" +msgid "Kōkilapriya" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:954 +msgctxt "work_attribute_type_allowed_value" +msgid "Kōmal riṣabh asāvēri" +msgstr "" + +#: DB:editor_collection_type/name:10 +msgctxt "collection_type" +msgid "Label collection" +msgstr "" + +#: DB:label_alias_type/name:1 +msgctxt "alias_type" +msgid "Label name" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:956 +msgctxt "work_attribute_type_allowed_value" +msgid "Lagan gāndhār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:445 +msgctxt "work_attribute_type_allowed_value" +msgid "Lalegül" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:957 +msgctxt "work_attribute_type_allowed_value" +msgid "Lalit" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:958 +msgctxt "work_attribute_type_allowed_value" +msgid "Lalit bhaṭiyār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:959 +msgctxt "work_attribute_type_allowed_value" +msgid "Lalit bibhās" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:960 +msgctxt "work_attribute_type_allowed_value" +msgid "Lalit pañcam" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:961 +msgctxt "work_attribute_type_allowed_value" +msgid "Lalit Śuddh Dhaivat" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:157 +msgctxt "work_attribute_type_allowed_value" +msgid "Lalita" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:158 +msgctxt "work_attribute_type_allowed_value" +msgid "Lalita pancamaṁ" +msgstr "" + +#: DB:medium_format/name:5 +msgctxt "medium_format" +msgid "LaserDisc" +msgstr "" + +#: DB:work_attribute_type/name:55 +msgctxt "work_attribute_type" +msgid "LatinNet ID" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:159 +msgctxt "work_attribute_type_allowed_value" +msgid "Latāngi" +msgstr "" + +#: DB:event_type/name:3 +msgctxt "event_type" +msgid "Launch event" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:160 +msgctxt "work_attribute_type_allowed_value" +msgid "Lavāngi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:962 +msgctxt "work_attribute_type_allowed_value" +msgid "Laṅkēśrī" +msgstr "" + +#: DB:artist_alias_type/name:2 +msgctxt "alias_type" +msgid "Legal name" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:744 +msgctxt "work_attribute_type_allowed_value" +msgid "Lenk Fahte" +msgstr "" + +#: DB:cover_art_archive.art_type/name:12 +msgctxt "cover_art_type" +msgid "Liner" +msgstr "" + +#: DB:release_group_secondary_type/name:6 +msgctxt "release_group_secondary_type" +msgid "Live" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:636 +msgctxt "work_attribute_type_allowed_value" +msgid "Longa" +msgstr "" + +#: DB:release_packaging/name:55 +msgctxt "release_packaging" +msgid "Longbox" +msgstr "" + +#: DB:work_attribute_type/name:49 +msgctxt "work_attribute_type" +msgid "MACP ID" +msgstr "" + +#: DB:work_attribute_type/name:71 +msgctxt "work_attribute_type" +msgid "MCSC ID" +msgstr "" + +#: DB:work_attribute_type/name:72 +msgctxt "work_attribute_type" +msgid "MCT ID" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:963 +msgctxt "work_attribute_type_allowed_value" +msgid "Madhmad sāraṅg" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:964 +msgctxt "work_attribute_type_allowed_value" +msgid "Madhukauns" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:965 +msgctxt "work_attribute_type_allowed_value" +msgid "Madhuvanti" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:161 +msgctxt "work_attribute_type_allowed_value" +msgid "Madhyamā varāḷi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:162 +msgctxt "work_attribute_type_allowed_value" +msgid "Madhyamāvati" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:295 +msgctxt "work_attribute_type_allowed_value" +msgid "Madhyādi" +msgstr "" + +#: DB:work_type/name:7 +msgctxt "work_type" +msgid "Madrigal" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:163 +msgctxt "work_attribute_type_allowed_value" +msgid "Maduvanti" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:637 +msgctxt "work_attribute_type_allowed_value" +msgid "Mahfelsürmesi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:446 +msgctxt "work_attribute_type_allowed_value" +msgid "Mahur" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:447 +msgctxt "work_attribute_type_allowed_value" +msgid "Mahurbuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:448 +msgctxt "work_attribute_type_allowed_value" +msgid "Mahurhan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:296 +msgctxt "work_attribute_type_allowed_value" +msgid "Mahālakṣmi" +msgstr "" + +#: DB:work_attribute_type/name:15 +msgctxt "work_attribute_type" +msgid "Makam (Ottoman, Turkish)" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:164 +msgctxt "work_attribute_type_allowed_value" +msgid "Malahari" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:166 +msgctxt "work_attribute_type_allowed_value" +msgid "Malayamārutaṁ" +msgstr "" + +#: DB:gender/name:1 +msgctxt "gender" +msgid "Male" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:638 +msgctxt "work_attribute_type_allowed_value" +msgid "Mandra" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:168 +msgctxt "work_attribute_type_allowed_value" +msgid "Mandāri" +msgstr "" + +#: DB:series_ordering_type/name:2 +msgctxt "series_ordering_type" +msgid "Manual" +msgstr "" + +#: DB:label_type/name:10 +msgctxt "label_type" +msgid "Manufacturer" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:172 +msgctxt "work_attribute_type_allowed_value" +msgid "Manōranjani" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:639 +msgctxt "work_attribute_type_allowed_value" +msgid "Marş" +msgstr "" + +#: DB:work_type/name:8 +msgctxt "work_type" +msgid "Mass" +msgstr "" + +#: DB:event_type/name:5 +msgctxt "event_type" +msgid "Masterclass/Clinic" +msgstr "" + +#: DB:cover_art_archive.art_type/name:15 +msgctxt "cover_art_type" +msgid "Matrix/Runout" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:449 +msgctxt "work_attribute_type_allowed_value" +msgid "Maver" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:450 +msgctxt "work_attribute_type_allowed_value" +msgid "Mavera" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:451 +msgctxt "work_attribute_type_allowed_value" +msgid "Maveraünnehir" +msgstr "" + +#: DB:editor_collection_type/name:6 +msgctxt "collection_type" +msgid "Maybe attending" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:452 +msgctxt "work_attribute_type_allowed_value" +msgid "Maye" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:175 +msgctxt "work_attribute_type_allowed_value" +msgid "Mayūra sāvēri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:970 +msgctxt "work_attribute_type_allowed_value" +msgid "Maṅgal bhairav" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:170 +msgctxt "work_attribute_type_allowed_value" +msgid "Maṇirangu" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:286 +msgctxt "work_attribute_type_allowed_value" +msgid "Maṭhya" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:838 +msgctxt "work_attribute_type_allowed_value" +msgid "Maṭṭā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:453 +msgctxt "work_attribute_type_allowed_value" +msgid "Meclis Efruz" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:640 +msgctxt "work_attribute_type_allowed_value" +msgid "Medhal" +msgstr "" + +#: DB:cover_art_archive.art_type/name:4 +msgctxt "cover_art_type" +msgid "Medium" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:176 +msgctxt "work_attribute_type_allowed_value" +msgid "Meghamalhar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:641 +msgctxt "work_attribute_type_allowed_value" +msgid "Mehter" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:642 +msgctxt "work_attribute_type_allowed_value" +msgid "Mersiye" +msgstr "" + +#: DB:release_packaging/name:54 +msgctxt "release_packaging" +msgid "Metal Tin" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:745 +msgctxt "work_attribute_type_allowed_value" +msgid "Mevlevi Evferi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:643 +msgctxt "work_attribute_type_allowed_value" +msgid "Mevlidişerif" +msgstr "" + +#: DB:medium_format/name:83 +msgctxt "medium_format" +msgid "Microcassette" +msgstr "" + +#: DB:area_type/name:8 +msgctxt "area_type" +msgid "Military base" +msgstr "" + +#: DB:medium_format/name:166 +msgctxt "medium_format" +msgid "MiniDVD" +msgstr "" + +#: DB:medium_format/name:168 +msgctxt "medium_format" +msgid "MiniDVD-Audio" +msgstr "" + +#: DB:medium_format/name:169 +msgctxt "medium_format" +msgid "MiniDVD-Video" +msgstr "" + +#: DB:medium_format/name:6 +msgctxt "medium_format" +msgid "MiniDisc" +msgstr "" + +#: DB:medium_format/name:165 +msgctxt "medium_format" +msgid "Minimax CD" +msgstr "" + +#: DB:medium_format/name:167 +msgctxt "medium_format" +msgid "Minimax DVD" +msgstr "" + +#: DB:medium_format/name:170 +msgctxt "medium_format" +msgid "Minimax DVD-Audio" +msgstr "" + +#: DB:medium_format/name:171 +msgctxt "medium_format" +msgid "Minimax DVD-Video" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:644 +msgctxt "work_attribute_type_allowed_value" +msgid "Miraciye" +msgstr "" + +#: DB:medium_format/name:129 +msgctxt "medium_format" +msgid "Mixed Mode CD" +msgstr "" + +#: DB:release_group_secondary_type/name:9 +msgctxt "release_group_secondary_type" +msgid "Mixtape/Street" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:981 +msgctxt "work_attribute_type_allowed_value" +msgid "Miyām̐ kī sāraṅg" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:982 +msgctxt "work_attribute_type_allowed_value" +msgid "Miyām̐ malhār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:281 +msgctxt "work_attribute_type_allowed_value" +msgid "Miśra chāpu" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:977 +msgctxt "work_attribute_type_allowed_value" +msgid "Miśra gārā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:978 +msgctxt "work_attribute_type_allowed_value" +msgid "Miśra kaliṅgaḍā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:177 +msgctxt "work_attribute_type_allowed_value" +msgid "Miśra khamāj" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:979 +msgctxt "work_attribute_type_allowed_value" +msgid "Miśra māṇḍ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:178 +msgctxt "work_attribute_type_allowed_value" +msgid "Miśra pahāḍi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:980 +msgctxt "work_attribute_type_allowed_value" +msgid "Miśra pīlū" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:180 +msgctxt "work_attribute_type_allowed_value" +msgid "Miśra yaman" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:179 +msgctxt "work_attribute_type_allowed_value" +msgid "Miśra śivaranjani" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:287 +msgctxt "work_attribute_type_allowed_value" +msgid "Miśra-jāti jhaṁpe" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:297 +msgctxt "work_attribute_type_allowed_value" +msgid "Miśra-jāti rūpaka" +msgstr "" + +#: DB:work_type/name:9 +msgctxt "work_type" +msgid "Motet" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:746 +msgctxt "work_attribute_type_allowed_value" +msgid "Muaşşer" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:454 +msgctxt "work_attribute_type_allowed_value" +msgid "Muhalif" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:455 +msgctxt "work_attribute_type_allowed_value" +msgid "Muhalif-i Irak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:456 +msgctxt "work_attribute_type_allowed_value" +msgid "Muhalif-i Rast" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:457 +msgctxt "work_attribute_type_allowed_value" +msgid "Muhalif-i Uşşak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:747 +msgctxt "work_attribute_type_allowed_value" +msgid "Muhammes" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:458 +msgctxt "work_attribute_type_allowed_value" +msgid "Muhayyer" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:459 +msgctxt "work_attribute_type_allowed_value" +msgid "Muhayyer Sünbüle" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:462 +msgctxt "work_attribute_type_allowed_value" +msgid "Muhayyer Zengüle" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:460 +msgctxt "work_attribute_type_allowed_value" +msgid "Muhayyerbuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:461 +msgctxt "work_attribute_type_allowed_value" +msgid "Muhayyerkürdi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:183 +msgctxt "work_attribute_type_allowed_value" +msgid "Mukhāri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:983 +msgctxt "work_attribute_type_allowed_value" +msgid "Multāni" +msgstr "" + +#: DB:area_type/name:4 +msgctxt "area_type" +msgid "Municipality" +msgstr "" + +#: DB:area_type/description:4 +msgctxt "area_type" +msgid "" +"Municipality is used for small administrative divisions which, for urban " +"municipalities, often contain a single city and a few surrounding villages. " +"Rural municipalities typically group several villages together." +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:645 +msgctxt "work_attribute_type_allowed_value" +msgid "Murabba" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:811 +msgctxt "work_attribute_type_allowed_value" +msgid "Murabba Beste " +msgstr "" + +#: DB:work_type/name:29 +msgctxt "work_type" +msgid "Musical" +msgstr "" + +#: DB:work_type/description:29 +msgctxt "work_type" +msgid "" +"Musical theatre is a form of theatrical performance that combines songs, " +"spoken dialogue, acting, and dance." +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:748 +msgctxt "work_attribute_type_allowed_value" +msgid "Muzaaf Devr-i Kebir" +msgstr "" + +#: DB:work_attribute_type/name:12 +msgctxt "work_attribute_type" +msgid "MÜST ID" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:463 +msgctxt "work_attribute_type_allowed_value" +msgid "Müberka" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:646 +msgctxt "work_attribute_type_allowed_value" +msgid "Münacaat" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:464 +msgctxt "work_attribute_type_allowed_value" +msgid "Mürekkep Isfahan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:749 +msgctxt "work_attribute_type_allowed_value" +msgid "Mürekkep Nimsofyan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:750 +msgctxt "work_attribute_type_allowed_value" +msgid "Mürekkep Semai/Üçleme" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:751 +msgctxt "work_attribute_type_allowed_value" +msgid "Mürekkep Sofyan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:465 +msgctxt "work_attribute_type_allowed_value" +msgid "Müselles" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:752 +msgctxt "work_attribute_type_allowed_value" +msgid "Müsemmen" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:753 +msgctxt "work_attribute_type_allowed_value" +msgid "Müsemmen II" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:466 +msgctxt "work_attribute_type_allowed_value" +msgid "Müstear" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:467 +msgctxt "work_attribute_type_allowed_value" +msgid "Müşküye" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:966 +msgctxt "work_attribute_type_allowed_value" +msgid "Mājh khamāj" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:967 +msgctxt "work_attribute_type_allowed_value" +msgid "Mālava" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:968 +msgctxt "work_attribute_type_allowed_value" +msgid "Mālkauns" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:969 +msgctxt "work_attribute_type_allowed_value" +msgid "Mālāvati" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:167 +msgctxt "work_attribute_type_allowed_value" +msgid "Mānavati" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:171 +msgctxt "work_attribute_type_allowed_value" +msgid "Mānji" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:169 +msgctxt "work_attribute_type_allowed_value" +msgid "Mānḍu" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:173 +msgctxt "work_attribute_type_allowed_value" +msgid "Mārgahindōḷaṁ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:971 +msgctxt "work_attribute_type_allowed_value" +msgid "Mārvā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:972 +msgctxt "work_attribute_type_allowed_value" +msgid "Mārvāśrī mārvā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:973 +msgctxt "work_attribute_type_allowed_value" +msgid "Mārūbihāg" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:174 +msgctxt "work_attribute_type_allowed_value" +msgid "Māyāmāḷavagauḷa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:165 +msgctxt "work_attribute_type_allowed_value" +msgid "Māḷavi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:974 +msgctxt "work_attribute_type_allowed_value" +msgid "Mēgh" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:975 +msgctxt "work_attribute_type_allowed_value" +msgid "Mēgh malahār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:976 +msgctxt "work_attribute_type_allowed_value" +msgid "Mīrā malhār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:181 +msgctxt "work_attribute_type_allowed_value" +msgid "Mōhan kaḷyāṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:182 +msgctxt "work_attribute_type_allowed_value" +msgid "Mōhanaṁ" +msgstr "" + +#: DB:work_attribute_type/name:59 +msgctxt "work_attribute_type" +msgid "NICAUTOR ID" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:647 +msgctxt "work_attribute_type_allowed_value" +msgid "Naat" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:984 +msgctxt "work_attribute_type_allowed_value" +msgid "Nagaḍ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:648 +msgctxt "work_attribute_type_allowed_value" +msgid "Nakış" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:809 +msgctxt "work_attribute_type_allowed_value" +msgid "Nakış Ağırsemai" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:808 +msgctxt "work_attribute_type_allowed_value" +msgid "Nakış Beste" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:810 +msgctxt "work_attribute_type_allowed_value" +msgid "Nakış Yürüksemai" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:985 +msgctxt "work_attribute_type_allowed_value" +msgid "Nanād" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:468 +msgctxt "work_attribute_type_allowed_value" +msgid "Narefte" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:649 +msgctxt "work_attribute_type_allowed_value" +msgid "Natipeygamberi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:196 +msgctxt "work_attribute_type_allowed_value" +msgid "Navarasa kannaḍa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:195 +msgctxt "work_attribute_type_allowed_value" +msgid "Navarāgamālika" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:197 +msgctxt "work_attribute_type_allowed_value" +msgid "Navrōj" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:754 +msgctxt "work_attribute_type_allowed_value" +msgid "Nazlı Düyek" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:187 +msgctxt "work_attribute_type_allowed_value" +msgid "Naḷinakānti" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:986 +msgctxt "work_attribute_type_allowed_value" +msgid "Naṭ bhairav" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:987 +msgctxt "work_attribute_type_allowed_value" +msgid "Naṭ bihāg" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:988 +msgctxt "work_attribute_type_allowed_value" +msgid "Naṭ kāmōd" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:989 +msgctxt "work_attribute_type_allowed_value" +msgid "Naṭ malhār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:990 +msgctxt "work_attribute_type_allowed_value" +msgid "Naṭ nārāyaṇ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:191 +msgctxt "work_attribute_type_allowed_value" +msgid "Naṭabhairavi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:194 +msgctxt "work_attribute_type_allowed_value" +msgid "Naṭanārāyaṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:469 +msgctxt "work_attribute_type_allowed_value" +msgid "Necd-i Hüseyni" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:650 +msgctxt "work_attribute_type_allowed_value" +msgid "Nefes" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:470 +msgctxt "work_attribute_type_allowed_value" +msgid "Neresin" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:472 +msgctxt "work_attribute_type_allowed_value" +msgid "Neva" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:473 +msgctxt "work_attribute_type_allowed_value" +msgid "Neva Bağdat" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:474 +msgctxt "work_attribute_type_allowed_value" +msgid "Neva Dilkeş" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:475 +msgctxt "work_attribute_type_allowed_value" +msgid "Nevabuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:476 +msgctxt "work_attribute_type_allowed_value" +msgid "Nevakürdi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:477 +msgctxt "work_attribute_type_allowed_value" +msgid "Nevaziş" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:478 +msgctxt "work_attribute_type_allowed_value" +msgid "Neveda" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:479 +msgctxt "work_attribute_type_allowed_value" +msgid "Neveser" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:480 +msgctxt "work_attribute_type_allowed_value" +msgid "Nevkeş" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:481 +msgctxt "work_attribute_type_allowed_value" +msgid "Nevruz" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:482 +msgctxt "work_attribute_type_allowed_value" +msgid "Nevruzi Rumi" +msgstr "" + +#: DB:work_attribute_type/name:33 +msgctxt "work_attribute_type" +msgid "NexTone ID" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:471 +msgctxt "work_attribute_type_allowed_value" +msgid "Neşataver" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:483 +msgctxt "work_attribute_type_allowed_value" +msgid "Nigar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:484 +msgctxt "work_attribute_type_allowed_value" +msgid "Nihavend-i Kebir" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:485 +msgctxt "work_attribute_type_allowed_value" +msgid "Nihavend-i Rumi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:486 +msgctxt "work_attribute_type_allowed_value" +msgid "Nihavent" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:487 +msgctxt "work_attribute_type_allowed_value" +msgid "Nikriz" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:755 +msgctxt "work_attribute_type_allowed_value" +msgid "Nimberefşan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:757 +msgctxt "work_attribute_type_allowed_value" +msgid "Nimdevir" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:758 +msgctxt "work_attribute_type_allowed_value" +msgid "Nimevsat" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:759 +msgctxt "work_attribute_type_allowed_value" +msgid "Nimhafif" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:760 +msgctxt "work_attribute_type_allowed_value" +msgid "Nimsakil" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:761 +msgctxt "work_attribute_type_allowed_value" +msgid "Nimsofyan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:756 +msgctxt "work_attribute_type_allowed_value" +msgid "Nimçember" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:651 +msgctxt "work_attribute_type_allowed_value" +msgid "Ninni" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:200 +msgctxt "work_attribute_type_allowed_value" +msgid "Nirōṣita" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:488 +msgctxt "work_attribute_type_allowed_value" +msgid "Nişabur" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:489 +msgctxt "work_attribute_type_allowed_value" +msgid "Nişaburek" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:490 +msgctxt "work_attribute_type_allowed_value" +msgid "Nişabureyn" +msgstr "" + +#: DB:gender/name:5 +msgctxt "gender" +msgid "Non-binary" +msgstr "" + +#: DB:release_group_secondary_type/description:3 +msgctxt "release_group_secondary_type" +msgid "Non-music spoken word releases." +msgstr "" + +#: DB:release_packaging/name:7 +msgctxt "release_packaging" +msgid "None" +msgstr "" + +#: DB:gender/name:4 +msgctxt "gender" +msgid "Not applicable" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:491 +msgctxt "work_attribute_type_allowed_value" +msgid "Nuşingül" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:492 +msgctxt "work_attribute_type_allowed_value" +msgid "Nühüft" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:184 +msgctxt "work_attribute_type_allowed_value" +msgid "Nādanāmakriya" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:185 +msgctxt "work_attribute_type_allowed_value" +msgid "Nāga gāndhāri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:186 +msgctxt "work_attribute_type_allowed_value" +msgid "Nāgasvarāvaḷi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:188 +msgctxt "work_attribute_type_allowed_value" +msgid "Nārāyaṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:189 +msgctxt "work_attribute_type_allowed_value" +msgid "Nāsikabhūṣaṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:198 +msgctxt "work_attribute_type_allowed_value" +msgid "Nāyaki" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:991 +msgctxt "work_attribute_type_allowed_value" +msgid "Nāyakī kānaḍā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:190 +msgctxt "work_attribute_type_allowed_value" +msgid "Nāṭa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:192 +msgctxt "work_attribute_type_allowed_value" +msgid "Nāṭakapriya" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:193 +msgctxt "work_attribute_type_allowed_value" +msgid "Nāṭakurinji" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:992 +msgctxt "work_attribute_type_allowed_value" +msgid "Nīlāmbari" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:199 +msgctxt "work_attribute_type_allowed_value" +msgid "Nīlāṁbari" +msgstr "" + +#: DB:work_attribute_type/name:25 +msgctxt "work_attribute_type" +msgid "OSA ID" +msgstr "" + +#: DB:cover_art_archive.art_type/name:5 +msgctxt "cover_art_type" +msgid "Obi" +msgstr "" + +#: DB:release_status/name:1 +msgctxt "release_status" +msgid "Official" +msgstr "" + +#: DB:work_type/name:10 +msgctxt "work_type" +msgid "Opera" +msgstr "" + +#: DB:work_type/name:24 +msgctxt "work_type" +msgid "Operetta" +msgstr "" + +#: DB:work_type/name:11 +msgctxt "work_type" +msgid "Oratorio" +msgstr "" + +#: DB:artist_type/name:5 +msgctxt "artist_type" +msgid "Orchestra" +msgstr "" + +#: DB:label_type/name:4 +msgctxt "label_type" +msgid "Original Production" +msgstr "" + +#: DB:artist_type/name:3 +msgctxt "artist_type" +msgid "Other" +msgstr "" + +#: DB:cover_art_archive.art_type/name:8 +msgctxt "cover_art_type" +msgid "Other" +msgstr "" + +#: DB:gender/name:3 +msgctxt "gender" +msgid "Other" +msgstr "" + +#: DB:medium_format/name:13 +msgctxt "medium_format" +msgid "Other" +msgstr "" + +#: DB:place_type/name:3 +msgctxt "place_type" +msgid "Other" +msgstr "" + +#: DB:release_group_primary_type/name:11 +msgctxt "release_group_primary_type" +msgid "Other" +msgstr "" + +#: DB:release_packaging/name:5 +msgctxt "release_packaging" +msgid "Other" +msgstr "" + +#: DB:instrument_type/name:5 +msgctxt "instrument_type" +msgid "Other instrument" +msgstr "" + +#: DB:work_type/name:12 +msgctxt "work_type" +msgid "Overture" +msgstr "" + +#: DB:editor_collection_type/name:2 +msgctxt "collection_type" +msgid "Owned music" +msgstr "" + +#: DB:editor_collection_type/name:17 +msgctxt "collection_type" +msgid "Owned recordings" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:762 +msgctxt "work_attribute_type_allowed_value" +msgid "Oynak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:652 +msgctxt "work_attribute_type_allowed_value" +msgid "Oyunhavası" +msgstr "" + +#: DB:work_attribute_type/name:34 +msgctxt "work_attribute_type" +msgid "PRS tune code" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:993 +msgctxt "work_attribute_type_allowed_value" +msgid "Pahāḍi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:839 +msgctxt "work_attribute_type_allowed_value" +msgid "Pan̄cam savārī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:840 +msgctxt "work_attribute_type_allowed_value" +msgid "Pan̄jābī " +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:994 +msgctxt "work_attribute_type_allowed_value" +msgid "Paraj" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:203 +msgctxt "work_attribute_type_allowed_value" +msgid "Paras" +msgstr "" + +#: DB:place_type/name:9 +msgctxt "place_type" +msgid "Park" +msgstr "" + +#: DB:work_type/name:13 +msgctxt "work_type" +msgid "Partita" +msgstr "" + +#: DB:medium_format/name:58 +msgctxt "medium_format" +msgid "Pathé disc" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:995 +msgctxt "work_attribute_type_allowed_value" +msgid "Pañcam" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:996 +msgctxt "work_attribute_type_allowed_value" +msgid "Paṭaman̄jari" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:204 +#: DB:work_attribute_type_allowed_value/value:997 +msgctxt "work_attribute_type_allowed_value" +msgid "Paṭdīp" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:493 +msgctxt "work_attribute_type_allowed_value" +msgid "Pençgah" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:494 +msgctxt "work_attribute_type_allowed_value" +msgid "Pençgah-ı Asl" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:495 +msgctxt "work_attribute_type_allowed_value" +msgid "Pençgah-ı Zaid" +msgstr "" + +#: DB:instrument_type/name:3 +msgctxt "instrument_type" +msgid "Percussion instrument" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:496 +msgctxt "work_attribute_type_allowed_value" +msgid "Perr-i Zerrin" +msgstr "" + +#: DB:artist_type/name:1 +msgctxt "artist_type" +msgid "Person" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:497 +msgctxt "work_attribute_type_allowed_value" +msgid "Pesendide" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:498 +msgctxt "work_attribute_type_allowed_value" +msgid "Peyk-i Neşat" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:499 +msgctxt "work_attribute_type_allowed_value" +msgid "Peyk-i Safa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:654 +msgctxt "work_attribute_type_allowed_value" +msgid "Peşrev" +msgstr "" + +#: DB:medium_format/name:73 +msgctxt "medium_format" +msgid "Phonograph record" +msgstr "" + +#: DB:medium_format/name:15 +msgctxt "medium_format" +msgid "Piano Roll" +msgstr "" + +#: DB:editor_collection_type/name:11 +msgctxt "collection_type" +msgid "Place collection" +msgstr "" + +#: DB:place_alias_type/name:1 +msgctxt "alias_type" +msgid "Place name" +msgstr "" + +#: DB:release_packaging/description:20 +msgctxt "release_packaging" +msgid "Plastic CD tray inside a cardboard slipcover" +msgstr "" + +#: DB:release_packaging/name:18 +msgctxt "release_packaging" +msgid "Plastic Sleeve" +msgstr "" + +#: DB:work_type/name:28 +msgctxt "work_type" +msgid "Play" +msgstr "" + +#: DB:medium_format/name:74 +msgctxt "medium_format" +msgid "PlayTape" +msgstr "" + +#: DB:medium_format/name:45 +msgctxt "medium_format" +msgid "Playbutton" +msgstr "" + +#: DB:series_type/name:80 +msgctxt "series_type" +msgid "Podcast" +msgstr "" + +#: DB:work_type/name:21 +msgctxt "work_type" +msgid "Poem" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:655 +msgctxt "work_attribute_type_allowed_value" +msgid "Pop şarkısı" +msgstr "" + +#: DB:cover_art_archive.art_type/name:11 +msgctxt "cover_art_type" +msgid "Poster" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:998 +msgctxt "work_attribute_type_allowed_value" +msgid "Pratāpavarāli" +msgstr "" + +#: DB:place_type/name:8 +msgctxt "place_type" +msgid "Pressing plant" +msgstr "" + +#: DB:label_type/name:3 +msgctxt "label_type" +msgid "Production" +msgstr "" + +#: DB:release_status/name:2 +msgctxt "release_status" +msgid "Promotion" +msgstr "" + +#: DB:release_group_secondary_type/description:9 +msgctxt "release_group_secondary_type" +msgid "" +"Promotional in nature (but not necessarily free), mixtapes and street albums " +"are often released by artists to promote new artists, or upcoming studio " +"albums by prominent artists. They are also sometimes used to keep fans' " +"attention between studio releases and are most common in rap & hip hop " +"genres. They are often not sanctioned by the artist's label, may lack proper " +"sample or song clearances and vary widely in production and recording " +"quality. While mixtapes are generally DJ-mixed, they are distinct from " +"commercial DJ-mixes (which are usually deemed compilations) and are defined " +"by having a significant proportion of new material, including original " +"production or original vocals over top of other artists' instrumentals. They " +"are distinct from demos in that they are designed for release directly to " +"the public and fans; not to labels." +msgstr "" + +#: DB:work_type/name:23 +msgctxt "work_type" +msgid "Prose" +msgstr "" + +#: DB:release_status/name:4 +msgctxt "release_status" +msgid "Pseudo-Release" +msgstr "" + +#: DB:label_type/name:7 +msgctxt "label_type" +msgid "Publisher" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:999 +msgctxt "work_attribute_type_allowed_value" +msgid "Puriyā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1000 +msgctxt "work_attribute_type_allowed_value" +msgid "Puriyā dhanaśrī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1001 +msgctxt "work_attribute_type_allowed_value" +msgid "Puriyā kalyāṇ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:205 +msgctxt "work_attribute_type_allowed_value" +msgid "Puṇṇāgavarāḷi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:209 +msgctxt "work_attribute_type_allowed_value" +msgid "Puṣpalatika" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:202 +msgctxt "work_attribute_type_allowed_value" +msgid "Pālamanjari" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:201 +msgctxt "work_attribute_type_allowed_value" +msgid "Pāḍi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:208 +#: DB:work_attribute_type_allowed_value/value:1002 +msgctxt "work_attribute_type_allowed_value" +msgid "Pūrvi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:206 +msgctxt "work_attribute_type_allowed_value" +msgid "Pūrṇa ṣaḍjaṁ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:207 +msgctxt "work_attribute_type_allowed_value" +msgid "Pūrṇacandrika" +msgstr "" + +#: DB:work_type/name:14 +msgctxt "work_type" +msgid "Quartet" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:500 +msgctxt "work_attribute_type_allowed_value" +msgid "Rahatfeza" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:501 +msgctxt "work_attribute_type_allowed_value" +msgid "Rahatülervah" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:763 +msgctxt "work_attribute_type_allowed_value" +msgid "Raksaksağı" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:798 +msgctxt "work_attribute_type_allowed_value" +msgid "Raksaksağı II" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:764 +msgctxt "work_attribute_type_allowed_value" +msgid "Raksan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:502 +msgctxt "work_attribute_type_allowed_value" +msgid "Ramiş-i Can" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:215 +msgctxt "work_attribute_type_allowed_value" +msgid "Ranjani" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:216 +msgctxt "work_attribute_type_allowed_value" +msgid "Rasikapriya" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:503 +msgctxt "work_attribute_type_allowed_value" +msgid "Rast" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:506 +msgctxt "work_attribute_type_allowed_value" +msgid "Rast Haveran" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:513 +msgctxt "work_attribute_type_allowed_value" +msgid "Rast-Maye" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:507 +msgctxt "work_attribute_type_allowed_value" +msgid "Rast-ı Atik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:508 +msgctxt "work_attribute_type_allowed_value" +msgid "Rast-ı Cedid" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:509 +msgctxt "work_attribute_type_allowed_value" +msgid "Rast-ı Rumi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:510 +msgctxt "work_attribute_type_allowed_value" +msgid "Rast-ı Sağır" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:511 +msgctxt "work_attribute_type_allowed_value" +msgid "Rast-ı Sultani" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:504 +msgctxt "work_attribute_type_allowed_value" +msgid "Rastaşiran" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:505 +msgctxt "work_attribute_type_allowed_value" +msgid "Rastdilara" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:512 +msgctxt "work_attribute_type_allowed_value" +msgid "Rastkürdi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:217 +msgctxt "work_attribute_type_allowed_value" +msgid "Ratipati priya" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:218 +msgctxt "work_attribute_type_allowed_value" +msgid "Ravicandrika" +msgstr "" + +#: DB:cover_art_archive.art_type/name:14 +msgctxt "cover_art_type" +msgid "Raw/Unedited" +msgstr "" + +#: DB:series_type/name:48 +msgctxt "series_type" +msgid "Recording award" +msgstr "" + +#: DB:editor_collection_type/name:12 +msgctxt "collection_type" +msgid "Recording collection" +msgstr "" + +#: DB:recording_alias_type/name:1 +msgctxt "alias_type" +msgid "Recording name" +msgstr "" + +#: DB:series_type/name:3 +msgctxt "series_type" +msgid "Recording series" +msgstr "" + +#: DB:medium_format/name:10 +msgctxt "medium_format" +msgid "Reel-to-reel" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:514 +msgctxt "work_attribute_type_allowed_value" +msgid "Rehavi" +msgstr "" + +#: DB:label_type/name:6 +msgctxt "label_type" +msgid "Reissue Production" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:515 +msgctxt "work_attribute_type_allowed_value" +msgid "Rekb-i Zavil" +msgstr "" + +#: DB:editor_collection_type/name:1 +msgctxt "collection_type" +msgid "Release collection" +msgstr "" + +#: DB:series_type/name:47 +msgctxt "series_type" +msgid "Release group award" +msgstr "" + +#: DB:editor_collection_type/name:13 +msgctxt "collection_type" +msgid "Release group collection" +msgstr "" + +#: DB:release_group_alias_type/name:1 +msgctxt "alias_type" +msgid "Release group name" +msgstr "" + +#: DB:series_type/name:1 +msgctxt "series_type" +msgid "Release group series" +msgstr "" + +#: DB:release_alias_type/name:1 +msgctxt "alias_type" +msgid "Release name" +msgstr "" + +#: DB:series_type/name:2 +msgctxt "series_type" +msgid "Release series" +msgstr "" + +#: DB:place_type/name:6 +msgctxt "place_type" +msgid "Religious building" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:765 +msgctxt "work_attribute_type_allowed_value" +msgid "Remel" +msgstr "" + +#: DB:release_group_secondary_type/name:7 +msgctxt "release_group_secondary_type" +msgid "Remix" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:516 +msgctxt "work_attribute_type_allowed_value" +msgid "Reng-i Dil" +msgstr "" + +#: DB:series_type/name:12 +msgctxt "series_type" +msgid "Residency" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:517 +msgctxt "work_attribute_type_allowed_value" +msgid "Revnaknüma" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:518 +msgctxt "work_attribute_type_allowed_value" +msgid "Reyya" +msgstr "" + +#: DB:label_type/name:8 +msgctxt "label_type" +msgid "Rights Society" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:222 +msgctxt "work_attribute_type_allowed_value" +msgid "Rudrapriya" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:519 +msgctxt "work_attribute_type_allowed_value" +msgid "Ruhnüvaz" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:656 +msgctxt "work_attribute_type_allowed_value" +msgid "Rumeli Türküsü" +msgstr "" + +#: DB:series_type/name:9 +msgctxt "series_type" +msgid "Run" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:521 +msgctxt "work_attribute_type_allowed_value" +msgid "Ruy-i Dilara" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:520 +msgctxt "work_attribute_type_allowed_value" +msgid "Ruy-i Irak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:600 +msgctxt "work_attribute_type_allowed_value" +msgid "Ruy-i Neva" +msgstr "" + +#: DB:work_attribute_type/name:4 +msgctxt "work_attribute_type" +msgid "Rāga (Carnatic)" +msgstr "" + +#: DB:work_attribute_type/name:32 +msgctxt "work_attribute_type" +msgid "Rāga (Hindustani)" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1003 +msgctxt "work_attribute_type_allowed_value" +msgid "Rāgamalikā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:210 +msgctxt "work_attribute_type_allowed_value" +msgid "Rāgamālika" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:211 +msgctxt "work_attribute_type_allowed_value" +msgid "Rāgavinōdini" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:212 +#: DB:work_attribute_type_allowed_value/value:1004 +msgctxt "work_attribute_type_allowed_value" +msgid "Rāgēśrī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1005 +msgctxt "work_attribute_type_allowed_value" +msgid "Rāj kalyāṇ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:213 +msgctxt "work_attribute_type_allowed_value" +msgid "Rāma manōhari" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1006 +msgctxt "work_attribute_type_allowed_value" +msgid "Rāmakali" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:214 +msgctxt "work_attribute_type_allowed_value" +msgid "Rāmapriya" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1007 +msgctxt "work_attribute_type_allowed_value" +msgid "Rāmdāsī malhār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:219 +msgctxt "work_attribute_type_allowed_value" +msgid "Rēvagupti" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:220 +msgctxt "work_attribute_type_allowed_value" +msgid "Rēvati" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:221 +msgctxt "work_attribute_type_allowed_value" +msgid "Rītigauḷa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:841 +msgctxt "work_attribute_type_allowed_value" +msgid "Rūpak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:280 +msgctxt "work_attribute_type_allowed_value" +msgid "Rūpaka" +msgstr "" + +#: DB:work_attribute_type/name:28 +msgctxt "work_attribute_type" +msgid "SABAM ID" +msgstr "" + +#: DB:medium_format/name:3 +msgctxt "medium_format" +msgid "SACD" +msgstr "" + +#: DB:medium_format/name:84 +msgctxt "medium_format" +msgid "SACD (2 channels)" +msgstr "" + +#: DB:medium_format/name:85 +msgctxt "medium_format" +msgid "SACD (multichannel)" +msgstr "" + +#: DB:work_attribute_type/name:21 +msgctxt "work_attribute_type" +msgid "SACEM ID" +msgstr "" + +#: DB:work_attribute_type/name:56 +msgctxt "work_attribute_type" +msgid "SACIM ID" +msgstr "" + +#: DB:work_attribute_type/name:27 +msgctxt "work_attribute_type" +msgid "SACM ID" +msgstr "" + +#: DB:work_attribute_type/name:42 +msgctxt "work_attribute_type" +msgid "SACVEN ID" +msgstr "" + +#: DB:work_attribute_type/name:24 +msgctxt "work_attribute_type" +msgid "SADAIC ID" +msgstr "" + +#: DB:work_attribute_type/name:68 +msgctxt "work_attribute_type" +msgid "SAMRO ID" +msgstr "" + +#: DB:work_attribute_type/name:40 +msgctxt "work_attribute_type" +msgid "SAYCE ID" +msgstr "" + +#: DB:work_attribute_type/name:39 +msgctxt "work_attribute_type" +msgid "SAYCO ID" +msgstr "" + +#: DB:work_attribute_type/name:140 +msgctxt "work_attribute_type" +msgid "SAZAS ID" +msgstr "" + +#: DB:work_attribute_type/name:173 +msgctxt "work_attribute_type" +msgid "SCD ID" +msgstr "" + +#: DB:medium_format/name:62 +msgctxt "medium_format" +msgid "SD Card" +msgstr "" + +#: DB:work_attribute_type/name:8 +msgctxt "work_attribute_type" +msgid "SESAC ID" +msgstr "" + +#: DB:work_attribute_type/name:60 +msgctxt "work_attribute_type" +msgid "SGACEDOM ID" +msgstr "" + +#: DB:work_attribute_type/name:20 +msgctxt "work_attribute_type" +msgid "SGAE ID" +msgstr "" + +#: DB:medium_format/name:36 +msgctxt "medium_format" +msgid "SHM-CD" +msgstr "" + +#: DB:medium_format/name:57 +msgctxt "medium_format" +msgid "SHM-SACD" +msgstr "" + +#: DB:medium_format/name:89 +msgctxt "medium_format" +msgid "SHM-SACD (2 channels)" +msgstr "" + +#: DB:medium_format/name:88 +msgctxt "medium_format" +msgid "SHM-SACD (multichannel)" +msgstr "" + +#: DB:work_attribute_type/name:36 +msgctxt "work_attribute_type" +msgid "SIAE ID" +msgstr "" + +#: DB:work_attribute_type/name:61 +msgctxt "work_attribute_type" +msgid "SOBODAYCOM ID" +msgstr "" + +#: DB:work_attribute_type/name:10 +msgctxt "work_attribute_type" +msgid "SOCAN ID" +msgstr "" + +#: DB:work_attribute_type/name:53 +msgctxt "work_attribute_type" +msgid "SODRAC ID" +msgstr "" + +#: DB:work_attribute_type/name:35 +msgctxt "work_attribute_type" +msgid "SPA ID" +msgstr "" + +#: DB:work_attribute_type/name:62 +msgctxt "work_attribute_type" +msgid "SPAC ID" +msgstr "" + +#: DB:work_attribute_type/name:54 +msgctxt "work_attribute_type" +msgid "STEF ID" +msgstr "" + +#: DB:work_attribute_type/name:50 +msgctxt "work_attribute_type" +msgid "STIM ID" +msgstr "" + +#: DB:work_attribute_type/name:18 +msgctxt "work_attribute_type" +msgid "SUISA ID" +msgstr "" + +#: DB:medium_format/name:23 +msgctxt "medium_format" +msgid "SVCD" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:522 +msgctxt "work_attribute_type_allowed_value" +msgid "Saba" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:523 +msgctxt "work_attribute_type_allowed_value" +msgid "Saba Zemzeme" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:524 +msgctxt "work_attribute_type_allowed_value" +msgid "Sabaaşiran" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:525 +msgctxt "work_attribute_type_allowed_value" +msgid "Sababuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:526 +msgctxt "work_attribute_type_allowed_value" +msgid "Sabakürdi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1008 +msgctxt "work_attribute_type_allowed_value" +msgid "Sahanā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:223 +msgctxt "work_attribute_type_allowed_value" +msgid "Sahānā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1009 +msgctxt "work_attribute_type_allowed_value" +msgid "Sahēlī tōḍī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:767 +msgctxt "work_attribute_type_allowed_value" +msgid "Sakil" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:658 +msgctxt "work_attribute_type_allowed_value" +msgid "Salatüselam" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:657 +msgctxt "work_attribute_type_allowed_value" +msgid "Salatıümmiye" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1010 +msgctxt "work_attribute_type_allowed_value" +msgid "Sampūrṇa mālkauns" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1011 +msgctxt "work_attribute_type_allowed_value" +msgid "San̄jari" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:231 +#: DB:work_attribute_type_allowed_value/value:1014 +msgctxt "work_attribute_type_allowed_value" +msgid "Sarasvati" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:232 +msgctxt "work_attribute_type_allowed_value" +msgid "Sarasvatī manōhari" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:230 +msgctxt "work_attribute_type_allowed_value" +msgid "Sarasāngi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:233 +msgctxt "work_attribute_type_allowed_value" +msgid "Saurāṣtraṁ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1017 +msgctxt "work_attribute_type_allowed_value" +msgid "Saurāṣṭram" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:659 +msgctxt "work_attribute_type_allowed_value" +msgid "Savt" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:660 +msgctxt "work_attribute_type_allowed_value" +msgid "Sazeseri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:527 +msgctxt "work_attribute_type_allowed_value" +msgid "Sazkar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:661 +msgctxt "work_attribute_type_allowed_value" +msgid "Sazsemaisi" +msgstr "" + +#: DB:artist_alias_type/name:3 DB:label_alias_type/name:2 +#: DB:place_alias_type/name:2 DB:recording_alias_type/name:2 +#: DB:release_alias_type/name:2 DB:release_group_alias_type/name:2 +#: DB:work_alias_type/name:2 DB:area_alias_type/name:3 +#: DB:instrument_alias_type/name:2 DB:series_alias_type/name:2 +#: DB:event_alias_type/name:2 +msgctxt "alias_type" +msgid "Search hint" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:528 +msgctxt "work_attribute_type_allowed_value" +msgid "Segah" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:529 +msgctxt "work_attribute_type_allowed_value" +msgid "Segah Araban" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:530 +msgctxt "work_attribute_type_allowed_value" +msgid "Segah Maye" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:662 +msgctxt "work_attribute_type_allowed_value" +msgid "Selam" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:531 +msgctxt "work_attribute_type_allowed_value" +msgid "Selmek" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:768 +msgctxt "work_attribute_type_allowed_value" +msgid "Semai" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:235 +msgctxt "work_attribute_type_allowed_value" +msgid "Sencuruṭṭi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:532 +msgctxt "work_attribute_type_allowed_value" +msgid "Sengendaz" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:766 +msgctxt "work_attribute_type_allowed_value" +msgid "Sengin Türkaksağı" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:769 +msgctxt "work_attribute_type_allowed_value" +msgid "Senginsemai" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:770 +msgctxt "work_attribute_type_allowed_value" +msgid "Serbest" +msgstr "" + +#: DB:editor_collection_type/name:14 +msgctxt "collection_type" +msgid "Series collection" +msgstr "" + +#: DB:series_alias_type/name:1 +msgctxt "alias_type" +msgid "Series name" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:663 +msgctxt "work_attribute_type_allowed_value" +msgid "Seyir" +msgstr "" + +#: DB:medium_format/name:53 +msgctxt "medium_format" +msgid "Shellac" +msgstr "" + +#: DB:medium_format/description:53 +msgctxt "medium_format" +msgid "" +"Shellac records were the most predominant type of gramophone record during " +"the first half of the 20th century." +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:236 +msgctxt "work_attribute_type_allowed_value" +msgid "Simhavāhini" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:237 +#: DB:work_attribute_type_allowed_value/value:1018 +msgctxt "work_attribute_type_allowed_value" +msgid "Simhēndra madhyamaṁ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1019 +msgctxt "work_attribute_type_allowed_value" +msgid "Sindhu bhairavi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:238 +msgctxt "work_attribute_type_allowed_value" +msgid "Sindhubhairavi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:239 +msgctxt "work_attribute_type_allowed_value" +msgid "Sindhumandāri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1020 +msgctxt "work_attribute_type_allowed_value" +msgid "Sindhūra" +msgstr "" + +#: DB:release_group_primary_type/name:2 +msgctxt "release_group_primary_type" +msgid "Single" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:533 +msgctxt "work_attribute_type_allowed_value" +msgid "Sipihr" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:664 +msgctxt "work_attribute_type_allowed_value" +msgid "Sirto" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:843 +msgctxt "work_attribute_type_allowed_value" +msgid "Sitārkhānī" +msgstr "" + +#: DB:release_packaging/name:20 +msgctxt "release_packaging" +msgid "Slidepack" +msgstr "" + +#: DB:release_packaging/name:2 +msgctxt "release_packaging" +msgid "Slim Jewel Case" +msgstr "" + +#: DB:release_packaging/name:11 +msgctxt "release_packaging" +msgid "Snap Case" +msgstr "" + +#: DB:release_packaging/name:21 +msgctxt "release_packaging" +msgid "SnapPack" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:771 +msgctxt "work_attribute_type_allowed_value" +msgid "Sofyan" +msgstr "" + +#: DB:work_type/name:5 +msgctxt "work_type" +msgid "Sonata" +msgstr "" + +#: DB:work_type/name:17 +msgctxt "work_type" +msgid "Song" +msgstr "" + +#: DB:work_type/name:15 +msgctxt "work_type" +msgid "Song-cycle" +msgstr "" + +#: DB:series_ordering_type/description:1 +msgctxt "series_ordering_type" +msgid "" +"Sorts the items in the series automatically by their number attributes, " +"using a natural sort order." +msgstr "" + +#: DB:release_group_secondary_type/name:2 +msgctxt "release_group_secondary_type" +msgid "Soundtrack" +msgstr "" + +#: DB:work_type/name:22 +msgctxt "work_type" +msgid "Soundtrack" +msgstr "" + +#: DB:cover_art_archive.art_type/name:6 +msgctxt "cover_art_type" +msgid "Spine" +msgstr "" + +#: DB:release_group_secondary_type/name:3 +msgctxt "release_group_secondary_type" +msgid "Spokenword" +msgstr "" + +#: DB:place_type/name:4 +msgctxt "place_type" +msgid "Stadium" +msgstr "" + +#: DB:event_type/name:6 +msgctxt "event_type" +msgid "Stage performance" +msgstr "" + +#: DB:cover_art_archive.art_type/name:10 +msgctxt "cover_art_type" +msgid "Sticker" +msgstr "" + +#: DB:instrument_type/name:2 +msgctxt "instrument_type" +msgid "String instrument" +msgstr "" + +#: DB:place_type/name:1 +msgctxt "place_type" +msgid "Studio" +msgstr "" + +#: DB:area_type/name:2 +msgctxt "area_type" +msgid "Subdivision" +msgstr "" + +#: DB:area_type/description:2 +msgctxt "area_type" +msgid "" +"Subdivision is used for the main administrative divisions of a country, e.g. " +"California, Ontario, Okinawa. These are considered when displaying the " +"parent areas for a given area." +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:244 +msgctxt "work_attribute_type_allowed_value" +msgid "Sucaritra" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1035 +msgctxt "work_attribute_type_allowed_value" +msgid "Sugharaī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1036 +msgctxt "work_attribute_type_allowed_value" +msgid "Suhā" +msgstr "" + +#: DB:work_type/name:6 +msgctxt "work_type" +msgid "Suite" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:534 +msgctxt "work_attribute_type_allowed_value" +msgid "Sultani" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:535 +msgctxt "work_attribute_type_allowed_value" +msgid "Sultani Irak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:536 +msgctxt "work_attribute_type_allowed_value" +msgid "Sultanıbuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:537 +msgctxt "work_attribute_type_allowed_value" +msgid "Sultanıcedid" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:538 +msgctxt "work_attribute_type_allowed_value" +msgid "Sultanıeviç" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:539 +msgctxt "work_attribute_type_allowed_value" +msgid "Sultanıhüzzam" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:540 +msgctxt "work_attribute_type_allowed_value" +msgid "Sultanısegah" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:541 +msgctxt "work_attribute_type_allowed_value" +msgid "Sultanıyegah" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:250 +msgctxt "work_attribute_type_allowed_value" +msgid "Sumanēśaranjani" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:251 +msgctxt "work_attribute_type_allowed_value" +msgid "Sunādavinōdini" +msgstr "" + +#: DB:release_packaging/name:16 +msgctxt "release_packaging" +msgid "Super Jewel Box" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1037 +msgctxt "work_attribute_type_allowed_value" +msgid "Sur malhār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1038 +msgctxt "work_attribute_type_allowed_value" +msgid "Sur sugharai" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:252 +msgctxt "work_attribute_type_allowed_value" +msgid "Suraṭi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:542 +msgctxt "work_attribute_type_allowed_value" +msgid "Suzidil" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:543 +msgctxt "work_attribute_type_allowed_value" +msgid "Suzidilara" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:544 +msgctxt "work_attribute_type_allowed_value" +msgid "Suzinak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:546 +msgctxt "work_attribute_type_allowed_value" +msgid "Suzinak Zirgüle" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:545 +msgctxt "work_attribute_type_allowed_value" +msgid "Suzinak-ı Nev" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:253 +msgctxt "work_attribute_type_allowed_value" +msgid "Svararanjani" +msgstr "" + +#: DB:work_type/name:18 +msgctxt "work_type" +msgid "Symphonic poem" +msgstr "" + +#: DB:work_type/name:16 +msgctxt "work_type" +msgid "Symphony" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:547 +msgctxt "work_attribute_type_allowed_value" +msgid "Sünbüle" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:772 +msgctxt "work_attribute_type_allowed_value" +msgid "Süreyya" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:548 +msgctxt "work_attribute_type_allowed_value" +msgid "Sürurefza" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:224 +msgctxt "work_attribute_type_allowed_value" +msgid "Sālaga bhairavi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:225 +msgctxt "work_attribute_type_allowed_value" +msgid "Sāma" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:229 +msgctxt "work_attribute_type_allowed_value" +msgid "Sāranga" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1013 +msgctxt "work_attribute_type_allowed_value" +msgid "Sāraṅg" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:228 +msgctxt "work_attribute_type_allowed_value" +msgid "Sārāmati" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1015 +msgctxt "work_attribute_type_allowed_value" +msgid "Sāvanī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1016 +msgctxt "work_attribute_type_allowed_value" +msgid "Sāvanī bihāg" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:234 +msgctxt "work_attribute_type_allowed_value" +msgid "Sāvēri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1023 +msgctxt "work_attribute_type_allowed_value" +msgid "Sōhinī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1024 +msgctxt "work_attribute_type_allowed_value" +msgid "Sōhinī bahār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1025 +msgctxt "work_attribute_type_allowed_value" +msgid "Sōhōnī bhaṭiyār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1026 +msgctxt "work_attribute_type_allowed_value" +msgid "Sōrath" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:844 +msgctxt "work_attribute_type_allowed_value" +msgid "Sūltāl" +msgstr "" + +#: DB:work_attribute_type/name:66 +msgctxt "work_attribute_type" +msgid "TEOSTO ID" +msgstr "" + +#: DB:work_attribute_type/name:67 +msgctxt "work_attribute_type" +msgid "TONO ID" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:573 +msgctxt "work_attribute_type_allowed_value" +msgid "Tahir" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:574 +msgctxt "work_attribute_type_allowed_value" +msgid "Tahirbuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:667 +msgctxt "work_attribute_type_allowed_value" +msgid "Taksim" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:255 +msgctxt "work_attribute_type_allowed_value" +msgid "Tanarūpi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:668 +msgctxt "work_attribute_type_allowed_value" +msgid "Tango" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1040 +msgctxt "work_attribute_type_allowed_value" +msgid "Tankēśrī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:575 +msgctxt "work_attribute_type_allowed_value" +msgid "Tarz-ı Cedid" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:576 +msgctxt "work_attribute_type_allowed_value" +msgid "Tarz-ı Cihan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:577 +msgctxt "work_attribute_type_allowed_value" +msgid "Tarz-ı Nevin" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:669 +msgctxt "work_attribute_type_allowed_value" +msgid "Tavşanca" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:578 +msgctxt "work_attribute_type_allowed_value" +msgid "Tebriz" +msgstr "" + +#: DB:medium_format/name:90 +msgctxt "medium_format" +msgid "Tefifon" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:774 +msgctxt "work_attribute_type_allowed_value" +msgid "Tek Vuruş" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:670 +msgctxt "work_attribute_type_allowed_value" +msgid "Tekbir" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:671 +msgctxt "work_attribute_type_allowed_value" +msgid "Temcidmünacatı" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:579 +msgctxt "work_attribute_type_allowed_value" +msgid "Tereşşüd" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:672 +msgctxt "work_attribute_type_allowed_value" +msgid "Tesbih" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:673 +msgctxt "work_attribute_type_allowed_value" +msgid "Tesbihilahi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:680 +msgctxt "work_attribute_type_allowed_value" +msgid "Tevhid" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:674 +msgctxt "work_attribute_type_allowed_value" +msgid "Tevşihilahi" +msgstr "" + +#: DB:medium_format/description:70 +msgctxt "medium_format" +msgid "" +"The CD layer of a DVDplus. The DVD layer should be added as a separate " +"medium." +msgstr "" + +#: DB:medium_format/description:67 +msgctxt "medium_format" +msgid "" +"The CD layer of a DualDisc. The DVD layer should be added as a separate " +"medium." +msgstr "" + +#: DB:medium_format/description:63 +msgctxt "medium_format" +msgid "" +"The CD layer of a hybrid SACD. The SACD layer should be added as a separate " +"medium." +msgstr "" + +#: DB:medium_format/description:82 +msgctxt "medium_format" +msgid "" +"The CD side of a vinyl + CD VinylDisc. The vinyl side should be added as a " +"separate medium." +msgstr "" + +#: DB:medium_format/description:60 +msgctxt "medium_format" +msgid "" +"The Capacitance Electronic Disc (CED) is an analog video disc playback " +"system developed by RCA, in which video and audio could be played back on a " +"TV set using a special needle and high-density groove system similar to " +"phonograph records." +msgstr "" + +#: DB:medium_format/description:68 +msgctxt "medium_format" +msgid "" +"The DVD (audio) layer of a DVDplus. The CD layer should be added as a " +"separate medium." +msgstr "" + +#: DB:medium_format/description:65 +msgctxt "medium_format" +msgid "" +"The DVD (audio) layer of a DualDisc. The CD layer should be added as a " +"separate medium." +msgstr "" + +#: DB:medium_format/description:69 +msgctxt "medium_format" +msgid "" +"The DVD (video) layer of a DVDplus. The CD layer should be added as a " +"separate medium." +msgstr "" + +#: DB:medium_format/description:66 +msgctxt "medium_format" +msgid "" +"The DVD (video) layer of a DualDisc. The CD layer should be added as a " +"separate medium." +msgstr "" + +#: DB:medium_format/description:130 +msgctxt "medium_format" +msgid "" +"The DVD layer of a DualDisc, when it's unclear whether it should be DVD-" +"Audio or DVD-Video (or it includes both). The CD layer should be added as a " +"separate medium." +msgstr "" + +#: DB:medium_format/description:80 +msgctxt "medium_format" +msgid "" +"The DVD side of a vinyl + DVD VinylDisc. The vinyl side should be added as a " +"separate medium." +msgstr "" + +#: DB:medium_format/description:64 +msgctxt "medium_format" +msgid "" +"The SACD layer of a hybrid SACD. The CD layer should be added as a separate " +"medium." +msgstr "" + +#: DB:cover_art_archive.art_type/description:49 +msgctxt "cover_art_type" +msgid "" +"The bottom of a box or other similar packaging (for most common six sided " +"packaging options, the one perpendicular to and below front, back and " +"spines)." +msgstr "" + +#: DB:work_type/description:7 +msgctxt "work_type" +msgid "" +"The madrigal is a type of secular vocal music composition. In its original " +"form, it had no instrumental accompaniment, although accompaniment is much " +"more common in later madrigals." +msgstr "" + +#: DB:work_type/description:24 +msgctxt "work_type" +msgid "" +"The operetta is a genre of light opera, in terms both of music and subject " +"matter. Operettas are generally short and include spoken parts." +msgstr "" + +#: DB:cover_art_archive.art_type/description:15 +msgctxt "cover_art_type" +msgid "" +"The section on a CD, record or other media containing such data as matrix " +"numbers. Usually found in the hub of a CD or the dead wax area of a vinyl " +"record." +msgstr "" + +#: DB:cover_art_archive.art_type/description:48 +msgctxt "cover_art_type" +msgid "" +"The top of a box or other similar packaging (for most common six sided " +"packaging options, the one perpendicular to and above front, back and " +"spines)." +msgstr "" + +#: DB:release_packaging/description:1 +msgctxt "release_packaging" +msgid "The traditional CD case, made of hard, brittle plastic." +msgstr "" + +#: DB:medium_format/description:81 +msgctxt "medium_format" +msgid "" +"The vinyl side of a VinylDisc. The CD or DVD side should be added as a " +"separate medium." +msgstr "" + +#: DB:artist_type/description:6 +msgctxt "artist_type" +msgid "" +"This indicates a choir/chorus (an organized, usually large group of " +"singers). Smaller vocal ensembles and groupings that do not generally call " +"themselves choirs are better entered as “Group”." +msgstr "" + +#: DB:artist_type/description:4 +msgctxt "artist_type" +msgid "" +"This indicates an individual fictional character (whether a fictional " +"person, animal or any other kind of character)." +msgstr "" + +#: DB:artist_type/description:1 +msgctxt "artist_type" +msgid "" +"This indicates an individual person, be it under its legal name (“John " +"Lennon”), or a performance name (“Sting”)." +msgstr "" + +#: DB:artist_type/description:5 +msgctxt "artist_type" +msgid "" +"This indicates an orchestra (an organized, usually large group of " +"instrumentalists). Smaller ensembles (such as trios and quartets) and " +"groupings that do not generally call themselves orchestras are better " +"entered as “Group”." +msgstr "" + +#: DB:work_type/description:23 +msgctxt "work_type" +msgid "" +"This represents literary works written in prose, that is, written in " +"relatively ordinary language without metrical structure (e.g. novels, short " +"stories, essays...)." +msgstr "" + +#: DB:medium_format/description:84 +msgctxt "medium_format" +msgid "" +"This represents the 2 channel (stereo/mono) table of contents on a SACD." +msgstr "" + +#: DB:medium_format/description:89 +msgctxt "medium_format" +msgid "" +"This represents the 2 channel (stereo/mono) table of contents on a SHM-SACD." +msgstr "" + +#: DB:medium_format/description:87 +msgctxt "medium_format" +msgid "" +"This represents the 2 channel (stereo/mono) table of contents on a hybrid " +"SACD's SACD layer." +msgstr "" + +#: DB:medium_format/description:85 +msgctxt "medium_format" +msgid "This represents the multichannel table of contents on a SACD." +msgstr "" + +#: DB:medium_format/description:88 +msgctxt "medium_format" +msgid "This represents the multichannel table of contents on a SHM-SACD." +msgstr "" + +#: DB:medium_format/description:86 +msgctxt "medium_format" +msgid "" +"This represents the multichannel table of contents on a hybrid SACD's SACD " +"layer." +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1041 +msgctxt "work_attribute_type_allowed_value" +msgid "Tilak bihārī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1042 +msgctxt "work_attribute_type_allowed_value" +msgid "Tilak kāmōd" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1043 +msgctxt "work_attribute_type_allowed_value" +msgid "Tilak naṭ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:845 +msgctxt "work_attribute_type_allowed_value" +msgid "Tilavāḍā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:256 +msgctxt "work_attribute_type_allowed_value" +msgid "Tillāng" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1044 +msgctxt "work_attribute_type_allowed_value" +msgid "Tilāṅg" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:288 +msgctxt "work_attribute_type_allowed_value" +msgid "Tiśra-jāti tripuṭa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:284 +msgctxt "work_attribute_type_allowed_value" +msgid "Tiśra-jāti ēka" +msgstr "" + +#: DB:cover_art_archive.art_type/name:48 +msgctxt "cover_art_type" +msgid "Top" +msgstr "" + +#: DB:series_type/name:7 +msgctxt "series_type" +msgid "Tour" +msgstr "" + +#: DB:cover_art_archive.art_type/name:7 +msgctxt "cover_art_type" +msgid "Track" +msgstr "" + +#: DB:cover_art_archive.art_type/name:9 +msgctxt "cover_art_type" +msgid "Tray" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1046 +msgctxt "work_attribute_type_allowed_value" +msgid "Trivēṇī gauri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:775 +msgctxt "work_attribute_type_allowed_value" +msgid "Türk Darbı" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:776 +msgctxt "work_attribute_type_allowed_value" +msgid "Türkaksağı" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:580 +msgctxt "work_attribute_type_allowed_value" +msgid "Türki Hicaz" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:799 +msgctxt "work_attribute_type_allowed_value" +msgid "Türkmen" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:675 +msgctxt "work_attribute_type_allowed_value" +msgid "Türkü" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:581 +msgctxt "work_attribute_type_allowed_value" +msgid "Tüvanger" +msgstr "" + +#: DB:work_attribute_type/name:5 +msgctxt "work_attribute_type" +msgid "Tāla (Carnatic)" +msgstr "" + +#: DB:work_attribute_type/name:31 +msgctxt "work_attribute_type" +msgid "Tāla (Hindustani)" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:846 +msgctxt "work_attribute_type_allowed_value" +msgid "Tīntāl" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:847 +msgctxt "work_attribute_type_allowed_value" +msgid "Tīntāl-sitārkhānī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:257 +msgctxt "work_attribute_type_allowed_value" +msgid "Tōḍi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1045 +msgctxt "work_attribute_type_allowed_value" +msgid "Tōḍī" +msgstr "" + +#: DB:medium_format/name:28 +msgctxt "medium_format" +msgid "UMD" +msgstr "" + +#: DB:medium_format/name:26 +msgctxt "medium_format" +msgid "USB Flash Drive" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:258 +msgctxt "work_attribute_type_allowed_value" +msgid "Udaya ravicandrika" +msgstr "" + +#: DB:cover_art_archive.art_type/description:14 +msgctxt "cover_art_type" +msgid "" +"Use for images that need work to be used for tagging (but can possibly " +"already be used for reference)" +msgstr "" + +#: DB:area_type/description:8 +msgctxt "area_type" +msgid "" +"Used for any military bases that are large enough to be considered an area, " +"not just a place." +msgstr "" + +#: DB:area_type/description:9 +msgctxt "area_type" +msgid "" +"Used for semi-autonomous territories governed by indigenous peoples, such as " +"Indian reserves/reservations in North America and indigenous territories in " +"Central and South America." +msgstr "" + +#: DB:work_attribute_type/name:17 +msgctxt "work_attribute_type" +msgid "Usul (Ottoman, Turkish)" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:676 +msgctxt "work_attribute_type_allowed_value" +msgid "Uzunhava" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:601 +msgctxt "work_attribute_type_allowed_value" +msgid "Uzzal" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:582 +msgctxt "work_attribute_type_allowed_value" +msgid "Uşşak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:583 +msgctxt "work_attribute_type_allowed_value" +msgid "Uşşak Ruy-i Nikriz" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:584 +msgctxt "work_attribute_type_allowed_value" +msgid "Uşşakaşiran" +msgstr "" + +#: DB:medium_format/name:22 +msgctxt "medium_format" +msgid "VCD" +msgstr "" + +#: DB:work_attribute_type/name:107 +msgctxt "work_attribute_type" +msgid "VCPMC ID" +msgstr "" + +#: DB:medium_format/name:59 +msgctxt "medium_format" +msgid "VHD" +msgstr "" + +#: DB:medium_format/name:21 +msgctxt "medium_format" +msgid "VHS" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:261 +msgctxt "work_attribute_type_allowed_value" +msgid "Vakuḷābharaṇaṁ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:262 +msgctxt "work_attribute_type_allowed_value" +msgid "Valaji" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:263 +msgctxt "work_attribute_type_allowed_value" +msgid "Vandanadhāriṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:265 +msgctxt "work_attribute_type_allowed_value" +msgid "Varamu" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:264 +msgctxt "work_attribute_type_allowed_value" +msgid "Varāḷi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:266 +msgctxt "work_attribute_type_allowed_value" +msgid "Varṇarūpini" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:267 +msgctxt "work_attribute_type_allowed_value" +msgid "Vasanta" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:268 +msgctxt "work_attribute_type_allowed_value" +msgid "Vasanta varāḷi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:269 +msgctxt "work_attribute_type_allowed_value" +msgid "Vasantabhairavi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:585 +msgctxt "work_attribute_type_allowed_value" +msgid "Vecd-i Dil" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:586 +msgctxt "work_attribute_type_allowed_value" +msgid "Vech-i Arazbar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:587 +msgctxt "work_attribute_type_allowed_value" +msgid "Vech-i Dil" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:588 +msgctxt "work_attribute_type_allowed_value" +msgid "Vech-i Şehnaz" +msgstr "" + +#: DB:place_type/name:2 +msgctxt "place_type" +msgid "Venue" +msgstr "" + +#: DB:medium_format/description:59 +msgctxt "medium_format" +msgid "" +"Video High Density (VHD) was a videodisc format which was marketed " +"predominantly in Japan by JVC." +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:273 +msgctxt "work_attribute_type_allowed_value" +msgid "Vijayanagari" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:274 +msgctxt "work_attribute_type_allowed_value" +msgid "Vijayasarasvati" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:275 +msgctxt "work_attribute_type_allowed_value" +msgid "Vijayaśrī" +msgstr "" + +#: DB:medium_format/name:7 +msgctxt "medium_format" +msgid "Vinyl" +msgstr "" + +#: DB:medium_format/name:48 +msgctxt "medium_format" +msgid "VinylDisc" +msgstr "" + +#: DB:medium_format/name:82 +msgctxt "medium_format" +msgid "VinylDisc (CD side)" +msgstr "" + +#: DB:medium_format/name:80 +msgctxt "medium_format" +msgid "VinylDisc (DVD side)" +msgstr "" + +#: DB:medium_format/name:81 +msgctxt "medium_format" +msgid "VinylDisc (Vinyl side)" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:259 +#: DB:work_attribute_type_allowed_value/value:1047 +msgctxt "work_attribute_type_allowed_value" +msgid "Vācaspati" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:260 +msgctxt "work_attribute_type_allowed_value" +msgid "Vāgadīśvari" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:270 +msgctxt "work_attribute_type_allowed_value" +msgid "Vāsanti" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:271 +msgctxt "work_attribute_type_allowed_value" +msgid "Vēgavāhiṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:272 +msgctxt "work_attribute_type_allowed_value" +msgid "Vēlāvali" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:276 +msgctxt "work_attribute_type_allowed_value" +msgid "Vīra vasantaṁ" +msgstr "" + +#: DB:cover_art_archive.art_type/name:13 +msgctxt "cover_art_type" +msgid "Watermark" +msgstr "" + +#: DB:medium_format/name:14 +msgctxt "medium_format" +msgid "Wax Cylinder" +msgstr "" + +#: DB:instrument_type/name:1 +msgctxt "instrument_type" +msgid "Wind instrument" +msgstr "" + +#: DB:editor_collection_type/name:3 +msgctxt "collection_type" +msgid "Wishlist" +msgstr "" + +#: DB:release_status/name:5 +msgctxt "release_status" +msgid "Withdrawn" +msgstr "" + +#: DB:series_type/name:46 +msgctxt "series_type" +msgid "Work award" +msgstr "" + +#: DB:editor_collection_type/name:15 +msgctxt "collection_type" +msgid "Work collection" +msgstr "" + +#: DB:work_alias_type/name:1 +msgctxt "alias_type" +msgid "Work name" +msgstr "" + +#: DB:series_type/name:4 +msgctxt "series_type" +msgid "Work series" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:277 +msgctxt "work_attribute_type_allowed_value" +msgid "Yadukula kāṁbōji" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1048 +msgctxt "work_attribute_type_allowed_value" +msgid "Yaman kalyāṇ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1049 +msgctxt "work_attribute_type_allowed_value" +msgid "Yamanī bilāval" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:278 +msgctxt "work_attribute_type_allowed_value" +msgid "Yamuna kalyāṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:589 +msgctxt "work_attribute_type_allowed_value" +msgid "Yegah" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:590 +msgctxt "work_attribute_type_allowed_value" +msgid "Yegah-ı Acemi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:677 +#: DB:work_attribute_type_allowed_value/value:777 +msgctxt "work_attribute_type_allowed_value" +msgid "Yürüksemai" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:778 +msgctxt "work_attribute_type_allowed_value" +msgid "Yürüksemai II" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:779 +msgctxt "work_attribute_type_allowed_value" +msgid "Yürüksofyan" +msgstr "" + +#: DB:work_attribute_type/name:30 +msgctxt "work_attribute_type" +msgid "ZAiKS ID" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:780 +msgctxt "work_attribute_type_allowed_value" +msgid "Zafer" +msgstr "" + +#: DB:work_type/name:19 +msgctxt "work_type" +msgid "Zarzuela" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:591 +msgctxt "work_attribute_type_allowed_value" +msgid "Zavil" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:592 +msgctxt "work_attribute_type_allowed_value" +msgid "Zavilaşiran" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:781 +msgctxt "work_attribute_type_allowed_value" +msgid "Zencir" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:593 +msgctxt "work_attribute_type_allowed_value" +msgid "Zengule" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:594 +msgctxt "work_attribute_type_allowed_value" +msgid "Zengulebuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:595 +msgctxt "work_attribute_type_allowed_value" +msgid "Zenguleli Kürdi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:597 +msgctxt "work_attribute_type_allowed_value" +msgid "Zevk-ü Tarab" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:596 +msgctxt "work_attribute_type_allowed_value" +msgid "Zevk-ı Dil" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:678 +msgctxt "work_attribute_type_allowed_value" +msgid "Zeybek" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:598 +msgctxt "work_attribute_type_allowed_value" +msgid "Zilkeş" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1050 +msgctxt "work_attribute_type_allowed_value" +msgid "Zilāph" +msgstr "" + +#: DB:medium_format/name:77 +msgctxt "medium_format" +msgid "Zip Disk" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:599 +msgctxt "work_attribute_type_allowed_value" +msgid "Zirefkend" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:298 +#: DB:work_attribute_type_allowed_value/value:602 +#: DB:work_attribute_type_allowed_value/value:681 +msgctxt "work_attribute_type_allowed_value" +msgid "ambiguous" +msgstr "" + +#: DB:medium_format/name:164 +msgctxt "medium_format" +msgid "microSD" +msgstr "" + +#: DB:medium_format/name:27 +msgctxt "medium_format" +msgid "slotMusic" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:340 +msgctxt "work_attribute_type_allowed_value" +msgid "Çargah" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:341 +msgctxt "work_attribute_type_allowed_value" +msgid "Çargah (Yeni)" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:342 +msgctxt "work_attribute_type_allowed_value" +msgid "Çehar Agazin" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:706 +msgctxt "work_attribute_type_allowed_value" +msgid "Çenber" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:707 +msgctxt "work_attribute_type_allowed_value" +msgid "Çeng-i Harbi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:708 +msgctxt "work_attribute_type_allowed_value" +msgid "Çifteaksak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:709 +msgctxt "work_attribute_type_allowed_value" +msgid "Çiftedüyek" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:710 +msgctxt "work_attribute_type_allowed_value" +msgid "Çiftesofyan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:679 +msgctxt "work_attribute_type_allowed_value" +msgid "Çiftetelli" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:609 +msgctxt "work_attribute_type_allowed_value" +msgid "Çocuk şarkısı" +msgstr "" + +#: DB:work_type/name:20 +msgctxt "work_type" +msgid "Étude" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:653 +msgctxt "work_attribute_type_allowed_value" +msgid "Örnek Öz" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:35 +msgctxt "work_attribute_type_allowed_value" +msgid "Ābhēri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:36 +msgctxt "work_attribute_type_allowed_value" +msgid "Ābhōgi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:858 +msgctxt "work_attribute_type_allowed_value" +msgid "Ābhōgī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:821 +msgctxt "work_attribute_type_allowed_value" +msgid "Ādhā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:822 +msgctxt "work_attribute_type_allowed_value" +msgid "Ādhā cautāl" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:823 +msgctxt "work_attribute_type_allowed_value" +msgid "Ādhā/jaṭ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:279 +#: DB:work_attribute_type_allowed_value/value:824 +msgctxt "work_attribute_type_allowed_value" +msgid "Ādi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:290 +msgctxt "work_attribute_type_allowed_value" +msgid "Ādi (Tiśra naḍe)" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:37 +msgctxt "work_attribute_type_allowed_value" +msgid "Āhir bhairav" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:38 +msgctxt "work_attribute_type_allowed_value" +msgid "Āhiri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:859 +msgctxt "work_attribute_type_allowed_value" +msgid "Ānand malhār" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:41 +msgctxt "work_attribute_type_allowed_value" +msgid "Ānandabhairavi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:42 +msgctxt "work_attribute_type_allowed_value" +msgid "Āndōḷika" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:43 +#: DB:work_attribute_type_allowed_value/value:860 +msgctxt "work_attribute_type_allowed_value" +msgid "Ārabhi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:907 +msgctxt "work_attribute_type_allowed_value" +msgid "Ēk niṣād bihāgḍā" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:283 +msgctxt "work_attribute_type_allowed_value" +msgid "Ēka" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:831 +msgctxt "work_attribute_type_allowed_value" +msgid "Ēktāl" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:436 +msgctxt "work_attribute_type_allowed_value" +msgid "İbrahimi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:740 +msgctxt "work_attribute_type_allowed_value" +msgid "İki Bir" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:741 +msgctxt "work_attribute_type_allowed_value" +msgid "İkiz Aksak" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:620 +msgctxt "work_attribute_type_allowed_value" +msgid "İlahi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:226 +msgctxt "work_attribute_type_allowed_value" +msgid "Śankarābharaṇaṁ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1012 +msgctxt "work_attribute_type_allowed_value" +msgid "Śaṅkara" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:842 +msgctxt "work_attribute_type_allowed_value" +msgid "Śikhar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1021 +msgctxt "work_attribute_type_allowed_value" +msgid "Śivamat bhairav" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:240 +msgctxt "work_attribute_type_allowed_value" +msgid "Śivaranjani" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1022 +msgctxt "work_attribute_type_allowed_value" +msgid "Śivaran̄jani" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:241 +#: DB:work_attribute_type_allowed_value/value:1027 +msgctxt "work_attribute_type_allowed_value" +msgid "Śrī" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:242 +msgctxt "work_attribute_type_allowed_value" +msgid "Śrīranjani" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1028 +msgctxt "work_attribute_type_allowed_value" +msgid "Śubhalakṣmi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:243 +msgctxt "work_attribute_type_allowed_value" +msgid "Śubhapantuvarāḷi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:245 +msgctxt "work_attribute_type_allowed_value" +msgid "Śudda sārang" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:246 +msgctxt "work_attribute_type_allowed_value" +msgid "Śudda sāvēri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:247 +msgctxt "work_attribute_type_allowed_value" +msgid "Śuddadhanyāsi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:248 +msgctxt "work_attribute_type_allowed_value" +msgid "Śuddasīmantini" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1029 +msgctxt "work_attribute_type_allowed_value" +msgid "Śuddh baradi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1030 +msgctxt "work_attribute_type_allowed_value" +msgid "Śuddh basant" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1031 +msgctxt "work_attribute_type_allowed_value" +msgid "Śuddh kalyāṇ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1032 +msgctxt "work_attribute_type_allowed_value" +msgid "Śuddh mārū" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1033 +msgctxt "work_attribute_type_allowed_value" +msgid "Śuddh naṭa" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1034 +msgctxt "work_attribute_type_allowed_value" +msgid "Śuddh sāraṅg" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:1039 +msgctxt "work_attribute_type_allowed_value" +msgid "Śyām kalyāṇ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:254 +msgctxt "work_attribute_type_allowed_value" +msgid "Śyāṁ kaḷyāṇ" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:249 +msgctxt "work_attribute_type_allowed_value" +msgid "Śūḷiṇi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:773 +msgctxt "work_attribute_type_allowed_value" +msgid "Şark Devr-i Revanı" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:665 +msgctxt "work_attribute_type_allowed_value" +msgid "Şarkı" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:549 +msgctxt "work_attribute_type_allowed_value" +msgid "Şedaraban" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:550 +msgctxt "work_attribute_type_allowed_value" +msgid "Şedd-i Saba" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:551 +msgctxt "work_attribute_type_allowed_value" +msgid "Şehnaz" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:554 +msgctxt "work_attribute_type_allowed_value" +msgid "Şehnaz Nişaburek" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:552 +msgctxt "work_attribute_type_allowed_value" +msgid "Şehnazbuselik" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:553 +msgctxt "work_attribute_type_allowed_value" +msgid "Şehnazhaveran" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:555 +msgctxt "work_attribute_type_allowed_value" +msgid "Şemsefruz" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:556 +msgctxt "work_attribute_type_allowed_value" +msgid "Şeref-i Hamidi" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:557 +msgctxt "work_attribute_type_allowed_value" +msgid "Şerefnuma" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:558 +msgctxt "work_attribute_type_allowed_value" +msgid "Şevk" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:561 +msgctxt "work_attribute_type_allowed_value" +msgid "Şevk-i Cedid" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:563 +msgctxt "work_attribute_type_allowed_value" +msgid "Şevk-i Cihan" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:562 +msgctxt "work_attribute_type_allowed_value" +msgid "Şevk-i Dil" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:564 +msgctxt "work_attribute_type_allowed_value" +msgid "Şevk-i Serab" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:559 +msgctxt "work_attribute_type_allowed_value" +msgid "Şevkaver" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:560 +msgctxt "work_attribute_type_allowed_value" +msgid "Şevkefza" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:565 +msgctxt "work_attribute_type_allowed_value" +msgid "Şevknüma" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:566 +msgctxt "work_attribute_type_allowed_value" +msgid "Şevkutarab" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:567 +msgctxt "work_attribute_type_allowed_value" +msgid "Şinaver" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:568 +msgctxt "work_attribute_type_allowed_value" +msgid "Şiraz" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:569 +msgctxt "work_attribute_type_allowed_value" +msgid "Şivekar" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:570 +msgctxt "work_attribute_type_allowed_value" +msgid "Şivekeş" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:571 +msgctxt "work_attribute_type_allowed_value" +msgid "Şivenüma" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:572 +msgctxt "work_attribute_type_allowed_value" +msgid "Şuri" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:666 +msgctxt "work_attribute_type_allowed_value" +msgid "Şuğul" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:894 +msgctxt "work_attribute_type_allowed_value" +msgid "Ḍāgori" +msgstr "" + +#: DB:work_attribute_type_allowed_value/value:227 +msgctxt "work_attribute_type_allowed_value" +msgid "Ṣanmukhapriya" +msgstr "" diff --git a/po/attributes.et.po b/po/attributes.et.po index 07a30bce628..0f8f6e7981f 100644 --- a/po/attributes.et.po +++ b/po/attributes.et.po @@ -34,6 +34,11 @@ msgstr "" "„Sonaat” on üldine termin, mis tähistab väiksemaid instrumentaalteoseid " "(tihti soolopillile või soolo- ja klahvpillile), algselt barokkmuusikas." +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "" + #: DB:medium_format/name:54 msgctxt "medium_format" msgid "10\" Shellac" @@ -44,6 +49,11 @@ msgctxt "medium_format" msgid "10\" Vinyl" msgstr "10″ vinüül" +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "" + #: DB:medium_format/name:72 msgctxt "medium_format" msgid "12\" LaserDisc" @@ -69,6 +79,11 @@ msgctxt "medium_format" msgid "5.25\" Floppy Disk" msgstr "" +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "" + #: DB:medium_format/name:52 msgctxt "medium_format" msgid "7\" Flexi-disc" @@ -380,9 +395,9 @@ msgstr "" msgctxt "event_type" msgid "" "A performance of one or more plays, musicals, operas, ballets or other " -"similar works for the stage in their staged form (as opposed to a concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" #: DB:place_type/description:8 @@ -837,6 +852,11 @@ msgctxt "work_attribute_type_allowed_value" msgid "Acemtarab" msgstr "Acemtarab" +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "" + #: DB:work_attribute_type_allowed_value/value:848 msgctxt "work_attribute_type_allowed_value" msgid "Adānā" diff --git a/po/attributes.fi.po b/po/attributes.fi.po index 9fb44b1b26f..fd50315de92 100644 --- a/po/attributes.fi.po +++ b/po/attributes.fi.po @@ -47,6 +47,11 @@ msgstr "" "soolo tai soolo + koskettimet) instrumentaalisia teoksia, alunperin barokki-" "musiikissa." +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "" + #: DB:medium_format/name:54 msgctxt "medium_format" msgid "10\" Shellac" @@ -57,6 +62,11 @@ msgctxt "medium_format" msgid "10\" Vinyl" msgstr "10″ vinyyli" +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "" + #: DB:medium_format/name:72 msgctxt "medium_format" msgid "12\" LaserDisc" @@ -82,6 +92,11 @@ msgctxt "medium_format" msgid "5.25\" Floppy Disk" msgstr "5,25\" levyke" +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "" + #: DB:medium_format/name:52 msgctxt "medium_format" msgid "7\" Flexi-disc" @@ -458,9 +473,9 @@ msgstr "Sidottu kirja, jossa tasku CD:tä varten" msgctxt "event_type" msgid "" "A performance of one or more plays, musicals, operas, ballets or other " -"similar works for the stage in their staged form (as opposed to a concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" #: DB:place_type/description:8 @@ -598,8 +613,8 @@ msgid "" "A release that was recorded live. Generally this means \"with an audience\", " "be it in person, through the radio or in another similar way." msgstr "" -"Julkaisu, joka äänitettiin suorana. Yleensä tämä tarkoittaa \"yleisön edessä" -"\", oli se sitten paikan päällä, radion kautta tai muulla tavalla." +"Julkaisu, joka äänitettiin suorana. Yleensä tämä tarkoittaa \"yleisön " +"edessä\", oli se sitten paikan päällä, radion kautta tai muulla tavalla." #: DB:place_type/description:7 msgctxt "place_type" @@ -960,6 +975,11 @@ msgctxt "work_attribute_type_allowed_value" msgid "Acemtarab" msgstr "" +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "" + #: DB:work_attribute_type_allowed_value/value:848 msgctxt "work_attribute_type_allowed_value" msgid "Adānā" diff --git a/po/attributes.fr.po b/po/attributes.fr.po index 548faacddb5..9166a31e044 100644 --- a/po/attributes.fr.po +++ b/po/attributes.fr.po @@ -32,7 +32,7 @@ msgid "" msgstr "" "Project-Id-Version: MusicBrainz\n" -"PO-Revision-Date: 2023-09-28 12:27+0000\n" +"PO-Revision-Date: 2023-11-10 20:27+0000\n" "Last-Translator: yvanzo \n" "Language-Team: French \n" @@ -42,7 +42,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : ((n != 0 && n % " "1000000 == 0) ? 1 : 2);\n" -"X-Generator: Weblate 5.0.2\n" +"X-Generator: Weblate 5.1\n" #: DB:work_type/description:9 msgctxt "work_type" @@ -65,6 +65,11 @@ msgstr "" "instrumentales (très souvent solo ou solo + clavier), initialement en " "musique baroque." +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "Acétate 25 cm (10 po)" + #: DB:medium_format/name:54 msgctxt "medium_format" msgid "10\" Shellac" @@ -75,6 +80,11 @@ msgctxt "medium_format" msgid "10\" Vinyl" msgstr "Vinyle 25 cm (10 po)" +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "Acétate 30 cm (12 po)" + #: DB:medium_format/name:72 msgctxt "medium_format" msgid "12\" LaserDisc" @@ -100,6 +110,11 @@ msgctxt "medium_format" msgid "5.25\" Floppy Disk" msgstr "Disquette 5,25 po (133,4 mm)" +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "Acétate 18 cm (7 po)" + #: DB:medium_format/name:52 msgctxt "medium_format" msgid "7\" Flexi-disc" @@ -542,9 +557,9 @@ msgstr "" msgctxt "event_type" msgid "" "A performance of one or more plays, musicals, operas, ballets or other " -"similar works for the stage in their staged form (as opposed to a concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" "Une représentation de une ou plusieurs pièces de théâtre, comédies " "musicales, opéras, ballets, ou autres œuvres pour la scène dans leur version " @@ -1088,6 +1103,11 @@ msgctxt "work_attribute_type_allowed_value" msgid "Acemtarab" msgstr "Acemtarab" +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "Acétate" + #: DB:work_attribute_type_allowed_value/value:848 msgctxt "work_attribute_type_allowed_value" msgid "Adānā" @@ -1336,7 +1356,7 @@ msgid "" "usually not performed theatrically (it lacks costumes, props and strong " "character interaction)." msgstr "" -"Un oratorio et une vaste composition musicale (habituellement sacrée) " +"Un oratorio est une vaste composition musicale (habituellement sacrée) " "incluant un orchestre, un chœur et des solistes. Bien qu’il ait des " "personnages et une intrigue, il n’est pas habituellement interprété sous " "forme théâtrale (il lui manque des costumes, des décors et une interaction " diff --git a/po/attributes.gl.po b/po/attributes.gl.po index 484673149a3..9125cb1ad07 100644 --- a/po/attributes.gl.po +++ b/po/attributes.gl.po @@ -29,6 +29,11 @@ msgid "" "or solo + keyboard) instrumental works, initially in baroque music." msgstr "" +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "" + #: DB:medium_format/name:54 msgctxt "medium_format" msgid "10\" Shellac" @@ -39,6 +44,11 @@ msgctxt "medium_format" msgid "10\" Vinyl" msgstr "Vinilo de 10''" +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "" + #: DB:medium_format/name:72 msgctxt "medium_format" msgid "12\" LaserDisc" @@ -64,6 +74,11 @@ msgctxt "medium_format" msgid "5.25\" Floppy Disk" msgstr "" +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "" + #: DB:medium_format/name:52 msgctxt "medium_format" msgid "7\" Flexi-disc" @@ -375,9 +390,9 @@ msgstr "" msgctxt "event_type" msgid "" "A performance of one or more plays, musicals, operas, ballets or other " -"similar works for the stage in their staged form (as opposed to a concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" #: DB:place_type/description:8 @@ -830,6 +845,11 @@ msgctxt "work_attribute_type_allowed_value" msgid "Acemtarab" msgstr "" +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "" + #: DB:work_attribute_type_allowed_value/value:848 msgctxt "work_attribute_type_allowed_value" msgid "Adānā" diff --git a/po/attributes.he.po b/po/attributes.he.po index bd3e95cea7f..2ca0b0f138d 100644 --- a/po/attributes.he.po +++ b/po/attributes.he.po @@ -35,6 +35,11 @@ msgstr "" "\"סונטה\" היא מונח כללי המשמש לתיאור יצירות אינסטרומנטלית בקנה מידה קטן " "(לעתים קרובות סולן או סולן + קלידן) , תחילתו במוזיקת הברוק." +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "" + #: DB:medium_format/name:54 msgctxt "medium_format" msgid "10\" Shellac" @@ -45,6 +50,11 @@ msgctxt "medium_format" msgid "10\" Vinyl" msgstr "תקליט ויניל \"10" +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "" + #: DB:medium_format/name:72 msgctxt "medium_format" msgid "12\" LaserDisc" @@ -70,6 +80,11 @@ msgctxt "medium_format" msgid "5.25\" Floppy Disk" msgstr "דיסקט 5.25\"" +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "" + #: DB:medium_format/name:52 msgctxt "medium_format" msgid "7\" Flexi-disc" @@ -399,9 +414,9 @@ msgstr "חיבור מושלם של ספר עם שרוול בקצהו שנועד msgctxt "event_type" msgid "" "A performance of one or more plays, musicals, operas, ballets or other " -"similar works for the stage in their staged form (as opposed to a concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" "ביצוע של הצגה אחת, או יותר, מחזות זמר, אופרות, בלט או יצירות דומות אחרות " "לבמה בצורתם הבימתית (בניגוד למופע =2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #: DB:work_type/description:9 msgctxt "work_type" @@ -33,6 +33,11 @@ msgid "" "or solo + keyboard) instrumental works, initially in baroque music." msgstr "" +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "" + #: DB:medium_format/name:54 msgctxt "medium_format" msgid "10\" Shellac" @@ -43,6 +48,11 @@ msgctxt "medium_format" msgid "10\" Vinyl" msgstr "10\" Vinil" +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "" + #: DB:medium_format/name:72 msgctxt "medium_format" msgid "12\" LaserDisc" @@ -68,6 +78,11 @@ msgctxt "medium_format" msgid "5.25\" Floppy Disk" msgstr "" +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "" + #: DB:medium_format/name:52 msgctxt "medium_format" msgid "7\" Flexi-disc" @@ -379,9 +394,9 @@ msgstr "" msgctxt "event_type" msgid "" "A performance of one or more plays, musicals, operas, ballets or other " -"similar works for the stage in their staged form (as opposed to a concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" #: DB:place_type/description:8 @@ -834,6 +849,11 @@ msgctxt "work_attribute_type_allowed_value" msgid "Acemtarab" msgstr "" +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "" + #: DB:work_attribute_type_allowed_value/value:848 msgctxt "work_attribute_type_allowed_value" msgid "Adānā" diff --git a/po/attributes.hu.po b/po/attributes.hu.po index 381c6fd7bd8..8f1bdd2b37c 100644 --- a/po/attributes.hu.po +++ b/po/attributes.hu.po @@ -28,6 +28,11 @@ msgid "" "or solo + keyboard) instrumental works, initially in baroque music." msgstr "" +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "" + #: DB:medium_format/name:54 msgctxt "medium_format" msgid "10\" Shellac" @@ -38,6 +43,11 @@ msgctxt "medium_format" msgid "10\" Vinyl" msgstr "" +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "" + #: DB:medium_format/name:72 msgctxt "medium_format" msgid "12\" LaserDisc" @@ -63,6 +73,11 @@ msgctxt "medium_format" msgid "5.25\" Floppy Disk" msgstr "" +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "" + #: DB:medium_format/name:52 msgctxt "medium_format" msgid "7\" Flexi-disc" @@ -374,9 +389,9 @@ msgstr "" msgctxt "event_type" msgid "" "A performance of one or more plays, musicals, operas, ballets or other " -"similar works for the stage in their staged form (as opposed to a concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" #: DB:place_type/description:8 @@ -829,6 +844,11 @@ msgctxt "work_attribute_type_allowed_value" msgid "Acemtarab" msgstr "" +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "" + #: DB:work_attribute_type_allowed_value/value:848 msgctxt "work_attribute_type_allowed_value" msgid "Adānā" diff --git a/po/attributes.id.po b/po/attributes.id.po index b27a8819009..d82cc60fae7 100644 --- a/po/attributes.id.po +++ b/po/attributes.id.po @@ -36,6 +36,11 @@ msgstr "" "instrumental skala kecil (sangat sering solo atau solo + keyboard), awalnya " "dalam musik barok." +#: DB:medium_format/name:205 +msgctxt "medium_format" +msgid "10\" Acetate" +msgstr "" + #: DB:medium_format/name:54 msgctxt "medium_format" msgid "10\" Shellac" @@ -46,6 +51,11 @@ msgctxt "medium_format" msgid "10\" Vinyl" msgstr "10\" Vinil" +#: DB:medium_format/name:206 +msgctxt "medium_format" +msgid "12\" Acetate" +msgstr "" + #: DB:medium_format/name:72 msgctxt "medium_format" msgid "12\" LaserDisc" @@ -71,6 +81,11 @@ msgctxt "medium_format" msgid "5.25\" Floppy Disk" msgstr "5.25\" Disket" +#: DB:medium_format/name:204 +msgctxt "medium_format" +msgid "7\" Acetate" +msgstr "" + #: DB:medium_format/name:52 msgctxt "medium_format" msgid "7\" Flexi-disc" @@ -477,14 +492,14 @@ msgstr "" msgctxt "event_type" msgid "" "A performance of one or more plays, musicals, operas, ballets or other " -"similar works for the stage in their staged form (as opposed to a concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" "Pertunjukan satu atau lebih drama, musikal, opera, balet atau karya serupa " -"lainnya untuk panggung dalam bentuk panggungnya (sebagai lawan dari pertunjukan konser " -"tanpa pementasan)." +"lainnya untuk panggung dalam bentuk panggungnya (sebagai lawan dari pertunjukan " +"konser tanpa pementasan)." #: DB:place_type/description:8 msgctxt "place_type" @@ -627,8 +642,9 @@ msgid "" "A release that was recorded live. Generally this means \"with an audience\", " "be it in person, through the radio or in another similar way." msgstr "" -"Rilis yang direkam secara langsung. Umumnya ini berarti \"dengan pendengar" -"\", baik secara langsung, melalui radio atau dengan cara lain yang serupa." +"Rilis yang direkam secara langsung. Umumnya ini berarti \"dengan " +"pendengar\", baik secara langsung, melalui radio atau dengan cara lain yang " +"serupa." #: DB:place_type/description:7 msgctxt "place_type" @@ -997,6 +1013,11 @@ msgctxt "work_attribute_type_allowed_value" msgid "Acemtarab" msgstr "Acemtarab" +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "" + #: DB:work_attribute_type_allowed_value/value:848 msgctxt "work_attribute_type_allowed_value" msgid "Adānā" @@ -1112,10 +1133,10 @@ msgid "" "consists of previously unreleased material (unless this type is combined " "with secondary types which change that, such as \"Compilation\")." msgstr "" -"Sebuah album, mungkin lebih baik didefinisikan sebagai rilis \"Long Play" -"\" (LP), umumnya terdiri dari materi yang belum pernah dirilis sebelumnya " -"(kecuali jenis ini digabungkan dengan jenis sekunder yang mengubahnya, " -"seperti \"Kompilasi\")." +"Sebuah album, mungkin lebih baik didefinisikan sebagai rilis \"Long " +"Play\" (LP), umumnya terdiri dari materi yang belum pernah dirilis " +"sebelumnya (kecuali jenis ini digabungkan dengan jenis sekunder yang " +"mengubahnya, seperti \"Kompilasi\")." #: DB:release_status/description:4 msgctxt "release_status" diff --git a/po/attributes.it.po b/po/attributes.it.po index bfe7afd9159..9c80d024b55 100644 --- a/po/attributes.it.po +++ b/po/attributes.it.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: MusicBrainz\n" -"PO-Revision-Date: 2023-09-23 15:27+0000\n" +"PO-Revision-Date: 2023-11-08 05:27+0000\n" "Last-Translator: \"salo.rock\" \n" "Language-Team: Italian concert performance without staging)." +"similar works for the stage in their staged form (as opposed to a concert " +"performance without staging)." msgstr "" "Un'esibizione di uno o più spettacoli, musical, opere, balletti o altre " "rappresentazioni simili per il palcoscenico nella loro forma messa in scena " @@ -1070,6 +1089,11 @@ msgctxt "work_attribute_type_allowed_value" msgid "Acemtarab" msgstr "Acemtarab" +#: DB:medium_format/name:203 +msgctxt "medium_format" +msgid "Acetate" +msgstr "Acetato" + #: DB:work_attribute_type_allowed_value/value:848 msgctxt "work_attribute_type_allowed_value" msgid "Adānā" diff --git a/po/attributes.ja.po b/po/attributes.ja.po index c3f00d472bd..02d4e515a03 100644 --- a/po/attributes.ja.po +++ b/po/attributes.ja.po @@ -24,18 +24,20 @@ # 和田篤