├── .gitattributes ├── .github ├── FUNDING.yml ├── dependabot.yml ├── workflows │ ├── dependency-review.yml │ ├── generate.yml │ ├── publish-gem.yml │ ├── reviewdog.yml │ ├── scorecards.yml │ └── zizmor.yml └── zizmor.yml ├── .gitignore ├── .hoerc ├── .standard.yml ├── .typos.toml ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── CONTRIBUTORS.md ├── Gemfile ├── LICENCE.md ├── Manifest.txt ├── README.md ├── Rakefile ├── SECURITY.md ├── data ├── content_type_mime.db ├── ext_mime.db ├── mime-types.json ├── mime.content_type.column ├── mime.docs.column ├── mime.encoding.column ├── mime.flags.column ├── mime.friendly.column ├── mime.pext.column ├── mime.spri.column ├── mime.use_instead.column └── mime.xrefs.column ├── lib ├── mime-types-data.rb └── mime │ └── types │ └── data.rb ├── mime-types-data.gemspec ├── support ├── apache_mime_types.rb ├── convert.rb ├── convert │ ├── columnar.rb │ └── mini_mime_db.rb ├── iana_registry.rb ├── mime │ └── types │ │ └── support.rb ├── prepare_release.rb └── tika_mime_types.rb └── types ├── application.yaml ├── audio.yaml ├── chemical.yaml ├── conference.yaml ├── drawing.yaml ├── example.yaml ├── font.yaml ├── haptics.yaml ├── image.yaml ├── message.yaml ├── model.yaml ├── multipart.yaml ├── text.yaml ├── video.yaml └── world.yaml /.gitattributes: -------------------------------------------------------------------------------- 1 | data/*.db -text -diff -merge linguist-generated=true 2 | data/*.column -text -diff -merge linguist-generated=true 3 | data/*.json -text -diff -merge linguist-generated=true 4 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: halostatue 2 | buy_me_a_coffee: halostatue 3 | ko_fi: halostatue 4 | tidelift: rubygems/mime-types-data 5 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | 3 | updates: 4 | - package-ecosystem: github-actions 5 | directory: / 6 | schedule: 7 | interval: weekly 8 | 9 | - package-ecosystem: bundler 10 | directory: / 11 | schedule: 12 | interval: monthly 13 | -------------------------------------------------------------------------------- /.github/workflows/dependency-review.yml: -------------------------------------------------------------------------------- 1 | # Dependency Review Action 2 | # 3 | # This Action will scan dependency manifest files that change as part of a Pull Request, 4 | # surfacing known-vulnerable versions of the packages declared or updated in the PR. 5 | # Once installed, if the workflow run is marked as required, 6 | # PRs introducing known-vulnerable packages will be blocked from merging. 7 | # 8 | # Source repository: https://github.com/actions/dependency-review-action 9 | name: 'Dependency Review' 10 | on: [pull_request] 11 | 12 | permissions: {} 13 | 14 | concurrency: 15 | group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} 16 | cancel-in-progress: true 17 | 18 | jobs: 19 | dependency-review: 20 | permissions: 21 | contents: read 22 | 23 | runs-on: ubuntu-latest 24 | steps: 25 | - name: Harden the runner 26 | uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0 27 | with: 28 | disable-sudo: true 29 | egress-policy: block 30 | allowed-endpoints: > 31 | api.github.com:443 32 | api.securityscorecards.dev:443 33 | github.com:443 34 | 35 | - name: 'Checkout Repository' 36 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 37 | with: 38 | persist-credentials: false 39 | 40 | - name: 'Dependency Review' 41 | uses: actions/dependency-review-action@da24556b548a50705dd671f47852072ea4c105d9 # v4.7.1 42 | -------------------------------------------------------------------------------- /.github/workflows/generate.yml: -------------------------------------------------------------------------------- 1 | name: Update data and open pull request 2 | 3 | on: 4 | schedule: 5 | - cron: '0 18 * * 2' 6 | 7 | workflow_dispatch: 8 | 9 | permissions: {} 10 | 11 | concurrency: 12 | group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} 13 | cancel-in-progress: true 14 | 15 | jobs: 16 | update-definitions: 17 | permissions: 18 | contents: write 19 | issues: write 20 | pull-requests: write 21 | 22 | runs-on: ubuntu-latest 23 | 24 | steps: 25 | - name: Harden the runner 26 | uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0 27 | with: 28 | disable-sudo: true 29 | egress-policy: block 30 | allowed-endpoints: > 31 | raw.githubusercontent.com:443 32 | objects.githubusercontent.com:443 33 | api.github.com:443 34 | github.com:443 35 | index.rubygems.org:443 36 | rubygems.org:443 37 | svn.apache.org:80 38 | www.iana.org:443 39 | 40 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 41 | with: 42 | persist-credentials: true 43 | 44 | - uses: ruby/setup-ruby@13e7a03dc3ac6c3798f4570bfead2aed4d96abfb #v1.244.0 45 | with: 46 | ruby-version: '3.3' 47 | rubygems: 'latest' 48 | bundler: 2 49 | bundler-cache: true 50 | 51 | - run: bundle exec rake release:gha 52 | 53 | - uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 54 | with: 55 | commit-message: | 56 | ${{ env.UPDATE_TITLE }} 57 | 58 | ${{ env.UPDATE_BODY }} 59 | branch: update-mime-types-data/${{ env.UPDATE_VERSION }} 60 | title: ${{ env.UPDATE_TITLE }} 61 | body-path: ${{ env.UPDATE_BODY_PATH }} 62 | labels: | 63 | automated 64 | data-update 65 | assignees: | 66 | halostatue 67 | reviewers: | 68 | halostatue 69 | -------------------------------------------------------------------------------- /.github/workflows/publish-gem.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | paths: 8 | - lib/mime/types/data.rb 9 | 10 | pull_request: 11 | branches: 12 | - main 13 | types: 14 | - closed 15 | paths: 16 | - lib/mime/types/data.rb 17 | 18 | workflow_dispatch: 19 | 20 | permissions: {} 21 | 22 | concurrency: 23 | group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} 24 | cancel-in-progress: true 25 | 26 | jobs: 27 | release: 28 | if: github.repository == 'mime-types/mime-types-data' && (github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && github.event.pull_request.merged)) 29 | 30 | runs-on: ubuntu-latest 31 | environment: production 32 | 33 | env: 34 | rubygems_release_gem: true 35 | 36 | permissions: 37 | contents: write 38 | id-token: write 39 | 40 | steps: 41 | - name: Harden the runner 42 | uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0 43 | with: 44 | disable-sudo: true 45 | egress-policy: block 46 | allowed-endpoints: > 47 | fulcio.sigstore.dev:443 48 | github.com:443 49 | index.rubygems.org:443 50 | objects.githubusercontent.com:443 51 | rekor.sigstore.dev:443 52 | rubygems.org:443 53 | tuf-repo-cdn.sigstore.dev:443 54 | 55 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 56 | with: 57 | persist-credentials: true 58 | 59 | - id: rubygems 60 | run: | 61 | ruby -e 'print "version=", Gem::Specification.load(ARGV[0]).rubygems_version, "\n"' mime-types-data.gemspec >> $GITHUB_OUTPUT 62 | 63 | - name: Set up Ruby 64 | uses: ruby/setup-ruby@13e7a03dc3ac6c3798f4570bfead2aed4d96abfb #v1.244.0 65 | with: 66 | bundler-cache: false 67 | ruby-version: ruby 68 | 69 | - name: Install dependencies 70 | run: | 71 | gem update --system="${RUBYGEMS_VERSION}" 72 | bundle install --jobs 4 --retry 3 73 | env: 74 | RUBYGEMS_VERSION: ${{ steps.rubygems.outputs.version }} 75 | 76 | - uses: rubygems/release-gem@a25424ba2ba8b387abc8ef40807c2c85b96cbe32 # v1.1.1 77 | -------------------------------------------------------------------------------- /.github/workflows/reviewdog.yml: -------------------------------------------------------------------------------- 1 | name: Reviewdog 2 | 3 | on: 4 | pull_request: 5 | 6 | permissions: {} 7 | 8 | concurrency: 9 | group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} 10 | cancel-in-progress: true 11 | 12 | jobs: 13 | typos: 14 | if: ${{ github.event.action != 'closed' }} 15 | name: Typos 16 | runs-on: ubuntu-22.04 17 | 18 | permissions: 19 | contents: read 20 | pull-requests: write 21 | 22 | steps: 23 | - name: Harden Runner 24 | uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0 25 | with: 26 | disable-sudo: true 27 | egress-policy: block 28 | allowed-endpoints: > 29 | api.github.com:443 30 | github.com:443 31 | objects.githubusercontent.com:443 32 | raw.githubusercontent.com:443 33 | 34 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 35 | with: 36 | persist-credentials: false 37 | 38 | - uses: reviewdog/action-typos@e50daf62ea7a1c24960365c0f70f05296f25e1dc #v1.17.3 39 | 40 | actionlint: 41 | if: ${{ github.event.action != 'closed' }} 42 | name: Actionlint 43 | runs-on: ubuntu-22.04 44 | 45 | permissions: 46 | contents: read 47 | pull-requests: write 48 | 49 | steps: 50 | - name: Harden Runner 51 | uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0 52 | with: 53 | disable-sudo: true 54 | egress-policy: block 55 | allowed-endpoints: > 56 | api.github.com:443 57 | github.com:443 58 | 59 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 60 | with: 61 | persist-credentials: false 62 | 63 | - uses: reviewdog/action-actionlint@a5524e1c19e62881d79c1f1b9b6f09f16356e281 # v1.65.2 64 | 65 | standardrb: 66 | if: ${{ github.event.action != 'closed' }} 67 | name: 'Ruby: Standard' 68 | runs-on: ubuntu-22.04 69 | 70 | permissions: 71 | contents: read 72 | pull-requests: write 73 | 74 | steps: 75 | - name: Harden Runner 76 | uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0 77 | with: 78 | disable-sudo: true 79 | egress-policy: block 80 | allowed-endpoints: > 81 | api.github.com:443 82 | github.com:443 83 | index.rubygems.org:443 84 | objects.githubusercontent.com:443 85 | raw.githubusercontent.com:443 86 | rubygems.org:443 87 | 88 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 89 | with: 90 | persist-credentials: false 91 | 92 | - uses: ruby/setup-ruby@13e7a03dc3ac6c3798f4570bfead2aed4d96abfb #v1.244.0 93 | with: 94 | ruby-version: '3.3' 95 | bundler-cache: true 96 | 97 | - uses: kirillplatonov/action-standard@ce7fc0be158421b01e5d9dc20eef1dcabcf18e4b # v1.0.1 98 | with: 99 | skip_install: true 100 | use_bundler: true 101 | -------------------------------------------------------------------------------- /.github/workflows/scorecards.yml: -------------------------------------------------------------------------------- 1 | # This workflow uses actions that are not certified by GitHub. They are provided 2 | # by a third-party and are governed by separate terms of service, privacy 3 | # policy, and support documentation. 4 | 5 | name: Scorecard supply-chain security 6 | on: 7 | # For Branch-Protection check. Only the default branch is supported. See 8 | # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection 9 | branch_protection_rule: 10 | # To guarantee Maintained check is occasionally updated. See 11 | # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained 12 | schedule: 13 | - cron: '20 7 * * 2' 14 | push: 15 | branches: ['main'] 16 | 17 | # Declare default permissions as read only. 18 | permissions: {} 19 | 20 | concurrency: 21 | group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} 22 | cancel-in-progress: true 23 | 24 | jobs: 25 | analysis: 26 | name: Scorecard analysis 27 | runs-on: ubuntu-latest 28 | permissions: 29 | # Needed to upload the results to code-scanning dashboard. 30 | security-events: write 31 | # Needed to publish results and get a badge (see publish_results below). 32 | id-token: write 33 | contents: read 34 | actions: read 35 | # To allow GraphQL ListCommits to work 36 | issues: read 37 | pull-requests: read 38 | # To detect SAST tools 39 | checks: read 40 | 41 | steps: 42 | - name: Harden Runner 43 | uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0 44 | with: 45 | disable-sudo: true 46 | egress-policy: block 47 | allowed-endpoints: > 48 | api.deps.dev:443 49 | api.github.com:443 50 | api.osv.dev:443 51 | api.scorecard.dev:443 52 | fulcio.sigstore.dev:443 53 | github.com:443 54 | oss-fuzz-build-logs.storage.googleapis.com:443 55 | rekor.sigstore.dev:443 56 | tuf-repo-cdn.sigstore.dev:443 57 | www.bestpractices.dev:443 58 | 59 | - name: "Checkout code" 60 | uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 61 | with: 62 | persist-credentials: false 63 | 64 | - name: "Run analysis" 65 | uses: ossf/scorecard-action@05b42c624433fc40578a4040d5cf5e36ddca8cde # v2.4.2 66 | with: 67 | results_file: results.sarif 68 | results_format: sarif 69 | # (Optional) "write" PAT token. Uncomment the `repo_token` line below if: 70 | # - you want to enable the Branch-Protection check on a *public* repository, or 71 | # - you are installing Scorecards on a *private* repository 72 | # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-pat. 73 | # repo_token: ${{ secrets.SCORECARD_TOKEN }} 74 | 75 | # Public repositories: 76 | # - Publish results to OpenSSF REST API for easy access by consumers 77 | # - Allows the repository to include the Scorecard badge. 78 | # - See https://github.com/ossf/scorecard-action#publishing-results. 79 | # For private repositories: 80 | # - `publish_results` will always be set to `false`, regardless 81 | # of the value entered here. 82 | publish_results: true 83 | 84 | # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF 85 | # format to the repository Actions tab. 86 | - name: "Upload artifact" 87 | uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 88 | with: 89 | name: SARIF file 90 | path: results.sarif 91 | retention-days: 5 92 | 93 | # Upload the results to GitHub's code scanning dashboard. 94 | - name: "Upload to code-scanning" 95 | uses: github/codeql-action/upload-sarif@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19 96 | with: 97 | sarif_file: results.sarif 98 | -------------------------------------------------------------------------------- /.github/workflows/zizmor.yml: -------------------------------------------------------------------------------- 1 | name: GitHub Actions Security Analysis with zizmor 2 | 3 | on: 4 | push: 5 | branches: ["main"] 6 | pull_request: 7 | 8 | permissions: {} 9 | 10 | concurrency: 11 | group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | zizmor: 16 | name: zizmor latest via uv 17 | runs-on: ubuntu-latest 18 | 19 | permissions: 20 | security-events: write 21 | # required for workflows in private repositories 22 | contents: read 23 | actions: read 24 | 25 | steps: 26 | - name: Harden Runner 27 | uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0 28 | with: 29 | disable-sudo: true 30 | egress-policy: block 31 | allowed-endpoints: > 32 | api.github.com:443 33 | files.pythonhosted.org:443 34 | github.com:443 35 | objects.githubusercontent.com:443 36 | pypi.org:443 37 | 38 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 39 | with: 40 | persist-credentials: false 41 | 42 | - uses: astral-sh/setup-uv@f0ec1fc3b38f5e7cd731bb6ce540c5af426746bb # v6.1.0 43 | 44 | - run: uvx zizmor --persona pedantic --format sarif . > results.sarif 45 | env: 46 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 47 | 48 | - uses: github/codeql-action/upload-sarif@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19 49 | with: 50 | sarif_file: results.sarif 51 | category: zizmor 52 | -------------------------------------------------------------------------------- /.github/zizmor.yml: -------------------------------------------------------------------------------- 1 | rules: 2 | artipacked: 3 | ignore: 4 | - generate.yml:25 # generate creates an automated release and creates a PR. 5 | - publish-gem.yml:42 # publish-gem adds and pushes a tag. 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.gem 2 | .bundle/ 3 | .byebug_history 4 | .rake_tasks~ 5 | .source_index 6 | Gemfile.lock 7 | coverage/ 8 | doc/ 9 | html/ 10 | pkg/ 11 | publish/ 12 | test/cache.tst 13 | tmp/ 14 | vendor/ 15 | -------------------------------------------------------------------------------- /.hoerc: -------------------------------------------------------------------------------- 1 | --- 2 | exclude: !ruby/regexp '/ 3 | (?i:TAGS)$ 4 | | [Aa]ppraisals$ 5 | | [gG]emfile(?:\.lock)?$ 6 | | \.gemspec$ 7 | | \.swp$ 8 | | \.tmp$ 9 | | ^\.appveyor\.ya?ml$ 10 | | ^\.autotest$ 11 | | ^\.bundle\/ 12 | | ^\.byebug_history$ 13 | | ^\.coveralls\.ya?ml$ 14 | | ^\.DS_Store$ 15 | | ^\.fasterer\.ya?ml$ 16 | | ^\.gemtest$ 17 | | ^\.git\/ 18 | | ^\.gitattributes$ 19 | | ^\.github\/ 20 | | ^\.gitignore$ 21 | | ^\.hg\/ 22 | | ^\.hoerc$ 23 | | ^\.idea\/ 24 | | ^\.pullreview\.ya?ml$ 25 | | ^\.rubocop.*\.ya?ml$ 26 | | ^\.standard.*\.ya?ml$ 27 | | ^\.svn\/ 28 | | ^\.travis\.ya?ml$ 29 | | ^\.typos\.toml$ 30 | | ^\.unused\.ya?ml$ 31 | | ^benchmarks\/ 32 | | ^coverage\/ 33 | | ^doc\/ 34 | | ^research\/ 35 | | ^support\/ 36 | | ^types\/ 37 | | ^vendor\/ 38 | /x' 39 | -------------------------------------------------------------------------------- /.standard.yml: -------------------------------------------------------------------------------- 1 | --- 2 | parallel: true 3 | ruby_version: 2.3 4 | ignore: 5 | - '*.gemspec' 6 | - 'pkg/**/*' 7 | - Rakefile: 8 | - Layout/HeredocIndentation 9 | - support/prepare_release.rb: 10 | - Layout/HeredocIndentation 11 | -------------------------------------------------------------------------------- /.typos.toml: -------------------------------------------------------------------------------- 1 | [files] 2 | extend-exclude = ["data/", "types/"] 3 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # MIME Types Changes by Version 2 | 3 | 4 | 5 | ## 3.2025.0603 / 2025-06-03 6 | 7 | - Updated registry entries from the IANA [media registry][registry] and 8 | [provisional media registry][provisional], the [Apache httpd media registry][httpd], 9 | and the [Apache Tika media registry][tika] as of the release date. 10 | 11 | 12 | ## 3.2025.0527 / 2025-05-27 13 | 14 | - Updated registry entries from the IANA [media registry][registry] and 15 | [provisional media registry][provisional], the [Apache httpd media registry][httpd], 16 | and the [Apache Tika media registry][tika] as of the release date. 17 | 18 | 19 | ## 3.2025.0520 / 2025-05-20 20 | 21 | - Updated registry entries from the IANA [media registry][registry] and 22 | [provisional media registry][provisional], the [Apache httpd media registry][httpd], 23 | and the [Apache Tika media registry][tika] as of the release date. 24 | 25 | 26 | ## 3.2025.0514 / 2025-05-14 27 | 28 | - Updated registry entries from the IANA [media registry][registry] and 29 | [provisional media registry][provisional], the [Apache httpd media registry][httpd], 30 | and the [Apache Tika media registry][tika] as of the release date. 31 | 32 | 33 | ## 3.2025.0507 / 2025-05-07 34 | 35 | - Added new data for pre-computed priority sorting. This new data requires Ruby 36 | mime-types 3.7.0 or later to manage data but is ignored by older versions of 37 | mime-types. 38 | 39 | - Added a parser for the [Apache Tika media registry][tika] to enrich the media 40 | definitions, mostly by adding new patterns for media type extensions. This 41 | parser: 42 | 43 | 1. Parses the current `tika-mimetypes.xml` from the main branch of 44 | [Tika][tika] on GitHub. 45 | 46 | 2. Skips over any `mime-type` record that has attributes. That is, any record 47 | which looks like `media/subtype;format=foo` or `media/subtype;version=2` 48 | will be skipped. Support for attributes does not currently exist in the 49 | mime-types library. 50 | 51 | 3. Extracts the `glob` entries for use in the `extensions` field. Globs that 52 | use `*` in the middle of a filename are excluded, because that's now how 53 | the Ruby MIME::Types field works (I could add a new `glob` field, but that 54 | will take a bit more work). 55 | 56 | 4. Updates the `extensions` field for any existing MIME::Type or creates new 57 | unregistered (not defined in IANA) types for new ones. 58 | 59 | - Updated the history body to reflect the new data source for updates. 60 | 61 | - Some details were removed from older CHANGELOG entries relating to updated 62 | MIME types from more or less automated processes. 63 | 64 | ## 3.2025.0506 / 2025-05-06 65 | 66 | - Updated registry entries from the IANA [media registry][registry] and 67 | [provisional media registry][provisional] and the 68 | [Apache httpd media registry][httpd] as of the release date. 69 | 70 | ## 3.2025.0429 / 2025-04-29 71 | 72 | - Updated registry entries from the IANA [media registry][registry] and 73 | [provisional media registry][provisional] and the 74 | [Apache httpd media registry][httpd] as of the release date. 75 | 76 | ## 3.2025.0422 / 2025-04-22 77 | 78 | - Updated registry entries from the IANA [media registry][registry] and 79 | [provisional media registry][provisional] and the 80 | [Apache httpd media registry][httpd] as of the release date. 81 | 82 | ## 3.2025.0408 / 2025-04-08 83 | 84 | - Updated registry entries from the IANA [media registry][registry] and 85 | [provisional media registry][provisional] and the 86 | [Apache httpd media registry][httpd] as of the release date. 87 | 88 | ## 3.2025.0402 / 2025-04-02 89 | 90 | - Updated registry entries from the IANA [media registry][registry] and 91 | [provisional media registry][provisional] and the 92 | [Apache httpd media registry][httpd] as of the release date. 93 | 94 | ## 3.2025.0325 / 2025-03-25 95 | 96 | - Updated registry entries from the IANA [media registry][registry] and 97 | [provisional media registry][provisional] and the 98 | [Apache httpd media registry][httpd] as of the release date. 99 | 100 | ## 3.2025.0318 / 2025-03-18 101 | 102 | - Updated registry entries from the IANA [media registry][registry] and 103 | [provisional media registry][provisional] and the 104 | [Apache httpd media registry][httpd] as of the release date. 105 | 106 | ## 3.2025.0304 / 2025-03-04 107 | 108 | - Updated registry entries from the IANA [media registry][registry] and 109 | [provisional media registry][provisional] and the 110 | [Apache httpd media registry][httpd] as of the release date. 111 | 112 | ## 3.2025.0220 / 2025-02-20 113 | 114 | - Updated registry entries from the IANA [media registry][registry] and 115 | [provisional media registry][provisional] and the 116 | [Apache httpd media registry][httpd] as of the release date. 117 | 118 | - Added [trusted publishing][tp] for fully automated releases. Developed by 119 | Samuel Giddins in [#109][pull-109], merged manually with some updates. 120 | 121 | ## 3.2025.0204 / 2025-02-04 122 | 123 | - Updated registry entries from the IANA [media registry][registry] and 124 | [provisional media registry][provisional] and the 125 | [Apache httpd media registry][httpd] as of the release date. 126 | 127 | - Added the Changelog URL to the README so that RubyGems.org is updated with the 128 | `changelog_uri` on release. Contributed by Mark Young in [#96][pull-96]. 129 | 130 | - Fixed an issue with automated releases that added thousands of files because 131 | `vendor/` was no longer ignored. 132 | 133 | - Fixed the automated release builder process to handle the case when the 134 | `automatic-release` tag is followed by a `## NEXT / YYYY-MM-DD` header so that 135 | changes merged normally are picked up on automatic releases. [#98][pull-98] 136 | 137 | ## 3.2025.0107 / 2025-01-07 138 | 139 | - Updated registry entries from the IANA [media registry][registry] and 140 | [provisional media registry][provisional] and the 141 | [Apache httpd media registry][httpd] as of the release date. 142 | 143 | - Restructured documentation for how I prefer to manage Hoe projects now. 144 | 145 | - Reworked the Rakefile because all data updates are now managed by GitHub 146 | Actions and should not be managed manually any longer. 147 | 148 | - `rake release:prepare` now does the same work as `rake release:gha`, but 149 | does not commit or create a pull request. 150 | 151 | - `rake convert` no longer has any subtasks. 152 | 153 | - `rake update` has been removed with no replacement. 154 | 155 | - Updated `.hoerc` to properly exclude `support/` and `types/` from the 156 | manifest. 157 | 158 | ## 3.2024.1203 / 2024-12-03 159 | 160 | - Updated registry entries from the IANA [media registry][registry] and 161 | [provisional media registry][provisional] and the 162 | [Apache httpd media registry][httpd] as of the release date. 163 | 164 | ## 3.2024.1105 / 2024-11-05 165 | 166 | - Updated registry entries from the IANA [media registry][registry] and 167 | [provisional media registry][provisional] and the 168 | [Apache httpd media registry][httpd] as of the release date. 169 | 170 | ## 3.2024.1001 / 2024-10-01 171 | 172 | - Updated registry entries from the IANA [media registry][registry] and 173 | [provisional media registry][provisional] and the 174 | [Apache httpd media registry][httpd] as of the release date. 175 | 176 | ## 3.2024.0903 / 2024-09-03 177 | 178 | - Updated registry entries from the IANA [media registry][registry] and 179 | [provisional media registry][provisional] and the 180 | [Apache httpd media registry][httpd] as of the release date. 181 | 182 | ## 3.2024.0820 / 2024-08-20 183 | 184 | - Updated registry entries from the IANA [media registry][registry] and 185 | [provisional media registry][provisional] and the 186 | [Apache httpd media registry][httpd] as of the release date. 187 | 188 | - Added `.jxl` extension for `image/jxl`. Contributed by Shane Eskritt in 189 | [#81][pull-81]. 190 | 191 | ## 3.2024.0806 / 2024-08-06 192 | 193 | - Updated registry entries from the IANA [media registry][registry] and 194 | [provisional media registry][provisional] and the 195 | [Apache httpd media registry][httpd] as of the release date. 196 | 197 | ## 3.2024.0702 / 2024-07-02 198 | 199 | - Updated registry entries from the IANA [media registry][registry] and 200 | [provisional media registry][provisional] and the 201 | [Apache httpd media registry][httpd] as of the release date. 202 | 203 | - This update adds a new `haptics/` group with three media types defined. 204 | 205 | - Moved extensions from `audio/x-aac` to `audio/aac` and mark `audio/x-aac` as 206 | obsolete. Based on [#77][pull-77] by Samuel Williams. 207 | 208 | - Made the same changes for `audio/flac` and `audio/matroska`. 209 | 210 | ## 3.2024.0604 / 2024-06-04 211 | 212 | - Updated registry entries from the IANA [media registry][registry] and 213 | [provisional media registry][provisional] and the 214 | [Apache httpd media registry][httpd] as of the release date. 215 | 216 | - Internal changes: 217 | 218 | - Update to latest version of Rubygems for testing. 219 | 220 | - Remove restriction on Pysch version as that does not work well with current 221 | Rubies. 222 | 223 | - Fix a bug with the history generation on automatic updates. 224 | 225 | ## 3.2024.0507 / 2024-05-07 226 | 227 | - Updated registry entries from the IANA [media registry][registry] and 228 | [provisional media registry][provisional] and the 229 | [Apache httpd media registry][httpd] as of the release date. 230 | 231 | ## 3.2024.0402 / 2024-04-02 232 | 233 | - Updated registry entries from the IANA [media registry][registry] and 234 | [provisional media registry][provisional] and the 235 | [Apache httpd media registry][httpd] as of the release date. 236 | 237 | ## 3.2024.0305 / 2024-03-05 238 | 239 | - Updated registry entries from the IANA [media registry][registry] and 240 | [provisional media registry][provisional] and the 241 | [Apache httpd media registry][httpd] as of the release date. 242 | 243 | ## 3.2024.0206 / 2024-02-06 244 | 245 | - Updated registry entries from the IANA [media registry][registry] and 246 | [provisional media registry][provisional] and the 247 | [Apache httpd media registry][httpd] as of the release date. 248 | 249 | ## 3.2024.0102 / 2024-01-02 250 | 251 | - Updated registry entries from the IANA [media registry][registry] and 252 | [provisional media registry][provisional] and the 253 | [Apache httpd media registry][httpd] as of the release date. 254 | 255 | ## 3.2023.1205 / 2023-12-05 256 | 257 | - Updated registry entries from the IANA [media registry][registry] and 258 | [provisional media registry][provisional] and the 259 | [Apache httpd media registry][httpd] as of the release date. 260 | 261 | ## 3.2023.1107 / 2023-11-07 262 | 263 | - Updated registry entries from the IANA [media registry][registry] and 264 | [provisional media registry][provisional] and the 265 | [Apache httpd media registry][httpd] as of the release date. 266 | 267 | ## 3.2023.1003 / 2023-10-03 268 | 269 | - Updated registry entries from the IANA [media registry][registry] and 270 | [provisional media registry][provisional] and the 271 | [Apache httpd media registry][httpd] as of the release date. 272 | 273 | ## 3.2023.0905 / 2023-09-05 274 | 275 | - Updated registry entries from the IANA [media registry][registry] and 276 | [provisional media registry][provisional] and the 277 | [Apache httpd media registry][httpd] as of the release date. 278 | 279 | ## 3.2023.0808 / 2023-08-08 280 | 281 | - Updated registry entries from the IANA [media registry][registry] and 282 | [provisional media registry][provisional] and the 283 | [Apache httpd media registry][httpd] as of the release date. 284 | 285 | ## 3.2023.0218.1 / 2023-02-18 286 | 287 | - When this data library was created in 2015, I made the decision based on 288 | information available to deprecate `text/javascript` in favour of 289 | `application/javascript`. Since the previous update (2022-01-05), IANA has 290 | officially deprecated `application/javascript` in favour of `text/javascript`. 291 | Samuel Williams discovered this in [#55][issue-55] by noting that all `js` 292 | types were marked obsolete in version 3.2023.0218. 293 | 294 | A hot fix has been applied to resolve this. However, note that 295 | `application/javascript` will not be returned by default, only 296 | `text/javascript`. 297 | 298 | ## 3.2023.0218 / 2023-02-18 299 | 300 | - Updated registry entries from the IANA [media registry][registry] and 301 | [provisional media registry][provisional] and the 302 | [Apache httpd media registry][httpd] as of the release date. 303 | 304 | - Mohammed Gad added the `jfif` file extension for `image/jpeg` text format. 305 | [#52][pull-52] 306 | 307 | - Reworked the loading of IANA provisional media registries to merge them into 308 | the top-level media-type registries instead of a standalone registry file. 309 | [#53][pull-53] originally identified by Chris Salzberg in [#50][pull-50]. 310 | 311 | It is worth noting that this is an _imperfect_ solution as if a media type is 312 | provisionally registered and withdrawn, it will linger in the registry with no 313 | clean way of identifying them at the moment. See [#54][issue-54]. 314 | 315 | This release also fixes [ruby-mime-types#163][ruby-mime-types#163], where logs 316 | show "Type `application/netcdf` is already registered as a variant of 317 | `application/netcdf`". 318 | 319 | ## 3.2022.0105 / 2022-01-05 320 | 321 | - Updated registry entries from the IANA [media registry][registry] and 322 | [provisional media registry][provisional] and the 323 | [Apache httpd media registry][httpd] as of the release date. 324 | 325 | - Fixed an incorrect definition of `image/bmp`, which had been marked obsolete 326 | and later registered. Fixed [#48][issue-48], found by William T. Nelson. 327 | 328 | ## 3.2021.1115 / 2021-11-15 329 | 330 | - Updated registry entries from the IANA [media registry][registry] and 331 | [provisional media registry][provisional] and the 332 | [Apache httpd media registry][httpd] as of the release date. 333 | 334 | - Added conversion utilities that support the `mini_mime` data format. These 335 | have been ported from the [mini\_mime][mini_mime] repository. [#47][pull-47] 336 | 337 | - Added IANA provisional media registries. Added some notes to CONTRIBUTING 338 | about the transient nature of the provisional registration data. This was 339 | triggered in part by a pull request by Jon Sneyers. Thanks! [#45][pull-45], 340 | [#43][pull-43] 341 | 342 | ## 3.2021.0901 / 2021-09-01 343 | 344 | - Updated registry entries from the IANA [media registry][registry] and 345 | [provisional media registry][provisional] and the 346 | [Apache httpd media registry][httpd] as of the release date. 347 | 348 | - Added file extension for `WebVTT` text format. [#46][pull-46] 349 | 350 | ## 3.2021.0704 / 2021-07-04 351 | 352 | - Updated registry entries from the IANA [media registry][registry] and 353 | [provisional media registry][provisional] and the 354 | [Apache httpd media registry][httpd] as of the release date. 355 | 356 | ## 3.2021.0225 / 2021-02-25 357 | 358 | - Updated registry entries from the IANA [media registry][registry] and 359 | [provisional media registry][provisional] and the 360 | [Apache httpd media registry][httpd] as of the release date. 361 | 362 | - Added file extension for `AVIF` video format. [#40][pull-40] 363 | 364 | ## 3.2021.0212 / 2021-02-12 365 | 366 | - Updated the IANA media registry entries as of release date. 367 | 368 | - Added a new rake task (`release:automatic`) that downloads and converts the 369 | data from Apache httpd and IANA registries; if there are changes detected, it 370 | updates the release version, changelog, manifest, and `gemspec` and commits 371 | the changes to git. 372 | 373 | ## 3.2020.1104 / 2020-11-04 374 | 375 | - Updated the IANA media registry entries as of release date. 376 | 377 | - Added `application/x-zip-compressed`. [#36][pull-36] 378 | 379 | - Updated the contributing guide to include information about the release 380 | process as described in [#18][issue-18] 381 | 382 | - Corrected a misspelling of Yoran Brondsema's name. Sorry, Yoran. 383 | [#35][pull-35] 384 | 385 | ## 3.2020.0512 / 2020-05-12 386 | 387 | - Updated the IANA media registry entries as of release date. 388 | 389 | - Added file extensions for `HEIC` image types. [#34][pull-34] 390 | 391 | ## 3.2020.0425 / 2020-04-25 392 | 393 | - Updated the IANA media registry entries as of release date. 394 | 395 | - Added several RAW image types based on data from GNOME RAW Thumbnailer. 396 | [#33][pull-33] fixing [#32][issue-32] 397 | 398 | - Added `audio/wav`. [#31][pull-31] 399 | 400 | - Added a type for Smarttech notebook files. [#30][pull-30] 401 | 402 | - Added an alias for audio/m4a files. [#29][pull-29] 403 | 404 | - Added application/x-ms-dos-executable. [#28][pull-28] 405 | 406 | ## 3.2019.1009 / 2019-10-09 407 | 408 | - Updated the IANA media registry entries as of release date. 409 | 410 | - Reordered the `.ai` extension so that it is not the preferred extension for 411 | `application/pdf` [#24][pull-24] 412 | 413 | ## 3.2019.0904 / 2019-09-04 414 | 415 | - Updated the IANA media registry entries as of release date. 416 | 417 | - Moved the `.ai` extension from `application/postscript` to `application/pdf`. 418 | [#23][pull-23] fixing [#22][issue-22] 419 | 420 | ## 3.2019.0331 / 2019-03-31 421 | 422 | - Updated the IANA media registry entries as of release date. 423 | 424 | - Added support for `application/wasm` with extension `.wasm`. [#21][pull-21] 425 | 426 | - Fixed `application/ecmascript` extensions. [#20][pull-20] 427 | 428 | ## 3.2018.0812 / 2018-08-12 429 | 430 | - Added `.xsd` extension to `text/xml`. [pull-10][pull-10] 431 | 432 | - Added `.js` and `.mjs` extensions to `text/ecmascript` and `text/javascript`. 433 | [#11][pull-11] 434 | 435 | - Added `.ipa` extension to `application/octet-stream`. [#12][pull-12] 436 | 437 | - Moved extensions `.markdown` and `.md` and added `.mkd` extension to 438 | `text/markdown`. [#13][pull-13] 439 | 440 | - Because of a bug found with mime-types 3 before 3.2.1, this version requires 441 | mime-types 3.2 or later to manage data. 442 | 443 | - Updated the IANA media registry entries as of release date. The biggest major 444 | change here is the addition of the `font/` top-level media type. 445 | 446 | - MIME type changes not introduced by pull requests will no longer be 447 | individually tracked. 448 | 449 | - Clarified that the YAML editable format is not shipped with the Ruby gem for 450 | size considerations. 451 | 452 | ## 3.2016.0521 / 2016-05-21 453 | 454 | - Updated the known extension list for `application/octet-stream` and 455 | `application/pgp-encrypted` to include `gpg` as an extension. Fixes 456 | [#3][pull-3] by Tao Guo ([@taonic](https://github.com/taonic)). 457 | 458 | - Updated the IANA media registry entries as of release date. 459 | 460 | - This version requires mime-types 3.1 or later to manage data because of an 461 | issue with JSON data encoding for the `xrefs` field. 462 | 463 | ## 3.2016.0221 / 2016-02-21 464 | 465 | - Updated the known extensions list for audio/mp4. 466 | 467 | - Updated to [Contributor Covenant 1.4][code of conduct]. 468 | 469 | - Shift the support code in this repository to be developed with Ruby 2.3. This 470 | involves: 471 | 472 | - Adding `frozen_string_literal: true` to all Ruby files. 473 | - Applied some recommended readability and performance suggestions from 474 | Rubocop. Ignored some style recommendations, too. 475 | - Replaced some cases of `foo.bar rescue nil` with `foo&.bar`. 476 | 477 | ## 3.2015.1120 / 2015-11-20 478 | 479 | - Extracted from [ruby-mime-types][rmt]. 480 | - Added a [Code of Conduct][Code of Conduct]. 481 | - The versioning has changed to be semantic on format plus date in two parts. 482 | 483 | - All registry formats have been updated to remove deprecated data. 484 | - The columnar format has been updated to store three boolean flags in a 485 | single flags file. 486 | 487 | - Updated the conversion and management utilities to work with ruby-mime-types 488 | 3.x. 489 | 490 | - Updated the IANA media registry entries as of release date. 491 | 492 | ## 2.6.2 / 2015-09-13 493 | 494 | - Updated the IANA media registry entries as of release date. 495 | 496 | ## 2.6 / 2015-05-25 497 | 498 | - Steven Michael Thomas 499 | ([@stevenmichaelthomas](https://github.com/stevenmichaelthomas)) added `woff2` 500 | as an extension to `application/font-woff`, 501 | [ruby-mime-types#99][ruby-mime-types#99]. 502 | - Updated the IANA media registry entries as of release date. 503 | 504 | ## 2.5 / 2015-04-25 505 | 506 | - Updated the IANA media registry entries as of release date. 507 | 508 | - Andy Brody ([@ab](https://github.com/ab)) fixed a pair of embarrassing typos 509 | in `text/csv` and `text/tab-separated-values`, 510 | [ruby-mime-types#89](https://github.com/mime-types/ruby-mime-types/pull/89). 511 | 512 | - Aggelos Avgerinos ([@eavgerinos](https://github.com/eavgerinos)) added the 513 | unregistered MIME type `image/x-ms-bmp` with the extension `bmp`, 514 | [ruby-mime-types#90](https://github.com/mime-types/ruby-mime-types/pull/90). 515 | 516 | ## 2.4.2 / 2014-10-15 517 | 518 | - Added `application/vnd.ms-outlook` as an unregistered MIME type with the 519 | extension `msg`. Provided by [@keerthisiv](https://github.com/keerthisiv) in 520 | [ruby-mime-types#72](https://github.com/mime-types/ruby-mime-types/pull/72). 521 | 522 | ## 2.4.1 / 2014-10-07 523 | 524 | - Changed the sort order of many of the extensions to restore behaviour from 525 | mime-types 1.25.1. 526 | - Added `friendly` MIME::Type descriptions where known. 527 | - Added `reg`, `ps1`, and `vbs` extensions to `application/x-msdos-program` and 528 | `application/x-msdownload`. 529 | - Updated the IANA media registry entries as of release date. 530 | 531 | ## 2.3 / 2014-05-23 532 | 533 | - Updated the IANA media registry entries as of release date. 534 | 535 | ## 2.2 / 2014-03-14 536 | 537 | - Added `.sj` to `application/javascript` as provided by Brandon Galbraith 538 | ([@brandongalbraith](https://github.com/brandongalbraith)) in 539 | [ruby-mime-types#58](https://github.com/mime-types/ruby-mime-types/pull/58). 540 | 541 | - Marked `application/excel` and `application/x-excel` as obsolete in favour of 542 | `application/vnd.ms-excel` per 543 | [ruby-mime-types#60](https://github.com/mime-types/ruby-mime-types/pull/60). 544 | 545 | - Merged duplicate MIME types into the registered MIME type. The only difference 546 | between the MIME types was capitalization; the MIME type registry is 547 | case-preserving. 548 | 549 | - Updated the IANA media registry entries as of release date. 550 | 551 | ## 2.1 / 2014-01-25 552 | 553 | - The IANA media type registry format changed, resulting in updates to most of 554 | the 1,427 registered MIME types. 555 | - Many registered MIME types have had some metadata updates due to the change 556 | in the IANA registry format. 557 | - MIME types having a publicly available registry application now include a 558 | link to that file in references. 559 | - Added `xrefs` data as discovered (see the API changes noted above). 560 | 561 | - The Apache httpd mime types configuration has been added to track additional 562 | common but unregistered MIME types and known extensions for those MIME types. 563 | This has affected many of the available MIME types. 564 | 565 | - Merged the non-standard VMS platform `text/plain` with the standard 566 | `text/plain`. 567 | 568 | [code of conduct]: CODE_OF_CONDUCT.md 569 | [httpd]: https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types 570 | [issue-18]: https://github.com/mime-types/mime-types-data/issues/18 571 | [issue-22]: https://github.com/mime-types/mime-types-data/issues/22 572 | [issue-32]: https://github.com/mime-types/mime-types-data/issues/32 573 | [issue-48]: https://github.com/mime-types/mime-types-data/issues/48 574 | [issue-54]: https://github.com/mime-types/mime-types-data/issues/54 575 | [issue-55]: https://github.com/mime-types/mime-types-data/issues/55 576 | [mini_mime]: https://github.com/discourse/mini_mime/issues/41 577 | [provisional]: https://www.iana.org/assignments/provisional-standard-media-types/provisional-standard-media-types.xml 578 | [pull-3]: https://github.com/mime-types/mime-types-data/pull/3 579 | [pull-109]: https://github.com/mime-types/mime-types-data/pull/109 580 | [pull-10]: https://github.com/mime-types/mime-types-data/pull/10 581 | [pull-11]: https://github.com/mime-types/mime-types-data/pull/11 582 | [pull-12]: https://github.com/mime-types/mime-types-data/pull/12 583 | [pull-13]: https://github.com/mime-types/mime-types-data/pull/13 584 | [pull-20]: https://github.com/mime-types/mime-types-data/pull/20 585 | [pull-21]: https://github.com/mime-types/mime-types-data/pull/21 586 | [pull-23]: https://github.com/mime-types/mime-types-data/pull/23 587 | [pull-24]: https://github.com/mime-types/mime-types-data/pull/24 588 | [pull-28]: https://github.com/mime-types/mime-types-data/pull/28 589 | [pull-29]: https://github.com/mime-types/mime-types-data/pull/29 590 | [pull-30]: https://github.com/mime-types/mime-types-data/pull/30 591 | [pull-31]: https://github.com/mime-types/mime-types-data/pull/31 592 | [pull-33]: https://github.com/mime-types/mime-types-data/pull/33 593 | [pull-34]: https://github.com/mime-types/mime-types-data/pull/34 594 | [pull-35]: https://github.com/mime-types/mime-types-data/pull/35 595 | [pull-36]: https://github.com/mime-types/mime-types-data/pull/36 596 | [pull-40]: https://github.com/mime-types/mime-types-data/pull/40 597 | [pull-43]: https://github.com/mime-types/mime-types-data/pull/43 598 | [pull-45]: https://github.com/mime-types/mime-types-data/pull/45 599 | [pull-46]: https://github.com/mime-types/mime-types-data/pull/46 600 | [pull-47]: https://github.com/mime-types/mime-types-data/pull/47 601 | [pull-50]: https://github.com/mime-types/mime-types-data/pull/50 602 | [pull-52]: https://github.com/mime-types/mime-types-data/pull/52 603 | [pull-53]: https://github.com/mime-types/mime-types-data/pull/53 604 | [pull-77]: https://github.com/mime-types/mime-types-data/pull/77 605 | [pull-81]: https://github.com/mime-types/mime-types-data/pull/81 606 | [pull-96]: https://github.com/mime-types/mime-types-data/pull/96 607 | [pull-98]: https://github.com/mime-types/mime-types-data/pull/98 608 | [registry]: https://www.iana.org/assignments/media-types/media-types.xml 609 | [rmt]: https://github.com/mime-types/ruby-mime-types 610 | [ruby-mime-types#163]: https://github.com/mime-types/ruby-mime-types/issues/163 611 | [ruby-mime-types#99]: https://github.com/mime-types/ruby-mime-types/pull/99 612 | [tika]: https://github.com/apache/tika/blob/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml 613 | [tp]: https://guides.rubygems.org/trusted-publishing/ 614 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | We as members, contributors, and leaders pledge to make participation in our 6 | community a harassment-free experience for everyone, regardless of age, body 7 | size, visible or invisible disability, ethnicity, sex characteristics, gender 8 | identity and expression, level of experience, education, socio-economic status, 9 | nationality, personal appearance, race, caste, color, religion, or sexual 10 | identity and orientation. 11 | 12 | We pledge to act and interact in ways that contribute to an open, welcoming, 13 | diverse, inclusive, and healthy community. 14 | 15 | ## Our Standards 16 | 17 | Examples of behavior that contributes to a positive environment for our 18 | community include: 19 | 20 | - Demonstrating empathy and kindness toward other people 21 | - Being respectful of differing opinions, viewpoints, and experiences 22 | - Giving and gracefully accepting constructive feedback 23 | - Accepting responsibility and apologizing to those affected by our mistakes, 24 | and learning from the experience 25 | - Focusing on what is best not just for us as individuals, but for the overall 26 | community 27 | 28 | Examples of unacceptable behavior include: 29 | 30 | - The use of sexualized language or imagery, and sexual attention or advances of 31 | any kind 32 | - Trolling, insulting or derogatory comments, and personal or political attacks 33 | - Public or private harassment 34 | - Publishing others' private information, such as a physical or email address, 35 | without their explicit permission 36 | - Other conduct which could reasonably be considered inappropriate in a 37 | professional setting 38 | 39 | ## Enforcement Responsibilities 40 | 41 | Community leaders are responsible for clarifying and enforcing our standards of 42 | acceptable behavior and will take appropriate and fair corrective action in 43 | response to any behavior that they deem inappropriate, threatening, offensive, 44 | or harmful. 45 | 46 | Community leaders have the right and responsibility to remove, edit, or reject 47 | comments, commits, code, wiki edits, issues, and other contributions that are 48 | not aligned to this Code of Conduct, and will communicate reasons for moderation 49 | decisions when appropriate. 50 | 51 | ## Scope 52 | 53 | This Code of Conduct applies within all community spaces, and also applies when 54 | an individual is officially representing the community in public spaces. 55 | Examples of representing our community include using an official email address, 56 | posting via an official social media account, or acting as an appointed 57 | representative at an online or offline event. 58 | 59 | ## Enforcement 60 | 61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 62 | reported to the community leaders responsible for enforcement at [INSERT CONTACT 63 | METHOD]. All complaints will be reviewed and investigated promptly and fairly. 64 | 65 | All community leaders are obligated to respect the privacy and security of the 66 | reporter of any incident. 67 | 68 | ## Enforcement Guidelines 69 | 70 | Community leaders will follow these Community Impact Guidelines in determining 71 | the consequences for any action they deem in violation of this Code of Conduct: 72 | 73 | ### 1. Correction 74 | 75 | **Community Impact**: Use of inappropriate language or other behavior deemed 76 | unprofessional or unwelcome in the community. 77 | 78 | **Consequence**: A private, written warning from community leaders, providing 79 | clarity around the nature of the violation and an explanation of why the 80 | behavior was inappropriate. A public apology may be requested. 81 | 82 | ### 2. Warning 83 | 84 | **Community Impact**: A violation through a single incident or series of 85 | actions. 86 | 87 | **Consequence**: A warning with consequences for continued behavior. No 88 | interaction with the people involved, including unsolicited interaction with 89 | those enforcing the Code of Conduct, for a specified period of time. This 90 | includes avoiding interactions in community spaces as well as external channels 91 | like social media. Violating these terms may lead to a temporary or permanent 92 | ban. 93 | 94 | ### 3. Temporary Ban 95 | 96 | **Community Impact**: A serious violation of community standards, including 97 | sustained inappropriate behavior. 98 | 99 | **Consequence**: A temporary ban from any sort of interaction or public 100 | communication with the community for a specified period of time. No public or 101 | private interaction with the people involved, including unsolicited interaction 102 | with those enforcing the Code of Conduct, is allowed during this period. 103 | Violating these terms may lead to a permanent ban. 104 | 105 | ### 4. Permanent Ban 106 | 107 | **Community Impact**: Demonstrating a pattern of violation of community 108 | standards, including sustained inappropriate behavior, harassment of an 109 | individual, or aggression toward or disparagement of classes of individuals. 110 | 111 | **Consequence**: A permanent ban from any sort of public interaction within the 112 | community. 113 | 114 | ## Attribution 115 | 116 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], 117 | version 2.1, available at 118 | . 119 | 120 | Community Impact Guidelines were inspired by 121 | [Mozilla's code of conduct enforcement ladder][Mozilla CoC]. 122 | 123 | For answers to common questions about this code of conduct, see the FAQ at 124 | . Translations are available at 125 | . 126 | 127 | [homepage]: https://www.contributor-covenant.org 128 | [Mozilla CoC]: https://github.com/mozilla/diversity 129 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Contribution to mime-types-data is encouraged in any form: a bug report, new 4 | MIME type definitions, or additional code to help manage the MIME types. There 5 | are a few DOs and DON'Ts for contributions. 6 | 7 | - DO: 8 | 9 | - Keep the coding style that already exists for any updated Ruby code (support 10 | or otherwise). I use [Standard Ruby][standardrb] for linting and formatting. 11 | 12 | - Use thoughtfully-named topic branches for contributions. Rebase your commits 13 | into logical chunks as necessary. 14 | 15 | - Use [quality commit messages][qcm]. 16 | 17 | - Add your name or GitHub handle to `CONTRIBUTORS.md` and a record in the 18 | `CHANGELOG.md` as a separate commit from your main change. (Follow the style 19 | in the `CHANGELOG.md` and provide a link to your PR.) 20 | 21 | - DO NOT: 22 | 23 | - Modify `VERSION` in `lib/mime/types/data.rb`. When your patch is accepted 24 | and a release is made, the version will be updated at that point. Most 25 | likely, once merged, your release will be rolled into the next automatic 26 | release. 27 | 28 | - Modify `mime-types-data.gemspec`; it is a generated file. (You _may_ use 29 | `rake gemspec` to regenerate it if your change involves metadata related to 30 | gem itself). 31 | 32 | - Modify the `Gemfile`. 33 | 34 | - Modify any files in `data/`. Any changes to be captured here will be 35 | automatically updated on the next release. 36 | 37 | Although mime-types-data was extracted from the [Ruby mime-types][rmt] gem and 38 | the support files are written in Ruby, the _target_ of mime-types-data is any 39 | implementation that wishes to use the data as a MIME types registry, so I am 40 | particularly interested in tools that will create a mime-types-data package for 41 | other languages. 42 | 43 | ## Adding or Modifying MIME Types 44 | 45 | The Ruby mime-types gem loads its data from files encoded in the `data` 46 | directory in this gem by loading `mime-types-data` and reading 47 | MIME::Types::Data::PATH. These files are compiled files from the collection of 48 | data in the `types` directory. 49 | 50 | > [!WARNING] 51 | > 52 | > Pull requests that include changes to files in `data/` will require amendment 53 | > to revert these files. 54 | 55 | New or modified MIME types should be edited in the appropriate YAML file under 56 | `types`. The format is as shown below for the `application/xml` MIME type in 57 | `types/application.yml`. 58 | 59 | ```yaml 60 | - !ruby/object:MIME::Type 61 | content-type: application/xml 62 | encoding: 8bit 63 | extensions: 64 | - xml 65 | - xsl 66 | references: 67 | - IANA 68 | - RFC3023 69 | xrefs: 70 | rfc: 71 | - rfc3023 72 | registered: true 73 | ``` 74 | 75 | There are other fields that can be added, matching the fields discussed in the 76 | documentation for MIME::Type. Pull requests for MIME types should just contain 77 | the changes to the YAML files for the new or modified MIME types; I will convert 78 | the YAML files to JSON prior to a new release. I would rather not have to verify 79 | that the JSON matches the YAML changes, which is why it is not necessary to 80 | convert for the pull request. 81 | 82 | If you are making a change for a private fork, use `rake convert:yaml:json` to 83 | convert the YAML to JSON, or `rake convert:yaml:columnar` to convert it to the 84 | new columnar format. 85 | 86 | ### Updating Types from the IANA or Apache Lists 87 | 88 | If you are maintaining a private fork and wish to update your copy of the MIME 89 | types registry used by this gem, you can do this with the rake tasks: 90 | 91 | ```sh 92 | $ rake mime:iana 93 | $ rake mime:apache 94 | ``` 95 | 96 | #### A Note on Provisional Types 97 | 98 | Provisionally registered types from IANA are contained in the `types/*.yaml` 99 | files. Per IANA, 100 | 101 | > This registry, unlike some other provisional IANA registries, is only for 102 | > temporary use. Entries in this registry are either finalized and moved to the 103 | > main media types registry or are abandoned and deleted. Entries in this 104 | > registry are suitable for use for development and test purposes only. 105 | 106 | Provisional types are rewritten when updated, so pull requests to manually 107 | customize provisional types (such as with extensions) are considered lower 108 | priority. It is recommended that any updates required to the data be performed 109 | in your application if you require provisional types. 110 | 111 | ## The Release Process 112 | 113 | The release process is almost completely automated, where upstream MIME types 114 | will be updated weekly (on Tuesdays) and be presented in a reviewable pull 115 | request. Once merged, the release will be automatically published to RubyGems. 116 | 117 | With the addition of [trusted publishing][tp], there should no longer be a need 118 | for manual releases outside of the update cycle. Pull requests merged between 119 | cycles will be released on the next cycle. 120 | 121 | If it becomes necessary to perform a manual release, IANA updates should be 122 | performed manually. 123 | 124 | 1. Review any outstanding issues or pull requests to see if anything needs to be 125 | addressed. This is necessary because there is no automated source for 126 | extensions for the thousands of MIME entries. (Suggestions and/or pull 127 | requests for same would be deeply appreciated.) 128 | 2. `bundle install` 129 | 3. Review the changes to make sure that the changes are sane. The IANA data 130 | source changes from time to time, resulting in big changes or even a broken 131 | step 4. (The most recent change was the addition of the `font/*` top-level 132 | category.) 133 | 4. Write up the changes in `CHANGELOG.md`. If any PRs have been merged, these 134 | should be noted specifically and contributions should be added in 135 | `Contributing.md`. 136 | 5. Ensure that the `VERSION` in `lib/mime/types/data.rb` is updated with the 137 | current date UTC. 138 | 6. Run `rake gemspec` to ensure that `mime-types.gemspec` has been updated. 139 | 7. Commit the changes and push to GitHub. The automated trusted publishing 140 | workflow will pick up the changes. 141 | 142 | This list is based on issue [#18][issue-18]. 143 | 144 | [hoe]: https://github.com/seattlerb/hoe 145 | [issue-18]: https://github.com/mime-types/mime-types-data/issues/18 146 | [qcm]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html 147 | [release-gem]: https://github.com/rubygems/release-gem 148 | [rmt]: https://github.com/mime-types/ruby-mime-types/ 149 | [standardrb]: https://github.com/standardrb/standard 150 | [tp]: https://guides.rubygems.org/trusted-publishing/ 151 | -------------------------------------------------------------------------------- /CONTRIBUTORS.md: -------------------------------------------------------------------------------- 1 | # Contributors 2 | 3 | - Austin Ziegler created mime-types. 4 | 5 | Thanks to everyone else who has contributed to mime-types: 6 | 7 | - Aaron Patterson 8 | - Aggelos Avgerinos 9 | - Alessio Parma 10 | - Alex Balhatchet 11 | - Andre Pankratz 12 | - Andrey Eremin 13 | - Andy Brody 14 | - Arnaud Meuret 15 | - Bradley Meck 16 | - Brandon Galbraith 17 | - Chris Gat 18 | - Chris Salzberg 19 | - David Genord 20 | - Eric Marden 21 | - Garret Alfert 22 | - Godfrey Chan 23 | - Greg Brockman 24 | - Hans de Graaff 25 | - Henrik Hodne 26 | - Jeremy Evans 27 | - John Gardner 28 | - Jon Sneyers 29 | - Jonas Petersen 30 | - Juanito Fatas 31 | - Keerthi Siva 32 | - Ken Ip 33 | - Łukasz Śliwa 34 | - Lucia 35 | - Mark Young 36 | - Martin d'Allens 37 | - Mauricio Linhares 38 | - Mohammed Gad 39 | - Myk Klemme 40 | - nycvotes-dev 41 | - Postmodern 42 | - Richard Hirner 43 | - Richard Hurt 44 | - Richard Schneeman 45 | - Robert Buchberger 46 | - Samuel Giddins 47 | - Samuel Williams 48 | - Sergio Baptista 49 | - Shane Eskritt 50 | - Tao Guo 51 | - Thomas Leese 52 | - Tibor Szolár 53 | - Todd Carrico 54 | - Yoran Brondsema 55 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | # -*- ruby -*- 2 | # frozen_string_literal: true 3 | 4 | # NOTE: This file is not the canonical source of dependencies. Edit the Rakefile, instead. 5 | 6 | source "https://rubygems.org/" 7 | 8 | gem "mime-types", path: "../ruby-mime-types" if ENV["DEV"] 9 | 10 | gemspec 11 | -------------------------------------------------------------------------------- /LICENCE.md: -------------------------------------------------------------------------------- 1 | ## Licence 2 | 3 | - Copyright 2003–2025 Austin Ziegler and other contributors. 4 | 5 | The software in this repository is made available under the MIT license. 6 | 7 | ### MIT License 8 | 9 | Permission is hereby granted, free of charge, to any person obtaining a copy of 10 | this software and associated documentation files (the "Software"), to deal in 11 | the Software without restriction, including without limitation the rights to 12 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 13 | the Software, and to permit persons to whom the Software is furnished to do so, 14 | subject to the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be included in all 17 | copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 21 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 22 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 23 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 24 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /Manifest.txt: -------------------------------------------------------------------------------- 1 | CHANGELOG.md 2 | CODE_OF_CONDUCT.md 3 | CONTRIBUTING.md 4 | CONTRIBUTORS.md 5 | LICENCE.md 6 | Manifest.txt 7 | README.md 8 | Rakefile 9 | SECURITY.md 10 | data/content_type_mime.db 11 | data/ext_mime.db 12 | data/mime-types.json 13 | data/mime.content_type.column 14 | data/mime.docs.column 15 | data/mime.encoding.column 16 | data/mime.flags.column 17 | data/mime.friendly.column 18 | data/mime.pext.column 19 | data/mime.spri.column 20 | data/mime.use_instead.column 21 | data/mime.xrefs.column 22 | lib/mime-types-data.rb 23 | lib/mime/types/data.rb 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # mime-types-data 2 | 3 | - home :: https://github.com/mime-types/mime-types-data/ 4 | - issues :: https://github.com/mime-types/mime-types-data/issues 5 | - code :: https://github.com/mime-types/mime-types-data/ 6 | - changelog :: 7 | https://github.com/mime-types/mime-types-data/blob/main/CHANGELOG.md 8 | 9 | ## Description 10 | 11 | mime-types-data provides a registry for information about MIME media type 12 | definitions. It can be used with the Ruby mime-types library or other software 13 | to determine defined filename extensions for MIME types, or to use filename 14 | extensions to look up the likely MIME type definitions. 15 | 16 | ### About MIME Media Types 17 | 18 | MIME media types are used in MIME-compliant communications, as in e-mail or HTTP 19 | traffic, to indicate the type of content which is transmitted. The registry 20 | provided in mime-types-data contains detailed information about MIME entities. 21 | There are many types defined by RFCs and vendors, so the list is long but 22 | invariably; don't hesitate to offer additional type definitions for 23 | consideration. MIME type definitions found in mime-types are from RFCs, W3C 24 | recommendations, the [IANA Media Types registry][registry], the 25 | [Apache httpd registry][httpd], the [Apache Tika media registry][tika] and user 26 | contributions. It conforms to RFCs 2045 and 2231. 27 | 28 | ### Data Formats Supported in this Registry 29 | 30 | This registry contains the MIME media types in four formats: 31 | 32 | - A YAML format matching the Ruby mime-types library objects (MIME::Type). This 33 | is the primary user-editable format for developers. It is _not_ shipped with 34 | the gem due to size considerations. 35 | - A JSON format converted from the YAML format. Prior to Ruby mime-types 3.0, 36 | this was the main consumption format and is still recommended for any 37 | implementation that does not wish to implement the columnar format, which has 38 | a significant implementation effort cost. 39 | - An encoded text format splitting the data for each MIME type across multiple 40 | files. This columnar data format reduces the minimal data load substantially, 41 | resulting in a performance improvement at the cost of more complex code for 42 | loading the data on-demand. This is the default format for Ruby mime-types 43 | 3.0. 44 | - An encoded text format for use with [`mini_mime`][minimime]. This can be 45 | enabled with: 46 | 47 | ```ruby 48 | MiniMime::Configuration.ext_db_path = 49 | File.join(MIME::Types::Data::PATH, "ext_mime.db") 50 | MiniMime::Configuration.content_type_db_path = 51 | File.join(MIME::Types::Data::PATH, "content_type_mime.db") 52 | ``` 53 | 54 | ## mime-types-data Modified Semantic Versioning 55 | 56 | mime-types-data uses a [Semantic Versioning][semver] scheme heavily modified 57 | with [Calendar Versioning][calver] aspects to indicate that the data formats 58 | compatibility based on a `SCHEMA` version and the date of the data update: 59 | `SCHEMA.YEAR.MONTHDAY`. 60 | 61 | 1. If an incompatible data format change is made to any of the supported 62 | formats, `SCHEMA` will be incremented. The current `SCHEMA` is 3, supporting 63 | the YAML, JSON, columnar, and mini-mime formats required for Ruby mime-types 64 | 3.0. 65 | 66 | 2. When the data is updated, the `YEAR.MONTHDAY` combination will be updated. An 67 | update on the last day of October 2025 would be written as `2025.1031`, 68 | resulting in the full version of `3.2025.1031`. 69 | 70 | 3. If multiple versions of the data need to be released on the same day due to 71 | error, there will be an additional `REVISION` field incremented on the end of 72 | the version. Thus, if three revisions need to be published on October 31st, 73 | 2015, the last release would be `3.2015.1031.2` (remember that the first 74 | release has an implied `0`.) 75 | 76 | [registry]: https://www.iana.org/assignments/media-types/media-types.xml 77 | [semver]: http://semver.org/ 78 | [minimime]: https://github.com/discourse/mini_mime 79 | [httpd]: https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types 80 | [tika]: https://github.com/apache/tika/blob/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml 81 | [calver]: https://calver.org 82 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require "rubygems" 4 | require "hoe" 5 | require "rake/clean" 6 | 7 | $LOAD_PATH.unshift("lib", "support") 8 | 9 | Hoe.plugin :halostatue 10 | 11 | Hoe.plugins.delete :debug 12 | Hoe.plugins.delete :newb 13 | Hoe.plugins.delete :publish 14 | Hoe.plugins.delete :signing 15 | 16 | Hoe.spec "mime-types-data" do 17 | developer("Austin Ziegler", "halostatue@gmail.com") 18 | 19 | self.trusted_release = ENV["rubygems_release_gem"] == "true" 20 | 21 | require_ruby_version ">= 2.0" 22 | 23 | license "MIT" 24 | 25 | spec_extras[:metadata] = ->(val) { 26 | val.merge!({"rubygems_mfa_required" => "true"}) 27 | } 28 | 29 | extra_dev_deps << ["hoe", "~> 4.0"] 30 | extra_dev_deps << ["hoe-halostatue", "~> 2.0"] 31 | extra_dev_deps << ["mime-types", "> 3.6.2", "< 5"] 32 | extra_dev_deps << ["nokogiri", "~> 1.6"] 33 | extra_dev_deps << ["rake", ">= 10.0", "< 14"] 34 | extra_dev_deps << ["standard", "~> 1.0"] 35 | end 36 | 37 | namespace :mime do 38 | desc "Download the current MIME type registrations from IANA." 39 | task :iana, [:destination] do |_, args| 40 | require "iana_registry" 41 | IANARegistry.download(to: args.destination) 42 | end 43 | 44 | desc "Download the current MIME type configuration from Apache httpd." 45 | task :apache, [:destination] do |_, args| 46 | require "apache_mime_types" 47 | ApacheMIMETypes.download(to: args.destination) 48 | end 49 | 50 | desc "Download the current MIME type configuration from Apache Tika." 51 | task :tika, [:destination] do |_, args| 52 | require "tika_mime_types" 53 | TikeMIMETypes.download(to: args.destination) 54 | end 55 | end 56 | 57 | task :version do 58 | require "mime/types/data" 59 | puts MIME::Types::Data::VERSION 60 | end 61 | 62 | namespace :release do 63 | desc "Prepare a new release" 64 | task :prepare do 65 | require "prepare_release" 66 | 67 | PrepareRelease.new 68 | .download_and_convert 69 | .write_updated_version 70 | .write_updated_history 71 | .rake_git_manifest 72 | .rake_gemspec 73 | end 74 | 75 | desc "Prepare a new release for use with GitHub Actions" 76 | task :gha do 77 | require "prepare_release" 78 | 79 | PrepareRelease.new 80 | .download_and_convert 81 | .write_updated_version 82 | .write_updated_history 83 | .rake_git_manifest 84 | .rake_gemspec 85 | .as_gha_vars 86 | end 87 | end 88 | 89 | desc "Full data conversion for release" 90 | task :convert do 91 | require "prepare_release" 92 | 93 | PrepareRelease.new.convert_types 94 | end 95 | 96 | task "convert:upgrade" do 97 | require "convert" 98 | Convert.from_yaml_to_yaml 99 | end 100 | 101 | Rake::Task["gem"].prerequisites.unshift("convert") 102 | Rake::Task["gem"].prerequisites.unshift("git:manifest") 103 | Rake::Task["gem"].prerequisites.unshift("gemspec") 104 | 105 | # vim: syntax=ruby 106 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # mime-types-data Security 2 | 3 | ## Security contact information 4 | 5 | To report a security vulnerability, please use the 6 | [Tidelift security contact](https://tidelift.com/security). Tidelift will 7 | coordinate the fix and disclosure. 8 | -------------------------------------------------------------------------------- /data/mime.docs.column: -------------------------------------------------------------------------------- 1 | - 2 | - 3 | - 4 | - 5 | - 6 | - 7 | - 8 | - 9 | - 10 | - 11 | - 12 | - 13 | - 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | - 41 | - 42 | - 43 | - 44 | - 45 | - 46 | - 47 | - 48 | - 49 | - 50 | - 51 | - 52 | - 53 | - 54 | - 55 | - 56 | - 57 | - 58 | - 59 | - 60 | - 61 | - 62 | - 63 | - 64 | - 65 | - 66 | - 67 | - 68 | - 69 | - 70 | - 71 | - 72 | - 73 | - 74 | - 75 | - 76 | - 77 | - 78 | - 79 | - 80 | - 81 | - 82 | - 83 | - 84 | - 85 | - 86 | - 87 | - 88 | - 89 | - 90 | - 91 | - 92 | - 93 | - 94 | - 95 | - 96 | - 97 | - 98 | - 99 | - 100 | - 101 | - 102 | - 103 | - 104 | - 105 | - 106 | - 107 | - 108 | - 109 | - 110 | - 111 | - 112 | - 113 | - 114 | - 115 | - 116 | - 117 | - 118 | - 119 | - 120 | - 121 | - 122 | - 123 | - 124 | - 125 | - 126 | - 127 | - 128 | - 129 | - 130 | - 131 | - 132 | - 133 | - 134 | - 135 | - 136 | - 137 | - 138 | - 139 | - 140 | - 141 | - 142 | - 143 | - 144 | - 145 | - 146 | - 147 | - 148 | - 149 | - 150 | - 151 | - 152 | - 153 | - 154 | - 155 | - 156 | - 157 | - 158 | - 159 | - 160 | - 161 | - 162 | - 163 | - 164 | - 165 | - 166 | - 167 | - 168 | - 169 | - 170 | - 171 | - 172 | - 173 | - 174 | - 175 | - 176 | - 177 | - 178 | - 179 | - 180 | - 181 | - 182 | - 183 | - 184 | - 185 | - 186 | - 187 | - 188 | - 189 | - 190 | - 191 | - 192 | - 193 | - 194 | - 195 | - 196 | - 197 | - 198 | - 199 | - 200 | - 201 | - 202 | - 203 | - 204 | - 205 | - 206 | - 207 | - 208 | - 209 | - 210 | - 211 | - 212 | - 213 | - 214 | - 215 | - 216 | - 217 | - 218 | - 219 | - 220 | - 221 | - 222 | - 223 | - 224 | - 225 | - 226 | - 227 | - 228 | - 229 | - 230 | - 231 | - 232 | - 233 | - 234 | - 235 | - 236 | - 237 | - 238 | - 239 | - 240 | - 241 | - 242 | - 243 | - 244 | - 245 | - 246 | - 247 | - 248 | - 249 | - 250 | - 251 | - 252 | - 253 | - 254 | - 255 | - 256 | - 257 | - 258 | - 259 | - 260 | - 261 | - 262 | - 263 | - 264 | - 265 | - 266 | - 267 | - 268 | - 269 | - 270 | - 271 | - 272 | - 273 | - 274 | - 275 | - 276 | - 277 | - 278 | - 279 | - 280 | - 281 | - 282 | - 283 | - 284 | - 285 | - 286 | - 287 | - 288 | - 289 | - 290 | - 291 | - 292 | - 293 | - 294 | - 295 | - 296 | - 297 | - 298 | - 299 | - 300 | - 301 | - 302 | - 303 | - 304 | - 305 | - 306 | - 307 | - 308 | - 309 | - 310 | - 311 | - 312 | - 313 | - 314 | - 315 | - 316 | - 317 | - 318 | - 319 | - 320 | - 321 | - 322 | - 323 | - 324 | - 325 | - 326 | - 327 | - 328 | - 329 | - 330 | - 331 | - 332 | - 333 | - 334 | - 335 | - 336 | - 337 | - 338 | - 339 | - 340 | - 341 | - 342 | - 343 | - 344 | - 345 | - 346 | - 347 | - 348 | - 349 | - 350 | - 351 | - 352 | - 353 | - 354 | - 355 | - 356 | - 357 | - 358 | - 359 | - 360 | - 361 | - 362 | - 363 | - 364 | - 365 | - 366 | - 367 | - 368 | - 369 | - 370 | - 371 | - 372 | - 373 | - 374 | - 375 | - 376 | - 377 | - 378 | - 379 | - 380 | - 381 | - 382 | - 383 | - 384 | - 385 | - 386 | - 387 | - 388 | - 389 | - 390 | - 391 | - 392 | - 393 | - 394 | - 395 | - 396 | - 397 | - 398 | - 399 | - 400 | - 401 | - 402 | - 403 | - 404 | - 405 | - 406 | - 407 | - 408 | - 409 | - 410 | - 411 | - 412 | - 413 | - 414 | - 415 | - 416 | - 417 | - 418 | - 419 | - 420 | - 421 | - 422 | - 423 | - 424 | - 425 | - 426 | - 427 | - 428 | - 429 | - 430 | - 431 | - 432 | - 433 | - 434 | - 435 | - 436 | - 437 | - 438 | - 439 | - 440 | - 441 | - 442 | - 443 | - 444 | - 445 | - 446 | - 447 | - 448 | - 449 | - 450 | - 451 | - 452 | - 453 | - 454 | - 455 | - 456 | - 457 | - 458 | - 459 | - 460 | - 461 | - 462 | - 463 | - 464 | - 465 | - 466 | - 467 | - 468 | - 469 | - 470 | - 471 | - 472 | - 473 | - 474 | - 475 | - 476 | - 477 | - 478 | - 479 | - 480 | - 481 | - 482 | - 483 | - 484 | - 485 | - 486 | - 487 | - 488 | - 489 | - 490 | - 491 | - 492 | - 493 | - 494 | - 495 | - 496 | - 497 | - 498 | - 499 | - 500 | - 501 | - 502 | - 503 | - 504 | - 505 | - 506 | - 507 | - 508 | - 509 | - 510 | - 511 | - 512 | - 513 | - 514 | - 515 | - 516 | - 517 | - 518 | - 519 | - 520 | - 521 | - 522 | - 523 | - 524 | - 525 | - 526 | - 527 | - 528 | - 529 | - 530 | - 531 | - 532 | - 533 | - 534 | - 535 | - 536 | - 537 | - 538 | - 539 | - 540 | - 541 | - 542 | - 543 | - 544 | - 545 | - 546 | - 547 | - 548 | - 549 | - 550 | - 551 | - 552 | - 553 | - 554 | - 555 | - 556 | - 557 | - 558 | - 559 | - 560 | - 561 | - 562 | - 563 | - 564 | - 565 | - 566 | - 567 | - 568 | - 569 | - 570 | - 571 | - 572 | - 573 | - 574 | - 575 | - 576 | - 577 | - 578 | - 579 | - 580 | - 581 | - 582 | - 583 | - 584 | - 585 | - 586 | - 587 | - 588 | - 589 | - 590 | - 591 | - 592 | - 593 | - 594 | - 595 | - 596 | - 597 | - 598 | - 599 | - 600 | - 601 | - 602 | - 603 | - 604 | - 605 | - 606 | - 607 | - 608 | - 609 | - 610 | - 611 | - 612 | - 613 | - 614 | - 615 | - 616 | - 617 | - 618 | - 619 | - 620 | - 621 | - 622 | - 623 | - 624 | - 625 | - 626 | - 627 | - 628 | - 629 | - 630 | - 631 | - 632 | - 633 | - 634 | - 635 | - 636 | - 637 | - 638 | - 639 | - 640 | - 641 | - 642 | - 643 | - 644 | - 645 | - 646 | - 647 | - 648 | - 649 | - 650 | - 651 | - 652 | - 653 | - 654 | - 655 | - 656 | - 657 | - 658 | - 659 | - 660 | - 661 | - 662 | - 663 | - 664 | - 665 | - 666 | - 667 | - 668 | - 669 | - 670 | - 671 | - 672 | - 673 | - 674 | - 675 | - 676 | - 677 | - 678 | - 679 | - 680 | - 681 | - 682 | - 683 | - 684 | - 685 | - 686 | - 687 | - 688 | - 689 | - 690 | - 691 | - 692 | - 693 | - 694 | - 695 | - 696 | - 697 | - 698 | - 699 | - 700 | - 701 | - 702 | - 703 | - 704 | - 705 | - 706 | - 707 | - 708 | - 709 | - 710 | - 711 | - 712 | - 713 | - 714 | - 715 | - 716 | - 717 | - 718 | - 719 | - 720 | - 721 | - 722 | - 723 | - 724 | - 725 | - 726 | - 727 | - 728 | - 729 | - 730 | - 731 | - 732 | - 733 | - 734 | - 735 | - 736 | - 737 | - 738 | - 739 | - 740 | - 741 | - 742 | - 743 | - 744 | - 745 | - 746 | - 747 | - 748 | - 749 | - 750 | - 751 | - 752 | - 753 | - 754 | - 755 | - 756 | - 757 | - 758 | - 759 | - 760 | - 761 | - 762 | - 763 | - 764 | - 765 | - 766 | - 767 | - 768 | - 769 | - 770 | - 771 | - 772 | - 773 | - 774 | - 775 | - 776 | - 777 | - 778 | - 779 | - 780 | - 781 | - 782 | - 783 | - 784 | - 785 | - 786 | - 787 | - 788 | - 789 | - 790 | - 791 | - 792 | - 793 | - 794 | - 795 | - 796 | - 797 | - 798 | - 799 | - 800 | - 801 | - 802 | - 803 | - 804 | - 805 | - 806 | - 807 | - 808 | - 809 | - 810 | - 811 | - 812 | - 813 | - 814 | - 815 | - 816 | - 817 | - 818 | - 819 | - 820 | - 821 | - 822 | - 823 | - 824 | - 825 | - 826 | - 827 | - 828 | - 829 | - 830 | - 831 | - 832 | - 833 | - 834 | - 835 | - 836 | - 837 | - 838 | - 839 | - 840 | - 841 | - 842 | - 843 | - 844 | - 845 | - 846 | - 847 | - 848 | - 849 | - 850 | - 851 | - 852 | - 853 | - 854 | - 855 | - 856 | - 857 | - 858 | - 859 | - 860 | - 861 | - 862 | - 863 | - 864 | - 865 | - 866 | - 867 | - 868 | - 869 | - 870 | - 871 | - 872 | - 873 | - 874 | - 875 | - 876 | - 877 | - 878 | - 879 | - 880 | - 881 | - 882 | - 883 | - 884 | - 885 | - 886 | - 887 | - 888 | - 889 | - 890 | - 891 | - 892 | - 893 | - 894 | - 895 | - 896 | - 897 | - 898 | - 899 | - 900 | - 901 | - 902 | - 903 | - 904 | - 905 | - 906 | - 907 | - 908 | - 909 | - 910 | - 911 | - 912 | - 913 | - 914 | - 915 | - 916 | - 917 | - 918 | - 919 | - 920 | - 921 | - 922 | - 923 | - 924 | - 925 | - 926 | - 927 | - 928 | - 929 | - 930 | - 931 | - 932 | - 933 | - 934 | - 935 | - 936 | - 937 | - 938 | - 939 | - 940 | - 941 | - 942 | - 943 | - 944 | - 945 | - 946 | - 947 | - 948 | - 949 | - 950 | - 951 | - 952 | - 953 | - 954 | - 955 | - 956 | - 957 | - 958 | - 959 | - 960 | - 961 | - 962 | - 963 | - 964 | - 965 | - 966 | - 967 | - 968 | - 969 | - 970 | - 971 | - 972 | - 973 | - 974 | - 975 | - 976 | - 977 | - 978 | - 979 | - 980 | - 981 | - 982 | - 983 | - 984 | - 985 | - 986 | - 987 | - 988 | - 989 | - 990 | - 991 | - 992 | - 993 | - 994 | - 995 | - 996 | - 997 | - 998 | - 999 | - 1000 | - 1001 | - 1002 | - 1003 | - 1004 | - 1005 | - 1006 | - 1007 | - 1008 | - 1009 | - 1010 | - 1011 | - 1012 | - 1013 | - 1014 | - 1015 | - 1016 | - 1017 | - 1018 | - 1019 | - 1020 | - 1021 | - 1022 | - 1023 | - 1024 | - 1025 | - 1026 | - 1027 | - 1028 | - 1029 | - 1030 | - 1031 | - 1032 | - 1033 | - 1034 | - 1035 | - 1036 | - 1037 | - 1038 | - 1039 | - 1040 | - 1041 | - 1042 | - 1043 | - 1044 | - 1045 | - 1046 | - 1047 | - 1048 | - 1049 | - 1050 | - 1051 | - 1052 | - 1053 | - 1054 | - 1055 | - 1056 | - 1057 | - 1058 | - 1059 | - 1060 | - 1061 | - 1062 | - 1063 | - 1064 | - 1065 | - 1066 | - 1067 | - 1068 | - 1069 | - 1070 | - 1071 | - 1072 | - 1073 | - 1074 | - 1075 | - 1076 | - 1077 | - 1078 | - 1079 | - 1080 | - 1081 | - 1082 | - 1083 | - 1084 | - 1085 | - 1086 | - 1087 | - 1088 | - 1089 | - 1090 | - 1091 | - 1092 | - 1093 | - 1094 | - 1095 | - 1096 | - 1097 | - 1098 | - 1099 | - 1100 | - 1101 | - 1102 | - 1103 | - 1104 | - 1105 | - 1106 | - 1107 | - 1108 | - 1109 | - 1110 | - 1111 | - 1112 | - 1113 | - 1114 | - 1115 | - 1116 | - 1117 | - 1118 | - 1119 | - 1120 | - 1121 | - 1122 | - 1123 | - 1124 | - 1125 | - 1126 | - 1127 | - 1128 | - 1129 | - 1130 | - 1131 | - 1132 | - 1133 | - 1134 | - 1135 | - 1136 | - 1137 | - 1138 | - 1139 | - 1140 | - 1141 | - 1142 | - 1143 | - 1144 | - 1145 | - 1146 | - 1147 | - 1148 | - 1149 | - 1150 | - 1151 | - 1152 | - 1153 | - 1154 | - 1155 | - 1156 | - 1157 | - 1158 | - 1159 | - 1160 | - 1161 | - 1162 | - 1163 | - 1164 | - 1165 | - 1166 | - 1167 | - 1168 | - 1169 | - 1170 | - 1171 | - 1172 | - 1173 | - 1174 | - 1175 | - 1176 | - 1177 | - 1178 | - 1179 | - 1180 | - 1181 | - 1182 | - 1183 | - 1184 | - 1185 | - 1186 | - 1187 | - 1188 | - 1189 | - 1190 | - 1191 | - 1192 | - 1193 | - 1194 | - 1195 | - 1196 | - 1197 | - 1198 | - 1199 | - 1200 | - 1201 | - 1202 | - 1203 | - 1204 | - 1205 | - 1206 | - 1207 | - 1208 | - 1209 | - 1210 | - 1211 | - 1212 | - 1213 | - 1214 | - 1215 | - 1216 | - 1217 | - 1218 | - 1219 | - 1220 | - 1221 | - 1222 | - 1223 | - 1224 | - 1225 | - 1226 | - 1227 | - 1228 | - 1229 | - 1230 | - 1231 | - 1232 | - 1233 | - 1234 | - 1235 | - 1236 | - 1237 | - 1238 | - 1239 | - 1240 | - 1241 | - 1242 | - 1243 | - 1244 | - 1245 | - 1246 | - 1247 | - 1248 | - 1249 | - 1250 | - 1251 | - 1252 | - 1253 | - 1254 | - 1255 | - 1256 | - 1257 | - 1258 | - 1259 | - 1260 | - 1261 | - 1262 | - 1263 | - 1264 | - 1265 | - 1266 | - 1267 | - 1268 | - 1269 | - 1270 | - 1271 | - 1272 | - 1273 | - 1274 | - 1275 | - 1276 | - 1277 | - 1278 | - 1279 | - 1280 | - 1281 | - 1282 | - 1283 | - 1284 | - 1285 | - 1286 | - 1287 | - 1288 | - 1289 | - 1290 | - 1291 | - 1292 | - 1293 | - 1294 | - 1295 | - 1296 | - 1297 | - 1298 | - 1299 | - 1300 | - 1301 | - 1302 | - 1303 | - 1304 | - 1305 | - 1306 | - 1307 | - 1308 | - 1309 | - 1310 | - 1311 | - 1312 | - 1313 | - 1314 | - 1315 | - 1316 | - 1317 | - 1318 | - 1319 | - 1320 | - 1321 | - 1322 | - 1323 | - 1324 | - 1325 | - 1326 | - 1327 | - 1328 | - 1329 | - 1330 | - 1331 | - 1332 | - 1333 | - 1334 | - 1335 | - 1336 | - 1337 | - 1338 | - 1339 | - 1340 | - 1341 | - 1342 | - 1343 | - 1344 | - 1345 | - 1346 | - 1347 | - 1348 | - 1349 | - 1350 | - 1351 | - 1352 | - 1353 | - 1354 | - 1355 | - 1356 | - 1357 | - 1358 | - 1359 | - 1360 | - 1361 | - 1362 | - 1363 | - 1364 | - 1365 | - 1366 | - 1367 | - 1368 | - 1369 | - 1370 | - 1371 | - 1372 | - 1373 | - 1374 | - 1375 | - 1376 | - 1377 | - 1378 | - 1379 | - 1380 | - 1381 | - 1382 | - 1383 | - 1384 | - 1385 | - 1386 | - 1387 | - 1388 | - 1389 | - 1390 | - 1391 | - 1392 | - 1393 | - 1394 | - 1395 | - 1396 | - 1397 | - 1398 | - 1399 | - 1400 | - 1401 | - 1402 | - 1403 | - 1404 | - 1405 | - 1406 | - 1407 | - 1408 | - 1409 | - 1410 | - 1411 | - 1412 | - 1413 | - 1414 | - 1415 | - 1416 | - 1417 | - 1418 | - 1419 | - 1420 | - 1421 | - 1422 | - 1423 | - 1424 | - 1425 | - 1426 | - 1427 | - 1428 | - 1429 | - 1430 | - 1431 | - 1432 | - 1433 | - 1434 | - 1435 | - 1436 | - 1437 | - 1438 | - 1439 | - 1440 | - 1441 | - 1442 | - 1443 | - 1444 | - 1445 | - 1446 | - 1447 | - 1448 | - 1449 | - 1450 | - 1451 | - 1452 | - 1453 | - 1454 | - 1455 | - 1456 | - 1457 | - 1458 | - 1459 | - 1460 | - 1461 | - 1462 | - 1463 | - 1464 | - 1465 | - 1466 | - 1467 | - 1468 | - 1469 | - 1470 | - 1471 | - 1472 | - 1473 | - 1474 | - 1475 | - 1476 | - 1477 | - 1478 | - 1479 | - 1480 | - 1481 | - 1482 | - 1483 | - 1484 | - 1485 | - 1486 | - 1487 | - 1488 | - 1489 | - 1490 | - 1491 | - 1492 | - 1493 | - 1494 | - 1495 | - 1496 | - 1497 | - 1498 | - 1499 | - 1500 | - 1501 | - 1502 | - 1503 | - 1504 | - 1505 | - 1506 | - 1507 | - 1508 | - 1509 | - 1510 | - 1511 | - 1512 | - 1513 | - 1514 | - 1515 | - 1516 | - 1517 | - 1518 | - 1519 | - 1520 | - 1521 | - 1522 | - 1523 | - 1524 | - 1525 | - 1526 | - 1527 | - 1528 | - 1529 | - 1530 | - 1531 | - 1532 | - 1533 | - 1534 | - 1535 | - 1536 | - 1537 | - 1538 | - 1539 | - 1540 | - 1541 | - 1542 | - 1543 | - 1544 | - 1545 | - 1546 | - 1547 | - 1548 | - 1549 | - 1550 | - 1551 | - 1552 | - 1553 | - 1554 | - 1555 | - 1556 | - 1557 | - 1558 | - 1559 | - 1560 | - 1561 | - 1562 | - 1563 | - 1564 | - 1565 | - 1566 | - 1567 | - 1568 | - 1569 | - 1570 | - 1571 | - 1572 | - 1573 | - 1574 | - 1575 | - 1576 | - 1577 | - 1578 | - 1579 | - 1580 | - 1581 | - 1582 | - 1583 | - 1584 | - 1585 | - 1586 | - 1587 | - 1588 | - 1589 | - 1590 | - 1591 | - 1592 | - 1593 | - 1594 | - 1595 | - 1596 | - 1597 | - 1598 | - 1599 | - 1600 | - 1601 | - 1602 | - 1603 | - 1604 | - 1605 | - 1606 | - 1607 | - 1608 | - 1609 | - 1610 | - 1611 | - 1612 | - 1613 | - 1614 | - 1615 | - 1616 | - 1617 | - 1618 | - 1619 | - 1620 | - 1621 | - 1622 | - 1623 | - 1624 | - 1625 | - 1626 | - 1627 | - 1628 | - 1629 | - 1630 | - 1631 | - 1632 | - 1633 | - 1634 | - 1635 | - 1636 | - 1637 | - 1638 | - 1639 | - 1640 | - 1641 | - 1642 | - 1643 | - 1644 | - 1645 | - 1646 | - 1647 | - 1648 | - 1649 | - 1650 | - 1651 | - 1652 | - 1653 | - 1654 | - 1655 | - 1656 | - 1657 | - 1658 | - 1659 | - 1660 | - 1661 | - 1662 | - 1663 | - 1664 | - 1665 | - 1666 | - 1667 | - 1668 | - 1669 | - 1670 | - 1671 | - 1672 | - 1673 | - 1674 | - 1675 | - 1676 | - 1677 | - 1678 | - 1679 | - 1680 | - 1681 | - 1682 | - 1683 | - 1684 | - 1685 | - 1686 | - 1687 | - 1688 | - 1689 | - 1690 | - 1691 | - 1692 | - 1693 | - 1694 | - 1695 | - 1696 | - 1697 | - 1698 | - 1699 | - 1700 | - 1701 | - 1702 | - 1703 | - 1704 | - 1705 | - 1706 | - 1707 | - 1708 | - 1709 | - 1710 | - 1711 | - 1712 | - 1713 | - 1714 | - 1715 | - 1716 | - 1717 | - 1718 | - 1719 | - 1720 | - 1721 | - 1722 | - 1723 | - 1724 | - 1725 | - 1726 | - 1727 | - 1728 | - 1729 | - 1730 | - 1731 | - 1732 | - 1733 | - 1734 | - 1735 | - 1736 | - 1737 | - 1738 | - 1739 | - 1740 | - 1741 | - 1742 | - 1743 | - 1744 | - 1745 | - 1746 | - 1747 | - 1748 | - 1749 | - 1750 | - 1751 | - 1752 | - 1753 | - 1754 | - 1755 | - 1756 | - 1757 | - 1758 | - 1759 | - 1760 | - 1761 | - 1762 | - 1763 | - 1764 | - 1765 | - 1766 | - 1767 | - 1768 | - 1769 | - 1770 | - 1771 | - 1772 | - 1773 | - 1774 | - 1775 | - 1776 | - 1777 | - 1778 | - 1779 | - 1780 | - 1781 | - 1782 | - 1783 | - 1784 | - 1785 | - 1786 | - 1787 | - 1788 | - 1789 | - 1790 | - 1791 | - 1792 | - 1793 | - 1794 | - 1795 | - 1796 | - 1797 | - 1798 | - 1799 | - 1800 | - 1801 | - 1802 | - 1803 | - 1804 | - 1805 | - 1806 | - 1807 | - 1808 | - 1809 | - 1810 | - 1811 | - 1812 | - 1813 | - 1814 | - 1815 | - 1816 | - 1817 | - 1818 | - 1819 | - 1820 | - 1821 | - 1822 | - 1823 | - 1824 | - 1825 | - 1826 | - 1827 | - 1828 | - 1829 | - 1830 | - 1831 | - 1832 | - 1833 | - 1834 | - 1835 | - 1836 | - 1837 | - 1838 | - 1839 | - 1840 | - 1841 | - 1842 | - 1843 | - 1844 | - 1845 | - 1846 | - 1847 | - 1848 | - 1849 | - 1850 | - 1851 | - 1852 | - 1853 | - 1854 | - 1855 | - 1856 | - 1857 | - 1858 | - 1859 | - 1860 | - 1861 | - 1862 | - 1863 | - 1864 | - 1865 | - 1866 | - 1867 | - 1868 | - 1869 | - 1870 | - 1871 | - 1872 | - 1873 | - 1874 | - 1875 | - 1876 | - 1877 | - 1878 | - 1879 | - 1880 | - 1881 | - 1882 | - 1883 | - 1884 | - 1885 | - 1886 | - 1887 | - 1888 | - 1889 | - 1890 | - 1891 | - 1892 | - 1893 | - 1894 | - 1895 | - 1896 | - 1897 | - 1898 | - 1899 | - 1900 | - 1901 | - 1902 | - 1903 | - 1904 | - 1905 | - 1906 | - 1907 | - 1908 | - 1909 | - 1910 | - 1911 | - 1912 | - 1913 | - 1914 | - 1915 | - 1916 | - 1917 | - 1918 | - 1919 | - 1920 | - 1921 | - 1922 | - 1923 | - 1924 | - 1925 | - 1926 | - 1927 | - 1928 | - 1929 | - 1930 | - 1931 | - 1932 | - 1933 | - 1934 | - 1935 | - 1936 | - 1937 | - 1938 | - 1939 | - 1940 | - 1941 | - 1942 | - 1943 | - 1944 | - 1945 | - 1946 | - 1947 | - 1948 | - 1949 | - 1950 | - 1951 | - 1952 | - 1953 | - 1954 | - 1955 | - 1956 | - 1957 | - 1958 | - 1959 | - 1960 | - 1961 | - 1962 | - 1963 | - 1964 | - 1965 | - 1966 | - 1967 | - 1968 | - 1969 | - 1970 | - 1971 | - 1972 | - 1973 | - 1974 | - 1975 | - 1976 | - 1977 | - 1978 | - 1979 | - 1980 | - 1981 | - 1982 | - 1983 | - 1984 | - 1985 | - 1986 | - 1987 | - 1988 | - 1989 | - 1990 | - 1991 | - 1992 | - 1993 | - 1994 | - 1995 | - 1996 | - 1997 | - 1998 | - 1999 | - 2000 | - 2001 | - 2002 | - 2003 | - 2004 | - 2005 | - 2006 | - 2007 | - 2008 | - 2009 | - 2010 | - 2011 | - 2012 | - 2013 | - 2014 | - 2015 | - 2016 | - 2017 | - 2018 | - 2019 | - 2020 | - 2021 | - 2022 | - 2023 | - 2024 | - 2025 | - 2026 | - 2027 | - 2028 | - 2029 | - 2030 | - 2031 | - 2032 | - 2033 | - 2034 | - 2035 | - 2036 | - 2037 | - 2038 | - 2039 | - 2040 | - 2041 | - 2042 | - 2043 | - 2044 | - 2045 | - 2046 | - 2047 | - 2048 | - 2049 | - 2050 | - 2051 | - 2052 | - 2053 | - 2054 | - 2055 | - 2056 | - 2057 | - 2058 | - 2059 | - 2060 | - 2061 | - 2062 | - 2063 | - 2064 | - 2065 | - 2066 | - 2067 | - 2068 | - 2069 | - 2070 | - 2071 | - 2072 | - 2073 | - 2074 | - 2075 | - 2076 | - 2077 | - 2078 | - 2079 | - 2080 | - 2081 | - 2082 | - 2083 | - 2084 | - 2085 | - 2086 | - 2087 | - 2088 | - 2089 | - 2090 | - 2091 | - 2092 | - 2093 | - 2094 | - 2095 | - 2096 | - 2097 | - 2098 | - 2099 | - 2100 | - 2101 | - 2102 | - 2103 | - 2104 | - 2105 | - 2106 | - 2107 | - 2108 | - 2109 | - 2110 | - 2111 | - 2112 | - 2113 | - 2114 | - 2115 | - 2116 | - 2117 | - 2118 | - 2119 | - 2120 | - 2121 | - 2122 | - 2123 | - 2124 | - 2125 | - 2126 | - 2127 | - 2128 | - 2129 | - 2130 | - 2131 | - 2132 | - 2133 | - 2134 | - 2135 | - 2136 | - 2137 | - 2138 | - 2139 | - 2140 | - 2141 | - 2142 | - 2143 | - 2144 | - 2145 | - 2146 | - 2147 | - 2148 | - 2149 | - 2150 | - 2151 | - 2152 | - 2153 | - 2154 | - 2155 | - 2156 | - 2157 | - 2158 | - 2159 | - 2160 | - 2161 | - 2162 | - 2163 | - 2164 | - 2165 | - 2166 | - 2167 | - 2168 | - 2169 | - 2170 | - 2171 | - 2172 | - 2173 | - 2174 | - 2175 | - 2176 | - 2177 | - 2178 | - 2179 | - 2180 | - 2181 | - 2182 | - 2183 | - 2184 | - 2185 | - 2186 | - 2187 | - 2188 | - 2189 | - 2190 | - 2191 | - 2192 | - 2193 | - 2194 | - 2195 | - 2196 | - 2197 | - 2198 | - 2199 | - 2200 | - 2201 | - 2202 | - 2203 | - 2204 | - 2205 | - 2206 | - 2207 | - 2208 | - 2209 | - 2210 | - 2211 | - 2212 | - 2213 | - 2214 | - 2215 | - 2216 | - 2217 | - 2218 | - 2219 | - 2220 | - 2221 | - 2222 | - 2223 | - 2224 | - 2225 | - 2226 | - 2227 | - 2228 | - 2229 | - 2230 | - 2231 | - 2232 | - 2233 | - 2234 | - 2235 | - 2236 | - 2237 | - 2238 | - 2239 | - 2240 | - 2241 | - 2242 | - 2243 | - 2244 | - 2245 | - 2246 | - 2247 | - 2248 | - 2249 | - 2250 | - 2251 | - 2252 | - 2253 | - 2254 | - 2255 | - 2256 | - 2257 | - 2258 | - 2259 | - 2260 | - 2261 | - 2262 | - 2263 | - 2264 | - 2265 | - 2266 | - 2267 | - 2268 | - 2269 | - 2270 | - 2271 | - 2272 | - 2273 | - 2274 | - 2275 | - 2276 | - 2277 | - 2278 | - 2279 | - 2280 | - 2281 | - 2282 | - 2283 | - 2284 | - 2285 | - 2286 | - 2287 | - 2288 | - 2289 | - 2290 | - 2291 | - 2292 | - 2293 | - 2294 | - 2295 | - 2296 | - 2297 | - 2298 | - 2299 | - 2300 | - 2301 | - 2302 | - 2303 | - 2304 | - 2305 | - 2306 | - 2307 | - 2308 | - 2309 | - 2310 | - 2311 | - 2312 | - 2313 | - 2314 | - 2315 | - 2316 | - 2317 | - 2318 | - 2319 | - 2320 | - 2321 | - 2322 | - 2323 | - 2324 | - 2325 | - 2326 | - 2327 | - 2328 | - 2329 | - 2330 | - 2331 | - 2332 | - 2333 | - 2334 | - 2335 | - 2336 | - 2337 | - 2338 | - 2339 | - 2340 | - 2341 | - 2342 | - 2343 | - 2344 | - 2345 | - 2346 | - 2347 | - 2348 | - 2349 | - 2350 | - 2351 | - 2352 | - 2353 | - 2354 | - 2355 | - 2356 | - 2357 | - 2358 | - 2359 | - 2360 | - 2361 | - 2362 | - 2363 | - 2364 | - 2365 | - 2366 | - 2367 | - 2368 | - 2369 | - 2370 | - 2371 | - 2372 | - 2373 | - 2374 | - 2375 | - 2376 | - 2377 | - 2378 | - 2379 | - 2380 | - 2381 | - 2382 | - 2383 | - 2384 | - 2385 | - 2386 | - 2387 | - 2388 | - 2389 | - 2390 | - 2391 | - 2392 | - 2393 | - 2394 | - 2395 | - 2396 | - 2397 | - 2398 | - 2399 | - 2400 | - 2401 | - 2402 | - 2403 | - 2404 | - 2405 | - 2406 | - 2407 | - 2408 | - 2409 | - 2410 | - 2411 | - 2412 | - 2413 | - 2414 | - 2415 | - 2416 | - 2417 | - 2418 | - 2419 | - 2420 | - 2421 | - 2422 | - 2423 | - 2424 | - 2425 | - 2426 | - 2427 | - 2428 | - 2429 | - 2430 | - 2431 | - 2432 | - 2433 | - 2434 | - 2435 | - 2436 | - 2437 | - 2438 | - 2439 | - 2440 | - 2441 | - 2442 | - 2443 | - 2444 | - 2445 | - 2446 | - 2447 | - 2448 | - 2449 | Fixes a bug with IE6 and progressive JPEGs 2450 | - 2451 | - 2452 | - 2453 | - 2454 | - 2455 | - 2456 | - 2457 | - 2458 | - 2459 | - 2460 | - 2461 | - 2462 | - 2463 | - 2464 | - 2465 | - 2466 | - 2467 | - 2468 | - 2469 | - 2470 | - 2471 | - 2472 | - 2473 | - 2474 | - 2475 | - 2476 | - 2477 | - 2478 | - 2479 | - 2480 | - 2481 | - 2482 | - 2483 | - 2484 | - 2485 | - 2486 | - 2487 | - 2488 | - 2489 | - 2490 | - 2491 | - 2492 | - 2493 | - 2494 | - 2495 | - 2496 | - 2497 | - 2498 | - 2499 | - 2500 | - 2501 | - 2502 | - 2503 | - 2504 | - 2505 | - 2506 | - 2507 | - 2508 | - 2509 | see-also:image/x-xcf 2510 | - 2511 | - 2512 | - 2513 | - 2514 | - 2515 | - 2516 | - 2517 | - 2518 | - 2519 | - 2520 | - 2521 | - 2522 | - 2523 | - 2524 | - 2525 | - 2526 | - 2527 | - 2528 | - 2529 | - 2530 | - 2531 | - 2532 | - 2533 | - 2534 | - 2535 | - 2536 | - 2537 | - 2538 | - 2539 | - 2540 | - 2541 | - 2542 | - 2543 | - 2544 | - 2545 | - 2546 | - 2547 | - 2548 | - 2549 | - 2550 | - 2551 | - 2552 | - 2553 | - 2554 | - 2555 | - 2556 | - 2557 | - 2558 | - 2559 | - 2560 | - 2561 | - 2562 | - 2563 | - 2564 | - 2565 | - 2566 | - 2567 | - 2568 | - 2569 | - 2570 | - 2571 | - 2572 | - 2573 | - 2574 | - 2575 | - 2576 | - 2577 | - 2578 | - 2579 | - 2580 | - 2581 | - 2582 | - 2583 | - 2584 | - 2585 | - 2586 | - 2587 | - 2588 | - 2589 | - 2590 | - 2591 | - 2592 | - 2593 | - 2594 | - 2595 | - 2596 | - 2597 | - 2598 | - 2599 | - 2600 | - 2601 | - 2602 | - 2603 | - 2604 | - 2605 | - 2606 | - 2607 | - 2608 | - 2609 | - 2610 | - 2611 | - 2612 | - 2613 | - 2614 | - 2615 | - 2616 | - 2617 | - 2618 | - 2619 | - 2620 | - 2621 | - 2622 | - 2623 | - 2624 | - 2625 | - 2626 | - 2627 | - 2628 | - 2629 | - 2630 | - 2631 | - 2632 | - 2633 | - 2634 | - 2635 | - 2636 | - 2637 | - 2638 | - 2639 | - 2640 | - 2641 | - 2642 | - 2643 | - 2644 | - 2645 | - 2646 | - 2647 | - 2648 | - 2649 | - 2650 | - 2651 | - 2652 | - 2653 | - 2654 | - 2655 | - 2656 | - 2657 | - 2658 | - 2659 | - 2660 | - 2661 | - 2662 | - 2663 | - 2664 | - 2665 | - 2666 | - 2667 | - 2668 | - 2669 | - 2670 | - 2671 | - 2672 | - 2673 | - 2674 | - 2675 | - 2676 | - 2677 | - 2678 | - 2679 | - 2680 | - 2681 | - 2682 | - 2683 | - 2684 | - 2685 | - 2686 | - 2687 | - 2688 | - 2689 | - 2690 | - 2691 | - 2692 | - 2693 | - 2694 | - 2695 | - 2696 | - 2697 | - 2698 | - 2699 | - 2700 | - 2701 | - 2702 | - 2703 | - 2704 | - 2705 | - 2706 | - 2707 | - 2708 | - 2709 | - 2710 | - 2711 | - 2712 | - 2713 | - 2714 | - 2715 | - 2716 | - 2717 | - 2718 | - 2719 | - 2720 | - 2721 | - 2722 | - 2723 | - 2724 | - 2725 | - 2726 | - 2727 | - 2728 | - 2729 | - 2730 | - 2731 | - 2732 | - 2733 | - 2734 | - 2735 | - 2736 | - 2737 | - 2738 | - 2739 | - 2740 | - 2741 | - 2742 | - 2743 | - 2744 | - 2745 | - 2746 | - 2747 | - 2748 | - 2749 | - 2750 | - 2751 | - 2752 | - 2753 | - 2754 | - 2755 | - 2756 | - 2757 | - 2758 | - 2759 | - 2760 | - 2761 | - 2762 | - 2763 | - 2764 | - 2765 | - 2766 | - 2767 | - 2768 | - 2769 | - 2770 | - 2771 | - 2772 | - 2773 | - 2774 | - 2775 | - 2776 | - 2777 | - 2778 | - 2779 | - 2780 | - 2781 | - 2782 | - 2783 | - 2784 | - 2785 | - 2786 | - 2787 | - 2788 | - 2789 | - 2790 | - 2791 | - 2792 | - 2793 | - 2794 | - 2795 | - 2796 | - 2797 | - 2798 | - 2799 | - 2800 | - 2801 | - 2802 | - 2803 | - 2804 | - 2805 | - 2806 | - 2807 | - 2808 | - 2809 | - 2810 | - 2811 | - 2812 | - 2813 | - 2814 | - 2815 | - 2816 | - 2817 | - 2818 | - 2819 | - 2820 | - 2821 | - 2822 | - 2823 | - 2824 | - 2825 | - 2826 | - 2827 | - 2828 | - 2829 | - 2830 | - 2831 | - 2832 | - 2833 | - 2834 | - 2835 | - 2836 | - 2837 | - 2838 | - 2839 | - 2840 | - 2841 | - 2842 | - 2843 | - 2844 | - 2845 | - 2846 | - 2847 | - 2848 | - 2849 | - 2850 | - 2851 | - 2852 | - 2853 | - 2854 | - 2855 | - 2856 | - 2857 | - 2858 | - 2859 | - 2860 | - 2861 | - 2862 | - 2863 | - 2864 | - 2865 | - 2866 | - 2867 | - 2868 | - 2869 | - 2870 | - 2871 | - 2872 | - 2873 | - 2874 | - 2875 | - 2876 | - 2877 | - 2878 | - 2879 | - 2880 | - 2881 | - 2882 | - 2883 | - 2884 | - 2885 | - 2886 | - 2887 | - 2888 | - 2889 | - 2890 | - 2891 | - 2892 | - 2893 | - 2894 | - 2895 | - 2896 | - 2897 | - 2898 | - 2899 | - 2900 | - 2901 | - 2902 | - 2903 | - 2904 | - 2905 | - 2906 | - 2907 | - 2908 | - 2909 | - 2910 | - 2911 | - 2912 | - 2913 | - 2914 | - 2915 | - 2916 | - 2917 | - 2918 | - 2919 | - 2920 | - 2921 | - 2922 | - 2923 | - 2924 | - 2925 | - 2926 | - 2927 | - 2928 | - 2929 | - 2930 | - 2931 | - 2932 | - 2933 | - 2934 | - 2935 | - 2936 | - 2937 | - 2938 | - 2939 | - 2940 | - 2941 | - 2942 | - 2943 | - 2944 | - 2945 | - 2946 | - 2947 | - 2948 | - 2949 | - 2950 | - 2951 | - 2952 | - 2953 | - 2954 | - 2955 | - 2956 | - 2957 | - 2958 | - 2959 | - 2960 | - 2961 | - 2962 | - 2963 | - 2964 | - 2965 | - 2966 | - 2967 | - 2968 | - 2969 | - 2970 | - 2971 | - 2972 | - 2973 | - 2974 | - 2975 | - 2976 | - 2977 | - 2978 | - 2979 | - 2980 | - 2981 | - 2982 | - 2983 | - 2984 | - 2985 | - 2986 | - 2987 | - 2988 | - 2989 | - 2990 | - 2991 | - 2992 | - 2993 | - 2994 | - 2995 | - 2996 | - 2997 | - 2998 | - 2999 | - 3000 | - 3001 | - 3002 | - 3003 | - 3004 | - 3005 | - 3006 | -------------------------------------------------------------------------------- /data/mime.pext.column: -------------------------------------------------------------------------------- 1 | - 2 | - 3 | - 4 | - 5 | - 6 | - 7 | - 8 | - 9 | - 10 | - 11 | - 12 | - 13 | - 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | - 41 | - 42 | - 43 | - 44 | - 45 | - 46 | - 47 | - 48 | - 49 | - 50 | - 51 | - 52 | - 53 | - 54 | - 55 | - 56 | - 57 | - 58 | - 59 | - 60 | - 61 | - 62 | - 63 | - 64 | - 65 | - 66 | - 67 | - 68 | - 69 | - 70 | - 71 | - 72 | - 73 | - 74 | - 75 | - 76 | - 77 | - 78 | - 79 | - 80 | - 81 | - 82 | - 83 | - 84 | - 85 | - 86 | - 87 | - 88 | - 89 | - 90 | - 91 | - 92 | - 93 | - 94 | - 95 | - 96 | - 97 | - 98 | - 99 | - 100 | - 101 | - 102 | - 103 | - 104 | - 105 | - 106 | - 107 | - 108 | - 109 | - 110 | - 111 | - 112 | - 113 | - 114 | - 115 | - 116 | - 117 | - 118 | - 119 | - 120 | - 121 | - 122 | - 123 | - 124 | - 125 | - 126 | - 127 | - 128 | - 129 | - 130 | - 131 | - 132 | - 133 | - 134 | - 135 | - 136 | - 137 | - 138 | - 139 | - 140 | - 141 | - 142 | - 143 | - 144 | - 145 | - 146 | - 147 | - 148 | - 149 | - 150 | - 151 | - 152 | - 153 | - 154 | - 155 | - 156 | - 157 | - 158 | - 159 | - 160 | - 161 | - 162 | - 163 | - 164 | - 165 | - 166 | - 167 | - 168 | - 169 | - 170 | - 171 | - 172 | - 173 | - 174 | - 175 | - 176 | - 177 | - 178 | - 179 | - 180 | - 181 | - 182 | - 183 | - 184 | - 185 | - 186 | - 187 | - 188 | - 189 | - 190 | - 191 | - 192 | - 193 | - 194 | - 195 | - 196 | - 197 | - 198 | - 199 | - 200 | - 201 | - 202 | - 203 | - 204 | - 205 | - 206 | - 207 | - 208 | - 209 | - 210 | - 211 | - 212 | - 213 | - 214 | - 215 | - 216 | - 217 | - 218 | - 219 | - 220 | - 221 | - 222 | - 223 | - 224 | - 225 | - 226 | - 227 | - 228 | - 229 | - 230 | - 231 | - 232 | - 233 | - 234 | - 235 | - 236 | - 237 | - 238 | - 239 | - 240 | - 241 | - 242 | - 243 | - 244 | - 245 | - 246 | - 247 | - 248 | - 249 | - 250 | - 251 | - 252 | - 253 | - 254 | - 255 | - 256 | - 257 | - 258 | - 259 | - 260 | - 261 | - 262 | - 263 | - 264 | - 265 | - 266 | - 267 | - 268 | - 269 | - 270 | - 271 | - 272 | - 273 | - 274 | - 275 | - 276 | - 277 | - 278 | - 279 | - 280 | - 281 | - 282 | - 283 | - 284 | - 285 | - 286 | - 287 | - 288 | - 289 | - 290 | - 291 | - 292 | - 293 | - 294 | - 295 | - 296 | - 297 | - 298 | - 299 | - 300 | - 301 | - 302 | - 303 | - 304 | - 305 | - 306 | - 307 | - 308 | - 309 | - 310 | - 311 | - 312 | - 313 | - 314 | - 315 | - 316 | - 317 | - 318 | - 319 | - 320 | - 321 | - 322 | - 323 | - 324 | - 325 | - 326 | - 327 | - 328 | - 329 | - 330 | - 331 | - 332 | - 333 | - 334 | - 335 | - 336 | - 337 | - 338 | - 339 | - 340 | - 341 | - 342 | - 343 | - 344 | - 345 | - 346 | - 347 | - 348 | - 349 | - 350 | - 351 | - 352 | - 353 | - 354 | - 355 | - 356 | - 357 | - 358 | - 359 | - 360 | - 361 | - 362 | - 363 | - 364 | - 365 | - 366 | - 367 | - 368 | - 369 | - 370 | - 371 | - 372 | - 373 | - 374 | - 375 | - 376 | - 377 | - 378 | - 379 | - 380 | - 381 | - 382 | - 383 | - 384 | - 385 | - 386 | - 387 | - 388 | - 389 | - 390 | - 391 | - 392 | - 393 | - 394 | - 395 | - 396 | - 397 | - 398 | - 399 | - 400 | - 401 | - 402 | - 403 | - 404 | - 405 | - 406 | - 407 | - 408 | - 409 | - 410 | - 411 | - 412 | - 413 | - 414 | - 415 | - 416 | - 417 | - 418 | - 419 | - 420 | - 421 | - 422 | - 423 | - 424 | - 425 | - 426 | - 427 | - 428 | - 429 | - 430 | - 431 | - 432 | - 433 | - 434 | - 435 | - 436 | - 437 | - 438 | - 439 | - 440 | - 441 | - 442 | - 443 | - 444 | - 445 | - 446 | - 447 | - 448 | - 449 | - 450 | - 451 | - 452 | - 453 | - 454 | - 455 | - 456 | - 457 | - 458 | - 459 | - 460 | - 461 | - 462 | - 463 | - 464 | - 465 | - 466 | - 467 | - 468 | - 469 | - 470 | - 471 | - 472 | - 473 | - 474 | - 475 | - 476 | - 477 | - 478 | - 479 | - 480 | - 481 | - 482 | - 483 | - 484 | - 485 | - 486 | - 487 | - 488 | - 489 | - 490 | - 491 | - 492 | - 493 | - 494 | - 495 | - 496 | - 497 | - 498 | - 499 | - 500 | - 501 | - 502 | - 503 | - 504 | - 505 | - 506 | - 507 | - 508 | - 509 | - 510 | - 511 | - 512 | - 513 | - 514 | - 515 | - 516 | - 517 | - 518 | - 519 | - 520 | - 521 | - 522 | - 523 | - 524 | - 525 | - 526 | - 527 | - 528 | - 529 | - 530 | - 531 | - 532 | - 533 | - 534 | - 535 | - 536 | - 537 | - 538 | - 539 | - 540 | - 541 | - 542 | - 543 | - 544 | - 545 | - 546 | - 547 | - 548 | - 549 | - 550 | - 551 | - 552 | - 553 | - 554 | - 555 | - 556 | - 557 | - 558 | - 559 | - 560 | - 561 | - 562 | - 563 | - 564 | - 565 | - 566 | - 567 | - 568 | - 569 | - 570 | - 571 | - 572 | - 573 | - 574 | - 575 | - 576 | - 577 | - 578 | - 579 | - 580 | - 581 | - 582 | - 583 | - 584 | - 585 | - 586 | - 587 | - 588 | - 589 | - 590 | - 591 | - 592 | - 593 | - 594 | - 595 | - 596 | - 597 | - 598 | - 599 | - 600 | - 601 | - 602 | - 603 | - 604 | - 605 | - 606 | - 607 | - 608 | - 609 | - 610 | - 611 | - 612 | - 613 | - 614 | - 615 | - 616 | - 617 | - 618 | - 619 | - 620 | - 621 | - 622 | - 623 | - 624 | - 625 | - 626 | - 627 | - 628 | - 629 | - 630 | - 631 | - 632 | - 633 | - 634 | - 635 | - 636 | - 637 | - 638 | - 639 | - 640 | - 641 | - 642 | - 643 | - 644 | - 645 | - 646 | - 647 | - 648 | - 649 | - 650 | - 651 | - 652 | - 653 | - 654 | - 655 | - 656 | - 657 | - 658 | - 659 | - 660 | - 661 | - 662 | - 663 | - 664 | - 665 | - 666 | - 667 | - 668 | - 669 | - 670 | - 671 | - 672 | - 673 | - 674 | - 675 | - 676 | - 677 | - 678 | - 679 | - 680 | - 681 | - 682 | - 683 | - 684 | - 685 | - 686 | - 687 | - 688 | - 689 | - 690 | - 691 | - 692 | - 693 | - 694 | - 695 | - 696 | - 697 | - 698 | - 699 | - 700 | - 701 | - 702 | - 703 | - 704 | - 705 | - 706 | - 707 | - 708 | - 709 | - 710 | - 711 | - 712 | - 713 | - 714 | - 715 | - 716 | - 717 | - 718 | - 719 | - 720 | - 721 | - 722 | - 723 | - 724 | - 725 | - 726 | - 727 | - 728 | - 729 | - 730 | - 731 | - 732 | - 733 | - 734 | - 735 | - 736 | - 737 | - 738 | - 739 | - 740 | - 741 | - 742 | - 743 | - 744 | - 745 | - 746 | - 747 | - 748 | - 749 | - 750 | - 751 | - 752 | - 753 | - 754 | - 755 | - 756 | - 757 | - 758 | - 759 | - 760 | - 761 | - 762 | - 763 | - 764 | - 765 | - 766 | - 767 | - 768 | - 769 | - 770 | - 771 | - 772 | - 773 | - 774 | - 775 | - 776 | - 777 | - 778 | - 779 | - 780 | - 781 | - 782 | - 783 | - 784 | - 785 | - 786 | - 787 | - 788 | - 789 | - 790 | - 791 | - 792 | - 793 | - 794 | - 795 | - 796 | - 797 | - 798 | - 799 | - 800 | - 801 | - 802 | - 803 | - 804 | - 805 | - 806 | - 807 | - 808 | - 809 | - 810 | - 811 | - 812 | - 813 | - 814 | - 815 | - 816 | - 817 | - 818 | - 819 | - 820 | - 821 | - 822 | - 823 | - 824 | - 825 | - 826 | - 827 | - 828 | - 829 | - 830 | - 831 | - 832 | - 833 | - 834 | - 835 | - 836 | - 837 | - 838 | - 839 | - 840 | - 841 | - 842 | - 843 | - 844 | - 845 | - 846 | - 847 | - 848 | - 849 | - 850 | - 851 | - 852 | - 853 | - 854 | - 855 | - 856 | - 857 | - 858 | - 859 | - 860 | - 861 | - 862 | - 863 | - 864 | - 865 | - 866 | - 867 | - 868 | - 869 | - 870 | - 871 | - 872 | - 873 | - 874 | - 875 | - 876 | - 877 | - 878 | - 879 | - 880 | - 881 | - 882 | - 883 | - 884 | - 885 | - 886 | - 887 | - 888 | - 889 | - 890 | - 891 | - 892 | - 893 | - 894 | - 895 | - 896 | - 897 | - 898 | - 899 | - 900 | - 901 | - 902 | - 903 | - 904 | - 905 | - 906 | - 907 | - 908 | - 909 | - 910 | - 911 | - 912 | - 913 | - 914 | - 915 | - 916 | - 917 | - 918 | - 919 | - 920 | - 921 | - 922 | - 923 | - 924 | - 925 | - 926 | - 927 | - 928 | - 929 | - 930 | - 931 | - 932 | - 933 | - 934 | - 935 | - 936 | - 937 | - 938 | - 939 | - 940 | - 941 | - 942 | - 943 | - 944 | - 945 | - 946 | - 947 | - 948 | - 949 | - 950 | - 951 | - 952 | - 953 | - 954 | - 955 | - 956 | - 957 | - 958 | - 959 | - 960 | - 961 | - 962 | - 963 | - 964 | - 965 | - 966 | - 967 | - 968 | - 969 | - 970 | - 971 | - 972 | - 973 | - 974 | - 975 | - 976 | - 977 | - 978 | - 979 | - 980 | - 981 | - 982 | - 983 | - 984 | - 985 | - 986 | - 987 | - 988 | - 989 | - 990 | - 991 | - 992 | - 993 | - 994 | - 995 | - 996 | - 997 | - 998 | - 999 | - 1000 | - 1001 | - 1002 | - 1003 | - 1004 | - 1005 | - 1006 | - 1007 | - 1008 | - 1009 | - 1010 | - 1011 | - 1012 | - 1013 | - 1014 | - 1015 | - 1016 | - 1017 | - 1018 | - 1019 | - 1020 | - 1021 | - 1022 | - 1023 | - 1024 | - 1025 | - 1026 | - 1027 | - 1028 | - 1029 | - 1030 | - 1031 | - 1032 | - 1033 | - 1034 | - 1035 | - 1036 | - 1037 | - 1038 | - 1039 | - 1040 | - 1041 | - 1042 | - 1043 | - 1044 | - 1045 | - 1046 | - 1047 | - 1048 | - 1049 | - 1050 | - 1051 | - 1052 | - 1053 | - 1054 | - 1055 | - 1056 | - 1057 | - 1058 | - 1059 | - 1060 | - 1061 | - 1062 | - 1063 | - 1064 | - 1065 | - 1066 | - 1067 | - 1068 | - 1069 | - 1070 | - 1071 | - 1072 | - 1073 | - 1074 | - 1075 | - 1076 | - 1077 | - 1078 | - 1079 | - 1080 | - 1081 | - 1082 | - 1083 | - 1084 | - 1085 | - 1086 | - 1087 | - 1088 | - 1089 | - 1090 | - 1091 | - 1092 | - 1093 | - 1094 | - 1095 | - 1096 | - 1097 | - 1098 | - 1099 | - 1100 | - 1101 | - 1102 | - 1103 | - 1104 | - 1105 | - 1106 | - 1107 | - 1108 | - 1109 | - 1110 | - 1111 | - 1112 | - 1113 | - 1114 | - 1115 | - 1116 | - 1117 | - 1118 | - 1119 | - 1120 | - 1121 | - 1122 | - 1123 | - 1124 | - 1125 | - 1126 | - 1127 | - 1128 | - 1129 | - 1130 | - 1131 | - 1132 | - 1133 | - 1134 | - 1135 | - 1136 | - 1137 | - 1138 | - 1139 | - 1140 | - 1141 | - 1142 | - 1143 | - 1144 | - 1145 | - 1146 | - 1147 | - 1148 | - 1149 | - 1150 | - 1151 | - 1152 | - 1153 | - 1154 | - 1155 | - 1156 | - 1157 | - 1158 | - 1159 | - 1160 | - 1161 | - 1162 | - 1163 | - 1164 | - 1165 | - 1166 | - 1167 | - 1168 | - 1169 | - 1170 | - 1171 | - 1172 | - 1173 | - 1174 | - 1175 | - 1176 | - 1177 | - 1178 | - 1179 | - 1180 | - 1181 | - 1182 | - 1183 | - 1184 | - 1185 | - 1186 | - 1187 | - 1188 | - 1189 | - 1190 | - 1191 | - 1192 | - 1193 | - 1194 | - 1195 | - 1196 | - 1197 | - 1198 | - 1199 | - 1200 | - 1201 | - 1202 | - 1203 | - 1204 | - 1205 | - 1206 | - 1207 | - 1208 | - 1209 | - 1210 | - 1211 | - 1212 | - 1213 | - 1214 | - 1215 | - 1216 | - 1217 | - 1218 | - 1219 | - 1220 | - 1221 | - 1222 | - 1223 | - 1224 | - 1225 | - 1226 | - 1227 | - 1228 | - 1229 | - 1230 | - 1231 | - 1232 | - 1233 | - 1234 | - 1235 | - 1236 | - 1237 | - 1238 | - 1239 | - 1240 | - 1241 | - 1242 | - 1243 | - 1244 | - 1245 | - 1246 | - 1247 | - 1248 | - 1249 | - 1250 | - 1251 | - 1252 | - 1253 | - 1254 | - 1255 | - 1256 | - 1257 | - 1258 | - 1259 | - 1260 | - 1261 | - 1262 | - 1263 | - 1264 | - 1265 | - 1266 | - 1267 | - 1268 | - 1269 | - 1270 | - 1271 | - 1272 | - 1273 | - 1274 | - 1275 | - 1276 | - 1277 | - 1278 | - 1279 | - 1280 | - 1281 | - 1282 | - 1283 | - 1284 | - 1285 | - 1286 | - 1287 | - 1288 | - 1289 | - 1290 | - 1291 | - 1292 | - 1293 | - 1294 | - 1295 | - 1296 | - 1297 | - 1298 | - 1299 | - 1300 | - 1301 | - 1302 | - 1303 | - 1304 | - 1305 | - 1306 | - 1307 | - 1308 | - 1309 | - 1310 | - 1311 | - 1312 | - 1313 | - 1314 | - 1315 | - 1316 | - 1317 | - 1318 | - 1319 | - 1320 | - 1321 | - 1322 | - 1323 | - 1324 | - 1325 | - 1326 | - 1327 | - 1328 | - 1329 | - 1330 | - 1331 | - 1332 | - 1333 | - 1334 | - 1335 | - 1336 | - 1337 | - 1338 | - 1339 | - 1340 | - 1341 | - 1342 | - 1343 | - 1344 | - 1345 | - 1346 | - 1347 | - 1348 | - 1349 | - 1350 | - 1351 | - 1352 | - 1353 | - 1354 | - 1355 | - 1356 | - 1357 | - 1358 | - 1359 | - 1360 | - 1361 | - 1362 | - 1363 | - 1364 | - 1365 | - 1366 | - 1367 | - 1368 | - 1369 | - 1370 | - 1371 | - 1372 | - 1373 | - 1374 | - 1375 | - 1376 | - 1377 | - 1378 | - 1379 | - 1380 | - 1381 | - 1382 | - 1383 | - 1384 | - 1385 | - 1386 | - 1387 | - 1388 | - 1389 | - 1390 | - 1391 | - 1392 | - 1393 | - 1394 | - 1395 | - 1396 | - 1397 | - 1398 | - 1399 | - 1400 | - 1401 | - 1402 | - 1403 | - 1404 | - 1405 | - 1406 | - 1407 | - 1408 | - 1409 | - 1410 | - 1411 | - 1412 | - 1413 | - 1414 | - 1415 | - 1416 | - 1417 | - 1418 | - 1419 | - 1420 | - 1421 | - 1422 | - 1423 | - 1424 | - 1425 | - 1426 | - 1427 | - 1428 | - 1429 | - 1430 | - 1431 | - 1432 | - 1433 | - 1434 | - 1435 | - 1436 | - 1437 | - 1438 | - 1439 | - 1440 | - 1441 | - 1442 | - 1443 | - 1444 | - 1445 | - 1446 | - 1447 | - 1448 | - 1449 | - 1450 | - 1451 | - 1452 | - 1453 | - 1454 | - 1455 | - 1456 | - 1457 | - 1458 | - 1459 | - 1460 | - 1461 | - 1462 | - 1463 | - 1464 | - 1465 | - 1466 | - 1467 | - 1468 | - 1469 | - 1470 | - 1471 | - 1472 | - 1473 | - 1474 | - 1475 | - 1476 | - 1477 | - 1478 | - 1479 | - 1480 | - 1481 | - 1482 | - 1483 | - 1484 | - 1485 | - 1486 | - 1487 | - 1488 | - 1489 | - 1490 | - 1491 | - 1492 | - 1493 | - 1494 | - 1495 | - 1496 | - 1497 | - 1498 | - 1499 | - 1500 | - 1501 | - 1502 | - 1503 | - 1504 | - 1505 | - 1506 | - 1507 | - 1508 | - 1509 | - 1510 | - 1511 | - 1512 | - 1513 | - 1514 | - 1515 | - 1516 | - 1517 | - 1518 | - 1519 | - 1520 | - 1521 | - 1522 | - 1523 | - 1524 | - 1525 | - 1526 | - 1527 | - 1528 | - 1529 | - 1530 | - 1531 | - 1532 | - 1533 | - 1534 | - 1535 | - 1536 | - 1537 | - 1538 | - 1539 | - 1540 | - 1541 | - 1542 | - 1543 | - 1544 | - 1545 | - 1546 | - 1547 | - 1548 | - 1549 | - 1550 | - 1551 | - 1552 | - 1553 | - 1554 | - 1555 | - 1556 | - 1557 | - 1558 | - 1559 | - 1560 | - 1561 | - 1562 | - 1563 | - 1564 | - 1565 | - 1566 | - 1567 | - 1568 | - 1569 | - 1570 | - 1571 | - 1572 | - 1573 | - 1574 | - 1575 | - 1576 | - 1577 | - 1578 | - 1579 | - 1580 | - 1581 | - 1582 | - 1583 | - 1584 | - 1585 | - 1586 | - 1587 | - 1588 | - 1589 | - 1590 | - 1591 | - 1592 | - 1593 | - 1594 | - 1595 | - 1596 | - 1597 | - 1598 | - 1599 | - 1600 | - 1601 | - 1602 | - 1603 | - 1604 | - 1605 | - 1606 | - 1607 | - 1608 | - 1609 | - 1610 | - 1611 | - 1612 | - 1613 | - 1614 | - 1615 | - 1616 | - 1617 | - 1618 | - 1619 | - 1620 | - 1621 | - 1622 | - 1623 | - 1624 | - 1625 | - 1626 | - 1627 | - 1628 | - 1629 | - 1630 | - 1631 | - 1632 | - 1633 | - 1634 | - 1635 | - 1636 | - 1637 | - 1638 | - 1639 | - 1640 | - 1641 | - 1642 | - 1643 | - 1644 | - 1645 | - 1646 | - 1647 | - 1648 | - 1649 | - 1650 | - 1651 | - 1652 | - 1653 | - 1654 | - 1655 | - 1656 | - 1657 | - 1658 | - 1659 | - 1660 | - 1661 | - 1662 | - 1663 | - 1664 | - 1665 | - 1666 | - 1667 | - 1668 | - 1669 | - 1670 | - 1671 | - 1672 | - 1673 | - 1674 | - 1675 | - 1676 | - 1677 | - 1678 | - 1679 | - 1680 | - 1681 | - 1682 | - 1683 | - 1684 | - 1685 | - 1686 | - 1687 | - 1688 | - 1689 | - 1690 | - 1691 | - 1692 | - 1693 | - 1694 | - 1695 | - 1696 | - 1697 | - 1698 | - 1699 | - 1700 | - 1701 | - 1702 | - 1703 | - 1704 | - 1705 | - 1706 | - 1707 | - 1708 | - 1709 | - 1710 | - 1711 | - 1712 | - 1713 | - 1714 | - 1715 | - 1716 | - 1717 | - 1718 | - 1719 | - 1720 | - 1721 | - 1722 | - 1723 | - 1724 | - 1725 | - 1726 | - 1727 | - 1728 | - 1729 | - 1730 | - 1731 | - 1732 | - 1733 | - 1734 | - 1735 | - 1736 | - 1737 | - 1738 | - 1739 | - 1740 | - 1741 | - 1742 | - 1743 | - 1744 | - 1745 | - 1746 | - 1747 | - 1748 | - 1749 | - 1750 | - 1751 | - 1752 | - 1753 | - 1754 | - 1755 | - 1756 | - 1757 | - 1758 | - 1759 | - 1760 | - 1761 | - 1762 | - 1763 | - 1764 | - 1765 | - 1766 | - 1767 | - 1768 | - 1769 | - 1770 | - 1771 | - 1772 | - 1773 | - 1774 | - 1775 | - 1776 | - 1777 | - 1778 | - 1779 | - 1780 | - 1781 | - 1782 | - 1783 | - 1784 | - 1785 | - 1786 | - 1787 | - 1788 | - 1789 | - 1790 | - 1791 | - 1792 | - 1793 | - 1794 | - 1795 | - 1796 | - 1797 | - 1798 | - 1799 | - 1800 | - 1801 | - 1802 | - 1803 | - 1804 | - 1805 | - 1806 | - 1807 | - 1808 | - 1809 | - 1810 | - 1811 | - 1812 | - 1813 | - 1814 | - 1815 | - 1816 | - 1817 | - 1818 | - 1819 | - 1820 | - 1821 | - 1822 | - 1823 | - 1824 | - 1825 | - 1826 | - 1827 | - 1828 | - 1829 | - 1830 | - 1831 | - 1832 | - 1833 | - 1834 | - 1835 | - 1836 | - 1837 | - 1838 | - 1839 | - 1840 | - 1841 | - 1842 | - 1843 | - 1844 | - 1845 | - 1846 | - 1847 | - 1848 | - 1849 | - 1850 | - 1851 | - 1852 | - 1853 | - 1854 | - 1855 | - 1856 | - 1857 | - 1858 | - 1859 | - 1860 | - 1861 | - 1862 | - 1863 | - 1864 | - 1865 | - 1866 | - 1867 | - 1868 | - 1869 | - 1870 | - 1871 | - 1872 | - 1873 | - 1874 | - 1875 | - 1876 | - 1877 | - 1878 | - 1879 | - 1880 | - 1881 | - 1882 | - 1883 | - 1884 | - 1885 | - 1886 | - 1887 | - 1888 | - 1889 | - 1890 | - 1891 | - 1892 | - 1893 | - 1894 | - 1895 | - 1896 | - 1897 | - 1898 | - 1899 | - 1900 | - 1901 | - 1902 | - 1903 | - 1904 | - 1905 | - 1906 | - 1907 | - 1908 | - 1909 | - 1910 | - 1911 | - 1912 | - 1913 | - 1914 | - 1915 | - 1916 | - 1917 | - 1918 | - 1919 | - 1920 | - 1921 | - 1922 | - 1923 | - 1924 | - 1925 | - 1926 | - 1927 | - 1928 | - 1929 | - 1930 | - 1931 | - 1932 | - 1933 | - 1934 | - 1935 | - 1936 | - 1937 | - 1938 | - 1939 | - 1940 | - 1941 | - 1942 | - 1943 | - 1944 | - 1945 | - 1946 | - 1947 | - 1948 | - 1949 | - 1950 | - 1951 | - 1952 | - 1953 | - 1954 | - 1955 | - 1956 | - 1957 | - 1958 | - 1959 | - 1960 | - 1961 | - 1962 | - 1963 | - 1964 | - 1965 | - 1966 | - 1967 | - 1968 | - 1969 | - 1970 | - 1971 | - 1972 | - 1973 | - 1974 | - 1975 | - 1976 | - 1977 | - 1978 | - 1979 | - 1980 | - 1981 | - 1982 | - 1983 | - 1984 | - 1985 | - 1986 | - 1987 | - 1988 | - 1989 | - 1990 | - 1991 | - 1992 | - 1993 | - 1994 | - 1995 | - 1996 | - 1997 | - 1998 | - 1999 | - 2000 | - 2001 | - 2002 | - 2003 | - 2004 | - 2005 | - 2006 | - 2007 | - 2008 | - 2009 | - 2010 | - 2011 | - 2012 | - 2013 | - 2014 | - 2015 | - 2016 | - 2017 | - 2018 | - 2019 | - 2020 | - 2021 | - 2022 | - 2023 | - 2024 | - 2025 | - 2026 | - 2027 | - 2028 | - 2029 | - 2030 | - 2031 | - 2032 | - 2033 | - 2034 | - 2035 | - 2036 | - 2037 | - 2038 | - 2039 | - 2040 | - 2041 | - 2042 | - 2043 | - 2044 | - 2045 | - 2046 | - 2047 | - 2048 | - 2049 | - 2050 | - 2051 | - 2052 | - 2053 | - 2054 | - 2055 | - 2056 | - 2057 | - 2058 | - 2059 | - 2060 | - 2061 | - 2062 | - 2063 | - 2064 | - 2065 | - 2066 | - 2067 | - 2068 | - 2069 | - 2070 | - 2071 | - 2072 | - 2073 | - 2074 | - 2075 | - 2076 | - 2077 | - 2078 | - 2079 | - 2080 | - 2081 | - 2082 | - 2083 | - 2084 | - 2085 | - 2086 | - 2087 | - 2088 | - 2089 | - 2090 | - 2091 | - 2092 | - 2093 | - 2094 | - 2095 | - 2096 | - 2097 | - 2098 | - 2099 | - 2100 | - 2101 | - 2102 | - 2103 | - 2104 | - 2105 | - 2106 | - 2107 | - 2108 | - 2109 | - 2110 | - 2111 | - 2112 | - 2113 | - 2114 | - 2115 | - 2116 | - 2117 | - 2118 | - 2119 | - 2120 | - 2121 | - 2122 | - 2123 | - 2124 | - 2125 | - 2126 | - 2127 | - 2128 | - 2129 | - 2130 | - 2131 | - 2132 | - 2133 | - 2134 | - 2135 | - 2136 | - 2137 | - 2138 | - 2139 | - 2140 | - 2141 | - 2142 | - 2143 | - 2144 | - 2145 | - 2146 | - 2147 | - 2148 | - 2149 | - 2150 | - 2151 | - 2152 | - 2153 | - 2154 | - 2155 | - 2156 | - 2157 | - 2158 | - 2159 | - 2160 | - 2161 | - 2162 | - 2163 | - 2164 | - 2165 | - 2166 | - 2167 | - 2168 | - 2169 | - 2170 | - 2171 | - 2172 | - 2173 | - 2174 | - 2175 | - 2176 | - 2177 | - 2178 | - 2179 | - 2180 | - 2181 | - 2182 | - 2183 | - 2184 | - 2185 | - 2186 | - 2187 | - 2188 | - 2189 | - 2190 | - 2191 | - 2192 | - 2193 | - 2194 | - 2195 | - 2196 | - 2197 | - 2198 | - 2199 | - 2200 | - 2201 | - 2202 | - 2203 | - 2204 | - 2205 | - 2206 | - 2207 | - 2208 | - 2209 | - 2210 | - 2211 | - 2212 | - 2213 | - 2214 | - 2215 | - 2216 | - 2217 | - 2218 | - 2219 | - 2220 | - 2221 | - 2222 | - 2223 | - 2224 | - 2225 | - 2226 | - 2227 | - 2228 | - 2229 | - 2230 | - 2231 | - 2232 | - 2233 | - 2234 | - 2235 | - 2236 | - 2237 | - 2238 | - 2239 | - 2240 | - 2241 | - 2242 | - 2243 | - 2244 | - 2245 | - 2246 | - 2247 | - 2248 | - 2249 | - 2250 | - 2251 | - 2252 | - 2253 | - 2254 | - 2255 | - 2256 | - 2257 | - 2258 | - 2259 | - 2260 | - 2261 | - 2262 | - 2263 | - 2264 | - 2265 | - 2266 | - 2267 | - 2268 | - 2269 | - 2270 | - 2271 | - 2272 | - 2273 | - 2274 | - 2275 | - 2276 | - 2277 | - 2278 | - 2279 | - 2280 | - 2281 | - 2282 | - 2283 | - 2284 | - 2285 | - 2286 | - 2287 | - 2288 | - 2289 | - 2290 | - 2291 | - 2292 | - 2293 | - 2294 | - 2295 | - 2296 | - 2297 | - 2298 | - 2299 | - 2300 | - 2301 | - 2302 | - 2303 | - 2304 | - 2305 | - 2306 | - 2307 | - 2308 | - 2309 | - 2310 | - 2311 | - 2312 | - 2313 | - 2314 | - 2315 | - 2316 | - 2317 | - 2318 | - 2319 | - 2320 | - 2321 | - 2322 | - 2323 | - 2324 | - 2325 | - 2326 | - 2327 | - 2328 | - 2329 | - 2330 | - 2331 | - 2332 | - 2333 | - 2334 | - 2335 | - 2336 | - 2337 | - 2338 | - 2339 | - 2340 | - 2341 | - 2342 | - 2343 | - 2344 | - 2345 | - 2346 | - 2347 | - 2348 | - 2349 | - 2350 | - 2351 | - 2352 | - 2353 | - 2354 | - 2355 | - 2356 | - 2357 | - 2358 | - 2359 | - 2360 | - 2361 | - 2362 | - 2363 | - 2364 | - 2365 | - 2366 | - 2367 | - 2368 | - 2369 | - 2370 | - 2371 | - 2372 | - 2373 | - 2374 | - 2375 | - 2376 | - 2377 | - 2378 | - 2379 | - 2380 | - 2381 | - 2382 | - 2383 | - 2384 | - 2385 | - 2386 | - 2387 | - 2388 | - 2389 | - 2390 | - 2391 | - 2392 | - 2393 | - 2394 | - 2395 | - 2396 | - 2397 | - 2398 | - 2399 | - 2400 | - 2401 | - 2402 | - 2403 | - 2404 | - 2405 | - 2406 | - 2407 | - 2408 | - 2409 | - 2410 | - 2411 | - 2412 | - 2413 | - 2414 | - 2415 | - 2416 | - 2417 | - 2418 | - 2419 | - 2420 | - 2421 | - 2422 | - 2423 | - 2424 | - 2425 | - 2426 | - 2427 | - 2428 | - 2429 | - 2430 | - 2431 | - 2432 | - 2433 | - 2434 | - 2435 | - 2436 | - 2437 | - 2438 | - 2439 | - 2440 | - 2441 | - 2442 | - 2443 | - 2444 | - 2445 | - 2446 | - 2447 | - 2448 | - 2449 | - 2450 | - 2451 | - 2452 | - 2453 | - 2454 | - 2455 | - 2456 | - 2457 | - 2458 | - 2459 | - 2460 | - 2461 | - 2462 | - 2463 | - 2464 | - 2465 | - 2466 | - 2467 | - 2468 | - 2469 | - 2470 | - 2471 | - 2472 | - 2473 | - 2474 | - 2475 | - 2476 | - 2477 | - 2478 | - 2479 | - 2480 | - 2481 | - 2482 | - 2483 | - 2484 | - 2485 | - 2486 | - 2487 | - 2488 | - 2489 | - 2490 | - 2491 | - 2492 | - 2493 | - 2494 | - 2495 | - 2496 | - 2497 | - 2498 | - 2499 | - 2500 | - 2501 | - 2502 | - 2503 | - 2504 | - 2505 | - 2506 | - 2507 | - 2508 | - 2509 | - 2510 | - 2511 | - 2512 | - 2513 | - 2514 | - 2515 | - 2516 | - 2517 | - 2518 | - 2519 | - 2520 | - 2521 | - 2522 | - 2523 | - 2524 | - 2525 | - 2526 | - 2527 | - 2528 | - 2529 | - 2530 | - 2531 | - 2532 | - 2533 | - 2534 | - 2535 | - 2536 | - 2537 | - 2538 | - 2539 | - 2540 | - 2541 | - 2542 | - 2543 | - 2544 | - 2545 | - 2546 | - 2547 | - 2548 | - 2549 | - 2550 | - 2551 | - 2552 | - 2553 | - 2554 | - 2555 | - 2556 | - 2557 | - 2558 | - 2559 | - 2560 | - 2561 | - 2562 | - 2563 | - 2564 | - 2565 | - 2566 | - 2567 | - 2568 | - 2569 | - 2570 | - 2571 | - 2572 | - 2573 | - 2574 | - 2575 | - 2576 | - 2577 | - 2578 | - 2579 | - 2580 | - 2581 | - 2582 | - 2583 | - 2584 | - 2585 | - 2586 | - 2587 | - 2588 | - 2589 | - 2590 | - 2591 | - 2592 | - 2593 | - 2594 | - 2595 | - 2596 | - 2597 | - 2598 | - 2599 | - 2600 | - 2601 | - 2602 | - 2603 | - 2604 | - 2605 | - 2606 | - 2607 | - 2608 | - 2609 | - 2610 | - 2611 | - 2612 | - 2613 | - 2614 | - 2615 | - 2616 | - 2617 | - 2618 | - 2619 | - 2620 | - 2621 | - 2622 | - 2623 | - 2624 | - 2625 | - 2626 | - 2627 | - 2628 | - 2629 | - 2630 | - 2631 | - 2632 | - 2633 | - 2634 | - 2635 | - 2636 | - 2637 | - 2638 | - 2639 | - 2640 | - 2641 | - 2642 | - 2643 | - 2644 | - 2645 | - 2646 | - 2647 | - 2648 | - 2649 | - 2650 | - 2651 | - 2652 | - 2653 | - 2654 | - 2655 | - 2656 | - 2657 | - 2658 | - 2659 | - 2660 | - 2661 | - 2662 | - 2663 | - 2664 | - 2665 | - 2666 | - 2667 | - 2668 | - 2669 | - 2670 | - 2671 | - 2672 | - 2673 | - 2674 | - 2675 | - 2676 | - 2677 | - 2678 | - 2679 | - 2680 | - 2681 | - 2682 | - 2683 | - 2684 | - 2685 | - 2686 | - 2687 | - 2688 | - 2689 | - 2690 | - 2691 | - 2692 | - 2693 | - 2694 | - 2695 | - 2696 | - 2697 | - 2698 | - 2699 | - 2700 | - 2701 | - 2702 | - 2703 | - 2704 | - 2705 | - 2706 | - 2707 | - 2708 | - 2709 | - 2710 | - 2711 | - 2712 | - 2713 | - 2714 | - 2715 | - 2716 | - 2717 | - 2718 | - 2719 | - 2720 | - 2721 | - 2722 | - 2723 | - 2724 | - 2725 | - 2726 | - 2727 | - 2728 | - 2729 | - 2730 | - 2731 | - 2732 | - 2733 | - 2734 | - 2735 | - 2736 | - 2737 | - 2738 | - 2739 | - 2740 | - 2741 | - 2742 | - 2743 | - 2744 | - 2745 | - 2746 | - 2747 | - 2748 | - 2749 | - 2750 | - 2751 | - 2752 | - 2753 | - 2754 | - 2755 | - 2756 | - 2757 | - 2758 | - 2759 | - 2760 | - 2761 | - 2762 | - 2763 | - 2764 | - 2765 | - 2766 | - 2767 | - 2768 | - 2769 | - 2770 | - 2771 | - 2772 | - 2773 | - 2774 | - 2775 | - 2776 | - 2777 | - 2778 | - 2779 | - 2780 | - 2781 | - 2782 | - 2783 | - 2784 | - 2785 | - 2786 | - 2787 | - 2788 | - 2789 | - 2790 | - 2791 | - 2792 | - 2793 | - 2794 | - 2795 | - 2796 | - 2797 | - 2798 | - 2799 | - 2800 | - 2801 | - 2802 | - 2803 | - 2804 | - 2805 | - 2806 | - 2807 | - 2808 | - 2809 | - 2810 | - 2811 | - 2812 | - 2813 | - 2814 | - 2815 | - 2816 | - 2817 | - 2818 | - 2819 | - 2820 | - 2821 | - 2822 | - 2823 | - 2824 | - 2825 | - 2826 | - 2827 | - 2828 | - 2829 | - 2830 | - 2831 | - 2832 | - 2833 | - 2834 | - 2835 | - 2836 | - 2837 | - 2838 | - 2839 | - 2840 | - 2841 | - 2842 | - 2843 | - 2844 | - 2845 | - 2846 | - 2847 | - 2848 | - 2849 | - 2850 | - 2851 | - 2852 | - 2853 | - 2854 | - 2855 | - 2856 | - 2857 | - 2858 | - 2859 | - 2860 | - 2861 | - 2862 | - 2863 | - 2864 | - 2865 | - 2866 | - 2867 | - 2868 | - 2869 | - 2870 | - 2871 | - 2872 | - 2873 | - 2874 | - 2875 | - 2876 | - 2877 | - 2878 | - 2879 | - 2880 | - 2881 | - 2882 | - 2883 | - 2884 | - 2885 | - 2886 | - 2887 | - 2888 | - 2889 | - 2890 | - 2891 | - 2892 | - 2893 | - 2894 | - 2895 | - 2896 | - 2897 | - 2898 | - 2899 | - 2900 | - 2901 | - 2902 | - 2903 | - 2904 | - 2905 | - 2906 | - 2907 | - 2908 | - 2909 | - 2910 | - 2911 | - 2912 | - 2913 | - 2914 | - 2915 | - 2916 | - 2917 | - 2918 | - 2919 | - 2920 | - 2921 | - 2922 | - 2923 | - 2924 | - 2925 | - 2926 | - 2927 | - 2928 | - 2929 | - 2930 | - 2931 | - 2932 | - 2933 | - 2934 | - 2935 | - 2936 | - 2937 | - 2938 | - 2939 | - 2940 | - 2941 | - 2942 | - 2943 | - 2944 | - 2945 | - 2946 | - 2947 | - 2948 | - 2949 | - 2950 | - 2951 | - 2952 | - 2953 | - 2954 | - 2955 | - 2956 | - 2957 | - 2958 | - 2959 | - 2960 | - 2961 | - 2962 | - 2963 | - 2964 | - 2965 | - 2966 | - 2967 | - 2968 | - 2969 | - 2970 | - 2971 | - 2972 | - 2973 | - 2974 | - 2975 | - 2976 | - 2977 | - 2978 | - 2979 | - 2980 | - 2981 | - 2982 | - 2983 | - 2984 | - 2985 | - 2986 | - 2987 | - 2988 | - 2989 | - 2990 | - 2991 | - 2992 | - 2993 | - 2994 | - 2995 | - 2996 | - 2997 | - 2998 | - 2999 | - 3000 | - 3001 | - 3002 | - 3003 | - 3004 | - 3005 | - 3006 | -------------------------------------------------------------------------------- /data/mime.spri.column: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mime-types/mime-types-data/c3537c8c1ed51a7c91df744114386a2092f79045/data/mime.spri.column -------------------------------------------------------------------------------- /data/mime.use_instead.column: -------------------------------------------------------------------------------- 1 | - 2 | - 3 | - 4 | - 5 | - 6 | - 7 | - 8 | - 9 | application/x-msaccess 10 | - 11 | - 12 | - 13 | - 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | - 41 | - 42 | - 43 | - 44 | - 45 | - 46 | - 47 | - 48 | - 49 | - 50 | - 51 | - 52 | - 53 | - 54 | - 55 | - 56 | - 57 | - 58 | - 59 | - 60 | - 61 | - 62 | - 63 | - 64 | application/x-bleeper 65 | - 66 | - 67 | - 68 | - 69 | - 70 | - 71 | application/cals-1840 72 | - 73 | - 74 | - 75 | - 76 | - 77 | - 78 | - 79 | - 80 | - 81 | - 82 | - 83 | - 84 | - 85 | - 86 | - 87 | - 88 | - 89 | - 90 | - 91 | - 92 | - 93 | - 94 | - 95 | - 96 | - 97 | - 98 | - 99 | - 100 | - 101 | - 102 | - 103 | - 104 | - 105 | - 106 | - 107 | - 108 | - 109 | - 110 | - 111 | - 112 | - 113 | - 114 | - 115 | - 116 | - 117 | - 118 | - 119 | - 120 | - 121 | - 122 | - 123 | - 124 | - 125 | - 126 | - 127 | - 128 | - 129 | - 130 | - 131 | - 132 | - 133 | - 134 | - 135 | - 136 | - 137 | - 138 | - 139 | - 140 | - 141 | - 142 | - 143 | - 144 | - 145 | - 146 | - 147 | - 148 | - 149 | - 150 | - 151 | - 152 | - 153 | - 154 | - 155 | - 156 | - 157 | - 158 | - 159 | - 160 | - 161 | - 162 | text/javascript 163 | - 164 | - 165 | - 166 | - 167 | - 168 | - 169 | - 170 | - 171 | - 172 | - 173 | - 174 | - 175 | - 176 | - 177 | - 178 | - 179 | - 180 | - 181 | - 182 | - 183 | - 184 | - 185 | - 186 | - 187 | - 188 | - 189 | application/vnd.ms-excel 190 | - 191 | - 192 | - 193 | - 194 | - 195 | - 196 | - 197 | - 198 | - 199 | - 200 | - 201 | font/sfnt 202 | - 203 | font/woff 204 | - 205 | - 206 | application/x-futuresplash 207 | - 208 | - 209 | - 210 | - 211 | - 212 | - 213 | application/x-ghostview 214 | - 215 | - 216 | - 217 | - 218 | - 219 | - 220 | - 221 | - 222 | - 223 | - 224 | - 225 | - 226 | application/x-hep 227 | - 228 | - 229 | - 230 | - 231 | - 232 | - 233 | - 234 | - 235 | - 236 | - 237 | - 238 | - 239 | application/x-imagemap 240 | - 241 | - 242 | - 243 | - 244 | - 245 | - 246 | - 247 | - 248 | - 249 | - 250 | - 251 | - 252 | - 253 | - 254 | - 255 | - 256 | text/javascript 257 | - 258 | - 259 | - 260 | - 261 | - 262 | - 263 | - 264 | - 265 | - 266 | - 267 | - 268 | - 269 | - 270 | - 271 | - 272 | - 273 | - 274 | - 275 | - 276 | - 277 | - 278 | - 279 | - 280 | - 281 | - 282 | - 283 | - 284 | - 285 | - 286 | application/vnd.lotus-1-2-3 287 | - 288 | - 289 | - 290 | application/x-mac-compactpro 291 | - 292 | - 293 | - 294 | - 295 | - 296 | - 297 | application/vnd.mcd 298 | - 299 | application/x-mathematica-old 300 | - 301 | - 302 | - 303 | - 304 | - 305 | - 306 | - 307 | - 308 | - 309 | - 310 | - 311 | - 312 | - 313 | - 314 | - 315 | - 316 | - 317 | - 318 | - 319 | - 320 | - 321 | - 322 | - 323 | - 324 | - 325 | - 326 | - 327 | - 328 | - 329 | - 330 | - 331 | - 332 | - 333 | - 334 | - 335 | - 336 | - 337 | - 338 | - 339 | - 340 | - 341 | - 342 | - 343 | - 344 | - 345 | - 346 | - 347 | - 348 | - 349 | - 350 | - 351 | - 352 | - 353 | - 354 | - 355 | - 356 | - 357 | - 358 | - 359 | - 360 | - 361 | - 362 | - 363 | - 364 | - 365 | - 366 | - 367 | - 368 | - 369 | - 370 | - 371 | - 372 | - 373 | - 374 | - 375 | - 376 | - 377 | - 378 | - 379 | - 380 | - 381 | - 382 | - 383 | - 384 | - 385 | - 386 | - 387 | - 388 | - 389 | - 390 | - 391 | - 392 | - 393 | - 394 | - 395 | - 396 | - 397 | - 398 | - 399 | - 400 | - 401 | - 402 | - 403 | - 404 | - 405 | - 406 | - 407 | - 408 | - 409 | - 410 | - 411 | - 412 | - 413 | - 414 | - 415 | - 416 | - 417 | - 418 | - 419 | - 420 | - 421 | - 422 | - 423 | - 424 | - 425 | - 426 | - 427 | - 428 | - 429 | - 430 | - 431 | - 432 | - 433 | - 434 | - 435 | - 436 | - 437 | - 438 | - 439 | application/x-quicktimeplayer 440 | - 441 | - 442 | - 443 | - 444 | - 445 | - 446 | application/remote-printing 447 | - 448 | - 449 | - 450 | - 451 | - 452 | - 453 | - 454 | - 455 | - 456 | - 457 | - 458 | - 459 | - 460 | - 461 | - 462 | - 463 | - 464 | - 465 | - 466 | - 467 | - 468 | - 469 | - 470 | - 471 | - 472 | - 473 | - 474 | - 475 | - 476 | - 477 | - 478 | - 479 | - 480 | - 481 | - 482 | - 483 | - 484 | - 485 | - 486 | - 487 | - 488 | - 489 | - 490 | - 491 | - 492 | - 493 | - 494 | - 495 | - 496 | - 497 | - 498 | - 499 | - 500 | - 501 | - 502 | - 503 | - 504 | - 505 | - 506 | - 507 | - 508 | - 509 | - 510 | - 511 | - 512 | - 513 | - 514 | - 515 | - 516 | - 517 | - 518 | - 519 | - 520 | - 521 | application/smil+xml 522 | - 523 | - 524 | - 525 | - 526 | - 527 | - 528 | - 529 | - 530 | - 531 | - 532 | - 533 | - 534 | - 535 | - 536 | - 537 | - 538 | - 539 | - 540 | - 541 | - 542 | - 543 | - 544 | - 545 | - 546 | - 547 | - 548 | - 549 | - 550 | - 551 | - 552 | - 553 | - 554 | - 555 | - 556 | - 557 | - 558 | - 559 | - 560 | - 561 | - 562 | - 563 | - 564 | - 565 | - 566 | - 567 | - 568 | - 569 | - 570 | - 571 | - 572 | application/x-toolbook 573 | - 574 | - 575 | - 576 | - 577 | - 578 | - 579 | - 580 | - 581 | - 582 | - 583 | - 584 | - 585 | - 586 | - 587 | - 588 | - 589 | - 590 | - 591 | - 592 | - 593 | - 594 | - 595 | - 596 | - 597 | application/x-VMSBACKUP 598 | - 599 | - 600 | - 601 | - 602 | - 603 | - 604 | - 605 | - 606 | - 607 | - 608 | - 609 | - 610 | - 611 | - 612 | - 613 | - 614 | - 615 | - 616 | - 617 | - 618 | - 619 | - 620 | - 621 | - 622 | - 623 | - 624 | - 625 | - 626 | - 627 | - 628 | - 629 | - 630 | - 631 | - 632 | - 633 | - 634 | - 635 | - 636 | - 637 | - 638 | - 639 | - 640 | - 641 | application/vnd.3gpp.mcvideo-info+xml 642 | - 643 | - 644 | - 645 | - 646 | - 647 | - 648 | - 649 | - 650 | - 651 | - 652 | - 653 | - 654 | - 655 | - 656 | - 657 | - 658 | - 659 | - 660 | - 661 | - 662 | - 663 | - 664 | - 665 | - 666 | - 667 | - 668 | - 669 | - 670 | - 671 | - 672 | - 673 | - 674 | - 675 | - 676 | - 677 | - 678 | - 679 | - 680 | - 681 | - 682 | - 683 | - 684 | - 685 | - 686 | - 687 | - 688 | - 689 | - 690 | - 691 | - 692 | - 693 | - 694 | - 695 | - 696 | - 697 | - 698 | - 699 | - 700 | - 701 | - 702 | - 703 | - 704 | - 705 | - 706 | - 707 | - 708 | - 709 | - 710 | - 711 | - 712 | - 713 | - 714 | - 715 | - 716 | - 717 | - 718 | - 719 | - 720 | - 721 | - 722 | - 723 | - 724 | - 725 | - 726 | - 727 | - 728 | - 729 | - 730 | - 731 | - 732 | - 733 | - 734 | - 735 | - 736 | - 737 | - 738 | - 739 | - 740 | - 741 | - 742 | - 743 | - 744 | - 745 | - 746 | - 747 | - 748 | - 749 | application/vnd.aristanetworks.swi 750 | - 751 | - 752 | - 753 | - 754 | - 755 | - 756 | - 757 | - 758 | - 759 | - 760 | - 761 | - 762 | - 763 | - 764 | - 765 | - 766 | - 767 | - 768 | - 769 | - 770 | - 771 | - 772 | - 773 | - 774 | - 775 | - 776 | - 777 | - 778 | - 779 | - 780 | - 781 | - 782 | - 783 | - 784 | - 785 | - 786 | - 787 | - 788 | - 789 | - 790 | - 791 | - 792 | - 793 | - 794 | - 795 | - 796 | - 797 | - 798 | - 799 | - 800 | - 801 | - 802 | - 803 | - 804 | - 805 | - 806 | - 807 | - 808 | - 809 | - 810 | - 811 | - 812 | - 813 | - 814 | - 815 | - 816 | - 817 | - 818 | - 819 | - 820 | - 821 | - 822 | - 823 | - 824 | - 825 | - 826 | - 827 | - 828 | - 829 | - 830 | - 831 | - 832 | - 833 | - 834 | - 835 | - 836 | - 837 | - 838 | - 839 | - 840 | - 841 | - 842 | - 843 | - 844 | - 845 | - 846 | - 847 | - 848 | - 849 | - 850 | - 851 | - 852 | - 853 | - 854 | - 855 | - 856 | - 857 | - 858 | - 859 | - 860 | - 861 | - 862 | - 863 | - 864 | - 865 | - 866 | - 867 | - 868 | - 869 | - 870 | - 871 | - 872 | - 873 | - 874 | - 875 | - 876 | - 877 | - 878 | - 879 | - 880 | - 881 | - 882 | - 883 | - 884 | - 885 | - 886 | - 887 | - 888 | - 889 | - 890 | - 891 | - 892 | - 893 | - 894 | - 895 | - 896 | - 897 | - 898 | - 899 | - 900 | - 901 | - 902 | - 903 | - 904 | - 905 | - 906 | - 907 | - 908 | - 909 | - 910 | - 911 | - 912 | - 913 | - 914 | - 915 | - 916 | - 917 | - 918 | - 919 | - 920 | - 921 | - 922 | - 923 | - 924 | - 925 | - 926 | - 927 | - 928 | - 929 | - 930 | - 931 | - 932 | - 933 | - 934 | - 935 | - 936 | - 937 | - 938 | - 939 | - 940 | - 941 | - 942 | - 943 | - 944 | - 945 | - 946 | - 947 | - 948 | - 949 | - 950 | - 951 | - 952 | - 953 | - 954 | - 955 | - 956 | - 957 | - 958 | - 959 | - 960 | - 961 | - 962 | - 963 | - 964 | - 965 | - 966 | - 967 | - 968 | - 969 | - 970 | - 971 | - 972 | - 973 | - 974 | - 975 | - 976 | - 977 | - 978 | - 979 | - 980 | - 981 | - 982 | - 983 | - 984 | - 985 | - 986 | - 987 | - 988 | - 989 | - 990 | - 991 | - 992 | - 993 | - 994 | - 995 | - 996 | - 997 | - 998 | - 999 | - 1000 | - 1001 | - 1002 | - 1003 | - 1004 | - 1005 | - 1006 | - 1007 | application/geo+json 1008 | - 1009 | - 1010 | - 1011 | - 1012 | - 1013 | - 1014 | - 1015 | - 1016 | - 1017 | - 1018 | - 1019 | - 1020 | - 1021 | - 1022 | - 1023 | - 1024 | - 1025 | - 1026 | - 1027 | - 1028 | - 1029 | - 1030 | - 1031 | - 1032 | - 1033 | - 1034 | - 1035 | - 1036 | - 1037 | - 1038 | - 1039 | - 1040 | - 1041 | - 1042 | - 1043 | - 1044 | - 1045 | - 1046 | - 1047 | - 1048 | - 1049 | - 1050 | - 1051 | - 1052 | - 1053 | - 1054 | - 1055 | - 1056 | - 1057 | - 1058 | - 1059 | - 1060 | - 1061 | - 1062 | vnd.afpc.afplinedata 1063 | - 1064 | - 1065 | application/vnd.afpc.modca 1066 | - 1067 | - 1068 | - 1069 | - 1070 | - 1071 | - 1072 | - 1073 | - 1074 | - 1075 | - 1076 | - 1077 | - 1078 | - 1079 | - 1080 | - 1081 | - 1082 | - 1083 | - 1084 | - 1085 | application/vnd.visionary 1086 | - 1087 | - 1088 | - 1089 | - 1090 | - 1091 | - 1092 | - 1093 | - 1094 | - 1095 | - 1096 | - 1097 | - 1098 | - 1099 | - 1100 | - 1101 | - 1102 | - 1103 | - 1104 | - 1105 | - 1106 | - 1107 | - 1108 | - 1109 | - 1110 | - 1111 | - 1112 | - 1113 | - 1114 | - 1115 | - 1116 | - 1117 | - 1118 | - 1119 | - 1120 | - 1121 | - 1122 | - 1123 | - 1124 | - 1125 | - 1126 | - 1127 | - 1128 | - 1129 | - 1130 | - 1131 | - 1132 | - 1133 | - 1134 | - 1135 | - 1136 | - 1137 | - 1138 | - 1139 | - 1140 | - 1141 | - 1142 | - 1143 | - 1144 | - 1145 | - 1146 | - 1147 | - 1148 | - 1149 | - 1150 | - 1151 | - 1152 | - 1153 | - 1154 | - 1155 | - 1156 | - 1157 | - 1158 | - 1159 | - 1160 | - 1161 | - 1162 | - 1163 | - 1164 | - 1165 | - 1166 | - 1167 | - 1168 | - 1169 | - 1170 | - 1171 | - 1172 | - 1173 | - 1174 | - 1175 | - 1176 | - 1177 | - 1178 | - 1179 | - 1180 | - 1181 | - 1182 | - 1183 | - 1184 | - 1185 | - 1186 | - 1187 | - 1188 | - 1189 | - 1190 | - 1191 | - 1192 | - 1193 | - 1194 | - 1195 | - 1196 | - 1197 | - 1198 | - 1199 | - 1200 | - 1201 | - 1202 | - 1203 | - 1204 | - 1205 | - 1206 | - 1207 | - 1208 | - 1209 | - 1210 | - 1211 | - 1212 | - 1213 | - 1214 | - 1215 | - 1216 | - 1217 | - 1218 | - 1219 | - 1220 | - 1221 | - 1222 | - 1223 | - 1224 | - 1225 | - 1226 | - 1227 | - 1228 | - 1229 | - 1230 | - 1231 | - 1232 | - 1233 | - 1234 | - 1235 | - 1236 | - 1237 | - 1238 | - 1239 | - 1240 | - 1241 | - 1242 | - 1243 | - 1244 | - 1245 | - 1246 | - 1247 | - 1248 | - 1249 | - 1250 | - 1251 | - 1252 | - 1253 | - 1254 | - 1255 | - 1256 | - 1257 | - 1258 | - 1259 | - 1260 | - 1261 | - 1262 | - 1263 | - 1264 | - 1265 | - 1266 | - 1267 | - 1268 | - 1269 | - 1270 | - 1271 | - 1272 | - 1273 | - 1274 | - 1275 | - 1276 | - 1277 | - 1278 | - 1279 | - 1280 | - 1281 | - 1282 | - 1283 | - 1284 | - 1285 | - 1286 | - 1287 | - 1288 | - 1289 | - 1290 | - 1291 | - 1292 | - 1293 | - 1294 | - 1295 | - 1296 | - 1297 | - 1298 | - 1299 | - 1300 | - 1301 | - 1302 | - 1303 | - 1304 | - 1305 | - 1306 | - 1307 | - 1308 | - 1309 | - 1310 | application/vnd.nokia.ncd 1311 | - 1312 | - 1313 | - 1314 | - 1315 | - 1316 | - 1317 | - 1318 | - 1319 | - 1320 | - 1321 | - 1322 | - 1323 | - 1324 | - 1325 | - 1326 | - 1327 | - 1328 | - 1329 | application/vnd.oasis.opendocument.base 1330 | - 1331 | - 1332 | - 1333 | - 1334 | - 1335 | - 1336 | - 1337 | - 1338 | - 1339 | - 1340 | - 1341 | - 1342 | - 1343 | - 1344 | - 1345 | - 1346 | - 1347 | - 1348 | - 1349 | - 1350 | - 1351 | - 1352 | - 1353 | - 1354 | - 1355 | - 1356 | - 1357 | - 1358 | - 1359 | - 1360 | - 1361 | - 1362 | - 1363 | - 1364 | - 1365 | - 1366 | - 1367 | - 1368 | - 1369 | - 1370 | - 1371 | - 1372 | - 1373 | - 1374 | - 1375 | - 1376 | - 1377 | - 1378 | - 1379 | - 1380 | - 1381 | - 1382 | - 1383 | - 1384 | - 1385 | - 1386 | - 1387 | - 1388 | - 1389 | - 1390 | - 1391 | - 1392 | - 1393 | - 1394 | - 1395 | - 1396 | - 1397 | - 1398 | - 1399 | - 1400 | - 1401 | - 1402 | - 1403 | - 1404 | - 1405 | - 1406 | - 1407 | - 1408 | - 1409 | - 1410 | - 1411 | - 1412 | - 1413 | - 1414 | - 1415 | - 1416 | - 1417 | - 1418 | - 1419 | - 1420 | - 1421 | - 1422 | - 1423 | - 1424 | - 1425 | - 1426 | - 1427 | - 1428 | - 1429 | - 1430 | - 1431 | - 1432 | - 1433 | - 1434 | - 1435 | - 1436 | - 1437 | - 1438 | - 1439 | - 1440 | - 1441 | - 1442 | - 1443 | - 1444 | - 1445 | - 1446 | - 1447 | - 1448 | - 1449 | - 1450 | - 1451 | - 1452 | - 1453 | - 1454 | - 1455 | - 1456 | - 1457 | - 1458 | - 1459 | - 1460 | - 1461 | - 1462 | - 1463 | - 1464 | - 1465 | - 1466 | - 1467 | - 1468 | - 1469 | - 1470 | - 1471 | - 1472 | - 1473 | - 1474 | - 1475 | - 1476 | - 1477 | - 1478 | - 1479 | - 1480 | - 1481 | - 1482 | - 1483 | - 1484 | - 1485 | - 1486 | - 1487 | - 1488 | - 1489 | - 1490 | - 1491 | - 1492 | - 1493 | - 1494 | - 1495 | - 1496 | - 1497 | - 1498 | - 1499 | - 1500 | - 1501 | - 1502 | - 1503 | - 1504 | - 1505 | - 1506 | - 1507 | - 1508 | - 1509 | - 1510 | - 1511 | - 1512 | - 1513 | - 1514 | - 1515 | - 1516 | - 1517 | - 1518 | - 1519 | - 1520 | - 1521 | - 1522 | - 1523 | - 1524 | - 1525 | - 1526 | - 1527 | - 1528 | - 1529 | - 1530 | - 1531 | - 1532 | - 1533 | - 1534 | - 1535 | - 1536 | - 1537 | - 1538 | - 1539 | - 1540 | - 1541 | - 1542 | - 1543 | - 1544 | - 1545 | - 1546 | - 1547 | - 1548 | - 1549 | - 1550 | - 1551 | - 1552 | - 1553 | - 1554 | - 1555 | - 1556 | - 1557 | - 1558 | - 1559 | - 1560 | - 1561 | - 1562 | - 1563 | - 1564 | - 1565 | - 1566 | - 1567 | - 1568 | - 1569 | - 1570 | - 1571 | - 1572 | - 1573 | - 1574 | - 1575 | - 1576 | - 1577 | - 1578 | - 1579 | - 1580 | - 1581 | - 1582 | - 1583 | - 1584 | - 1585 | - 1586 | - 1587 | - 1588 | - 1589 | - 1590 | - 1591 | - 1592 | - 1593 | - 1594 | - 1595 | - 1596 | - 1597 | - 1598 | - 1599 | - 1600 | - 1601 | - 1602 | - 1603 | - 1604 | - 1605 | - 1606 | - 1607 | - 1608 | - 1609 | - 1610 | - 1611 | - 1612 | - 1613 | - 1614 | - 1615 | - 1616 | - 1617 | - 1618 | - 1619 | - 1620 | - 1621 | - 1622 | - 1623 | - 1624 | - 1625 | - 1626 | - 1627 | - 1628 | - 1629 | - 1630 | - 1631 | - 1632 | - 1633 | - 1634 | - 1635 | - 1636 | - 1637 | - 1638 | - 1639 | - 1640 | - 1641 | - 1642 | - 1643 | - 1644 | - 1645 | - 1646 | - 1647 | - 1648 | - 1649 | - 1650 | - 1651 | - 1652 | - 1653 | - 1654 | - 1655 | - 1656 | - 1657 | - 1658 | - 1659 | - 1660 | - 1661 | - 1662 | - 1663 | - 1664 | - 1665 | - 1666 | - 1667 | - 1668 | - 1669 | - 1670 | - 1671 | - 1672 | - 1673 | - 1674 | - 1675 | - 1676 | - 1677 | - 1678 | - 1679 | - 1680 | - 1681 | - 1682 | - 1683 | - 1684 | - 1685 | - 1686 | - 1687 | - 1688 | - 1689 | - 1690 | - 1691 | - 1692 | - 1693 | - 1694 | - 1695 | - 1696 | - 1697 | - 1698 | - 1699 | - 1700 | - 1701 | - 1702 | - 1703 | - 1704 | - 1705 | - 1706 | - 1707 | - 1708 | - 1709 | - 1710 | - 1711 | - 1712 | - 1713 | - 1714 | - 1715 | - 1716 | - 1717 | - 1718 | - 1719 | - 1720 | - 1721 | - 1722 | - 1723 | - 1724 | - 1725 | - 1726 | - 1727 | - 1728 | - 1729 | - 1730 | - 1731 | - 1732 | - 1733 | - 1734 | - 1735 | - 1736 | - 1737 | - 1738 | - 1739 | - 1740 | - 1741 | - 1742 | - 1743 | - 1744 | - 1745 | - 1746 | - 1747 | - 1748 | - 1749 | - 1750 | - 1751 | - 1752 | - 1753 | - 1754 | - 1755 | - 1756 | - 1757 | - 1758 | - 1759 | - 1760 | video/vnd.youtube.yt 1761 | - 1762 | - 1763 | - 1764 | - 1765 | - 1766 | - 1767 | - 1768 | - 1769 | - 1770 | - 1771 | - 1772 | - 1773 | - 1774 | - 1775 | - 1776 | - 1777 | - 1778 | - 1779 | - 1780 | - 1781 | - 1782 | - 1783 | - 1784 | - 1785 | application/vnd.wordperfect 1786 | - 1787 | application/x-wordperfect6.1 1788 | application/vnd.wordperfect 1789 | - 1790 | - 1791 | application/vnd.lotus-1-2-3 1792 | - 1793 | - 1794 | application/x-msaccess 1795 | - 1796 | - 1797 | - 1798 | - 1799 | - 1800 | - 1801 | - 1802 | - 1803 | - 1804 | - 1805 | - 1806 | - 1807 | - 1808 | - 1809 | - 1810 | - 1811 | - 1812 | - 1813 | - 1814 | - 1815 | - 1816 | - 1817 | - 1818 | - 1819 | - 1820 | - 1821 | - 1822 | - 1823 | - 1824 | - 1825 | - 1826 | - 1827 | - 1828 | - 1829 | - 1830 | - 1831 | - 1832 | - 1833 | application/x-compressed 1834 | - 1835 | - 1836 | - 1837 | - 1838 | - 1839 | - 1840 | - 1841 | - 1842 | - 1843 | - 1844 | - 1845 | - 1846 | - 1847 | - 1848 | - 1849 | - 1850 | - 1851 | - 1852 | - 1853 | - 1854 | - 1855 | - 1856 | text/javascript 1857 | - 1858 | - 1859 | - 1860 | - 1861 | - 1862 | - 1863 | - 1864 | - 1865 | - 1866 | application/vnd.ms-excel 1867 | - 1868 | - 1869 | - 1870 | - 1871 | - 1872 | - 1873 | - 1874 | - 1875 | - 1876 | - 1877 | - 1878 | - 1879 | - 1880 | - 1881 | - 1882 | - 1883 | - 1884 | - 1885 | - 1886 | - 1887 | - 1888 | - 1889 | - 1890 | - 1891 | - 1892 | - 1893 | - 1894 | - 1895 | - 1896 | - 1897 | - 1898 | - 1899 | - 1900 | - 1901 | - 1902 | - 1903 | - 1904 | - 1905 | - 1906 | application/gzip 1907 | - 1908 | - 1909 | - 1910 | - 1911 | - 1912 | - 1913 | - 1914 | - 1915 | - 1916 | - 1917 | - 1918 | - 1919 | - 1920 | - 1921 | - 1922 | - 1923 | - 1924 | - 1925 | - 1926 | - 1927 | - 1928 | - 1929 | - 1930 | - 1931 | - 1932 | - 1933 | - 1934 | - 1935 | - 1936 | - 1937 | text/javascript 1938 | - 1939 | - 1940 | - 1941 | - 1942 | - 1943 | - 1944 | - 1945 | - 1946 | application/vnd.lotus-1-2-3 1947 | - 1948 | - 1949 | - 1950 | - 1951 | - 1952 | - 1953 | - 1954 | - 1955 | - 1956 | - 1957 | - 1958 | - 1959 | - 1960 | - 1961 | - 1962 | - 1963 | - 1964 | - 1965 | - 1966 | - 1967 | - 1968 | application/vnd.framemaker 1969 | application/vnd.mcd 1970 | - 1971 | - 1972 | - 1973 | - 1974 | - 1975 | - 1976 | - 1977 | - 1978 | - 1979 | - 1980 | - 1981 | - 1982 | - 1983 | - 1984 | - 1985 | - 1986 | - 1987 | - 1988 | - 1989 | - 1990 | - 1991 | - 1992 | - 1993 | - 1994 | - 1995 | - 1996 | - 1997 | - 1998 | - 1999 | - 2000 | - 2001 | - 2002 | - 2003 | application/msword 2004 | - 2005 | - 2006 | - 2007 | - 2008 | - 2009 | - 2010 | - 2011 | - 2012 | - 2013 | - 2014 | - 2015 | - 2016 | - 2017 | - 2018 | - 2019 | - 2020 | - 2021 | - 2022 | - 2023 | - 2024 | - 2025 | - 2026 | - 2027 | - 2028 | - 2029 | - 2030 | - 2031 | - 2032 | - 2033 | - 2034 | - 2035 | - 2036 | - 2037 | application/rtf 2038 | - 2039 | - 2040 | - 2041 | - 2042 | - 2043 | - 2044 | - 2045 | - 2046 | - 2047 | - 2048 | - 2049 | - 2050 | - 2051 | - 2052 | - 2053 | - 2054 | - 2055 | - 2056 | - 2057 | - 2058 | - 2059 | - 2060 | - 2061 | - 2062 | - 2063 | - 2064 | - 2065 | - 2066 | - 2067 | - 2068 | - 2069 | - 2070 | - 2071 | - 2072 | - 2073 | - 2074 | - 2075 | - 2076 | - 2077 | - 2078 | - 2079 | - 2080 | - 2081 | - 2082 | - 2083 | - 2084 | - 2085 | - 2086 | - 2087 | - 2088 | - 2089 | - 2090 | - 2091 | - 2092 | - 2093 | - 2094 | - 2095 | - 2096 | - 2097 | - 2098 | - 2099 | - 2100 | - 2101 | - 2102 | - 2103 | - 2104 | - 2105 | - 2106 | - 2107 | - 2108 | - 2109 | - 2110 | text/troff 2111 | - 2112 | - 2113 | - 2114 | application/x-ustar 2115 | - 2116 | - 2117 | - 2118 | - 2119 | - 2120 | - 2121 | - 2122 | - 2123 | - 2124 | - 2125 | - 2126 | - 2127 | - 2128 | application/msword 2129 | application/vnd.wordperfect 2130 | - 2131 | application/vnd.wordperfect 2132 | - 2133 | - 2134 | - 2135 | - 2136 | - 2137 | - 2138 | - 2139 | - 2140 | - 2141 | - 2142 | - 2143 | - 2144 | - 2145 | - 2146 | - 2147 | - 2148 | - 2149 | - 2150 | - 2151 | application/x400-bp 2152 | - 2153 | - 2154 | - 2155 | - 2156 | - 2157 | - 2158 | - 2159 | - 2160 | - 2161 | - 2162 | - 2163 | - 2164 | - 2165 | - 2166 | - 2167 | - 2168 | - 2169 | - 2170 | - 2171 | - 2172 | - 2173 | - 2174 | - 2175 | - 2176 | - 2177 | - 2178 | - 2179 | - 2180 | - 2181 | - 2182 | - 2183 | - 2184 | - 2185 | - 2186 | - 2187 | - 2188 | - 2189 | - 2190 | - 2191 | - 2192 | - 2193 | - 2194 | - 2195 | - 2196 | - 2197 | - 2198 | - 2199 | - 2200 | - 2201 | - 2202 | - 2203 | - 2204 | - 2205 | - 2206 | - 2207 | - 2208 | - 2209 | - 2210 | - 2211 | - 2212 | - 2213 | - 2214 | - 2215 | - 2216 | - 2217 | - 2218 | - 2219 | - 2220 | - 2221 | - 2222 | - 2223 | - 2224 | - 2225 | - 2226 | - 2227 | - 2228 | - 2229 | - 2230 | - 2231 | - 2232 | - 2233 | - 2234 | - 2235 | - 2236 | - 2237 | - 2238 | - 2239 | - 2240 | - 2241 | - 2242 | - 2243 | - 2244 | - 2245 | - 2246 | - 2247 | - 2248 | - 2249 | - 2250 | - 2251 | - 2252 | - 2253 | - 2254 | - 2255 | - 2256 | - 2257 | - 2258 | - 2259 | - 2260 | - 2261 | - 2262 | - 2263 | - 2264 | - 2265 | - 2266 | - 2267 | - 2268 | - 2269 | - 2270 | - 2271 | - 2272 | - 2273 | - 2274 | - 2275 | - 2276 | - 2277 | - 2278 | - 2279 | - 2280 | - 2281 | - 2282 | - 2283 | - 2284 | - 2285 | - 2286 | - 2287 | - 2288 | - 2289 | - 2290 | - 2291 | - 2292 | - 2293 | - 2294 | - 2295 | - 2296 | - 2297 | - 2298 | - 2299 | - 2300 | - 2301 | - 2302 | - 2303 | - 2304 | - 2305 | - 2306 | - 2307 | - 2308 | - 2309 | - 2310 | - 2311 | - 2312 | - 2313 | - 2314 | - 2315 | - 2316 | - 2317 | - 2318 | - 2319 | - 2320 | - 2321 | - 2322 | - 2323 | - 2324 | - 2325 | - 2326 | - 2327 | - 2328 | - 2329 | - 2330 | - 2331 | - 2332 | - 2333 | - 2334 | - 2335 | - 2336 | - 2337 | - 2338 | - 2339 | - 2340 | - 2341 | - 2342 | - 2343 | - 2344 | - 2345 | - 2346 | - 2347 | - 2348 | - 2349 | - 2350 | - 2351 | audio/qcelp 2352 | - 2353 | - 2354 | - 2355 | - 2356 | - 2357 | - 2358 | - 2359 | - 2360 | - 2361 | audio/aac 2362 | - 2363 | - 2364 | - 2365 | - 2366 | - 2367 | audio/flac 2368 | - 2369 | audio/matroska 2370 | - 2371 | - 2372 | - 2373 | - 2374 | - 2375 | - 2376 | - 2377 | - 2378 | - 2379 | - 2380 | - 2381 | - 2382 | - 2383 | - 2384 | - 2385 | - 2386 | - 2387 | - 2388 | - 2389 | - 2390 | x-chemical/x-pdb 2391 | x-chemical/x-xyz 2392 | x-drawing/dwf 2393 | - 2394 | - 2395 | - 2396 | - 2397 | - 2398 | - 2399 | - 2400 | - 2401 | - 2402 | - 2403 | - 2404 | - 2405 | - 2406 | - 2407 | - 2408 | - 2409 | image/x-cmu-raster 2410 | - 2411 | - 2412 | - 2413 | - 2414 | - 2415 | - 2416 | - 2417 | - 2418 | - 2419 | - 2420 | - 2421 | - 2422 | - 2423 | - 2424 | - 2425 | - 2426 | - 2427 | - 2428 | - 2429 | - 2430 | - 2431 | - 2432 | - 2433 | - 2434 | - 2435 | - 2436 | - 2437 | - 2438 | - 2439 | - 2440 | - 2441 | - 2442 | - 2443 | - 2444 | - 2445 | - 2446 | - 2447 | - 2448 | - 2449 | - 2450 | - 2451 | - 2452 | - 2453 | - 2454 | - 2455 | - 2456 | - 2457 | image/x-targa 2458 | - 2459 | - 2460 | - 2461 | - 2462 | - 2463 | - 2464 | - 2465 | - 2466 | - 2467 | image/x-vnd.dgn 2468 | - 2469 | - 2470 | - 2471 | - 2472 | - 2473 | - 2474 | - 2475 | - 2476 | - 2477 | - 2478 | - 2479 | - 2480 | - 2481 | - 2482 | - 2483 | - 2484 | - 2485 | image/vnd.net-fpx 2486 | - 2487 | - 2488 | - 2489 | - 2490 | - 2491 | - 2492 | - 2493 | - 2494 | - 2495 | - 2496 | - 2497 | - 2498 | - 2499 | - 2500 | - 2501 | - 2502 | image/bmp 2503 | - 2504 | - 2505 | - 2506 | - 2507 | - 2508 | - 2509 | - 2510 | - 2511 | image/emf 2512 | - 2513 | - 2514 | - 2515 | - 2516 | - 2517 | - 2518 | - 2519 | - 2520 | - 2521 | - 2522 | - 2523 | - 2524 | - 2525 | - 2526 | - 2527 | - 2528 | - 2529 | - 2530 | - 2531 | - 2532 | - 2533 | - 2534 | - 2535 | - 2536 | - 2537 | - 2538 | - 2539 | - 2540 | - 2541 | - 2542 | - 2543 | - 2544 | - 2545 | - 2546 | - 2547 | - 2548 | - 2549 | - 2550 | - 2551 | - 2552 | - 2553 | - 2554 | - 2555 | - 2556 | - 2557 | - 2558 | - 2559 | - 2560 | - 2561 | - 2562 | - 2563 | - 2564 | - 2565 | - 2566 | - 2567 | - 2568 | - 2569 | - 2570 | image/wmf 2571 | - 2572 | - 2573 | - 2574 | - 2575 | - 2576 | - 2577 | - 2578 | - 2579 | - 2580 | - 2581 | - 2582 | - 2583 | - 2584 | - 2585 | - 2586 | - 2587 | - 2588 | - 2589 | - 2590 | - 2591 | - 2592 | - 2593 | - 2594 | - 2595 | - 2596 | - 2597 | - 2598 | - 2599 | - 2600 | - 2601 | - 2602 | - 2603 | - 2604 | - 2605 | - 2606 | - 2607 | - 2608 | - 2609 | - 2610 | - 2611 | - 2612 | - 2613 | - 2614 | - 2615 | - 2616 | - 2617 | - 2618 | - 2619 | - 2620 | - 2621 | - 2622 | - 2623 | - 2624 | - 2625 | - 2626 | - 2627 | - 2628 | - 2629 | - 2630 | - 2631 | - 2632 | - 2633 | - 2634 | - 2635 | - 2636 | - 2637 | - 2638 | - 2639 | - 2640 | - 2641 | - 2642 | - 2643 | - 2644 | - 2645 | - 2646 | - 2647 | - 2648 | - 2649 | - 2650 | - 2651 | - 2652 | - 2653 | - 2654 | - 2655 | - 2656 | - 2657 | - 2658 | - 2659 | - 2660 | - 2661 | - 2662 | - 2663 | - 2664 | - 2665 | - 2666 | - 2667 | multipart/parallel 2668 | - 2669 | - 2670 | application/x-www-form-urlencoded 2671 | - 2672 | - 2673 | - 2674 | - 2675 | - 2676 | - 2677 | text/csv 2678 | - 2679 | - 2680 | - 2681 | - 2682 | - 2683 | - 2684 | - 2685 | - 2686 | text/javascript 2687 | - 2688 | - 2689 | - 2690 | - 2691 | - 2692 | - 2693 | - 2694 | - 2695 | - 2696 | - 2697 | - 2698 | - 2699 | text/javascript 2700 | text/javascript 2701 | text/javascript 2702 | text/javascript 2703 | text/javascript 2704 | - 2705 | text/javascript 2706 | text/javascript 2707 | - 2708 | - 2709 | - 2710 | - 2711 | - 2712 | - 2713 | - 2714 | - 2715 | - 2716 | - 2717 | - 2718 | - 2719 | - 2720 | - 2721 | - 2722 | - 2723 | - 2724 | - 2725 | - 2726 | - 2727 | - 2728 | - 2729 | - 2730 | - 2731 | - 2732 | - 2733 | - 2734 | - 2735 | - 2736 | - 2737 | - 2738 | - 2739 | - 2740 | - 2741 | - 2742 | - 2743 | - 2744 | - 2745 | - 2746 | - 2747 | - 2748 | - 2749 | - 2750 | - 2751 | - 2752 | - 2753 | model/vnd.flatland.3dml 2754 | - 2755 | - 2756 | - 2757 | - 2758 | - 2759 | - 2760 | - 2761 | - 2762 | - 2763 | - 2764 | - 2765 | - 2766 | - 2767 | - 2768 | - 2769 | - 2770 | - 2771 | - 2772 | - 2773 | - 2774 | - 2775 | - 2776 | - 2777 | - 2778 | - 2779 | - 2780 | - 2781 | - 2782 | - 2783 | - 2784 | - 2785 | - 2786 | - 2787 | - 2788 | - 2789 | - 2790 | - 2791 | - 2792 | - 2793 | - 2794 | - 2795 | - 2796 | - 2797 | - 2798 | - 2799 | - 2800 | - 2801 | - 2802 | - 2803 | - 2804 | - 2805 | - 2806 | - 2807 | - 2808 | - 2809 | - 2810 | text/javascript 2811 | - 2812 | - 2813 | - 2814 | - 2815 | - 2816 | - 2817 | - 2818 | - 2819 | - 2820 | - 2821 | - 2822 | - 2823 | - 2824 | - 2825 | - 2826 | - 2827 | - 2828 | - 2829 | - 2830 | - 2831 | - 2832 | - 2833 | - 2834 | - 2835 | - 2836 | - 2837 | - 2838 | - 2839 | - 2840 | - 2841 | - 2842 | - 2843 | - 2844 | - 2845 | - 2846 | - 2847 | - 2848 | text/rtf 2849 | - 2850 | - 2851 | - 2852 | - 2853 | - 2854 | - 2855 | - 2856 | - 2857 | - 2858 | - 2859 | - 2860 | - 2861 | - 2862 | - 2863 | - 2864 | - 2865 | - 2866 | - 2867 | model/vnd.flatland.3dml 2868 | - 2869 | - 2870 | - 2871 | - 2872 | - 2873 | - 2874 | - 2875 | - 2876 | - 2877 | - 2878 | - 2879 | - 2880 | - 2881 | - 2882 | video/x-dl 2883 | - 2884 | - 2885 | - 2886 | - 2887 | - 2888 | - 2889 | video/x-gl 2890 | - 2891 | - 2892 | - 2893 | - 2894 | - 2895 | - 2896 | - 2897 | - 2898 | - 2899 | - 2900 | - 2901 | - 2902 | - 2903 | - 2904 | - 2905 | - 2906 | - 2907 | - 2908 | - 2909 | - 2910 | - 2911 | - 2912 | - 2913 | - 2914 | - 2915 | - 2916 | - 2917 | - 2918 | - 2919 | - 2920 | - 2921 | - 2922 | - 2923 | - 2924 | - 2925 | - 2926 | - 2927 | - 2928 | - 2929 | - 2930 | - 2931 | - 2932 | - 2933 | - 2934 | - 2935 | - 2936 | - 2937 | - 2938 | - 2939 | - 2940 | - 2941 | - 2942 | - 2943 | - 2944 | - 2945 | - 2946 | - 2947 | - 2948 | - 2949 | - 2950 | - 2951 | - 2952 | - 2953 | - 2954 | - 2955 | - 2956 | - 2957 | - 2958 | - 2959 | - 2960 | - 2961 | - 2962 | - 2963 | - 2964 | - 2965 | - 2966 | - 2967 | - 2968 | - 2969 | - 2970 | - 2971 | - 2972 | - 2973 | - 2974 | - 2975 | - 2976 | video/DV 2977 | - 2978 | - 2979 | - 2980 | - 2981 | - 2982 | - 2983 | - 2984 | - 2985 | - 2986 | - 2987 | - 2988 | - 2989 | - 2990 | - 2991 | - 2992 | - 2993 | - 2994 | - 2995 | - 2996 | - 2997 | - 2998 | - 2999 | - 3000 | - 3001 | - 3002 | - 3003 | - 3004 | - 3005 | - 3006 | -------------------------------------------------------------------------------- /lib/mime-types-data.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require "mime/types/data" 4 | -------------------------------------------------------------------------------- /lib/mime/types/data.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module MIME 4 | class Types 5 | module Data 6 | VERSION = "3.2025.0603" 7 | 8 | # The path that will be used for loading the MIME::Types data. The 9 | # default location is __FILE__/../../../../data, which is where the data 10 | # lives in the gem installation of the mime-types-data library. 11 | # 12 | # The MIME::Types::Loader will load all JSON or columnar files contained 13 | # in this path. 14 | # 15 | # System maintainer note: this is the constant to change when packaging 16 | # mime-types for your system. It is recommended that the path be 17 | # something like /usr/share/ruby/mime-types/. 18 | PATH = File.expand_path("../../../../data", __FILE__) 19 | end 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /mime-types-data.gemspec: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # stub: mime-types-data 3.2025.0603 ruby lib 3 | 4 | Gem::Specification.new do |s| 5 | s.name = "mime-types-data".freeze 6 | s.version = "3.2025.0603".freeze 7 | 8 | s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= 9 | s.metadata = { "bug_tracker_uri" => "https://github.com/mime-types/mime-types-data/issues", "changelog_uri" => "https://github.com/mime-types/mime-types-data/blob/main/CHANGELOG.md", "homepage_uri" => "https://github.com/mime-types/mime-types-data/", "rubygems_mfa_required" => "true", "source_code_uri" => "https://github.com/mime-types/mime-types-data/" } if s.respond_to? :metadata= 10 | s.require_paths = ["lib".freeze] 11 | s.authors = ["Austin Ziegler".freeze] 12 | s.date = "1980-01-02" 13 | s.description = "mime-types-data provides a registry for information about MIME media type\ndefinitions. It can be used with the Ruby mime-types library or other software\nto determine defined filename extensions for MIME types, or to use filename\nextensions to look up the likely MIME type definitions.".freeze 14 | s.email = ["halostatue@gmail.com".freeze] 15 | s.extra_rdoc_files = ["CHANGELOG.md".freeze, "CODE_OF_CONDUCT.md".freeze, "CONTRIBUTING.md".freeze, "CONTRIBUTORS.md".freeze, "LICENCE.md".freeze, "Manifest.txt".freeze, "README.md".freeze, "SECURITY.md".freeze] 16 | s.files = ["CHANGELOG.md".freeze, "CODE_OF_CONDUCT.md".freeze, "CONTRIBUTING.md".freeze, "CONTRIBUTORS.md".freeze, "LICENCE.md".freeze, "Manifest.txt".freeze, "README.md".freeze, "Rakefile".freeze, "SECURITY.md".freeze, "data/content_type_mime.db".freeze, "data/ext_mime.db".freeze, "data/mime-types.json".freeze, "data/mime.content_type.column".freeze, "data/mime.docs.column".freeze, "data/mime.encoding.column".freeze, "data/mime.flags.column".freeze, "data/mime.friendly.column".freeze, "data/mime.pext.column".freeze, "data/mime.spri.column".freeze, "data/mime.use_instead.column".freeze, "data/mime.xrefs.column".freeze, "lib/mime-types-data.rb".freeze, "lib/mime/types/data.rb".freeze] 17 | s.homepage = "https://github.com/mime-types/mime-types-data/".freeze 18 | s.licenses = ["MIT".freeze] 19 | s.rdoc_options = ["--main".freeze, "README.md".freeze] 20 | s.required_ruby_version = Gem::Requirement.new(">= 2.0".freeze) 21 | s.rubygems_version = "3.6.9".freeze 22 | s.summary = "mime-types-data provides a registry for information about MIME media type definitions".freeze 23 | 24 | s.specification_version = 4 25 | 26 | s.add_development_dependency(%q.freeze, ["~> 4.0".freeze]) 27 | s.add_development_dependency(%q.freeze, ["~> 2.0".freeze]) 28 | s.add_development_dependency(%q.freeze, ["> 3.6.2".freeze, "< 5".freeze]) 29 | s.add_development_dependency(%q.freeze, ["~> 1.6".freeze]) 30 | s.add_development_dependency(%q.freeze, [">= 10.0".freeze, "< 14".freeze]) 31 | s.add_development_dependency(%q.freeze, ["~> 1.0".freeze]) 32 | end 33 | -------------------------------------------------------------------------------- /support/apache_mime_types.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__) 4 | 5 | require "open-uri" 6 | require "nokogiri" 7 | require "cgi" 8 | require "pathname" 9 | require "yaml" 10 | require "English" 11 | 12 | require "mime/types/support" 13 | 14 | # Update MIME types from the Apache httpd master list 15 | class ApacheMIMETypes 16 | DEFAULTS = { 17 | url: "https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types", 18 | to: Pathname(__FILE__).join("../../types") 19 | }.freeze.each_value(&:freeze) 20 | 21 | X_PREFIX_RE = /^x-/.freeze 22 | 23 | def self.download(options = {}) 24 | dest = Pathname(options[:to] || DEFAULTS[:to]).expand_path 25 | url = options.fetch(:url, DEFAULTS[:url]) 26 | 27 | puts "Downloading Apache httpd MIME type list." 28 | puts "\t#{url}" 29 | data = URI.parse(url).open(&:read).split($INPUT_RECORD_SEPARATOR) 30 | data.delete_if { |line| line.start_with?("#") } 31 | 32 | conf = MIME::Types::Container.new 33 | 34 | data.each do |line| 35 | type = line.split(/\t+/) 36 | key = type.first.split(%r{/}).first.gsub(X_PREFIX_RE, "") 37 | conf.add(key, type) 38 | end 39 | 40 | conf.each do |type, types| 41 | next if type == "example" 42 | 43 | new(type: type, registry: types, to: dest) do |parser| 44 | puts "Extracting #{parser.type}/*." 45 | parser.parse 46 | parser.save 47 | end 48 | end 49 | end 50 | 51 | attr_reader :type 52 | 53 | def initialize(options = {}) 54 | @registry = options.fetch(:registry) 55 | @to = Pathname(options.fetch(:to)).expand_path 56 | @type = options.fetch(:type) 57 | @name = "#{@type}.yaml" 58 | @file = @to.join(@name) 59 | @types = mime_types_for(@file) 60 | 61 | yield self if block_given? 62 | end 63 | 64 | def parse 65 | @registry.each do |record| 66 | content_type = record.first 67 | extensions = record.last.split(/\s+/) 68 | 69 | types = @types.select { |t| t.content_type.casecmp(content_type).zero? } 70 | 71 | if types.empty? 72 | MIME::Type.new(content_type) do |mt| 73 | mt.extensions = extensions 74 | mt.registered = false 75 | @types.add(mt) 76 | end 77 | else 78 | types.each { |mt| 79 | mt.extensions = (mt.extensions + extensions) 80 | } 81 | end 82 | end 83 | end 84 | 85 | def save 86 | @to.mkpath 87 | File.open(@file, "wb") { |f| 88 | f.puts @types 89 | .map 90 | .to_a 91 | .sort { |a, b| a.content_type.casecmp(b.content_type) } 92 | .uniq 93 | .to_yaml 94 | } 95 | end 96 | 97 | private 98 | 99 | def mime_types_for(file) 100 | if file.exist? 101 | MIME::Types::Loader.load_from_yaml(file) 102 | else 103 | MIME::Types.new 104 | end 105 | end 106 | end 107 | -------------------------------------------------------------------------------- /support/convert.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__) 4 | require "mime/types/support" 5 | require "fileutils" 6 | require "json" 7 | 8 | # Convert from YAML to JSON (and back) or columnar. 9 | class Convert 10 | class << self 11 | # Create a Convert instance that converts from YAML. 12 | def from_yaml(path = nil) 13 | new(path: path, from: :yaml) 14 | end 15 | 16 | # Create a Convert instance that converts from JSON. 17 | def from_json(path = nil) 18 | new(path: path, from: :json) 19 | end 20 | 21 | # Create a Convert instance that converts from the mime-types 1.x file 22 | # format. 23 | def from_v1(path = nil) 24 | new(path: path, from: :v1) 25 | end 26 | 27 | # Converts from YAML to JSON. Defaults to converting to a single file. 28 | def from_yaml_to_json(from: nil, to: nil, multiple_files: false) 29 | from_yaml(to_yaml_path(from)) 30 | .to_json( 31 | destination: to_data_path(to), 32 | multiple_files: to_multiple_files(multiple_files) 33 | ) 34 | end 35 | 36 | # Convert from YAML to YAML. Used to do an in-place update of the files. 37 | def from_yaml_to_yaml(from: nil, to: nil, multiple_files: true) # :nodoc: 38 | from_yaml(to_yaml_path(from)) 39 | .to_yaml( 40 | destination: to_yaml_path(to), 41 | multiple_files: to_multiple_files(multiple_files) 42 | ) 43 | end 44 | 45 | # Converts from JSON to YAML. Defaults to converting to multiple files. 46 | def from_json_to_yaml(from: nil, to: nil, multiple_files: true) 47 | from_json(to_data_path(from)) 48 | .to_yaml( 49 | destination: to_yaml_path(to), 50 | multiple_files: to_multiple_files(multiple_files) 51 | ) 52 | end 53 | 54 | private :new 55 | 56 | private 57 | 58 | def to_yaml_path(path) 59 | to_path_or_default(path, "types") 60 | end 61 | 62 | def to_data_path(path) 63 | to_path_or_default(path, "data") 64 | end 65 | 66 | def to_path_or_default(path, default) 67 | if path.nil? || path.empty? 68 | default 69 | else 70 | path 71 | end 72 | end 73 | 74 | def to_multiple_files(flag) 75 | case flag.to_s.downcase 76 | when "true", "yes", "multiple" 77 | true 78 | else 79 | false 80 | end 81 | end 82 | end 83 | 84 | def initialize(options = {}) 85 | raise ArgumentError, ":path is required" if options[:path].nil? || options[:path].empty? 86 | raise ArgumentError, ":from is required" if options[:from].nil? || options[:from].empty? 87 | 88 | @loader = MIME::Types::Loader.new(options[:path]) 89 | load_from(options[:from]) 90 | end 91 | 92 | # Convert the data to JSON. 93 | def to_json(options = {}) 94 | options[:destination] or require_destination! 95 | write_types(options.merge(format: :json)) 96 | end 97 | 98 | # Convert the data to YAML. 99 | def to_yaml(options = {}) 100 | options[:destination] or require_destination! 101 | write_types(options.merge(format: :yaml)) 102 | end 103 | 104 | private 105 | 106 | def sort(list) 107 | list.sort_by(&:simplified) 108 | end 109 | 110 | def load_from(source_type) 111 | method = :"load_#{source_type}" 112 | @loader.send(method) 113 | end 114 | 115 | def write_types(options) 116 | if options[:multiple_files] 117 | write_multiple_files(options) 118 | else 119 | write_one_file(options) 120 | end 121 | end 122 | 123 | def write_file(file, list, options) 124 | File.open(file, "wb") { |f| 125 | f.puts convert(sort(list), options[:format]) 126 | } 127 | end 128 | 129 | def write_one_file(options) 130 | d = options[:destination] 131 | d = File.join(d, "mime-types.#{options[:format]}") if File.directory?(d) 132 | 133 | write_file(d, @loader.container.map, options) 134 | end 135 | 136 | def write_multiple_files(options) 137 | d = options[:destination] 138 | must_be_directory!(d) 139 | 140 | media_types = @loader.container.map(&:media_type).map { |type| type.sub(/^x-/, "") }.uniq 141 | 142 | media_types.each { |media_type| 143 | n = File.join(d, "#{media_type}.#{options[:format]}") 144 | t = @loader.container.select { |e| 145 | e.media_type == media_type || e.media_type == "x-#{media_type}" 146 | } 147 | 148 | write_file(n, t, options) 149 | } 150 | end 151 | 152 | def convert(data, format) 153 | data.send(:"to_#{format}") 154 | end 155 | 156 | def require_destination! 157 | raise ArgumentError, "Destination path is required." 158 | end 159 | 160 | def must_be_directory!(path) 161 | raise ArgumentError, "Cannot write multiple files to a file." if File.exist?(path) && !File.directory?(path) 162 | 163 | FileUtils.mkdir_p(path) unless File.exist?(path) 164 | path 165 | end 166 | end 167 | -------------------------------------------------------------------------------- /support/convert/columnar.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require "convert" 4 | 5 | # Columnar conversion. 6 | class Convert::Columnar < Convert 7 | class << self 8 | # Converts from YAML to Columnar format. This *always* converts to multiple 9 | # files. 10 | def from_yaml_to_columnar(from: nil, to: nil) 11 | from_yaml(to_yaml_path(from)) 12 | .to_columnar(destination: to_data_path(to)) 13 | end 14 | end 15 | 16 | # Convert the data to multiple text files. 17 | def to_columnar(options = {}) 18 | root = options[:destination] or require_destination! 19 | @root = must_be_directory!(root) 20 | @data = @loader.container.sort_by(&:simplified).map(&:to_h) 21 | 22 | column_file("content_type") do |type| 23 | [type["content-type"], Array(type["extensions"]).join(" ")] 24 | .flatten.join(" ").strip 25 | end 26 | 27 | required_file("encoding") 28 | option_file("pext", "preferred-extension") 29 | option_file("docs") 30 | bool_file("flags", "obsolete", "registered", "signature", "provisional") 31 | dict_file("xrefs") 32 | dict_file("friendly") 33 | option_file("use_instead", "use-instead") 34 | bin_file("spri", "sort-priority") 35 | end 36 | 37 | def bin_file(name, field = name) 38 | File.binwrite(File.join(@root, "mime.#{name}.column"), @data.map { |type| type[field] }.pack("C*")) 39 | end 40 | 41 | def column_file(name, &block) 42 | File.open(File.join(@root, "mime.#{name}.column"), "wb") do |f| 43 | f.puts @data.map(&block) 44 | end 45 | end 46 | 47 | def bool_file(name, *fields) 48 | fields = [name] if fields.empty? 49 | column_file(name) do |type| 50 | fields.map { |field| 51 | type[field] ? 1 : 0 52 | }.join(" ") 53 | end 54 | end 55 | 56 | def required_file(name, field = name) 57 | column_file(name) { |type| type[field] } 58 | end 59 | 60 | def option_file(name, field = name) 61 | column_file(name) { |type| opt(type[field]) } 62 | end 63 | 64 | def array_file(name, field = name) 65 | column_file(name) { |type| arr(type[field]) } 66 | end 67 | 68 | def dict_file(name, field = name) 69 | column_file(name) { |type| dict(type[field]) } 70 | end 71 | 72 | def opt(value) 73 | value || "-" 74 | end 75 | 76 | def arr(value) 77 | Array(opt(value)).join("|") 78 | end 79 | 80 | def dict(value) 81 | if value 82 | value.sort.map { |k, v| 83 | [k, Array(v).compact.join("^")].join("^") 84 | }.join("|") 85 | else 86 | "-" 87 | end 88 | end 89 | end 90 | -------------------------------------------------------------------------------- /support/convert/mini_mime_db.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require "convert" 4 | 5 | # Columnar conversion. 6 | class Convert::MiniMimeDb < Convert 7 | class << self 8 | # Converts from YAML to MiniMime database format. This *always* converts to multiple 9 | # files. 10 | def from_yaml_to_mini_mime(from: nil, to: nil) 11 | from_yaml(to_yaml_path(from)) 12 | .to_mini_mime_db(destination: to_data_path(to)) 13 | end 14 | end 15 | 16 | # Convert the data to multiple text files. 17 | def to_mini_mime_db(options = {}) 18 | root = options[:destination] or require_destination! 19 | @root = must_be_directory!(root) 20 | @data = @loader.container.sort.map(&:to_h) 21 | 22 | index = {} 23 | @loader.container.each do |type| 24 | type.extensions.each { |ext| (index[ext.downcase] ||= []) << type } 25 | end 26 | 27 | index.each_pair do |_ext, list| 28 | list.sort! { |a, b| a.priority_compare(b) } 29 | end 30 | 31 | buffer = [] 32 | 33 | index.each_pair do |ext, list| 34 | mime_type = list.detect { |t| !t.obsolete? } 35 | mime_type ||= list.detect(&:registered) 36 | mime_type ||= list.first 37 | buffer << [ext.dup, mime_type.content_type.dup, mime_type.encoding.dup] 38 | end 39 | 40 | pad(buffer) 41 | 42 | buffer.sort_by! { |a| a[0] } 43 | 44 | n = File.join(root, "ext_mime.db") 45 | File.open(n, "wb") do |f| 46 | buffer.each { |(ext, type, encoding)| f.write "#{ext} #{type} #{encoding}\n" } 47 | end 48 | 49 | buffer.sort! { |a, b| [a[1], a[0]] <=> [b[1], b[0]] } 50 | buffer.each { |row| row.each { |col| col.strip! } } 51 | buffer.each do |row| 52 | next if row[0].strip == ".htaccess" 53 | row[0] = @loader.container.type_for("xyz.#{row[0].strip}")[0].extensions[0].dup 54 | end 55 | 56 | pad(buffer) 57 | 58 | n = File.join(root, "content_type_mime.db") 59 | File.open(n, "wb") do |f| 60 | last = nil 61 | buffer.each do |(ext, type, encoding)| 62 | f.write "#{ext} #{type} #{encoding}\n" unless last == type 63 | last = type 64 | end 65 | end 66 | end 67 | 68 | private 69 | 70 | def pad(array) 71 | max = [] 72 | array.each do |row| 73 | i = 0 74 | row.each do |col| 75 | max[i] = [max[i] || 0, col.length].max 76 | i += 1 77 | end 78 | end 79 | 80 | array.each do |row| 81 | i = 0 82 | 83 | row.each do |col| 84 | col << " " * (max[i] - col.length) 85 | i += 1 86 | end 87 | end 88 | end 89 | end 90 | -------------------------------------------------------------------------------- /support/iana_registry.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__) 4 | 5 | require "cgi" 6 | require "nokogiri" 7 | require "open-uri" 8 | require "pathname" 9 | require "yaml" 10 | 11 | require "mime/types/support" 12 | 13 | # IANA Registry importing 14 | class IANARegistry 15 | PROVISIONAL = "provisional-standard-types" 16 | DEFAULTS = { 17 | urls: %w[ 18 | https://www.iana.org/assignments/media-types/media-types.xml 19 | https://www.iana.org/assignments/provisional-standard-media-types/provisional-standard-media-types.xml 20 | ], 21 | to: Pathname(__FILE__).join("../../types") 22 | }.freeze.each_value(&:freeze) 23 | 24 | USE_INSTEAD_RE = %r{in favou?r of ([a-zA-Z][-a-zA-Z0-9+_.]*/[a-zA-Z0-9][-a-zA-Z0-9+_.]*)}.freeze 25 | 26 | def self.download(options = {}) 27 | dest = Pathname(options[:to] || DEFAULTS[:to]).expand_path 28 | urls = options.fetch(:urls, DEFAULTS[:urls]) 29 | 30 | puts "Downloading IANA MIME type assignments." 31 | 32 | collection = {} 33 | 34 | urls.each do |url| 35 | puts "\t#{url}" 36 | xml = Nokogiri::XML(URI.parse(url).open(&:read)) 37 | 38 | xml.css("registry registry").each do |registry| 39 | types = new(registry: registry, to: dest) do |parser| 40 | puts "Extracting #{parser.type}/*." 41 | parser.parse 42 | end 43 | 44 | collection[types.type] = types 45 | end 46 | end 47 | 48 | grouped_provisional = collection[PROVISIONAL].types.group_by(&:media_type) 49 | grouped_provisional.each_pair do |media_type, types| 50 | collection[media_type].merge_types(types) 51 | end 52 | 53 | collection.delete("examples") 54 | collection.delete(PROVISIONAL) 55 | 56 | collection.each_value(&:save) 57 | end 58 | 59 | attr_reader :type, :types 60 | 61 | def initialize(options = {}) 62 | @registry = options.fetch(:registry) 63 | @to = Pathname(options.fetch(:to)).expand_path 64 | 65 | @type = @registry.attributes["id"].value 66 | @provisional = @type == PROVISIONAL 67 | @name = "#{@type}.yaml" 68 | @file = @to.join(@name) 69 | @types = mime_types_for(@file) 70 | 71 | yield self if block_given? 72 | end 73 | 74 | ASSIGNMENT_FILE_REF = "{%s=http://www.iana.org/assignments/media-types/%s}" 75 | 76 | def parse 77 | @registry.css("record").each do |record| 78 | subtype = record.at_css("name").text 79 | obsolete = record.at_css("obsolete")&.text 80 | use_instead = record.at_css("deprecated")&.text 81 | 82 | if subtype =~ /OBSOLETE|DEPRECATE/i 83 | obsolete = true 84 | use_instead ||= Regexp.last_match(1) if subtype =~ USE_INSTEAD_RE 85 | end 86 | 87 | subtype, notes = subtype.split(/ /, 2) 88 | 89 | xrefs = parse_refs_and_files( 90 | record.css("xref"), 91 | record.css("file"), 92 | subtype 93 | ) 94 | 95 | xrefs.add("notes", notes) if notes 96 | 97 | content_type = @provisional ? subtype : [@type, subtype].join("/") 98 | existing_types = @types.select { |t| t.content_type.casecmp(content_type).zero? } 99 | 100 | if existing_types.empty? 101 | MIME::Type.new(content_type) do |mt| 102 | mt.xrefs = xrefs 103 | mt.registered = true 104 | mt.provisional = @provisional 105 | mt.obsolete = obsolete if obsolete 106 | mt.use_instead = use_instead if use_instead 107 | @types.add_type(mt, true) 108 | end 109 | else 110 | existing_types.each do |mt| 111 | mt.registered = true 112 | mt.xrefs = xrefs 113 | mt.obsolete = obsolete if obsolete 114 | mt.use_instead = use_instead if use_instead 115 | end 116 | end 117 | end 118 | end 119 | 120 | def save 121 | @to.mkpath 122 | File.open(@file, "wb") { |f| 123 | f.puts @types 124 | .map 125 | .to_a 126 | .sort { |a, b| a.content_type.casecmp(b.content_type) } 127 | .uniq 128 | .to_yaml 129 | } 130 | end 131 | 132 | def merge_types(other) 133 | other.each do |mt| 134 | existing_types = @types.select { |t| t.content_type.casecmp(mt.content_type).zero? } 135 | 136 | if existing_types.empty? 137 | @types.add_type(mt, true) 138 | else 139 | existing_types.each do |emt| 140 | emt.xrefs = mt.xrefs 141 | emt.registered = mt.registered 142 | emt.provisional = mt.provisional 143 | emt.provisional = mt.provisional 144 | emt.obsolete = mt.obsolete 145 | emt.use_instead = mt.use_instead 146 | end 147 | end 148 | end 149 | end 150 | 151 | private 152 | 153 | def mime_types_for(file) 154 | MIME::Types.new.tap do |container| 155 | if file.exist? && !@provisional 156 | container.add(*MIME::Types::Loader.load_from_yaml(file), :silent) 157 | end 158 | end 159 | end 160 | 161 | def parse_refs_and_files(refs, files, subtype) 162 | xr = MIME::Types::Container.new 163 | 164 | refs.each do |xref| 165 | type = xref["type"] 166 | data = xref["data"] 167 | 168 | next if data.nil? || data.empty? 169 | 170 | xr.add(type, data) 171 | end 172 | 173 | files.each do |file| 174 | file_name = if file.text == subtype 175 | [@type, subtype].join("/") 176 | else 177 | file.text 178 | end 179 | 180 | xr.add(file["type"], file_name) 181 | end 182 | 183 | xr 184 | end 185 | end 186 | -------------------------------------------------------------------------------- /support/mime/types/support.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require "mime/types" 4 | 5 | # We are an internal tool. Silence deprecation warnings. 6 | class MIME::Types 7 | def self.deprecated(*_args, &_block) 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /support/prepare_release.rb: -------------------------------------------------------------------------------- 1 | require_relative "apache_mime_types" 2 | require_relative "convert" 3 | require_relative "convert/columnar" 4 | require_relative "convert/mini_mime_db" 5 | require_relative "iana_registry" 6 | require_relative "tika_mime_types" 7 | 8 | class PrepareRelease 9 | def download_and_convert 10 | download_apache_mime_types 11 | download_iana_mime_types 12 | download_tike_mime_types 13 | convert_types 14 | self 15 | end 16 | 17 | def write_updated_version 18 | file = IO.read("lib/mime/types/data.rb") 19 | updated = file.sub(/VERSION = ['"][.0-9]+['"]/, %(VERSION = "#{new_version}")) 20 | 21 | IO.write("lib/mime/types/data.rb", updated) 22 | self 23 | end 24 | 25 | def write_updated_history 26 | history = IO.read("CHANGELOG.md") 27 | 28 | if !/^## #{release_header}$/.match?(history) 29 | # We need slightly different flows for a standalone update vs one that rolls in 30 | # additional changes because there is a NEXT header. 31 | pattern = 32 | if %r{^## NEXT / (?:YYYY|\d{4})-(?:MM|\d{2})-(?:DD|\d{2})}.match?(history) 33 | %r{[<]!-- automatic-release --[>]\n\n## NEXT / (?:YYYY|\d{4})-(?:MM|\d{2})-(?:DD|\d{2})} 34 | else 35 | %r{[<]!-- automatic-release --[>]\n} 36 | end 37 | 38 | note = <<~NOTE 39 | 40 | 41 | ## #{release_header} 42 | 43 | #{history_body} 44 | NOTE 45 | 46 | updated = history.sub(pattern, note) 47 | 48 | IO.write("CHANGELOG.md", updated) 49 | end 50 | 51 | self 52 | end 53 | 54 | def rake_git_manifest 55 | system("bundle exec rake git:manifest") 56 | self 57 | end 58 | 59 | def rake_gemspec 60 | system("bundle exec rake gemspec") 61 | self 62 | end 63 | 64 | def as_gha_vars 65 | unless ENV.key?("GITHUB_ENV") 66 | raise "This is not being run as a GitHub action, missing $GITHUB_ENV." 67 | end 68 | 69 | history_path = File.join(Dir.mktmpdir, "body.md") 70 | IO.write(history_path, history_body) 71 | 72 | body = <<~EOF_ENV 73 | UPDATE_VERSION=#{new_version} 74 | UPDATE_TITLE=Update mime-types-data #{release_header} 75 | UPDATE_BODY_PATH=#{history_path} 76 | EOF_ENV 77 | 78 | File.write(ENV["GITHUB_ENV"], body, mode: "a+") 79 | 80 | self 81 | end 82 | 83 | def download_apache_mime_types(destination = nil) 84 | ApacheMIMETypes.download(to: destination) 85 | end 86 | 87 | def download_iana_mime_types(destination = nil) 88 | IANARegistry.download(to: destination) 89 | end 90 | 91 | def download_tike_mime_types(destination = nil) 92 | TikeMIMETypes.download(to: destination) 93 | end 94 | 95 | def convert_yaml_to_json 96 | Convert.from_yaml_to_json 97 | end 98 | 99 | def convert_yaml_to_columnar 100 | Convert::Columnar.from_yaml_to_columnar 101 | end 102 | 103 | def convert_yaml_to_mini_mime_db 104 | Convert::MiniMimeDb.from_yaml_to_mini_mime 105 | end 106 | 107 | def convert_types 108 | convert_yaml_to_json 109 | convert_yaml_to_columnar 110 | convert_yaml_to_mini_mime_db 111 | self 112 | end 113 | 114 | def today 115 | @today ||= Date.today.strftime("%Y-%m-%d") 116 | end 117 | 118 | def release_header 119 | "#{new_version} / #{today}" 120 | end 121 | 122 | def new_version 123 | @new_version ||= begin 124 | version = 125 | IO.read("lib/mime/types/data.rb").scan(/VERSION = ['"](\d\.\d{4}\.\d{4}(?:\.\d+)?)['"]/).flatten.first 126 | 127 | major = Gem::Version.new(version).canonical_segments.first 128 | minor = Date.today.strftime("%Y.%m%d") 129 | 130 | "#{major}.#{minor}" 131 | end 132 | end 133 | 134 | def history_body 135 | <<-MARKDOWN 136 | - Updated registry entries from the IANA [media registry][registry] and 137 | [provisional media registry][provisional], the [Apache httpd media registry][httpd], 138 | and the [Apache Tika media registry][tika] as of the release date. 139 | MARKDOWN 140 | end 141 | end 142 | -------------------------------------------------------------------------------- /support/tika_mime_types.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__) 4 | 5 | require "open-uri" 6 | require "nokogiri" 7 | require "cgi" 8 | require "pathname" 9 | require "yaml" 10 | require "English" 11 | 12 | require "mime/types/support" 13 | 14 | # Update MIME types from the Tika MIME types 15 | class TikeMIMETypes 16 | DEFAULTS = { 17 | urls: ["https://github.com/apache/tika/raw/refs/heads/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"], 18 | to: Pathname(__FILE__).join("../../types") 19 | }.freeze.each_value(&:freeze) 20 | 21 | def self.download(options = {}) 22 | dest = Pathname(options[:to] || DEFAULTS[:to]).expand_path 23 | urls = options.fetch(:urls, DEFAULTS[:urls]) 24 | 25 | puts "Downloading Apache Tika MIME type list." 26 | 27 | urls.each do |url| 28 | puts "\t#{url}" 29 | 30 | new(dest) 31 | .parse(Nokogiri::XML(URI.parse(url).open(&:read)).xpath("/mime-info/mime-type")) 32 | .save 33 | end 34 | end 35 | 36 | def initialize(to) 37 | @to = Pathname(to).expand_path 38 | @registries = {} 39 | end 40 | 41 | def parse(records) 42 | records.each do |record| 43 | content_type = record["type"] 44 | 45 | # Do not process any records where the subtype includes attributes like format or 46 | # version. MIME::Types is not built for this specific behaviour. 47 | next if content_type =~ /;/ 48 | 49 | extensions = record.css("glob").map { |glob| 50 | if glob["isregex"] 51 | glob["pattern"].gsub(/\A\^|\$\z/, "") 52 | elsif glob["pattern"].start_with?("*.") 53 | glob["pattern"].sub(/^\*\./, "") 54 | elsif glob["pattern"] =~ /\A\.?[-\w]+\z/ 55 | glob["pattern"] 56 | end 57 | }.compact.map(&:downcase) 58 | 59 | type, _ = content_type.split("/", 2) 60 | type.gsub!(/\Ax-/, "") 61 | 62 | registry = registry_for(type) 63 | 64 | existing_types = registry[:types].select { |t| t.content_type.casecmp(content_type).zero? } 65 | 66 | if existing_types.empty? 67 | MIME::Type.new(content_type) do |mt| 68 | mt.extensions = extensions 69 | registry[:types].add_type(mt, true) 70 | end 71 | else 72 | existing_types.each do |mt| 73 | mt.add_extensions(extensions) 74 | end 75 | end 76 | end 77 | 78 | self 79 | end 80 | 81 | def save 82 | @to.mkpath 83 | 84 | @registries.each_value { |registry| 85 | File.open(registry[:file], "wb") { |f| 86 | f.puts registry[:types] 87 | .map 88 | .to_a 89 | .sort { |a, b| a.content_type.casecmp(b.content_type) } 90 | .uniq 91 | .to_yaml 92 | } 93 | } 94 | end 95 | 96 | private 97 | 98 | def registry_for(type) 99 | unless @registries[type] 100 | name = "#{type}.yaml" 101 | file = @to.join(name) 102 | @registries[type] = { 103 | file: file, 104 | types: mime_types_for(file) 105 | } 106 | end 107 | 108 | @registries[type] 109 | end 110 | 111 | def mime_types_for(file) 112 | MIME::Types.new.tap do |container| 113 | if file.exist? 114 | container.add(*MIME::Types::Loader.load_from_yaml(file), :silent) 115 | end 116 | end 117 | end 118 | end 119 | -------------------------------------------------------------------------------- /types/chemical.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | - !ruby/object:MIME::Type 3 | content-type: chemical/x-cdx 4 | friendly: 5 | en: ChemDraw eXchange file 6 | encoding: base64 7 | extensions: 8 | - cdx 9 | registered: false 10 | sort-priority: 47 11 | - !ruby/object:MIME::Type 12 | content-type: chemical/x-cif 13 | friendly: 14 | en: Crystallographic Interchange Format 15 | encoding: base64 16 | extensions: 17 | - cif 18 | registered: false 19 | sort-priority: 47 20 | - !ruby/object:MIME::Type 21 | content-type: chemical/x-cmdf 22 | friendly: 23 | en: CrystalMaker Data Format 24 | encoding: base64 25 | extensions: 26 | - cmdf 27 | registered: false 28 | sort-priority: 47 29 | - !ruby/object:MIME::Type 30 | content-type: chemical/x-cml 31 | friendly: 32 | en: Chemical Markup Language 33 | encoding: base64 34 | extensions: 35 | - cml 36 | registered: false 37 | sort-priority: 47 38 | - !ruby/object:MIME::Type 39 | content-type: chemical/x-csml 40 | friendly: 41 | en: Chemical Style Markup Language 42 | encoding: base64 43 | extensions: 44 | - csml 45 | registered: false 46 | sort-priority: 47 47 | - !ruby/object:MIME::Type 48 | content-type: chemical/x-pdb 49 | encoding: base64 50 | extensions: 51 | - pdb 52 | obsolete: true 53 | use-instead: x-chemical/x-pdb 54 | registered: false 55 | sort-priority: 175 56 | - !ruby/object:MIME::Type 57 | content-type: chemical/x-xyz 58 | friendly: 59 | en: XYZ File Format 60 | encoding: base64 61 | extensions: 62 | - xyz 63 | obsolete: true 64 | use-instead: x-chemical/x-xyz 65 | registered: false 66 | sort-priority: 175 67 | - !ruby/object:MIME::Type 68 | content-type: x-chemical/x-pdb 69 | encoding: base64 70 | extensions: 71 | - pdb 72 | registered: false 73 | sort-priority: 47 74 | - !ruby/object:MIME::Type 75 | content-type: x-chemical/x-xyz 76 | encoding: base64 77 | extensions: 78 | - xyz 79 | registered: false 80 | sort-priority: 47 81 | -------------------------------------------------------------------------------- /types/conference.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | - !ruby/object:MIME::Type 3 | content-type: x-conference/x-cooltalk 4 | friendly: 5 | en: CoolTalk 6 | encoding: base64 7 | extensions: 8 | - ice 9 | registered: false 10 | sort-priority: 47 11 | -------------------------------------------------------------------------------- /types/drawing.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | - !ruby/object:MIME::Type 3 | content-type: drawing/dwf 4 | encoding: base64 5 | extensions: 6 | - dwf 7 | obsolete: true 8 | use-instead: x-drawing/dwf 9 | registered: false 10 | sort-priority: 175 11 | - !ruby/object:MIME::Type 12 | content-type: x-drawing/dwf 13 | encoding: base64 14 | extensions: 15 | - dwf 16 | registered: false 17 | sort-priority: 47 18 | -------------------------------------------------------------------------------- /types/example.yaml: -------------------------------------------------------------------------------- 1 | --- [] 2 | -------------------------------------------------------------------------------- /types/font.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | - !ruby/object:MIME::Type 3 | content-type: font/collection 4 | encoding: base64 5 | extensions: 6 | - ttc 7 | xrefs: 8 | rfc: 9 | - rfc8081 10 | template: 11 | - font/collection 12 | registered: true 13 | sort-priority: 15 14 | - !ruby/object:MIME::Type 15 | content-type: font/otf 16 | encoding: base64 17 | extensions: 18 | - otf 19 | xrefs: 20 | rfc: 21 | - rfc8081 22 | template: 23 | - font/otf 24 | registered: true 25 | sort-priority: 15 26 | - !ruby/object:MIME::Type 27 | content-type: font/sfnt 28 | encoding: base64 29 | xrefs: 30 | rfc: 31 | - rfc8081 32 | template: 33 | - font/sfnt 34 | registered: true 35 | sort-priority: 16 36 | - !ruby/object:MIME::Type 37 | content-type: font/ttf 38 | encoding: base64 39 | extensions: 40 | - ttf 41 | xrefs: 42 | rfc: 43 | - rfc8081 44 | template: 45 | - font/ttf 46 | registered: true 47 | sort-priority: 15 48 | - !ruby/object:MIME::Type 49 | content-type: font/woff 50 | encoding: base64 51 | extensions: 52 | - woff 53 | xrefs: 54 | rfc: 55 | - rfc8081 56 | template: 57 | - font/woff 58 | registered: true 59 | sort-priority: 15 60 | - !ruby/object:MIME::Type 61 | content-type: font/woff2 62 | encoding: base64 63 | extensions: 64 | - woff2 65 | xrefs: 66 | rfc: 67 | - rfc8081 68 | template: 69 | - font/woff2 70 | registered: true 71 | sort-priority: 15 72 | -------------------------------------------------------------------------------- /types/haptics.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | - !ruby/object:MIME::Type 3 | content-type: haptics/hjif 4 | encoding: base64 5 | xrefs: 6 | rfc: 7 | - rfc9695 8 | template: 9 | - haptics/hjif 10 | registered: true 11 | sort-priority: 16 12 | - !ruby/object:MIME::Type 13 | content-type: haptics/hmpg 14 | encoding: base64 15 | xrefs: 16 | rfc: 17 | - rfc9695 18 | template: 19 | - haptics/hmpg 20 | registered: true 21 | sort-priority: 16 22 | - !ruby/object:MIME::Type 23 | content-type: haptics/ivs 24 | encoding: base64 25 | xrefs: 26 | rfc: 27 | - rfc9695 28 | template: 29 | - haptics/ivs 30 | registered: true 31 | sort-priority: 16 32 | -------------------------------------------------------------------------------- /types/message.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | - !ruby/object:MIME::Type 3 | content-type: message/bhttp 4 | encoding: base64 5 | xrefs: 6 | rfc: 7 | - rfc9292 8 | template: 9 | - message/bhttp 10 | registered: true 11 | sort-priority: 16 12 | - !ruby/object:MIME::Type 13 | content-type: message/CPIM 14 | encoding: base64 15 | xrefs: 16 | rfc: 17 | - rfc3862 18 | template: 19 | - message/CPIM 20 | registered: true 21 | sort-priority: 16 22 | - !ruby/object:MIME::Type 23 | content-type: message/delivery-status 24 | encoding: base64 25 | xrefs: 26 | rfc: 27 | - rfc1894 28 | template: 29 | - message/delivery-status 30 | registered: true 31 | sort-priority: 16 32 | - !ruby/object:MIME::Type 33 | content-type: message/disposition-notification 34 | encoding: base64 35 | xrefs: 36 | rfc: 37 | - rfc8098 38 | template: 39 | - message/disposition-notification 40 | registered: true 41 | sort-priority: 16 42 | - !ruby/object:MIME::Type 43 | content-type: message/example 44 | encoding: base64 45 | xrefs: 46 | rfc: 47 | - rfc4735 48 | template: 49 | - message/example 50 | registered: true 51 | sort-priority: 16 52 | - !ruby/object:MIME::Type 53 | content-type: message/external-body 54 | encoding: 8bit 55 | xrefs: 56 | rfc: 57 | - rfc2045 58 | - rfc2046 59 | template: 60 | - message/external-body 61 | registered: true 62 | sort-priority: 16 63 | - !ruby/object:MIME::Type 64 | content-type: message/feedback-report 65 | encoding: base64 66 | xrefs: 67 | rfc: 68 | - rfc5965 69 | template: 70 | - message/feedback-report 71 | registered: true 72 | sort-priority: 16 73 | - !ruby/object:MIME::Type 74 | content-type: message/global 75 | encoding: base64 76 | xrefs: 77 | rfc: 78 | - rfc6532 79 | template: 80 | - message/global 81 | registered: true 82 | sort-priority: 16 83 | - !ruby/object:MIME::Type 84 | content-type: message/global-delivery-status 85 | encoding: base64 86 | xrefs: 87 | rfc: 88 | - rfc6533 89 | template: 90 | - message/global-delivery-status 91 | registered: true 92 | sort-priority: 16 93 | - !ruby/object:MIME::Type 94 | content-type: message/global-disposition-notification 95 | encoding: base64 96 | xrefs: 97 | rfc: 98 | - rfc6533 99 | template: 100 | - message/global-disposition-notification 101 | registered: true 102 | sort-priority: 16 103 | - !ruby/object:MIME::Type 104 | content-type: message/global-headers 105 | encoding: base64 106 | xrefs: 107 | rfc: 108 | - rfc6533 109 | template: 110 | - message/global-headers 111 | registered: true 112 | sort-priority: 16 113 | - !ruby/object:MIME::Type 114 | content-type: message/http 115 | encoding: base64 116 | xrefs: 117 | rfc: 118 | - rfc9112 119 | template: 120 | - message/http 121 | registered: true 122 | sort-priority: 16 123 | - !ruby/object:MIME::Type 124 | content-type: message/imdn+xml 125 | encoding: base64 126 | xrefs: 127 | rfc: 128 | - rfc5438 129 | template: 130 | - message/imdn+xml 131 | registered: true 132 | sort-priority: 16 133 | - !ruby/object:MIME::Type 134 | content-type: message/mls 135 | encoding: base64 136 | xrefs: 137 | rfc: 138 | - rfc9420 139 | template: 140 | - message/mls 141 | registered: true 142 | sort-priority: 16 143 | - !ruby/object:MIME::Type 144 | content-type: message/news 145 | encoding: 8bit 146 | obsolete: true 147 | xrefs: 148 | rfc: 149 | - rfc5537 150 | person: 151 | - Henry_Spencer 152 | template: 153 | - message/news 154 | notes: 155 | - "(OBSOLETED by )" 156 | registered: true 157 | sort-priority: 144 158 | - !ruby/object:MIME::Type 159 | content-type: message/ohttp-req 160 | encoding: base64 161 | xrefs: 162 | rfc: 163 | - rfc9458 164 | template: 165 | - message/ohttp-req 166 | registered: true 167 | sort-priority: 16 168 | - !ruby/object:MIME::Type 169 | content-type: message/ohttp-res 170 | encoding: base64 171 | xrefs: 172 | rfc: 173 | - rfc9458 174 | template: 175 | - message/ohttp-res 176 | registered: true 177 | sort-priority: 16 178 | - !ruby/object:MIME::Type 179 | content-type: message/partial 180 | encoding: 8bit 181 | xrefs: 182 | rfc: 183 | - rfc2045 184 | - rfc2046 185 | template: 186 | - message/partial 187 | registered: true 188 | sort-priority: 16 189 | - !ruby/object:MIME::Type 190 | content-type: message/rfc822 191 | friendly: 192 | en: Email Message 193 | encoding: 8bit 194 | extensions: 195 | - eml 196 | - mime 197 | xrefs: 198 | rfc: 199 | - rfc2045 200 | - rfc2046 201 | template: 202 | - message/rfc822 203 | registered: true 204 | sort-priority: 14 205 | - !ruby/object:MIME::Type 206 | content-type: message/s-http 207 | encoding: base64 208 | obsolete: true 209 | xrefs: 210 | rfc: 211 | - rfc2660 212 | uri: 213 | - https://datatracker.ietf.org/doc/status-change-http-experiments-to-historic 214 | template: 215 | - message/s-http 216 | notes: 217 | - "(OBSOLETE)" 218 | registered: true 219 | sort-priority: 144 220 | - !ruby/object:MIME::Type 221 | content-type: message/sip 222 | encoding: base64 223 | xrefs: 224 | rfc: 225 | - rfc3261 226 | template: 227 | - message/sip 228 | registered: true 229 | sort-priority: 16 230 | - !ruby/object:MIME::Type 231 | content-type: message/sipfrag 232 | encoding: base64 233 | xrefs: 234 | rfc: 235 | - rfc3420 236 | template: 237 | - message/sipfrag 238 | registered: true 239 | sort-priority: 16 240 | - !ruby/object:MIME::Type 241 | content-type: message/tracking-status 242 | encoding: base64 243 | xrefs: 244 | rfc: 245 | - rfc3886 246 | template: 247 | - message/tracking-status 248 | registered: true 249 | sort-priority: 16 250 | - !ruby/object:MIME::Type 251 | content-type: message/vnd.si.simp 252 | encoding: base64 253 | obsolete: true 254 | xrefs: 255 | person: 256 | - Nicholas_Parks_Young 257 | template: 258 | - message/vnd.si.simp 259 | notes: 260 | - "(OBSOLETED by request)" 261 | registered: true 262 | sort-priority: 144 263 | - !ruby/object:MIME::Type 264 | content-type: message/vnd.wfa.wsc 265 | encoding: base64 266 | xrefs: 267 | person: 268 | - Mick_Conley 269 | template: 270 | - message/vnd.wfa.wsc 271 | registered: true 272 | sort-priority: 16 273 | - !ruby/object:MIME::Type 274 | content-type: message/x-emlx 275 | encoding: base64 276 | extensions: 277 | - emlx 278 | registered: false 279 | sort-priority: 47 280 | -------------------------------------------------------------------------------- /types/model.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | - !ruby/object:MIME::Type 3 | content-type: model/3mf 4 | encoding: base64 5 | xrefs: 6 | uri: 7 | - http://www.3mf.io/specification 8 | person: 9 | - Michael_Sweet 10 | - _3MF 11 | template: 12 | - model/3mf 13 | registered: true 14 | sort-priority: 16 15 | - !ruby/object:MIME::Type 16 | content-type: model/e57 17 | encoding: base64 18 | extensions: 19 | - e57 20 | xrefs: 21 | person: 22 | - ASTM 23 | template: 24 | - model/e57 25 | registered: true 26 | sort-priority: 15 27 | - !ruby/object:MIME::Type 28 | content-type: model/example 29 | encoding: base64 30 | xrefs: 31 | rfc: 32 | - rfc4735 33 | template: 34 | - model/example 35 | registered: true 36 | sort-priority: 16 37 | - !ruby/object:MIME::Type 38 | content-type: model/gltf+json 39 | encoding: base64 40 | xrefs: 41 | person: 42 | - Khronos 43 | - Uli_Klumpp 44 | template: 45 | - model/gltf+json 46 | registered: true 47 | sort-priority: 16 48 | - !ruby/object:MIME::Type 49 | content-type: model/gltf-binary 50 | encoding: base64 51 | xrefs: 52 | person: 53 | - Khronos 54 | - Saurabh_Bhatia 55 | template: 56 | - model/gltf-binary 57 | registered: true 58 | sort-priority: 16 59 | - !ruby/object:MIME::Type 60 | content-type: model/iges 61 | friendly: 62 | en: Initial Graphics Exchange Specification (IGES) 63 | encoding: base64 64 | extensions: 65 | - igs 66 | - iges 67 | xrefs: 68 | person: 69 | - Curtis_Parks 70 | template: 71 | - model/iges 72 | registered: true 73 | sort-priority: 14 74 | - !ruby/object:MIME::Type 75 | content-type: model/JT 76 | encoding: base64 77 | xrefs: 78 | person: 79 | - ISO-TC_184-SC_4 80 | - Michael_Zink 81 | template: 82 | - model/JT 83 | registered: true 84 | sort-priority: 16 85 | - !ruby/object:MIME::Type 86 | content-type: model/mesh 87 | friendly: 88 | en: Mesh Data Type 89 | encoding: base64 90 | extensions: 91 | - msh 92 | - mesh 93 | - silo 94 | xrefs: 95 | rfc: 96 | - rfc2077 97 | template: 98 | - model/mesh 99 | registered: true 100 | sort-priority: 13 101 | - !ruby/object:MIME::Type 102 | content-type: model/mtl 103 | encoding: base64 104 | xrefs: 105 | person: 106 | - Carolyn_Hull 107 | - DICOM_Standard_Committee 108 | - DICOM_WG_17 109 | template: 110 | - model/mtl 111 | registered: true 112 | sort-priority: 16 113 | - !ruby/object:MIME::Type 114 | content-type: model/obj 115 | encoding: base64 116 | xrefs: 117 | person: 118 | - Carolyn_Hull 119 | - DICOM_Standard_Committee 120 | - DICOM_WG_17 121 | template: 122 | - model/obj 123 | registered: true 124 | sort-priority: 16 125 | - !ruby/object:MIME::Type 126 | content-type: model/prc 127 | encoding: base64 128 | xrefs: 129 | person: 130 | - Betsy_Fanning 131 | - ISO-TC_171-SC_2 132 | template: 133 | - model/prc 134 | registered: true 135 | sort-priority: 16 136 | - !ruby/object:MIME::Type 137 | content-type: model/step 138 | encoding: base64 139 | xrefs: 140 | person: 141 | - Dana_Tripp 142 | - ISO-TC_184-SC_4 143 | template: 144 | - model/step 145 | registered: true 146 | sort-priority: 16 147 | - !ruby/object:MIME::Type 148 | content-type: model/step+xml 149 | encoding: base64 150 | xrefs: 151 | person: 152 | - Dana_Tripp 153 | - ISO-TC_184-SC_4 154 | template: 155 | - model/step+xml 156 | registered: true 157 | sort-priority: 16 158 | - !ruby/object:MIME::Type 159 | content-type: model/step+zip 160 | encoding: base64 161 | xrefs: 162 | person: 163 | - Dana_Tripp 164 | - ISO-TC_184-SC_4 165 | template: 166 | - model/step+zip 167 | registered: true 168 | sort-priority: 16 169 | - !ruby/object:MIME::Type 170 | content-type: model/step-xml+zip 171 | encoding: base64 172 | xrefs: 173 | person: 174 | - Dana_Tripp 175 | - ISO-TC_184-SC_4 176 | template: 177 | - model/step-xml+zip 178 | registered: true 179 | sort-priority: 16 180 | - !ruby/object:MIME::Type 181 | content-type: model/stl 182 | encoding: base64 183 | xrefs: 184 | person: 185 | - Carolyn_Hull 186 | - DICOM_Standard_Committee 187 | - DICOM_WG_17 188 | template: 189 | - model/stl 190 | registered: true 191 | sort-priority: 16 192 | - !ruby/object:MIME::Type 193 | content-type: model/u3d 194 | encoding: base64 195 | xrefs: 196 | person: 197 | - PDF_Association 198 | - Peter_Wyatt 199 | template: 200 | - model/u3d 201 | registered: true 202 | sort-priority: 16 203 | - !ruby/object:MIME::Type 204 | content-type: model/vnd.bary 205 | encoding: base64 206 | xrefs: 207 | person: 208 | - Displaced_Micro-Mesh_SDK_Support 209 | template: 210 | - model/vnd.bary 211 | registered: true 212 | sort-priority: 16 213 | - !ruby/object:MIME::Type 214 | content-type: model/vnd.cld 215 | encoding: base64 216 | xrefs: 217 | person: 218 | - Robert_Monaghan 219 | template: 220 | - model/vnd.cld 221 | registered: true 222 | sort-priority: 16 223 | - !ruby/object:MIME::Type 224 | content-type: model/vnd.collada+xml 225 | friendly: 226 | en: COLLADA 227 | encoding: base64 228 | extensions: 229 | - dae 230 | xrefs: 231 | person: 232 | - James_Riordon 233 | template: 234 | - model/vnd.collada+xml 235 | registered: true 236 | sort-priority: 15 237 | - !ruby/object:MIME::Type 238 | content-type: model/vnd.dwf 239 | friendly: 240 | en: Autodesk Design Web Format (DWF) 241 | encoding: base64 242 | extensions: 243 | - dwf 244 | xrefs: 245 | person: 246 | - Jason_Pratt 247 | template: 248 | - model/vnd.dwf 249 | registered: true 250 | sort-priority: 15 251 | - !ruby/object:MIME::Type 252 | content-type: model/vnd.dwfx+xps 253 | encoding: base64 254 | extensions: 255 | - dwfx 256 | registered: false 257 | sort-priority: 47 258 | - !ruby/object:MIME::Type 259 | content-type: model/vnd.flatland.3dml 260 | encoding: base64 261 | xrefs: 262 | person: 263 | - Michael_Powers 264 | template: 265 | - model/vnd.flatland.3dml 266 | registered: true 267 | sort-priority: 16 268 | - !ruby/object:MIME::Type 269 | content-type: model/vnd.gdl 270 | friendly: 271 | en: Geometric Description Language (GDL) 272 | encoding: base64 273 | extensions: 274 | - gdl 275 | xrefs: 276 | person: 277 | - Attila_Babits 278 | template: 279 | - model/vnd.gdl 280 | registered: true 281 | sort-priority: 15 282 | - !ruby/object:MIME::Type 283 | content-type: model/vnd.gs-gdl 284 | encoding: base64 285 | xrefs: 286 | person: 287 | - Attila_Babits 288 | template: 289 | - model/vnd.gs-gdl 290 | registered: true 291 | sort-priority: 16 292 | - !ruby/object:MIME::Type 293 | content-type: model/vnd.gs.gdl 294 | encoding: base64 295 | registered: false 296 | sort-priority: 48 297 | - !ruby/object:MIME::Type 298 | content-type: model/vnd.gtw 299 | friendly: 300 | en: Gen-Trix Studio 301 | encoding: base64 302 | extensions: 303 | - gtw 304 | xrefs: 305 | person: 306 | - Yutaka_Ozaki 307 | template: 308 | - model/vnd.gtw 309 | registered: true 310 | sort-priority: 15 311 | - !ruby/object:MIME::Type 312 | content-type: model/vnd.moml+xml 313 | encoding: base64 314 | xrefs: 315 | person: 316 | - Christopher_Brooks 317 | template: 318 | - model/vnd.moml+xml 319 | registered: true 320 | sort-priority: 16 321 | - !ruby/object:MIME::Type 322 | content-type: model/vnd.mts 323 | friendly: 324 | en: Virtue MTS 325 | encoding: base64 326 | extensions: 327 | - mts 328 | xrefs: 329 | person: 330 | - Boris_Rabinovitch 331 | template: 332 | - model/vnd.mts 333 | registered: true 334 | sort-priority: 15 335 | - !ruby/object:MIME::Type 336 | content-type: model/vnd.opengex 337 | encoding: base64 338 | xrefs: 339 | person: 340 | - Eric_Lengyel 341 | template: 342 | - model/vnd.opengex 343 | registered: true 344 | sort-priority: 16 345 | - !ruby/object:MIME::Type 346 | content-type: model/vnd.parasolid.transmit.binary 347 | encoding: base64 348 | extensions: 349 | - x_b 350 | - xmt_bin 351 | xrefs: 352 | person: 353 | - Parasolid 354 | template: 355 | - model/vnd.parasolid.transmit.binary 356 | registered: true 357 | sort-priority: 14 358 | - !ruby/object:MIME::Type 359 | content-type: model/vnd.parasolid.transmit.text 360 | encoding: quoted-printable 361 | extensions: 362 | - x_t 363 | - xmt_txt 364 | xrefs: 365 | person: 366 | - Parasolid 367 | template: 368 | - model/vnd.parasolid.transmit.text 369 | registered: true 370 | sort-priority: 14 371 | - !ruby/object:MIME::Type 372 | content-type: model/vnd.pytha.pyox 373 | encoding: base64 374 | xrefs: 375 | person: 376 | - Daniel_Flassig 377 | template: 378 | - model/vnd.pytha.pyox 379 | registered: true 380 | sort-priority: 16 381 | - !ruby/object:MIME::Type 382 | content-type: model/vnd.rosette.annotated-data-model 383 | encoding: base64 384 | xrefs: 385 | person: 386 | - Benson_Margulies 387 | template: 388 | - model/vnd.rosette.annotated-data-model 389 | registered: true 390 | sort-priority: 16 391 | - !ruby/object:MIME::Type 392 | content-type: model/vnd.sap.vds 393 | encoding: base64 394 | xrefs: 395 | person: 396 | - Igor_Afanasyev 397 | - SAP_SE 398 | template: 399 | - model/vnd.sap.vds 400 | registered: true 401 | sort-priority: 16 402 | - !ruby/object:MIME::Type 403 | content-type: model/vnd.usda 404 | encoding: base64 405 | xrefs: 406 | person: 407 | - Sebastian_Grassia 408 | template: 409 | - model/vnd.usda 410 | registered: true 411 | sort-priority: 16 412 | - !ruby/object:MIME::Type 413 | content-type: model/vnd.usdz+zip 414 | encoding: base64 415 | xrefs: 416 | person: 417 | - Sebastian_Grassia 418 | template: 419 | - model/vnd.usdz+zip 420 | registered: true 421 | sort-priority: 16 422 | - !ruby/object:MIME::Type 423 | content-type: model/vnd.valve.source.compiled-map 424 | encoding: base64 425 | xrefs: 426 | person: 427 | - Henrik_Andersson 428 | template: 429 | - model/vnd.valve.source.compiled-map 430 | registered: true 431 | sort-priority: 16 432 | - !ruby/object:MIME::Type 433 | content-type: model/vnd.vtu 434 | friendly: 435 | en: Virtue VTU 436 | encoding: base64 437 | extensions: 438 | - vtu 439 | xrefs: 440 | person: 441 | - Boris_Rabinovitch 442 | template: 443 | - model/vnd.vtu 444 | registered: true 445 | sort-priority: 15 446 | - !ruby/object:MIME::Type 447 | content-type: model/vrml 448 | friendly: 449 | en: Virtual Reality Modeling Language 450 | encoding: base64 451 | extensions: 452 | - wrl 453 | - vrml 454 | xrefs: 455 | rfc: 456 | - rfc2077 457 | template: 458 | - model/vrml 459 | registered: true 460 | sort-priority: 14 461 | - !ruby/object:MIME::Type 462 | content-type: model/x.stl-ascii 463 | encoding: base64 464 | registered: false 465 | sort-priority: 48 466 | - !ruby/object:MIME::Type 467 | content-type: model/x.stl-binary 468 | encoding: base64 469 | extensions: 470 | - stl 471 | registered: false 472 | sort-priority: 47 473 | - !ruby/object:MIME::Type 474 | content-type: model/x3d+binary 475 | encoding: base64 476 | extensions: 477 | - x3db 478 | - x3dbz 479 | registered: false 480 | sort-priority: 46 481 | - !ruby/object:MIME::Type 482 | content-type: model/x3d+fastinfoset 483 | encoding: base64 484 | xrefs: 485 | person: 486 | - Web3D_X3D 487 | template: 488 | - model/x3d+fastinfoset 489 | registered: true 490 | sort-priority: 16 491 | - !ruby/object:MIME::Type 492 | content-type: model/x3d+vrml 493 | encoding: base64 494 | extensions: 495 | - x3dv 496 | - x3dvz 497 | registered: false 498 | sort-priority: 46 499 | - !ruby/object:MIME::Type 500 | content-type: model/x3d+xml 501 | encoding: base64 502 | extensions: 503 | - x3d 504 | - x3dz 505 | xrefs: 506 | person: 507 | - Web3D 508 | - Web3D_X3D 509 | template: 510 | - model/x3d+xml 511 | registered: true 512 | sort-priority: 14 513 | - !ruby/object:MIME::Type 514 | content-type: model/x3d-vrml 515 | encoding: base64 516 | xrefs: 517 | person: 518 | - Web3D 519 | - Web3D_X3D 520 | template: 521 | - model/x3d-vrml 522 | registered: true 523 | sort-priority: 16 524 | -------------------------------------------------------------------------------- /types/multipart.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | - !ruby/object:MIME::Type 3 | content-type: multipart/alternative 4 | encoding: 8bit 5 | xrefs: 6 | rfc: 7 | - rfc2045 8 | - rfc2046 9 | template: 10 | - multipart/alternative 11 | registered: true 12 | sort-priority: 16 13 | - !ruby/object:MIME::Type 14 | content-type: multipart/appledouble 15 | encoding: 8bit 16 | xrefs: 17 | person: 18 | - Patrik_Faltstrom 19 | template: 20 | - multipart/appledouble 21 | registered: true 22 | sort-priority: 16 23 | - !ruby/object:MIME::Type 24 | content-type: multipart/byteranges 25 | encoding: base64 26 | xrefs: 27 | rfc: 28 | - rfc9110 29 | template: 30 | - multipart/byteranges 31 | registered: true 32 | sort-priority: 16 33 | - !ruby/object:MIME::Type 34 | content-type: multipart/digest 35 | encoding: 8bit 36 | xrefs: 37 | rfc: 38 | - rfc2045 39 | - rfc2046 40 | template: 41 | - multipart/digest 42 | registered: true 43 | sort-priority: 16 44 | - !ruby/object:MIME::Type 45 | content-type: multipart/encrypted 46 | encoding: base64 47 | xrefs: 48 | rfc: 49 | - rfc1847 50 | template: 51 | - multipart/encrypted 52 | registered: true 53 | sort-priority: 16 54 | - !ruby/object:MIME::Type 55 | content-type: multipart/example 56 | encoding: base64 57 | xrefs: 58 | rfc: 59 | - rfc4735 60 | template: 61 | - multipart/example 62 | registered: true 63 | sort-priority: 16 64 | - !ruby/object:MIME::Type 65 | content-type: multipart/form-data 66 | encoding: base64 67 | xrefs: 68 | rfc: 69 | - rfc7578 70 | template: 71 | - multipart/form-data 72 | registered: true 73 | sort-priority: 16 74 | - !ruby/object:MIME::Type 75 | content-type: multipart/header-set 76 | encoding: base64 77 | xrefs: 78 | person: 79 | - Dave_Crocker 80 | template: 81 | - multipart/header-set 82 | registered: true 83 | sort-priority: 16 84 | - !ruby/object:MIME::Type 85 | content-type: multipart/mixed 86 | encoding: 8bit 87 | xrefs: 88 | rfc: 89 | - rfc2045 90 | - rfc2046 91 | template: 92 | - multipart/mixed 93 | registered: true 94 | sort-priority: 16 95 | - !ruby/object:MIME::Type 96 | content-type: multipart/multilingual 97 | encoding: base64 98 | xrefs: 99 | rfc: 100 | - rfc8255 101 | template: 102 | - multipart/multilingual 103 | registered: true 104 | sort-priority: 16 105 | - !ruby/object:MIME::Type 106 | content-type: multipart/parallel 107 | encoding: 8bit 108 | xrefs: 109 | rfc: 110 | - rfc2045 111 | - rfc2046 112 | template: 113 | - multipart/parallel 114 | registered: true 115 | sort-priority: 16 116 | - !ruby/object:MIME::Type 117 | content-type: multipart/related 118 | encoding: base64 119 | extensions: 120 | - mht 121 | - mhtml 122 | xrefs: 123 | rfc: 124 | - rfc2387 125 | template: 126 | - multipart/related 127 | registered: true 128 | sort-priority: 14 129 | - !ruby/object:MIME::Type 130 | content-type: multipart/report 131 | encoding: base64 132 | xrefs: 133 | rfc: 134 | - rfc6522 135 | template: 136 | - multipart/report 137 | registered: true 138 | sort-priority: 16 139 | - !ruby/object:MIME::Type 140 | content-type: multipart/signed 141 | encoding: base64 142 | xrefs: 143 | rfc: 144 | - rfc1847 145 | template: 146 | - multipart/signed 147 | registered: true 148 | sort-priority: 16 149 | - !ruby/object:MIME::Type 150 | content-type: multipart/vnd.bint.med-plus 151 | encoding: base64 152 | xrefs: 153 | person: 154 | - Heinz-Peter_Schütz 155 | template: 156 | - multipart/vnd.bint.med-plus 157 | registered: true 158 | sort-priority: 16 159 | - !ruby/object:MIME::Type 160 | content-type: multipart/voice-message 161 | encoding: base64 162 | xrefs: 163 | rfc: 164 | - rfc3801 165 | template: 166 | - multipart/voice-message 167 | registered: true 168 | sort-priority: 16 169 | - !ruby/object:MIME::Type 170 | content-type: multipart/x-gzip 171 | encoding: base64 172 | registered: false 173 | sort-priority: 48 174 | - !ruby/object:MIME::Type 175 | content-type: multipart/x-mixed-replace 176 | encoding: base64 177 | xrefs: 178 | person: 179 | - Robin_Berjon 180 | - W3C 181 | template: 182 | - multipart/x-mixed-replace 183 | registered: true 184 | sort-priority: 16 185 | - !ruby/object:MIME::Type 186 | content-type: multipart/x-parallel 187 | encoding: base64 188 | obsolete: true 189 | use-instead: multipart/parallel 190 | registered: false 191 | sort-priority: 176 192 | - !ruby/object:MIME::Type 193 | content-type: multipart/x-tar 194 | encoding: base64 195 | registered: false 196 | sort-priority: 48 197 | - !ruby/object:MIME::Type 198 | content-type: multipart/x-ustar 199 | encoding: base64 200 | registered: false 201 | sort-priority: 48 202 | - !ruby/object:MIME::Type 203 | content-type: multipart/x-www-form-urlencoded 204 | encoding: base64 205 | obsolete: true 206 | use-instead: application/x-www-form-urlencoded 207 | registered: false 208 | sort-priority: 176 209 | - !ruby/object:MIME::Type 210 | content-type: multipart/x-zip 211 | encoding: base64 212 | registered: false 213 | sort-priority: 48 214 | -------------------------------------------------------------------------------- /types/world.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | - !ruby/object:MIME::Type 3 | content-type: x-world/x-vrml 4 | encoding: base64 5 | extensions: 6 | - wrl 7 | - vrml 8 | registered: false 9 | sort-priority: 46 10 | --------------------------------------------------------------------------------