From 1d593243e604cee29e5de2cd7b8e2faca0c1c8f2 Mon Sep 17 00:00:00 2001 From: Tushar Goel Date: Mon, 3 Jul 2023 17:44:30 +0530 Subject: [PATCH 1/2] Add support to find source repo for a package Signed-off-by: Tushar Goel --- minecode/tests/test_maven.py | 26 + ...pulsar-client-merged-ancestor-package.json | 50 + minecode/visitors/maven.py | 25 + packagedb/find_source_repo.py | 456 +++ .../commands/create_source_repo_packages.py | 37 +- .../commands/get_source_download_url.py | 28 + packagedb/models.py | 16 + packagedb/tests/test_find_source_repo.py | 295 ++ .../find_source_repo/tags_commits.txt | 1207 +++++++ .../find_source_repo/tags_commits_list.txt | 2962 +++++++++++++++++ requirements.txt | 2 +- setup.cfg | 2 +- 12 files changed, 5078 insertions(+), 28 deletions(-) create mode 100644 minecode/tests/testfiles/maven/pom/pulsar-client-merged-ancestor-package.json create mode 100644 packagedb/find_source_repo.py create mode 100644 packagedb/management/commands/get_source_download_url.py create mode 100644 packagedb/tests/test_find_source_repo.py create mode 100644 packagedb/tests/testfiles/find_source_repo/tags_commits.txt create mode 100644 packagedb/tests/testfiles/find_source_repo/tags_commits_list.txt diff --git a/minecode/tests/test_maven.py b/minecode/tests/test_maven.py index 2448623d..a6500441 100644 --- a/minecode/tests/test_maven.py +++ b/minecode/tests/test_maven.py @@ -13,6 +13,7 @@ import re from mock import patch +from unittest import mock from django.test import TestCase as DjangoTestCase @@ -829,3 +830,28 @@ def test_merge_ancestors(self, regen=False): maven_visitor.merge_ancestors(ancestor_pom_texts, package) expected_after_loc = self.get_test_loc('maven/pom/pulsar-client-1x-2.5.1-package_after.json') self.check_expected_results(package.to_dict(), expected_after_loc, regen=regen) + + @mock.patch("minecode.visitors.maven.get_pom_text") + def test_get_merged_ancestor_package_from_maven_package(self, get_pom_text_mock, regen=False): + get_pom_text_mock.return_value = "" + ancestor_pom_texts = [] + with patch("minecode.visitors.maven.get_ancestry") as mock_get_ancestry: + for loc in [ + self.get_test_loc('maven/pom/apache-18.pom'), + self.get_test_loc('maven/pom/pulsar-2.5.1.pom'), + self.get_test_loc('maven/pom/pulsar-client-1x-base-2.5.1.pom') + ]: + with open(loc) as f: + pom_text = f.read() + ancestor_pom_texts.append(pom_text) + mock_get_ancestry.return_value = ancestor_pom_texts + db_package = packagedb.models.Package.objects.create( + name="pulsar-client", + namespace="org.apache.pulsar", + version="2.5.1", + type="maven", + download_url="https://repo1.maven.org/maven2/org/apache/pulsar/pulsar-client/2.5.1/pulsar-client-2.5.1.jar", + ) + merged_package = maven_visitor.get_merged_ancestor_package_from_maven_package(package=db_package) + expected_loc = self.get_test_loc('maven/pom/pulsar-client-merged-ancestor-package.json') + self.check_expected_results(merged_package.to_dict(), expected_loc, regen=regen) diff --git a/minecode/tests/testfiles/maven/pom/pulsar-client-merged-ancestor-package.json b/minecode/tests/testfiles/maven/pom/pulsar-client-merged-ancestor-package.json new file mode 100644 index 00000000..de037417 --- /dev/null +++ b/minecode/tests/testfiles/maven/pom/pulsar-client-merged-ancestor-package.json @@ -0,0 +1,50 @@ +{ + "type":"maven", + "namespace":"org.apache.pulsar", + "name":"pulsar-client", + "version":"2.5.1", + "qualifiers":"", + "subpath":"", + "package_sets":[], + "package_content":null, + "primary_language":null, + "description":null, + "release_date":null, + "parties":[], + "keywords":[], + "homepage_url":"https://www.apache.org/", + "download_url":"https://repo1.maven.org/maven2/org/apache/pulsar/pulsar-client/2.5.1/pulsar-client-2.5.1.jar", + "size":null, + "md5":null, + "sha1":null, + "sha256":null, + "sha512":null, + "bug_tracking_url":null, + "code_view_url":null, + "vcs_url":null, + "copyright":null, + "holder":null, + "declared_license_expression":"apache-2.0", + "declared_license_expression_spdx":null, + "license_detections":[], + "other_license_expression":null, + "other_license_expression_spdx":null, + "other_license_detections":[], + "extracted_license_statement":null, + "notice_text":null, + "source_packages":[], + "extra_data":{ + "history":[ + "Field `declared_license_expression` has been updated using values obtained from the parent POM pkg:maven/org.apache/apache@18", + "Field `homepage_url` has been updated using values obtained from the parent POM pkg:maven/org.apache/apache@18" + ] + }, + "dependencies":[], + "package_uid":"pkg:maven/org.apache.pulsar/pulsar-client@2.5.1?uuid=fixed-uid-done-for-testing-5642512d1758", + "datasource_id":null, + "purl":"pkg:maven/org.apache.pulsar/pulsar-client@2.5.1", + "repository_homepage_url":null, + "repository_download_url":null, + "api_data_url":null, + "file_references":[] +} \ No newline at end of file diff --git a/minecode/visitors/maven.py b/minecode/visitors/maven.py index 8b2e10b0..023f672a 100644 --- a/minecode/visitors/maven.py +++ b/minecode/visitors/maven.py @@ -13,6 +13,7 @@ import io import json import logging +from typing import Dict import arrow import requests @@ -109,6 +110,8 @@ def get_pom_text(namespace, name, version, qualifiers={}): field arguments in a string. """ # Create URLs using purl fields + if qualifiers and not isinstance(qualifiers, Dict): + return urls = get_urls( namespace=namespace, name=name, @@ -152,6 +155,8 @@ def fetch_parent(pom_text): """ Return the parent pom text of `pom_text`, or None if `pom_text` has no parent. """ + if not pom_text: + return pom = get_maven_pom(text=pom_text) if ( pom.parent @@ -188,6 +193,26 @@ def get_ancestry(pom_text): return reversed(ancestors) +def get_merged_ancestor_package_from_maven_package(package): + """ + Merge package details of a package with its ancestor pom + and return the merged package. + """ + if not package: + return + pom_text = get_pom_text( + name=package.name, + namespace=package.namespace, + version=package.version, + qualifiers=package.qualifiers, + ) + merged_package = merge_ancestors( + ancestor_pom_texts=get_ancestry(pom_text), + package=package, + ) + return merged_package + + def merge_parent(package, parent_package): """ Merge `parent_package` data into `package` and return `package. diff --git a/packagedb/find_source_repo.py b/packagedb/find_source_repo.py new file mode 100644 index 00000000..75e48557 --- /dev/null +++ b/packagedb/find_source_repo.py @@ -0,0 +1,456 @@ +# +# Copyright (c) nexB Inc. and others. All rights reserved. +# purldb is a trademark of nexB Inc. +# SPDX-License-Identifier: Apache-2.0 +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/purldb for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. +# + +import enum +import logging +import subprocess +from typing import Generator +from typing import List +from urllib.parse import urlparse + +import requests +from packageurl import PackageURL +from packageurl.contrib.purl2url import get_download_url +from packageurl.contrib.purl2url import purl2url +from scancode.api import get_urls as get_urls_from_location + +from minecode.model_utils import add_package_to_scan_queue +from minecode.visitors.maven import get_merged_ancestor_package_from_maven_package +from packagedb.models import Package +from packagedb.models import PackageContentType +from packagedb.models import PackageSet + +logger = logging.getLogger(__name__) + + +class URLDataReturnType(enum.Enum): + """ + Return type for get_urls_from_text + """ + + url = "url" # This the final URL after redirects + text = "text" # This is the text of the response + + +non_reachable_urls = [] +CACHE = { + # url: data +} + + +def get_urls_from_text(text): + """ + Return the URLs found in a text + """ + lines = text.splitlines() + # location can be a list of lines + for url in get_urls_from_location(location=lines)["urls"]: + yield url["url"] + + +def get_data_from_response(response, data_type=URLDataReturnType.text): + """ + Return the data from a response + """ + if not response: + return + data_by_type = { + URLDataReturnType.url: response.url, + URLDataReturnType.text: response.text, + } + if data_type in data_by_type: + return data_by_type[data_type] + else: + raise ValueError(f"Invalid data_type: {data_type}") + + +def get_data_from_url( + url, + data_type=URLDataReturnType.text, + timeout=None, +): + """ + Return the text from URL + """ + try: + if not url: + return + if url in non_reachable_urls: + return + if url in CACHE: + response = CACHE[url] + return get_data_from_response(response=response, data_type=data_type) + response = requests.get(url=url, timeout=timeout) + if response.status_code != 200: + non_reachable_urls.append(url) + return + CACHE[url] = response + return get_data_from_response(response=response, data_type=data_type) + except Exception as e: + logger.error(f"Error getting {url}: {e}") + non_reachable_urls.append(url) + return + + +def convert_apache_svn_to_github_url(url): + """ + Convert an SVN URL to a GitHub URL + >>> convert_apache_svn_to_github_url("svn+https://svn.apache.org/repos/asf/cdi/tags/1.0/cdi-extension-el-jsp") + 'https://github.com/apache/cdi/tree/1.0' + """ + # svn+https://svn.apache.org/repos/asf/{name}/tags/{tag}/cdi-extension-el-jsp + if "svn+" in url: + _, _, url = url.partition("svn+") + urlparsed_result = urlparse(url=url) + # https://github.com/apache/{name}/tree/{tag} + if urlparsed_result.netloc != "svn.apache.org": + return + path = urlparsed_result.path + path_segs = path.split("/") + if len(path_segs) < 6: + return + if path_segs[1] != "repos": + return + if path_segs[2] != "asf": + return + if path_segs[4] != "tags": + return + name = path_segs[3] + tag = path_segs[5] + return f"https://github.com/apache/{name}/tree/{tag}" + + +def add_source_repo_to_package_set( + source_repo_type, + source_repo_name, + source_repo_namespace, + source_repo_version, + download_url, + purl, + source_purl, + package, +): + """ + Take source repo package information, create source package + and add it to a Package set + """ + # Create new Package from the source_purl fields + source_repo_package, created = Package.objects.get_or_create( + type=source_repo_type, + namespace=source_repo_namespace, + name=source_repo_name, + version=source_repo_version, + download_url=download_url, + package_content=PackageContentType.SOURCE_REPO, + ) + package_sets = package.package_sets.all() + if not package_sets: + # Create a Package set if we don't have one + package_set = PackageSet.objects.create() + package_set.add_to_package_set(package) + package_set.add_to_package_set(source_repo_package) + else: + for package_set in package_sets.all(): + package_set.add_to_package_set(source_repo_package) + if created: + add_package_to_scan_queue(source_repo_package) + logger.info(f"\tCreated source repo package {source_purl} for {purl}") + else: + logger.info( + f"\tAssigned source repo package {source_purl} to Package set {package_set.uuid}" + ) + + +def get_source_repo_and_add_to_package_set(): + """ + Add the PackageURL of the source repository of a Package + if found + """ + for package in Package.objects.all().paginated(): + source_purl_with_tag = get_source_repo(package=package) + download_url = None + try: + download_url = get_download_url(str(source_purl_with_tag)) + except: + logger.error(f"Error getting download_url for {source_purl_with_tag}") + continue + if not download_url: + continue + add_source_repo_to_package_set( + source_repo_type=source_purl_with_tag.type, + source_repo_name=source_purl_with_tag.name, + source_repo_namespace=source_purl_with_tag.namespace, + source_repo_version=source_purl_with_tag.version, + download_url=download_url, + purl=package.purl, + source_purl=source_purl_with_tag, + package=package, + ) + + +def get_source_repo(package: Package) -> PackageURL: + """ + Return the PackageURL of the source repository of a Package + or None if not found + """ + repo_urls = list(get_repo_urls(package)) + if not repo_urls: + return + # dedupe repo urls + repo_urls = list(set(repo_urls)) + source_purls = list(convert_repo_urls_to_purls(repo_urls)) + if not source_purls: + return + source_purls = list(set(source_purls)) + source_purl_with_tag = find_package_version_tag_and_commit( + version=package.version, source_purls=source_purls + ) + if source_purl_with_tag: + return source_purl_with_tag + + +def get_repo_urls(package: Package) -> Generator[str, None, None]: + """ + Return the URL of the source repository of a package + """ + source_urls = get_source_urls_from_package_data_and_resources(package=package) + if source_urls: + yield from source_urls + + # TODO: Use univers to sort versions + # TODO: Also consider using dates https://github.com/nexB/purldb/issues/136 + for version_package in package.get_all_versions().order_by("-version"): + source_urls = get_source_urls_from_package_data_and_resources( + package=version_package + ) + if source_urls: + yield from source_urls + + if package.type == "maven": + yield from get_source_urls_from_package_data_and_resources( + package=get_merged_ancestor_package_from_maven_package(package=package) + ) + + +def get_source_urls_from_package_data_and_resources(package: Package) -> List[str]: + """ + Return the URL of the source repository of a package + or None if not found + """ + if not package: + return [] + source_urls = list(get_urls_from_package_data(package)) + if source_urls: + return source_urls + source_urls = list(get_urls_from_package_resources(package)) + if source_urls: + return source_urls + return [] + + +def convert_repo_urls_to_purls(source_urls): + """ + Convert a source URL to a purl + """ + url_hints = [ + "github", + "gitlab", + "bitbucket", + ] + if not source_urls: + return + for source_url in source_urls: + # git@github.com+https://github.com/graphql-java/java-dataloader.git + if source_url.startswith("git@github.com+"): + _, _, source_url = source_url.partition("+") + # https+//github.com/graphql-java-kickstart/graphql-java-servlet.git + if source_url.startswith("https+//"): + # convert https+// to https:// + source_url = source_url.replace("https+//", "https://") + if ( + source_url.startswith("git+https://") or source_url.startswith("git://") + ) and "@" in source_url: + # remove the commit from the end of the URL + source_url, _, _ = source_url.rpartition("@") + # remove .git from the end of the URL + if source_url.endswith(".git"): + source_url, _, _ = source_url.rpartition(".git") + if source_url.startswith("git://"): + # remove git:// from the beginning of the URL + _, _, source_url = source_url.partition("git://") + if ":" in source_url: + # convert : to / + source_url = source_url.replace(":", "/") + source_url = f"https://{source_url}" + urlparse_result = urlparse(source_url) + path_segments = urlparse_result.path.split("/") + if not len(path_segments) > 2: + continue + namespace = path_segments[1] + name = path_segments[2] + if not name: + continue + for url_hint in url_hints: + if url_hint in urlparse_result.netloc: + yield PackageURL( + type=url_hint, + namespace=namespace, + name=name, + ) + + +def get_urls_from_package_resources(package): + """ + Return the URL of the source repository of a package + """ + urls = [] + for resource in package.resources.filter(is_key_file=True): + urls = [url["url"] for url in resource.urls] + yield from get_git_repo_urls(urls=urls) + + +def get_urls_from_package_data(package) -> Generator[str, None, None]: + """ + Return the URL of the source repository of a package + """ + # TODO: Use the source package url + # TODO: If the package is already a repo package then don't do anything + # TODO: Search for URLs in description, qualifiers, download_url, notice_text, extracted_license_statement. + description = package.description or "" + urls_from_description_and_homepage_urls = ( + get_urls_from_description_and_homepage_urls(package, description) + ) + urls = [ + package.code_view_url, + package.homepage_url, + package.bug_tracking_url, + package.repository_homepage_url, + package.vcs_url, + package.repository_download_url, + ] + urls.extend(urls_from_description_and_homepage_urls) + yield from get_git_repo_urls(urls=urls) + + +def get_urls_from_description_and_homepage_urls(package, description): + homepage_text = get_data_from_url( + url=package.homepage_url, data_type=URLDataReturnType.text + ) + repository_homepage_text = get_data_from_url( + url=package.repository_homepage_url, data_type=URLDataReturnType.text + ) + if homepage_text: + description += homepage_text + if repository_homepage_text: + description += repository_homepage_text + urls_from_description = list(get_urls_from_text(text=description)) + return urls_from_description + + +def get_git_repo_urls(urls): + """ + Return the first URL that contains a git repo URL + """ + # TODO: Refine this + url_hints = [ + "github", + "gitlab", + "bitbucket", + ] + for url in urls: + if not url: + continue + if "svn.apache.org" in url: + url = convert_apache_svn_to_github_url(url) + if url and any(url_hint in url for url_hint in url_hints): + yield url + else: + if url.startswith("git+"): + _, _, url = url.partition("git+") + try: + url = get_data_from_url( + url=url, data_type=URLDataReturnType.url, timeout=(10, None) + ) + if not url: + continue + except Exception as e: + logger.error(f"Error getting {url}: {e}") + continue + if any(url_hint in url for url_hint in url_hints): + yield url + + +def get_tags_and_commits(source_purl): + """ + Yield tuples of (tag, commit), given a source_purl PackageURL + """ + try: + repo_url = purl2url(str(source_purl)) + if not get_data_from_url(url=repo_url, data_type=URLDataReturnType.url): + return + # This is a jQuery Plugins Site Reserved Word and we don't want to scan it + if repo_url.startswith("https://github.com/assets"): + return + output = subprocess.getoutput(f"git ls-remote {repo_url}") + yield from get_tags_and_commits_from_git_output(output) + except Exception as e: + logger.error(f"Error getting tags and commits for {source_purl}: {e}") + + +def get_tags_and_commits_from_git_output(git_ls_remote): + """ + Yield tuples of (tag, commit), given a git ls-remote output + """ + for line in git_ls_remote.split("\n"): + # line: kjwfgeklngelkfjofjeo123 refs/tags/1.2.3 + line_segments = line.split("\t") + # segments: ["kjwfgeklngelkfjofjeo123", "refs/tags/1.2.3"] + if len(line_segments) > 1 and line_segments[1].startswith("refs/tags/"): + commit = line_segments[0] + tag = line_segments[1].replace("refs/tags/", "") + yield tag, commit + + +def get_tag_and_commit(version, tags_and_commits): + """ + Return a tuple of (tag, commit) given a package version string or + None if no matching tag and commit is found + """ + version = version.lower() + for tag, commit in tags_and_commits: + modified_tag = tag.lower() + # if tag looks like 1_2_3 convert it to 1.2.3 + modified_tag = modified_tag.replace("_", ".") + # strip the leading v + modified_tag = modified_tag.lstrip("v") + # TODO: Handle other conventions to better match a version and a tag + if modified_tag == version: + return tag, commit + + +def find_package_version_tag_and_commit(version, source_purls): + """ + Return a tuple of (tag, commit) given a package version string and source_purl PackageURL + return None if no matching tag and commit is found + """ + for source_purl in source_purls: + tags_and_commits = get_tags_and_commits(source_purl=source_purl) + tag_and_commit = get_tag_and_commit( + version=version, tags_and_commits=tags_and_commits + ) + if not tag_and_commit: + continue + tag, commit = tag_and_commit + return PackageURL( + type=source_purl.type, + namespace=source_purl.namespace, + name=source_purl.name, + version=tag, + qualifiers={"commit": commit}, + ) diff --git a/packagedb/management/commands/create_source_repo_packages.py b/packagedb/management/commands/create_source_repo_packages.py index 4e3c33f7..612b7eb8 100644 --- a/packagedb/management/commands/create_source_repo_packages.py +++ b/packagedb/management/commands/create_source_repo_packages.py @@ -7,19 +7,16 @@ # See https://aboutcode.org for more information about nexB OSS projects. # -from uuid import uuid4 import logging import sys +from uuid import uuid4 -from packageurl.contrib.django.utils import purl_to_lookups import openpyxl +from packageurl.contrib.django.utils import purl_to_lookups -from minecode.model_utils import add_package_to_scan_queue from minecode.management.commands import VerboseCommand +from packagedb.find_source_repo import add_source_repo_to_package_set from packagedb.models import Package -from packagedb.models import PackageContentType -from packagedb.models import PackageSet - TRACE = False @@ -95,24 +92,12 @@ def handle(self, *args, **options): continue # binary packages can only be part of one package set - package_set = package.package_sets.first() - if not package_set: - # Create a Package set if we don't have one - package_set = PackageSet.objects.create() - package_set.add_to_package_set(package) - - # Create new Package from the source_ fields - source_repo_package, created = Package.objects.get_or_create( - type=row['source_type'], - namespace=row['source_namespace'], - name=row['source_name'], - version=row['source_version'], - download_url=row['source_download_url'], - package_content=PackageContentType.SOURCE_REPO, + add_source_repo_to_package_set(source_repo_type = row['source_type'], + source_repo_name = row['source_name'], + source_repo_namespace = row['source_namespace'], + source_repo_version = row['source_version'], + download_url = row['source_download_url'], + purl=purl, + source_purl=source_purl, + package=package, ) - package_set.add_to_package_set(source_repo_package) - if created: - add_package_to_scan_queue(source_repo_package) - print(f'\tCreated source repo package {source_purl} for {purl}') - else: - print(f'\tAssigned source repo package {source_purl} to Package set {package_set.uuid}') diff --git a/packagedb/management/commands/get_source_download_url.py b/packagedb/management/commands/get_source_download_url.py new file mode 100644 index 00000000..17d7cc8a --- /dev/null +++ b/packagedb/management/commands/get_source_download_url.py @@ -0,0 +1,28 @@ +# +# Copyright (c) nexB Inc. and others. All rights reserved. +# purldb is a trademark of nexB Inc. +# SPDX-License-Identifier: Apache-2.0 +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/purldb for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. +# + +import logging +import sys + +from minecode.management.commands import VerboseCommand +from packagedb.find_source_repo import get_source_repo_and_add_to_package_set + +TRACE = False + +logger = logging.getLogger(__name__) +logging.basicConfig(stream=sys.stdout) +logger.setLevel(logging.INFO) + + +class Command(VerboseCommand): + help = "Create source repo packages for Package object and add it to package sets" + + def handle(self, *args, **options): + logger.info("Finding source repo for packages") + get_source_repo_and_add_to_package_set() diff --git a/packagedb/models.py b/packagedb/models.py index 5017315f..633ad0bf 100644 --- a/packagedb/models.py +++ b/packagedb/models.py @@ -15,6 +15,7 @@ from django.contrib.postgres.fields import ArrayField from django.contrib.postgres.indexes import GinIndex from django.contrib.postgres.search import SearchVectorField +from django.core.paginator import Paginator from django.db import models from django.utils import timezone from django.utils.translation import gettext_lazy as _ @@ -55,6 +56,21 @@ def get_or_none(self, *args, **kwargs): return self.get(*args, **kwargs) except self.DoesNotExist: return + + def paginated(self, per_page=5000): + """ + Iterate over a (large) QuerySet by chunks of ``per_page`` items. + This technique is essential for preventing memory issues when iterating + See these links for inspiration: + https://nextlinklabs.com/resources/insights/django-big-data-iteration + https://stackoverflow.com/questions/4222176/why-is-iterating-through-a-large-django-queryset-consuming-massive-amounts-of-me/ + """ + paginator = Paginator(self, per_page=per_page) + for page_number in paginator.page_range: + page = paginator.page(page_number) + for object in page.object_list: + yield object + VCS_CHOICES = [ diff --git a/packagedb/tests/test_find_source_repo.py b/packagedb/tests/test_find_source_repo.py new file mode 100644 index 00000000..035d3921 --- /dev/null +++ b/packagedb/tests/test_find_source_repo.py @@ -0,0 +1,295 @@ +# +# Copyright (c) nexB Inc. and others. All rights reserved. +# purldb is a trademark of nexB Inc. +# SPDX-License-Identifier: Apache-2.0 +# See http://www.apache.org/licenses/LICENSE-2.0 for the license text. +# See https://github.com/nexB/purldb for support or download. +# See https://aboutcode.org for more information about nexB OSS projects. +# + +import json +import os +from unittest import mock +from unittest.mock import patch +from uuid import uuid4 + +import pytest +from django.test import TestCase +from packageurl import PackageURL + +from packagedb.find_source_repo import convert_repo_urls_to_purls +from packagedb.find_source_repo import get_repo_urls +from packagedb.find_source_repo import get_source_repo +from packagedb.find_source_repo import get_source_urls_from_package_data_and_resources +from packagedb.find_source_repo import get_tag_and_commit +from packagedb.find_source_repo import get_tags_and_commits +from packagedb.find_source_repo import get_urls_from_package_data +from packagedb.find_source_repo import get_urls_from_package_resources +from packagedb.models import Package +from packagedb.models import PackageContentType +from packagedb.models import Resource + +BASE_DIR = os.path.dirname(os.path.abspath(__file__)) +TEST_DATA = os.path.join(BASE_DIR, "testfiles", "find_source_repo", "tags_commits.txt") +TAGS_COMMITS_FILE = os.path.join(BASE_DIR, "testfiles", "find_source_repo", "tags_commits_list.txt") + + +class TestFindSourceRepo(TestCase): + def setUp(self): + self.package_with_resources_and_package_data = Package.objects.create( + type="maven", + namespace="com.nimbusds", + name="oauth2-oidc-sdk", + version="9.35", + package_content=PackageContentType.SOURCE_ARCHIVE, + download_url="https://repo1.maven.org/maven2/com/nimbusds/oauth2-oidc-sdk/9.35/oauth2-oidc-sdk-9.35.jar", + vcs_url="git+https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions.git", + homepage_url="https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions", + code_view_url="https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/src/master/", + ) + Resource.objects.create( + package=self.package_with_resources_and_package_data, + path="oauth2-oidc-sdk-9.35-sources.jar", + is_key_file=False, + urls=[ + { + "url": "https://repo1.maven.org/maven2/com/nimbusds/oauth2-oidc-sdk/9.35/oauth2-oidc-sdk-9.35-sources.jar", + } + ], + ) + Resource.objects.create( + package=self.package_with_resources_and_package_data, + path="Manifest.MF", + is_key_file=True, + urls=[ + { + "url": "https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions", + } + ], + ) + Resource.objects.create( + package=self.package_with_resources_and_package_data, + path="Manifest-1.MF", + is_key_file=True, + urls=[ + { + "url": "https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/tree/master/oauth-oidc-sdk/src/main/resources/META-INF/MANIFEST.MF", + } + ], + ) + self.package_without_resources_and_package_data = Package.objects.create( + type="maven", + namespace="com.nimbusds", + name="oauth2-oidc-sdk", + version="9.36", + package_content=PackageContentType.SOURCE_ARCHIVE, + download_url="https://repo1.maven.org/maven2/com/nimbusds/oauth2-oidc-sdk/9.36/oauth2-oidc-sdk-9.36.jar", + ) + self.package_with_resources_and_without_package_data = Package.objects.create( + type="maven", + namespace="com.nimbusds", + name="oauth2-oidc-sdk", + version="9.37", + package_content=PackageContentType.SOURCE_ARCHIVE, + download_url="https://repo1.maven.org/maven2/com/nimbusds/oauth2-oidc-sdk/9.37/oauth2-oidc-sdk-9.37.jar", + ) + Resource.objects.create( + package=self.package_with_resources_and_without_package_data, + path="oauth2-oidc-sdk-9.37-sources.jar", + is_key_file=False, + urls=[ + { + "url": "https://repo1.maven.org/maven2/com/nimbusds/oauth2-oidc-sdk/9.37/oauth2-oidc-sdk-9.37-sources.jar", + } + ], + ) + Resource.objects.create( + package=self.package_with_resources_and_without_package_data, + path="Manifest.MF", + is_key_file=True, + urls=[ + { + "url": "https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions", + } + ], + ) + self.package_without_versions = Package.objects.create( + type="maven", + namespace="foo", + name="bar", + version="11", + package_content=PackageContentType.SOURCE_ARCHIVE, + download_url="https://repo1.maven.org/maven2/com/foo/bar/11/bar.11.jar", + ) + + @mock.patch("packagedb.find_source_repo.get_urls_from_description_and_homepage_urls") + def test_get_source_purl_from_package_data(self, mock): + mock.return_value = ["https://bitbucket/ab/cd"] + source_urls = list(get_urls_from_package_data(self.package_with_resources_and_package_data)) + assert source_urls == [ + "https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/src/master/", + "https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions", + "git+https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions.git", + "https://bitbucket/ab/cd", + ] + + def test_get_source_purl_from_package_resources(self): + source_urls = list( + get_urls_from_package_resources(self.package_with_resources_and_package_data) + ) + assert source_urls == [ + "https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions", + "https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/tree/master/oauth-oidc-sdk/src/main/resources/META-INF/MANIFEST.MF", + ] + + @mock.patch("packagedb.find_source_repo.get_urls_from_description_and_homepage_urls") + @mock.patch("packagedb.find_source_repo.get_merged_ancestor_package_from_maven_package") + def test_get_source_purl_from_package_data_and_resources(self, mock1, mock2): + mock1.return_value = None + mock2.return_value = [] + source_urls = get_source_urls_from_package_data_and_resources( + self.package_without_resources_and_package_data + ) + assert source_urls == [] + source_urls = get_source_urls_from_package_data_and_resources( + self.package_with_resources_and_package_data + ) + assert source_urls == [ + "https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/src/master/", + "https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions", + "git+https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions.git", + ] + source_urls = get_source_urls_from_package_data_and_resources( + self.package_with_resources_and_without_package_data + ) + assert source_urls == [ + "https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions", + ] + + @mock.patch("packagedb.find_source_repo.get_urls_from_description_and_homepage_urls") + @mock.patch("packagedb.find_source_repo.get_merged_ancestor_package_from_maven_package") + def test_get_repo_urls(self, mock1, mock2): + mock1.return_value = None + mock2.return_value = [] + source_urls = list(get_repo_urls(package=self.package_without_resources_and_package_data)) + assert source_urls == [ + "https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions", + "https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/src/master/", + "https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions", + "git+https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions.git", + ] + source_urls = list(get_repo_urls(package=self.package_without_versions)) + assert source_urls == [] + source_urls = list(get_repo_urls(package=self.package_with_resources_and_package_data)) + assert source_urls == [ + "https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/src/master/", + "https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions", + "git+https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions.git", + "https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions", + "https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/src/master/", + "https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions", + "git+https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions.git", + ] + + def test_convert_repo_urls_to_purls(self): + source_urls = list( + convert_repo_urls_to_purls( + ["https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions"] + ) + ) + source_urls = [str(source_url) for source_url in source_urls] + assert source_urls == [ + "pkg:bitbucket/connect2id/oauth-2.0-sdk-with-openid-connect-extensions" + ] + source_urls = list( + convert_repo_urls_to_purls( + [ + "git+https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions.git" + ] + ) + ) + source_urls = [str(source_url) for source_url in source_urls] + assert source_urls == [ + "pkg:bitbucket/connect2id/oauth-2.0-sdk-with-openid-connect-extensions" + ] + + assert list( + convert_repo_urls_to_purls(["git://github.com:maxmind/MaxMind-DB-Reader-java"]) + ) == [ + PackageURL( + type="github", + namespace="maxmind", + name="MaxMind-DB-Reader-java", + version=None, + qualifiers=None, + subpath=None, + ) + ] + + assert list( + convert_repo_urls_to_purls( + [ + "git+https://github.com/ckeditor/ckeditor4-react.git@335af5b25923beaf5446652dcf2f06574f413779" + ] + ) + ) == [ + PackageURL( + type="github", + namespace="ckeditor", + name="ckeditor4-react", + version=None, + qualifiers=None, + subpath=None, + ) + ] + + assert list( + convert_repo_urls_to_purls(["git+https://github.com/ckeditor/ckeditor4-react.git"]) + ) == [ + PackageURL( + type="github", + namespace="ckeditor", + name="ckeditor4-react", + version=None, + qualifiers=None, + subpath=None, + ) + ] + + def test_get_tags_commits(self): + with patch("packagedb.find_source_repo.get_data_from_url"): + with patch("subprocess.getoutput") as mock_popen: + mock_popen.return_value = open(TEST_DATA).read() + with open(TAGS_COMMITS_FILE) as f: + data = json.load(f) + tags_and_commits = [] + for tag, commit in data: + tags_and_commits.append((tag, commit)) + assert tags_and_commits == list( + get_tags_and_commits( + source_purl=PackageURL( + type="bitbucket", + namespace="connect2id", + name="oauth-2.0-sdk-with-openid-connect-extensions", + ) + ) + ) + assert get_tag_and_commit( + version="9.35", + tags_and_commits=tags_and_commits, + ) == ("9.35", "fdc8117af75b192e3f8afcc0119c904b02686af8") + + def test_get_source_repo(self): + with patch("packagedb.find_source_repo.get_data_from_url"): + with patch("subprocess.getoutput") as mock_popen: + mock_popen.return_value = open(TEST_DATA).read() + assert get_source_repo( + package=self.package_without_resources_and_package_data, + ) == PackageURL( + type="bitbucket", + namespace="connect2id", + name="oauth-2.0-sdk-with-openid-connect-extensions", + version="9.36", + qualifiers={"commit": "e86fb3431972d302fcb615aca0baed4d8ab89791"}, + subpath=None, + ) diff --git a/packagedb/tests/testfiles/find_source_repo/tags_commits.txt b/packagedb/tests/testfiles/find_source_repo/tags_commits.txt new file mode 100644 index 00000000..e3e9932a --- /dev/null +++ b/packagedb/tests/testfiles/find_source_repo/tags_commits.txt @@ -0,0 +1,1207 @@ +62f01c46cf13febbd5bbb790731c5e06456ca963 HEAD +1160c10b417a4a8acc6a1aaa6937c231c44154c7 refs/heads/5.64 +61168b4f750db824d55cb603c33c3fbf0fc5d10e refs/heads/7.1.x +1cd6af8ec210d51b5741f2ba8ee8487e66e86e35 refs/heads/7.x +5d0c0473e27d242eb7d9c39b812a617f94b1f051 refs/heads/8.x +d503a45948126acc1ad108a5a73cc6230288e01f refs/heads/9.43.x +78c5962f4f665ce904d0a326364f01fccb854ac7 refs/heads/advanced-userinfo-claims +87c6150a837750c2da7907605414381187f8f75a refs/heads/fapi-cert-test +f0186b0393119b68f61e5acaa22b1d583b6961b0 refs/heads/iss104 +6b94b55dea57870fc474eb6e940bf094a47fbd77 refs/heads/iss105 +bfa4ad7cbea29c0862656701c4cd72c8ee9446f9 refs/heads/iss106 +c381a97ecbf61005f8ccbceb3731c2185e16af56 refs/heads/iss107 +c64c1713a1ebbe74614270692ec0c51c10ad5a48 refs/heads/iss109 +f6d7107b181ddeada7f3bcdb10dd4e4f8bfbe370 refs/heads/iss110 +5569c96e55afabb3397edfe35518043109536dfb refs/heads/iss113 +fbe1eb1b4990efffcca7172ffa2258d8e6175a51 refs/heads/iss114 +bfed5bc9e9e8ac4c336c44e824eee7324a3006e1 refs/heads/iss117 +24d79092d8bca8911291e00db3956c1b201e2783 refs/heads/iss121 +cb8e69c86af6f38fb1ba1a4c232993d6ad4bcd72 refs/heads/iss127 +73ce31cb9019f9897d6c7bcb521cee206c63cfd0 refs/heads/iss132 +2da38b1ceec83b984ef08765c42b1fb643fb2327 refs/heads/iss133 +c4055ed339ad1142d5438d5fef5768b4bf40f5aa refs/heads/iss134 +4673b22224e8132607457a4eb401200b3c9c7809 refs/heads/iss135 +2247d4fbc93a4373567073f759b0ee33000458fb refs/heads/iss136 +54efac986b15e9b0892de19f82c9c1d1e87967b7 refs/heads/iss140 +34538b11df988ee0ecaa1ca712cd866377fd0e1d refs/heads/iss141 +13e52c8643e75f18c416b8bb744701bab253d276 refs/heads/iss142 +66db1c4a6a64df5278a3a8a7c790b1fc74a11b8d refs/heads/iss143 +3146da7869642cd0ef65f6e41237063916db1f12 refs/heads/iss147 +f0733445e6d115b0b35fdbcc140d1feb3ba21a6a refs/heads/iss148 +5b4d2b9e1501941e7f07b3f44c8eab6c7d399f8e refs/heads/iss149 +1f28c6b2c096b82aac7237ffc975aadefe45f166 refs/heads/iss151 +518333e5088050258e7ac9d2ae18312473f484d3 refs/heads/iss152 +7e74fe19fd9fe029ec4211c8f297a1524d77df50 refs/heads/iss153 +d962d231ede25726c905978fbeb5d01b1ff155c8 refs/heads/iss158 +ba839e1520cfc384d0d9645bc0522bf3047273bb refs/heads/iss159 +f0a2c7fc3eaf1b2f0500a67072d23f2650ba4fbb refs/heads/iss162 +efece5c9dc19a233afb352e566737ff145944263 refs/heads/iss165 +b60e285b121d6fcf88b4201dfcb57d5e06dae5c5 refs/heads/iss171 +bf7d508f5a54f9c5b02643e96322109932cd461f refs/heads/iss173 +55d66b155b1a2d8a1f027e49c6cf30e12b174ac6 refs/heads/iss178 +df9edb15c0e86220d3fb1af8587ee408d140e5dd refs/heads/iss179 +ff819902b4b875c869a99229092bdac5462b7a23 refs/heads/iss180 +ea4db92ba1b02dab88090f4f1f95946a9b23e8a5 refs/heads/iss182 +b0966719b0b5341a19098a403e8cda382a7123dc refs/heads/iss183 +e7753d4b262f72e1ab175296312d3945ba14cb7f refs/heads/iss188 +3de5facec4f163b2c820aecb48bc2e254589020e refs/heads/iss19 +c39a04a63a5689cf9737208f964dcbb0bc9ab191 refs/heads/iss192 +ddbd86fbb9035945357becb62578e6873f09ba19 refs/heads/iss200 +64d925a81b5a1bfddbd49a7a65d8f700884ffd71 refs/heads/iss201 +150af785ffdb7ee50799f4c9022d3b134216be6b refs/heads/iss202 +247a942f4072010758f92fa6bd99a435beee0c77 refs/heads/iss203 +85f7cb1deed9f2380516d212f6917ba3d64f2fec refs/heads/iss204 +064b65f7172cae245705b5f3dc50bc0edf883061 refs/heads/iss205 +0a551e5d6315f65a91634e2b26d5614362ac8e44 refs/heads/iss212 +2dc60d4905f71c0be562d1f27f7903799e1de1ba refs/heads/iss218 +5bc302d6d1e496a2379ae6a85e49c428cc896aa3 refs/heads/iss222 +9a8abe0164856a5ecc4590dda29ae79abfa2cd7d refs/heads/iss225 +05a587184fe13fdf9d51fed8342677fb1b2a8fdb refs/heads/iss231 +2def44aedb215ce5f3f1b4e7fd949b3f7a6ac9a2 refs/heads/iss243 +8a09de4524862c6761844c409c9f89d296441bd1 refs/heads/iss244 +c30600f86ebe059ef768034e5a1a32ef4e3d56d8 refs/heads/iss252 +60a52cc85c00bf784a6d4a6c0485063598134af2 refs/heads/iss254 +311846e041a189698c8e59ba456593ef124cbabf refs/heads/iss260 +f3eaa55f7f6aa169867c9cbeaf206225dc5ca9c0 refs/heads/iss262 +81bb6f9ffe6af178362d2966369cf6709763e8d0 refs/heads/iss276 +da0dbe2cb35c69debb8ddb257103768e021a7866 refs/heads/iss28 +67382138b91e070bd6e336ec6488d3dc42c05594 refs/heads/iss280 +ec01997fca6b61cfec0a4ac59e72da6c770c1691 refs/heads/iss283 +75b36faafcaf09104b382f4d02af2a59c54f8ac5 refs/heads/iss284 +7a47ec9aded16ca9273b38189a48d5d5d5fe9730 refs/heads/iss285 +6b020327a9a4043621970f2391f4b03a980d6c1d refs/heads/iss287 +13ab24d1fbd19d5bc35236988cbbc8f89ad54405 refs/heads/iss297 +ac26935eb782f4287bef793b6f1049646de4579d refs/heads/iss299 +eee40f8cb7ba96e7452661bfa11311533c8a1fa4 refs/heads/iss300 +ff71da2c3b82ce35bbd02e9d9afd5fda7b5c213a refs/heads/iss313 +9371b097425a517cc17f224d5df3b8133148f13a refs/heads/iss316 +f57ccd3d1b5841f224e10d3ed4a291043a0bd416 refs/heads/iss328 +0a7a9e46afffb1348828de4a8d6e82f99b3f5337 refs/heads/iss333 +f8dd113a9e878d6ec0d5b69304f1ed113c747306 refs/heads/iss338 +6edf65b5fcf18f5f4dc1cc2002aaaf4c75564ea1 refs/heads/iss371 +8c00338e346951c0263c7a2c268a04c90c7c03f4 refs/heads/iss376 +6743df53673f8b3cee08c8925e2c39ee4b6aa46d refs/heads/iss378 +56a3dbcd1f96de64d8684357bb35354df62afec3 refs/heads/iss379 +d174da68b290c9502fdadd5f87d8539e432ebae2 refs/heads/iss385 +1aa841dcf1a80313660ff42119c6aae890016f57 refs/heads/iss390 +2133315d896fcdb672899450ff6ac2bde40a1b59 refs/heads/iss401 +37edf2568c952f68f9936645f871e7b18e4e3e63 refs/heads/iss425 +67d34b5beed22c81e96c95e1edf50b890247ef46 refs/heads/iss53 +2e4c3973e6669207f2aa9c4c8239f4e235a90a8a refs/heads/iss60 +1e982ba2d9a006fd2b353a0f70f63397f6352260 refs/heads/iss75 +0d8b6a49844691e65db6a6179c4d358c3cc75d75 refs/heads/iss79 +8f094141b03cf590b11f6b668361952233d35dce refs/heads/iss86 +b3b948f4375fb7b0b662a4d3e771b0c0ef23814a refs/heads/iss92 +a55d29e46fa174ea08aa21dee4f1f597795259b6 refs/heads/iss93 +cfab39c62893ca8eace94e213d2e0141513ce172 refs/heads/iss94 +730e4ced04ed3d962babf293ad9ca52392ce1494 refs/heads/iss95 +bf9758a5d9281e5fefcf3c08361ce6a8aab29e76 refs/heads/iss96 +c22c61266a9d175365a18c939dbd6187d7dda030 refs/heads/iss97 +b699ab97229cfbd1cdc92bd5b94039b7bd6c7d7b refs/heads/iss98 +cf0bb33259a93baeed1101d8fc9192317a8286d7 refs/heads/issue15 +62f01c46cf13febbd5bbb790731c5e06456ca963 refs/heads/master +baef27640ce87b50640b10515f72c9ed5152c4c2 refs/heads/mvn-release +717a91650ef34266edc0e78327e5ada036d61473 refs/heads/release-10.0 +689f867cbc2b2e2badacd1b5950dc15fd05c4c6a refs/heads/release-10.1 +3ec8794539b24dee7328c6ef5d45d89691033614 refs/heads/release-10.10 +62f01c46cf13febbd5bbb790731c5e06456ca963 refs/heads/release-10.10.1 +543bf98e151255b9fc2a8b24717b934c55d98a55 refs/heads/release-10.2.1 +df7854d3400996f803f103a3d2e13206968045d0 refs/heads/release-10.3 +bd0875bfa6b93f474cc16be00135b54219a27471 refs/heads/release-10.3.1 +f496e04f11cbd8fb0a7c06ff98e32c5e5fd8b076 refs/heads/release-10.4 +2d8b0cfa57392f6b10645817a5b13584a5858d2c refs/heads/release-10.5 +0085e740d80993c90c354152ab0c1967421e460c refs/heads/release-10.5.1 +d46489f97550a7a54536073a932f601cdb6314d9 refs/heads/release-10.5.2 +5f8fb4a5413e17d8d481a764ad14ca9b06f286a2 refs/heads/release-10.6 +b2231e105debb56ff6e01be44bf36bca160ade0f refs/heads/release-10.7 +8cea93cfd19d28f860d4833e9c635d8dcd4886b9 refs/heads/release-10.7.1 +03d47a39895faf71f73e3183dcbd518460dd109d refs/heads/release-10.7.2 +7f918822ac853436912d53eed0898f85e9f00cb6 refs/heads/release-10.8 +e78bedeaa67f77c6041b2dda1e8541e13c34f2f2 refs/heads/release-10.9 +f65504ca4d8b52c42031350dac8ba916f5f4806b refs/heads/release-10.9.1 +d1283bdece0aeeb74a5d81e5383b2a2f83620939 refs/heads/release-10.9.2-a +16fe428d31a5468d8a616a97f68972653464b808 refs/heads/release-2-1 +3fe8b778febe637f82b9ad687bc0cad429f664ef refs/heads/release-2-10 +5e7bf9457c5133d55a47298f8ca4fae847674921 refs/heads/release-2-11 +617d1396dd7a163977d373c1ebf87ac7539d10f0 refs/heads/release-2-12 +64ff11eebfb5f81db45490025acd342714c1c996 refs/heads/release-2-13 +a41ced73fc8b246cfd2b6c5d0a8adad6b00c7e7d refs/heads/release-2-14-1 +57ab28429f6c0e0dfa3d5555b9a8f984e590ae6a refs/heads/release-2-14-2 +ad8738ecbf3ed8501d141eab82139b506d93c1aa refs/heads/release-2-14-a +f93a4fe42617682623f900a93ae63c9d94b21cb0 refs/heads/release-2-15 +a24dc7bcf17e1194008098c6bbbc1c34c8554865 refs/heads/release-2-15-1 +2d1663a80b6158455c3f785a7d7d3bdaf6c779f9 refs/heads/release-2-15-2 +5f93927c5e2eec16063cb7a5ddd12eb33d0be900 refs/heads/release-2-2 +e2b409a14b7f3f9cbd87aca1efb754366d5c8873 refs/heads/release-2-3 +88e4792893f2f0541ecd4527975fbf6925bd89dd refs/heads/release-2-4 +4864d3f5af6cc53cecf2aaee515a7f52e6ff0e0d refs/heads/release-2-5-a +3707761eb0f8d2fefebe9ba1e2a0df8c0be41f6d refs/heads/release-2-6 +a414a92e3714a3b66a377a3fd899b278108e7d18 refs/heads/release-2-7 +d91cc13335da1ff4f6ed5857deb8867e311168cf refs/heads/release-2-8 +e0bf9182af7dc69afacd31f532b508fc3e123ee4 refs/heads/release-2-9 +61fcf28586df06f3a24df7e47137928b99f7241d refs/heads/release-3-0-2 +526c3619cc500d27603ecc62c55eeee015faf26e refs/heads/release-3-1 +86e5ca22aaa32507144949e0d9a132d80ef29024 refs/heads/release-3-2 +8b903968e08d46e0edac64b0ac284b2325843d6d refs/heads/release-3-3 +e02fc787524af80856d5481306a686c90ffc5fc6 refs/heads/release-3-4 +bde8e466f235e817ed88d1c9d2afb7a190001f5b refs/heads/release-3-4-1 +a875a5b553419c2bf852b43114b146b42203511a refs/heads/release-4 +3bc8de52e7b90afb7d07a2052edeaf2cafe43ee2 refs/heads/release-4-1 +b264d5925d07c5f379df820cd71d1f3687739533 refs/heads/release-4-10 +8ca6c6c3cba2178c02865f3a8b6eb0de69d39d75 refs/heads/release-4-11 +b24ca7d7c1fdea7226452603fb6d7c042fe66699 refs/heads/release-4-12 +41262f8217877f55ea920445a3f2e2d8e98bf191 refs/heads/release-4-12-1 +3904d52b8b16929dfe2d2d6cd731976bef8b685a refs/heads/release-4-13 +bb24ab23c17e93a8efaa810cdc750d57aebe8c57 refs/heads/release-4-14 +e838526f6e5e8cf1b2fc9a4e52b213527bcdaef1 refs/heads/release-4-14-1 +cef63e028fdf48d3f54dfc7ae4f9aadeac9fc609 refs/heads/release-4-14-2 +dad819ffb34a3f1b6afae36413318e2bec1b58e1 refs/heads/release-4-14-3 +b5d8467b784a134a9986c49cab3608577b39dfe7 refs/heads/release-4-15 +eb878380d508c94313280147cc658c4358b0d865 refs/heads/release-4-16 +337cfe0bb83cddc69ae8c7218aeadd230b803e5b refs/heads/release-4-16-1 +d66e15781338c3d0d4ce7eacb0778afef20f6f31 refs/heads/release-4-17 +134ec3fbd1b0006d88ba4c919c86a97fe8041642 refs/heads/release-4-2 +affbfcc88b4557e0db848a810ced0baad5317921 refs/heads/release-4-3 +816f01545ac0573ca2662a7e5dc807dee2d19baf refs/heads/release-4-4 +f74cda3f4b9012cee1747f8e0db0064c7a5fd7e6 refs/heads/release-4-4-1 +95ac5c59ef9ee1a276b64a9d6b5e1107cfa9dd56 refs/heads/release-4-4-2 +c7a4a8cfd5b937d484ac8fa1f1c6b9bbb2231a15 refs/heads/release-4-4-3 +53960a3ed2e0745ee8e5874f011f2f701dbf2f74 refs/heads/release-4-5 +83dde16acee399a9f65253401e95228dc32cfe8f refs/heads/release-4-6 +fbe1eb1b4990efffcca7172ffa2258d8e6175a51 refs/heads/release-4-7-1 +971e0958c8880036dc3e6be0ebcafe1e76b57fac refs/heads/release-4-8 +e6ffe5984b4bdd59c15c23d20a9c30aa296d3ddf refs/heads/release-4-8-1 +8863f8827b180d35cc4d7218af607f4f340f1645 refs/heads/release-4-8-2 +e05e6025658809bf7b6b63089f3f62174ff4b985 refs/heads/release-4-8-3 +cd1a4d329ac3fc8d833747dbba082bd8117ea50d refs/heads/release-4-8-4 +68521347f3cb2d12747cbc7f26122a33ac534a30 refs/heads/release-4-8-5 +98a02b58652021351625da45d1ec0312ef5936e0 refs/heads/release-4-9 +3b6e80f8f2d6e02300008c5f3a22ced56f942a4d refs/heads/release-4.7 +875072d16c8037eaeded98f0646905abd7f928c4 refs/heads/release-5-0 +48294f299e5d70dd3cc23efe3f6984f17391ed8f refs/heads/release-5-1 +dae3889092913922f6ab868639ba569c6477a120 refs/heads/release-5-1-1 +6ac726fe91b16f34b932104e82da95dfe44988b8 refs/heads/release-5-10 +0a7fa5785ce8ac17ac95ce5294a24c8743794a6f refs/heads/release-5-10-1 +17fa0f0434fb199cbe15667f3814bac898afb97d refs/heads/release-5-11 +0e6205dc249ac7f33c60e268dc986bf69fa56271 refs/heads/release-5-13 +d52fc49badac5cabbce49feefbf5a14a1cd63438 refs/heads/release-5-14 +ad69bf0a9b2fce2ff223eeff2cee0038b88b67a7 refs/heads/release-5-15 +32c13642808142541dc32a26e9bd7edb39b524f3 refs/heads/release-5-16 +23e6a6c5b751fadd79938859def37ff7a0d05c24 refs/heads/release-5-16-1 +e3f038c0e61cbba4b79f16062b2640531a802b2c refs/heads/release-5-17 +46fdf83c525571d096ad137879476dbb8adc45da refs/heads/release-5-17-1a +b1bde2b28ab85d56b6aa71b9e6a486141e27ac19 refs/heads/release-5-17-2 +7c2540caa7c7a58e2a21d4a23db259351f832fcd refs/heads/release-5-17-3 +cd1ca935274ac944389523a40114f7461d777690 refs/heads/release-5-17-4 +e38e1eb6f72f5bd03d9daa21de0e35f99a2ce84e refs/heads/release-5-17-5 +1281464367c792dc2fb87ce071f785e94bc64e7e refs/heads/release-5-17-6 +84b4aa2c0cd15eb607f1faea057f291b6997af45 refs/heads/release-5-18 +55de6740d5934092f92d8349935da2253a3d43fd refs/heads/release-5-2 +c3356efd7148c69467f79c38d61256d6fdf3dc3f refs/heads/release-5-3 +5a2fed5b6af032c26d617c89409a21d0b4cadde7 refs/heads/release-5-4 +9658681883bc5194b9d0ada28e5f4c2f029225b7 refs/heads/release-5-5 +f3dcc9572bec0c9439f35158378e7d6b0202fe87 refs/heads/release-5-5-1 +e481125d6e5b05e10b04ed7d171111d588afba61 refs/heads/release-5-6 +2a800d4c4edd1857e4c0a313c91b93bcd4300c7e refs/heads/release-5-7 +e80c187bf522db8efb3e28d08eade8d6291020f5 refs/heads/release-5-8 +cf9fd9d7c699411cf9fee6f739f9837748f6aec2 refs/heads/release-5-8-1 +81c9b019cf74616b577071c1b6c0715693501950 refs/heads/release-5-8-2 +86f366f09381a3a4977a9f8170cda33402bca66e refs/heads/release-5-9 +4520ab21870e30a2f5b7e3470069d8000d49d1bd refs/heads/release-5-9-1 +5c17e062581d2558f9c7b9642a3231e7e6128ab8 refs/heads/release-5.0-alpha1 +b9aeeb9251ce574a92d3556d9016ed56a7f8b649 refs/heads/release-5.0-alpha10 +d47ce3a13d24375a49d9bcca946b1129ac0de093 refs/heads/release-5.0-alpha11 +4560539640ccdb29ce65015e613515f39ff38d0d refs/heads/release-5.0-alpha12 +083e7ed1528897a2332af9977d1a2a392a0e34a7 refs/heads/release-5.0-alpha13 +de2abca7e0d9abef2decb85a00246a92d5ce0204 refs/heads/release-5.0-alpha13a +a0c8ed297816e4bad57728325b2d2b29edd6f00c refs/heads/release-5.0-alpha14 +4a93cc70c4e32cba802b32a1950cefea0282e420 refs/heads/release-5.0-alpha15 +fdd08afd882b88033538aa720f62830dbe3a328a refs/heads/release-5.0-alpha2 +942eec20775980c9b1f0c2c6389fb82fcccb7a66 refs/heads/release-5.0-alpha3 +f2b61b4e50749440b81838d7ef71705be2918f33 refs/heads/release-5.0-alpha4 +fd0e224cfeb12c45e0c935ad084eb88db32f5504 refs/heads/release-5.0-alpha5 +54747e02f58ae741c9dda6733e73c82f14fa1720 refs/heads/release-5.0-alpha6 +43dbb5b9f874c8aa623ec0d0fbf7378850c45b83 refs/heads/release-5.0-alpha7 +c07b62c768776c77ef167cf6f9a375af08489f85 refs/heads/release-5.0-alpha8 +6a1b27ba6efba65f52c5279e87dac9b861f0432b refs/heads/release-5.0-alpha9 +5f707173aac90d8f9c392ee50518e3a4744a27f2 refs/heads/release-5.18.1 +5cbd13be288c7c28255e732952408fe948f2b298 refs/heads/release-5.19 +fa9e8e79330a13e5809d94ced88fec95c459d608 refs/heads/release-5.19.1 +60eb3f678d08506a2de54ca73c8f556af98719b5 refs/heads/release-5.19.2 +c06ec43fc0b3289b9f4f5447e1c94cba6763d40f refs/heads/release-5.20 +de4dcfa4d8a3d7f5e6837695d4a1246571e092cb refs/heads/release-5.21 +d80fd6dd0c472c18d653d7e94419430d3566f536 refs/heads/release-5.22 +8ba5a11410d675e3153f04af199b4df0102b93fe refs/heads/release-5.22.1 +812516088bd97751604627a0dfd47c832074a245 refs/heads/release-5.22.2 +cd95ccfa193d98528a16fdd87ef3016f1e01f31a refs/heads/release-5.23 +7e31102eee7acdd623934d3a28b1588ceb687942 refs/heads/release-5.24 +1f3b64d8b6dc63ee4b8029fd889eeb3e256b30d1 refs/heads/release-5.24.1 +64ca0e6bf343769cd6cda96264698dd02d0d16e1 refs/heads/release-5.24.2 +63f8ffb4c31704c20de6bd1363499ecdf88828a1 refs/heads/release-5.25 +511e6dd2b6bffa9cb96164fd35396b959876f97a refs/heads/release-5.26 +ec2d73a36efc7d13cf3b838765dde12d5b172d53 refs/heads/release-5.27 +66e704d0e84c574bca405c05722808947b72b0ec refs/heads/release-5.27.1 +b087c77dc83669fd910c90c73e8042e1799fcef5 refs/heads/release-5.28 +fd62909b0bad4e90be73c651b6aae741bf9ff03d refs/heads/release-5.29 +61173d19f2fa1c7e07912b0ff44213c4b7f9f8e0 refs/heads/release-5.30 +b164ed3642cbb104a309cc9966db3e4327a5ea4b refs/heads/release-5.31 +c6372e0963598e2ca30754ca0bed6eca8610744f refs/heads/release-5.32 +e18418102c804d52b4c82053518e73db26463b8e refs/heads/release-5.33 +b7102fbd3ffb2600232ea0b9e3c95bdfac113050 refs/heads/release-5.34 +68c91ab4e701c9b6167ca796fe4165fc26b75680 refs/heads/release-5.34.1 +63465b2dcedd219f50cd89e6029cd064c485203a refs/heads/release-5.34.2 +fc6544a7e524b4e6f4e64b136d1a52695dc8f18c refs/heads/release-5.35 +8b51b090d0ead42e2eb1587ebea37f88fd057d20 refs/heads/release-5.36 +18cf5deccfe66d441c6594f2befeb960c5ef2403 refs/heads/release-5.36.1 +123a0c34a42dd8ba2be37750e88b5a128e4a81b2 refs/heads/release-5.37 +2af547a9e8bf57c2f998a7e8aefc249fd38a4611 refs/heads/release-5.38 +1dd2a60ba61a31d9c84b0ac93f147b4308c04a12 refs/heads/release-5.39 +0fc15f3ad03cf9ad1447f003223a03d9d75e8b79 refs/heads/release-5.40 +b26daf821a5e2c49573e6f86949faca46df2db45 refs/heads/release-5.41 +73e0ed6214d232692aeddb3da46e41d1f090aefb refs/heads/release-5.41.1 +8a0cca036078bd6beed1883c176f01ff191bb2c8 refs/heads/release-5.42 +34cc24313eba5bc3bd02133293d6d974fecca89c refs/heads/release-5.43 +7f4c6a43bb5f69abf9643a16ac4c75d00f3047d4 refs/heads/release-5.44 +e2907597bf8caac7534924029eb73c6d88480f93 refs/heads/release-5.45a +05422e053293bf76c8eb93c22efa8ce00c6c5ff1 refs/heads/release-5.46 +d09225cbde28ba84aa86bfc466ccf783428b38a6 refs/heads/release-5.47 +57f7318c99df51f36c9d24601a02db4f3d0ef3bc refs/heads/release-5.48 +8341cc05f9ce03d3c9ca26303e917d626cf8c4f1 refs/heads/release-5.49 +69f1526ed5e3ce75e6192edccb3362fca19e26d0 refs/heads/release-5.50 +bf1205762bc50bf6fcc7d796dfe069eac7f168e1 refs/heads/release-5.51 +557f1bb7938f4bb6daadd6b801d5ab9850f4e31f refs/heads/release-5.52 +b91f8bc298fb033abace47509cb73623e88bb504 refs/heads/release-5.53 +51005a79059d6299719be22af42c4bd76dae6f87 refs/heads/release-5.54 +bbb5eb2c06c845f6a94b806debf9bbae5384f173 refs/heads/release-5.55 +3664ac2be9c2034eb5ee65e8dbe6480ff264d527 refs/heads/release-5.56 +029201d1b5e29e10e2d8dc9237c81dc9a7c6436f refs/heads/release-5.57 +0e66d777d7962f81d883e67b8d85244e8af1b7f4 refs/heads/release-5.58 +437c1de5a50464429f04baaa26ee346d74924128 refs/heads/release-5.59 +b2efb91ece9b7cfa9f27d7a5def242d8d49cc72c refs/heads/release-5.60 +2dd2b24bf4b6bcd77606dd51ea66915b154eca7b refs/heads/release-5.61 +061db37e9f827bcb99c7932526ae22c5f32a0633 refs/heads/release-5.62 +0527d43a7acf696de4a3dc693862fd110084c5e0 refs/heads/release-5.63 +ee03dfe2966b2e0ce64345feeb7f824d987eb246 refs/heads/release-5.63a +51aa313d6ed285edbba9739ad90756f082b0e349 refs/heads/release-5.64.1 +65d84184001474cb1809995b43bdc8b45a124ccc refs/heads/release-5.64.2 +a339d1184903c81d3b830d5a381aa527a7c79b6a refs/heads/release-5.64.3 +af50b92f4ba94c77b20ebc3185ce7089534c9b9f refs/heads/release-5.64.4 +2828a2e86f41b444294a1a59c23502f056333558 refs/heads/release-6.0 +57ad4b948c01c9d768928b24b07606a44ed2dff3 refs/heads/release-6.1 +9d09be95339bf3f9118fe9ac67a7082c88bd992b refs/heads/release-6.1.1 +a6d584bca85e77c076ccb3201b71c8471ccd9e48 refs/heads/release-6.10 +ce719d11d2cec28596e045cb202da0ab87dd8bc7 refs/heads/release-6.11 +a642b54af8fa7bb4ed42fa33d45f0f7ca984ef6e refs/heads/release-6.12 +3456d718ca8d6a74582ae76d1139ffac42f6c937 refs/heads/release-6.13 +97d812064bb4381298214ca67ef8a0292d00a3a2 refs/heads/release-6.14 +5202a1d7c2ae64873165e1244eae821cf9e771b6 refs/heads/release-6.15 +c33ec4f43f9ddf6b75c8f2b772d7caff26ecef14 refs/heads/release-6.16 +7beb38e013b21428832e4d7588b3bff3d157818b refs/heads/release-6.16.1 +694ef7350e881ff8987193eb344f31274a1211e3 refs/heads/release-6.16.2 +4e19a6de660eb403be9525752ccb196bfb2ad1bc refs/heads/release-6.16.3 +f4de9dcddc2419b6df5935e8d11d2c672a81bb61 refs/heads/release-6.16.4 +346ca26b51d0f410b4f79e42bdafdcf7f3bac6a3 refs/heads/release-6.16.5 +7c426c8709c0005bd23fd7fc2edd73e8ce007428 refs/heads/release-6.17 +e8ad41f76a80ce7093a3e3bb47e80da6248852fe refs/heads/release-6.17.1 +886e085854f1077e0a5206f5fbf55062e560e194 refs/heads/release-6.18 +0cbbd613f93126b5fb335b1d2fba47f5f88ca6b8 refs/heads/release-6.18.1 +53e239e63f62257f722e07206dccd0a0661daa6d refs/heads/release-6.18.2 +904a53ab8f3954f9218df5843b3890d1ce98536e refs/heads/release-6.19 +475b2373e3f55e9b1bdda63ce7410677540d9555 refs/heads/release-6.20 +5a4ba81691b7bdbec69bc588d40febc017243a5b refs/heads/release-6.21 +a440b880edc8d27c5546c47a7c819704f5ab06d8 refs/heads/release-6.21.1 +178ed664309722517d33f1232510468117fef60a refs/heads/release-6.21.2 +26cfe3eab93daa0cfc3cddd17164af7294aac9da refs/heads/release-6.22 +4b2f2db874eeb7a53db3449ca6d5e3e611813257 refs/heads/release-6.23 +78b717b3fe5312fe09bf760a02288572c0c6add7 refs/heads/release-6.2a +52b44f912ba7b8f6eaae11aa2e9491551aafbed9 refs/heads/release-6.3 +5c531feeab3ad33548ed4ea18e7a48c7c4687279 refs/heads/release-6.4 +f3f4f6d89c7c7547f7d6599eeaeb73365959deb7 refs/heads/release-6.5 +67cdbfda45659a3e9dcbcc3838871fce990a0b4a refs/heads/release-6.6 +092d1e93fbaa1346067a4003a9cea4d392619164 refs/heads/release-6.6.1 +3ff69b026e090b8036d297604b00c2435997a1c7 refs/heads/release-6.7 +a05d44dba282c5e95748018c70407f1d52c8a466 refs/heads/release-6.8 +beb0deb73d6ac5fda39f79d5127acdd2117ca954 refs/heads/release-6.9 +c89091b733de0d77bb2338102ed96fb042df30e6 refs/heads/release-7.0.1 +898a95c253ed5edda7bf073036b87291f7bb4a6a refs/heads/release-7.0.2 +c2061157482af16e31c58389b453b00677533784 refs/heads/release-7.0.3 +2b261ab0441735b01dd0fd7958862a453408894c refs/heads/release-7.0b +bf6217dd15695e678638f47641822a17d7016b83 refs/heads/release-7.1 +3aa04b0cbb2fe71f9e35a0ddde2749138b4e60a4 refs/heads/release-7.1.1 +0705dcedd5a584692010158a61cbc2e8aca043c5 refs/heads/release-7.1.2 +61168b4f750db824d55cb603c33c3fbf0fc5d10e refs/heads/release-7.1.3 +e6841340f5f19becdc462fe39a38fe0eb169753d refs/heads/release-7.2 +aa9e8dcc9e9b8891f3c847b4de756509a8e036f6 refs/heads/release-7.3c +c50eccebed626c066530ea138b7c9fb4adbf0cb4 refs/heads/release-7.4 +1cd6af8ec210d51b5741f2ba8ee8487e66e86e35 refs/heads/release-7.5 +429ec8f5376bb36d2fe10d7319a9d26eeb0659dc refs/heads/release-8.0 +c0401ab780fca16645ba99c128af9e63a7bef991 refs/heads/release-8.1 +5cb7bb78e57ae40eeaa4a6d399f84154d365ae92 refs/heads/release-8.10 +f9f8d67b5fa1eed3f0059329e25a113618ae3c51 refs/heads/release-8.11 +5bc1b6e400700921cb39bf6c5cd8d39d798d541d refs/heads/release-8.12 +85ad173d4d1f911197a171d490d2bf74532e2989 refs/heads/release-8.13 +b52bc674efc42249d7f6ee4bc0d13ab17d312616 refs/heads/release-8.14 +26e513a636b335fc57e8290359a91961132bb54b refs/heads/release-8.15 +c755432abba4a0b5ceeeb696ed8970a86f8ed9a8 refs/heads/release-8.15.1 +26e5167e3ddefa2c835250519e9d1582a81b8d78 refs/heads/release-8.16 +64da8181cd9abe78f785c5b55f06a9d137d2ee15 refs/heads/release-8.16.1 +68bcd07f5eb3338984c15ae378cb8c3e53eaf7db refs/heads/release-8.17 +f0fa270f4830a4e242f93960bd9bc1be55b16ae6 refs/heads/release-8.18 +32953a0677f0abc8dce4fe9b43827d4738d31d4b refs/heads/release-8.19 +1e3843d591169881cca25c50dfe56f7758d98031 refs/heads/release-8.19.1 +1757e3e860f9bbf445a064353a713887418c2ae0 refs/heads/release-8.19.2 +4c7992e65aba1993162a6d26d32e55ba6740a44f refs/heads/release-8.2 +e4933ed9e3a34a773fbca07c40393fcbcd32b743 refs/heads/release-8.20 +76710ab23d9fbb06d0fc3a35f36cb8326f4d55b0 refs/heads/release-8.21 +368d830e49f0f0a30cee7ae80c6bedcdb8ebfa49 refs/heads/release-8.22 +7b4c36dde1419b2a443b4bd38cee1d8df259fcba refs/heads/release-8.23 +4c755c2955a7001467eac5f0e99d7023bc59b648 refs/heads/release-8.23.1 +c246ede9118637dea3881f4ea9a4f85c7b2218d2 refs/heads/release-8.24 +573b7451b55135fd1ad23d75040d8af45a52491a refs/heads/release-8.26 +b89f33ab4b62163a24959a9a7e1f215790edc194 refs/heads/release-8.27 +7da4c0b7f9ad10ea08e4ed970d527f7ec37d67f0 refs/heads/release-8.28.1 +0ef5615b00231403801ad47b803f01caedd7eff3 refs/heads/release-8.28.2 +3220db79493bc73e7eda4c9e83b06f6bfd562d28 refs/heads/release-8.28.3 +afd15902fc7101ca3550a1d6786a31f393fd49af refs/heads/release-8.28.4 +17578ae756979504e74e7d7fac93961a638e23bc refs/heads/release-8.29 +63b04346e3b33174b44c1da30618b814c16c583b refs/heads/release-8.29.1 +a76090021c3bc1abcf1520c9cf7e4bf8168b6e41 refs/heads/release-8.3 +ce1867000518b39352725227bfcbbedaca4094fd refs/heads/release-8.30 +76b036cd2ad747854a738fe8fbc10f79fcfec930 refs/heads/release-8.31 +760cb13992a34975b63acfb67b1fd67ad0a77976 refs/heads/release-8.32 +6e5211486a4bb8a25b187c7bdbc5559541969d24 refs/heads/release-8.32.1 +11511adef477656ae046dcf29935da8fb1faf0a1 refs/heads/release-8.32.2 +3ba73f19b836148f8161de96ed0ec0df70ed117b refs/heads/release-8.32.3 +861b7dad14761bb0a8b63f3df46d9884fd221e54 refs/heads/release-8.33 +708f73d4fb07ea8cb8b53833eb12a79c7c53d714 refs/heads/release-8.34.1 +76441f1d16703b82feb56398a3f3c1f9b68ce37b refs/heads/release-8.34.2 +e730609597fdf1f647513ea208a53365bb7e9824 refs/heads/release-8.35 +45e658f2394fc65e141f8acbc3cee7ecd0b41d53 refs/heads/release-8.36 +623e1fc3787bc9d24a9d4f9525b6741f503ed9e8 refs/heads/release-8.36.1 +f17d106484ad4a1201180db94ca73d37734efdd6 refs/heads/release-8.36.2 +4972aa9dc3dea567ada63547045b3ace7d3d2a82 refs/heads/release-8.4 +43b2821baf40201392a019d548d0ceadceed5ab7 refs/heads/release-8.4.1 +38f3b3326e6a8ee3ee2c85ab74b2a5a75db882e4 refs/heads/release-8.4.2 +3c599aab1a15522eb21502553108308789ec3b28 refs/heads/release-8.4.3 +dbbd6703e4928120c30fa6070196b14dc9f419c4 refs/heads/release-8.5 +2ea782e8396a9a4fd9da0d4daf4c8280b9095f47 refs/heads/release-8.6 +06b396ccc6e9f439db986baa9ff6301380831edf refs/heads/release-8.7 +9a948232f075573ec51babfcaa1855a86e49b43f refs/heads/release-8.8 +f4193e2649410087f54a1c3b4f251ddb1e92efae refs/heads/release-8.9 +e8555d8aa0a5e4906bc530ed427454f6ffc1df5f refs/heads/release-9.0 +3f286f3b8f91bd051dfe19b87dd6759d3220bec6 refs/heads/release-9.0.1 +1ae1851fbfd8e111d8ccd777f6effe5365eaf144 refs/heads/release-9.1 +610d576571b0da3abdfa038f520320ace8cf1744 refs/heads/release-9.10 +5d13925b57ace092ea5e1131c338f464d85545f4 refs/heads/release-9.10.1 +24b260442583e433d1c9bbb5e8ae7b979bd93563 refs/heads/release-9.10.2 +9d91ee53c27b75cb0015160f4089871ff2572bb4 refs/heads/release-9.11 +a88b932999f46f60ee9b9500b3ce7f9dddd0e501 refs/heads/release-9.12 +364d7486a40d4cfd4f44043b17aa8238d5601061 refs/heads/release-9.13 +dff8f49d18fa8859cf206503dd6041e8011cea66 refs/heads/release-9.14 +9f80217aa65b438002e4570e34066b1989b5617e refs/heads/release-9.14.1 +24e889c06a168aeefa19f90632df628b46c90ec5 refs/heads/release-9.15 +25ff84b94f613c919d091fe928b0e45e2061cebe refs/heads/release-9.16 +aa583a29333f34d1bd3dc657e8186e61a34b5550 refs/heads/release-9.17 +096691200db9403934116cb164dc0e40a56c1321 refs/heads/release-9.18 +19954fa10ec6c32e225f0db7fd0e8ef943a46dd2 refs/heads/release-9.19 +fd167849dc5c77b4a58dac2cd50da3af7eeab521 refs/heads/release-9.2 +3db62d67598e2253d3bb74051e042f057a5321f7 refs/heads/release-9.2.1 +491efa675a18975891960a965d876e1c9cf43250 refs/heads/release-9.2.2 +81381eeb94499d12d49c00f425f440c0a6031d96 refs/heads/release-9.2.3 +ecc2f88a9e9c2492b709d92526f5951fee0a7887 refs/heads/release-9.2.4 +a89fba991f33bd6961582e671541760a6c8d1319 refs/heads/release-9.20 +e8aa6d01975a5dacab70997ceed0b964c134152d refs/heads/release-9.20.1 +505f56d00f92ee8fbc621151ad70f34673172b06 refs/heads/release-9.21 +f16f075ad5f994dd087a7a5ea4fe126ea8f61556 refs/heads/release-9.22 +a481c9eb09f9b4e928d1eecadbeb1e694abcc61d refs/heads/release-9.22.1 +fbbd244c6332b275980cf99e7864f427c8aa83c2 refs/heads/release-9.22.2 +4aa747bb72a0e49346293baf410b0a8285766ffe refs/heads/release-9.23 +bf8416f0266a2fd14f7c163dc34b2b23193bb837 refs/heads/release-9.24 +a2818169a7e111ed1df6d48fe378b47240ff9129 refs/heads/release-9.25 +8b49cf12d3a0f0b552c56d17d820e5d0d65fe083 refs/heads/release-9.26 +1b63b553fa3f06b7d76d83c6f78866d79f372e0c refs/heads/release-9.27 +5f23bc50db90e2bb7e8138f47806295fdd17d223 refs/heads/release-9.27.1 +f27ad9f9f3d66baf12d56bbb22c93fee0ef967c1 refs/heads/release-9.28 +b909b31f3416967da31812d7cf29082793b6be3a refs/heads/release-9.29 +6b5aa3324d7940b605e21188086379a4e997538d refs/heads/release-9.3 +0249e33bd7be02f74023e24a76130e407917cd3b refs/heads/release-9.3.1 +1a626c22f0d20017c6f1f7562be0b770f82d894a refs/heads/release-9.3.2 +adbf4faff5bae4202ce29097a5b5d571b8425566 refs/heads/release-9.3.3 +528bd266a6ab70721aded7752cee7a00d2b6a041 refs/heads/release-9.30 +c86bc3a767fb3ebe6792b8ed08f0322471850a7a refs/heads/release-9.31 +6511b6ac6e2fe90c9d7a0fad4e1200c5f25f07d4 refs/heads/release-9.31.1 +0852e6b501f2d1db9e2a71bb90bf5d08ff57b593 refs/heads/release-9.32 +da4af1bfd81abb7aea705b0f17a9eb189f3ed11c refs/heads/release-9.33 +ba67f96cdba7b00f9557a278992d1d5b9c4c795b refs/heads/release-9.34 +c4155ed977e5be6c252da91f1bf18a888908dbef refs/heads/release-9.35 +95ccf3a5aee3588dac9df38cd85e25cb1ba70361 refs/heads/release-9.36 +4a9a1b5fbeb0ac21a8c94b2c8baa8c302ee3f171 refs/heads/release-9.37 +a8f1264cb4988fa4fa3f68dd81e6b26ac2f62ec8 refs/heads/release-9.37.1 +2e2df4943a09372051e0c01bc97342455ca90758 refs/heads/release-9.37.2 +e2ed4a82dbf5820b85d5b492df368a10dfdb558b refs/heads/release-9.37.3 +ef7573ed5e23cf5b9928f0ea18828f79ff8c4ae8 refs/heads/release-9.38 +ef594b7477dd46a4e64c61ee6b6e335e38b4b29f refs/heads/release-9.38.1 +b1f616bd42f9e87517e4bd901db940e28f445562 refs/heads/release-9.39 +40741aa521747554b480b55c184c3201d72631cc refs/heads/release-9.39.1 +f367dee51bf09f25e3f2f7bc04dc2d60d6922109 refs/heads/release-9.4 +be0aa9eb4843df9f8fd8dee96ab3c30bfe797801 refs/heads/release-9.4.1 +94c8a9d9f88ec694a43398108346fb38c5092a9b refs/heads/release-9.40 +6184d3b671f2f5a07c089cdfa896644ead8464c7 refs/heads/release-9.41 +937e31b8c1e26d8131d31c884be37d00996a190f refs/heads/release-9.41.1 +cff6dae009dc24bd3d5572ecc5b58188ed6f1196 refs/heads/release-9.42 +49393129902c455bd58ae73355d2598d919c1f2f refs/heads/release-9.43 +a6e867c9b38e6d5e946e29fc8d478a455dce0b98 refs/heads/release-9.43.1 +8e48ab3b99b6984dec2c5b537d5614c87ebdb251 refs/heads/release-9.43.2 +d503a45948126acc1ad108a5a73cc6230288e01f refs/heads/release-9.43.3 +019e822dab7d8869c4d8cbe29dc547ad988cc9cb refs/heads/release-9.5 +5a6d486aa292d98f6ac3b3f3c65e9625d690b97a refs/heads/release-9.5.1 +5c53d60f8f655e6fd501d8075cfa0bb64e36983e refs/heads/release-9.5.2 +02724b5d6370594692b3aaa0f36d1ef00f03b64d refs/heads/release-9.5.3 +0eb99126045c7475377718272cc5292f9820cb6b refs/heads/release-9.6 +4ea08569d6fbf0fd1a8033da6064ba378f1399e5 refs/heads/release-9.7 +a190f4877b5a18ad0883d7ffc54a75e840a2fcda refs/heads/release-9.8 +b6a183ff0282fc47fb59d237b8ec1e3eaa452a07 refs/heads/release-9.8.1 +20b531b66109fa2072dc6535deb08c473c0997e7 refs/heads/release-9.9 +098fd7e9b20ab58c9f1ad9d87b65082b0722d155 refs/heads/release-9.9.1 +d66e15781338c3d0d4ce7eacb0778afef20f6f31 refs/heads/v4 +f2b61b4e50749440b81838d7ef71705be2918f33 refs/heads/v5 +6e3e653793ba16c0bb4af062e231112d7f025cc3 refs/tags/1.0 +fd7766b079dbdea566bea34e2d3650a7300bde77 refs/tags/1.0.7 +188971112a79afc585b8c794d9abb9d469463874 refs/tags/1.0.7^{} +67bf6c6e6ce7d32390d6784c4dec0b1e75eb9d57 refs/tags/1.1 +e73956d7909f4dba034a21dd67a774c8e5851c1a refs/tags/10.0 +8f4516bf9730d525861ae59b37562b912374aa9e refs/tags/10.0^{} +18436498e591736ecf0496da13c9ae6ecbe32a5b refs/tags/10.1 +86c059d5ec7efd024f0f0e730cce3c20c69d9d7c refs/tags/10.1^{} +4e58a144a26f62563c3e1db6d9a6c9d998b398fe refs/tags/10.10.1 +f8a553481f6977b9aa441a6e5947c6ac03eb452d refs/tags/10.10.1^{} +f92e8b7051b3a78be84f1092660fb6dd03223cb9 refs/tags/10.2.1 +ba25e000d04fcbe84396f6949ae1e1e6e0489574 refs/tags/10.2.1^{} +67932ac63a08b4ae55573b50802e60f16c6fc597 refs/tags/10.3 +6139fcd338ddfff43a0fe9f931bc8733b3d3df7b refs/tags/10.3^{} +28ee86b317d6de21f188ccd9a27b70c0dc79745a refs/tags/10.3.1 +a75d8aa1745c3d95ef57549ca52a37a0911aa8f6 refs/tags/10.3.1^{} +25a5d6b9bebccc881c61edd3fb1ab8cd85738a61 refs/tags/10.4 +6d2b2fc8ac4094b5da463711ae4ab2eb76610ffe refs/tags/10.4^{} +1e893909a57fdc6815b0f087dc087edb2d37ac73 refs/tags/10.5 +40329fda6eeea60a9b95e19962c3918fc2f64126 refs/tags/10.5^{} +85cce2a8f7e6d13ad656c9e20b3256e5ef4d6cb7 refs/tags/10.5.1 +478c09509e75dc7e5a6f9e0033c41274269403e7 refs/tags/10.5.1^{} +15288781cb44476a7d39076a48a91c2c4d089eb9 refs/tags/10.5.2 +1dca5a3116dee8cc5f38ba422009699a6c63c66a refs/tags/10.5.2^{} +1ea298829fea0ef7003371e09cc30dd7552bd439 refs/tags/10.6 +63d95e084e81ded6c14a7970ca5c4b8807f89558 refs/tags/10.6^{} +85a26585f3b5a9c92064f9c9c99fb9de6bbbb054 refs/tags/10.7.1 +c8f09b035b7e93858a39ad4a46ba4d0e17a0aefe refs/tags/10.7.1^{} +1f5f5854fd6b50daad172c4024a82dac2a6cdafc refs/tags/10.7.2 +e40239c98f99603d3de6f61089577f82a321dcc3 refs/tags/10.7.2^{} +96bba8e1b7781e2b97085f6c10ccfe6750b3f5c4 refs/tags/10.8 +1c952ae5a6b0ec4a64caa1390925b1ea384416cb refs/tags/10.8^{} +1ab0d198462bf4b7c81218d1454088bd61e1c5b8 refs/tags/10.9 +0d6db7b6426977c744b184b7652a78e3e5610d47 refs/tags/10.9^{} +6af2dbeec0db8629c390399870af125b0c7dd727 refs/tags/10.9.1 +6042de52505d5ac001ecb95e3623d1a3b0bddc64 refs/tags/10.9.1^{} +ec0963af1f2b478fb9dd90d1ec0609777e60f917 refs/tags/10.9.2 +4b1510a5db344e0d459d17c8507b295de7b00fcd refs/tags/10.9.2^{} +c90690248ca02e36bb273c8c70285944276217be refs/tags/2.0 +efb90598022db7651a140d7b613aad46a715c5e0 refs/tags/2.0^{} +4f02c06d2385575c99aba607228bde870ea5e106 refs/tags/2.1 +5b351e357ffd72f5000a3298159a3de6e5242106 refs/tags/2.1^{} +94bb0fd2be4b0c578be0866314843cd8192ec0ef refs/tags/2.10 +992d9d6413b4a1fb10d140923d0892d287a095d8 refs/tags/2.10^{} +178cdff6984ff705c9febb02c5585435a0c1559e refs/tags/2.11 +6f571f886514d700e49dc75146aa6c625718d8c9 refs/tags/2.11^{} +11e7befb2c32fcf17b0ffa640cd5d700c73a408f refs/tags/2.12 +e75cf9a5249b3ad05f20e2f82c39b80da55f4cf6 refs/tags/2.12^{} +780022b4bf4b105b658dd16a7ff37e403edf48bb refs/tags/2.13 +4f22d87bbd157eefccaf55de5e611ff346c18245 refs/tags/2.13^{} +8d5bba425b0df28cbb8d46ba888ab6d299d4927a refs/tags/2.14 +ae9a9bd0805c11030afa64a9f6108e2618c237bb refs/tags/2.14^{} +08a44fb432b85a5e16682e729ae7b56b8d546697 refs/tags/2.14.1 +cd20596e70f0afdc392038059c2c527f027d0b5f refs/tags/2.14.1^{} +10caa651a72fc44e265f328b0d790c47b0bd4d24 refs/tags/2.14.2 +da4ba911ada5c2950c603e09f0f97083e52f75e7 refs/tags/2.14.2^{} +a71683ae449e410f996e0b6da3ca8846b8bb8a88 refs/tags/2.15 +16025b1e92bcdc83620e614acb6ad68104504e1e refs/tags/2.15^{} +60478333a7ce0b85c21f3c2c19b37b0a63fb10fd refs/tags/2.15.1 +6e652ec8cf7def804b9ae49703b8c2f904f13f33 refs/tags/2.15.1^{} +d8fcf0b9efef5a5e8a72b786d57cf1b1c3ed6bc5 refs/tags/2.15.2 +c9939869efb2fb493e5c970e991fe2169dff3ab3 refs/tags/2.15.2^{} +10007e84cbfa5d201d78b5f53ae7fefbd700b09a refs/tags/2.2 +a775e968162e21fb4af33a78b74bc4682d1e3df5 refs/tags/2.2^{} +080899ac29adfd6afa087c7c932f071d8bc43ef4 refs/tags/2.3 +7c9ae965580f2a2bf0fa1ac0db0635ee1e4fbc85 refs/tags/2.3^{} +85020681fe4398ca35ea540d7a6d7c5a44fe0645 refs/tags/2.3.1 +391d40bc1cb171d398b595d3c0a80a3573f20fed refs/tags/2.3.1^{} +95f697fa9241f5594e18eb60639f0848eb1d2dbf refs/tags/2.4 +c865a78640d540b0cd4f8419b957f8faf579a1a7 refs/tags/2.4^{} +1603a8058a74441f85cd6a8150f3052b688229bd refs/tags/2.5 +cbbaaabce4f2f1789ad82d0627eca112269b7770 refs/tags/2.5^{} +c5b0da2e658ed13b8bc65acb581fee94f4a303ae refs/tags/2.6 +71a639906540b95b2f13ea666d7f501b8075ddeb refs/tags/2.6^{} +2134fc166fe77e8ea2e5219d1d102b3c605df98d refs/tags/2.7 +e73104203e33afac5835a4ec51d09d8eb8b4736a refs/tags/2.7^{} +0771606a935f3a1dbed0df5c89c543896f4ac01e refs/tags/2.8 +c3137b03fcf5a72cd218660f357edb91759031c2 refs/tags/2.8^{} +9fbc8fa4e85c6bd8a18f6b93012cb2873985ce22 refs/tags/2.9 +6e3c375cf27e437261899c321b10868a26a9e794 refs/tags/2.9^{} +7777ccd79a28368b12a634e00f401910ff5dfc44 refs/tags/3.0.2 +d633420033117463aafd781a5b4dbdf4d4fa04cf refs/tags/3.0.2^{} +f562855079ba424859263f0b0c1e54b4738e55b1 refs/tags/3.1 +fd0e3950ba2a5348fed661d1c7bf6e5b4b9282c1 refs/tags/3.1^{} +354802dfd96082e8c1b30df9fb2e07cbc4035bdc refs/tags/3.2 +4635817c7f27a45bd509a364f7376a8291edea00 refs/tags/3.2^{} +18c3dbe37350039fe362d29e56d68ce41d866ee9 refs/tags/3.3 +43e5fe958750c61d0103692c4002e4fa7bdc71bf refs/tags/3.3^{} +0ceca42c4b3cbbaef481508ae02660fa791f5009 refs/tags/3.4 +c304fe8c0ec950535c189d456a1ed48dfe2b0ffb refs/tags/3.4^{} +2b8709381a376e01093f0f5a16ef5f2e05f612c6 refs/tags/3.4.1 +a29b593f911a10f43ed25480980c5c6636435f58 refs/tags/3.4.1^{} +43c976d9374e8118971ae5eabfd0c1063b6db4a5 refs/tags/4.0 +90c606e4397c1bd018d606a17f814127dc4aedc6 refs/tags/4.0^{} +7b264ef1967cfd04f4ba31ebf049a8ae60530a41 refs/tags/4.1 +63d3a50faed83346665fd78c639b30e43e8a79ad refs/tags/4.1^{} +55065825dcf7b185d23563cc743a66a8d09a5014 refs/tags/4.10 +f0c87cabad27da6e87e2ae1c9784eea72613463a refs/tags/4.10^{} +6ce3b7699ca8d2d9554be88353166f0bd8a627dc refs/tags/4.11 +7b5ca2318c0e8272a3f520c2e51636bd233d7bdc refs/tags/4.11^{} +44dafe560fca9b023849132d01171cb7118dfe78 refs/tags/4.12 +cabe1a169747b4d3e6aab2b86d0827a51217a48e refs/tags/4.12^{} +2ae068409c8f066dda30d76cad8482d12bcd1498 refs/tags/4.12.1 +b335318c6302fe2618c918658a0ed15ee7f68201 refs/tags/4.12.1^{} +6996d875730bcb6c7f907bcae92a78ae3aa0ac3f refs/tags/4.13 +02d7472a1c8585918b423bebad0179e445661bde refs/tags/4.13^{} +0022e0002bd562996aadbddbdf256542dc2cd464 refs/tags/4.14 +a4d5c4c40f1bd4a0fbbc1ba1226d9682fc0c1512 refs/tags/4.14^{} +0f4d2545ad8de5ae11b932682bf30c0b6b93fab1 refs/tags/4.14.1 +3dc30ff4dded40046c25fca7b3a1bfeb7dcd4513 refs/tags/4.14.1^{} +2e96ed7f5be562c69eea5e9d6a1ef821f60382e9 refs/tags/4.14.2 +0f067580ffff99b2ad4384b06570232c0f8cdd08 refs/tags/4.14.2^{} +7fc50e1ebb673fdc58a0eec6e57f0fe4268bf729 refs/tags/4.14.3 +2567cae4294beb6aaa2179f640c2d4ae0ced7c73 refs/tags/4.14.3^{} +75c1065d863011c0c0b4700ee240c2dbe04265dd refs/tags/4.15 +edc228dfb40451b80a7d521de562df2de0875728 refs/tags/4.15^{} +5aa1b370432a53f44f4bdb1af042795160ef084f refs/tags/4.16 +6dc21b6f68553d258e9e1ea88adaea0eb2f7327c refs/tags/4.16^{} +0a7e6fd2b3cbed3ab69605d73a8aaebbe7fe77a3 refs/tags/4.16.1 +8ad1bbd4a41b888568320bc3968eaed31d4e5dcb refs/tags/4.16.1^{} +dc6fae9ffd39a140eef2046a1fcc91e02bb27c09 refs/tags/4.17 +d52f15750e1705a986ab595fb7fcf3e877d62c28 refs/tags/4.17^{} +cc9d61d53219edcb38fc899f5eb3c481f3afded0 refs/tags/4.2 +8ae240d0b21e08e071bdb67494c76173af2c1da2 refs/tags/4.2^{} +8c2390f5a0221876bb1666fdb98aa97a88eed476 refs/tags/4.3 +c38c385f7ce9a2cc63e92e5a5fbca0a7bc462b09 refs/tags/4.3^{} +3bd73dbfa97729fa554f8187808e89abc552d7a8 refs/tags/4.4 +8d6daf7f8f33ab9b6b12e66eb135ba856d1875d8 refs/tags/4.4^{} +a457f84a6f90879d5f60b7984e005a05fcd7a556 refs/tags/4.4.1 +2df8271f1d6c6d3f6eda1e1727d198285a691f7d refs/tags/4.4.1^{} +cb302813513858722afccc5c2ac86e15d5cc6278 refs/tags/4.4.2 +850bcd3c5ea2916dcc98e30eddd9d537b976aaf2 refs/tags/4.4.2^{} +ee852a404cec03b4563847e508654b8274f864ff refs/tags/4.4.3 +d8760ebd598cedf5116a287cf2ecba3ee2c9e7f0 refs/tags/4.4.3^{} +a7174f13abbdb43809e9c5d4cb0f34e814c917bc refs/tags/4.5 +9771e51ef80578382b9f41e5fb5147b9f917bed4 refs/tags/4.5^{} +c38ad84873af4c625c3d3432c6adc4e5a5c95df3 refs/tags/4.6 +f74ed2ec2e0a51ca0cec307addb10d06de672d92 refs/tags/4.6^{} +f72d9af6ed883cb8b86fa735056ce9ff0e296f54 refs/tags/4.7 +c08d2b5308f79db8833a11f0dd63255938d758d3 refs/tags/4.7^{} +5ac308db01c69c2ccc52ac7573c9c43102a0edd5 refs/tags/4.7.1 +8cfe0f9bf5d7b226422fc9617faa58562baaa723 refs/tags/4.7.1^{} +7c21486f2cade9f3dbb0abd9f32f17de9599131a refs/tags/4.8 +3368766dfaeb25dcde0df522572783082830096c refs/tags/4.8^{} +93800ac49e0191857f961800e3ae9404f653e6e6 refs/tags/4.8.1 +01d60d7330dfb9a568bf5e2413868bc289dc88a7 refs/tags/4.8.1^{} +21fd369fd091100583cf9cd9842c20073998f130 refs/tags/4.8.2 +76859010863630661f4180db43f73e6b2f397af2 refs/tags/4.8.2^{} +521f3ca1a62e3a66853fb2e8a3518de0e5019503 refs/tags/4.8.3 +273b6945c20e8dabc530ed15c81a7ef0380c718c refs/tags/4.8.3^{} +c3a53cf0797cd50cab2e195ce7b01f1e6b901858 refs/tags/4.8.4 +7c2931c56b5389b771799ce117a73efc15349e53 refs/tags/4.8.4^{} +daabd831770dcf696ca03948febdbe190ff4e741 refs/tags/4.8.5 +cde40f9dfcc2a7ccac092d46c952d4836172a8e7 refs/tags/4.8.5^{} +7eab178a45a830a57dc03bfab1ad642fbc5fa7a2 refs/tags/4.9 +8706cfb453d6e6e684a985518f80192d8c19c3cc refs/tags/4.9^{} +4e0b1785e7131caff07744fe045a7739c849f177 refs/tags/5.0 +e451a99e38fd37008a417051d3552b91dd651b16 refs/tags/5.0^{} +289baee4a926227c316195c382e8e82354ad3da9 refs/tags/5.0-alpha1 +565bfcf857f148c6f4a4a7941b04e4adf83f1a1d refs/tags/5.0-alpha1^{} +bc63d5aab1689e5a97ce88769d21d27952e24da3 refs/tags/5.0-alpha10 +641fa4f60b4b16c3fb32299d97f8546ec55a2653 refs/tags/5.0-alpha10^{} +db9d2089c97c1bf09726764880d769eeaeaa1b75 refs/tags/5.0-alpha11 +9fc53bd5342f6c2ad0f7bf6e16418c075e3336b4 refs/tags/5.0-alpha11^{} +d1481306f4fc9f9764ffa4cd34cdee490a2165de refs/tags/5.0-alpha12 +20f2c86a8cd14daab68dd6fb6dad941d0c6504fe refs/tags/5.0-alpha12^{} +8c6c5b0b271e7ec85b794768c0ec02ff3f0878fe refs/tags/5.0-alpha13 +3cedbcb4a3c464cb917c14d58bbe2f2c1cecf106 refs/tags/5.0-alpha13^{} +20004fe4eb55fcb6400db059219cb213a7d5bec6 refs/tags/5.0-alpha14 +36179cdd05dbd7a63482677f48a6f83af2d5496d refs/tags/5.0-alpha14^{} +16e6457febab0d1016904430ef0fcc1f62c29369 refs/tags/5.0-alpha15 +01d94d811af46af7a59b5f989e996973a71d0bb2 refs/tags/5.0-alpha15^{} +ca22146c26927d674de30593aee468b869c3fc5d refs/tags/5.0-alpha2 +8b0ec6b6bbcf482268a206e73d96446bfc01ae5e refs/tags/5.0-alpha2^{} +ef9e39439f49771d8b677c7afca14034fb7b7fd6 refs/tags/5.0-alpha3 +5034605caaaee33bd42f15384fc30371b932d62b refs/tags/5.0-alpha3^{} +082fee8ad8620920aa7ba6e5d5ca6d3ada275483 refs/tags/5.0-alpha4 +2509663008149703af9a247b1bb3fe869c6187a4 refs/tags/5.0-alpha4^{} +c6046b3f5b97de69399b9573d979786f2a702226 refs/tags/5.0-alpha5 +4f774f2296b534caab4b3c402464e843c45f6510 refs/tags/5.0-alpha5^{} +27f6df17b10c06d40a9ecbc6803e326accbd2374 refs/tags/5.0-alpha6 +34726afefb90004fa2b73bc881d213bf14f4119d refs/tags/5.0-alpha6^{} +52c9e503a86bea889856b03dc6b1060abe08211c refs/tags/5.0-alpha7 +315b24bb880844136cc10fa3d523ffc82cfc69d8 refs/tags/5.0-alpha7^{} +dda69695db63d89d841ca77be63ffa9431c4e949 refs/tags/5.0-alpha8 +413ffcf6540faa08c2c90537f6d29898a0b3f3cb refs/tags/5.0-alpha8^{} +78201b0e89737bfb7321058ebe093f4d516c0cda refs/tags/5.0-alpha9 +6457de60175c1750fda6ad3ddda3f06d003e01d3 refs/tags/5.0-alpha9^{} +78452f48230df7960a1411125becd108353fb6c5 refs/tags/5.1 +91e31acb86508b9e4f0da416b510f721389fc16c refs/tags/5.1^{} +2e4eefdded145d1df37d86c20fdf444d68b3f69b refs/tags/5.1.1 +b93944845223182a3d0043a2b2768791b9b46b5e refs/tags/5.1.1^{} +36e522f67d1cdc618fb40d8c0458712ab265d956 refs/tags/5.10 +af545054313f77568668b1b7d83ce0426c83c33b refs/tags/5.10^{} +7f9c4a96d1d80e0ec164f3681b186912985c843d refs/tags/5.10.1 +75a7dc91daa8ee0c6c40c527c4115274631b0435 refs/tags/5.10.1^{} +ad98e07b495071d46a9fa752ccba66407cbdd2c5 refs/tags/5.11 +eabe71c03b880ced4f110ada729e2dbc9940d330 refs/tags/5.11^{} +342df84feff305ae039bbaf276a8faf0e56073d8 refs/tags/5.12 +7785d60c314419954d58580280c64cee6a2bd4eb refs/tags/5.12^{} +1e8f7b7e3e13de07f40703b5c6a25afbd06c5947 refs/tags/5.13 +56c01299e3f74063bca581184e243fb9f1b13f98 refs/tags/5.13^{} +72367cf55929353e7d75bd505ba90fbd73d01a08 refs/tags/5.14 +6abbf0fa360895f73e3948f67701496a905c1773 refs/tags/5.14^{} +ce27ccc9c4d1ca8f18f3f90bb0caa842b6ef38e8 refs/tags/5.15 +2b741b3b0dc6a1483ff8a999f375c9626eb88337 refs/tags/5.15^{} +9a0a5955090e69c2a874e2989616cf3f205d28a9 refs/tags/5.16 +421dd96617c6b9b303aedc2ba85839bf1eb41084 refs/tags/5.16^{} +a8486b695cf786cee856290e1ac18f52cf236663 refs/tags/5.16.1 +d68b369e755dbbe999976b8f6b84dfd555375ffb refs/tags/5.16.1^{} +4ac66ed97d9a3d08b7fbe59c97e7aa788b867f05 refs/tags/5.17 +5ff318fa76a54d5485147a22df23d14b05be8da1 refs/tags/5.17^{} +21dca06291063b57d6bef2180405e3a790106659 refs/tags/5.17.1 +feeb2c28b1be9d2d077233badda9002e883ff9fd refs/tags/5.17.1^{} +bcca34def0ba53081037ea71e852ca2708ab4c9a refs/tags/5.17.2 +2a10e543a4bd4a9e8df3d0a4b85d1cbf47de62e6 refs/tags/5.17.2^{} +3ed5eacbdafb30c0ad00067f59188a1fad48fbc8 refs/tags/5.17.3 +684b3213f67ef2246287036a3b2440dc5b597541 refs/tags/5.17.3^{} +c897e16dba1b51ef248d56522ce99dcd9cd23321 refs/tags/5.17.4 +885b89e947886754f4b670bcece2fd0e6ef4901a refs/tags/5.17.4^{} +949dc36ef88a5672cb35ecf6e02661689fb8c765 refs/tags/5.17.5 +ecef5e3fac6b75a4533107ae0ea00d3d718f0713 refs/tags/5.17.5^{} +ad4660478f83387ab806fbaf4f2433b1780f9bcb refs/tags/5.17.6 +8c6d91a16ff6e31aa17e32d94730c7ac612f2830 refs/tags/5.17.6^{} +90285861a510e45703283e844944c55257588828 refs/tags/5.18 +f53a0674c9a4f050aabca7a322d4a2601103f517 refs/tags/5.18^{} +7c19c8ef63182b541a63e87d67f61d7d85b18f20 refs/tags/5.18.1 +0c3070b8ac81bd3aab018ae6dc954d5a92672e48 refs/tags/5.18.1^{} +e5315c561fb0e5565926ac0438bbe65d52d33038 refs/tags/5.19 +3ec17680900c52a8b49f5526db720857f8419b49 refs/tags/5.19^{} +9149e9b6cb658218cb9b7a38c55b6a9f30a82ae7 refs/tags/5.19.1 +7ea37a44c61ea0e1e882486b669c426a262c7ef9 refs/tags/5.19.1^{} +95fdc7018a2948d10e553da987db2a14ac3cfa1b refs/tags/5.19.2 +0efd434132a78a6c45fcec3e5244efc0b1759e33 refs/tags/5.19.2^{} +b5b257a58034bc141f59498e11b4b5c3bff5d064 refs/tags/5.2 +9cc8c6dffc3b36bd5b2fef19e9ebe683df256c47 refs/tags/5.2^{} +ed7872f5373aae7aee9778fe92c6819080c32179 refs/tags/5.20 +f5d5ab137cf13f058866204a25fa9b2aed422401 refs/tags/5.20^{} +6bd0a53e35bf7fb868f55e7d0f649a89a732285f refs/tags/5.21 +9b728eee39cb1d73d50097a61c1bda95952a4ef3 refs/tags/5.21^{} +16717f918ce241c16c2b1a3e730577778036936a refs/tags/5.22 +78918457506b352f3f45faaa20e7c3fb54ea8c69 refs/tags/5.22^{} +f76c28e538bc49a904d34cebf5351d2ccf170d17 refs/tags/5.22.1 +144af259248686e0996f95d2fdb82203bb478137 refs/tags/5.22.1^{} +b05658ad63fdae8fa10f34d6d7678820c039881a refs/tags/5.22.2 +345ebee0d18415d9840828b888510b3e8fe9231f refs/tags/5.22.2^{} +202fdcf32f7e80aff0f0c1d519a174f6d4263bd3 refs/tags/5.23 +80976d92af69ec60c810936d798a0c256be28d42 refs/tags/5.23^{} +f593bd8c234ffd1c4886ac14d37f92d503188cc9 refs/tags/5.24 +9f3c067f36a0351d311b211b2efec59a0998557c refs/tags/5.24^{} +04e8c7ce3d2a7a81ed8de6a7a48ea10106116e06 refs/tags/5.24.1 +f945e997dc5c94e7f7ed825bcc7210c01c6a072d refs/tags/5.24.1^{} +dacf634bb4ed3b6f0a2315010b75dc9c7de35627 refs/tags/5.24.2 +13996ba37eccdabda6438f3735bfe2fe703172ad refs/tags/5.24.2^{} +a88ee74935f97d466fae2ceced125bf903d9961d refs/tags/5.25 +6d1462c59696327b7d4e87026b316d4baa6acc3a refs/tags/5.25^{} +dbe9651923ce00c928d3326492d58d7911717ba7 refs/tags/5.26 +b1a8fb7914144c8354b19386c30ba0c1570be0d6 refs/tags/5.26^{} +bb6c6cd54165c373b2ddf02a1a64f61e19955cfc refs/tags/5.27 +dc53abca661a523fefc9714bc1e99e5ac170a1bc refs/tags/5.27^{} +1badff51d0e167bc17d7630f48a7f8869f0c88b2 refs/tags/5.27.1 +216d785763b632efcd3ff58b2cbdda7ced3e591e refs/tags/5.27.1^{} +a2b476da0cf0cb92b050966b0fb6baadfa8f08af refs/tags/5.28 +59d894078300cea2fc9fa2684406e83eb34dd503 refs/tags/5.28^{} +10fc140c7a82c9dc958096d7eb2c218193d8ec2d refs/tags/5.29 +acb6c9b347c019894e8caad18bb6cdc013226ee6 refs/tags/5.29^{} +3d4b1f22958af9310966e0ec11c743b7b57fcf37 refs/tags/5.3 +e8a6d6257d1c8911a985e2bbde93458a55fcf68d refs/tags/5.3^{} +0a0044128f82b06160fa9b6717e69b96bec4401e refs/tags/5.30 +d8a5602a5bf34bb0dc99c83a5c2454c9f70c19e6 refs/tags/5.30^{} +4a1649549d1a728258b0c59679a96ded4636819c refs/tags/5.31 +2dd1d393e9502b8be7d206519bef6f273edae9be refs/tags/5.31^{} +9f7dd91ed3df9bf59daef535b95625f39f6075da refs/tags/5.32 +ccb2328093bef60c17703bb7cc33655944897067 refs/tags/5.32^{} +c59a3dd8b6266e0508bb26011562e0d742e97013 refs/tags/5.33 +35dde1f0039d439c72442d5be31c658a8fca4d5c refs/tags/5.33^{} +417886334e437e4ff101cd8c8b213320b27956b4 refs/tags/5.34 +6443eb2878063286c003f27609955578238dfa00 refs/tags/5.34^{} +9df16be83f77e0e6ce6e465bb7ec166a304be639 refs/tags/5.34.1 +f4e478349196e309de49cec2f4ecbf1fb77bab6c refs/tags/5.34.1^{} +2dad6c7a3ca7b49bb6be6b98c147362416cf3cf4 refs/tags/5.34.2 +523115f26baa3db3341b242bd836878c8f41ebd5 refs/tags/5.34.2^{} +75afa5b69c2cbd7f713339ffc4a7d823cf9f1f22 refs/tags/5.35 +9740598b0eadd77ca0086c254ecd41aacbb383e7 refs/tags/5.35^{} +04f945a4f52f59dc4eacbe6f6bbdf0b7b0847aae refs/tags/5.36 +62224c5f4d6266760e55c4907b75001ac0a3a56b refs/tags/5.36^{} +c3330cbaf1dd4825e67d9412ae22040dd1cb889e refs/tags/5.36.1 +dc108966011f4f88a4ed7a23aded0a95b6dbf831 refs/tags/5.36.1^{} +111b0d1b15d92d00b6d4ee66617e65c871f7784a refs/tags/5.37 +d37677096fa5ed855eb1a9899e5783ade0da73f0 refs/tags/5.37^{} +b9b7fbb87de1f23608fd04f5d99ec51bbafbd47f refs/tags/5.38 +55ae57a729148f42cca50ad7908a6dc393fe679f refs/tags/5.38^{} +5eb37015ddb0c0151da72833dc07408716002b64 refs/tags/5.39 +76fc024c1f6ba531f76da4d8b4cbad2301aa6206 refs/tags/5.39^{} +35c64d011daf2452aabac76a2e7f6836aa172406 refs/tags/5.4 +dc462012ded7862b1401610214e3d6839419ce01 refs/tags/5.4^{} +886a0f2d759c9f84be69458ad24de277c32fafee refs/tags/5.40 +f04e8aca3606dc5eee7180edce8e9fda09928fe4 refs/tags/5.40^{} +6a811aca754446af9f96234c0f03a823c076f618 refs/tags/5.41 +9890c7dca2e1ab6453e68156cc9fa1e48894147f refs/tags/5.41^{} +850543fa241e4e008112a8b2fd8ad38cab5d45c1 refs/tags/5.41.1 +aa7149789c9feec24713d80cb00c72c51927b54a refs/tags/5.41.1^{} +71c7311011a20069f0917e733bbb70a21f408ac3 refs/tags/5.42 +890179d3c10935da981c1db027f0226eae126ca6 refs/tags/5.42^{} +a4744f72ebfd12ec36e6f1d1904cfce7fddc7d95 refs/tags/5.43 +1c833500dd4adf8d301927a6af341405fdf3ea26 refs/tags/5.43^{} +9db5432d9923b24e1cebdd56b59927c733c18d71 refs/tags/5.44 +004d13a090a9d5310579ae091e2f16f035f6969e refs/tags/5.44^{} +0ce35e3392dff3d69cc2979378d442066e139fa3 refs/tags/5.45 +0ef8c2df03d658e5bc9f246a02fde5689999734f refs/tags/5.45^{} +12ab859ed14bba47b71629b33ffe2c3fb47ef47c refs/tags/5.46 +29cfedf9146710f2079227204e36cb89b5a804a5 refs/tags/5.46^{} +a4c6d9199830ef8d08f825a9d4c7d16353d117c4 refs/tags/5.47 +30676d4cfa891245ba541ac2e1537a339a143362 refs/tags/5.47^{} +41649da011156aabd4bbedb5bab3a3a315b16d77 refs/tags/5.48 +45046bd7fe3f63dc076bfdcbf7e0768dd11d5241 refs/tags/5.48^{} +0be0d04286544fd0f1dbfd4325bd072a3953b069 refs/tags/5.49 +16cfe12d8212d896034d7729e1dd0e636839b36e refs/tags/5.49^{} +dca966b74d568da9f380e64fe4e0993c2b27310c refs/tags/5.5 +4bb7d920ddca360f3c54cce504bfcbf4f8c76769 refs/tags/5.5^{} +5bcbca546a4c9af4630e577b2728a3b05a398965 refs/tags/5.5.1 +0b93e3ce1aa3483b96d13353cc82e441b3cf4b3d refs/tags/5.5.1^{} +8b687173580c1906ba4288525539610d4ce00f95 refs/tags/5.50 +4ea93b96abc0881ca38a6ea6508ceacdf3b819da refs/tags/5.50^{} +046798e885bd85298078b74242d6f53824410334 refs/tags/5.51 +4575ddc49fc29259cb2c67227249b4aae791e875 refs/tags/5.51^{} +fb86bdb85aac5c6763c92fe7f7b7b89a97aad3ff refs/tags/5.52 +0c2f58da81b4eabdb6932e83abcf04b9d2058396 refs/tags/5.52^{} +ef4a6d3084c1a2d7b2a10f496a45715a745692a6 refs/tags/5.53 +a27ce9f2323f04cff14cbbe8161314368cfd8e9d refs/tags/5.53^{} +33aad545a82cdfeeb7a5c27782fd1bc1b74e2135 refs/tags/5.54 +cdce75b4f4a3cf35d6d220aa8a94c048b12bfff3 refs/tags/5.54^{} +68c0201f780b49bc22a623e6ec65ae897133d0dc refs/tags/5.55 +b7f63d201a3417ab4f24d4b706e0c3e6bfacf9b9 refs/tags/5.55^{} +fab6b237894753b20bdf62339f952e5f5d1b1bca refs/tags/5.56 +fbe16f647a5a7e4fe1d292433e10c43d9bd0ed92 refs/tags/5.56^{} +97c7ae3a34ac5f21130a2195ff8b46add7255aba refs/tags/5.57 +b03858d5e9325d5f7cbb8413998e93e28d032dd2 refs/tags/5.57^{} +b63fef6e7c27facedfb644711abcc2686844ff41 refs/tags/5.58 +29a40afede3d3842ee8b658895e7e20955f7588a refs/tags/5.58^{} +1ee139efef4b7dfff3b183a11211d937e8cf949a refs/tags/5.59 +ecf2116be3d7e7bb3a35875df36e81652a5e9d34 refs/tags/5.59^{} +b91fbd63438f539e2458db5cf948a7d538089b87 refs/tags/5.6 +245de417874000ec77eb5bf996e35500350c99a0 refs/tags/5.6^{} +2ae50494ad4274331efaf683d1e96d4f0698bdb9 refs/tags/5.60 +4cc5686a3f4b7920d0e3ff5b3a875e53b352bbff refs/tags/5.60^{} +b0a1645a84fac90056847932520be67b7e67b2d6 refs/tags/5.61 +2d9f28f669fb60b1370ec7c55be6a583977bb461 refs/tags/5.61^{} +b0e43bbdd2cab9a9c220d19ffbfc5576eb7ecd9f refs/tags/5.62 +dfaf181696d48b1f630f448126923aab85cd522f refs/tags/5.62^{} +dc8ce2d3551c0356b000b13924e2836cdf5789eb refs/tags/5.63 +87f7336d1e4e9fe7d805764b01996686e201ff72 refs/tags/5.63^{} +9c38bbee88dcc1e031d31ebdfe6fa65f63bcfa10 refs/tags/5.64 +f1f3306361fecdaade56b435471981c83087817b refs/tags/5.64^{} +2103da1cc569c0c2e2223d6d028399d6e1445ec9 refs/tags/5.64.1 +28413a9c2642560e31029f7718b18d953602cbeb refs/tags/5.64.1^{} +69c66dd2a80931f023c68d1220cbb355169baa80 refs/tags/5.64.2 +6fb53a984b4e7029d4b9947a63f15b3635ff67e3 refs/tags/5.64.2^{} +1b69dbb02a47ce633a46e3f39ef515cc515fada9 refs/tags/5.64.3 +126c090cf44457141a4c991f400f0276e7bb6f5e refs/tags/5.64.3^{} +6135bf392578fe3789f6e4a800e92608d4b83374 refs/tags/5.64.4 +35e3a898d4fd29d406cfb46fe579784a209c1ae2 refs/tags/5.64.4^{} +9cfabc4ed7de0bc1a27a1d9d2c2217f347e3ac1c refs/tags/5.7 +61d40e1080e8d9d89dcb8ab71bfd7707120ed136 refs/tags/5.7^{} +69ea88602fa4f3122e5c55cf92b49a88bbf9b91f refs/tags/5.8 +abfa85c53c3917cd711165d3a4a82fcea9b70572 refs/tags/5.8^{} +63b63434e940788e096fb4403658be8d7e6e836c refs/tags/5.8.1 +ccd33b01b7f14b442c8b4510ae157cfb2a83e1f6 refs/tags/5.8.1^{} +160dedca1b9ff965e4a59aff338b1f89b44cbcf8 refs/tags/5.8.2 +81c9b019cf74616b577071c1b6c0715693501950 refs/tags/5.8.2^{} +d8cab4b69d9ce4ba87f38075898c2de23dedf44c refs/tags/5.9 +a64773ae9af5cb7c66f67f18a7925ba179a99430 refs/tags/5.9^{} +fca827ab93b5b34234538c1a7535c1e15e30acb7 refs/tags/5.9.1 +ba82137877de54d8e4bcfe19f2548c0f9d118ebf refs/tags/5.9.1^{} +1a8afcd8bb5a4bae9e8f345aebed542e6260d85e refs/tags/6.0 +5f5560eb78a75de8a6896678133dffb3314d6142 refs/tags/6.0^{} +b1b750fa045a7168d276834f3bd643ca6357d98d refs/tags/6.1 +03744956e60de081217616b590c27dbc7ccbceda refs/tags/6.1^{} +ce123812ebcc8af752b0a7af9e500c1844109a49 refs/tags/6.1.1 +beff923474d78ef9c5e6b24b2e574bd1da8c9204 refs/tags/6.1.1^{} +4b128503c17bb9947ea9797e4a4e2a72d5845771 refs/tags/6.10 +0e966fef60205e5c810a6c6a451dec2dae45ffa7 refs/tags/6.10^{} +ac3407243d1638968110c2e6640d9f0c7e24eed3 refs/tags/6.11 +889fe48389373634f5a8f0ae55b6ec280123ded6 refs/tags/6.11^{} +29f9bd82b63bb669c34b3c17aca69bb96c15dc56 refs/tags/6.12 +5357c2bcce6a41ff3f5b30999e26836aeec14ac5 refs/tags/6.12^{} +2fdbfe56e9fa3364ebf5be8e11cc31acebe89b6e refs/tags/6.13 +1220ad1d65a4df1285aa41f2f734e9d367b5e610 refs/tags/6.13^{} +a545dd08a9f0a9255ea384ba3d55cd2f137fe70b refs/tags/6.14 +e9c3d7c5fd80dded279bb66a95fd6d41fdcb9d10 refs/tags/6.14^{} +32c6c7435254fe0f319edb2eefcbab1781346792 refs/tags/6.15 +d29c11deca58222eb989b02693071966cd8f049a refs/tags/6.15^{} +ad9b37297a955c7897440375a867ac857975dcc8 refs/tags/6.16 +fee0e60193e84af12cab34ea3485bb97e25857dd refs/tags/6.16^{} +0e786134a4e756a9099dc9affb816504f2d2cbed refs/tags/6.16.1 +1454db17308a49b54014cac6988a29e2d9ddc1a5 refs/tags/6.16.1^{} +6c4e42a80ff89cd99b5de7d5f3ebd0fba3ab9e5d refs/tags/6.16.2 +db59d2b0269770b39cf7a1ee36c23ad59b8217b1 refs/tags/6.16.2^{} +7e92d79d8aff3a256cba0cc15cae3567ee7d7f27 refs/tags/6.16.3 +063423c3dd7f977016de6e8142a6cc0416b49032 refs/tags/6.16.3^{} +7f91a572cfbdb155c417fa98480af00723ab0600 refs/tags/6.16.4 +3aadf952f22f2ee7792ffa62885828a48602d6fc refs/tags/6.16.4^{} +8e30b28a4287f920af95415a6f5392ded7959adb refs/tags/6.16.5 +48bdcc46f456449f7dad863fa1f0896bfda277ef refs/tags/6.16.5^{} +053feb65c146895c0af3442a71e9ed2433c4fdbb refs/tags/6.17 +74399f122d476716eebdd8789c1adade97e15593 refs/tags/6.17^{} +bede70b97b77ec891aead5a3f93e76077eff093f refs/tags/6.17.1 +2eff555d3dc63a24f77dc4cbc3649578c5807d2e refs/tags/6.17.1^{} +9f22a016e2d178e862c2dfdbe6bf3c08d5448642 refs/tags/6.18 +e131ac48242ff8744cc9ec0961eb3309f6f36600 refs/tags/6.18^{} +09a175d4b222b5c84c89659f0ee1e13c54b9283c refs/tags/6.18.1 +84297755230d38ca36f6e3ea3559949446b7f23e refs/tags/6.18.1^{} +90a201daaad3cf9b3687acccea17c4a923b1f2c7 refs/tags/6.18.2 +08297b4539965976ff0a1817306d8461ea98ca8c refs/tags/6.18.2^{} +a9e38481cf55fb170876c3fd2757c7799de1bcba refs/tags/6.19 +a8cd2be37c5dc8730da2a045fa398c5232fad4ae refs/tags/6.19^{} +e9120eb385f8e5ba876bae51d9358beb7ee69b27 refs/tags/6.2 +1be760a403c14963dd9cc7108c3510754c217386 refs/tags/6.2^{} +1b374b4dab54f58bd0fb0f00d452e5a199a6c9a1 refs/tags/6.20 +edebb17cd6e700229663633805acc6ba40b51e38 refs/tags/6.20^{} +e4261da3f042d4f74bc46200fee28b3ab16259b5 refs/tags/6.21 +24fe97ee10a18f3ea4684089d4c06cb9d8887e1e refs/tags/6.21^{} +678121b8b6dda161481c5cbbaa0878d6791438e2 refs/tags/6.21.1 +12739544bd9a8f4d8a28b85c5977e1f265f509ef refs/tags/6.21.1^{} +f65b5260f546d327d732a36ff21f8958a5ab87f7 refs/tags/6.21.2 +c3f569ab71c470c8ed45568f9c43feefb073877f refs/tags/6.21.2^{} +88fdd89941867a6630dfc8e96c2a28ca016ec73c refs/tags/6.22 +858cccd063d9195780bf093090b8b0bad4f1e5f2 refs/tags/6.22^{} +a157310eed81667f1e760b7dea5821dfaa9feb6d refs/tags/6.23 +bdbba2f1311c446b1879fd9e6036875fe69bed94 refs/tags/6.23^{} +b6be3e0b4498243c81a664193fdc90ec3adb205c refs/tags/6.3 +01015d2696d729947433ce37ced2af6484a2de6d refs/tags/6.3^{} +dc6f20a2014d6077373f56a99bbefd9a465cd7ed refs/tags/6.4 +f9d6d7042125bb607e3254a0a21bd498daa59ead refs/tags/6.4^{} +6e19ae50bc3230adcafc833ee1476baf027dfb79 refs/tags/6.5 +b2f6765e71c1a78062d6eab89f51366aa54d2693 refs/tags/6.5^{} +afd3db475d75f50428ebc547cd97c842458f724f refs/tags/6.6 +f1b7e8a78019495d3eb1685ac7e97724290c99ce refs/tags/6.6^{} +635acdf1c518a74941bdfe9e988da53d6d981dea refs/tags/6.6.1 +7154c78f3e30c59db4712b48e98cbc0530dc0d18 refs/tags/6.6.1^{} +fb87c737d659db0384aedef1e4400deb68b107b5 refs/tags/6.7 +56959f60ed2e0c65b4f5b468e04f13f86a3ed6b2 refs/tags/6.7^{} +af6b0b90d74afe0a98956061258dffbdf9247961 refs/tags/6.8 +43581e2195a7863a8d16c31f3c036e656c74be74 refs/tags/6.8^{} +c55a52455d0a2afb4b2a1e91c069d2639f33a34d refs/tags/6.9 +dda79088b013c3875d4bf6ba4b2efbd64bc35860 refs/tags/6.9^{} +eeecc3bae9b72fe9b68e064527ddd31ee5d90db6 refs/tags/7.0 +caf34ef35c85536974c9de5c336e4a14a96f4f8a refs/tags/7.0^{} +2fe21fcc07a587327bfc73a61bc57468baa561a2 refs/tags/7.0.1 +cbb3426308e87eb31341dd712bf5b6b7830ea365 refs/tags/7.0.1^{} +14a64f1444ec35b1f943c1de7edcd59d4d3b355f refs/tags/7.0.2 +c9abe8d05030da0b867fec4e58b17c288b2f6c78 refs/tags/7.0.2^{} +5a0adc5d933b1ebf81b74ffdfd0b5052a6c9d6c9 refs/tags/7.0.3 +2a67bc8072f70a6b938c2ebdcbbea478d45a1d8b refs/tags/7.0.3^{} +6c1564077d6e8bb0a9eff6eddd0bba6a3d47d88c refs/tags/7.1 +07ffd3c66311eb5e4da83208be82b623c90a6eb6 refs/tags/7.1^{} +818f4c1b91925f161b9be382cb6ae96584dd13eb refs/tags/7.1.1 +6fe0da8d454ef22596a6fd7982578d2a38d75251 refs/tags/7.1.1^{} +b546578bd2743f64adc2b906193abb9c38fa8976 refs/tags/7.1.2 +06579b8775764ca5e50bbd9263e00b6e345370cf refs/tags/7.1.2^{} +6235d6bc19765d5ebcac90ded9e613b963ff8a0f refs/tags/7.1.3 +32bd73f1aee965b551c2274af91892255ee5911f refs/tags/7.1.3^{} +7428fc4067b11fba72fce30f57eb2e5d67fef7c0 refs/tags/7.2 +8ee2756eca4cd3640370b3c5fcbc3adbaf6a6f3a refs/tags/7.2^{} +bfb367aefd0388a55844dde4ba1140a94c362bb8 refs/tags/7.3 +ca0a8fe9bf10e08a09116374073b6ba2b5a1a92f refs/tags/7.3^{} +c0ddfccecc7b62970cd4d8b28589719c59f6b798 refs/tags/7.4 +5064855dbc283804e65632123e4cf9e6b76a3e92 refs/tags/7.4^{} +17ec61864328c5f06e8ac2ddda18d4ceef0e2772 refs/tags/7.5 +f6f58aad6b35e914b9af84a1a1c9ea7b9cb86a36 refs/tags/7.5^{} +bd1bd3d23692edaf9d842c7f839b5ab9e97f287f refs/tags/8.0 +36a1bf71ee837a27c36410cfff0da37a73968afd refs/tags/8.0^{} +c6362d891ae76e18411d0d75a898cdcd07a13785 refs/tags/8.1 +b85bf0a66667d776c15d28ea183ef49b1cecdde0 refs/tags/8.1^{} +f31d2f2bb3ee549646e35aa9b93755f80012c5cd refs/tags/8.10 +2ccc6f9b7f91004cb8bfe3a664537cdcf5a1c06e refs/tags/8.10^{} +1b759a7536c3c1102219953fe604c6682a58050f refs/tags/8.11 +eb812f5e9446ac7c9ba4196ef6ed1ef3723856be refs/tags/8.11^{} +6906c656e3fcd01c5dbce30624017beb7ac43033 refs/tags/8.12 +4ee2d5480dfc9035969ee8e617fccd504c598630 refs/tags/8.12^{} +8882ea7219e48d137777f3afa9db405346201cbd refs/tags/8.13 +988544bee892a055dd364e16632c305d2ec381d0 refs/tags/8.13^{} +46422749bf01242146651b46d2893ebb32c294be refs/tags/8.14 +2d6bcd18caf2346e1e7b96951dcfabd1f3cca874 refs/tags/8.14^{} +0a0f51b64055931124e55752c73f62199189b1e4 refs/tags/8.15 +bec9963136cdd7ad39e30d15dfcc227741330241 refs/tags/8.15^{} +155f88c56d19fc3aa9580b8b78dbb5c1bcbd4c07 refs/tags/8.15.1 +74f1da45260be28b55db2d1282657d3c7469aab6 refs/tags/8.15.1^{} +f1cf88247eda4179ca4bdb7bc321ec112270d129 refs/tags/8.16 +c45d6fe4d7e613638e7b6accdeb1a9b56c12b010 refs/tags/8.16^{} +c6535c0bc70ca0e9ae27243cf89835044ef0e026 refs/tags/8.16.1 +c918ac33d7436c644f309fefec0a1c18f2d43f73 refs/tags/8.16.1^{} +d9cac4c19ffd430e5ae66dd54aa8255d158057b3 refs/tags/8.17 +590cdbab5a7c1451534c53d25abcebc16e9891b3 refs/tags/8.17^{} +65fa406e19df4d2cc9adfbf7f8378f17003f7371 refs/tags/8.18 +c7085701c8f0b97596e0f06b81e231d6daefcaf2 refs/tags/8.18^{} +b019cc73f97e6d8031ca2c26d91e69d2dd727356 refs/tags/8.19 +354fd08849407cb5b1fe26026c01bba3e647c096 refs/tags/8.19^{} +b8cb14d6e034c350583806ec88f213acbe580e86 refs/tags/8.19.1 +017ba5e00d168ccbf8e989b24adf4cf51e03e177 refs/tags/8.19.1^{} +e3e0e327bfd65f9b83b8de487f748572cd88ecad refs/tags/8.19.2 +04825680d6eb4824c147abd2fe2f75d9ab8d9d5a refs/tags/8.19.2^{} +62cde23985103d2b1f90ffb98a0f3fa52216b57b refs/tags/8.2 +91e03b79278e56d9c54058c295d5a291775d31d8 refs/tags/8.2^{} +8a69f4e47e105ca6a221234e107ea0db3537e773 refs/tags/8.20 +fc9f20ce35b563bd9d4814717527e801140cde6b refs/tags/8.20^{} +e27444dba64911d54a5b9207031dfb21df57390d refs/tags/8.21 +54e401f65c89a7b472453e8dcfbb7d875678f799 refs/tags/8.21^{} +32fe85a7e004106d524b05a597a4f981d2f65cd0 refs/tags/8.22 +d577507d69d943b0b1f75cd84675d842f50865b6 refs/tags/8.22^{} +07f84b1c4ab792b2291bf537fade637b006e0861 refs/tags/8.23 +64fe7260acddce1065daed7c3cadf0f020cc1faa refs/tags/8.23^{} +5818561df173e561783be3567b1482a3b14a3939 refs/tags/8.23.1 +76d036c1bbc7bedf0904bab5234152b7014ff026 refs/tags/8.23.1^{} +adead3da3d247e406d13aede02cb584cfadbaf4f refs/tags/8.24 +c2ed23b6cd4a4548cc2c7fc60d097eff741c2679 refs/tags/8.24^{} +20f08c6b54f1f9fd4c53e70032813102593b1d5d refs/tags/8.25 +9203c910c84aa00bbc4e3d052077dd4d1756394e refs/tags/8.25^{} +8204d7a3b5b6b5ad5cab76eb8106e4451073fd55 refs/tags/8.26 +85a9bd7d0c1758385b2f8e5332c13aa9139448e5 refs/tags/8.26^{} +846524c94d92e8dbbc0043cbc1c58ef47a8c61d3 refs/tags/8.27 +74bf487b5f80ecdaa8b44fb51cca4e6c3129a28c refs/tags/8.27^{} +4be3e3b41d853b902cd1ac5b8f8367c7b989cc80 refs/tags/8.28.1 +9a1e7af5ff9a01dba669990b416a1dc365873f0e refs/tags/8.28.1^{} +4b3a28e088c3de921e6f221ff55a7ab6d61db1bc refs/tags/8.28.2 +0cadcab0c4e1cc40516bcbd3ff5ef7dceae477cf refs/tags/8.28.2^{} +4624afad56f573f3e0eeb0d5a201b375b23a606e refs/tags/8.28.3 +bbc05f3b56620416d0f36461a22d3e109751f3b2 refs/tags/8.28.3^{} +ec3112c2bf899e4cb3718fe96b56dda0435100f1 refs/tags/8.28.4 +f92172919339bd713411eb24b5af12fe4e47868a refs/tags/8.28.4^{} +a2ad6253aeeec456c7ef806b352732705315469d refs/tags/8.29 +1ec92dcb1678879056bd8ad9a969b1d0e9f3b87e refs/tags/8.29^{} +bcb2607ef4de5a01ef9c869626fa2bda7ef1da04 refs/tags/8.29.1 +247c98da5a23feccefa09438d2e5339b13ca7a71 refs/tags/8.29.1^{} +fd40ce2b9f02714fe90b1a7a31733f9f88cab536 refs/tags/8.3 +84a72bcdc02ea259714dcd1a716ca878b8907c1e refs/tags/8.3^{} +84878f1a2396a23bcb660c7eb8eb4a1a0f2b3f1c refs/tags/8.30 +2dc52cff96745f499944c6db120d36d1916b3186 refs/tags/8.30^{} +8fa8b203ca93c737328d53600dae32fe09d1b30a refs/tags/8.31 +c6272d7b30e08ab2a9631d8c1c030b41daa686f7 refs/tags/8.31^{} +706395ddd7cda7ee125091380eddc25b6b0d3000 refs/tags/8.32 +cd069fb356c5a909be52f9307332ee9ad53a0f01 refs/tags/8.32^{} +f2268eff9c4aae08e613393f25ad93314de51617 refs/tags/8.32.1 +5cca565eb2e80b44d99b4c7e1514aaa406aefb96 refs/tags/8.32.1^{} +8672f0f9d824492be822e6dacb863b94266a4b36 refs/tags/8.32.2 +5bf1eff2729a48ff1195555830a2275c0d99263c refs/tags/8.32.2^{} +aaf91b12bd01a4cb5340a9dc24aaba525c10019e refs/tags/8.32.3 +45d75eba6fc370169ae20078fb27d2b37288ead3 refs/tags/8.32.3^{} +a6466cdb4e36f4bac2e402c74197c4b2cf0ac6cd refs/tags/8.33 +2fec9adc89b5d173a047fcfea65f0daf5d8d3dcf refs/tags/8.33^{} +1a0579c6ec9b476c54533f1984e927fe1270d78b refs/tags/8.33.1 +3251cdf5d173f9c0afad589f6c182f16552320f1 refs/tags/8.33.1^{} +c6a67917fc10ba511452e890cee65f96a376d7dd refs/tags/8.33.2 +5e77357ce4b835737a7ad4fc4655696aae173449 refs/tags/8.33.2^{} +815bed55443dc06dd354c37dbb6d36355965445a refs/tags/8.34 +cce11dcbee4140203151b03e9be0fb8cb275f2d0 refs/tags/8.34^{} +0dabde2e72fd0cc4148363304589c45ff25b04f8 refs/tags/8.34.1 +36fabd978bfbd16e4ed180f58720eb2cff811ef7 refs/tags/8.34.1^{} +6c82914c128e90e01fd8f0016bd62756e98d0fda refs/tags/8.34.2 +d5cccf12120310e5ded8f991dbba316007b49d25 refs/tags/8.34.2^{} +e67c3ecd0478105256041a0188160110827e814d refs/tags/8.35 +b27c01dda0455f03d6e0c1af8384f0167b83c598 refs/tags/8.35^{} +dcd88fabc42de3e2303da4589ea930e3174acf5c refs/tags/8.35.1 +0fdec819fcd3a3af9e945d1cc9f3b932e522419d refs/tags/8.35.1^{} +799f3f83c8a15178f43b1afe35d3c65a6a523a42 refs/tags/8.36 +5dc1811c4c44ec116e8a81d46bb91b74b6abcffc refs/tags/8.36^{} +19d080e51197885bfe29df21956714d6a1080d9a refs/tags/8.36.1 +5da43b36493076ce7ebefa1b1fca0fb013d4af52 refs/tags/8.36.1^{} +33a1a6d13f5a5fe016baf7ef1cdf4d9eaf7e4119 refs/tags/8.36.2 +a4ffbda31cb157cc862171f99319f0f72cc128a6 refs/tags/8.36.2^{} +08e749491a3e65596e566858c70eb3ff5c7ea372 refs/tags/8.4 +5dc7266b3738c2cb1dd2eac4428dadfd3a8c215b refs/tags/8.4^{} +06434d04f0ebd14bfb687a06ca72e7467c7e59d9 refs/tags/8.4.1 +eaaed7f88b244c13488d75d3cb6539835e598b6b refs/tags/8.4.1^{} +e9e22272ec51cfef98dd7040c3b26fea517c32c2 refs/tags/8.4.2 +6efde59184a2a1d01a268b812fefee00494fab36 refs/tags/8.4.2^{} +81376e5b49253a0247cfe760110bf1fcfd85445a refs/tags/8.4.3 +d8f412759bf0f70d10dd060878da4ae8e2b75412 refs/tags/8.4.3^{} +de5b5b67fdd2e416299ca66d3866837f8d9bd6c5 refs/tags/8.5 +b2f9abd831cd876a43c82d15c5caf26791b92779 refs/tags/8.5^{} +aeb6e7ed13b3179cec0ae9c93941557cb6e2a630 refs/tags/8.6 +cb901e56a8073948a066275d50ea18466490b77a refs/tags/8.6^{} +33e39aaf13c7fecc4ae6f2d50c09e87722e5d729 refs/tags/8.7 +2cc7d22b7fff6074e739f7cab638473d2b21c6d9 refs/tags/8.7^{} +fd1aec2bd68b1c83c6d7b0439b4e089f194ee7b2 refs/tags/8.8 +266cbe6032ad6add62e274040eeaa1c37ae2b62d refs/tags/8.8^{} +e2d818cb932d1b53e07f29d90a7e4aa9ced657fb refs/tags/8.9 +8a25d954e13d3ce407c9df2418cfc34a51bf58fc refs/tags/8.9^{} +56092b7e0f46b03360b90708b5181654d93ef36d refs/tags/9.0 +00fa8e2a2922546200612bfd9f84ed84fb0cec5d refs/tags/9.0^{} +3ef879e8dba295830bf1f18404a17838692bb670 refs/tags/9.0.1 +9f42fd98b39a97f7bd0d2da0bcb914496b0ba471 refs/tags/9.0.1^{} +792c6493ef0a1eac607919345bf45cf5f18a7b27 refs/tags/9.1 +660f823969fe75f1060e7d06c016b0ad218447b7 refs/tags/9.1^{} +69babfa4ff1d5ecb4145c2f547fefdba91f2769c refs/tags/9.10 +007ef3051f33c72de652c5cda5d358ccea158763 refs/tags/9.10^{} +6fd70523d93343944dfe17dea17d62d7a38b96e6 refs/tags/9.10.1 +48932a2e6663f13685675bf12807115dbd0735d4 refs/tags/9.10.1^{} +6ba6ac600c463216d0abb3ddcef4b1def1356fe7 refs/tags/9.10.2 +e4f962b5b364db8cb22bd0a411432b06b21e56c9 refs/tags/9.10.2^{} +1f1c7b0ef1f2bdcdfec6d72fce3374b7a77a3067 refs/tags/9.11 +d6061e519a027d69a56ef42f03d79b0cb992e894 refs/tags/9.11^{} +2f1c1278d2f27ff075a392199d54e64ebe469149 refs/tags/9.12 +24939f27127f2a0ed74f0614c60bd2479be57c03 refs/tags/9.12^{} +cd685e973b42227f248c7960060737d0967d7fdb refs/tags/9.13 +72aca38c427e22c00ec2756c86b43433efd30716 refs/tags/9.13^{} +f4c6fdb7a2d1b067d20600d3ad2edc3b1d52bfce refs/tags/9.14 +94a49f696ce4321d8fb6bc47309b3d28b56df426 refs/tags/9.14^{} +3f26cb8cd344034deb2366fc14314d61dba495cb refs/tags/9.14.1 +3cd6d9426220c83370a87ad2cdef3d823026c8bd refs/tags/9.14.1^{} +4aec009eb4a3abf5d34b36bc75113c6e84a877ab refs/tags/9.15 +5b98496aa0276393aeda8ad6b0ec9b9524a1d375 refs/tags/9.15^{} +b87d22c7b899dbbf3f6fd6697f973e1d2858a2d5 refs/tags/9.16 +a6df5f5c3a04aed2ef4082ce4b59d9b6ee33c0a4 refs/tags/9.16^{} +294ac367df3ffd7b28977b22a95f27e344693928 refs/tags/9.17 +330c88c059588aaed14d355428d346a6951d7b5e refs/tags/9.17^{} +a08eec3c5f4dd13f66818dfd3e4c2e8e16607188 refs/tags/9.18 +630771fca7985dbff50d234911abf97dcdbcc180 refs/tags/9.18^{} +5121194743c3edeee3eab9873c24ad993007d70d refs/tags/9.19 +fbd7845dab2c248febde2ad415221723e7a98c0c refs/tags/9.19^{} +16e009a5bc76d9944fbf25b2ceab89fc68f10fe9 refs/tags/9.2 +3f1e8ef723d8da7e6938067a78e817297c8e4614 refs/tags/9.2^{} +2e3b8c36ee89d54611ff8a71b34fc515b5cc60da refs/tags/9.2.1 +a9b850b7c51f5e3eb408c19e1179fcd8570e9b50 refs/tags/9.2.1^{} +6897f12c916ed24b1859433681220ba19f117396 refs/tags/9.2.2 +728b43d1cc935b0be98239ddd96ca75258c38223 refs/tags/9.2.2^{} +d19cd2f0420fc5b66cb4ea44baff32c409600d38 refs/tags/9.2.3 +63e140667a2dca45f2ea4fbf9b82322f4207a3c8 refs/tags/9.2.3^{} +03ffc3d49e03578587b14b683ea62767350c792a refs/tags/9.2.4 +bc4b4f384e90e4f5e47921ecaf4f0aacd3e0ecdb refs/tags/9.2.4^{} +f0a07dde8903b3ad2ded90dfc0ea7e868dfc426d refs/tags/9.20 +b7d3ef28d098cec950b77d9448c648510e5502e3 refs/tags/9.20^{} +08a80530e9cf45eb51fd9bc3731b1d826a630a34 refs/tags/9.20.1 +81cc9133fdfab29a965ca78d42d011661088d196 refs/tags/9.20.1^{} +b8db720a91a6f35fea263ae69cb9632b2adb08ea refs/tags/9.21 +9be29e074fd0f86e43c6b8a2b0e23c4b0a7df9d3 refs/tags/9.21^{} +774eced3e4a224c6a4111c3bfeab687085fd7b5a refs/tags/9.22 +7077a2f0081d59e25c8e44d46de95cdcc259db78 refs/tags/9.22^{} +cc4bd7d96b88d91513bbb9060ee68721d9e85985 refs/tags/9.22.1 +a196167bf549666dad765c70b7410ad7dd67d563 refs/tags/9.22.1^{} +39d1e0078f383cb27f0310ff11d6884c04a53a67 refs/tags/9.22.2 +4c108f0a9c72df7fc7b645d007f2e13c355883f6 refs/tags/9.22.2^{} +49c8345fd7b3d0b20cfa76dd0e25c1d9ef53935c refs/tags/9.23 +ebdd5fc98b10e6423f6c148cb959734c92e2fbe3 refs/tags/9.23^{} +4a2be46c40e9cafc1be160af1b2856e21efd1f8a refs/tags/9.24 +f74192b2ba8cc6beea6298a77e9a23dff86ee8fc refs/tags/9.24^{} +e8b4fe479ccce299d799e07f5f88f2a66fa25669 refs/tags/9.25 +dab6f5dfc59e9966dcae5605e76919c23469568d refs/tags/9.25^{} +0048e3786efdaa2bf97beca282b61957d6738d74 refs/tags/9.26 +3d00b222ab76547b7855cbc2d6bb8da57ad28930 refs/tags/9.26^{} +81544b7ba6f9fada0cd841e3b588a6660f60ad61 refs/tags/9.27 +6e17ee93e308746295640e5945e053ed04fbee52 refs/tags/9.27^{} +5643e0233c93923a52a6e2d2a0ddbce2dfeac501 refs/tags/9.27.1 +4f52ca2a8f781d90c6bd028180e0ccc8258a3453 refs/tags/9.27.1^{} +07ab262da6ca9872a1d4c4e24b3f310b1a1e5eba refs/tags/9.28 +10d62b2cc1af2d669f0e0005b986dbe399e08a20 refs/tags/9.28^{} +1ab811311aa9470c11e04aec2928feef1faa437a refs/tags/9.29 +0921f59c9bb220a4712dd8cc8ee71825656b29c3 refs/tags/9.29^{} +beb398bc06fae83d8e28e363f38865d94897a94f refs/tags/9.3 +483f2986c9368bccc5dd5d7956a685edf90bce5e refs/tags/9.3^{} +6851c4117ed355998914ad6f89ab5d2f1887c5b0 refs/tags/9.3.1 +de5f6c000adc4d677ab45a88cf5a3c04e910f469 refs/tags/9.3.1^{} +e5c6a8ac79d4080ea12cee453a5f216bdb9a0050 refs/tags/9.3.2 +300ee96629f38f08dbd07f8ee112080bbf332e33 refs/tags/9.3.2^{} +6261d20ff0cbe861362eed1e17591d6d0d0791e6 refs/tags/9.3.3 +cf9b3e3cb5781f13b52029101ce17cb878dfddf1 refs/tags/9.3.3^{} +7945729d40e3e4eb3d98ab56539b66a8e2dc8a71 refs/tags/9.30 +98d4087c8b40e46a7b188b90976a5acaa5579a6a refs/tags/9.30^{} +466dd703dcbcf49cdd16748b87b32a6f9f5ea787 refs/tags/9.31 +f97c727b41ef8648df8da6f504aaef25deaac5e1 refs/tags/9.31^{} +90f09f8473c21907d2f0c97b12bb0609978062fb refs/tags/9.31.1 +5394b9742e5efb9df946a91e6dfb33e81d3ef0b7 refs/tags/9.31.1^{} +4b5afeffc9cbb08ff4f9b1900f4b6ef684df9993 refs/tags/9.32 +11faca2f7103e08777cd0ec8b2b3b78f4a7b9d85 refs/tags/9.32^{} +7d4682e3458aff571ef3d1f7872b3dbcb4a8df4b refs/tags/9.33 +a791f4cdcd0cf8463f1be57c119737af544b1c96 refs/tags/9.33^{} +c8b277c317c8a25b8c8bd9f82ab805a8ec478f3e refs/tags/9.34 +03b2dce2985917a8982a543ef283d2eea6032b15 refs/tags/9.34^{} +fdc8117af75b192e3f8afcc0119c904b02686af8 refs/tags/9.35 +4250aa0f4f635216eef4930529a51abbebb6049c refs/tags/9.35^{} +e86fb3431972d302fcb615aca0baed4d8ab89791 refs/tags/9.36 +b10a6aca544311c98470d7a113fd4d7478b470c5 refs/tags/9.36^{} +256ec0b00425f3ef212399ec2c7a55c420c96761 refs/tags/9.37 +49554dd4f9cd3c6bfa322df098252ed19921b0f1 refs/tags/9.37^{} +932117bca059f0c2f01703819dd2a8179a783022 refs/tags/9.37.1 +6c8417c43467b11af139c072ea0d348b7ab567b2 refs/tags/9.37.1^{} +6cad845a4e3f4276f0ba1a8217e402fc8aba6299 refs/tags/9.37.2 +943d5d28b4bd22af17cfc47b953a0f7587334816 refs/tags/9.37.2^{} +7adddd54a68dababd692fd5cd7098d5da9184dfc refs/tags/9.37.3 +21dae4dc08989477b6c44f7a9006f5ea29061f83 refs/tags/9.37.3^{} +5c50c4e8440cf0032e50f1be7412cb4e87dbfce4 refs/tags/9.38 +86723eebf9833695373fd2162d68b793a77444d1 refs/tags/9.38^{} +03e19fb62d9579bd9ceb62490a38a371bc89bece refs/tags/9.38.1 +7b2779caeb4506e7182db85f73bd7886efcbc5c2 refs/tags/9.38.1^{} +cb7fe8b79ad5326f90638f23a429c48e757df15c refs/tags/9.39 +cb1b0c16ee02829665b0d5ec9734f4ba75555fa5 refs/tags/9.39^{} +25e8603f5d2db711a8987994809cf65732ecff0b refs/tags/9.39.1 +161a2feb092acfc14ec653df3a6cffdd6d1dddf3 refs/tags/9.39.1^{} +d654335767d197e7f4f2b4e785f81a3b6e6fffbb refs/tags/9.4 +d8cb36c7c037267e7678e277d3a642f269b3ace9 refs/tags/9.4^{} +4876a5860e9cc4a2f27b983aee98b4dffa523cd7 refs/tags/9.4.1 +17d19bc5ff32980b881db02b7212191d6766a72c refs/tags/9.4.1^{} +6d14ee0fa64d962c0d4b6af612da215dfab0ee9c refs/tags/9.40 +334e9c84cdad569aa814b43877d7a207642726da refs/tags/9.40^{} +e43a0f5cf20bb9e2525f90bc03bb9d586e6aaa52 refs/tags/9.41 +cc57abfccf30264614453c983dc077929725b91b refs/tags/9.41^{} +72a3d1660baacc189a27818b007e6250fcc9c719 refs/tags/9.41.1 +3b85b59b024b2d09af872a9deadb97b082e3df88 refs/tags/9.41.1^{} +9e21eebae919e4982f6a32c8b6b57d8761777c08 refs/tags/9.42 +f70d3c8a733a4dfa907d97fe4ba0fb2a274c1edb refs/tags/9.42^{} +091fe3a4586c28664d62565f792d71c12f02d3f8 refs/tags/9.43 +e10e961179bbf184f603d1fa0c6b338ee234615c refs/tags/9.43^{} +5c4ccb4e250b6b040bf7b299870450e1405d6d1c refs/tags/9.43.1 +e3848927b9884a3f19aa947388ec605a7bcc4d65 refs/tags/9.43.1^{} +b2e6382667cfd59a764a88e32cb68e12f507d50e refs/tags/9.43.2 +6e3ffb39631dad81f2a2d2e8b0a2db733b28671a refs/tags/9.43.2^{} +71363dd8794bfada1916c93fbf32bc02424aef77 refs/tags/9.43.3 +06701344b3f8cd6d34cf47365a795e9c275a2c10 refs/tags/9.43.3^{} +6e3c2f71e9c602e80a16d497305a2e1f9abd3e92 refs/tags/9.5 +4a152cff0fcafe57d40f029219610dd71ccb4a69 refs/tags/9.5^{} +82ba14364eb03708b0d88ff948d2a217df024ab7 refs/tags/9.5.1 +3ce866dfaac16c19b6f5d25f9f81cae99cc85a21 refs/tags/9.5.1^{} +dacc95ae131a125ac63237c33127526f8feff180 refs/tags/9.5.2 +38d8d70baf3588e7dd813d8aec1077d4939e96b0 refs/tags/9.5.2^{} +5553d5fe777843afdc7ca4f55ab7a71c7a3f30ba refs/tags/9.5.3 +00b5328da99557fea129c0ae75cda5f9bdccfbba refs/tags/9.5.3^{} +41bcc300edc65283f75333e98ea1fe0199f832e9 refs/tags/9.6 +b22139108b6f86b48114d02e6c00e82dd2c41f74 refs/tags/9.6^{} +26288e4c46bc4e300ceb80f5466be815b5709517 refs/tags/9.7 +19b566c158151a8d5ce5b80a44eec7b3ea622fc7 refs/tags/9.7^{} +ee8a91f9cdebac186a6100b8d84480253eb08b7b refs/tags/9.8 +cc49526761cd6c391bea4d8bdf13087019e34365 refs/tags/9.8^{} +e28caeb7359d25063751117ccb85fc23841f5f67 refs/tags/9.8.1 +6bba7d65e228fd7d0141a2213f8b18a5e5a2cc2e refs/tags/9.8.1^{} +caa486f45eaae4c485df5c56c7aa9e5d513cb521 refs/tags/9.9 +0d0b33197c4f86ee5a70265a24a2c311d63872af refs/tags/9.9^{} +5e059ad85ce82530bea7534cc921f19830ffaff9 refs/tags/9.9.1 +b8b12133992ff89ca33b427b35b033c7bfa69e6b refs/tags/9.9.1^{} +f69ef2f0596eaf9e6621e8d57ad8e9b8a20bfccd refs/tags/oauth2-oidc-sdk-10.10 +940df665da5b1df6dd9d5dc544bee1efb26e0bf5 refs/tags/oauth2-oidc-sdk-10.10^{} diff --git a/packagedb/tests/testfiles/find_source_repo/tags_commits_list.txt b/packagedb/tests/testfiles/find_source_repo/tags_commits_list.txt new file mode 100644 index 00000000..1af4788d --- /dev/null +++ b/packagedb/tests/testfiles/find_source_repo/tags_commits_list.txt @@ -0,0 +1,2962 @@ +[ + [ + "1.0", + "6e3e653793ba16c0bb4af062e231112d7f025cc3" + ], + [ + "1.0.7", + "fd7766b079dbdea566bea34e2d3650a7300bde77" + ], + [ + "1.0.7^{}", + "188971112a79afc585b8c794d9abb9d469463874" + ], + [ + "1.1", + "67bf6c6e6ce7d32390d6784c4dec0b1e75eb9d57" + ], + [ + "10.0", + "e73956d7909f4dba034a21dd67a774c8e5851c1a" + ], + [ + "10.0^{}", + "8f4516bf9730d525861ae59b37562b912374aa9e" + ], + [ + "10.1", + "18436498e591736ecf0496da13c9ae6ecbe32a5b" + ], + [ + "10.1^{}", + "86c059d5ec7efd024f0f0e730cce3c20c69d9d7c" + ], + [ + "10.10.1", + "4e58a144a26f62563c3e1db6d9a6c9d998b398fe" + ], + [ + "10.10.1^{}", + "f8a553481f6977b9aa441a6e5947c6ac03eb452d" + ], + [ + "10.2.1", + "f92e8b7051b3a78be84f1092660fb6dd03223cb9" + ], + [ + "10.2.1^{}", + "ba25e000d04fcbe84396f6949ae1e1e6e0489574" + ], + [ + "10.3", + "67932ac63a08b4ae55573b50802e60f16c6fc597" + ], + [ + "10.3^{}", + "6139fcd338ddfff43a0fe9f931bc8733b3d3df7b" + ], + [ + "10.3.1", + "28ee86b317d6de21f188ccd9a27b70c0dc79745a" + ], + [ + "10.3.1^{}", + "a75d8aa1745c3d95ef57549ca52a37a0911aa8f6" + ], + [ + "10.4", + "25a5d6b9bebccc881c61edd3fb1ab8cd85738a61" + ], + [ + "10.4^{}", + "6d2b2fc8ac4094b5da463711ae4ab2eb76610ffe" + ], + [ + "10.5", + "1e893909a57fdc6815b0f087dc087edb2d37ac73" + ], + [ + "10.5^{}", + "40329fda6eeea60a9b95e19962c3918fc2f64126" + ], + [ + "10.5.1", + "85cce2a8f7e6d13ad656c9e20b3256e5ef4d6cb7" + ], + [ + "10.5.1^{}", + "478c09509e75dc7e5a6f9e0033c41274269403e7" + ], + [ + "10.5.2", + "15288781cb44476a7d39076a48a91c2c4d089eb9" + ], + [ + "10.5.2^{}", + "1dca5a3116dee8cc5f38ba422009699a6c63c66a" + ], + [ + "10.6", + "1ea298829fea0ef7003371e09cc30dd7552bd439" + ], + [ + "10.6^{}", + "63d95e084e81ded6c14a7970ca5c4b8807f89558" + ], + [ + "10.7.1", + "85a26585f3b5a9c92064f9c9c99fb9de6bbbb054" + ], + [ + "10.7.1^{}", + "c8f09b035b7e93858a39ad4a46ba4d0e17a0aefe" + ], + [ + "10.7.2", + "1f5f5854fd6b50daad172c4024a82dac2a6cdafc" + ], + [ + "10.7.2^{}", + "e40239c98f99603d3de6f61089577f82a321dcc3" + ], + [ + "10.8", + "96bba8e1b7781e2b97085f6c10ccfe6750b3f5c4" + ], + [ + "10.8^{}", + "1c952ae5a6b0ec4a64caa1390925b1ea384416cb" + ], + [ + "10.9", + "1ab0d198462bf4b7c81218d1454088bd61e1c5b8" + ], + [ + "10.9^{}", + "0d6db7b6426977c744b184b7652a78e3e5610d47" + ], + [ + "10.9.1", + "6af2dbeec0db8629c390399870af125b0c7dd727" + ], + [ + "10.9.1^{}", + "6042de52505d5ac001ecb95e3623d1a3b0bddc64" + ], + [ + "10.9.2", + "ec0963af1f2b478fb9dd90d1ec0609777e60f917" + ], + [ + "10.9.2^{}", + "4b1510a5db344e0d459d17c8507b295de7b00fcd" + ], + [ + "2.0", + "c90690248ca02e36bb273c8c70285944276217be" + ], + [ + "2.0^{}", + "efb90598022db7651a140d7b613aad46a715c5e0" + ], + [ + "2.1", + "4f02c06d2385575c99aba607228bde870ea5e106" + ], + [ + "2.1^{}", + "5b351e357ffd72f5000a3298159a3de6e5242106" + ], + [ + "2.10", + "94bb0fd2be4b0c578be0866314843cd8192ec0ef" + ], + [ + "2.10^{}", + "992d9d6413b4a1fb10d140923d0892d287a095d8" + ], + [ + "2.11", + "178cdff6984ff705c9febb02c5585435a0c1559e" + ], + [ + "2.11^{}", + "6f571f886514d700e49dc75146aa6c625718d8c9" + ], + [ + "2.12", + "11e7befb2c32fcf17b0ffa640cd5d700c73a408f" + ], + [ + "2.12^{}", + "e75cf9a5249b3ad05f20e2f82c39b80da55f4cf6" + ], + [ + "2.13", + "780022b4bf4b105b658dd16a7ff37e403edf48bb" + ], + [ + "2.13^{}", + "4f22d87bbd157eefccaf55de5e611ff346c18245" + ], + [ + "2.14", + "8d5bba425b0df28cbb8d46ba888ab6d299d4927a" + ], + [ + "2.14^{}", + "ae9a9bd0805c11030afa64a9f6108e2618c237bb" + ], + [ + "2.14.1", + "08a44fb432b85a5e16682e729ae7b56b8d546697" + ], + [ + "2.14.1^{}", + "cd20596e70f0afdc392038059c2c527f027d0b5f" + ], + [ + "2.14.2", + "10caa651a72fc44e265f328b0d790c47b0bd4d24" + ], + [ + "2.14.2^{}", + "da4ba911ada5c2950c603e09f0f97083e52f75e7" + ], + [ + "2.15", + "a71683ae449e410f996e0b6da3ca8846b8bb8a88" + ], + [ + "2.15^{}", + "16025b1e92bcdc83620e614acb6ad68104504e1e" + ], + [ + "2.15.1", + "60478333a7ce0b85c21f3c2c19b37b0a63fb10fd" + ], + [ + "2.15.1^{}", + "6e652ec8cf7def804b9ae49703b8c2f904f13f33" + ], + [ + "2.15.2", + "d8fcf0b9efef5a5e8a72b786d57cf1b1c3ed6bc5" + ], + [ + "2.15.2^{}", + "c9939869efb2fb493e5c970e991fe2169dff3ab3" + ], + [ + "2.2", + "10007e84cbfa5d201d78b5f53ae7fefbd700b09a" + ], + [ + "2.2^{}", + "a775e968162e21fb4af33a78b74bc4682d1e3df5" + ], + [ + "2.3", + "080899ac29adfd6afa087c7c932f071d8bc43ef4" + ], + [ + "2.3^{}", + "7c9ae965580f2a2bf0fa1ac0db0635ee1e4fbc85" + ], + [ + "2.3.1", + "85020681fe4398ca35ea540d7a6d7c5a44fe0645" + ], + [ + "2.3.1^{}", + "391d40bc1cb171d398b595d3c0a80a3573f20fed" + ], + [ + "2.4", + "95f697fa9241f5594e18eb60639f0848eb1d2dbf" + ], + [ + "2.4^{}", + "c865a78640d540b0cd4f8419b957f8faf579a1a7" + ], + [ + "2.5", + "1603a8058a74441f85cd6a8150f3052b688229bd" + ], + [ + "2.5^{}", + "cbbaaabce4f2f1789ad82d0627eca112269b7770" + ], + [ + "2.6", + "c5b0da2e658ed13b8bc65acb581fee94f4a303ae" + ], + [ + "2.6^{}", + "71a639906540b95b2f13ea666d7f501b8075ddeb" + ], + [ + "2.7", + "2134fc166fe77e8ea2e5219d1d102b3c605df98d" + ], + [ + "2.7^{}", + "e73104203e33afac5835a4ec51d09d8eb8b4736a" + ], + [ + "2.8", + "0771606a935f3a1dbed0df5c89c543896f4ac01e" + ], + [ + "2.8^{}", + "c3137b03fcf5a72cd218660f357edb91759031c2" + ], + [ + "2.9", + "9fbc8fa4e85c6bd8a18f6b93012cb2873985ce22" + ], + [ + "2.9^{}", + "6e3c375cf27e437261899c321b10868a26a9e794" + ], + [ + "3.0.2", + "7777ccd79a28368b12a634e00f401910ff5dfc44" + ], + [ + "3.0.2^{}", + "d633420033117463aafd781a5b4dbdf4d4fa04cf" + ], + [ + "3.1", + "f562855079ba424859263f0b0c1e54b4738e55b1" + ], + [ + "3.1^{}", + "fd0e3950ba2a5348fed661d1c7bf6e5b4b9282c1" + ], + [ + "3.2", + "354802dfd96082e8c1b30df9fb2e07cbc4035bdc" + ], + [ + "3.2^{}", + "4635817c7f27a45bd509a364f7376a8291edea00" + ], + [ + "3.3", + "18c3dbe37350039fe362d29e56d68ce41d866ee9" + ], + [ + "3.3^{}", + "43e5fe958750c61d0103692c4002e4fa7bdc71bf" + ], + [ + "3.4", + "0ceca42c4b3cbbaef481508ae02660fa791f5009" + ], + [ + "3.4^{}", + "c304fe8c0ec950535c189d456a1ed48dfe2b0ffb" + ], + [ + "3.4.1", + "2b8709381a376e01093f0f5a16ef5f2e05f612c6" + ], + [ + "3.4.1^{}", + "a29b593f911a10f43ed25480980c5c6636435f58" + ], + [ + "4.0", + "43c976d9374e8118971ae5eabfd0c1063b6db4a5" + ], + [ + "4.0^{}", + "90c606e4397c1bd018d606a17f814127dc4aedc6" + ], + [ + "4.1", + "7b264ef1967cfd04f4ba31ebf049a8ae60530a41" + ], + [ + "4.1^{}", + "63d3a50faed83346665fd78c639b30e43e8a79ad" + ], + [ + "4.10", + "55065825dcf7b185d23563cc743a66a8d09a5014" + ], + [ + "4.10^{}", + "f0c87cabad27da6e87e2ae1c9784eea72613463a" + ], + [ + "4.11", + "6ce3b7699ca8d2d9554be88353166f0bd8a627dc" + ], + [ + "4.11^{}", + "7b5ca2318c0e8272a3f520c2e51636bd233d7bdc" + ], + [ + "4.12", + "44dafe560fca9b023849132d01171cb7118dfe78" + ], + [ + "4.12^{}", + "cabe1a169747b4d3e6aab2b86d0827a51217a48e" + ], + [ + "4.12.1", + "2ae068409c8f066dda30d76cad8482d12bcd1498" + ], + [ + "4.12.1^{}", + "b335318c6302fe2618c918658a0ed15ee7f68201" + ], + [ + "4.13", + "6996d875730bcb6c7f907bcae92a78ae3aa0ac3f" + ], + [ + "4.13^{}", + "02d7472a1c8585918b423bebad0179e445661bde" + ], + [ + "4.14", + "0022e0002bd562996aadbddbdf256542dc2cd464" + ], + [ + "4.14^{}", + "a4d5c4c40f1bd4a0fbbc1ba1226d9682fc0c1512" + ], + [ + "4.14.1", + "0f4d2545ad8de5ae11b932682bf30c0b6b93fab1" + ], + [ + "4.14.1^{}", + "3dc30ff4dded40046c25fca7b3a1bfeb7dcd4513" + ], + [ + "4.14.2", + "2e96ed7f5be562c69eea5e9d6a1ef821f60382e9" + ], + [ + "4.14.2^{}", + "0f067580ffff99b2ad4384b06570232c0f8cdd08" + ], + [ + "4.14.3", + "7fc50e1ebb673fdc58a0eec6e57f0fe4268bf729" + ], + [ + "4.14.3^{}", + "2567cae4294beb6aaa2179f640c2d4ae0ced7c73" + ], + [ + "4.15", + "75c1065d863011c0c0b4700ee240c2dbe04265dd" + ], + [ + "4.15^{}", + "edc228dfb40451b80a7d521de562df2de0875728" + ], + [ + "4.16", + "5aa1b370432a53f44f4bdb1af042795160ef084f" + ], + [ + "4.16^{}", + "6dc21b6f68553d258e9e1ea88adaea0eb2f7327c" + ], + [ + "4.16.1", + "0a7e6fd2b3cbed3ab69605d73a8aaebbe7fe77a3" + ], + [ + "4.16.1^{}", + "8ad1bbd4a41b888568320bc3968eaed31d4e5dcb" + ], + [ + "4.17", + "dc6fae9ffd39a140eef2046a1fcc91e02bb27c09" + ], + [ + "4.17^{}", + "d52f15750e1705a986ab595fb7fcf3e877d62c28" + ], + [ + "4.2", + "cc9d61d53219edcb38fc899f5eb3c481f3afded0" + ], + [ + "4.2^{}", + "8ae240d0b21e08e071bdb67494c76173af2c1da2" + ], + [ + "4.3", + "8c2390f5a0221876bb1666fdb98aa97a88eed476" + ], + [ + "4.3^{}", + "c38c385f7ce9a2cc63e92e5a5fbca0a7bc462b09" + ], + [ + "4.4", + "3bd73dbfa97729fa554f8187808e89abc552d7a8" + ], + [ + "4.4^{}", + "8d6daf7f8f33ab9b6b12e66eb135ba856d1875d8" + ], + [ + "4.4.1", + "a457f84a6f90879d5f60b7984e005a05fcd7a556" + ], + [ + "4.4.1^{}", + "2df8271f1d6c6d3f6eda1e1727d198285a691f7d" + ], + [ + "4.4.2", + "cb302813513858722afccc5c2ac86e15d5cc6278" + ], + [ + "4.4.2^{}", + "850bcd3c5ea2916dcc98e30eddd9d537b976aaf2" + ], + [ + "4.4.3", + "ee852a404cec03b4563847e508654b8274f864ff" + ], + [ + "4.4.3^{}", + "d8760ebd598cedf5116a287cf2ecba3ee2c9e7f0" + ], + [ + "4.5", + "a7174f13abbdb43809e9c5d4cb0f34e814c917bc" + ], + [ + "4.5^{}", + "9771e51ef80578382b9f41e5fb5147b9f917bed4" + ], + [ + "4.6", + "c38ad84873af4c625c3d3432c6adc4e5a5c95df3" + ], + [ + "4.6^{}", + "f74ed2ec2e0a51ca0cec307addb10d06de672d92" + ], + [ + "4.7", + "f72d9af6ed883cb8b86fa735056ce9ff0e296f54" + ], + [ + "4.7^{}", + "c08d2b5308f79db8833a11f0dd63255938d758d3" + ], + [ + "4.7.1", + "5ac308db01c69c2ccc52ac7573c9c43102a0edd5" + ], + [ + "4.7.1^{}", + "8cfe0f9bf5d7b226422fc9617faa58562baaa723" + ], + [ + "4.8", + "7c21486f2cade9f3dbb0abd9f32f17de9599131a" + ], + [ + "4.8^{}", + "3368766dfaeb25dcde0df522572783082830096c" + ], + [ + "4.8.1", + "93800ac49e0191857f961800e3ae9404f653e6e6" + ], + [ + "4.8.1^{}", + "01d60d7330dfb9a568bf5e2413868bc289dc88a7" + ], + [ + "4.8.2", + "21fd369fd091100583cf9cd9842c20073998f130" + ], + [ + "4.8.2^{}", + "76859010863630661f4180db43f73e6b2f397af2" + ], + [ + "4.8.3", + "521f3ca1a62e3a66853fb2e8a3518de0e5019503" + ], + [ + "4.8.3^{}", + "273b6945c20e8dabc530ed15c81a7ef0380c718c" + ], + [ + "4.8.4", + "c3a53cf0797cd50cab2e195ce7b01f1e6b901858" + ], + [ + "4.8.4^{}", + "7c2931c56b5389b771799ce117a73efc15349e53" + ], + [ + "4.8.5", + "daabd831770dcf696ca03948febdbe190ff4e741" + ], + [ + "4.8.5^{}", + "cde40f9dfcc2a7ccac092d46c952d4836172a8e7" + ], + [ + "4.9", + "7eab178a45a830a57dc03bfab1ad642fbc5fa7a2" + ], + [ + "4.9^{}", + "8706cfb453d6e6e684a985518f80192d8c19c3cc" + ], + [ + "5.0", + "4e0b1785e7131caff07744fe045a7739c849f177" + ], + [ + "5.0^{}", + "e451a99e38fd37008a417051d3552b91dd651b16" + ], + [ + "5.0-alpha1", + "289baee4a926227c316195c382e8e82354ad3da9" + ], + [ + "5.0-alpha1^{}", + "565bfcf857f148c6f4a4a7941b04e4adf83f1a1d" + ], + [ + "5.0-alpha10", + "bc63d5aab1689e5a97ce88769d21d27952e24da3" + ], + [ + "5.0-alpha10^{}", + "641fa4f60b4b16c3fb32299d97f8546ec55a2653" + ], + [ + "5.0-alpha11", + "db9d2089c97c1bf09726764880d769eeaeaa1b75" + ], + [ + "5.0-alpha11^{}", + "9fc53bd5342f6c2ad0f7bf6e16418c075e3336b4" + ], + [ + "5.0-alpha12", + "d1481306f4fc9f9764ffa4cd34cdee490a2165de" + ], + [ + "5.0-alpha12^{}", + "20f2c86a8cd14daab68dd6fb6dad941d0c6504fe" + ], + [ + "5.0-alpha13", + "8c6c5b0b271e7ec85b794768c0ec02ff3f0878fe" + ], + [ + "5.0-alpha13^{}", + "3cedbcb4a3c464cb917c14d58bbe2f2c1cecf106" + ], + [ + "5.0-alpha14", + "20004fe4eb55fcb6400db059219cb213a7d5bec6" + ], + [ + "5.0-alpha14^{}", + "36179cdd05dbd7a63482677f48a6f83af2d5496d" + ], + [ + "5.0-alpha15", + "16e6457febab0d1016904430ef0fcc1f62c29369" + ], + [ + "5.0-alpha15^{}", + "01d94d811af46af7a59b5f989e996973a71d0bb2" + ], + [ + "5.0-alpha2", + "ca22146c26927d674de30593aee468b869c3fc5d" + ], + [ + "5.0-alpha2^{}", + "8b0ec6b6bbcf482268a206e73d96446bfc01ae5e" + ], + [ + "5.0-alpha3", + "ef9e39439f49771d8b677c7afca14034fb7b7fd6" + ], + [ + "5.0-alpha3^{}", + "5034605caaaee33bd42f15384fc30371b932d62b" + ], + [ + "5.0-alpha4", + "082fee8ad8620920aa7ba6e5d5ca6d3ada275483" + ], + [ + "5.0-alpha4^{}", + "2509663008149703af9a247b1bb3fe869c6187a4" + ], + [ + "5.0-alpha5", + "c6046b3f5b97de69399b9573d979786f2a702226" + ], + [ + "5.0-alpha5^{}", + "4f774f2296b534caab4b3c402464e843c45f6510" + ], + [ + "5.0-alpha6", + "27f6df17b10c06d40a9ecbc6803e326accbd2374" + ], + [ + "5.0-alpha6^{}", + "34726afefb90004fa2b73bc881d213bf14f4119d" + ], + [ + "5.0-alpha7", + "52c9e503a86bea889856b03dc6b1060abe08211c" + ], + [ + "5.0-alpha7^{}", + "315b24bb880844136cc10fa3d523ffc82cfc69d8" + ], + [ + "5.0-alpha8", + "dda69695db63d89d841ca77be63ffa9431c4e949" + ], + [ + "5.0-alpha8^{}", + "413ffcf6540faa08c2c90537f6d29898a0b3f3cb" + ], + [ + "5.0-alpha9", + "78201b0e89737bfb7321058ebe093f4d516c0cda" + ], + [ + "5.0-alpha9^{}", + "6457de60175c1750fda6ad3ddda3f06d003e01d3" + ], + [ + "5.1", + "78452f48230df7960a1411125becd108353fb6c5" + ], + [ + "5.1^{}", + "91e31acb86508b9e4f0da416b510f721389fc16c" + ], + [ + "5.1.1", + "2e4eefdded145d1df37d86c20fdf444d68b3f69b" + ], + [ + "5.1.1^{}", + "b93944845223182a3d0043a2b2768791b9b46b5e" + ], + [ + "5.10", + "36e522f67d1cdc618fb40d8c0458712ab265d956" + ], + [ + "5.10^{}", + "af545054313f77568668b1b7d83ce0426c83c33b" + ], + [ + "5.10.1", + "7f9c4a96d1d80e0ec164f3681b186912985c843d" + ], + [ + "5.10.1^{}", + "75a7dc91daa8ee0c6c40c527c4115274631b0435" + ], + [ + "5.11", + "ad98e07b495071d46a9fa752ccba66407cbdd2c5" + ], + [ + "5.11^{}", + "eabe71c03b880ced4f110ada729e2dbc9940d330" + ], + [ + "5.12", + "342df84feff305ae039bbaf276a8faf0e56073d8" + ], + [ + "5.12^{}", + "7785d60c314419954d58580280c64cee6a2bd4eb" + ], + [ + "5.13", + "1e8f7b7e3e13de07f40703b5c6a25afbd06c5947" + ], + [ + "5.13^{}", + "56c01299e3f74063bca581184e243fb9f1b13f98" + ], + [ + "5.14", + "72367cf55929353e7d75bd505ba90fbd73d01a08" + ], + [ + "5.14^{}", + "6abbf0fa360895f73e3948f67701496a905c1773" + ], + [ + "5.15", + "ce27ccc9c4d1ca8f18f3f90bb0caa842b6ef38e8" + ], + [ + "5.15^{}", + "2b741b3b0dc6a1483ff8a999f375c9626eb88337" + ], + [ + "5.16", + "9a0a5955090e69c2a874e2989616cf3f205d28a9" + ], + [ + "5.16^{}", + "421dd96617c6b9b303aedc2ba85839bf1eb41084" + ], + [ + "5.16.1", + "a8486b695cf786cee856290e1ac18f52cf236663" + ], + [ + "5.16.1^{}", + "d68b369e755dbbe999976b8f6b84dfd555375ffb" + ], + [ + "5.17", + "4ac66ed97d9a3d08b7fbe59c97e7aa788b867f05" + ], + [ + "5.17^{}", + "5ff318fa76a54d5485147a22df23d14b05be8da1" + ], + [ + "5.17.1", + "21dca06291063b57d6bef2180405e3a790106659" + ], + [ + "5.17.1^{}", + "feeb2c28b1be9d2d077233badda9002e883ff9fd" + ], + [ + "5.17.2", + "bcca34def0ba53081037ea71e852ca2708ab4c9a" + ], + [ + "5.17.2^{}", + "2a10e543a4bd4a9e8df3d0a4b85d1cbf47de62e6" + ], + [ + "5.17.3", + "3ed5eacbdafb30c0ad00067f59188a1fad48fbc8" + ], + [ + "5.17.3^{}", + "684b3213f67ef2246287036a3b2440dc5b597541" + ], + [ + "5.17.4", + "c897e16dba1b51ef248d56522ce99dcd9cd23321" + ], + [ + "5.17.4^{}", + "885b89e947886754f4b670bcece2fd0e6ef4901a" + ], + [ + "5.17.5", + "949dc36ef88a5672cb35ecf6e02661689fb8c765" + ], + [ + "5.17.5^{}", + "ecef5e3fac6b75a4533107ae0ea00d3d718f0713" + ], + [ + "5.17.6", + "ad4660478f83387ab806fbaf4f2433b1780f9bcb" + ], + [ + "5.17.6^{}", + "8c6d91a16ff6e31aa17e32d94730c7ac612f2830" + ], + [ + "5.18", + "90285861a510e45703283e844944c55257588828" + ], + [ + "5.18^{}", + "f53a0674c9a4f050aabca7a322d4a2601103f517" + ], + [ + "5.18.1", + "7c19c8ef63182b541a63e87d67f61d7d85b18f20" + ], + [ + "5.18.1^{}", + "0c3070b8ac81bd3aab018ae6dc954d5a92672e48" + ], + [ + "5.19", + "e5315c561fb0e5565926ac0438bbe65d52d33038" + ], + [ + "5.19^{}", + "3ec17680900c52a8b49f5526db720857f8419b49" + ], + [ + "5.19.1", + "9149e9b6cb658218cb9b7a38c55b6a9f30a82ae7" + ], + [ + "5.19.1^{}", + "7ea37a44c61ea0e1e882486b669c426a262c7ef9" + ], + [ + "5.19.2", + "95fdc7018a2948d10e553da987db2a14ac3cfa1b" + ], + [ + "5.19.2^{}", + "0efd434132a78a6c45fcec3e5244efc0b1759e33" + ], + [ + "5.2", + "b5b257a58034bc141f59498e11b4b5c3bff5d064" + ], + [ + "5.2^{}", + "9cc8c6dffc3b36bd5b2fef19e9ebe683df256c47" + ], + [ + "5.20", + "ed7872f5373aae7aee9778fe92c6819080c32179" + ], + [ + "5.20^{}", + "f5d5ab137cf13f058866204a25fa9b2aed422401" + ], + [ + "5.21", + "6bd0a53e35bf7fb868f55e7d0f649a89a732285f" + ], + [ + "5.21^{}", + "9b728eee39cb1d73d50097a61c1bda95952a4ef3" + ], + [ + "5.22", + "16717f918ce241c16c2b1a3e730577778036936a" + ], + [ + "5.22^{}", + "78918457506b352f3f45faaa20e7c3fb54ea8c69" + ], + [ + "5.22.1", + "f76c28e538bc49a904d34cebf5351d2ccf170d17" + ], + [ + "5.22.1^{}", + "144af259248686e0996f95d2fdb82203bb478137" + ], + [ + "5.22.2", + "b05658ad63fdae8fa10f34d6d7678820c039881a" + ], + [ + "5.22.2^{}", + "345ebee0d18415d9840828b888510b3e8fe9231f" + ], + [ + "5.23", + "202fdcf32f7e80aff0f0c1d519a174f6d4263bd3" + ], + [ + "5.23^{}", + "80976d92af69ec60c810936d798a0c256be28d42" + ], + [ + "5.24", + "f593bd8c234ffd1c4886ac14d37f92d503188cc9" + ], + [ + "5.24^{}", + "9f3c067f36a0351d311b211b2efec59a0998557c" + ], + [ + "5.24.1", + "04e8c7ce3d2a7a81ed8de6a7a48ea10106116e06" + ], + [ + "5.24.1^{}", + "f945e997dc5c94e7f7ed825bcc7210c01c6a072d" + ], + [ + "5.24.2", + "dacf634bb4ed3b6f0a2315010b75dc9c7de35627" + ], + [ + "5.24.2^{}", + "13996ba37eccdabda6438f3735bfe2fe703172ad" + ], + [ + "5.25", + "a88ee74935f97d466fae2ceced125bf903d9961d" + ], + [ + "5.25^{}", + "6d1462c59696327b7d4e87026b316d4baa6acc3a" + ], + [ + "5.26", + "dbe9651923ce00c928d3326492d58d7911717ba7" + ], + [ + "5.26^{}", + "b1a8fb7914144c8354b19386c30ba0c1570be0d6" + ], + [ + "5.27", + "bb6c6cd54165c373b2ddf02a1a64f61e19955cfc" + ], + [ + "5.27^{}", + "dc53abca661a523fefc9714bc1e99e5ac170a1bc" + ], + [ + "5.27.1", + "1badff51d0e167bc17d7630f48a7f8869f0c88b2" + ], + [ + "5.27.1^{}", + "216d785763b632efcd3ff58b2cbdda7ced3e591e" + ], + [ + "5.28", + "a2b476da0cf0cb92b050966b0fb6baadfa8f08af" + ], + [ + "5.28^{}", + "59d894078300cea2fc9fa2684406e83eb34dd503" + ], + [ + "5.29", + "10fc140c7a82c9dc958096d7eb2c218193d8ec2d" + ], + [ + "5.29^{}", + "acb6c9b347c019894e8caad18bb6cdc013226ee6" + ], + [ + "5.3", + "3d4b1f22958af9310966e0ec11c743b7b57fcf37" + ], + [ + "5.3^{}", + "e8a6d6257d1c8911a985e2bbde93458a55fcf68d" + ], + [ + "5.30", + "0a0044128f82b06160fa9b6717e69b96bec4401e" + ], + [ + "5.30^{}", + "d8a5602a5bf34bb0dc99c83a5c2454c9f70c19e6" + ], + [ + "5.31", + "4a1649549d1a728258b0c59679a96ded4636819c" + ], + [ + "5.31^{}", + "2dd1d393e9502b8be7d206519bef6f273edae9be" + ], + [ + "5.32", + "9f7dd91ed3df9bf59daef535b95625f39f6075da" + ], + [ + "5.32^{}", + "ccb2328093bef60c17703bb7cc33655944897067" + ], + [ + "5.33", + "c59a3dd8b6266e0508bb26011562e0d742e97013" + ], + [ + "5.33^{}", + "35dde1f0039d439c72442d5be31c658a8fca4d5c" + ], + [ + "5.34", + "417886334e437e4ff101cd8c8b213320b27956b4" + ], + [ + "5.34^{}", + "6443eb2878063286c003f27609955578238dfa00" + ], + [ + "5.34.1", + "9df16be83f77e0e6ce6e465bb7ec166a304be639" + ], + [ + "5.34.1^{}", + "f4e478349196e309de49cec2f4ecbf1fb77bab6c" + ], + [ + "5.34.2", + "2dad6c7a3ca7b49bb6be6b98c147362416cf3cf4" + ], + [ + "5.34.2^{}", + "523115f26baa3db3341b242bd836878c8f41ebd5" + ], + [ + "5.35", + "75afa5b69c2cbd7f713339ffc4a7d823cf9f1f22" + ], + [ + "5.35^{}", + "9740598b0eadd77ca0086c254ecd41aacbb383e7" + ], + [ + "5.36", + "04f945a4f52f59dc4eacbe6f6bbdf0b7b0847aae" + ], + [ + "5.36^{}", + "62224c5f4d6266760e55c4907b75001ac0a3a56b" + ], + [ + "5.36.1", + "c3330cbaf1dd4825e67d9412ae22040dd1cb889e" + ], + [ + "5.36.1^{}", + "dc108966011f4f88a4ed7a23aded0a95b6dbf831" + ], + [ + "5.37", + "111b0d1b15d92d00b6d4ee66617e65c871f7784a" + ], + [ + "5.37^{}", + "d37677096fa5ed855eb1a9899e5783ade0da73f0" + ], + [ + "5.38", + "b9b7fbb87de1f23608fd04f5d99ec51bbafbd47f" + ], + [ + "5.38^{}", + "55ae57a729148f42cca50ad7908a6dc393fe679f" + ], + [ + "5.39", + "5eb37015ddb0c0151da72833dc07408716002b64" + ], + [ + "5.39^{}", + "76fc024c1f6ba531f76da4d8b4cbad2301aa6206" + ], + [ + "5.4", + "35c64d011daf2452aabac76a2e7f6836aa172406" + ], + [ + "5.4^{}", + "dc462012ded7862b1401610214e3d6839419ce01" + ], + [ + "5.40", + "886a0f2d759c9f84be69458ad24de277c32fafee" + ], + [ + "5.40^{}", + "f04e8aca3606dc5eee7180edce8e9fda09928fe4" + ], + [ + "5.41", + "6a811aca754446af9f96234c0f03a823c076f618" + ], + [ + "5.41^{}", + "9890c7dca2e1ab6453e68156cc9fa1e48894147f" + ], + [ + "5.41.1", + "850543fa241e4e008112a8b2fd8ad38cab5d45c1" + ], + [ + "5.41.1^{}", + "aa7149789c9feec24713d80cb00c72c51927b54a" + ], + [ + "5.42", + "71c7311011a20069f0917e733bbb70a21f408ac3" + ], + [ + "5.42^{}", + "890179d3c10935da981c1db027f0226eae126ca6" + ], + [ + "5.43", + "a4744f72ebfd12ec36e6f1d1904cfce7fddc7d95" + ], + [ + "5.43^{}", + "1c833500dd4adf8d301927a6af341405fdf3ea26" + ], + [ + "5.44", + "9db5432d9923b24e1cebdd56b59927c733c18d71" + ], + [ + "5.44^{}", + "004d13a090a9d5310579ae091e2f16f035f6969e" + ], + [ + "5.45", + "0ce35e3392dff3d69cc2979378d442066e139fa3" + ], + [ + "5.45^{}", + "0ef8c2df03d658e5bc9f246a02fde5689999734f" + ], + [ + "5.46", + "12ab859ed14bba47b71629b33ffe2c3fb47ef47c" + ], + [ + "5.46^{}", + "29cfedf9146710f2079227204e36cb89b5a804a5" + ], + [ + "5.47", + "a4c6d9199830ef8d08f825a9d4c7d16353d117c4" + ], + [ + "5.47^{}", + "30676d4cfa891245ba541ac2e1537a339a143362" + ], + [ + "5.48", + "41649da011156aabd4bbedb5bab3a3a315b16d77" + ], + [ + "5.48^{}", + "45046bd7fe3f63dc076bfdcbf7e0768dd11d5241" + ], + [ + "5.49", + "0be0d04286544fd0f1dbfd4325bd072a3953b069" + ], + [ + "5.49^{}", + "16cfe12d8212d896034d7729e1dd0e636839b36e" + ], + [ + "5.5", + "dca966b74d568da9f380e64fe4e0993c2b27310c" + ], + [ + "5.5^{}", + "4bb7d920ddca360f3c54cce504bfcbf4f8c76769" + ], + [ + "5.5.1", + "5bcbca546a4c9af4630e577b2728a3b05a398965" + ], + [ + "5.5.1^{}", + "0b93e3ce1aa3483b96d13353cc82e441b3cf4b3d" + ], + [ + "5.50", + "8b687173580c1906ba4288525539610d4ce00f95" + ], + [ + "5.50^{}", + "4ea93b96abc0881ca38a6ea6508ceacdf3b819da" + ], + [ + "5.51", + "046798e885bd85298078b74242d6f53824410334" + ], + [ + "5.51^{}", + "4575ddc49fc29259cb2c67227249b4aae791e875" + ], + [ + "5.52", + "fb86bdb85aac5c6763c92fe7f7b7b89a97aad3ff" + ], + [ + "5.52^{}", + "0c2f58da81b4eabdb6932e83abcf04b9d2058396" + ], + [ + "5.53", + "ef4a6d3084c1a2d7b2a10f496a45715a745692a6" + ], + [ + "5.53^{}", + "a27ce9f2323f04cff14cbbe8161314368cfd8e9d" + ], + [ + "5.54", + "33aad545a82cdfeeb7a5c27782fd1bc1b74e2135" + ], + [ + "5.54^{}", + "cdce75b4f4a3cf35d6d220aa8a94c048b12bfff3" + ], + [ + "5.55", + "68c0201f780b49bc22a623e6ec65ae897133d0dc" + ], + [ + "5.55^{}", + "b7f63d201a3417ab4f24d4b706e0c3e6bfacf9b9" + ], + [ + "5.56", + "fab6b237894753b20bdf62339f952e5f5d1b1bca" + ], + [ + "5.56^{}", + "fbe16f647a5a7e4fe1d292433e10c43d9bd0ed92" + ], + [ + "5.57", + "97c7ae3a34ac5f21130a2195ff8b46add7255aba" + ], + [ + "5.57^{}", + "b03858d5e9325d5f7cbb8413998e93e28d032dd2" + ], + [ + "5.58", + "b63fef6e7c27facedfb644711abcc2686844ff41" + ], + [ + "5.58^{}", + "29a40afede3d3842ee8b658895e7e20955f7588a" + ], + [ + "5.59", + "1ee139efef4b7dfff3b183a11211d937e8cf949a" + ], + [ + "5.59^{}", + "ecf2116be3d7e7bb3a35875df36e81652a5e9d34" + ], + [ + "5.6", + "b91fbd63438f539e2458db5cf948a7d538089b87" + ], + [ + "5.6^{}", + "245de417874000ec77eb5bf996e35500350c99a0" + ], + [ + "5.60", + "2ae50494ad4274331efaf683d1e96d4f0698bdb9" + ], + [ + "5.60^{}", + "4cc5686a3f4b7920d0e3ff5b3a875e53b352bbff" + ], + [ + "5.61", + "b0a1645a84fac90056847932520be67b7e67b2d6" + ], + [ + "5.61^{}", + "2d9f28f669fb60b1370ec7c55be6a583977bb461" + ], + [ + "5.62", + "b0e43bbdd2cab9a9c220d19ffbfc5576eb7ecd9f" + ], + [ + "5.62^{}", + "dfaf181696d48b1f630f448126923aab85cd522f" + ], + [ + "5.63", + "dc8ce2d3551c0356b000b13924e2836cdf5789eb" + ], + [ + "5.63^{}", + "87f7336d1e4e9fe7d805764b01996686e201ff72" + ], + [ + "5.64", + "9c38bbee88dcc1e031d31ebdfe6fa65f63bcfa10" + ], + [ + "5.64^{}", + "f1f3306361fecdaade56b435471981c83087817b" + ], + [ + "5.64.1", + "2103da1cc569c0c2e2223d6d028399d6e1445ec9" + ], + [ + "5.64.1^{}", + "28413a9c2642560e31029f7718b18d953602cbeb" + ], + [ + "5.64.2", + "69c66dd2a80931f023c68d1220cbb355169baa80" + ], + [ + "5.64.2^{}", + "6fb53a984b4e7029d4b9947a63f15b3635ff67e3" + ], + [ + "5.64.3", + "1b69dbb02a47ce633a46e3f39ef515cc515fada9" + ], + [ + "5.64.3^{}", + "126c090cf44457141a4c991f400f0276e7bb6f5e" + ], + [ + "5.64.4", + "6135bf392578fe3789f6e4a800e92608d4b83374" + ], + [ + "5.64.4^{}", + "35e3a898d4fd29d406cfb46fe579784a209c1ae2" + ], + [ + "5.7", + "9cfabc4ed7de0bc1a27a1d9d2c2217f347e3ac1c" + ], + [ + "5.7^{}", + "61d40e1080e8d9d89dcb8ab71bfd7707120ed136" + ], + [ + "5.8", + "69ea88602fa4f3122e5c55cf92b49a88bbf9b91f" + ], + [ + "5.8^{}", + "abfa85c53c3917cd711165d3a4a82fcea9b70572" + ], + [ + "5.8.1", + "63b63434e940788e096fb4403658be8d7e6e836c" + ], + [ + "5.8.1^{}", + "ccd33b01b7f14b442c8b4510ae157cfb2a83e1f6" + ], + [ + "5.8.2", + "160dedca1b9ff965e4a59aff338b1f89b44cbcf8" + ], + [ + "5.8.2^{}", + "81c9b019cf74616b577071c1b6c0715693501950" + ], + [ + "5.9", + "d8cab4b69d9ce4ba87f38075898c2de23dedf44c" + ], + [ + "5.9^{}", + "a64773ae9af5cb7c66f67f18a7925ba179a99430" + ], + [ + "5.9.1", + "fca827ab93b5b34234538c1a7535c1e15e30acb7" + ], + [ + "5.9.1^{}", + "ba82137877de54d8e4bcfe19f2548c0f9d118ebf" + ], + [ + "6.0", + "1a8afcd8bb5a4bae9e8f345aebed542e6260d85e" + ], + [ + "6.0^{}", + "5f5560eb78a75de8a6896678133dffb3314d6142" + ], + [ + "6.1", + "b1b750fa045a7168d276834f3bd643ca6357d98d" + ], + [ + "6.1^{}", + "03744956e60de081217616b590c27dbc7ccbceda" + ], + [ + "6.1.1", + "ce123812ebcc8af752b0a7af9e500c1844109a49" + ], + [ + "6.1.1^{}", + "beff923474d78ef9c5e6b24b2e574bd1da8c9204" + ], + [ + "6.10", + "4b128503c17bb9947ea9797e4a4e2a72d5845771" + ], + [ + "6.10^{}", + "0e966fef60205e5c810a6c6a451dec2dae45ffa7" + ], + [ + "6.11", + "ac3407243d1638968110c2e6640d9f0c7e24eed3" + ], + [ + "6.11^{}", + "889fe48389373634f5a8f0ae55b6ec280123ded6" + ], + [ + "6.12", + "29f9bd82b63bb669c34b3c17aca69bb96c15dc56" + ], + [ + "6.12^{}", + "5357c2bcce6a41ff3f5b30999e26836aeec14ac5" + ], + [ + "6.13", + "2fdbfe56e9fa3364ebf5be8e11cc31acebe89b6e" + ], + [ + "6.13^{}", + "1220ad1d65a4df1285aa41f2f734e9d367b5e610" + ], + [ + "6.14", + "a545dd08a9f0a9255ea384ba3d55cd2f137fe70b" + ], + [ + "6.14^{}", + "e9c3d7c5fd80dded279bb66a95fd6d41fdcb9d10" + ], + [ + "6.15", + "32c6c7435254fe0f319edb2eefcbab1781346792" + ], + [ + "6.15^{}", + "d29c11deca58222eb989b02693071966cd8f049a" + ], + [ + "6.16", + "ad9b37297a955c7897440375a867ac857975dcc8" + ], + [ + "6.16^{}", + "fee0e60193e84af12cab34ea3485bb97e25857dd" + ], + [ + "6.16.1", + "0e786134a4e756a9099dc9affb816504f2d2cbed" + ], + [ + "6.16.1^{}", + "1454db17308a49b54014cac6988a29e2d9ddc1a5" + ], + [ + "6.16.2", + "6c4e42a80ff89cd99b5de7d5f3ebd0fba3ab9e5d" + ], + [ + "6.16.2^{}", + "db59d2b0269770b39cf7a1ee36c23ad59b8217b1" + ], + [ + "6.16.3", + "7e92d79d8aff3a256cba0cc15cae3567ee7d7f27" + ], + [ + "6.16.3^{}", + "063423c3dd7f977016de6e8142a6cc0416b49032" + ], + [ + "6.16.4", + "7f91a572cfbdb155c417fa98480af00723ab0600" + ], + [ + "6.16.4^{}", + "3aadf952f22f2ee7792ffa62885828a48602d6fc" + ], + [ + "6.16.5", + "8e30b28a4287f920af95415a6f5392ded7959adb" + ], + [ + "6.16.5^{}", + "48bdcc46f456449f7dad863fa1f0896bfda277ef" + ], + [ + "6.17", + "053feb65c146895c0af3442a71e9ed2433c4fdbb" + ], + [ + "6.17^{}", + "74399f122d476716eebdd8789c1adade97e15593" + ], + [ + "6.17.1", + "bede70b97b77ec891aead5a3f93e76077eff093f" + ], + [ + "6.17.1^{}", + "2eff555d3dc63a24f77dc4cbc3649578c5807d2e" + ], + [ + "6.18", + "9f22a016e2d178e862c2dfdbe6bf3c08d5448642" + ], + [ + "6.18^{}", + "e131ac48242ff8744cc9ec0961eb3309f6f36600" + ], + [ + "6.18.1", + "09a175d4b222b5c84c89659f0ee1e13c54b9283c" + ], + [ + "6.18.1^{}", + "84297755230d38ca36f6e3ea3559949446b7f23e" + ], + [ + "6.18.2", + "90a201daaad3cf9b3687acccea17c4a923b1f2c7" + ], + [ + "6.18.2^{}", + "08297b4539965976ff0a1817306d8461ea98ca8c" + ], + [ + "6.19", + "a9e38481cf55fb170876c3fd2757c7799de1bcba" + ], + [ + "6.19^{}", + "a8cd2be37c5dc8730da2a045fa398c5232fad4ae" + ], + [ + "6.2", + "e9120eb385f8e5ba876bae51d9358beb7ee69b27" + ], + [ + "6.2^{}", + "1be760a403c14963dd9cc7108c3510754c217386" + ], + [ + "6.20", + "1b374b4dab54f58bd0fb0f00d452e5a199a6c9a1" + ], + [ + "6.20^{}", + "edebb17cd6e700229663633805acc6ba40b51e38" + ], + [ + "6.21", + "e4261da3f042d4f74bc46200fee28b3ab16259b5" + ], + [ + "6.21^{}", + "24fe97ee10a18f3ea4684089d4c06cb9d8887e1e" + ], + [ + "6.21.1", + "678121b8b6dda161481c5cbbaa0878d6791438e2" + ], + [ + "6.21.1^{}", + "12739544bd9a8f4d8a28b85c5977e1f265f509ef" + ], + [ + "6.21.2", + "f65b5260f546d327d732a36ff21f8958a5ab87f7" + ], + [ + "6.21.2^{}", + "c3f569ab71c470c8ed45568f9c43feefb073877f" + ], + [ + "6.22", + "88fdd89941867a6630dfc8e96c2a28ca016ec73c" + ], + [ + "6.22^{}", + "858cccd063d9195780bf093090b8b0bad4f1e5f2" + ], + [ + "6.23", + "a157310eed81667f1e760b7dea5821dfaa9feb6d" + ], + [ + "6.23^{}", + "bdbba2f1311c446b1879fd9e6036875fe69bed94" + ], + [ + "6.3", + "b6be3e0b4498243c81a664193fdc90ec3adb205c" + ], + [ + "6.3^{}", + "01015d2696d729947433ce37ced2af6484a2de6d" + ], + [ + "6.4", + "dc6f20a2014d6077373f56a99bbefd9a465cd7ed" + ], + [ + "6.4^{}", + "f9d6d7042125bb607e3254a0a21bd498daa59ead" + ], + [ + "6.5", + "6e19ae50bc3230adcafc833ee1476baf027dfb79" + ], + [ + "6.5^{}", + "b2f6765e71c1a78062d6eab89f51366aa54d2693" + ], + [ + "6.6", + "afd3db475d75f50428ebc547cd97c842458f724f" + ], + [ + "6.6^{}", + "f1b7e8a78019495d3eb1685ac7e97724290c99ce" + ], + [ + "6.6.1", + "635acdf1c518a74941bdfe9e988da53d6d981dea" + ], + [ + "6.6.1^{}", + "7154c78f3e30c59db4712b48e98cbc0530dc0d18" + ], + [ + "6.7", + "fb87c737d659db0384aedef1e4400deb68b107b5" + ], + [ + "6.7^{}", + "56959f60ed2e0c65b4f5b468e04f13f86a3ed6b2" + ], + [ + "6.8", + "af6b0b90d74afe0a98956061258dffbdf9247961" + ], + [ + "6.8^{}", + "43581e2195a7863a8d16c31f3c036e656c74be74" + ], + [ + "6.9", + "c55a52455d0a2afb4b2a1e91c069d2639f33a34d" + ], + [ + "6.9^{}", + "dda79088b013c3875d4bf6ba4b2efbd64bc35860" + ], + [ + "7.0", + "eeecc3bae9b72fe9b68e064527ddd31ee5d90db6" + ], + [ + "7.0^{}", + "caf34ef35c85536974c9de5c336e4a14a96f4f8a" + ], + [ + "7.0.1", + "2fe21fcc07a587327bfc73a61bc57468baa561a2" + ], + [ + "7.0.1^{}", + "cbb3426308e87eb31341dd712bf5b6b7830ea365" + ], + [ + "7.0.2", + "14a64f1444ec35b1f943c1de7edcd59d4d3b355f" + ], + [ + "7.0.2^{}", + "c9abe8d05030da0b867fec4e58b17c288b2f6c78" + ], + [ + "7.0.3", + "5a0adc5d933b1ebf81b74ffdfd0b5052a6c9d6c9" + ], + [ + "7.0.3^{}", + "2a67bc8072f70a6b938c2ebdcbbea478d45a1d8b" + ], + [ + "7.1", + "6c1564077d6e8bb0a9eff6eddd0bba6a3d47d88c" + ], + [ + "7.1^{}", + "07ffd3c66311eb5e4da83208be82b623c90a6eb6" + ], + [ + "7.1.1", + "818f4c1b91925f161b9be382cb6ae96584dd13eb" + ], + [ + "7.1.1^{}", + "6fe0da8d454ef22596a6fd7982578d2a38d75251" + ], + [ + "7.1.2", + "b546578bd2743f64adc2b906193abb9c38fa8976" + ], + [ + "7.1.2^{}", + "06579b8775764ca5e50bbd9263e00b6e345370cf" + ], + [ + "7.1.3", + "6235d6bc19765d5ebcac90ded9e613b963ff8a0f" + ], + [ + "7.1.3^{}", + "32bd73f1aee965b551c2274af91892255ee5911f" + ], + [ + "7.2", + "7428fc4067b11fba72fce30f57eb2e5d67fef7c0" + ], + [ + "7.2^{}", + "8ee2756eca4cd3640370b3c5fcbc3adbaf6a6f3a" + ], + [ + "7.3", + "bfb367aefd0388a55844dde4ba1140a94c362bb8" + ], + [ + "7.3^{}", + "ca0a8fe9bf10e08a09116374073b6ba2b5a1a92f" + ], + [ + "7.4", + "c0ddfccecc7b62970cd4d8b28589719c59f6b798" + ], + [ + "7.4^{}", + "5064855dbc283804e65632123e4cf9e6b76a3e92" + ], + [ + "7.5", + "17ec61864328c5f06e8ac2ddda18d4ceef0e2772" + ], + [ + "7.5^{}", + "f6f58aad6b35e914b9af84a1a1c9ea7b9cb86a36" + ], + [ + "8.0", + "bd1bd3d23692edaf9d842c7f839b5ab9e97f287f" + ], + [ + "8.0^{}", + "36a1bf71ee837a27c36410cfff0da37a73968afd" + ], + [ + "8.1", + "c6362d891ae76e18411d0d75a898cdcd07a13785" + ], + [ + "8.1^{}", + "b85bf0a66667d776c15d28ea183ef49b1cecdde0" + ], + [ + "8.10", + "f31d2f2bb3ee549646e35aa9b93755f80012c5cd" + ], + [ + "8.10^{}", + "2ccc6f9b7f91004cb8bfe3a664537cdcf5a1c06e" + ], + [ + "8.11", + "1b759a7536c3c1102219953fe604c6682a58050f" + ], + [ + "8.11^{}", + "eb812f5e9446ac7c9ba4196ef6ed1ef3723856be" + ], + [ + "8.12", + "6906c656e3fcd01c5dbce30624017beb7ac43033" + ], + [ + "8.12^{}", + "4ee2d5480dfc9035969ee8e617fccd504c598630" + ], + [ + "8.13", + "8882ea7219e48d137777f3afa9db405346201cbd" + ], + [ + "8.13^{}", + "988544bee892a055dd364e16632c305d2ec381d0" + ], + [ + "8.14", + "46422749bf01242146651b46d2893ebb32c294be" + ], + [ + "8.14^{}", + "2d6bcd18caf2346e1e7b96951dcfabd1f3cca874" + ], + [ + "8.15", + "0a0f51b64055931124e55752c73f62199189b1e4" + ], + [ + "8.15^{}", + "bec9963136cdd7ad39e30d15dfcc227741330241" + ], + [ + "8.15.1", + "155f88c56d19fc3aa9580b8b78dbb5c1bcbd4c07" + ], + [ + "8.15.1^{}", + "74f1da45260be28b55db2d1282657d3c7469aab6" + ], + [ + "8.16", + "f1cf88247eda4179ca4bdb7bc321ec112270d129" + ], + [ + "8.16^{}", + "c45d6fe4d7e613638e7b6accdeb1a9b56c12b010" + ], + [ + "8.16.1", + "c6535c0bc70ca0e9ae27243cf89835044ef0e026" + ], + [ + "8.16.1^{}", + "c918ac33d7436c644f309fefec0a1c18f2d43f73" + ], + [ + "8.17", + "d9cac4c19ffd430e5ae66dd54aa8255d158057b3" + ], + [ + "8.17^{}", + "590cdbab5a7c1451534c53d25abcebc16e9891b3" + ], + [ + "8.18", + "65fa406e19df4d2cc9adfbf7f8378f17003f7371" + ], + [ + "8.18^{}", + "c7085701c8f0b97596e0f06b81e231d6daefcaf2" + ], + [ + "8.19", + "b019cc73f97e6d8031ca2c26d91e69d2dd727356" + ], + [ + "8.19^{}", + "354fd08849407cb5b1fe26026c01bba3e647c096" + ], + [ + "8.19.1", + "b8cb14d6e034c350583806ec88f213acbe580e86" + ], + [ + "8.19.1^{}", + "017ba5e00d168ccbf8e989b24adf4cf51e03e177" + ], + [ + "8.19.2", + "e3e0e327bfd65f9b83b8de487f748572cd88ecad" + ], + [ + "8.19.2^{}", + "04825680d6eb4824c147abd2fe2f75d9ab8d9d5a" + ], + [ + "8.2", + "62cde23985103d2b1f90ffb98a0f3fa52216b57b" + ], + [ + "8.2^{}", + "91e03b79278e56d9c54058c295d5a291775d31d8" + ], + [ + "8.20", + "8a69f4e47e105ca6a221234e107ea0db3537e773" + ], + [ + "8.20^{}", + "fc9f20ce35b563bd9d4814717527e801140cde6b" + ], + [ + "8.21", + "e27444dba64911d54a5b9207031dfb21df57390d" + ], + [ + "8.21^{}", + "54e401f65c89a7b472453e8dcfbb7d875678f799" + ], + [ + "8.22", + "32fe85a7e004106d524b05a597a4f981d2f65cd0" + ], + [ + "8.22^{}", + "d577507d69d943b0b1f75cd84675d842f50865b6" + ], + [ + "8.23", + "07f84b1c4ab792b2291bf537fade637b006e0861" + ], + [ + "8.23^{}", + "64fe7260acddce1065daed7c3cadf0f020cc1faa" + ], + [ + "8.23.1", + "5818561df173e561783be3567b1482a3b14a3939" + ], + [ + "8.23.1^{}", + "76d036c1bbc7bedf0904bab5234152b7014ff026" + ], + [ + "8.24", + "adead3da3d247e406d13aede02cb584cfadbaf4f" + ], + [ + "8.24^{}", + "c2ed23b6cd4a4548cc2c7fc60d097eff741c2679" + ], + [ + "8.25", + "20f08c6b54f1f9fd4c53e70032813102593b1d5d" + ], + [ + "8.25^{}", + "9203c910c84aa00bbc4e3d052077dd4d1756394e" + ], + [ + "8.26", + "8204d7a3b5b6b5ad5cab76eb8106e4451073fd55" + ], + [ + "8.26^{}", + "85a9bd7d0c1758385b2f8e5332c13aa9139448e5" + ], + [ + "8.27", + "846524c94d92e8dbbc0043cbc1c58ef47a8c61d3" + ], + [ + "8.27^{}", + "74bf487b5f80ecdaa8b44fb51cca4e6c3129a28c" + ], + [ + "8.28.1", + "4be3e3b41d853b902cd1ac5b8f8367c7b989cc80" + ], + [ + "8.28.1^{}", + "9a1e7af5ff9a01dba669990b416a1dc365873f0e" + ], + [ + "8.28.2", + "4b3a28e088c3de921e6f221ff55a7ab6d61db1bc" + ], + [ + "8.28.2^{}", + "0cadcab0c4e1cc40516bcbd3ff5ef7dceae477cf" + ], + [ + "8.28.3", + "4624afad56f573f3e0eeb0d5a201b375b23a606e" + ], + [ + "8.28.3^{}", + "bbc05f3b56620416d0f36461a22d3e109751f3b2" + ], + [ + "8.28.4", + "ec3112c2bf899e4cb3718fe96b56dda0435100f1" + ], + [ + "8.28.4^{}", + "f92172919339bd713411eb24b5af12fe4e47868a" + ], + [ + "8.29", + "a2ad6253aeeec456c7ef806b352732705315469d" + ], + [ + "8.29^{}", + "1ec92dcb1678879056bd8ad9a969b1d0e9f3b87e" + ], + [ + "8.29.1", + "bcb2607ef4de5a01ef9c869626fa2bda7ef1da04" + ], + [ + "8.29.1^{}", + "247c98da5a23feccefa09438d2e5339b13ca7a71" + ], + [ + "8.3", + "fd40ce2b9f02714fe90b1a7a31733f9f88cab536" + ], + [ + "8.3^{}", + "84a72bcdc02ea259714dcd1a716ca878b8907c1e" + ], + [ + "8.30", + "84878f1a2396a23bcb660c7eb8eb4a1a0f2b3f1c" + ], + [ + "8.30^{}", + "2dc52cff96745f499944c6db120d36d1916b3186" + ], + [ + "8.31", + "8fa8b203ca93c737328d53600dae32fe09d1b30a" + ], + [ + "8.31^{}", + "c6272d7b30e08ab2a9631d8c1c030b41daa686f7" + ], + [ + "8.32", + "706395ddd7cda7ee125091380eddc25b6b0d3000" + ], + [ + "8.32^{}", + "cd069fb356c5a909be52f9307332ee9ad53a0f01" + ], + [ + "8.32.1", + "f2268eff9c4aae08e613393f25ad93314de51617" + ], + [ + "8.32.1^{}", + "5cca565eb2e80b44d99b4c7e1514aaa406aefb96" + ], + [ + "8.32.2", + "8672f0f9d824492be822e6dacb863b94266a4b36" + ], + [ + "8.32.2^{}", + "5bf1eff2729a48ff1195555830a2275c0d99263c" + ], + [ + "8.32.3", + "aaf91b12bd01a4cb5340a9dc24aaba525c10019e" + ], + [ + "8.32.3^{}", + "45d75eba6fc370169ae20078fb27d2b37288ead3" + ], + [ + "8.33", + "a6466cdb4e36f4bac2e402c74197c4b2cf0ac6cd" + ], + [ + "8.33^{}", + "2fec9adc89b5d173a047fcfea65f0daf5d8d3dcf" + ], + [ + "8.33.1", + "1a0579c6ec9b476c54533f1984e927fe1270d78b" + ], + [ + "8.33.1^{}", + "3251cdf5d173f9c0afad589f6c182f16552320f1" + ], + [ + "8.33.2", + "c6a67917fc10ba511452e890cee65f96a376d7dd" + ], + [ + "8.33.2^{}", + "5e77357ce4b835737a7ad4fc4655696aae173449" + ], + [ + "8.34", + "815bed55443dc06dd354c37dbb6d36355965445a" + ], + [ + "8.34^{}", + "cce11dcbee4140203151b03e9be0fb8cb275f2d0" + ], + [ + "8.34.1", + "0dabde2e72fd0cc4148363304589c45ff25b04f8" + ], + [ + "8.34.1^{}", + "36fabd978bfbd16e4ed180f58720eb2cff811ef7" + ], + [ + "8.34.2", + "6c82914c128e90e01fd8f0016bd62756e98d0fda" + ], + [ + "8.34.2^{}", + "d5cccf12120310e5ded8f991dbba316007b49d25" + ], + [ + "8.35", + "e67c3ecd0478105256041a0188160110827e814d" + ], + [ + "8.35^{}", + "b27c01dda0455f03d6e0c1af8384f0167b83c598" + ], + [ + "8.35.1", + "dcd88fabc42de3e2303da4589ea930e3174acf5c" + ], + [ + "8.35.1^{}", + "0fdec819fcd3a3af9e945d1cc9f3b932e522419d" + ], + [ + "8.36", + "799f3f83c8a15178f43b1afe35d3c65a6a523a42" + ], + [ + "8.36^{}", + "5dc1811c4c44ec116e8a81d46bb91b74b6abcffc" + ], + [ + "8.36.1", + "19d080e51197885bfe29df21956714d6a1080d9a" + ], + [ + "8.36.1^{}", + "5da43b36493076ce7ebefa1b1fca0fb013d4af52" + ], + [ + "8.36.2", + "33a1a6d13f5a5fe016baf7ef1cdf4d9eaf7e4119" + ], + [ + "8.36.2^{}", + "a4ffbda31cb157cc862171f99319f0f72cc128a6" + ], + [ + "8.4", + "08e749491a3e65596e566858c70eb3ff5c7ea372" + ], + [ + "8.4^{}", + "5dc7266b3738c2cb1dd2eac4428dadfd3a8c215b" + ], + [ + "8.4.1", + "06434d04f0ebd14bfb687a06ca72e7467c7e59d9" + ], + [ + "8.4.1^{}", + "eaaed7f88b244c13488d75d3cb6539835e598b6b" + ], + [ + "8.4.2", + "e9e22272ec51cfef98dd7040c3b26fea517c32c2" + ], + [ + "8.4.2^{}", + "6efde59184a2a1d01a268b812fefee00494fab36" + ], + [ + "8.4.3", + "81376e5b49253a0247cfe760110bf1fcfd85445a" + ], + [ + "8.4.3^{}", + "d8f412759bf0f70d10dd060878da4ae8e2b75412" + ], + [ + "8.5", + "de5b5b67fdd2e416299ca66d3866837f8d9bd6c5" + ], + [ + "8.5^{}", + "b2f9abd831cd876a43c82d15c5caf26791b92779" + ], + [ + "8.6", + "aeb6e7ed13b3179cec0ae9c93941557cb6e2a630" + ], + [ + "8.6^{}", + "cb901e56a8073948a066275d50ea18466490b77a" + ], + [ + "8.7", + "33e39aaf13c7fecc4ae6f2d50c09e87722e5d729" + ], + [ + "8.7^{}", + "2cc7d22b7fff6074e739f7cab638473d2b21c6d9" + ], + [ + "8.8", + "fd1aec2bd68b1c83c6d7b0439b4e089f194ee7b2" + ], + [ + "8.8^{}", + "266cbe6032ad6add62e274040eeaa1c37ae2b62d" + ], + [ + "8.9", + "e2d818cb932d1b53e07f29d90a7e4aa9ced657fb" + ], + [ + "8.9^{}", + "8a25d954e13d3ce407c9df2418cfc34a51bf58fc" + ], + [ + "9.0", + "56092b7e0f46b03360b90708b5181654d93ef36d" + ], + [ + "9.0^{}", + "00fa8e2a2922546200612bfd9f84ed84fb0cec5d" + ], + [ + "9.0.1", + "3ef879e8dba295830bf1f18404a17838692bb670" + ], + [ + "9.0.1^{}", + "9f42fd98b39a97f7bd0d2da0bcb914496b0ba471" + ], + [ + "9.1", + "792c6493ef0a1eac607919345bf45cf5f18a7b27" + ], + [ + "9.1^{}", + "660f823969fe75f1060e7d06c016b0ad218447b7" + ], + [ + "9.10", + "69babfa4ff1d5ecb4145c2f547fefdba91f2769c" + ], + [ + "9.10^{}", + "007ef3051f33c72de652c5cda5d358ccea158763" + ], + [ + "9.10.1", + "6fd70523d93343944dfe17dea17d62d7a38b96e6" + ], + [ + "9.10.1^{}", + "48932a2e6663f13685675bf12807115dbd0735d4" + ], + [ + "9.10.2", + "6ba6ac600c463216d0abb3ddcef4b1def1356fe7" + ], + [ + "9.10.2^{}", + "e4f962b5b364db8cb22bd0a411432b06b21e56c9" + ], + [ + "9.11", + "1f1c7b0ef1f2bdcdfec6d72fce3374b7a77a3067" + ], + [ + "9.11^{}", + "d6061e519a027d69a56ef42f03d79b0cb992e894" + ], + [ + "9.12", + "2f1c1278d2f27ff075a392199d54e64ebe469149" + ], + [ + "9.12^{}", + "24939f27127f2a0ed74f0614c60bd2479be57c03" + ], + [ + "9.13", + "cd685e973b42227f248c7960060737d0967d7fdb" + ], + [ + "9.13^{}", + "72aca38c427e22c00ec2756c86b43433efd30716" + ], + [ + "9.14", + "f4c6fdb7a2d1b067d20600d3ad2edc3b1d52bfce" + ], + [ + "9.14^{}", + "94a49f696ce4321d8fb6bc47309b3d28b56df426" + ], + [ + "9.14.1", + "3f26cb8cd344034deb2366fc14314d61dba495cb" + ], + [ + "9.14.1^{}", + "3cd6d9426220c83370a87ad2cdef3d823026c8bd" + ], + [ + "9.15", + "4aec009eb4a3abf5d34b36bc75113c6e84a877ab" + ], + [ + "9.15^{}", + "5b98496aa0276393aeda8ad6b0ec9b9524a1d375" + ], + [ + "9.16", + "b87d22c7b899dbbf3f6fd6697f973e1d2858a2d5" + ], + [ + "9.16^{}", + "a6df5f5c3a04aed2ef4082ce4b59d9b6ee33c0a4" + ], + [ + "9.17", + "294ac367df3ffd7b28977b22a95f27e344693928" + ], + [ + "9.17^{}", + "330c88c059588aaed14d355428d346a6951d7b5e" + ], + [ + "9.18", + "a08eec3c5f4dd13f66818dfd3e4c2e8e16607188" + ], + [ + "9.18^{}", + "630771fca7985dbff50d234911abf97dcdbcc180" + ], + [ + "9.19", + "5121194743c3edeee3eab9873c24ad993007d70d" + ], + [ + "9.19^{}", + "fbd7845dab2c248febde2ad415221723e7a98c0c" + ], + [ + "9.2", + "16e009a5bc76d9944fbf25b2ceab89fc68f10fe9" + ], + [ + "9.2^{}", + "3f1e8ef723d8da7e6938067a78e817297c8e4614" + ], + [ + "9.2.1", + "2e3b8c36ee89d54611ff8a71b34fc515b5cc60da" + ], + [ + "9.2.1^{}", + "a9b850b7c51f5e3eb408c19e1179fcd8570e9b50" + ], + [ + "9.2.2", + "6897f12c916ed24b1859433681220ba19f117396" + ], + [ + "9.2.2^{}", + "728b43d1cc935b0be98239ddd96ca75258c38223" + ], + [ + "9.2.3", + "d19cd2f0420fc5b66cb4ea44baff32c409600d38" + ], + [ + "9.2.3^{}", + "63e140667a2dca45f2ea4fbf9b82322f4207a3c8" + ], + [ + "9.2.4", + "03ffc3d49e03578587b14b683ea62767350c792a" + ], + [ + "9.2.4^{}", + "bc4b4f384e90e4f5e47921ecaf4f0aacd3e0ecdb" + ], + [ + "9.20", + "f0a07dde8903b3ad2ded90dfc0ea7e868dfc426d" + ], + [ + "9.20^{}", + "b7d3ef28d098cec950b77d9448c648510e5502e3" + ], + [ + "9.20.1", + "08a80530e9cf45eb51fd9bc3731b1d826a630a34" + ], + [ + "9.20.1^{}", + "81cc9133fdfab29a965ca78d42d011661088d196" + ], + [ + "9.21", + "b8db720a91a6f35fea263ae69cb9632b2adb08ea" + ], + [ + "9.21^{}", + "9be29e074fd0f86e43c6b8a2b0e23c4b0a7df9d3" + ], + [ + "9.22", + "774eced3e4a224c6a4111c3bfeab687085fd7b5a" + ], + [ + "9.22^{}", + "7077a2f0081d59e25c8e44d46de95cdcc259db78" + ], + [ + "9.22.1", + "cc4bd7d96b88d91513bbb9060ee68721d9e85985" + ], + [ + "9.22.1^{}", + "a196167bf549666dad765c70b7410ad7dd67d563" + ], + [ + "9.22.2", + "39d1e0078f383cb27f0310ff11d6884c04a53a67" + ], + [ + "9.22.2^{}", + "4c108f0a9c72df7fc7b645d007f2e13c355883f6" + ], + [ + "9.23", + "49c8345fd7b3d0b20cfa76dd0e25c1d9ef53935c" + ], + [ + "9.23^{}", + "ebdd5fc98b10e6423f6c148cb959734c92e2fbe3" + ], + [ + "9.24", + "4a2be46c40e9cafc1be160af1b2856e21efd1f8a" + ], + [ + "9.24^{}", + "f74192b2ba8cc6beea6298a77e9a23dff86ee8fc" + ], + [ + "9.25", + "e8b4fe479ccce299d799e07f5f88f2a66fa25669" + ], + [ + "9.25^{}", + "dab6f5dfc59e9966dcae5605e76919c23469568d" + ], + [ + "9.26", + "0048e3786efdaa2bf97beca282b61957d6738d74" + ], + [ + "9.26^{}", + "3d00b222ab76547b7855cbc2d6bb8da57ad28930" + ], + [ + "9.27", + "81544b7ba6f9fada0cd841e3b588a6660f60ad61" + ], + [ + "9.27^{}", + "6e17ee93e308746295640e5945e053ed04fbee52" + ], + [ + "9.27.1", + "5643e0233c93923a52a6e2d2a0ddbce2dfeac501" + ], + [ + "9.27.1^{}", + "4f52ca2a8f781d90c6bd028180e0ccc8258a3453" + ], + [ + "9.28", + "07ab262da6ca9872a1d4c4e24b3f310b1a1e5eba" + ], + [ + "9.28^{}", + "10d62b2cc1af2d669f0e0005b986dbe399e08a20" + ], + [ + "9.29", + "1ab811311aa9470c11e04aec2928feef1faa437a" + ], + [ + "9.29^{}", + "0921f59c9bb220a4712dd8cc8ee71825656b29c3" + ], + [ + "9.3", + "beb398bc06fae83d8e28e363f38865d94897a94f" + ], + [ + "9.3^{}", + "483f2986c9368bccc5dd5d7956a685edf90bce5e" + ], + [ + "9.3.1", + "6851c4117ed355998914ad6f89ab5d2f1887c5b0" + ], + [ + "9.3.1^{}", + "de5f6c000adc4d677ab45a88cf5a3c04e910f469" + ], + [ + "9.3.2", + "e5c6a8ac79d4080ea12cee453a5f216bdb9a0050" + ], + [ + "9.3.2^{}", + "300ee96629f38f08dbd07f8ee112080bbf332e33" + ], + [ + "9.3.3", + "6261d20ff0cbe861362eed1e17591d6d0d0791e6" + ], + [ + "9.3.3^{}", + "cf9b3e3cb5781f13b52029101ce17cb878dfddf1" + ], + [ + "9.30", + "7945729d40e3e4eb3d98ab56539b66a8e2dc8a71" + ], + [ + "9.30^{}", + "98d4087c8b40e46a7b188b90976a5acaa5579a6a" + ], + [ + "9.31", + "466dd703dcbcf49cdd16748b87b32a6f9f5ea787" + ], + [ + "9.31^{}", + "f97c727b41ef8648df8da6f504aaef25deaac5e1" + ], + [ + "9.31.1", + "90f09f8473c21907d2f0c97b12bb0609978062fb" + ], + [ + "9.31.1^{}", + "5394b9742e5efb9df946a91e6dfb33e81d3ef0b7" + ], + [ + "9.32", + "4b5afeffc9cbb08ff4f9b1900f4b6ef684df9993" + ], + [ + "9.32^{}", + "11faca2f7103e08777cd0ec8b2b3b78f4a7b9d85" + ], + [ + "9.33", + "7d4682e3458aff571ef3d1f7872b3dbcb4a8df4b" + ], + [ + "9.33^{}", + "a791f4cdcd0cf8463f1be57c119737af544b1c96" + ], + [ + "9.34", + "c8b277c317c8a25b8c8bd9f82ab805a8ec478f3e" + ], + [ + "9.34^{}", + "03b2dce2985917a8982a543ef283d2eea6032b15" + ], + [ + "9.35", + "fdc8117af75b192e3f8afcc0119c904b02686af8" + ], + [ + "9.35^{}", + "4250aa0f4f635216eef4930529a51abbebb6049c" + ], + [ + "9.36", + "e86fb3431972d302fcb615aca0baed4d8ab89791" + ], + [ + "9.36^{}", + "b10a6aca544311c98470d7a113fd4d7478b470c5" + ], + [ + "9.37", + "256ec0b00425f3ef212399ec2c7a55c420c96761" + ], + [ + "9.37^{}", + "49554dd4f9cd3c6bfa322df098252ed19921b0f1" + ], + [ + "9.37.1", + "932117bca059f0c2f01703819dd2a8179a783022" + ], + [ + "9.37.1^{}", + "6c8417c43467b11af139c072ea0d348b7ab567b2" + ], + [ + "9.37.2", + "6cad845a4e3f4276f0ba1a8217e402fc8aba6299" + ], + [ + "9.37.2^{}", + "943d5d28b4bd22af17cfc47b953a0f7587334816" + ], + [ + "9.37.3", + "7adddd54a68dababd692fd5cd7098d5da9184dfc" + ], + [ + "9.37.3^{}", + "21dae4dc08989477b6c44f7a9006f5ea29061f83" + ], + [ + "9.38", + "5c50c4e8440cf0032e50f1be7412cb4e87dbfce4" + ], + [ + "9.38^{}", + "86723eebf9833695373fd2162d68b793a77444d1" + ], + [ + "9.38.1", + "03e19fb62d9579bd9ceb62490a38a371bc89bece" + ], + [ + "9.38.1^{}", + "7b2779caeb4506e7182db85f73bd7886efcbc5c2" + ], + [ + "9.39", + "cb7fe8b79ad5326f90638f23a429c48e757df15c" + ], + [ + "9.39^{}", + "cb1b0c16ee02829665b0d5ec9734f4ba75555fa5" + ], + [ + "9.39.1", + "25e8603f5d2db711a8987994809cf65732ecff0b" + ], + [ + "9.39.1^{}", + "161a2feb092acfc14ec653df3a6cffdd6d1dddf3" + ], + [ + "9.4", + "d654335767d197e7f4f2b4e785f81a3b6e6fffbb" + ], + [ + "9.4^{}", + "d8cb36c7c037267e7678e277d3a642f269b3ace9" + ], + [ + "9.4.1", + "4876a5860e9cc4a2f27b983aee98b4dffa523cd7" + ], + [ + "9.4.1^{}", + "17d19bc5ff32980b881db02b7212191d6766a72c" + ], + [ + "9.40", + "6d14ee0fa64d962c0d4b6af612da215dfab0ee9c" + ], + [ + "9.40^{}", + "334e9c84cdad569aa814b43877d7a207642726da" + ], + [ + "9.41", + "e43a0f5cf20bb9e2525f90bc03bb9d586e6aaa52" + ], + [ + "9.41^{}", + "cc57abfccf30264614453c983dc077929725b91b" + ], + [ + "9.41.1", + "72a3d1660baacc189a27818b007e6250fcc9c719" + ], + [ + "9.41.1^{}", + "3b85b59b024b2d09af872a9deadb97b082e3df88" + ], + [ + "9.42", + "9e21eebae919e4982f6a32c8b6b57d8761777c08" + ], + [ + "9.42^{}", + "f70d3c8a733a4dfa907d97fe4ba0fb2a274c1edb" + ], + [ + "9.43", + "091fe3a4586c28664d62565f792d71c12f02d3f8" + ], + [ + "9.43^{}", + "e10e961179bbf184f603d1fa0c6b338ee234615c" + ], + [ + "9.43.1", + "5c4ccb4e250b6b040bf7b299870450e1405d6d1c" + ], + [ + "9.43.1^{}", + "e3848927b9884a3f19aa947388ec605a7bcc4d65" + ], + [ + "9.43.2", + "b2e6382667cfd59a764a88e32cb68e12f507d50e" + ], + [ + "9.43.2^{}", + "6e3ffb39631dad81f2a2d2e8b0a2db733b28671a" + ], + [ + "9.43.3", + "71363dd8794bfada1916c93fbf32bc02424aef77" + ], + [ + "9.43.3^{}", + "06701344b3f8cd6d34cf47365a795e9c275a2c10" + ], + [ + "9.5", + "6e3c2f71e9c602e80a16d497305a2e1f9abd3e92" + ], + [ + "9.5^{}", + "4a152cff0fcafe57d40f029219610dd71ccb4a69" + ], + [ + "9.5.1", + "82ba14364eb03708b0d88ff948d2a217df024ab7" + ], + [ + "9.5.1^{}", + "3ce866dfaac16c19b6f5d25f9f81cae99cc85a21" + ], + [ + "9.5.2", + "dacc95ae131a125ac63237c33127526f8feff180" + ], + [ + "9.5.2^{}", + "38d8d70baf3588e7dd813d8aec1077d4939e96b0" + ], + [ + "9.5.3", + "5553d5fe777843afdc7ca4f55ab7a71c7a3f30ba" + ], + [ + "9.5.3^{}", + "00b5328da99557fea129c0ae75cda5f9bdccfbba" + ], + [ + "9.6", + "41bcc300edc65283f75333e98ea1fe0199f832e9" + ], + [ + "9.6^{}", + "b22139108b6f86b48114d02e6c00e82dd2c41f74" + ], + [ + "9.7", + "26288e4c46bc4e300ceb80f5466be815b5709517" + ], + [ + "9.7^{}", + "19b566c158151a8d5ce5b80a44eec7b3ea622fc7" + ], + [ + "9.8", + "ee8a91f9cdebac186a6100b8d84480253eb08b7b" + ], + [ + "9.8^{}", + "cc49526761cd6c391bea4d8bdf13087019e34365" + ], + [ + "9.8.1", + "e28caeb7359d25063751117ccb85fc23841f5f67" + ], + [ + "9.8.1^{}", + "6bba7d65e228fd7d0141a2213f8b18a5e5a2cc2e" + ], + [ + "9.9", + "caa486f45eaae4c485df5c56c7aa9e5d513cb521" + ], + [ + "9.9^{}", + "0d0b33197c4f86ee5a70265a24a2c311d63872af" + ], + [ + "9.9.1", + "5e059ad85ce82530bea7534cc921f19830ffaff9" + ], + [ + "9.9.1^{}", + "b8b12133992ff89ca33b427b35b033c7bfa69e6b" + ], + [ + "oauth2-oidc-sdk-10.10", + "f69ef2f0596eaf9e6621e8d57ad8e9b8a20bfccd" + ], + [ + "oauth2-oidc-sdk-10.10^{}", + "940df665da5b1df6dd9d5dc544bee1efb26e0bf5" + ] +] \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 85063df3..fb106a2a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -48,7 +48,7 @@ MarkupSafe==2.1.3 more-itertools==9.1.0 natsort==8.2.0 normality==2.4.0 -packageurl-python==0.10.4 +packageurl-python==0.11.2 packaging==23.1 packvers==21.5 parameter-expansion-patched==0.3.1 diff --git a/setup.cfg b/setup.cfg index 0cb9e191..7375496d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -47,7 +47,7 @@ install_requires = ftputil == 5.0.4 jawa == 2.2.0 natsort == 8.2.0 - packageurl-python == 0.10.4 + packageurl-python == 0.11.2 psycopg2-binary == 2.9.3 psycopg2 == 2.9.3 PyGithub == 1.56 From 17236acb2c17ab355bfb26f3f709a855aa8f71ef Mon Sep 17 00:00:00 2001 From: Tushar Goel Date: Thu, 27 Jul 2023 11:51:27 +0530 Subject: [PATCH 2/2] Address review comments Signed-off-by: Tushar Goel --- packagedb/find_source_repo.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packagedb/find_source_repo.py b/packagedb/find_source_repo.py index 75e48557..912e0750 100644 --- a/packagedb/find_source_repo.py +++ b/packagedb/find_source_repo.py @@ -76,7 +76,9 @@ def get_data_from_url( timeout=None, ): """ - Return the text from URL + Take a ``url`` as input and return the data from the URL + depending on the ``data_type`` return URL or text if ``data_type`` is + ``URLDataReturnType.url`` or ``URLDataReturnType.text`` respectively. """ try: if not url: @@ -309,7 +311,6 @@ def get_urls_from_package_resources(package): """ Return the URL of the source repository of a package """ - urls = [] for resource in package.resources.filter(is_key_file=True): urls = [url["url"] for url in resource.urls] yield from get_git_repo_urls(urls=urls)