From 4b935c6a1751a830efa95b62ddf0943856d6dc85 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Sat, 1 Aug 2020 02:11:16 +0530 Subject: [PATCH 01/55] Add pip-tools and github_release_retry as req files These tools can be used as tools for generating requirements.txt Signed-off-by: Abhishek Kumar --- etc/scripts/README.rst | 20 ++++++++++++++++++++ etc/scripts/freeze_and_update_reqs.py | 4 ++-- etc/scripts/req_tools.txt | 2 ++ 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 etc/scripts/req_tools.txt diff --git a/etc/scripts/README.rst b/etc/scripts/README.rst index a6a0f794275..abce6fad3e7 100644 --- a/etc/scripts/README.rst +++ b/etc/scripts/README.rst @@ -1,3 +1,23 @@ +- Before generating requirement tools and uploading asset make sure you've installed the prerequisites properly. This mainly : + - pip-tools + - github-release-retry + +Instruction for generating requirement tools: +============================================ + + For this you must run on your terminal: + + `pip pip install -r etc/scripts/req_tools.txt` + +- Then run `python etc/scripts/freeze_and_update_reqs.py --help` on terminal +From this you get the guidelines how to generate requirement tools. + +Instruction for uploading assets: +================================ + +Just run `python etc/scripts/github_release.py --help ` +From this you get the guidelines how to upload asset to github repositotory as an asset. + This directory contains miscellaneous scripts of some use with ScanCode. - json2csv: convert a scan JSON to a CSV. \ No newline at end of file diff --git a/etc/scripts/freeze_and_update_reqs.py b/etc/scripts/freeze_and_update_reqs.py index c2ef1169b90..8062932e5dd 100644 --- a/etc/scripts/freeze_and_update_reqs.py +++ b/etc/scripts/freeze_and_update_reqs.py @@ -124,8 +124,8 @@ def main_with_args(args: str) -> None: upgrade = args.upgrade or False generate_req_text( find_links=find_links, - requirement=requirement, - upgrade_package=upgrade_package, + req_file=requirement, + package_name=upgrade_package, upgrade=upgrade, ) diff --git a/etc/scripts/req_tools.txt b/etc/scripts/req_tools.txt new file mode 100644 index 00000000000..5cac8a7fb57 --- /dev/null +++ b/etc/scripts/req_tools.txt @@ -0,0 +1,2 @@ +pip-tools +github-release-retry From 2bac68b978663403ec65a8671da9702dd260e2d8 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Sat, 1 Aug 2020 02:29:45 +0530 Subject: [PATCH 02/55] Format readme.rst Signed-off-by: Abhishek Kumar --- etc/scripts/README.rst | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/etc/scripts/README.rst b/etc/scripts/README.rst index abce6fad3e7..85257ee9830 100644 --- a/etc/scripts/README.rst +++ b/etc/scripts/README.rst @@ -1,23 +1,22 @@ -- Before generating requirement tools and uploading asset make sure you've installed the prerequisites properly. This mainly : +*Before generating requirement tools and uploading asset make sure you've installed the prerequisites properly. This mainly :* - pip-tools - github-release-retry Instruction for generating requirement tools: ============================================ - - For this you must run on your terminal: +- For this you must run on your terminal: - `pip pip install -r etc/scripts/req_tools.txt` + ``pip pip install -r etc/scripts/req_tools.txt`` -- Then run `python etc/scripts/freeze_and_update_reqs.py --help` on terminal +- Then run ``python etc/scripts/freeze_and_update_reqs.py --help`` on terminal From this you get the guidelines how to generate requirement tools. Instruction for uploading assets: ================================ -Just run `python etc/scripts/github_release.py --help ` -From this you get the guidelines how to upload asset to github repositotory as an asset. +- Just run ``python etc/scripts/github_release.py --help`` +- From this you get the guidelines how to upload asset to github repositotory as an asset. This directory contains miscellaneous scripts of some use with ScanCode. - - json2csv: convert a scan JSON to a CSV. \ No newline at end of file +- json2csv: convert a scan JSON to a CSV. From d5fd50f0e5e194ad710bdb13a26e380aff7b4687 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Sat, 1 Aug 2020 11:57:10 +0530 Subject: [PATCH 03/55] merge go.mod and go.sum modules Signed-off-by: rpotter12 --- src/packagedcode/go_mod.py | 369 ++++++++++++++++++++++++------------- src/packagedcode/golang.py | 46 ++--- 2 files changed, 262 insertions(+), 153 deletions(-) diff --git a/src/packagedcode/go_mod.py b/src/packagedcode/go_mod.py index 2d5820a3dbd..14a06e9eedf 100644 --- a/src/packagedcode/go_mod.py +++ b/src/packagedcode/go_mod.py @@ -1,5 +1,4 @@ - -# Copyright (c) 2019 nexB Inc. and others. All rights reserved. +# Copyright (c) nexB Inc. and others. All rights reserved. # http://nexb.com and https://github.com/nexB/scancode-toolkit/ # The ScanCode software is licensed under the Apache License version 2.0. # Data generated with ScanCode require an acknowledgment. @@ -31,10 +30,48 @@ import re import attr +from packageurl import PackageURL + +TRACE = False +logger = logging.getLogger(__name__) + +if TRACE: + import sys + logging.basicConfig(stream=sys.stdout) + logger.setLevel(logging.DEBUG) + + +@attr.s() +class GoModules(object): + namespace = attr.ib(default=None) + name = attr.ib(default=None) + version = attr.ib(default=None) + module = attr.ib(default=None) + + @property + def purl_gosum(self): + return PackageURL( + type='golang', + namespace=self.namespace, + name=self.name, + version=self.version + ).to_string() + + @property + def purl_gomod(self): + return PackageURL( + type='golang', + namespace=self.namespace, + name=self.name + ).to_string() + + +####################################################################################### """ -https://golang.org/ref/mod#go.mod-files +This part handles go.mod files from Go. +See https://golang.org/ref/mod#go.mod-files for details For example: @@ -61,8 +98,7 @@ module github.com/alecthomas/participle For example: ->>> ob = GoMod() ->>> p = ob.parse_module('module github.com/alecthomas/participle') +>>> p = parse_module('module github.com/alecthomas/participle') >>> assert p.group('module') == ('github.com/alecthomas/participle') require or exclude can be in the form @@ -73,140 +109,221 @@ github.com/davecgh/go-spew v1.1.1 For example: ->>> ob = GoMod() - ->>> p = ob.parse_require('require github.com/davecgh/go-spew v1.1.1') +>>> p = parse_require('require github.com/davecgh/go-spew v1.1.1') >>> assert p.group('namespace') == ('github.com/davecgh') >>> assert p.group('name') == ('go-spew') >>> assert p.group('version') == ('v1.1.1') ->>> p = ob.parse_exclude('exclude github.com/davecgh/go-spew v1.1.1') +>>> p = parse_exclude('exclude github.com/davecgh/go-spew v1.1.1') >>> assert p.group('namespace') == ('github.com/davecgh') >>> assert p.group('name') == ('go-spew') >>> assert p.group('version') == ('v1.1.1') ->>> p = ob.parse_dep_link('github.com/davecgh/go-spew v1.1.1') +>>> p = parse_dep_link('github.com/davecgh/go-spew v1.1.1') >>> assert p.group('namespace') == ('github.com/davecgh') >>> assert p.group('name') == ('go-spew') >>> assert p.group('version') == ('v1.1.1') """ +# Regex expressions to parse different types of go.mod file dependency +parse_module = re.compile( + r'^module\s' + r'(?P[a-z].*)' +).match + +parse_module_name = re.compile( + r'^module(\s)*' + r'(?P(.*))' + r'/' + r'(?P[^\s]*)' +).match + +parse_require = re.compile( + r'^require(\s)*' + r'(?P(.*))' + r'/' + r'(?P[^\s]*)' + r'\s' + r'(?P(.*))' +).match + +parse_exclude = re.compile( + r'^exclude(\s)*' + r'(?P(.*))' + r'/' + r'(?P[^\s]*)' + r'\s' + r'(?P(.*))' +).match + +parse_dep_link = re.compile( + r'(?P(.*))' + r'/' + r'(?P[^\s]*)' + r'\s' + r'(?P(.*))' +).match + + +def preprocess(line): + """ + Return line string after removing commented portion and excess spaces. + """ + if "//" in line: + line = line[:line.index('//')] + line = line.strip() + return line + + +def parse_gomod(location): + """ + Return a dictionary containing all the important go.mod file data. + """ + with io.open(location, encoding='utf-8', closefd=True) as data: + lines = data.readlines() + + gomods = {} + require = [] + exclude = [] + + for i, line in enumerate(lines): + line = preprocess(line) + parsed_module = parse_module(line) + if parsed_module: + gomods['module'] = parsed_module.group('module') + + parsed_module_name = parse_module_name(line) + if parsed_module_name: + gomods['name'] = parsed_module_name.group('name') + gomods['namespace'] = parsed_module_name.group('namespace') + + parsed_require = parse_require(line) + if parsed_require: + require.append(GoModules( + namespace=parsed_require.group('namespace'), + name=parsed_require.group('name'), + version=parsed_require.group('version') + ) + ) + + parsed_exclude = parse_exclude(line) + if parsed_exclude: + exclude.append(GoModules( + namespace=parsed_exclude.group('namespace'), + name=parsed_exclude.group('name'), + version=parsed_exclude.group('version') + ) + ) + + if 'require' in line and '(' in line: + for req in lines[i+1:]: + req = preprocess(req) + if ')' in req: + break + parsed_dep_link = parse_dep_link(req) + if parsed_dep_link: + require.append(GoModules( + namespace=parsed_dep_link.group('namespace'), + name=parsed_dep_link.group('name'), + version=parsed_dep_link.group('version') + ) + ) + + if 'exclude' in line and '(' in line: + for exc in lines[i+1:]: + exc = preprocess(exc) + if ')' in exc: + break + parsed_dep_link = parse_dep_link(exc) + if parsed_dep_link: + exclude.append(GoModules( + namespace=parsed_dep_link.group('namespace'), + name=parsed_dep_link.group('name'), + version=parsed_dep_link.group('version') + ) + ) + + gomods['require'] = require + gomods['exclude'] = exclude + + return gomods + + +####################################################################################### +""" +This part handles go.sum files from Go. +See https://blog.golang.org/using-go-modules for details -TRACE = False - -logger = logging.getLogger(__name__) - -if TRACE: - import sys - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) +A go.sum file contains pinned Go modules checksums of two styles: +For example: +github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= + +... where the line with /go.mod is for a check of that go.mod file +and the other line contains a dirhash for that path as documented as +https://pkg.go.dev/golang.org/x/mod/sumdb/dirhash + +Here are some example of usage of this module:: + +>>> p = parse_dep_type2('github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=') +>>> assert p.group('namespace') == ('github.com/BurntSushi') +>>> assert p.group('name') == ('toml') +>>> assert p.group('version') == ('v0.3.1') +>>> assert p.group('checksum') == ('WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=') + +>>> p = parse_dep_type1('github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=') +>>> assert p.group('namespace') == ('github.com/BurntSushi') +>>> assert p.group('name') == ('toml') +>>> assert p.group('version') == ('v0.3.1') +>>> assert p.group('checksum') == ('xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=') +""" -@attr.s() -class GoMod(object): - # Regex expressions to parse different types of dependency - parse_module = re.compile( - r'^module\s' - r'(?P[a-z].*)' - ).match - - parse_module_name = re.compile( - r'^module(\s)*' - r'(?P(.*))' - r'/' - r'(?P[^\s]*)' - ).match - - parse_require = re.compile( - r'^require(\s)*' - r'(?P(.*))' - r'/' - r'(?P[^\s]*)' - r'\s' - r'(?P(.*))' - ).match - - parse_exclude = re.compile( - r'^exclude(\s)*' - r'(?P(.*))' - r'/' - r'(?P[^\s]*)' - r'\s' - r'(?P(.*))' - ).match - - parse_dep_link = re.compile( - r'(?P(.*))' - r'/' - r'(?P[^\s]*)' - r'\s' - r'(?P(.*))' - ).match - - @classmethod - def preprocess(cls, line): - """ - Return line string after removing commented portion and excess spaces. - """ - if "//" in line: - line = line[:line.index('//')] - line = line.strip() - return line - - @classmethod - def parse_gomod(cls, location): - """ - Return a dictionary containing all the important go.mod file data. - """ - with io.open(location, encoding='utf-8', closefd=True) as data: - lines = data.readlines() - - gomod_data = {} - require = [] - exclude = [] - - for i, line in enumerate(lines): - line = cls.preprocess(line) - parsed_module = cls.parse_module(line) - if parsed_module: - gomod_data['module'] = parsed_module.group('module') - - parsed_module_name = cls.parse_module_name(line) - if parsed_module_name: - gomod_data['name'] = parsed_module_name.group('name') - gomod_data['namespace'] = parsed_module_name.group('namespace') - - parsed_require = cls.parse_require(line) - if parsed_require: - line_req = [parsed_require.group('namespace'), parsed_require.group('name'), parsed_require.group('version')] - require.append(line_req) - - parsed_exclude = cls.parse_exclude(line) - if parsed_exclude: - line_exclude = [parsed_exclude.group('namespace'), parsed_exclude.group('name'), parsed_exclude.group('version')] - exclude.append(line_exclude) - - if 'require' in line and '(' in line: - for req in lines[i+1:]: - req = cls.preprocess(req) - if ')' in req: - break - parsed_dep_link = cls.parse_dep_link(req) - if parsed_dep_link: - line_req = [parsed_dep_link.group('namespace'), parsed_dep_link.group('name'), parsed_dep_link.group('version')] - require.append(line_req) - - if 'exclude' in line and '(' in line: - for exc in lines[i+1:]: - exc = cls.preprocess(exc) - if ')' in exc: - break - parsed_dep_link = cls.parse_dep_link(exc) - if parsed_dep_link: - line_exclude = [parsed_dep_link.group('namespace'), parsed_dep_link.group('name'), parsed_dep_link.group('version')] - exclude.append(line_exclude) - - gomod_data['require'] = require - gomod_data['exclude'] = exclude - - return gomod_data +# Regex expressions to parse different types of go.sum file dependency +# dep_type1 example: github.com/BurntSushi/toml v0.3.1 h1:WXkYY.... +parse_dep_type1 = re.compile( + r'(?P(.*))' + r'\/' + r'(?P[^\s]*)' + r'(\s)*' + r'(?P(.*))' + r'/go.mod(\s)*h1:' + r'(?P(.*))' +).match + +# dep_type2 example: github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCN.... +parse_dep_type2 = re.compile( + r'(?P(.*))' + r'/' + r'(?P[^\s]*)' + r'(\s)*' + r'(?P(.*))' + r'(\s)*h1:' + r'(?P(.*))' +).match + + +def parse_gosum(location): + """ + Return a list of GoSum from parsing the go.sum file at `location`. + """ + with io.open(location, encoding='utf-8', closefd=True) as data: + lines = data.readlines() + + gosums = [] + + for line in lines: + parsed_dep = parse_dep_type1(line) + if not parsed_dep: + parsed_dep = parse_dep_type2(line) + + dep_obj = GoModules( + namespace=parsed_dep.group('namespace').strip(), + name=parsed_dep.group('name').strip(), + version=parsed_dep.group('version').strip() + ) + + if dep_obj not in gosums: + gosums.append(dep_obj) + + return gosums diff --git a/src/packagedcode/golang.py b/src/packagedcode/golang.py index 328efb564ef..ce5ad5f3857 100644 --- a/src/packagedcode/golang.py +++ b/src/packagedcode/golang.py @@ -1,5 +1,5 @@ -# Copyright (c) 2019 nexB Inc. and others. All rights reserved. +# Copyright (c) nexB Inc. and others. All rights reserved. # http://nexb.com and https://github.com/nexB/scancode-toolkit/ # The ScanCode software is licensed under the Apache License version 2.0. # Data generated with ScanCode require an acknowledgment. @@ -36,7 +36,7 @@ from commoncode import filetype from commoncode import fileutils -from packagedcode.go_mod import GoMod +from packagedcode import go_mod from packagedcode import go_sum from packagedcode import models @@ -73,10 +73,10 @@ class GolangPackage(models.Package): def recognize(cls, location): filename = fileutils.file_name(location).lower() if filename == 'go.mod': - gomod = GoMod.parse_gomod(location) - yield build_gomod_package(gomod) + gomods = go_mod.parse_gomod(location) + yield build_gomod_package(gomods) elif filename == 'go.sum': - gosums = go_sum.parse_gosum(location) + gosums = go_mod.parse_gosum(location) yield build_gosum_package(gosums) @classmethod @@ -88,21 +88,17 @@ def repository_homepage_url(self, baseurl=default_web_baseurl): return '{}/{}/{}'.format(baseurl, self.namespace, self.name) -def build_gomod_package(gomod): +def build_gomod_package(gomods): """ Return a Package object from a go.mod file or None. """ package_dependencies = [] - require = gomod.get('require') or [] - for namespace, name, version in require: + require = gomods.get('require') or [] + for gomod in require: package_dependencies.append( models.DependentPackage( - purl=PackageURL( - type='golang', - namespace=namespace, - name=name - ).to_string(), - requirement=version, + purl=gomod.purl_gomod, + requirement=gomod.version, scope='require', is_runtime=True, is_optional=False, @@ -110,16 +106,12 @@ def build_gomod_package(gomod): ) ) - exclude = gomod.get('exclude') or [] - for namespace, name, version in exclude: + exclude = gomods.get('exclude') or [] + for gomod in exclude: package_dependencies.append( models.DependentPackage( - purl=PackageURL( - type='golang', - namespace=namespace, - name=name - ).to_string(), - requirement=version, + purl=gomod.purl_gomod, + requirement=gomod.version, scope='exclude', is_runtime=True, is_optional=False, @@ -127,10 +119,10 @@ def build_gomod_package(gomod): ) ) - name = gomod.get('name') - namespace = gomod.get('namespace') - homepage_url = 'https://pkg.go.dev/{}'.format(gomod.get('module')) - vcs_url = 'https://{}.git'.format(gomod.get('module')) + name = gomods.get('name') + namespace = gomods.get('namespace') + homepage_url = 'https://pkg.go.dev/{}'.format(gomods.get('module')) + vcs_url = 'https://{}.git'.format(gomods.get('module')) return GolangPackage( name=name, @@ -149,7 +141,7 @@ def build_gosum_package(gosums): for gosum in gosums: package_dependencies.append( models.DependentPackage( - purl=gosum.purl, + purl=gosum.purl_gosum, requirement=gosum.version, scope='dependency', is_runtime=True, From 3b58a15fba3fb070c3ec2d82f5085e924438c789 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Sat, 1 Aug 2020 11:58:07 +0530 Subject: [PATCH 04/55] remove go.sum module Signed-off-by: rpotter12 --- src/packagedcode/go_sum.py | 138 ------------------------------------- src/packagedcode/golang.py | 1 - 2 files changed, 139 deletions(-) delete mode 100644 src/packagedcode/go_sum.py diff --git a/src/packagedcode/go_sum.py b/src/packagedcode/go_sum.py deleted file mode 100644 index 5999f044929..00000000000 --- a/src/packagedcode/go_sum.py +++ /dev/null @@ -1,138 +0,0 @@ -# Copyright (c) nexB Inc. and others. All rights reserved. -# http://nexb.com and https://github.com/nexB/scancode-toolkit/ -# The ScanCode software is licensed under the Apache License version 2.0. -# Data generated with ScanCode require an acknowledgment. -# ScanCode is a trademark of nexB Inc. -# -# You may not use this software except in compliance with the License. -# You may obtain a copy of the License at: http://apache.org/licenses/LICENSE-2.0 -# Unless required by applicable law or agreed to in writing, software distributed -# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR -# CONDITIONS OF ANY KIND, either express or implied. See the License for the -# specific language governing permissions and limitations under the License. -# -# When you publish or redistribute any data created with ScanCode or any ScanCode -# derivative work, you must accompany this data with the following acknowledgment: -# -# Generated with ScanCode and provided on an "AS IS" BASIS, WITHOUT WARRANTIES -# OR CONDITIONS OF ANY KIND, either express or implied. No content created from -# ScanCode should be considered or used as legal advice. Consult an Attorney -# for any legal advice. -# ScanCode is a free software code scanning tool from nexB Inc. and others. -# Visit https://github.com/nexB/scancode-toolkit/ for support and download. - -from __future__ import absolute_import -from __future__ import print_function -from __future__ import unicode_literals - -import io -import itertools -import logging -import re - -import attr -from packageurl import PackageURL - -""" -This module handles go.sum files from Go. -See https://blog.golang.org/using-go-modules for details - -A go.sum file contains pinned Go modules checksums of two styles: - -For example: -github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= - -... where the line with /go.mod is for a check of that go.mod file -and the other line contains a dirhash for that path as documented as -https://pkg.go.dev/golang.org/x/mod/sumdb/dirhash - -Here are some example of usage of this module:: - ->>> p = parse_dep_type2('github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=') ->>> assert p.group('namespace') == ('github.com/BurntSushi') ->>> assert p.group('name') == ('toml') ->>> assert p.group('version') == ('v0.3.1') ->>> assert p.group('checksum') == ('WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=') - ->>> p = parse_dep_type1('github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=') ->>> assert p.group('namespace') == ('github.com/BurntSushi') ->>> assert p.group('name') == ('toml') ->>> assert p.group('version') == ('v0.3.1') ->>> assert p.group('checksum') == ('xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=') -""" - - -TRACE = False - -logger = logging.getLogger(__name__) - -if TRACE: - import sys - logging.basicConfig(stream=sys.stdout) - logger.setLevel(logging.DEBUG) - - -@attr.s() -class GoSum(object): - namespace = attr.ib(default=None) - name = attr.ib(default=None) - version = attr.ib(default=None) - - @property - def purl(self): - return PackageURL( - type='golang', - namespace=self.namespace, - name=self.name, - version=self.version - ).to_string() - -# Regex expressions to parse different types of dependency -# dep_type1 example: github.com/BurntSushi/toml v0.3.1 h1:WXkYY.... -parse_dep_type1 = re.compile( - r'(?P(.*))' - r'\/' - r'(?P[^\s]*)' - r'(\s)*' - r'(?P(.*))' - r'/go.mod(\s)*h1:' - r'(?P(.*))' -).match - -# dep_type2 example: github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCN.... -parse_dep_type2 = re.compile( - r'(?P(.*))' - r'/' - r'(?P[^\s]*)' - r'(\s)*' - r'(?P(.*))' - r'(\s)*h1:' - r'(?P(.*))' -).match - - -def parse_gosum(location): - """ - Return a list of GoSum from parsing the go.sum file at `location`. - """ - with io.open(location, encoding='utf-8', closefd=True) as data: - lines = data.readlines() - - gosums = [] - - for line in lines: - parsed_dep = parse_dep_type1(line) - if not parsed_dep: - parsed_dep = parse_dep_type2(line) - - dep_obj = GoSum( - namespace=parsed_dep.group('namespace').strip(), - name=parsed_dep.group('name').strip(), - version=parsed_dep.group('version').strip() - ) - - if dep_obj not in gosums: - gosums.append(dep_obj) - - return gosums diff --git a/src/packagedcode/golang.py b/src/packagedcode/golang.py index ce5ad5f3857..5d7dfa8421f 100644 --- a/src/packagedcode/golang.py +++ b/src/packagedcode/golang.py @@ -37,7 +37,6 @@ from commoncode import filetype from commoncode import fileutils from packagedcode import go_mod -from packagedcode import go_sum from packagedcode import models From 60a137ffd08473fd4a8e674d3d39c1ec8eac527c Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Sun, 2 Aug 2020 12:01:37 +0530 Subject: [PATCH 05/55] packagedcode to handle cargo.lock file Signed-off-by: rpotter12 --- src/packagedcode/cargo.py | 58 +++++++++++++++++++++++++++++++++------ 1 file changed, 49 insertions(+), 9 deletions(-) diff --git a/src/packagedcode/cargo.py b/src/packagedcode/cargo.py index 8d260f4d714..ac8d7681a9f 100644 --- a/src/packagedcode/cargo.py +++ b/src/packagedcode/cargo.py @@ -31,6 +31,7 @@ import re import attr +from packageurl import PackageURL import toml from commoncode import filetype @@ -54,7 +55,7 @@ @attr.s() class RustCargoCrate(models.Package): - metafiles = ('Cargo.toml',) + metafiles = ('Cargo.toml', 'Cargo.lock') default_type = 'cargo' default_primary_language = 'Rust' default_web_baseurl = 'https://crates.io' @@ -70,33 +71,46 @@ def get_package_root(cls, manifest_resource, codebase): return manifest_resource.parent(codebase) def repository_homepage_url(self, baseurl=default_web_baseurl): - return '{}/crates/{}'.format(baseurl, self.name) + if self.name: + return '{}/crates/{}'.format(baseurl, self.name) + return None def repository_download_url(self, baseurl=default_download_baseurl): - return '{}/crates/{}/{}/download'.format(baseurl, self.name, self.version) + if self.name and self.version: + return '{}/crates/{}/{}/download'.format(baseurl, self.name, self.version) + return None def api_data_url(self, baseurl=default_api_baseurl): - return '{}/crates/{}'.format(baseurl, self.name) + if self.name: + return '{}/crates/{}'.format(baseurl, self.name) + return None def is_cargo_toml(location): return (filetype.is_file(location) and fileutils.file_name(location).lower() == 'cargo.toml') +def is_cargo_lock(location): + return (filetype.is_file(location) and fileutils.file_name(location).lower() == 'cargo.lock') + + def parse(location): """ - Return a Package object from a Cargo.toml file or None. + Return a Package object from a Cargo.toml/Cargo.lock file or None. """ - if not is_cargo_toml(location): + if not is_cargo_toml(location) and not is_cargo_lock(location): return package_data = toml.load(location, _dict=OrderedDict) - return build_package(package_data) + if is_cargo_toml(location): + return build_cargo_toml_package(package_data) + elif is_cargo_lock(location): + return build_cargo_lock_package(package_data) -def build_package(package_data): +def build_cargo_toml_package(package_data): """ - Return a Pacakge object from a package data mapping or None. + Return a Package object from a Cargo.toml package data mapping or None. """ core_package_data = package_data.get('package', {}) @@ -179,3 +193,29 @@ def parse_person(person): person_parser_no_name = re.compile( r'(?P<([^>]+)>)?' ).match + + +def build_cargo_lock_package(package_data): + """ + Return a Package object from a Cargo.lock package data mapping or None. + """ + + package_dependencies = [] + core_package_data = package_data.get('package', {}) + for dep in core_package_data: + package_dependencies.append( + models.DependentPackage( + purl=PackageURL( + type='crates', + name=dep.get('name'), + version=dep.get('version') + ).to_string(), + requirement=dep.get('version'), + scope='dependency', + is_runtime=True, + is_optional=False, + is_resolved=True, + ) + ) + + return RustCargoCrate(dependencies=package_dependencies) From 13ba5df50ba200c7eb2011f2315a030a38ecf852 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Sun, 2 Aug 2020 12:03:17 +0530 Subject: [PATCH 06/55] add Cargo.lock in plugin Signed-off-by: rpotter12 --- tests/packagedcode/data/plugin/help.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/packagedcode/data/plugin/help.txt b/tests/packagedcode/data/plugin/help.txt index 8334d9e24ca..5133525008e 100644 --- a/tests/packagedcode/data/plugin/help.txt +++ b/tests/packagedcode/data/plugin/help.txt @@ -51,7 +51,7 @@ Package: cab -------------------------------------------- Package: cargo class: packagedcode.cargo:RustCargoCrate - metafiles: Cargo.toml + metafiles: Cargo.toml, Cargo.lock -------------------------------------------- Package: chef From ca22813c65157e310b92558939cbec4e019f6812 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Sun, 2 Aug 2020 12:35:05 +0530 Subject: [PATCH 07/55] add cargo.lock sample files Signed-off-by: rpotter12 --- .../data/cargo/cargo_lock/sample1/Cargo.lock | 28 ++++++++ .../cargo_lock/sample1/output.expected.json | 62 ++++++++++++++++ .../data/cargo/cargo_lock/sample2/Cargo.lock | 13 ++++ .../cargo_lock/sample2/output.expected.json | 54 ++++++++++++++ .../data/cargo/cargo_lock/sample3/Cargo.lock | 21 ++++++ .../cargo_lock/sample3/output.expected.json | 54 ++++++++++++++ .../data/cargo/cargo_lock/sample4/Cargo.lock | 31 ++++++++ .../cargo_lock/sample4/output.expected.json | 70 +++++++++++++++++++ .../data/cargo/cargo_lock/sample5/Cargo.lock | 30 ++++++++ .../cargo_lock/sample5/output.expected.json | 70 +++++++++++++++++++ .../cargo/{ => cargo_toml}/clap/Cargo.toml | 0 .../{ => cargo_toml}/clap/Cargo.toml.expected | 0 .../cargo/{ => cargo_toml}/clippy/Cargo.toml | 0 .../clippy/Cargo.toml.expected | 0 .../cargo/{ => cargo_toml}/mdbook/Cargo.toml | 0 .../mdbook/Cargo.toml.expected | 0 .../cargo/{ => cargo_toml}/rustfmt/Cargo.toml | 0 .../rustfmt/Cargo.toml.expected | 0 .../cargo/{ => cargo_toml}/rustup/Cargo.toml | 0 .../{ => cargo_toml}/rustup/Cargo.toml.1 | 0 .../rustup/Cargo.toml.expected | 0 21 files changed, 433 insertions(+) create mode 100644 tests/packagedcode/data/cargo/cargo_lock/sample1/Cargo.lock create mode 100644 tests/packagedcode/data/cargo/cargo_lock/sample1/output.expected.json create mode 100644 tests/packagedcode/data/cargo/cargo_lock/sample2/Cargo.lock create mode 100644 tests/packagedcode/data/cargo/cargo_lock/sample2/output.expected.json create mode 100644 tests/packagedcode/data/cargo/cargo_lock/sample3/Cargo.lock create mode 100644 tests/packagedcode/data/cargo/cargo_lock/sample3/output.expected.json create mode 100644 tests/packagedcode/data/cargo/cargo_lock/sample4/Cargo.lock create mode 100644 tests/packagedcode/data/cargo/cargo_lock/sample4/output.expected.json create mode 100644 tests/packagedcode/data/cargo/cargo_lock/sample5/Cargo.lock create mode 100644 tests/packagedcode/data/cargo/cargo_lock/sample5/output.expected.json rename tests/packagedcode/data/cargo/{ => cargo_toml}/clap/Cargo.toml (100%) rename tests/packagedcode/data/cargo/{ => cargo_toml}/clap/Cargo.toml.expected (100%) rename tests/packagedcode/data/cargo/{ => cargo_toml}/clippy/Cargo.toml (100%) rename tests/packagedcode/data/cargo/{ => cargo_toml}/clippy/Cargo.toml.expected (100%) rename tests/packagedcode/data/cargo/{ => cargo_toml}/mdbook/Cargo.toml (100%) rename tests/packagedcode/data/cargo/{ => cargo_toml}/mdbook/Cargo.toml.expected (100%) rename tests/packagedcode/data/cargo/{ => cargo_toml}/rustfmt/Cargo.toml (100%) rename tests/packagedcode/data/cargo/{ => cargo_toml}/rustfmt/Cargo.toml.expected (100%) rename tests/packagedcode/data/cargo/{ => cargo_toml}/rustup/Cargo.toml (100%) rename tests/packagedcode/data/cargo/{ => cargo_toml}/rustup/Cargo.toml.1 (100%) rename tests/packagedcode/data/cargo/{ => cargo_toml}/rustup/Cargo.toml.expected (100%) diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample1/Cargo.lock b/tests/packagedcode/data/cargo/cargo_lock/sample1/Cargo.lock new file mode 100644 index 00000000000..d05cf9e08a1 --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo_lock/sample1/Cargo.lock @@ -0,0 +1,28 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "autocfg" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" + +[[package]] +name = "cargo-lock" +version = "4.0.1" +dependencies = [ + "gumdrop", + "petgraph", + "semver", + "serde", + "toml", + "url", +] + +[[package]] +name = "gumdrop" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee50908bc1beeac1f2902e0b4e0cd0d844e716f5ebdc6f0cfc1163fe5e10bcde" +dependencies = [ + "gumdrop_derive", +] diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample1/output.expected.json b/tests/packagedcode/data/cargo/cargo_lock/sample1/output.expected.json new file mode 100644 index 00000000000..66e70fb253e --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo_lock/sample1/output.expected.json @@ -0,0 +1,62 @@ +[ + { + "type": "cargo", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:crates/autocfg@1.0.0", + "requirement": "1.0.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/cargo-lock@4.0.1", + "requirement": "4.0.1", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/gumdrop@0.7.0", + "requirement": "0.7.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": null, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample2/Cargo.lock b/tests/packagedcode/data/cargo/cargo_lock/sample2/Cargo.lock new file mode 100644 index 00000000000..0fa2c98287d --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo_lock/sample2/Cargo.lock @@ -0,0 +1,13 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "autocfg" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" + +[[package]] +name = "fixedbitset" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d" diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample2/output.expected.json b/tests/packagedcode/data/cargo/cargo_lock/sample2/output.expected.json new file mode 100644 index 00000000000..2738f7f7d40 --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo_lock/sample2/output.expected.json @@ -0,0 +1,54 @@ +[ + { + "type": "cargo", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:crates/autocfg@1.0.0", + "requirement": "1.0.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/fixedbitset@0.2.0", + "requirement": "0.2.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": null, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample3/Cargo.lock b/tests/packagedcode/data/cargo/cargo_lock/sample3/Cargo.lock new file mode 100644 index 00000000000..252eea4dada --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo_lock/sample3/Cargo.lock @@ -0,0 +1,21 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "gumdrop" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee50908bc1beeac1f2902e0b4e0cd0d844e716f5ebdc6f0cfc1163fe5e10bcde" +dependencies = [ + "gumdrop_derive", +] + +[[package]] +name = "gumdrop_derive" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90454ce4de40b7ca6a8968b5ef367bdab48413962588d0d2b1638d60090c35d7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample3/output.expected.json b/tests/packagedcode/data/cargo/cargo_lock/sample3/output.expected.json new file mode 100644 index 00000000000..b47f8b9843d --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo_lock/sample3/output.expected.json @@ -0,0 +1,54 @@ +[ + { + "type": "cargo", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:crates/gumdrop@0.7.0", + "requirement": "0.7.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/gumdrop_derive@0.7.0", + "requirement": "0.7.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": null, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample4/Cargo.lock b/tests/packagedcode/data/cargo/cargo_lock/sample4/Cargo.lock new file mode 100644 index 00000000000..3cce9389652 --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo_lock/sample4/Cargo.lock @@ -0,0 +1,31 @@ +[[package]] +name = "idna" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indexmap" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "076f042c5b7b98f31d205f1249267e12a6518c1481e9dae9764af19b707d2292" +dependencies = [ + "autocfg", +] + +[[package]] +name = "matches" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" + +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample4/output.expected.json b/tests/packagedcode/data/cargo/cargo_lock/sample4/output.expected.json new file mode 100644 index 00000000000..b210ef92271 --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo_lock/sample4/output.expected.json @@ -0,0 +1,70 @@ +[ + { + "type": "cargo", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:crates/idna@0.2.0", + "requirement": "0.2.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/indexmap@1.3.2", + "requirement": "1.3.2", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/matches@0.1.8", + "requirement": "0.1.8", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/percent-encoding@2.1.0", + "requirement": "2.1.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": null, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample5/Cargo.lock b/tests/packagedcode/data/cargo/cargo_lock/sample5/Cargo.lock new file mode 100644 index 00000000000..07d10d30c5c --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo_lock/sample5/Cargo.lock @@ -0,0 +1,30 @@ +[[package]] +name = "indexmap" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "076f042c5b7b98f31d205f1249267e12a6518c1481e9dae9764af19b707d2292" +dependencies = [ + "autocfg", +] + +[[package]] +name = "matches" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" + +[[package]] +name = "semver" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "394cec28fa623e00903caf7ba4fa6fb9a0e260280bb8cdbbba029611108a0190" +dependencies = [ + "semver-parser", + "serde", +] + +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample5/output.expected.json b/tests/packagedcode/data/cargo/cargo_lock/sample5/output.expected.json new file mode 100644 index 00000000000..d903df58138 --- /dev/null +++ b/tests/packagedcode/data/cargo/cargo_lock/sample5/output.expected.json @@ -0,0 +1,70 @@ +[ + { + "type": "cargo", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:crates/indexmap@1.3.2", + "requirement": "1.3.2", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/matches@0.1.8", + "requirement": "0.1.8", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/semver@0.10.0", + "requirement": "0.10.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/semver-parser@0.7.0", + "requirement": "0.7.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": null, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/clap/Cargo.toml b/tests/packagedcode/data/cargo/cargo_toml/clap/Cargo.toml similarity index 100% rename from tests/packagedcode/data/cargo/clap/Cargo.toml rename to tests/packagedcode/data/cargo/cargo_toml/clap/Cargo.toml diff --git a/tests/packagedcode/data/cargo/clap/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/clap/Cargo.toml.expected similarity index 100% rename from tests/packagedcode/data/cargo/clap/Cargo.toml.expected rename to tests/packagedcode/data/cargo/cargo_toml/clap/Cargo.toml.expected diff --git a/tests/packagedcode/data/cargo/clippy/Cargo.toml b/tests/packagedcode/data/cargo/cargo_toml/clippy/Cargo.toml similarity index 100% rename from tests/packagedcode/data/cargo/clippy/Cargo.toml rename to tests/packagedcode/data/cargo/cargo_toml/clippy/Cargo.toml diff --git a/tests/packagedcode/data/cargo/clippy/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/clippy/Cargo.toml.expected similarity index 100% rename from tests/packagedcode/data/cargo/clippy/Cargo.toml.expected rename to tests/packagedcode/data/cargo/cargo_toml/clippy/Cargo.toml.expected diff --git a/tests/packagedcode/data/cargo/mdbook/Cargo.toml b/tests/packagedcode/data/cargo/cargo_toml/mdbook/Cargo.toml similarity index 100% rename from tests/packagedcode/data/cargo/mdbook/Cargo.toml rename to tests/packagedcode/data/cargo/cargo_toml/mdbook/Cargo.toml diff --git a/tests/packagedcode/data/cargo/mdbook/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/mdbook/Cargo.toml.expected similarity index 100% rename from tests/packagedcode/data/cargo/mdbook/Cargo.toml.expected rename to tests/packagedcode/data/cargo/cargo_toml/mdbook/Cargo.toml.expected diff --git a/tests/packagedcode/data/cargo/rustfmt/Cargo.toml b/tests/packagedcode/data/cargo/cargo_toml/rustfmt/Cargo.toml similarity index 100% rename from tests/packagedcode/data/cargo/rustfmt/Cargo.toml rename to tests/packagedcode/data/cargo/cargo_toml/rustfmt/Cargo.toml diff --git a/tests/packagedcode/data/cargo/rustfmt/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/rustfmt/Cargo.toml.expected similarity index 100% rename from tests/packagedcode/data/cargo/rustfmt/Cargo.toml.expected rename to tests/packagedcode/data/cargo/cargo_toml/rustfmt/Cargo.toml.expected diff --git a/tests/packagedcode/data/cargo/rustup/Cargo.toml b/tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml similarity index 100% rename from tests/packagedcode/data/cargo/rustup/Cargo.toml rename to tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml diff --git a/tests/packagedcode/data/cargo/rustup/Cargo.toml.1 b/tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.1 similarity index 100% rename from tests/packagedcode/data/cargo/rustup/Cargo.toml.1 rename to tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.1 diff --git a/tests/packagedcode/data/cargo/rustup/Cargo.toml.expected b/tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.expected similarity index 100% rename from tests/packagedcode/data/cargo/rustup/Cargo.toml.expected rename to tests/packagedcode/data/cargo/cargo_toml/rustup/Cargo.toml.expected From a7d9ea8b33d1fb1f998236fbecb1c1f0490192fe Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Sun, 2 Aug 2020 12:52:24 +0530 Subject: [PATCH 08/55] add cargo.lock sample test cases Signed-off-by: rpotter12 --- .../cargo_lock/sample1/output.expected.json | 122 ++++++++-------- .../cargo_lock/sample2/output.expected.json | 106 +++++++------- .../cargo_lock/sample3/output.expected.json | 106 +++++++------- .../cargo_lock/sample4/output.expected.json | 138 +++++++++--------- .../cargo_lock/sample5/output.expected.json | 138 +++++++++--------- tests/packagedcode/test_cargo.py | 60 ++++++-- 6 files changed, 345 insertions(+), 325 deletions(-) diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample1/output.expected.json b/tests/packagedcode/data/cargo/cargo_lock/sample1/output.expected.json index 66e70fb253e..e5e22684ee3 100644 --- a/tests/packagedcode/data/cargo/cargo_lock/sample1/output.expected.json +++ b/tests/packagedcode/data/cargo/cargo_lock/sample1/output.expected.json @@ -1,62 +1,60 @@ -[ - { - "type": "cargo", - "namespace": null, - "name": null, - "version": null, - "qualifiers": {}, - "subpath": null, - "primary_language": "Rust", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "root_path": null, - "dependencies": [ - { - "purl": "pkg:crates/autocfg@1.0.0", - "requirement": "1.0.0", - "scope": "dependency", - "is_runtime": true, - "is_optional": false, - "is_resolved": true - }, - { - "purl": "pkg:crates/cargo-lock@4.0.1", - "requirement": "4.0.1", - "scope": "dependency", - "is_runtime": true, - "is_optional": false, - "is_resolved": true - }, - { - "purl": "pkg:crates/gumdrop@0.7.0", - "requirement": "0.7.0", - "scope": "dependency", - "is_runtime": true, - "is_optional": false, - "is_resolved": true - } - ], - "contains_source_code": null, - "source_packages": [], - "purl": null, - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - } -] \ No newline at end of file +{ + "type": "cargo", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:crates/autocfg@1.0.0", + "requirement": "1.0.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/cargo-lock@4.0.1", + "requirement": "4.0.1", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/gumdrop@0.7.0", + "requirement": "0.7.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": null, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null +} \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample2/output.expected.json b/tests/packagedcode/data/cargo/cargo_lock/sample2/output.expected.json index 2738f7f7d40..35aff5636ca 100644 --- a/tests/packagedcode/data/cargo/cargo_lock/sample2/output.expected.json +++ b/tests/packagedcode/data/cargo/cargo_lock/sample2/output.expected.json @@ -1,54 +1,52 @@ -[ - { - "type": "cargo", - "namespace": null, - "name": null, - "version": null, - "qualifiers": {}, - "subpath": null, - "primary_language": "Rust", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "root_path": null, - "dependencies": [ - { - "purl": "pkg:crates/autocfg@1.0.0", - "requirement": "1.0.0", - "scope": "dependency", - "is_runtime": true, - "is_optional": false, - "is_resolved": true - }, - { - "purl": "pkg:crates/fixedbitset@0.2.0", - "requirement": "0.2.0", - "scope": "dependency", - "is_runtime": true, - "is_optional": false, - "is_resolved": true - } - ], - "contains_source_code": null, - "source_packages": [], - "purl": null, - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - } -] \ No newline at end of file +{ + "type": "cargo", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:crates/autocfg@1.0.0", + "requirement": "1.0.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/fixedbitset@0.2.0", + "requirement": "0.2.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": null, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null +} \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample3/output.expected.json b/tests/packagedcode/data/cargo/cargo_lock/sample3/output.expected.json index b47f8b9843d..6b55be29b65 100644 --- a/tests/packagedcode/data/cargo/cargo_lock/sample3/output.expected.json +++ b/tests/packagedcode/data/cargo/cargo_lock/sample3/output.expected.json @@ -1,54 +1,52 @@ -[ - { - "type": "cargo", - "namespace": null, - "name": null, - "version": null, - "qualifiers": {}, - "subpath": null, - "primary_language": "Rust", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "root_path": null, - "dependencies": [ - { - "purl": "pkg:crates/gumdrop@0.7.0", - "requirement": "0.7.0", - "scope": "dependency", - "is_runtime": true, - "is_optional": false, - "is_resolved": true - }, - { - "purl": "pkg:crates/gumdrop_derive@0.7.0", - "requirement": "0.7.0", - "scope": "dependency", - "is_runtime": true, - "is_optional": false, - "is_resolved": true - } - ], - "contains_source_code": null, - "source_packages": [], - "purl": null, - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - } -] \ No newline at end of file +{ + "type": "cargo", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:crates/gumdrop@0.7.0", + "requirement": "0.7.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/gumdrop_derive@0.7.0", + "requirement": "0.7.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": null, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null +} \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample4/output.expected.json b/tests/packagedcode/data/cargo/cargo_lock/sample4/output.expected.json index b210ef92271..4f747a42334 100644 --- a/tests/packagedcode/data/cargo/cargo_lock/sample4/output.expected.json +++ b/tests/packagedcode/data/cargo/cargo_lock/sample4/output.expected.json @@ -1,70 +1,68 @@ -[ - { - "type": "cargo", - "namespace": null, - "name": null, - "version": null, - "qualifiers": {}, - "subpath": null, - "primary_language": "Rust", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "root_path": null, - "dependencies": [ - { - "purl": "pkg:crates/idna@0.2.0", - "requirement": "0.2.0", - "scope": "dependency", - "is_runtime": true, - "is_optional": false, - "is_resolved": true - }, - { - "purl": "pkg:crates/indexmap@1.3.2", - "requirement": "1.3.2", - "scope": "dependency", - "is_runtime": true, - "is_optional": false, - "is_resolved": true - }, - { - "purl": "pkg:crates/matches@0.1.8", - "requirement": "0.1.8", - "scope": "dependency", - "is_runtime": true, - "is_optional": false, - "is_resolved": true - }, - { - "purl": "pkg:crates/percent-encoding@2.1.0", - "requirement": "2.1.0", - "scope": "dependency", - "is_runtime": true, - "is_optional": false, - "is_resolved": true - } - ], - "contains_source_code": null, - "source_packages": [], - "purl": null, - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - } -] \ No newline at end of file +{ + "type": "cargo", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:crates/idna@0.2.0", + "requirement": "0.2.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/indexmap@1.3.2", + "requirement": "1.3.2", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/matches@0.1.8", + "requirement": "0.1.8", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/percent-encoding@2.1.0", + "requirement": "2.1.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": null, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null +} \ No newline at end of file diff --git a/tests/packagedcode/data/cargo/cargo_lock/sample5/output.expected.json b/tests/packagedcode/data/cargo/cargo_lock/sample5/output.expected.json index d903df58138..64f1f3af76f 100644 --- a/tests/packagedcode/data/cargo/cargo_lock/sample5/output.expected.json +++ b/tests/packagedcode/data/cargo/cargo_lock/sample5/output.expected.json @@ -1,70 +1,68 @@ -[ - { - "type": "cargo", - "namespace": null, - "name": null, - "version": null, - "qualifiers": {}, - "subpath": null, - "primary_language": "Rust", - "description": null, - "release_date": null, - "parties": [], - "keywords": [], - "homepage_url": null, - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "root_path": null, - "dependencies": [ - { - "purl": "pkg:crates/indexmap@1.3.2", - "requirement": "1.3.2", - "scope": "dependency", - "is_runtime": true, - "is_optional": false, - "is_resolved": true - }, - { - "purl": "pkg:crates/matches@0.1.8", - "requirement": "0.1.8", - "scope": "dependency", - "is_runtime": true, - "is_optional": false, - "is_resolved": true - }, - { - "purl": "pkg:crates/semver@0.10.0", - "requirement": "0.10.0", - "scope": "dependency", - "is_runtime": true, - "is_optional": false, - "is_resolved": true - }, - { - "purl": "pkg:crates/semver-parser@0.7.0", - "requirement": "0.7.0", - "scope": "dependency", - "is_runtime": true, - "is_optional": false, - "is_resolved": true - } - ], - "contains_source_code": null, - "source_packages": [], - "purl": null, - "repository_homepage_url": null, - "repository_download_url": null, - "api_data_url": null - } -] \ No newline at end of file +{ + "type": "cargo", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Rust", + "description": null, + "release_date": null, + "parties": [], + "keywords": [], + "homepage_url": null, + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:crates/indexmap@1.3.2", + "requirement": "1.3.2", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/matches@0.1.8", + "requirement": "0.1.8", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/semver@0.10.0", + "requirement": "0.10.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + }, + { + "purl": "pkg:crates/semver-parser@0.7.0", + "requirement": "0.7.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": true + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": null, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null +} \ No newline at end of file diff --git a/tests/packagedcode/test_cargo.py b/tests/packagedcode/test_cargo.py index b9b0e3ab5ef..b89b200043b 100644 --- a/tests/packagedcode/test_cargo.py +++ b/tests/packagedcode/test_cargo.py @@ -37,33 +37,63 @@ class TestCargo(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') - def test_parse_clap(self): - test_file = self.get_test_loc('cargo/clap/Cargo.toml') - expected_loc = self.get_test_loc('cargo/clap/Cargo.toml.expected') + def test_parse_cargo_toml_clap(self): + test_file = self.get_test_loc('cargo/cargo_toml/clap/Cargo.toml') + expected_loc = self.get_test_loc('cargo/cargo_toml/clap/Cargo.toml.expected') package = cargo.parse(test_file) self.check_package(package, expected_loc, regen=False) - def test_parse_clippy(self): - test_file = self.get_test_loc('cargo/clippy/Cargo.toml') - expected_loc = self.get_test_loc('cargo/clippy/Cargo.toml.expected') + def test_parse_cargo_toml_clippy(self): + test_file = self.get_test_loc('cargo/cargo_toml/clippy/Cargo.toml') + expected_loc = self.get_test_loc('cargo/cargo_toml/clippy/Cargo.toml.expected') package = cargo.parse(test_file) self.check_package(package, expected_loc, regen=False) - def test_parse_mdbook(self): - test_file = self.get_test_loc('cargo/mdbook/Cargo.toml') - expected_loc = self.get_test_loc('cargo/mdbook/Cargo.toml.expected') + def test_parse_cargo_toml_mdbook(self): + test_file = self.get_test_loc('cargo/cargo_toml/mdbook/Cargo.toml') + expected_loc = self.get_test_loc('cargo/cargo_toml/mdbook/Cargo.toml.expected') package = cargo.parse(test_file) self.check_package(package, expected_loc, regen=False) - def test_parse_rustfmt(self): - test_file = self.get_test_loc('cargo/rustfmt/Cargo.toml') - expected_loc = self.get_test_loc('cargo/rustfmt/Cargo.toml.expected') + def test_parse_cargo_toml_rustfmt(self): + test_file = self.get_test_loc('cargo/cargo_toml/rustfmt/Cargo.toml') + expected_loc = self.get_test_loc('cargo/cargo_toml/rustfmt/Cargo.toml.expected') package = cargo.parse(test_file) self.check_package(package, expected_loc, regen=False) - def test_parse_rustup(self): - test_file = self.get_test_loc('cargo/rustup/Cargo.toml') - expected_loc = self.get_test_loc('cargo/rustup/Cargo.toml.expected') + def test_parse_cargo_toml_rustup(self): + test_file = self.get_test_loc('cargo/cargo_toml/rustup/Cargo.toml') + expected_loc = self.get_test_loc('cargo/cargo_toml/rustup/Cargo.toml.expected') + package = cargo.parse(test_file) + self.check_package(package, expected_loc, regen=False) + + def test_parse_cargo_lock_sample1(self): + test_file = self.get_test_loc('cargo/cargo_lock/sample1/Cargo.lock') + expected_loc = self.get_test_loc('cargo/cargo_lock/sample1/output.expected.json') + package = cargo.parse(test_file) + self.check_package(package, expected_loc, regen=False) + + def test_parse_cargo_lock_sample2(self): + test_file = self.get_test_loc('cargo/cargo_lock/sample2/Cargo.lock') + expected_loc = self.get_test_loc('cargo/cargo_lock/sample2/output.expected.json') + package = cargo.parse(test_file) + self.check_package(package, expected_loc, regen=False) + + def test_parse_cargo_lock_sample3(self): + test_file = self.get_test_loc('cargo/cargo_lock/sample3/Cargo.lock') + expected_loc = self.get_test_loc('cargo/cargo_lock/sample3/output.expected.json') + package = cargo.parse(test_file) + self.check_package(package, expected_loc, regen=False) + + def test_parse_cargo_lock_sample4(self): + test_file = self.get_test_loc('cargo/cargo_lock/sample4/Cargo.lock') + expected_loc = self.get_test_loc('cargo/cargo_lock/sample4/output.expected.json') + package = cargo.parse(test_file) + self.check_package(package, expected_loc, regen=False) + + def test_parse_cargo_lock_sample5(self): + test_file = self.get_test_loc('cargo/cargo_lock/sample5/Cargo.lock') + expected_loc = self.get_test_loc('cargo/cargo_lock/sample5/output.expected.json') package = cargo.parse(test_file) self.check_package(package, expected_loc, regen=False) From f38f9edcce9702ea43cc49f641b3bea3310a1b57 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Mon, 13 Jul 2020 13:28:45 +0530 Subject: [PATCH 09/55] sample gemspec test files Signed-off-by: rpotter12 --- ...ress_standardization.gemspec.expected.json | 124 +++++---- .../gemspec/arel.gemspec.expected.json | 249 +++++------------- .../gemspec/cat.gemspec.expected.json | 129 ++++++--- .../data/rubygems/gemspec/github.gemspec | 31 +++ .../gemspec/github.gemspec.expected.json | 70 +++++ .../data/rubygems/gemspec/mecab-ruby.gemspec | 16 ++ .../gemspec/mecab-ruby.gemspec.expected.json | 45 ++++ .../rubygems/gemspec/oj.gemspec.expected.json | 80 ++++++ .../data/rubygems/gemspec/rubocop.gemspec | 5 +- .../gemspec/rubocop.gemspec.expected.json | 120 +++++++++ .../with_variable.gemspec.expected.json | 137 ++++++++++ .../with_variables.gemspec.expected.json | 78 ++++++ 12 files changed, 804 insertions(+), 280 deletions(-) create mode 100644 tests/packagedcode/data/rubygems/gemspec/github.gemspec create mode 100644 tests/packagedcode/data/rubygems/gemspec/github.gemspec.expected.json create mode 100644 tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec create mode 100644 tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec.expected.json create mode 100644 tests/packagedcode/data/rubygems/gemspec/with_variable.gemspec.expected.json diff --git a/tests/packagedcode/data/rubygems/gemspec/address_standardization.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/address_standardization.gemspec.expected.json index 097986ebb46..16bb9544822 100644 --- a/tests/packagedcode/data/rubygems/gemspec/address_standardization.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/address_standardization.gemspec.expected.json @@ -1,54 +1,70 @@ -{ - "platform": "ruby", - "name": "mysmallidea-address_standardization", - "version": "0.4.1", - "homepage": "http://github.com/mcmire/address_standardization", - "summary": "A tiny Ruby library to quickly standardize a postal address", - "description": "A tiny Ruby library to quickly standardize a postal address", - "licenses": null, - "email": "elliot.winkler@gmail.com", - "authors": [ - "Elliot Winkler" - ], - "date": "2010-02-01 00:00:00 UTC", - "requirements": null, - "dependencies": [ - "mechanize (>= 0)", - "mcmire-context (>= 0, development)", - "mcmire-matchy (>= 0, development)" - ], - "files": [ - ".gitignore", - "README.md", - "Rakefile", - "TODO", - "address_standardization.gemspec", - "lib/address_standardization.rb", - "lib/address_standardization/abstract_service.rb", - "lib/address_standardization/address.rb", - "lib/address_standardization/class_level_inheritable_attributes.rb", - "lib/address_standardization/google_maps.rb", - "lib/address_standardization/melissa_data.rb", - "lib/address_standardization/ruby_ext.rb", - "lib/address_standardization/version.rb", - "test/google_maps_test.rb", - "test/melissa_data_test.rb", - "test/test_helper.rb" - ], - "test_files": [ - "test/google_maps_test.rb", - "test/melissa_data_test.rb", - "test/test_helper.rb" - ], - "extra_rdoc_files": [ - "README.md", - "TODO" - ], - "rubygems_version": "1.3.5", - "required_ruby_version": ">= 0", - "rubyforge_project": null, - "loaded_from": "rubygems/address_standardization.gemspec", - "original_platform": null, - "new_platform": "ruby", - "specification_version": 3 -} \ No newline at end of file +[ + { + "type": "gem", + "namespace": null, + "name": "mysmallidea-address_standardization", + "version": "0.4.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "A tiny Ruby library to quickly standardize a postal address", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Elliot Winkler", + "email": "elliot.winkler@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "http://github.com/mcmire/address_standardization", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:gem/mechanize", + "requirement": ">= 0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/mcmire-context", + "requirement": ">= 0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/mcmire-matchy", + "requirement": ">= 0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/mysmallidea-address_standardization@0.4.1", + "repository_homepage_url": "https://rubygems.org/gems/mysmallidea-address_standardization/versions/0.4.1", + "repository_download_url": "https://rubygems.org/downloads/mysmallidea-address_standardization-0.4.1.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/mysmallidea-address_standardization/versions/0.4.1.json" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/arel.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/arel.gemspec.expected.json index 32bcc7da9ce..5b07a596b7f 100644 --- a/tests/packagedcode/data/rubygems/gemspec/arel.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/arel.gemspec.expected.json @@ -1,187 +1,62 @@ -{ - "platform": "ruby", - "name": "arel", - "version": "2.0.7.beta.20110429111451", - "homepage": "http://github.com/rails/arel", - "summary": "Arel is a SQL AST manager for Ruby", - "description": "Arel is a SQL AST manager for Ruby. It\n\n1. Simplifies the generation complex of SQL queries\n2. Adapts to various RDBMS systems\n\nIt is intended to be a framework framework; that is, you can build your own ORM\nwith it, focusing on innovative object and collection modeling as opposed to\ndatabase compatibility and query generation.", - "licenses": null, - "email": [ - "aaron@tenderlovemaking.com", - "bryan@brynary.com", - "miloops@gmail.com", - "nick@example.org" - ], - "authors": [ - "Aaron Patterson", - "Bryan Halmkamp", - "Emilio Tagua", - "Nick Kallen" - ], - "date": "2011-04-29 00:00:00 UTC", - "requirements": null, - "dependencies": [ - "minitest (>= 2.0.2, development)", - "hoe (>= 2.9.1, development)" - ], - "files": [ - ".autotest", - ".gemtest", - "History.txt", - "MIT-LICENSE.txt", - "Manifest.txt", - "README.markdown", - "Rakefile", - "arel.gemspec", - "lib/arel.rb", - "lib/arel/alias_predication.rb", - "lib/arel/attributes.rb", - "lib/arel/attributes/attribute.rb", - "lib/arel/compatibility/wheres.rb", - "lib/arel/crud.rb", - "lib/arel/delete_manager.rb", - "lib/arel/deprecated.rb", - "lib/arel/expression.rb", - "lib/arel/expressions.rb", - "lib/arel/factory_methods.rb", - "lib/arel/insert_manager.rb", - "lib/arel/math.rb", - "lib/arel/nodes.rb", - "lib/arel/nodes/and.rb", - "lib/arel/nodes/binary.rb", - "lib/arel/nodes/count.rb", - "lib/arel/nodes/delete_statement.rb", - "lib/arel/nodes/equality.rb", - "lib/arel/nodes/function.rb", - "lib/arel/nodes/in.rb", - "lib/arel/nodes/infix_operation.rb", - "lib/arel/nodes/inner_join.rb", - "lib/arel/nodes/insert_statement.rb", - "lib/arel/nodes/join_source.rb", - "lib/arel/nodes/named_function.rb", - "lib/arel/nodes/node.rb", - "lib/arel/nodes/ordering.rb", - "lib/arel/nodes/outer_join.rb", - "lib/arel/nodes/select_core.rb", - "lib/arel/nodes/select_statement.rb", - "lib/arel/nodes/sql_literal.rb", - "lib/arel/nodes/string_join.rb", - "lib/arel/nodes/table_alias.rb", - "lib/arel/nodes/terminal.rb", - "lib/arel/nodes/unary.rb", - "lib/arel/nodes/unqualified_column.rb", - "lib/arel/nodes/update_statement.rb", - "lib/arel/nodes/values.rb", - "lib/arel/nodes/with.rb", - "lib/arel/order_predications.rb", - "lib/arel/predications.rb", - "lib/arel/relation.rb", - "lib/arel/select_manager.rb", - "lib/arel/sql/engine.rb", - "lib/arel/sql_literal.rb", - "lib/arel/table.rb", - "lib/arel/tree_manager.rb", - "lib/arel/update_manager.rb", - "lib/arel/visitors.rb", - "lib/arel/visitors/depth_first.rb", - "lib/arel/visitors/dot.rb", - "lib/arel/visitors/ibm_db.rb", - "lib/arel/visitors/join_sql.rb", - "lib/arel/visitors/mssql.rb", - "lib/arel/visitors/mysql.rb", - "lib/arel/visitors/oracle.rb", - "lib/arel/visitors/order_clauses.rb", - "lib/arel/visitors/postgresql.rb", - "lib/arel/visitors/sqlite.rb", - "lib/arel/visitors/to_sql.rb", - "lib/arel/visitors/visitor.rb", - "lib/arel/visitors/where_sql.rb", - "test/attributes/test_attribute.rb", - "test/helper.rb", - "test/nodes/test_as.rb", - "test/nodes/test_bin.rb", - "test/nodes/test_count.rb", - "test/nodes/test_delete_statement.rb", - "test/nodes/test_equality.rb", - "test/nodes/test_insert_statement.rb", - "test/nodes/test_named_function.rb", - "test/nodes/test_node.rb", - "test/nodes/test_not.rb", - "test/nodes/test_or.rb", - "test/nodes/test_select_core.rb", - "test/nodes/test_select_statement.rb", - "test/nodes/test_sql_literal.rb", - "test/nodes/test_sum.rb", - "test/nodes/test_update_statement.rb", - "test/support/fake_record.rb", - "test/test_activerecord_compat.rb", - "test/test_attributes.rb", - "test/test_crud.rb", - "test/test_delete_manager.rb", - "test/test_factory_methods.rb", - "test/test_insert_manager.rb", - "test/test_select_manager.rb", - "test/test_table.rb", - "test/test_update_manager.rb", - "test/visitors/test_depth_first.rb", - "test/visitors/test_dot.rb", - "test/visitors/test_ibm_db.rb", - "test/visitors/test_join_sql.rb", - "test/visitors/test_mssql.rb", - "test/visitors/test_mysql.rb", - "test/visitors/test_oracle.rb", - "test/visitors/test_postgres.rb", - "test/visitors/test_sqlite.rb", - "test/visitors/test_to_sql.rb" - ], - "test_files": [ - "test/attributes/test_attribute.rb", - "test/nodes/test_as.rb", - "test/nodes/test_bin.rb", - "test/nodes/test_count.rb", - "test/nodes/test_delete_statement.rb", - "test/nodes/test_equality.rb", - "test/nodes/test_insert_statement.rb", - "test/nodes/test_named_function.rb", - "test/nodes/test_node.rb", - "test/nodes/test_not.rb", - "test/nodes/test_or.rb", - "test/nodes/test_select_core.rb", - "test/nodes/test_select_statement.rb", - "test/nodes/test_sql_literal.rb", - "test/nodes/test_sum.rb", - "test/nodes/test_update_statement.rb", - "test/test_activerecord_compat.rb", - "test/test_attributes.rb", - "test/test_crud.rb", - "test/test_delete_manager.rb", - "test/test_factory_methods.rb", - "test/test_insert_manager.rb", - "test/test_select_manager.rb", - "test/test_table.rb", - "test/test_update_manager.rb", - "test/visitors/test_depth_first.rb", - "test/visitors/test_dot.rb", - "test/visitors/test_ibm_db.rb", - "test/visitors/test_join_sql.rb", - "test/visitors/test_mssql.rb", - "test/visitors/test_mysql.rb", - "test/visitors/test_oracle.rb", - "test/visitors/test_postgres.rb", - "test/visitors/test_sqlite.rb", - "test/visitors/test_to_sql.rb" - ], - "extra_rdoc_files": [ - "History.txt", - "MIT-LICENSE.txt", - "Manifest.txt", - "README.markdown" - ], - "rubygems_version": "1.6.1", - "required_ruby_version": ">= 0", - "rubyforge_project": "arel", - "loaded_from": "rubygems/arel.gemspec", - "original_platform": null, - "new_platform": "ruby", - "specification_version": 3 -} \ No newline at end of file +[ + { + "type": "gem", + "namespace": null, + "name": "arel", + "version": "2.0.7.beta.20110429111451", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "Arel is a SQL AST manager for Ruby. It", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Aaron Patterson, Bryan Halmkamp, Emilio Tagua, Nick Kallen", + "email": "aaron@tenderlovemaking.com, bryan@brynary.com, miloops@gmail.com, nick@example.org", + "url": null + } + ], + "keywords": [], + "homepage_url": "http://github.com/rails/arel", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:gem/minitest", + "requirement": ">= 2.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/hoe", + "requirement": ">= 2.9.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/arel@2.0.7.beta.20110429111451", + "repository_homepage_url": "https://rubygems.org/gems/arel/versions/2.0.7.beta.20110429111451", + "repository_download_url": "https://rubygems.org/downloads/arel-2.0.7.beta.20110429111451.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/arel/versions/2.0.7.beta.20110429111451.json" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/cat.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/cat.gemspec.expected.json index 8c284842871..45f4331a241 100644 --- a/tests/packagedcode/data/rubygems/gemspec/cat.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/cat.gemspec.expected.json @@ -1,35 +1,94 @@ -{ - "platform": "ruby", - "name": "cat_", - "version": "12", - "homepage": "https://github.com/elct9620/.cat", - "summary": "The loading cat generator.", - "description": "The loading cat generator.", - "licenses": null, - "email": [ - "elct9620@frost.tw" - ], - "authors": [ - "\u84bc\u6642\u5f26\u4e5f" - ], - "date": "2019-01-07 00:00:00 UTC", - "requirements": null, - "dependencies": [ - "rack (>= 0)", - "sassc (>= 0)", - "slim (>= 0)", - "bundler (~> 1.13, development)", - "rake (~> 10.0, development)", - "rspec (~> 3.0, development)" - ], - "files": [], - "test_files": null, - "extra_rdoc_files": null, - "rubygems_version": "2.5.2.1", - "required_ruby_version": ">= 0", - "rubyforge_project": null, - "loaded_from": "rubygems/cat.gemspec", - "original_platform": null, - "new_platform": "ruby", - "specification_version": 4 -} +[ + { + "type": "gem", + "namespace": null, + "name": "cat_", + "version": "12", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "The loading cat generator.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "\u84bc\u6642\u5f26\u4e5f", + "email": "elct9620@frost.tw", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/elct9620/.cat", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:gem/bundler", + "requirement": "~> 1.13", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rake", + "requirement": "~> 10.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rspec", + "requirement": "~> 3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rack", + "requirement": "", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/sassc", + "requirement": "", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/slim", + "requirement": "", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/cat_@12", + "repository_homepage_url": "https://rubygems.org/gems/cat_/versions/12", + "repository_download_url": "https://rubygems.org/downloads/cat_-12.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/cat_/versions/12.json" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/github.gemspec b/tests/packagedcode/data/rubygems/gemspec/github.gemspec new file mode 100644 index 00000000000..38a12dd4088 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemspec/github.gemspec @@ -0,0 +1,31 @@ +# -*- encoding: utf-8 -*- +$:.push File.expand_path("../lib", __FILE__) +require "github/version" + +Gem::Specification.new do |s| + s.name = "github" + s.version = GitHub::VERSION + s.platform = Gem::Platform::RUBY + s.authors = ['Chris Wanstrath', 'Kevin Ballard', 'Scott Chacon', 'Dr Nic Williams'] + s.email = ["drnicwilliams@gmail.com"] + s.homepage = "https://github.com/defunkt/github-gem" + s.summary = "The official `github` command line helper for simplifying your GitHub experience." + s.description = "The official `github` command line helper for simplifying your GitHub experience." + + s.rubyforge_project = "github" + + s.files = `git ls-files`.split("\n") + s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n") + s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) } + s.require_paths = ["lib"] + + s.add_dependency "text-hyphen", "1.0.0" + s.add_dependency "text-format", "1.0.0" + s.add_dependency "highline", "~> 1.6" + s.add_dependency "json_pure", "~> 1.5.1" + s.add_dependency "launchy", "~> 2.0.2" + + s.add_development_dependency "rake" + s.add_development_dependency "rspec", "~>1.3.1" + s.add_development_dependency "activerecord", "~>3.0.0" +end diff --git a/tests/packagedcode/data/rubygems/gemspec/github.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/github.gemspec.expected.json new file mode 100644 index 00000000000..af88ff526d3 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemspec/github.gemspec.expected.json @@ -0,0 +1,70 @@ +[ + { + "type": "gem", + "namespace": null, + "name": "github", + "version": "GitHub::VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "The official `github` command line helper for simplifying your GitHub experience.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Chris Wanstrath, Kevin Ballard, Scott Chacon, Dr Nic Williams", + "email": "drnicwilliams@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/defunkt/github-gem", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:gem/rake", + "requirement": "", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rspec", + "requirement": "~>1.3.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/activerecord", + "requirement": "~>3.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/github@GitHub::VERSION", + "repository_homepage_url": "https://rubygems.org/gems/github/versions/GitHub::VERSION", + "repository_download_url": "https://rubygems.org/downloads/github-GitHub::VERSION.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/github/versions/GitHub::VERSION.json" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec b/tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec new file mode 100644 index 00000000000..f49f356b937 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec @@ -0,0 +1,16 @@ +Gem::Specification.new do |s| + s.name = %q{mecab-ruby} + s.version = '0.99' + s.author = 'Taku Kudo' + s.date = '2011-12-24' + s.description = "Ruby bindings for MeCab, a morphological analyzer." + s.email = 'taku@chasen.org' + s.extensions = [ 'extconf.rb' ] + s.files = [ 'AUTHORS', 'BSD', 'COPYING', 'GPL', 'LGPL', + 'MeCab_wrap.cpp', 'README', 'bindings.html', + 'extconf.rb', 'mecab-ruby.gemspec', 'test.rb' ] + s.has_rdoc = false + s.homepage = 'http://mecab.sourceforge.net/' + s.summary = 'Ruby bindings for MeCab.' +end + diff --git a/tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec.expected.json new file mode 100644 index 00000000000..d5a2b3a6138 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec.expected.json @@ -0,0 +1,45 @@ +[ + { + "type": "gem", + "namespace": null, + "name": "mecab-ruby", + "version": "0.99", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "Ruby bindings for MeCab, a morphological analyzer.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Taku Kudo", + "email": "taku@chasen.org", + "url": null + } + ], + "keywords": [], + "homepage_url": "http://mecab.sourceforge.net/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/mecab-ruby@0.99", + "repository_homepage_url": "https://rubygems.org/gems/mecab-ruby/versions/0.99", + "repository_download_url": "https://rubygems.org/downloads/mecab-ruby-0.99.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/mecab-ruby/versions/0.99.json" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/oj.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/oj.gemspec.expected.json index e69de29bb2d..e522a5251ad 100644 --- a/tests/packagedcode/data/rubygems/gemspec/oj.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/oj.gemspec.expected.json @@ -0,0 +1,80 @@ +[ + { + "type": "gem", + "namespace": null, + "name": "oj", + "version": "::Oj::VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "The fastest JSON parser and object serializer.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Peter Ohler", + "email": "peter@ohler.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "http://www.ohler.com/oj", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": "mit", + "declared_license": [ + "MIT" + ], + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:gem/rake-compiler", + "requirement": ">= 0.9, < 2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/minitest", + "requirement": "~> 5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/test-unit", + "requirement": "~> 3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/wwtd", + "requirement": "~> 0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/oj@::Oj::VERSION", + "repository_homepage_url": "https://rubygems.org/gems/oj/versions/::Oj::VERSION", + "repository_download_url": "https://rubygems.org/downloads/oj-::Oj::VERSION.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/oj/versions/::Oj::VERSION.json" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec b/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec index 6c9fbeeb54a..8087e2de78d 100644 --- a/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec +++ b/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec @@ -11,10 +11,7 @@ Gem::Specification.new do |s| s.platform = Gem::Platform::RUBY s.required_ruby_version = '>= 2.2.0' s.authors = ['Bozhidar Batsov', 'Jonas Arvidsson', 'Yuji Nakayama'] - s.description = <<-DESCRIPTION - Automatic Ruby code style checking tool. - Aims to enforce the community-driven Ruby Style Guide. - DESCRIPTION + s.description = "Automatic Ruby code style checking tool. Aims to enforce the community-driven Ruby Style Guide." s.email = 'rubocop@googlegroups.com' s.files = `git ls-files assets bin config lib LICENSE.txt README.md` diff --git a/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec.expected.json index e69de29bb2d..b31936a2d3d 100644 --- a/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec.expected.json @@ -0,0 +1,120 @@ +[ + { + "type": "gem", + "namespace": null, + "name": "rubocop", + "version": "RuboCop::Version::STRING", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "Automatic Ruby code style checking tool. Aims to enforce the community-driven Ruby Style Guide.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Bozhidar Batsov, Jonas Arvidsson, Yuji Nakayama", + "email": "rubocop@googlegroups.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/rubocop-hq/rubocop", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": "mit", + "declared_license": [ + "MIT" + ], + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:gem/jaro_winkler", + "requirement": "~> 1.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/parallel", + "requirement": "~> 1.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/parser", + "requirement": ">= 2.5, != 2.5.1.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/powerpack", + "requirement": "~> 0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rainbow", + "requirement": ">= 2.2.2, < 4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/ruby-progressbar", + "requirement": "~> 1.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/runicode-display_width", + "requirement": "~> 1.4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/bundler", + "requirement": ">= 1.3.0, < 3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rack", + "requirement": ">= 2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/rubocop@RuboCop::Version::STRING", + "repository_homepage_url": "https://rubygems.org/gems/rubocop/versions/RuboCop::Version::STRING", + "repository_download_url": "https://rubygems.org/downloads/rubocop-RuboCop::Version::STRING.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/rubocop/versions/RuboCop::Version::STRING.json" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/with_variable.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/with_variable.gemspec.expected.json new file mode 100644 index 00000000000..7e805fca5f7 --- /dev/null +++ b/tests/packagedcode/data/rubygems/gemspec/with_variable.gemspec.expected.json @@ -0,0 +1,137 @@ +[ + { + "type": "gem", + "namespace": null, + "name": "ProviderDSL::GemDescription::NAME", + "version": "ProviderDSL::GemDescription::VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "See the project home page for more information", + "release_date": null, + "parties": [ + { + "type": null, + "role": "author", + "name": "ProviderDSL::GemDescription::AUTHORS", + "email": "ProviderDSL::GemDescription::EMAIL", + "url": null + } + ], + "keywords": [], + "homepage_url": "ProviderDSL::GemDescription::PAGE", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:gem/rake", + "requirement": [ + "~> 11.3" + ], + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rubocop", + "requirement": [ + "~> 0.44.1" + ], + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rspec", + "requirement": [ + "~> 3.5" + ], + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rspec-mocks", + "requirement": [ + "~> 3.5" + ], + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/ipaddress", + "requirement": [ + "~> 0.8.3" + ], + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/gandi", + "requirement": [ + "~> 3.3", + ">= 3.3.27" + ], + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/gcloud", + "requirement": [ + "~> 0.21.0" + ], + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/google-cloud-error_reporting", + "requirement": [ + "~> 0.21.0" + ], + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/map", + "requirement": [ + "~> 6.6" + ], + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/ProviderDSL::GemDescription::NAME@ProviderDSL::GemDescription::VERSION", + "repository_homepage_url": "https://rubygems.org/gems/ProviderDSL::GemDescription::NAME/versions/ProviderDSL::GemDescription::VERSION", + "repository_download_url": "https://rubygems.org/downloads/ProviderDSL::GemDescription::NAME-ProviderDSL::GemDescription::VERSION.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/ProviderDSL::GemDescription::NAME/versions/ProviderDSL::GemDescription::VERSION.json" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/with_variables.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/with_variables.gemspec.expected.json index e69de29bb2d..7633a71fab6 100644 --- a/tests/packagedcode/data/rubygems/gemspec/with_variables.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/with_variables.gemspec.expected.json @@ -0,0 +1,78 @@ +[ + { + "type": "gem", + "namespace": null, + "name": "ProviderDSL::GemDescription::NAME", + "version": "ProviderDSL::GemDescription::VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "See the project home page for more information", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "ProviderDSL::GemDescription::AUTHORS", + "email": "ProviderDSL::GemDescription::EMAIL", + "url": null + } + ], + "keywords": [], + "homepage_url": "ProviderDSL::GemDescription::PAGE", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:gem/rake", + "requirement": "~> 11.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rubocop", + "requirement": "~> 0.44.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rspec", + "requirement": "~> 3.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rspec-mocks", + "requirement": "~> 3.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/ProviderDSL::GemDescription::NAME@ProviderDSL::GemDescription::VERSION", + "repository_homepage_url": "https://rubygems.org/gems/ProviderDSL::GemDescription::NAME/versions/ProviderDSL::GemDescription::VERSION", + "repository_download_url": "https://rubygems.org/downloads/ProviderDSL::GemDescription::NAME-ProviderDSL::GemDescription::VERSION.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/ProviderDSL::GemDescription::NAME/versions/ProviderDSL::GemDescription::VERSION.json" + } +] \ No newline at end of file From 9f40f585c4016b344f6cdf59387d36f655700bc2 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Mon, 13 Jul 2020 13:31:34 +0530 Subject: [PATCH 10/55] sample pospec test files Signed-off-by: rpotter12 --- .../data/cocoapods/podspec/BadgeHub.podspec | 43 ++++++ .../podspec/BadgeHub.podspec.expected.json | 45 ++++++ .../cocoapods/podspec/LoadingShimmer.podspec | 37 +++++ .../LoadingShimmer.podspec.expected.json | 45 ++++++ .../data/cocoapods/podspec/Starscream.podspec | 16 ++ .../podspec/Starscream.podspec.expected.json | 45 ++++++ .../data/cocoapods/podspec/SwiftLib.podspec | 140 ++++++++++++++++++ .../podspec/SwiftLib.podspec.expected.json | 45 ++++++ .../data/cocoapods/podspec/nanopb.podspec | 33 +++++ .../podspec/nanopb.podspec.expected.json | 45 ++++++ 10 files changed, 494 insertions(+) create mode 100644 tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec create mode 100644 tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec.expected.json create mode 100644 tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec create mode 100644 tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec.expected.json create mode 100644 tests/packagedcode/data/cocoapods/podspec/Starscream.podspec create mode 100644 tests/packagedcode/data/cocoapods/podspec/Starscream.podspec.expected.json create mode 100644 tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec create mode 100644 tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec.expected.json create mode 100644 tests/packagedcode/data/cocoapods/podspec/nanopb.podspec create mode 100644 tests/packagedcode/data/cocoapods/podspec/nanopb.podspec.expected.json diff --git a/tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec b/tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec new file mode 100644 index 00000000000..8cc0b829fc7 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec @@ -0,0 +1,43 @@ +# +# Be sure to run `pod lib lint BadgeHub.podspec' to ensure this is a +# valid spec before submitting. +# +# Any lines starting with a # are optional, but their use is encouraged +# To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html +# + +Pod::Spec.new do |s| + s.name = 'BadgeHub' + s.version = '0.1.1' + s.summary = 'A way to quickly add a notification bedge icon to any view.' + +# This description is used to generate tags and improve search results. +# * Think: What does it do? Why did you write it? What is the focus? +# * Try to keep it short, snappy and to the point. +# * Write the description between the DESC delimiters below. +# * Finally, don't worry about the indent, CocoaPods strips it! + + s.description = <<-DESC +Make any UIView a full fledged animated notification center. It is a way to quickly add a notification badge icon to a UIView. It make very easy to add badge to any view. + DESC + + s.homepage = 'https://github.com/jogendra/BadgeHub' + # s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2' + s.license = { :type => 'MIT', :file => 'LICENSE' } + s.author = { 'jogendra' => 'imjog24@gmail.com' } + s.source = { :git => 'https://github.com/jogendra/BadgeHub.git', :tag => s.version.to_s } + s.social_media_url = 'https://twitter.com/jogendrafx' + + s.ios.deployment_target = '10.0' + s.swift_version = '5.0' + + s.source_files = 'BadgeHub/Classes/**/*' + + # s.resource_bundles = { + # 'BadgeHub' => ['BadgeHub/Assets/*.png'] + # } + + # s.public_header_files = 'Pod/Classes/**/*.h' + s.frameworks = 'UIKit', 'QuartzCore' + # s.dependency 'AFNetworking', '~> 2.3' +end diff --git a/tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec.expected.json new file mode 100644 index 00000000000..948391c26be --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec.expected.json @@ -0,0 +1,45 @@ +{ + "type": "pods", + "namespace": null, + "name": "BadgeHub", + "version": "0.1.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": " Make any UIView a full fledged animated notification center. It is a way to quickly add a notification badge icon to a UIView. It make very easy to add badge to any view.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "jogendra", + "email": "imjog24@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/jogendra/BadgeHub", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": ":git => https://github.com/jogendra/BadgeHub.git, :tag => s.version.to_s", + "copyright": null, + "license_expression": "mit AND unknown", + "declared_license": ":type => MIT, :file => LICENSE", + "notice_text": null, + "root_path": null, + "dependencies": [], + "contains_source_code": null, + "source_packages": [ + ":git => https://github.com/jogendra/BadgeHub.git, :tag => s.version.to_s" + ], + "purl": "pkg:pods/BadgeHub@0.1.1", + "repository_homepage_url": "https://cocoapods.org/pods/BadgeHub", + "repository_download_url": "https://github.com/jogendra/BadgeHub/archive/0.1.1.zip", + "api_data_url": "https://github.com/jogendra/BadgeHub" +} \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec b/tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec new file mode 100644 index 00000000000..47c6d0c4eee --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec @@ -0,0 +1,37 @@ +# +# Be sure to run `pod lib lint LoadingShimmer.podspec' to ensure this is a +# valid spec before submitting. +# +# Any lines starting with a # are optional, but their use is encouraged +# To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html +# + +Pod::Spec.new do |s| + s.name = 'LoadingShimmer' + s.version = '1.0.3' + s.summary = 'An easy way to add a shimmering effect to any view with just one line of code. It is useful as an unobtrusive loading indicator.' + + s.description = <<-DESC + An easy way to add a shimmering effect to any view with just single line of code. It is useful as an unobtrusive loading indicator. This is a network request waiting for the framework, the framework to increase the dynamic effect, convenient and fast, a line of code can be used. + DESC + + s.homepage = 'https://github.com/jogendra/LoadingShimmer' + # s.screenshots = 'https://github.com/jogendra/LoadingShimmer/blob/master/Screenshots/demo.png', 'https://github.com/jogendra/LoadingShimmer/blob/master/Screenshots/shimmer.png' + s.license = { :type => 'MIT', :file => 'LICENSE' } + s.author = { 'jogendra' => 'jogendrafx@gmail.com' } + s.source = { :git => 'https://github.com/jogendra/LoadingShimmer.git', :tag => s.version.to_s } + s.social_media_url = 'https://twitter.com/jogendrafx' + + s.ios.deployment_target = '10.0' + s.swift_version = '5.0' + + s.source_files = 'LoadingShimmer/Classes/**/*' + + # s.resource_bundles = { + # 'LoadingShimmer' => ['LoadingShimmer/Assets/*.png'] + # } + + # s.public_header_files = 'Pod/Classes/**/*.h' + # s.frameworks = 'UIKit', 'MapKit' + # s.dependency 'AFNetworking', '~> 2.3' +end diff --git a/tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec.expected.json new file mode 100644 index 00000000000..b1068afb5ac --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec.expected.json @@ -0,0 +1,45 @@ +{ + "type": "pods", + "namespace": null, + "name": "LoadingShimmer", + "version": "1.0.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": " An easy way to add a shimmering effect to any view with just single line of code. It is useful as an unobtrusive loading indicator. This is a network request waiting for the framework, the framework to increase the dynamic effect, convenient and fast, a line of code can be used.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "jogendra", + "email": "jogendrafx@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/jogendra/LoadingShimmer", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": ":git => https://github.com/jogendra/LoadingShimmer.git, :tag => s.version.to_s", + "copyright": null, + "license_expression": "mit AND unknown", + "declared_license": ":type => MIT, :file => LICENSE", + "notice_text": null, + "root_path": null, + "dependencies": [], + "contains_source_code": null, + "source_packages": [ + ":git => https://github.com/jogendra/LoadingShimmer.git, :tag => s.version.to_s" + ], + "purl": "pkg:pods/LoadingShimmer@1.0.3", + "repository_homepage_url": "https://cocoapods.org/pods/LoadingShimmer", + "repository_download_url": "https://github.com/jogendra/LoadingShimmer/archive/1.0.3.zip", + "api_data_url": "https://github.com/jogendra/LoadingShimmer" +} \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/Starscream.podspec b/tests/packagedcode/data/cocoapods/podspec/Starscream.podspec new file mode 100644 index 00000000000..c657d2617a1 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podspec/Starscream.podspec @@ -0,0 +1,16 @@ +Pod::Spec.new do |s| + s.name = "Starscream" + s.version = "4.0.3" + s.summary = "A conforming WebSocket RFC 6455 client library in Swift." + s.homepage = "https://github.com/daltoniam/Starscream" + s.license = 'Apache License, Version 2.0' + s.author = {'Dalton Cherry' => 'http://daltoniam.com', 'Austin Cherry' => 'http://austincherry.me'} + s.source = { :git => 'https://github.com/daltoniam/Starscream.git', :tag => "#{s.version}"} + s.social_media_url = 'http://twitter.com/daltoniam' + s.ios.deployment_target = '8.0' + s.osx.deployment_target = '10.10' + s.tvos.deployment_target = '9.0' + s.watchos.deployment_target = '2.0' + s.source_files = 'Sources/**/*.swift' + s.swift_version = '5.0' +end diff --git a/tests/packagedcode/data/cocoapods/podspec/Starscream.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/Starscream.podspec.expected.json new file mode 100644 index 00000000000..93611553c34 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podspec/Starscream.podspec.expected.json @@ -0,0 +1,45 @@ +{ + "type": "pods", + "namespace": null, + "name": "Starscream", + "version": "4.0.3", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": null, + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Dalton Cherry, Austin Cherry", + "email": "http://daltoniam.com, http://austincherry.me", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/daltoniam/Starscream", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": ":git => https://github.com/daltoniam/Starscream.git, :tag =>", + "copyright": null, + "license_expression": "apache-2.0", + "declared_license": "Apache License, Version 2.0", + "notice_text": null, + "root_path": null, + "dependencies": [], + "contains_source_code": null, + "source_packages": [ + ":git => https://github.com/daltoniam/Starscream.git, :tag =>" + ], + "purl": "pkg:pods/Starscream@4.0.3", + "repository_homepage_url": "https://cocoapods.org/pods/Starscream", + "repository_download_url": "https://github.com/daltoniam/Starscream/archive/4.0.3.zip", + "api_data_url": "https://github.com/daltoniam/Starscream" +} \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec b/tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec new file mode 100644 index 00000000000..e18f147facc --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec @@ -0,0 +1,140 @@ +# +# Be sure to run `pod spec lint SwiftLib.podspec' to ensure this is a +# valid spec and to remove all comments including this before submitting the spec. +# +# To learn more about Podspec attributes see https://docs.cocoapods.org/specification.html +# To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/ +# + +Pod::Spec.new do |spec| + + # ――― Spec Metadata ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # These will help people to find your library, and whilst it + # can feel like a chore to fill in it's definitely to your advantage. The + # summary should be tweet-length, and the description more in depth. + # + + spec.name = "SwiftLib" + spec.version = "0.0.1" + spec.summary = "A CocoaPods library written in Swift" + + # This description is used to generate tags and improve search results. + # * Think: What does it do? Why did you write it? What is the focus? + # * Try to keep it short, snappy and to the point. + # * Write the description between the DESC delimiters below. + # * Finally, don't worry about the indent, CocoaPods strips it! + spec.description = <<-DESC +This CocoaPods library helps you perform calculation. + DESC + + spec.homepage = "https://github.com/alizainprasla/swiftlib" + # spec.screenshots = "www.example.com/screenshots_1.gif", "www.example.com/screenshots_2.gif" + + + # ――― Spec License ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # Licensing your code is important. See https://choosealicense.com for more info. + # CocoaPods will detect a license file if there is a named LICENSE* + # Popular ones are 'MIT', 'BSD' and 'Apache License, Version 2.0'. + # + + # spec.license = "MIT (example)" + spec.license = { :type => "MIT", :file => "LICENSE" } + + + # ――― Author Metadata ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # Specify the authors of the library, with email addresses. Email addresses + # of the authors are extracted from the SCM log. E.g. $ git log. CocoaPods also + # accepts just a name if you'd rather not provide an email address. + # + # Specify a social_media_url where others can refer to, for example a twitter + # profile URL. + # + + spec.author = { "alizainprasla" => "alizainprasla@gmail.com" } + # Or just: spec.author = "jeantimex" + # spec.authors = { "jeantimex" => "jean.timex@gmail.com" } + # spec.social_media_url = "https://twitter.com/jeantimex" + + # ――― Platform Specifics ――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # If this Pod runs only on iOS or OS X, then specify the platform and + # the deployment target. You can optionally include the target after the platform. + # + + # spec.platform = :ios + # spec.platform = :ios, "5.0" + + # When using multiple platforms + spec.ios.deployment_target = "12.1" + # spec.osx.deployment_target = "10.7" + # spec.watchos.deployment_target = "2.0" + # spec.tvos.deployment_target = "9.0" + + spec.swift_version = "4.2" + + + # ――― Source Location ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # Specify the location from where the source should be retrieved. + # Supports git, hg, bzr, svn and HTTP. + # + + spec.source = { :git => "https://github.com/alizainprasla/swiftlib.git", :tag => "#{spec.version}" } + + + # ――― Source Code ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # CocoaPods is smart about how it includes source code. For source files + # giving a folder will include any swift, h, m, mm, c & cpp files. + # For header files it will include any header in the folder. + # Not including the public_header_files will make all headers public. + # + + spec.source_files = "SwiftLib/**/*.{h,m,swift}" + # spec.exclude_files = "Classes/Exclude" + + # spec.public_header_files = "Classes/**/*.h" + + + # ――― Resources ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # A list of resources included with the Pod. These are copied into the + # target bundle with a build phase script. Anything else will be cleaned. + # You can preserve files from being cleaned, please don't preserve + # non-essential files like tests, examples and documentation. + # + + # spec.resource = "icon.png" + # spec.resources = "Resources/*.png" + + # spec.preserve_paths = "FilesToSave", "MoreFilesToSave" + + + # ――― Project Linking ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # Link your library with frameworks, or libraries. Libraries do not include + # the lib prefix of their name. + # + + # spec.framework = "SomeFramework" + # spec.frameworks = "SomeFramework", "AnotherFramework" + + # spec.library = "iconv" + # spec.libraries = "iconv", "xml2" + + + # ――― Project Settings ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # If your library depends on compiler flags you can set them in the xcconfig hash + # where they will only apply to your library. If you depend on other Podspecs + # you can include multiple dependencies to ensure it works. + + # spec.requires_arc = true + + # spec.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" } + # spec.dependency "JSONKit", "~> 1.4" + +end \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec.expected.json new file mode 100644 index 00000000000..33622148c5e --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec.expected.json @@ -0,0 +1,45 @@ +{ + "type": "pods", + "namespace": null, + "name": "SwiftLib", + "version": "0.0.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": " This CocoaPods library helps you perform calculation.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "alizainprasla", + "email": "alizainprasla@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/alizainprasla/swiftlib", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": ":git => https://github.com/alizainprasla/swiftlib.git, :tag =>", + "copyright": null, + "license_expression": "mit AND unknown", + "declared_license": ":type => MIT, :file => LICENSE", + "notice_text": null, + "root_path": null, + "dependencies": [], + "contains_source_code": null, + "source_packages": [ + ":git => https://github.com/alizainprasla/swiftlib.git, :tag =>" + ], + "purl": "pkg:pods/SwiftLib@0.0.1", + "repository_homepage_url": "https://cocoapods.org/pods/SwiftLib", + "repository_download_url": "https://github.com/alizainprasla/swiftlib/archive/0.0.1.zip", + "api_data_url": "https://github.com/alizainprasla/swiftlib" +} \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/nanopb.podspec b/tests/packagedcode/data/cocoapods/podspec/nanopb.podspec new file mode 100644 index 00000000000..40264b2d353 --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podspec/nanopb.podspec @@ -0,0 +1,33 @@ +Pod::Spec.new do |s| + s.name = "nanopb" + # CocoaPods minor version is minor * 10,000 + patch * 100 + fourth + s.version = "1.30905.0" + s.summary = "Protocol buffers with small code size." + + s.description = <<-DESC + Nanopb is a small code-size Protocol Buffers implementation + in ansi C. It is especially suitable for use in + microcontrollers, but fits any memory restricted system. + DESC + + s.homepage = "https://github.com/nanopb/nanopb" + s.license = { :type => 'zlib', :file => 'LICENSE.txt' } + s.author = { "Petteri Aimonen" => "jpa@nanopb.mail.kapsi.fi" } + s.source = { :git => "https://github.com/nanopb/nanopb.git", :tag => "0.3.9.5" } + + s.requires_arc = false + s.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1' } + + s.source_files = '*.{h,c}' + s.public_header_files = '*.h' + + s.subspec 'encode' do |e| + e.public_header_files = ['pb.h', 'pb_encode.h', 'pb_common.h'] + e.source_files = ['pb.h', 'pb_common.h', 'pb_common.c', 'pb_encode.h', 'pb_encode.c'] + end + + s.subspec 'decode' do |d| + d.public_header_files = ['pb.h', 'pb_decode.h', 'pb_common.h'] + d.source_files = ['pb.h', 'pb_common.h', 'pb_common.c', 'pb_decode.h', 'pb_decode.c'] + end +end diff --git a/tests/packagedcode/data/cocoapods/podspec/nanopb.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/nanopb.podspec.expected.json new file mode 100644 index 00000000000..b4dba5f10dc --- /dev/null +++ b/tests/packagedcode/data/cocoapods/podspec/nanopb.podspec.expected.json @@ -0,0 +1,45 @@ +{ + "type": "pods", + "namespace": null, + "name": "nanopb", + "version": "1.30905.0", + "qualifiers": {}, + "subpath": null, + "primary_language": "Objective-C", + "description": " Nanopb is a small code-size Protocol Buffers implementation Nanopb is a small code-size Protocol Buffers implementation in ansi C. It is especially suitable for use in Nanopb is a small code-size Protocol Buffers implementation Nanopb is a small code-size Protocol Buffers implementation in ansi C. It is especially suitable for use in microcontrollers, but fits any memory restricted system.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Petteri Aimonen", + "email": "jpa@nanopb.mail.kapsi.fi", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/nanopb/nanopb", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": ":git => https://github.com/nanopb/nanopb.git, :tag => 0.3.9.5", + "copyright": null, + "license_expression": "unknown", + "declared_license": ":type => zlib, :file => LICENSE.txt", + "notice_text": null, + "root_path": null, + "dependencies": [], + "contains_source_code": null, + "source_packages": [ + ":git => https://github.com/nanopb/nanopb.git, :tag => 0.3.9.5" + ], + "purl": "pkg:pods/nanopb@1.30905.0", + "repository_homepage_url": "https://cocoapods.org/pods/nanopb", + "repository_download_url": "https://github.com/nanopb/nanopb/archive/1.30905.0.zip", + "api_data_url": "https://github.com/nanopb/nanopb" +} \ No newline at end of file From c59e86155ffef4d9a42d2cd5a59ce0b2a5c65192 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Mon, 13 Jul 2020 13:36:58 +0530 Subject: [PATCH 11/55] packagedcode to handle gemspec files Signed-off-by: rpotter12 --- src/packagedcode/rubygems.py | 165 ++++++++++++----------------------- src/packagedcode/spec.py | 153 ++++++++++++++++++++++++++++++++ 2 files changed, 211 insertions(+), 107 deletions(-) create mode 100644 src/packagedcode/spec.py diff --git a/src/packagedcode/rubygems.py b/src/packagedcode/rubygems.py index 66299789071..9e2d0c2ef7b 100644 --- a/src/packagedcode/rubygems.py +++ b/src/packagedcode/rubygems.py @@ -42,6 +42,7 @@ from extractcode.uncompress import get_gz_compressed_file_content from packagedcode import models from packagedcode.gemfile_lock import GemfileLockParser +from packagedcode import spec from packagedcode.utils import combine_expressions @@ -119,8 +120,7 @@ def recognize(cls, location): yield build_rubygem_package(metadata) if location.endswith('.gemspec'): - # TODO: implement me - pass + yield build_packages_from_gemspec(location) if location.endswith('Gemfile'): # TODO: implement me @@ -558,27 +558,6 @@ def get_dependencies(dependencies): ################################################################################ -def parse_gemspec(location): - raise NotImplementedError - - -def get_gemspec_data(location): - """ - Return a mapping of Gem data from parsing a .gemspec file. - """ - if not location.endswith('.gemspec'): - return - - spec = spec_defaults() - raw_spec = parse_gemspec(location) - if TRACE: - keys = raw_spec.keys() - logger.debug('\nRubygems spec keys for %(gemfile)r:\n%(keys)r' % locals()) - spec.update(raw_spec) - spec = normalize(spec) - return spec - - def spec_defaults(): """ Return a mapping with spec attribute defaults to ensure that the @@ -647,93 +626,65 @@ def normalize(gem_data, known_fields=known_fields): ) -def parse_spec(location): - pass - - -class GemSpec(object): +def build_packages_from_gemspec(location): """ - Represent a Gem specification. + Return RubyGem Package from gemspec file. """ + gemspec_data = spec.parse_spec(location) + + name = gemspec_data.get('name') + version = gemspec_data.get('version') + homepage_url = gemspec_data.get('homepage_url') + summary = gemspec_data.get('summary') + description = gemspec_data.get('description') + if len(summary) > len(description): + description = summary + + declared_license = gemspec_data.get('license') + if declared_license: + declared_license = declared_license.split(',') + + author = gemspec_data.get('author') or [] + email = gemspec_data.get('email') or [] + parties = [] + if author: + parties.append( + models.Party( + type=models.party_person, + name=','.join(author), + email=','.join(email), + role='author' + ) + ) - # TODO: Check if we should use 'summary' instead of description - def __init__(self, location): - """ - Initialize from the gem spec or gem file at location. - """ - spec = parse_spec(location) - self.location = location - self.description = spec.get('description') - self.summary = spec.get('summary') - self.author = spec.get('author') - self.authors = spec.get('authors') - # can be a list - self.email = spec.get('email') - - - self.spec['licenses'] = self.map_licenses() - self.make_unique() - - def __str__(self): - return '<{}: {}>'.format(self.__class__.__name__, self.location) - - def make_unique(self): - """ - Ensure that lists in the spec only contain unique values. - """ - new_spec = {} - for key, value in self.spec.items: - if isinstance(value, list): - newlist = [] - for item in value: - if item not in newlist: - newlist.append(item) - new_spec[key] = newlist - else: - new_spec[key] = value - return new_spec - - def get_description(self): - """ - Using 'description' over 'summary' unless summary contains - more data. - See http://guides.rubygems.org/specification-reference/ - Note that it is common to see this is spec files: s.description = s.summary - """ - description = self.spec.get('description', '') - summary = self.spec.get('summary', '') - - content = description - # FIXME: we should join these. - if len(summary) > len(description): - content = summary - - content = ' '.join(content.split()) - return content.strip() - - def get_email(self): - """ - Join the list of emails as a comma-separated string. - """ - email = self.spec.get('email', u'') - if isinstance(email, list): - email = u', '.join(email) - return email - - def map_licenses(self): - licenses = self.spec.get('licenses', []) - if not isinstance(licenses, list): - licenses = [licenses] - - mapped_licenses = [] - for lic in licenses: - mapped_license = LICENSES_MAPPING.get(lic, None) - if mapped_license: - mapped_licenses.append(mapped_license) - else: - if TRACE: - logger.warning('WARNING: {}: no license mapping for: "{}"'.format(self.filename, lic)) - return mapped_licenses + package = RubyGem( + name=name, + version=version, + parties=parties, + homepage_url=homepage_url, + description=description, + declared_license=declared_license + ) + + dependencies = gemspec_data.get('dependencies', {}) or {} + package_dependencies = [] + for name, version in dependencies.items(): + package_dependencies.append( + models.DependentPackage( + purl=PackageURL( + type='gem', + name=name + ).to_string(), + requirement=', '.join(version), + scope='dependencies', + is_runtime=True, + is_optional=False, + is_resolved=False, + ) + ) + package.dependencies = package_dependencies + + return package def build_packages_from_gemfile_lock(gemfile_lock): diff --git a/src/packagedcode/spec.py b/src/packagedcode/spec.py new file mode 100644 index 00000000000..a6b865a711b --- /dev/null +++ b/src/packagedcode/spec.py @@ -0,0 +1,153 @@ +# All rights reserved. +# http://nexb.com and https://github.com/nexB/scancode-toolkit/ +# The ScanCode software is licensed under the Apache License version 2.0. +# Data generated with ScanCode require an acknowledgment. +# ScanCode is a trademark of nexB Inc. +# +# You may not use this software except in compliance with the License. +# You may obtain a copy of the License at: http://apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software distributed +# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +# CONDITIONS OF ANY KIND, either express or implied. See the License for the +# specific language governing permissions and limitations under the License. +# +# When you publish or redistribute any data created with ScanCode or any ScanCode +# derivative work, you must accompany this data with the following acknowledgment: +# +# Generated with ScanCode and provided on an "AS IS" BASIS, WITHOUT WARRANTIES +# OR CONDITIONS OF ANY KIND, either express or implied. No content created from +# ScanCode should be considered or used as legal advice. Consult an Attorney +# for any legal advice. +# ScanCode is a free software code scanning tool from nexB Inc. and others. +# Visit https://github.com/nexB/scancode-toolkit/ for support and download. + +from __future__ import absolute_import +from __future__ import print_function +from __future__ import unicode_literals + +from collections import OrderedDict +import csv +import glob +import io +import logging +import os +import re + +from gemfileparser import GemfileParser + +""" +Handle Cocoapods(.podspec) and Ruby(.gemspec) files. +""" + +TRACE = False + +logger = logging.getLogger(__name__) + +if TRACE: + import sys + logging.basicConfig(stream=sys.stdout) + logger.setLevel(logging.DEBUG) + + +def parse_spec(location): + """ + Return dictionary contains podspec or gemspec file data. + """ + with io.open(location, encoding='utf-8', closefd=True) as data: + lines = data.readlines() + + spec_data = {} + + for line in lines: + if '.name' in line: + name = line.rpartition('=') + spec_data['name'] = get_stripped_data(name[2]) + elif '.version' in line and '.version.' not in line: + version = line.rpartition('=') + spec_data['version'] = get_stripped_data(version[2]) + elif '.license' in line: + license_type = line.rpartition('=') + spec_data['license'] = get_stripped_data(license_type[2]) + elif '.email' in line: + emails = line.rpartition('=') + stripped_emails = get_stripped_data(emails[2]) + stripped_emails = stripped_emails.strip() + stripped_emails = stripped_emails.split(',') + spec_data['email'] = stripped_emails + elif '.author' in line: + authors = re.sub(r'/*.*author.*?=', '', line) + stripped_authors = get_stripped_data(authors) + stripped_authors = stripped_authors.replace(' => ', "=>") + stripped_authors = stripped_authors.strip() + stripped_authors = stripped_authors.split(',') + spec_data['author'] = stripped_authors + elif '.summary' in line: + summary = line.rpartition('=') + spec_data['summary'] = get_stripped_data(summary[2]) + elif '.description' in line: + if location.endswith('.gemspec'): + # FIXME: description can be in single or multi-lines + # There are many different ways to write description. + desc = line.rpartition('=') + spec_data['description'] = get_stripped_data(desc[2]) + else: + spec_data['description'] = get_description(line) + elif '.homepage' in line: + homepage_url = line.rpartition('=') + spec_data['homepage_url'] = get_stripped_data(homepage_url[2]) + elif '.source' in line and '.source_files' not in line: + source = re.sub(r'/*.*source.*?>', '', line) + stripped_source = re.sub(r',.*', '', source) + spec_data['source'] = get_stripped_data(stripped_source) + + parser = GemfileParser(location) + deps = parser.parse() + dependencies = OrderedDict() + for key in deps: + depends = deps.get(key, []) or [] + for dep in depends: + dependencies[dep.name] = dep.requirement.split(',') + spec_data['dependencies'] = dependencies + + return spec_data + + +def get_stripped_data(line): + """ + Return line after removing unnecessary special character and space. + """ + if '#' in line: + line = line[:line.index('#')] + stripped_data = line.strip() + for strippable in ("'",'"', '{', '}', '[', ']', '%q',): + stripped_data = stripped_data.replace(strippable, '') + + return stripped_data.strip() + + +def get_description(location): + """ + Return description from podspec. + + https://guides.cocoapods.org/syntax/podspec.html#description + description is in the form: + spec.description = <<-DESC + Computes the meaning of life. + Features: + 1. Is self aware + ... + 42. Likes candies. + DESC + """ + with io.open(location, encoding='utf-8', closefd=True) as data: + lines = data.readlines() + description = '' + for i, content in enumerate(lines): + if '.description' in content: + for cont in lines[i+1:]: + if 'DESC' in cont: + break + description += ' '.join([description, cont.strip()]) + break + description.strip() + return description \ No newline at end of file From c8acc10f446cfbd3cf049a3bd3bdd26bc9347d01 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Mon, 13 Jul 2020 13:38:56 +0530 Subject: [PATCH 12/55] packagedcode to handle podspec files Signed-off-by: rpotter12 --- src/packagedcode/__init__.py | 10 +- src/packagedcode/cocoapods.py | 185 ++++++++++++++++++++++++ tests/packagedcode/data/plugin/help.txt | 6 + 3 files changed, 197 insertions(+), 4 deletions(-) create mode 100644 src/packagedcode/cocoapods.py diff --git a/src/packagedcode/__init__.py b/src/packagedcode/__init__.py index 57737a406c7..744d8f56935 100644 --- a/src/packagedcode/__init__.py +++ b/src/packagedcode/__init__.py @@ -25,16 +25,17 @@ from __future__ import absolute_import from __future__ import unicode_literals -from packagedcode import build -from packagedcode import chef -from packagedcode import models from packagedcode import about from packagedcode import bower -from packagedcode import conda +from packagedcode import build from packagedcode import cargo +from packagedcode import chef +from packagedcode import conda +from packagedcode import cocoapods from packagedcode import freebsd from packagedcode import haxe from packagedcode import maven +from packagedcode import models from packagedcode import npm from packagedcode import nuget from packagedcode import phpcomposer @@ -62,6 +63,7 @@ phpcomposer.PHPComposerPackage, haxe.HaxePackage, cargo.RustCargoCrate, + cocoapods.CocoapodsPackage, models.MeteorPackage, bower.BowerPackage, freebsd.FreeBSDPackage, diff --git a/src/packagedcode/cocoapods.py b/src/packagedcode/cocoapods.py new file mode 100644 index 00000000000..c639ab43351 --- /dev/null +++ b/src/packagedcode/cocoapods.py @@ -0,0 +1,185 @@ +# All rights reserved. +# http://nexb.com and https://github.com/nexB/scancode-toolkit/ +# The ScanCode software is licensed under the Apache License version 2.0. +# Data generated with ScanCode require an acknowledgment. +# ScanCode is a trademark of nexB Inc. +# +# You may not use this software except in compliance with the License. +# You may obtain a copy of the License at: http://apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software distributed +# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +# CONDITIONS OF ANY KIND, either express or implied. See the License for the +# specific language governing permissions and limitations under the License. +# +# When you publish or redistribute any data created with ScanCode or any ScanCode +# derivative work, you must accompany this data with the following acknowledgment: +# +# Generated with ScanCode and provided on an "AS IS" BASIS, WITHOUT WARRANTIES +# OR CONDITIONS OF ANY KIND, either express or implied. No content created from +# ScanCode should be considered or used as legal advice. Consult an Attorney +# for any legal advice. +# ScanCode is a free software code scanning tool from nexB Inc. and others. +# Visit https://github.com/nexB/scancode-toolkit/ for support and download. + +from __future__ import absolute_import +from __future__ import print_function +from __future__ import unicode_literals + +import logging +import re + +import attr +from packageurl import PackageURL + +from commoncode.fileutils import py2 +from commoncode import filetype +from commoncode import fileutils +from packagedcode import models +from packagedcode import spec + + +""" +Handle cocoapods packages manifests for macOS and iOS +including .podspec, Podfile and Podfile.lock files. +See https://cocoapods.org +""" + +# TODO: implementation to get dependency data using gemsfileparser +# Check: https://gitlab.com/balasankarc/gemfileparser +# TODO: override the license detection to detect declared_license correctly. + + +TRACE = False + +logger = logging.getLogger(__name__) + +if TRACE: + import sys + logging.basicConfig(stream=sys.stdout) + logger.setLevel(logging.DEBUG) + + +@attr.s() +class CocoapodsPackage(models.Package): + metafiles = ('*.podspec',) + extensions = ('.podspec',) + default_type = 'pods' + default_primary_language = 'Objective-C' + default_web_baseurl = 'https://cocoapods.org' + default_download_baseurl = None + default_api_baseurl = None + + @classmethod + def recognize(cls, location): + yield parse(location) + + def repository_homepage_url(self, baseurl=default_web_baseurl): + return '{}/pods/{}'.format(baseurl, self.name) + + def repository_download_url(self): + return '{}/archive/{}.zip'.format(self.homepage_url, self.version) + + +def is_podspec(location): + """ + Checks if the file is actually a podspec file + """ + return (filetype.is_file(location) and location.endswith('.podspec')) + + +def parse(location): + """ + Return a Package object from a .podspec file or None. + """ + if not is_podspec(location): + return + + podspec_data = spec.parse_spec(location) + return build_package(podspec_data) + + +def build_package(podspec_data): + """ + Return a Package object from a package data mapping or None. + """ + name = podspec_data.get('name') + version = podspec_data.get('version') + declared_license = podspec_data.get('license') + summary = podspec_data.get('summary') + description = podspec_data.get('description') + homepage_url = podspec_data.get('homepage_url') + source = podspec_data.get('source') + authors = podspec_data.get('author') or None + + author_names = [] + author_email = [] + if authors: + for split_author in authors: + split_author = split_author.strip() + author, email = parse_person(split_author) + author_names.append(author) + author_email.append(email) + + parties = [] + if authors: + parties.append( + models.Party( + type=models.party_person, + name=', '.join(author_names), + email=', '.join(author_email), + role='author' + ) + ) + + if len(summary) > len(description): + description = summary + + package = CocoapodsPackage( + name=name, + version=version, + vcs_url=source, + source_packages=list(source.split('\n')), + description=description, + declared_license=declared_license, + homepage_url=homepage_url, + parties=parties + ) + return package + + +person_parser = re.compile( + r'^(?P[\w\s(),-_.,]+)' + r'=>' + r'(?P[\S+]+$)' +).match + +person_parser_only_name = re.compile( + r'^(?P[\w\s(),-_.,]+)' +).match + + +def parse_person(person): + """ + Return name and email from person string. + + https://guides.cocoapods.org/syntax/podspec.html#authors + Author can be in the form: + s.author = 'Rohit Potter' + or + s.author = 'Rohit Potter=>rohit@gmail.com' + Author check: + >>> p = parse_person('Rohit Potter=>rohit@gmail.com') + >>> assert p == ('Rohit Potter', 'rohit@gmail.com') + >>> p = parse_person('Rohit Potter') + >>> assert p == ('Rohit Potter', None) + """ + parsed = person_parser(person) + if not parsed: + parsed = person_parser_only_name(person) + name = parsed.group('name') + email = None + else: + name = parsed.group('name') + email = parsed.group('email') + + return name, email \ No newline at end of file diff --git a/tests/packagedcode/data/plugin/help.txt b/tests/packagedcode/data/plugin/help.txt index ae70e508d32..eac2cdbee60 100644 --- a/tests/packagedcode/data/plugin/help.txt +++ b/tests/packagedcode/data/plugin/help.txt @@ -200,6 +200,12 @@ Package: nuget extensions: .nupkg filetypes: zip archive, microsoft ooxml +-------------------------------------------- +Package: pods + class: packagedcode.cocoapods:CocoapodsPackage + metafiles: *.podspec + extensions: .podspec + -------------------------------------------- Package: pypi class: packagedcode.pypi:PythonPackage From 77537196831f37f08d5ce0dca3e2c5aa1427e651 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Mon, 13 Jul 2020 14:04:56 +0530 Subject: [PATCH 13/55] handle parties Signed-off-by: rpotter12 --- src/packagedcode/cocoapods.py | 44 +++++++++++++++++++++-------------- src/packagedcode/rubygems.py | 28 ++++++++++++++-------- 2 files changed, 44 insertions(+), 28 deletions(-) diff --git a/src/packagedcode/cocoapods.py b/src/packagedcode/cocoapods.py index c639ab43351..b8c9af4e0b4 100644 --- a/src/packagedcode/cocoapods.py +++ b/src/packagedcode/cocoapods.py @@ -109,27 +109,17 @@ def build_package(podspec_data): description = podspec_data.get('description') homepage_url = podspec_data.get('homepage_url') source = podspec_data.get('source') - authors = podspec_data.get('author') or None + authors = podspec_data.get('author') or [] author_names = [] author_email = [] - if authors: - for split_author in authors: - split_author = split_author.strip() - author, email = parse_person(split_author) - author_names.append(author) - author_email.append(email) - - parties = [] - if authors: - parties.append( - models.Party( - type=models.party_person, - name=', '.join(author_names), - email=', '.join(author_email), - role='author' - ) - ) + for split_author in authors: + split_author = split_author.strip() + author, email = parse_person(split_author) + author_names.append(author) + author_email.append(email) + + parties = list(party_mapper(author_names, author_email)) if len(summary) > len(description): description = summary @@ -144,9 +134,27 @@ def build_package(podspec_data): homepage_url=homepage_url, parties=parties ) + return package +def party_mapper(author, email): + """ + Yields a Party object with author and email. + """ + for person in author: + yield models.Party( + type=models.party_person, + name=person, + role='author') + + for person in email: + yield models.Party( + type=models.party_person, + email=person, + role='email') + + person_parser = re.compile( r'^(?P[\w\s(),-_.,]+)' r'=>' diff --git a/src/packagedcode/rubygems.py b/src/packagedcode/rubygems.py index 9e2d0c2ef7b..3887c42e50f 100644 --- a/src/packagedcode/rubygems.py +++ b/src/packagedcode/rubygems.py @@ -646,16 +646,7 @@ def build_packages_from_gemspec(location): author = gemspec_data.get('author') or [] email = gemspec_data.get('email') or [] - parties = [] - if author: - parties.append( - models.Party( - type=models.party_person, - name=','.join(author), - email=','.join(email), - role='author' - ) - ) + parties = list(party_mapper(author, email)) package = RubyGem( name=name, @@ -687,6 +678,23 @@ def build_packages_from_gemspec(location): return package +def party_mapper(author, email): + """ + Yields a Party object with author and email. + """ + for person in author: + yield models.Party( + type=models.party_person, + name=person, + role='author') + + for person in email: + yield models.Party( + type=models.party_person, + email=person, + role='email') + + def build_packages_from_gemfile_lock(gemfile_lock): """ Yield RubyGem Packages from a given GemfileLockParser `gemfile_lock` From 7e4594c563f99bb81547c02ebc44e1b303b93271 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Mon, 13 Jul 2020 15:02:53 +0530 Subject: [PATCH 14/55] tests code to handle sample gemspec files Signed-off-by: rpotter12 --- ...ress_standardization.gemspec.expected.json | 149 ++++++------ .../gemspec/arel.gemspec.expected.json | 183 ++++++++++----- .../gemspec/cat.gemspec.expected.json | 7 + .../gemspec/github.gemspec.expected.json | 195 ++++++++++------ .../gemspec/mecab-ruby.gemspec.expected.json | 7 + .../rubygems/gemspec/oj.gemspec.expected.json | 7 + .../gemspec/rubocop.gemspec.expected.json | 215 ++++++++---------- .../with_variable.gemspec.expected.json | 137 ----------- .../with_variables.gemspec.expected.json | 190 +++++++++------- tests/packagedcode/test_rubygems.py | 101 ++++---- 10 files changed, 614 insertions(+), 577 deletions(-) delete mode 100644 tests/packagedcode/data/rubygems/gemspec/with_variable.gemspec.expected.json diff --git a/tests/packagedcode/data/rubygems/gemspec/address_standardization.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/address_standardization.gemspec.expected.json index 16bb9544822..135d76a7239 100644 --- a/tests/packagedcode/data/rubygems/gemspec/address_standardization.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/address_standardization.gemspec.expected.json @@ -1,70 +1,83 @@ -[ - { - "type": "gem", - "namespace": null, - "name": "mysmallidea-address_standardization", - "version": "0.4.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "Ruby", - "description": "A tiny Ruby library to quickly standardize a postal address", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Elliot Winkler", - "email": "elliot.winkler@gmail.com", - "url": null - } - ], - "keywords": [], - "homepage_url": "http://github.com/mcmire/address_standardization", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "root_path": null, - "dependencies": [ - { - "purl": "pkg:gem/mechanize", - "requirement": ">= 0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/mcmire-context", - "requirement": ">= 0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "tool_version": "3.1.2", + "options": { + "input": [ + "address_standardization.gemspec" + ], + "--json-pp": "address_standardization.gemspec.expected.json", + "--package": true }, - { - "purl": "pkg:gem/mcmire-matchy", - "requirement": ">= 0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "start_timestamp": "2020-07-13T085108.178525", + "end_timestamp": "2020-07-13T085109.146371", + "duration": 0.9678757190704346, + "message": null, + "errors": [], + "extra_data": { + "files_count": 1 } - ], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:gem/mysmallidea-address_standardization@0.4.1", - "repository_homepage_url": "https://rubygems.org/gems/mysmallidea-address_standardization/versions/0.4.1", - "repository_download_url": "https://rubygems.org/downloads/mysmallidea-address_standardization-0.4.1.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/mysmallidea-address_standardization/versions/0.4.1.json" - } -] \ No newline at end of file + } + ], + "files": [ + { + "path": "address_standardization.gemspec", + "type": "file", + "packages": [ + { + "type": "gem", + "namespace": null, + "name": "mysmallidea-address_standardization", + "version": "0.4.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "A tiny Ruby library to quickly standardize a postal address", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Elliot Winkler", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "elliot.winkler@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "http://github.com/mcmire/address_standardization", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/mysmallidea-address_standardization@0.4.1", + "repository_homepage_url": "https://rubygems.org/gems/mysmallidea-address_standardization/versions/0.4.1", + "repository_download_url": "https://rubygems.org/downloads/mysmallidea-address_standardization-0.4.1.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/mysmallidea-address_standardization/versions/0.4.1.json" + } + ], + "scan_errors": [] + } + ] +} diff --git a/tests/packagedcode/data/rubygems/gemspec/arel.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/arel.gemspec.expected.json index 5b07a596b7f..29766c7b3c8 100644 --- a/tests/packagedcode/data/rubygems/gemspec/arel.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/arel.gemspec.expected.json @@ -1,62 +1,125 @@ -[ - { - "type": "gem", - "namespace": null, - "name": "arel", - "version": "2.0.7.beta.20110429111451", - "qualifiers": {}, - "subpath": null, - "primary_language": "Ruby", - "description": "Arel is a SQL AST manager for Ruby. It", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Aaron Patterson, Bryan Halmkamp, Emilio Tagua, Nick Kallen", - "email": "aaron@tenderlovemaking.com, bryan@brynary.com, miloops@gmail.com, nick@example.org", - "url": null - } - ], - "keywords": [], - "homepage_url": "http://github.com/rails/arel", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "root_path": null, - "dependencies": [ - { - "purl": "pkg:gem/minitest", - "requirement": ">= 2.0.2", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "tool_version": "3.1.2", + "options": { + "input": [ + "arel.gemspec" + ], + "--json-pp": "arel.gemspec.expected.json", + "--package": true }, - { - "purl": "pkg:gem/hoe", - "requirement": ">= 2.9.1", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "start_timestamp": "2020-07-13T090028.882395", + "end_timestamp": "2020-07-13T090029.862287", + "duration": 0.979931116104126, + "message": null, + "errors": [], + "extra_data": { + "files_count": 1 } - ], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:gem/arel@2.0.7.beta.20110429111451", - "repository_homepage_url": "https://rubygems.org/gems/arel/versions/2.0.7.beta.20110429111451", - "repository_download_url": "https://rubygems.org/downloads/arel-2.0.7.beta.20110429111451.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/arel/versions/2.0.7.beta.20110429111451.json" - } -] \ No newline at end of file + } + ], + "files": [ + { + "path": "arel.gemspec", + "type": "file", + "packages": [ + { + "type": "gem", + "namespace": null, + "name": "arel", + "version": "2.0.7.beta.20110429111451", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "Arel is a SQL AST manager for Ruby. It", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Aaron Patterson", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": " Bryan Halmkamp", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": " Emilio Tagua", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": " Nick Kallen", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "aaron@tenderlovemaking.com", + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": " bryan@brynary.com", + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": " miloops@gmail.com", + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": " nick@example.org", + "url": null + } + ], + "keywords": [], + "homepage_url": "http://github.com/rails/arel", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/arel@2.0.7.beta.20110429111451", + "repository_homepage_url": "https://rubygems.org/gems/arel/versions/2.0.7.beta.20110429111451", + "repository_download_url": "https://rubygems.org/downloads/arel-2.0.7.beta.20110429111451.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/arel/versions/2.0.7.beta.20110429111451.json" + } + ], + "scan_errors": [] + } + ] +} diff --git a/tests/packagedcode/data/rubygems/gemspec/cat.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/cat.gemspec.expected.json index 45f4331a241..33c2e80d4c9 100644 --- a/tests/packagedcode/data/rubygems/gemspec/cat.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/cat.gemspec.expected.json @@ -14,6 +14,13 @@ "type": "person", "role": "author", "name": "\u84bc\u6642\u5f26\u4e5f", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, "email": "elct9620@frost.tw", "url": null } diff --git a/tests/packagedcode/data/rubygems/gemspec/github.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/github.gemspec.expected.json index af88ff526d3..bd3cf563e20 100644 --- a/tests/packagedcode/data/rubygems/gemspec/github.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/github.gemspec.expected.json @@ -1,70 +1,129 @@ -[ - { - "type": "gem", - "namespace": null, - "name": "github", - "version": "GitHub::VERSION", - "qualifiers": {}, - "subpath": null, - "primary_language": "Ruby", - "description": "The official `github` command line helper for simplifying your GitHub experience.", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Chris Wanstrath, Kevin Ballard, Scott Chacon, Dr Nic Williams", - "email": "drnicwilliams@gmail.com", - "url": null - } - ], - "keywords": [], - "homepage_url": "https://github.com/defunkt/github-gem", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "root_path": null, - "dependencies": [ - { - "purl": "pkg:gem/rake", - "requirement": "", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/rspec", - "requirement": "~>1.3.1", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "tool_version": "3.1.2", + "options": { + "input": [ + "github.gemspec" + ], + "--json-pp": "github.gemspec.expected.json", + "--package": true }, - { - "purl": "pkg:gem/activerecord", - "requirement": "~>3.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "start_timestamp": "2020-07-13T091550.823749", + "end_timestamp": "2020-07-13T091551.789454", + "duration": 0.9657506942749023, + "message": null, + "errors": [], + "extra_data": { + "files_count": 1 } - ], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:gem/github@GitHub::VERSION", - "repository_homepage_url": "https://rubygems.org/gems/github/versions/GitHub::VERSION", - "repository_download_url": "https://rubygems.org/downloads/github-GitHub::VERSION.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/github/versions/GitHub::VERSION.json" - } -] \ No newline at end of file + } + ], + "files": [ + { + "path": "github.gemspec", + "type": "file", + "packages": [ + { + "type": "gem", + "namespace": null, + "name": "github", + "version": "GitHub::VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "The official `github` command line helper for simplifying your GitHub experience.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Chris Wanstrath", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": " Kevin Ballard", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": " Scott Chacon", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": " Dr Nic Williams", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "drnicwilliams@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/defunkt/github-gem", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:gem/rake", + "requirement": "", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rspec", + "requirement": "~>1.3.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/activerecord", + "requirement": "~>3.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/github@GitHub::VERSION", + "repository_homepage_url": "https://rubygems.org/gems/github/versions/GitHub::VERSION", + "repository_download_url": "https://rubygems.org/downloads/github-GitHub::VERSION.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/github/versions/GitHub::VERSION.json" + } + ], + "scan_errors": [] + } + ] +} diff --git a/tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec.expected.json index d5a2b3a6138..7ce91a29792 100644 --- a/tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec.expected.json @@ -14,6 +14,13 @@ "type": "person", "role": "author", "name": "Taku Kudo", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, "email": "taku@chasen.org", "url": null } diff --git a/tests/packagedcode/data/rubygems/gemspec/oj.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/oj.gemspec.expected.json index e522a5251ad..cb72b8603b6 100644 --- a/tests/packagedcode/data/rubygems/gemspec/oj.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/oj.gemspec.expected.json @@ -14,6 +14,13 @@ "type": "person", "role": "author", "name": "Peter Ohler", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, "email": "peter@ohler.com", "url": null } diff --git a/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec.expected.json index b31936a2d3d..f868810b4fb 100644 --- a/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec.expected.json @@ -1,120 +1,99 @@ -[ - { - "type": "gem", - "namespace": null, - "name": "rubocop", - "version": "RuboCop::Version::STRING", - "qualifiers": {}, - "subpath": null, - "primary_language": "Ruby", - "description": "Automatic Ruby code style checking tool. Aims to enforce the community-driven Ruby Style Guide.", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Bozhidar Batsov, Jonas Arvidsson, Yuji Nakayama", - "email": "rubocop@googlegroups.com", - "url": null - } - ], - "keywords": [], - "homepage_url": "https://github.com/rubocop-hq/rubocop", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": "mit", - "declared_license": [ - "MIT" - ], - "notice_text": null, - "root_path": null, - "dependencies": [ - { - "purl": "pkg:gem/jaro_winkler", - "requirement": "~> 1.5.1", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/parallel", - "requirement": "~> 1.10", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/parser", - "requirement": ">= 2.5, != 2.5.1.1", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/powerpack", - "requirement": "~> 0.1", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/rainbow", - "requirement": ">= 2.2.2, < 4.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/ruby-progressbar", - "requirement": "~> 1.7", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/runicode-display_width", - "requirement": "~> 1.4.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/bundler", - "requirement": ">= 1.3.0, < 3.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "tool_version": "3.1.2", + "options": { + "input": [ + "rubocop.gemspec" + ], + "--json-pp": "rubocop.gemspec.expected.json", + "--package": true }, - { - "purl": "pkg:gem/rack", - "requirement": ">= 2.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "start_timestamp": "2020-07-13T093035.910819", + "end_timestamp": "2020-07-13T093039.308551", + "duration": 3.397751808166504, + "message": null, + "errors": [], + "extra_data": { + "files_count": 1 } - ], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:gem/rubocop@RuboCop::Version::STRING", - "repository_homepage_url": "https://rubygems.org/gems/rubocop/versions/RuboCop::Version::STRING", - "repository_download_url": "https://rubygems.org/downloads/rubocop-RuboCop::Version::STRING.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/rubocop/versions/RuboCop::Version::STRING.json" - } -] \ No newline at end of file + } + ], + "files": [ + { + "path": "rubocop.gemspec", + "type": "file", + "packages": [ + { + "type": "gem", + "namespace": null, + "name": "rubocop", + "version": "RuboCop::Version::STRING", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "Automatic Ruby code style checking tool. Aims to enforce the community-driven Ruby Style Guide.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Bozhidar Batsov", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": " Jonas Arvidsson", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": " Yuji Nakayama", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "rubocop@googlegroups.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/rubocop-hq/rubocop", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": "mit", + "declared_license": [ + "MIT" + ], + "notice_text": null, + "root_path": null, + "dependencies": [], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/rubocop@RuboCop::Version::STRING", + "repository_homepage_url": "https://rubygems.org/gems/rubocop/versions/RuboCop::Version::STRING", + "repository_download_url": "https://rubygems.org/downloads/rubocop-RuboCop::Version::STRING.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/rubocop/versions/RuboCop::Version::STRING.json" + } + ], + "scan_errors": [] + } + ] +} diff --git a/tests/packagedcode/data/rubygems/gemspec/with_variable.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/with_variable.gemspec.expected.json deleted file mode 100644 index 7e805fca5f7..00000000000 --- a/tests/packagedcode/data/rubygems/gemspec/with_variable.gemspec.expected.json +++ /dev/null @@ -1,137 +0,0 @@ -[ - { - "type": "gem", - "namespace": null, - "name": "ProviderDSL::GemDescription::NAME", - "version": "ProviderDSL::GemDescription::VERSION", - "qualifiers": {}, - "subpath": null, - "primary_language": "Ruby", - "description": "See the project home page for more information", - "release_date": null, - "parties": [ - { - "type": null, - "role": "author", - "name": "ProviderDSL::GemDescription::AUTHORS", - "email": "ProviderDSL::GemDescription::EMAIL", - "url": null - } - ], - "keywords": [], - "homepage_url": "ProviderDSL::GemDescription::PAGE", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "root_path": null, - "dependencies": [ - { - "purl": "pkg:gem/rake", - "requirement": [ - "~> 11.3" - ], - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/rubocop", - "requirement": [ - "~> 0.44.1" - ], - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/rspec", - "requirement": [ - "~> 3.5" - ], - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/rspec-mocks", - "requirement": [ - "~> 3.5" - ], - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/ipaddress", - "requirement": [ - "~> 0.8.3" - ], - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/gandi", - "requirement": [ - "~> 3.3", - ">= 3.3.27" - ], - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/gcloud", - "requirement": [ - "~> 0.21.0" - ], - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/google-cloud-error_reporting", - "requirement": [ - "~> 0.21.0" - ], - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/map", - "requirement": [ - "~> 6.6" - ], - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - } - ], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:gem/ProviderDSL::GemDescription::NAME@ProviderDSL::GemDescription::VERSION", - "repository_homepage_url": "https://rubygems.org/gems/ProviderDSL::GemDescription::NAME/versions/ProviderDSL::GemDescription::VERSION", - "repository_download_url": "https://rubygems.org/downloads/ProviderDSL::GemDescription::NAME-ProviderDSL::GemDescription::VERSION.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/ProviderDSL::GemDescription::NAME/versions/ProviderDSL::GemDescription::VERSION.json" - } -] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/with_variables.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/with_variables.gemspec.expected.json index 7633a71fab6..76b66b2d21c 100644 --- a/tests/packagedcode/data/rubygems/gemspec/with_variables.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/with_variables.gemspec.expected.json @@ -1,78 +1,116 @@ -[ - { - "type": "gem", - "namespace": null, - "name": "ProviderDSL::GemDescription::NAME", - "version": "ProviderDSL::GemDescription::VERSION", - "qualifiers": {}, - "subpath": null, - "primary_language": "Ruby", - "description": "See the project home page for more information", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "ProviderDSL::GemDescription::AUTHORS", - "email": "ProviderDSL::GemDescription::EMAIL", - "url": null - } - ], - "keywords": [], - "homepage_url": "ProviderDSL::GemDescription::PAGE", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "root_path": null, - "dependencies": [ - { - "purl": "pkg:gem/rake", - "requirement": "~> 11.3", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/rubocop", - "requirement": "~> 0.44.1", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/rspec", - "requirement": "~> 3.5", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "tool_version": "3.1.2", + "options": { + "input": [ + "with_variables.gemspec" + ], + "--json-pp": "with_variables.gemspec.expected.json", + "--package": true }, - { - "purl": "pkg:gem/rspec-mocks", - "requirement": "~> 3.5", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "start_timestamp": "2020-07-13T092702.173296", + "end_timestamp": "2020-07-13T092703.147702", + "duration": 0.9744553565979004, + "message": null, + "errors": [], + "extra_data": { + "files_count": 1 } - ], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:gem/ProviderDSL::GemDescription::NAME@ProviderDSL::GemDescription::VERSION", - "repository_homepage_url": "https://rubygems.org/gems/ProviderDSL::GemDescription::NAME/versions/ProviderDSL::GemDescription::VERSION", - "repository_download_url": "https://rubygems.org/downloads/ProviderDSL::GemDescription::NAME-ProviderDSL::GemDescription::VERSION.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/ProviderDSL::GemDescription::NAME/versions/ProviderDSL::GemDescription::VERSION.json" - } -] \ No newline at end of file + } + ], + "files": [ + { + "path": "with_variables.gemspec", + "type": "file", + "packages": [ + { + "type": "gem", + "namespace": null, + "name": "ProviderDSL::GemDescription::NAME", + "version": "ProviderDSL::GemDescription::VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "See the project home page for more information", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "ProviderDSL::GemDescription::AUTHORS", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "ProviderDSL::GemDescription::EMAIL", + "url": null + } + ], + "keywords": [], + "homepage_url": "ProviderDSL::GemDescription::PAGE", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:gem/rake", + "requirement": "~> 11.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rubocop", + "requirement": "~> 0.44.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rspec", + "requirement": "~> 3.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rspec-mocks", + "requirement": "~> 3.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/ProviderDSL::GemDescription::NAME@ProviderDSL::GemDescription::VERSION", + "repository_homepage_url": "https://rubygems.org/gems/ProviderDSL::GemDescription::NAME/versions/ProviderDSL::GemDescription::VERSION", + "repository_download_url": "https://rubygems.org/downloads/ProviderDSL::GemDescription::NAME-ProviderDSL::GemDescription::VERSION.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/ProviderDSL::GemDescription::NAME/versions/ProviderDSL::GemDescription::VERSION.json" + } + ], + "scan_errors": [] + } + ] +} diff --git a/tests/packagedcode/test_rubygems.py b/tests/packagedcode/test_rubygems.py index 28337475ee9..d1ac954c50b 100644 --- a/tests/packagedcode/test_rubygems.py +++ b/tests/packagedcode/test_rubygems.py @@ -30,6 +30,7 @@ import io import json import os +import pytest from unittest.case import expectedFailure import saneyaml @@ -47,66 +48,66 @@ # this is a multiple personality package (Java and Ruby) # see also https://rubygems.org/downloads/jaro_winkler-1.5.1-java.gem -# NOTE: this needs to be implemented first -@expectedFailure -class TestRubyGemspec(FileBasedTesting): +class TestRubyGemspec(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') - def check_gemspec(self, test_loc, expected_loc, regen=False): - test_loc = self.get_test_loc(test_loc) - expected_loc = self.get_test_loc(expected_loc) - results = rubygems.get_gemspec_data(test_loc) - - try: - # fix absolute paths for testing - rel_path = results['loaded_from'] - rel_path = [p for p in rel_path.split('/') if p] - rel_path = '/'.join(rel_path[-2:]) - results['loaded_from'] = rel_path - except: - pass - - if regen: - if py2: - mode = 'wb' - if py3: - mode = 'w' - with open(expected_loc, mode) as ex: - json.dump(results, ex, indent=2) - with io.open(expected_loc, encoding='UTF-8') as ex: - expected = json.load(ex) - - assert sorted(expected.items()) == sorted(results.items()) - + @expectedFailure def test_rubygems_can_parse_gemspec_address_standardization_gemspec(self): - self.check_gemspec( - 'rubygems/gemspec/address_standardization.gemspec', - 'rubygems/gemspec/address_standardization.gemspec.expected.json') + # FAILURE: dependency not in format as required in gemfilparser + test_file = self.get_test_loc('rubygems/gemspec/address_standardization.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/address_standardization.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + @expectedFailure def test_rubygems_can_parse_gemspec_arel_gemspec(self): - self.check_gemspec( - 'rubygems/gemspec/arel.gemspec', - 'rubygems/gemspec/arel.gemspec.expected.json') + # FAILURE: dependency not in format as required in gemfilparser + test_file = self.get_test_loc('rubygems/gemspec/arel.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/arel.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + + def test_rubygems_cat_gemspec(self): + test_file = self.get_test_loc('rubygems/gemspec/cat.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/cat.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) - def test_rubygems_modern_gemspec(self): - self.check_gemspec( - 'rubygems/gemspec/cat.gemspec', - 'rubygems/gemspec/cat.gemspec.expected.json') + @expectedFailure + def test_rubygems_github_gemspec(self): + # FAILURE: dependency not in format as required in gemfilparser + test_file = self.get_test_loc('rubygems/gemspec/github.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/github.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + + def test_rubygems_mecab_ruby_gemspec(self): + test_file = self.get_test_loc('rubygems/gemspec/mecab-ruby.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/mecab-ruby.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) def test_rubygems_oj_gemspec(self): - self.check_gemspec( - 'rubygems/gemspec/oj.gemspec', - 'rubygems/gemspec/oj.gemspec.expected.json') + test_file = self.get_test_loc('rubygems/gemspec/oj.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/oj.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + @expectedFailure def test_rubygems_rubocop_gemspec(self): - self.check_gemspec( - 'rubygems/gemspec/rubocop.gemspec', - 'rubygems/gemspec/rubocop.gemspec.expected.json') - - def test_rubygems_gemspec_with_variables(self): - self.check_gemspec( - 'rubygems/gemspec/with_variables.gemspec', - 'rubygems/gemspec/with_variables.gemspec.expected.json') + # FAILURE: dependency not in format as required in gemfilparser + test_file = self.get_test_loc('rubygems/gemspec/rubocop.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/rubocop.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + + @expectedFailure + def test_rubygems_with_variables_gemspec(self): + # FAILURE: dependency not in format as required in gemfilparser + test_file = self.get_test_loc('rubygems/gemspec/with_variables.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/with_variables.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) class TestRubyGemMetadata(FileBasedTesting): From d05f223f90608900b1359aa1581ec01cb8e7ebd9 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Mon, 13 Jul 2020 15:14:12 +0530 Subject: [PATCH 15/55] add thirdparty wheels Signed-off-by: rpotter12 --- setup.py | 2 + .../gemfileparser-0.6.2-py2-none-any.whl | Bin 0 -> 16576 bytes .../gemfileparser-0.6.2-py3-none-any.whl | Bin 0 -> 16576 bytes thirdparty/gemfileparser-0.6.2.tar.gz | Bin 0 -> 4166 bytes thirdparty/gemfileparser.LICENSE | 675 ++++++++++++++++++ thirdparty/nose-1.3.7-py2-none-any.whl | Bin 0 -> 154663 bytes thirdparty/nose-1.3.7-py3-none-any.whl | Bin 0 -> 154731 bytes thirdparty/nose-1.3.7.tar.gz | Bin 0 -> 280488 bytes 8 files changed, 677 insertions(+) create mode 100644 thirdparty/gemfileparser-0.6.2-py2-none-any.whl create mode 100644 thirdparty/gemfileparser-0.6.2-py3-none-any.whl create mode 100644 thirdparty/gemfileparser-0.6.2.tar.gz create mode 100644 thirdparty/gemfileparser.LICENSE create mode 100644 thirdparty/nose-1.3.7-py2-none-any.whl create mode 100644 thirdparty/nose-1.3.7-py3-none-any.whl create mode 100644 thirdparty/nose-1.3.7.tar.gz diff --git a/setup.py b/setup.py index 05618a9d191..ddee8f9ba83 100644 --- a/setup.py +++ b/setup.py @@ -202,6 +202,8 @@ def read(*names, **kwargs): 'toml >= 0.10.0', 'pkginfo >= 1.5.0.1', 'dparse >= 0.4.1', + 'gemfileparser >= 0.6.2', + 'nose >= 1.3.7', # used to fix mojibake in Windows PE 'ftfy < 5.0.0; python_version == "2.7"', diff --git a/thirdparty/gemfileparser-0.6.2-py2-none-any.whl b/thirdparty/gemfileparser-0.6.2-py2-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..42c2a8c0eeaa0adb0ca77eb1b7f6b94629c548c2 GIT binary patch literal 16576 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 G_rCx`bo)90 literal 0 HcmV?d00001 diff --git a/thirdparty/gemfileparser-0.6.2-py3-none-any.whl b/thirdparty/gemfileparser-0.6.2-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..1e5e3ec8110d71fc6ef60648147ce8cef81213c3 GIT binary patch literal 16576 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 H>+XL6GNuVG literal 0 HcmV?d00001 diff --git a/thirdparty/gemfileparser-0.6.2.tar.gz b/thirdparty/gemfileparser-0.6.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..002090b8ae2a29034fac9cf575d839a361740383 GIT binary patch literal 4166 zcmV-M5V`LkiwFpHCIMdp|72-%bT4ORZDwg~WpH6~b7gWZFfKMOGA?vsascgI=~LTC z7SGq!U(pL6WD{H19A?)Wm|+OXP?G?~u~S*cYhJ{O$W*cS~*^mTf|) zomq9Nf~9`_`g+%|4~^+`WZBfy{eb$-me$d>HeWn(YC+oD+r_`_z1^1lH%>3w+k36n z*4B2r19a`3&QALU*?sX0DGEZ}C*+0iPOPwmZc%>Rk@)W)B#jH^KlM(d<8jk+M(*bG z&Hq-r-Dy?x|35bWmuJ@(N5_|1_$gd{{yUwWx%0oh+sVxTb_=petD66Bo-U3LU%x-r zrlu0mF!D5GG#0{0hRtQ zq5m~A{r}e1ZoAU|=Sc5qsGEAIH~&ffz;c}~X=`oeRG-o=Nn?YAfC-6m z8BM3U|Ij7pm`yIC;e#5Gx4cN8{OC?;)6>VmW)g;8(B0e|TcNEFHN%~54s}}(bmvz0 zjkL5Whfz3j{Vw?-p&&=%Ws^>I%kC1X@b`KYT0v+Tmgf3n<(*|vCx9y7p1*5uzf@kk z_m1uAX7l>u-HPpaO#{QXypZ)+AtIePAT747tf}YvVJwU1 z1uf%r`)QKeD^Cw6By{7~2MzMd0Zkz8hz+>zdA4P+$tN|J$%by%59%r25=t^HgVFd8 zP?Z=#_NP|Q_vH#I5Se63VdPBW!^rtgKy-qfh&%j+;-67w_D8Ni)x+gS?6=gDYT}ZP z>rJT>s$J5vL7%XWSwBR@0ZyQ0QZn}4$V->&H_|-)$O)|}mHCNR1$;AwwX&x#`7Ryn z#w5=bbixUBXmMt+^f2_TVHDC8l!eJalblMT00NgH5wS5222cu9DZfoogVl0H9#9`j zPj|W<(G+dqM!tb$m;48qvU!aF@!|EqmPTVl?k5(EP?ng_Vw1dOe=TQ5Ml2M$DV+{M zN1%Moq$54DL(+{Wu|Rx}Kj~A?o;Cg7Jbha|c5*7Libu5p0&3|2FwoVUf(B5|$*Cf1 zh3k`BinfZ;byJy;ET$Mi4`}+iOg0C;1ycaoMVZK5l2lR2d}cF-Ykyg5NJaBQc;tEy zzBQhNdAF1&-fFdXQy#X&r{)R^C!4J&Pnem^0Mx;zdO%GQK`(rA^Y-)_JvF%#>aq=1 z)hGJUy`%NGnwx=^=d5XDuuNg@^TD~@-`{IvC&CVG+B`4V9D9;4ItQnYhO|qrPk%Z+ z`}tHkf)NRaw_qzfpZq0FMz zxZzE(L$KdVrf40&kBOF!f;7A20W<{W%Vm0Op&b#(2TJbFeLA=#b6pB8 ztyTcQk|@w`kc|x#y_V+aL|7z#I_jWp+>iqBj#{5giKEDb6gBjo6O5?w+ zcBi#d;lF3We}CPK0)KO8Ih)kE6LGe(uB^{i6bqIMU(I#72T<~A0*=As1{Hn8$fp!y ztWkImK~xuA2r+bw)DR)^h>rkf02HwaMturcbo2mh;1&1D7>9wOp9XPIR^k|Rs2Se` z6YwEJWP=6XU<)oq3&;`ZETJrPB)sJV_SLE>Y1Nr&z;^Of1 z>cc;P7A6OB!H;rI5Cqy5Fos_Fx)WkV3Jl&KUmX1iB@TZ$d3SR40UhO=ldIF?%S-a+ z?1CJU^TUg)lcVc*hZp4h`r`cT@>nC}k}_lm4}4S48?Ygr$Gb~cF6Gyt!T8#Vy_QSz!Rm^y&441y`)vu$hW zBklqa=M^m{puk~N9eC6r?2U#vS`neO5!}T;EjRw<)A*Mg#J|S2J4^}zn4t{u0ftdn zM3srgIRvWn7#Qk1@+rs>qJtD&43)6))JM2SFmz&48)yvh&w@4yl%)BKI$+K@9dMht zHcBD~kSOvHt%6MHaD>AE*V?9@Wz^JigKxRNII8@>w!eE2fZPS}}zH zX~mfWp6x@(o6qF1j1^R*jR}ad$Mh3L03=PDcIJc4q2_CV-vSV2=zA(}irR;gKE-7X z53*}X#r_&6==MneyV`f>ulVCZPjCKu*!)-b#+nl(%=zQe>?QFlsY6gCl}M$QpIj8i zvgyVA*#zU$(!3eWo6i~DQpU9xu-kXJu-5w;$8m~XiR#pZ>+cj=^o65%zhc7*btmuKZ z@m-ymuBcHr&4GCrg5g`hQ`=yqvqiFjWGt}?+j1x{uS<-5j9r#vEP7hPR4FvV4Z_3p zaMHl_NSxYzRh3LLvwkrRG$Q%QaQy|JC88bOZ~1YQl9MIbEbyX*MIewcBSWl|=W?eM;xmJuP;Az7my&@v$cjAYTDzc{90Z0UTaCp+fTW z9b$1)KqxLbGyd2MLqt~vE8x0exIS)s*$=7Sv7N6}pVrAGw9y%#oW-ll7_LQ*Ww<64 z{IpDoAEGd(sG-TBfulmS@A|hq#N{#ScBT}d7mF>c={Cw1TQ-gB;SpQ5o=X?4fFFd| zZd_OgJQA|Sbm+Y`;y7c3u{z)OaRJg6pfs#Qd{tg5 zmX9jLX#Y5*pZ0$;%ZhTwGZ|L)^KnL4}QEKpVx?%&%t%R_<0Q z802xhnV1Wn3T#)Fq?d5$$NC6w(yb`&VHqnltnk#&`ez~8!bM{Ul#WMdUOHLrV0xR~ z^ai;EuRR7|^(%y@awBqq2#;*@vX>3n;^&g^N-DylTNc?C#&{_QB}x^BL40i@6NY6c znbTqyh~TT?nsg{aN3qyY?-rPRh=rZZd0}vkqdXIiItzHj=4G}}BBLx}X7bHmY+&a5 zi;T{zGkm7jm*@(}LQzLb>q~>l1w&OFs&g+AOKoz3L1(~8!cDnCLMcoO51F`u#*hI# zp+Bsp5L&&cEb@$_8SEA7S}o@Di)%TxSq%_WY{Up*tzI}~Hf048wsmqq+Qn1Iw&iPU z?;|_3Je#K1NtY@(`o6k@Te#+?LJGK68#5%h}fV&)Qb;+SP>$oQ~iX65gLx$|^ zjf+R6DBFo+mVup?k_A2C1(N2tY_AZd?q2szzJ!5+Lm(Q+cK+}!-^GvyNM1qdW-jo| zx|Y_>dWnh@mSQ2$ALU@k{PW+&X#70qzgzA0UgrEqXQxx0|9+O#n~Dp-eMLG_+!X$K z_H{6&N5|sSa{Bjg2lH97TqLRaEoB!4T7(`JrE1!dU6$e6}epc)7|ZsY+F!>- Ql~zvw1;F~77yx(x0A~;`&;S4c literal 0 HcmV?d00001 diff --git a/thirdparty/gemfileparser.LICENSE b/thirdparty/gemfileparser.LICENSE new file mode 100644 index 00000000000..733c072369c --- /dev/null +++ b/thirdparty/gemfileparser.LICENSE @@ -0,0 +1,675 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + diff --git a/thirdparty/nose-1.3.7-py2-none-any.whl b/thirdparty/nose-1.3.7-py2-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..b1d1b0ae0c5c2ede4147aa20bd7f9a4826463c75 GIT binary patch literal 154663 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

n0o4ncr`h??qG2U#cGz}BF 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 literal 0 HcmV?d00001 diff --git a/thirdparty/nose-1.3.7.tar.gz b/thirdparty/nose-1.3.7.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..a70b971c70a9e7797f30c49bc560340f4ef4a905 GIT binary patch literal 280488 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

a?5$UKFnrHeUu_`JP;tvnwq)o_t37MP7a)` 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 dU3s?oXO7+M^JG(>P3`{6AGQzAW$+MZ004J4 Date: Thu, 16 Jul 2020 06:25:36 +0530 Subject: [PATCH 16/55] use regex to detect data Signed-off-by: rpotter12 --- setup.py | 2 - src/packagedcode/cocoapods.py | 21 +- src/packagedcode/rubygems.py | 5 +- src/packagedcode/spec.py | 161 +++-- .../gemfileparser-0.6.2-py2-none-any.whl | Bin 16576 -> 0 bytes .../gemfileparser-0.6.2-py3-none-any.whl | Bin 16576 -> 0 bytes thirdparty/gemfileparser-0.6.2.tar.gz | Bin 4166 -> 0 bytes thirdparty/gemfileparser.LICENSE | 675 ------------------ thirdparty/nose-1.3.7-py2-none-any.whl | Bin 154663 -> 0 bytes thirdparty/nose-1.3.7-py3-none-any.whl | Bin 154731 -> 0 bytes thirdparty/nose-1.3.7.tar.gz | Bin 280488 -> 0 bytes 11 files changed, 105 insertions(+), 759 deletions(-) delete mode 100644 thirdparty/gemfileparser-0.6.2-py2-none-any.whl delete mode 100644 thirdparty/gemfileparser-0.6.2-py3-none-any.whl delete mode 100644 thirdparty/gemfileparser-0.6.2.tar.gz delete mode 100644 thirdparty/gemfileparser.LICENSE delete mode 100644 thirdparty/nose-1.3.7-py2-none-any.whl delete mode 100644 thirdparty/nose-1.3.7-py3-none-any.whl delete mode 100644 thirdparty/nose-1.3.7.tar.gz diff --git a/setup.py b/setup.py index ddee8f9ba83..05618a9d191 100644 --- a/setup.py +++ b/setup.py @@ -202,8 +202,6 @@ def read(*names, **kwargs): 'toml >= 0.10.0', 'pkginfo >= 1.5.0.1', 'dparse >= 0.4.1', - 'gemfileparser >= 0.6.2', - 'nose >= 1.3.7', # used to fix mojibake in Windows PE 'ftfy < 5.0.0; python_version == "2.7"', diff --git a/src/packagedcode/cocoapods.py b/src/packagedcode/cocoapods.py index b8c9af4e0b4..587f0b831b1 100644 --- a/src/packagedcode/cocoapods.py +++ b/src/packagedcode/cocoapods.py @@ -35,7 +35,7 @@ from commoncode import filetype from commoncode import fileutils from packagedcode import models -from packagedcode import spec +from packagedcode.spec import Spec """ @@ -44,8 +44,6 @@ See https://cocoapods.org """ -# TODO: implementation to get dependency data using gemsfileparser -# Check: https://gitlab.com/balasankarc/gemfileparser # TODO: override the license detection to detect declared_license correctly. @@ -94,7 +92,8 @@ def parse(location): if not is_podspec(location): return - podspec_data = spec.parse_spec(location) + podspec_object = Spec() + podspec_data = podspec_object.parse_spec(location) return build_package(podspec_data) @@ -113,17 +112,15 @@ def build_package(podspec_data): author_names = [] author_email = [] - for split_author in authors: - split_author = split_author.strip() - author, email = parse_person(split_author) - author_names.append(author) - author_email.append(email) + if authors: + for split_author in authors: + split_author = split_author.strip() + author, email = parse_person(split_author) + author_names.append(author) + author_email.append(email) parties = list(party_mapper(author_names, author_email)) - if len(summary) > len(description): - description = summary - package = CocoapodsPackage( name=name, version=version, diff --git a/src/packagedcode/rubygems.py b/src/packagedcode/rubygems.py index 3887c42e50f..026d4045a82 100644 --- a/src/packagedcode/rubygems.py +++ b/src/packagedcode/rubygems.py @@ -42,7 +42,7 @@ from extractcode.uncompress import get_gz_compressed_file_content from packagedcode import models from packagedcode.gemfile_lock import GemfileLockParser -from packagedcode import spec +from packagedcode.spec import Spec from packagedcode.utils import combine_expressions @@ -630,7 +630,8 @@ def build_packages_from_gemspec(location): """ Return RubyGem Package from gemspec file. """ - gemspec_data = spec.parse_spec(location) + gemspec_object = Spec() + gemspec_data = gemspec_object.parse_spec(location) name = gemspec_data.get('name') version = gemspec_data.get('version') diff --git a/src/packagedcode/spec.py b/src/packagedcode/spec.py index a6b865a711b..98b39722a36 100644 --- a/src/packagedcode/spec.py +++ b/src/packagedcode/spec.py @@ -33,12 +33,13 @@ import os import re -from gemfileparser import GemfileParser +from gemfileparser2 import GemfileParser """ Handle Cocoapods(.podspec) and Ruby(.gemspec) files. """ + TRACE = False logger = logging.getLogger(__name__) @@ -49,80 +50,104 @@ logger.setLevel(logging.DEBUG) -def parse_spec(location): - """ - Return dictionary contains podspec or gemspec file data. - """ - with io.open(location, encoding='utf-8', closefd=True) as data: - lines = data.readlines() - - spec_data = {} - - for line in lines: - if '.name' in line: - name = line.rpartition('=') - spec_data['name'] = get_stripped_data(name[2]) - elif '.version' in line and '.version.' not in line: - version = line.rpartition('=') - spec_data['version'] = get_stripped_data(version[2]) - elif '.license' in line: - license_type = line.rpartition('=') - spec_data['license'] = get_stripped_data(license_type[2]) - elif '.email' in line: - emails = line.rpartition('=') - stripped_emails = get_stripped_data(emails[2]) - stripped_emails = stripped_emails.strip() - stripped_emails = stripped_emails.split(',') - spec_data['email'] = stripped_emails - elif '.author' in line: - authors = re.sub(r'/*.*author.*?=', '', line) - stripped_authors = get_stripped_data(authors) - stripped_authors = stripped_authors.replace(' => ', "=>") - stripped_authors = stripped_authors.strip() - stripped_authors = stripped_authors.split(',') - spec_data['author'] = stripped_authors - elif '.summary' in line: - summary = line.rpartition('=') - spec_data['summary'] = get_stripped_data(summary[2]) - elif '.description' in line: - if location.endswith('.gemspec'): - # FIXME: description can be in single or multi-lines - # There are many different ways to write description. - desc = line.rpartition('=') - spec_data['description'] = get_stripped_data(desc[2]) - else: - spec_data['description'] = get_description(line) - elif '.homepage' in line: - homepage_url = line.rpartition('=') - spec_data['homepage_url'] = get_stripped_data(homepage_url[2]) - elif '.source' in line and '.source_files' not in line: - source = re.sub(r'/*.*source.*?>', '', line) - stripped_source = re.sub(r',.*', '', source) - spec_data['source'] = get_stripped_data(stripped_source) - - parser = GemfileParser(location) - deps = parser.parse() - dependencies = OrderedDict() - for key in deps: - depends = deps.get(key, []) or [] - for dep in depends: - dependencies[dep.name] = dep.requirement.split(',') - spec_data['dependencies'] = dependencies - - return spec_data - - -def get_stripped_data(line): +class Spec(): + parse_name = re.compile(r'.*\.name(\s*)=(?P.*)') + parse_version = re.compile(r'.*\.version(\s*)=(?P.*)') + parse_license = re.compile(r'.*\.license(\s*)=(?P.*)') + parse_summary = re.compile(r'.*\.summary(\s*)=(?P

.*)') + parse_description = re.compile(r'.*\.description(\s*)=(?P.*)') + parse_homepage = re.compile(r'.*\.homepage(\s*)=(?P.*)') + parse_source = re.compile(r'.*\.source(\s*)=(?P.*)') + + def parse_spec(self, location): + """ + Return dictionary contains podspec or gemspec file data. + """ + with io.open(location, encoding='utf-8', closefd=True) as data: + lines = data.readlines() + + spec_data = {} + + for line in lines: + line = pre_process(line) + match = self.parse_name.match(line) + if match: + name = match.group('name') + spec_data['name'] = get_stripped_data(name) + match = self.parse_version.match(line) + if match: + version = match.group('version') + spec_data['version'] = get_stripped_data(version) + match = self.parse_license.match(line) + if match: + license_value = match.group('license') + spec_data['license'] = get_stripped_data(license_value) + match = self.parse_summary.match(line) + if match: + summary = match.group('summary') + spec_data['summary'] = get_stripped_data(summary) + match = self.parse_homepage.match(line) + if match: + homepage = match.group('homepage') + spec_data['homepage_url'] = get_stripped_data(homepage) + match = self.parse_source.match(line) + if match: + source = re.sub(r'/*.*source.*?>', '', line) + stripped_source = re.sub(r',.*', '', source) + spec_data['source'] = get_stripped_data(stripped_source) + match = self.parse_description.match(line) + if match: + if location.endswith('.gemspec'): + # FIXME: description can be in single or multi-lines + # There are many different ways to write description. + description = match.group('description') + spec_data['description'] = get_stripped_data(description) + else: + spec_data['description'] = get_description(location) + if '.email' in line: + _key, _sep, value = line.rpartition('=') + stripped_emails = get_stripped_data(value) + stripped_emails = stripped_emails.strip() + stripped_emails = stripped_emails.split(',') + spec_data['email'] = stripped_emails + elif '.author' in line: + authors = re.sub(r'/*.*author.*?=', '', line) + stripped_authors = get_stripped_data(authors) + stripped_authors = re.sub(r'(\s*=>\s*)', '=>', stripped_authors) + stripped_authors = stripped_authors.strip() + stripped_authors = stripped_authors.split(',') + spec_data['author'] = stripped_authors + + parser = GemfileParser(location) + deps = parser.parse() + dependencies = OrderedDict() + for key in deps: + depends = deps.get(key, []) or [] + for dep in depends: + dependencies[dep.name] = dep.requirement + spec_data['dependencies'] = dependencies + + return spec_data + + +def pre_process(line): """ - Return line after removing unnecessary special character and space. + Return line after comments and space. """ if '#' in line: line = line[:line.index('#')] stripped_data = line.strip() + + return stripped_data + +def get_stripped_data(data): + """ + Return data after removing unnecessary special character + """ for strippable in ("'",'"', '{', '}', '[', ']', '%q',): - stripped_data = stripped_data.replace(strippable, '') + data = data.replace(strippable, '') - return stripped_data.strip() + return data.strip() def get_description(location): diff --git a/thirdparty/gemfileparser-0.6.2-py2-none-any.whl b/thirdparty/gemfileparser-0.6.2-py2-none-any.whl deleted file mode 100644 index 42c2a8c0eeaa0adb0ca77eb1b7f6b94629c548c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16576 zcmajG1B@^2w(i?K+qP|6|F&)0wr$(yY})xGJm61wSQooE; z^5h-$j`1i+gMgv}0Rce*!9X4>$g?IE3_$_`Y2g6@Vg2*e+|<_0(#F)m(8<}m^m+)hceC{RLTAe2}G zsJX~`V|GV3pjaZYa9Qp{iEoXx;bZeB8qD=Ed{L%qu|q=6^B(kUq}pVG`y8*oM216( zRvrBN^*x-w-y5A}I;l>kpR7AKU4B2FmPH5$DN3O7nA3@`IwVYGyu`@*&t~WWZnI8? zdFd;bjR`oBw7?zYTS|s`STN(Cq*E1YjY$bwcF5qmM$!Z5si@$6s~SQ2%fVTW-}~ly z4#P(6lYbi^_lqDs3pp86Wb7ZK#2G0tjoOLfuASlbq=@NRgvf>WeyyVMIF{UD?Vu7n zbrVU1V)C&RxBkjR-UM>p7MPk!V-cv#AAYWhM2Z*^sxygtu0}+r^Feonb%xLU8%>K( z{A*#LZWW<#%g-+$I-BA4V%WpS@!|HEK_a@pU-f$kFG-`ULBOC{s$s}R!4vfL(a`4& z#!08U@7v?+7K|>S>LNTF;pN4_l{*Zky$h3HN8j(;gDI?Q_ONU70|EFCFGUI9-rd99 z@GzJ@rrnTuC3IPzu^8Jmnna_4BCY_g!$W8qGbBTdVHA!@gEqOO1A7YZUD1|!~FN}{D!HakH;o1gSnD%c}1so<6m2&wPAlsfN7P}gQ z_-__6e40;6<|ZK7!I;b`uP=q^**6SCwOV|=B!Q@uJ2qr{Z^ zYYB+s$v1lmM!*HI9_5Xa;}nTXsT@Sy4D~G9yKihqcwEyQu!bm9f8=Xq8Ll)L6o>1l z4*1B{Jkf^KNJ?agMSs9FRT*Yj^B=-8&=Sy2;@*ID8Pb6%v);dVg+cNdJK@>m$cHc!?go#6d05PVbFvMsk zq3qv2?7vNYyhun?P7$Kk35Q5eYM|+E?uBFI#fyrxRk?*hrcOEeKKlIFyeYc*;raQ-EC6KS%PZ^|-@eMo3!}ETfNxSpo0~RN(lY(J za*Td-V~;m|T|Qg7;&;;D4o`dH0r+tQNc=_CM4c|A2#&o0o7!7TI_SljOo7c-%_578 z5FJ4BQ2I(!`eauyCiNE+VRDEt!kssawdheW9^Xh`dLyBf;zv*nh1b z@FX^IwBd*_5>GMApwbu!d0;Hv$j_!i^}Ha%e%(V8;!x+d~GKD z>6n;CE6oAJ*0f)cc*4fnUR&2WXI98IeInI=i4ES=NP%FX^&EU_MMFe!;d=$dNU@Vs zfQ1c?wKtu6*?N-$COm#m&{SLhPUAuDoF)vFp3QFwoZ|t}R&%^uCQZe$nfFNRquA7! z9P^>YX8>qUCoI#l%?#V{QX(K2=|?OkUl|=eSaEphTk-dZW>C$AguMdCI|pY`U*I1N z|A!tD`}!yQQ0n|QKn*~_F_{XYXWEaw@v}SJ2%RM_X1G*v*r}_v%N>Vl6BP!UGuHG{ok(qMq?`_TiKux{J zA~F|78j;IXBXrJ-w9Pau**TDR$YR8Z?)H)GKCFu@v`D8_j#1TR5+E@am(S~c*7%lj zZ;^%)=LD|;GFp)E;akTa;^*%GbTX5TJaFOtLp5aA(Yz)LhuO5fYgqGOAc}fb?c`-K zmon&l<$|ojaRDBUGa^k#tv!%Wf{g}}CCC{xiH6Xpg$}L(p>Z^39KCJZkaCj|X%s1L zygm>=9EX)Y5h8`3mw{{(C*BKQqAI261SLl7c3C?sDl2MB>GbUMa5I#FdbFsm{lZbp4u$AxVzCy9RgQz+LhI;yIJ z1)ul~jT-Q{x7@ncNdBF-4>Ics>Y>@HO1x%R$Z&$u}+O~!UuZ;OV}0o`g{^p!l6;J z`NUC?@ppsa94t~Kx}>Rzi`#Jm8>0KUO+V$v8kQ%Y)EX6Z)9IUbzZk6(lG!_KqM z-z##nY^n?x+c1}jDgttS2i1>qxmCr?mLo56n~8<~3MV@&#$!<=DAC9g5O3x`6dMR% z8&EZ82e?fcW@FUWS^9gQ#}hS?rdkD(1}}AIXA5R(EJ@F*oi=zLp#0V zJe^l6GI>*%q)GV)S-mWz2b;xQS*PTmWz74wjH%2kEVa66LGj3Dr*$NYxepA5|6BU7{!{wgA8`W=7=VDpB7uO&{=M{}W29%NXQnr? zbatV$v@^43kdYJ?l~WcS*41|2lyLLA(GNU`E}_=IpS_$h8Ld#6XXZ6iOGA}xU9|^} zERDbf#ncgD(SF!ZQV8)pc_7oavL< z;aDMmd8*trjg{S5^-VR$>&Yd5u<}g&yy(1W?d$bwu~NryeRw_Jm0|X7obD|Zjb>lp zFjIEPoldTmOKbK@QuR#2uw6xs?rnnN?aF^*e>FDLPF|`i)?UmuZD>}tPVUxw#?f}Q z6q==&bXDU;Up7{9(de!0BBh!1GJk+^K5zfrwKZ;#ke3+{~A8Cfi0!VGw*e3hXRCa@%c6Gk3=(Wo})}YssWp`dBk=)p2 z+pMEW2L~3u|07+CRS1Z&G}8+GEyt?*RS2+Nc?_Xb1sRA(D=7@(Sv^ z%C5LooPFO8i7u~Gr+a%{Hjx+ozVZ-vt|uWPP=|CncrbU#d2bkJXV6~|!U@=UeuUOl zH|Ee3lsD`M5HTtGx<)xY{Y7ra4TrZ?6&BP;z2_2I)GTa%*Z^ zWg;H2wsDE`2N;}(hw3}zfz8b{8@yRILpi4`-=WF&RHpd^j?VwHS-4UXy!>WGGd!C0 z;!;wAl(--QB@`H8PkQFDGh3XQnP@d4`_5zzN-(Zdc3{EPQi>FYyRz0%#w3#!36iQ5+CbO~vqQruwVY-{|@>8=Q9e z*7K+WCJn}Ak&PZ7;Xr9>fgSG-yr6CynFKAmkd{j)tnlrWZdgOA!MEWT81nqdFf{4g z#l9CPx?i~PXb2GcJ`1zi&Z5?{ck6mu^R+W#^OqAIAWxyKRbzNgUbi39@LEny4Wa8S zlAujf+P?}2hGc{uMys9}^**vOmJM3nTR@}337>(L*wM>-Rwli(Ojg7zh)zDWc_w9S z7-YFNQYWJ^RYAhOMRJnx8V&{JtIEM-z{5*?NpVFx0URV>ND}nwYMJStIP7divW?{Y z^s@D9Ij4t@qLHX$wV@Vi8|Da>9wWu~`H*uzMzX+#ER% z&SgALGOz$&A{}PkL-2^=;5P@G-(uP|z-D#r=Q?_Xx)=n=f5!W_Y;UrgJF*PsMV zns_l|acBQ~ehgi+8) zd9k&18uQ#)h|Q@?hI})Tu4_v*hqjU2KtK{PT@qRX(8xA}V$zOCF-4q&S)!?A7lqQ! zT$Z#j4a%;HAS>-35VFJj~wZ>7;coIPNMN^{7JL_|bd z(t9@{wQKjr%RB0S&RZu>d4%UXn+mT7Oo51^48si)P@~_xWQmnbLbQz4&RWQyo$?pp zoq01U3ag3cPTgTT7bq5~QIAtdrfF#h2xE|w^l4Of7AEf<> z<#f|qOANf(bXn(ED5+!-(seSf$i~8Gx@!Oy?%_y|7^ zg6B4>Dvcz4{GJgmQzBE!z51h~{GNPVmZ6hEJ5@Om{XGp>xf2&%>866}3TE7?7e-2p zV#2!<_2$Wy7DUL+*}o)+S3;Oc4krg~$G43|Mhyl>UcAj{fekOJ;>DIK+EkiH1b>q@ z#jr1m53x)+ciyL|$}kh9au<}5zX#b;_>d(VEXhDN@|F{&If630O=zlq%A?=Pny@3K z%0xrj1W}%FHhn<_Q_r?exxE@@v*mU{bQ?#QM$9z1#nK>$LM7r?M;qW4M;Q)ym7Isb zX}mh75}`OysYOb8ak=X^`Wfs&&v|M7LV@-u9wLWM4)j$3^hMPOey^JJf1}|Kjoc~6 z#8@(Gt~8_b2JgzEqO~dnM0Qd4mFc-P^VHcb#VzoAlLmJ+i5sm7^PI?#Uy?=mnbagC z{to(mp0~y`uoGuW2!q&=c(y?VfQnlQVwL2ci#P3G0^hADS8IoxBvyosJ6=rs4e2g2 zC1CW{01ZsQ;$MKa0_U?cR1qRREt?C4nDB&-Iw^Ep1Tt*-+=i%Uj zlh+g}I`z>Wm7$5erXq8>QFk_-a~Ed0hzFew5poq;4J<|=1I+uQhzrd- zn7Zrm^Sdita#1ekQ{);K;slDjIs-#8Ue$o5ik5}4O4>4;4J2s0TJc1WGU(614edU3 zpF3e&)XR%s*x6~)5S}tEul-ULDX(&n>P7@Y0RyTPanrD{Su_kD0C=;p9<}-&yW0+N zO0EX7__8sPi~3TIVFUsp80dE$;1%sUkkytZ4A_=tpNNkX2}pCX1M-9}`Z(X3Sr~V- z?BEi5W0tso5#KACJ z#K`<_4iL`SJ37P349(%e)BF@W^dD2rAmg_`+V#99=7;Fh;6X3=rB*9P<6A^@-S|XG zuZo~f{r)5`%>j7iBlK!xhRTSKCQ@bw)9;Bc_+OX!gy}UiFA;jh@TrqB)gpb0G=K4= zy#$e)z8V==2y8cj;K(%neV-!?B*^x#L~bJHCVDW9*Go%Jg2E?9&BiMahUt*5PxH2M zh|5Kj1!T$Q}@6_6Dv3#El1kvs&3Mr6bkWKwMYII-Ej z=k6&fk^TKsRKL8&WDGUSklAE^RI-6g+&du|5dlL}PV|t%n&;jhdY=Y0MrKS#i;&&) z%cPz^Tr3SFY7but?Cr&t+6}6eL247wCa^t$*qnY65&dfux-Aj$bii9iXaOj#jt}cIkl*gW|pD>trO)i#|0v2N<=8~tkfQ?xha$HOn_mF2TR=e3jGpl z95v|dE2(CO>FB&eZz28iF^n6C?pL@ML>*fw*OWC)$hF4|-A5stv72deT<%nD?J(pj zKOzLE(9vTE3^n(L?NWAhjNAbAJZQo=(FfAlo)n56eq)J%H&awIewX;6s=tYZ2S1%A z8kx4LZBK~UY^d%N`*A#WgL<=c#8zCUG_xdU1(RsD$=S1NtDsTkR(4}KqMG$bsCaA> zbT`LdMko@tct5L6I(C^{qAXGA)*tBcrnpSwMfI6TQ+IU23E(N@aFMMss<%*V8^0r3J-?v}Y;i~?6m*J-dbQ)t|6H=D<5@I~0wv$egs`wD2QMETq z=m^pAv*OTQmF`El{92ruj+TXJoF}12%?6gtz=8aEjY^NsI0~I>2);tS1~dK%nce$y z0K}ra06+^!eIYD#N9!0_l;hRcI$%nqvM$6o?IyQNS~lBOZ1#+1=(M(Se77~-p5%A2W9kJ z6W=f-5Jx|Ksz}B*O!Ngz9zpgRgzlD`TBY)q?N7!8IgmS#Nh~0lnfPXdj2-)H2geZW zWKTLq=H5GL_Ib44697<*la?f;Fq7`6b8SFF6R~Hm(evuItRFmCPZw>vw537N!tSVUfIE*D2OEBJoo|xCdv#RHLZ#-y^h#*$h;O<8g`}qX+st z`{gur%*!XaBb;;3ZMgO#Fq_i6JSh#16cjip$7yv%~)Xvge za3F{oQ!=2SCPnX&4vYk-{!4qduvSEPppRNCJhBPvkk#L3k-HgtT1k4 zn+Apw6Lmy#o*21iK4Hybrl=U2g{hx5mcLJ`BeGaAVI=w&7oycFtl)iZ+Ne*##_7GK zhER7sk~9(ikel6con10?o2+aDG8JjHSHa|boQEBOej0a_e0N8mp1Akx^1O+jEFayP zuxDElDxEvy`~>6bPchQ5kxm9Y8DWG5%6)`pl%KPXjQUj?uAk(DlOG_YA)z)9)nYZ@ zCfcKCC6gED(#yD4vuik(Xd+jVI>Wggk!c4J7h9Imzp_UVbU2ejp3gkF>L-sb-Stq$ z5lyf!q&O@==^GX(s?SC+?_we9a_u8y69@b-F*AItt=#9p12!hFQkT^m7w!dvYMFN} z%sN&;UA5*Xj2YS@mH{j*#4#qowV1Eqs%;Zns17P{K!FF*N(eKgZ)E6se%;Lq%Rdg~ zilj1{|N@)_q^)Ik`E{*tY=wz_0ODDJuia4qARj$%+m0PEk; z#LAZiAqx@=l_U?dLh0N`gL31ig1AgI#YT>-^Hg3lS-rw*(AHK|rYkbgSt3#Ta%=!S zB5i%q>sJ8+`r(3SmEyih>uQc~#2lof+R+9op-4?GWVDqdmbz7Q8W4u(bySZ|294ys zbBf+;?5gI6Ol2tJ@V!*ExuoAMH3bTTeE?1@16<0g2L*3Jyo|Nxug%=f#WP(I^9N)f zXo6sa(QsQws@+6DHz;gR4P$dbh#%+!ymMCQnswfaFY}vcP7lu}z4SJf$ zFNMPSx`b8rGId<6;yh}%^*CJu^Ru&`tw^@1C#}AL?fgdo{>V7X`bRFMn%&j z88czP9lXW1YifrfJ6^kuaMh-I-D8>&^5XKi1@jLnS3T40 zRnQpf$W)FzOX@xt)@0K6y@{`x+PdhdaAHYSI}%Soi?pK_!kmPLqR{t2RzLo{&g4Qh zfj@eYXc^?RPs1A|yfURAuV7E=-q~!(ow4{x(^$j5bC^2NY?mb>TMWpVnaS!&1>yWr znJE%>1mT5qWy*$CU8_ovjHOsIbrNXO_hQdZ4q6NM4=3+X^ARiXT$x`p@XH`LAxS=G z7lqH6i)}ip(07-V;PMqojCxvYoA*SJ_w3|fl^o@SuQCz8?#-B#(WH`uHLE%yW)=Bm zuBTKrB*2p@iYk}EpwM#`oJn=VcT9a;wdRp@*NAwnLXVQgYT|xjZaQd2Dy_s!M;E#Z zl0l)aPMWSXnv!2rDxHrR5Y`i-rQIqvL`Bn#l3kAWW8j@WOZD{kP=*?A?UgxnS1 z%dd3-!E=g`nfQ|@5+y>=-UK`&POtxdz^3I_^EAWei zD{_4HJb;V3Ot2rSmMmd|>k?57Ca;m9?!axqw#GarSR*rDHPw|(-~_CIaSTh4te;M1 z1Yuy4S!vpOq$1s~&{1kOPG9}Wwn??Vl&n4Dq;GF&^;}H*4fDhk&{IKX zND#?CE=2C%PLz3Nz?qnRixwKf#T&dVg*iGndxutd2~ePKLXuo1@Q5XG7A zEbU9)&Fwl;#bM2##QjL&pgCb)T>(!z2zin*nnz17I4KVjStrZ^^+HgyQ>5CxBVw`V zMb&!d0N7aFcj~)T^&WXuu$$nWTAklZ-gZyqSIJ&T0Drr_roSRdW%xF zWAR$e!5rqN&@}EM4Vh1m9CfG400Ga~k}H{x1{4g8WhaWy^960`sx^Z{z!th8qFnx> zeCiHoqbnCeUAHIPdq!iJZUyoa{;=#IHYZ%m0*ZB1P#!Q-gTcfL+tO@D_M>;@J|LXc zRJ!Za^;DQLQViV-i&H(Zh2GHEz>N%4`S{ap#QSFU5~PRZBdW0pwZ&uQdO#So1hYwvj$VcR%feth{9Sw>1i&NF%1^=)%hSRS(D5E}PO~ zVd`3Z*lk(%q^iC7B--}kR)K_&C9OIW7se5e*jkNyM$s7ZBMuW+!&y0Sv^DtJDoh=Y zjKTiw9sBw|PK7TF<5ve&3@E%J;l*8KI>J?{Tyt1erGwfVgD-C5wgXQtMvUq4ozf=B zS}L_}=!U>N8Q|5oLx)g?Tg;`W>^!{wd)UFC9kn0-S*|S3Up+TDWdSv6dgnA#5`Hyy zd`j;<1iEdHB$T!RIsL^r3*LI?VNqCgO6S=rm6|dI?8U=|;onS&8tNXveCYFw?ZtW0 zFmZcB4MLIfRE9ZAq}MY*)y(Ba@yNy?=of_aaK z>!DPtV|nFdn(TJ#osd@H9V|nH3cz!A2K#S-PR?@_Y=;f1h<|b3*lX010hsPmeR;xA*~RU8%PDKyI?P^m>PZh zB+Ic$9t{kIT#-IFDEQ`JHg@_R;8^RPM?sIpmfS$I7JP9o>SCyb3pg4YS^ij8D~94N z`YA_3lM@*hg)D0)QOipVFt zN1lSpSTdzs z9nxE7FlVX$I&LxCZV6=6JATDCWV_j}YLLx|B8tY>8N^eE{~2&YC~T^OgnO<5xj+K+ zu6;xg%$5_(49(bI)XbwR&^}z_`(2%nnMQT@Tj>5U7oD_$<7|QF?wEr4 z_Id^n@+mwvnhxJY+Y@QJy)&meUvI&=o`>17HJVn1HSkd!@ zeXcr)fXhyPs@!1^=~HuH4mx&O6m!FIQx8WJ!532uX#DfF#3AJ~hhCfkNB)@$PEv)8 zerK2wNG8?xh#+a_L=)pq)`MUh7?-{Agp!07EK{O2U`_t=Fp?hB=o#EZLqY7f=Oog5&knkl>x736^jD{=ST26? zIy7Y?dNsKs0Ps&&km~eEWm=njrjP~DbTlRy^hb@C2E(A^0=9L$pOp*Y_ZDpuT;}6p?a)gt|JtY;v%c5A*Ls+I~wqwwj=z^e0@|HC@89wzEETQB+Q|JmCmb{$&g`m3to@Omw3bAa+Yt#^ zAX4lTw#RmCal(@R+wVy*Zc0(IyNLGd;E#EqQHcyNwoXplQ!~tbSZ(G~UNXEi;CltS zj9M4rP5N^jB#PY|v(Fic zYQ(gVHl~klS6+mzdeWzd!YZgEBi!c%rbk3wyW+A#a&-G6ubGKS?y*A4#vqLQm`I}- zL%@6-JCLa%jbdS(`C>Cto=b7KE~=^>n&W?d2Mie+%b$XQFPkxo5yG{ocDBzCs~>r? zcn1fnWi_RkgK&A6&5ew(!;Yph4Ju%V`F|6QuUBfidZBE^?@KER3$>Dhyz?@|OP2zNC1Tw&o`)ZtU6* zP*YDe=uX2^VHnH;p80m`pYNk4%%>lYkVJog2tNh9T8p*ntERDzd==ggWVZ!#ldPCp>d&?)ODApIi?nl=!;FH3vG z>)Ku~__qO-&0(;6&*seFQ9&mFR+0{vla`;aRIvE3&r+CW3yL<6I95B#U2nDp)wY*7 zy&*snz8}DEEUtwBHVy$-T7eE)uUi03v$q#;W4e`)_A#K8$2DCRU(WPZyMrWZ?8AhV zMdP!d?g2|ji`DPLN-fHR$E=q{_J;^xUs zZjnhYjVDN>{6-T3bRKBr( zRPNNOQFd@KW-srC9dRBAwa`D5+J^DHa9WLrPn`6=D2F{7u!eAjlJD?4(3W1XKk?D9 zDXWQ-xh(Xc8DI@MTD30l@iCRk1`H~ikw0324-e#Mcv0CVIQ{4(PVhS~K+u)&3Xw_t z=H;T;5ee($!v%H2ZzQa+AVa26VoMI25W^qMOXd3U7+jXceu@eoF#N6XTC7V}r>{@i zW>;N;!>KO0)L=(mduwLG98~5blJ5O0uKkXL3=ggpM<%)h4h7H=D~lSh=y$Qnn9ay4 z)Q$`WmfX%1wh_Pkz)KoTG02#Md6iWXgcR$x()@>aU86pP!5 zN2$d0v~90kM#abzzZf(h+te>Rq66l<+7^;Mm~^(B0RZSw@-Aed0a`rVsQqicPD)h7x4%J zH`Kwzvg~)&Y?n55sc8tQ?FF(8f|o+j9g^lcdK=xAy^yWDp~6x z`QTlrP8O5<))209^!Fsrk+K8MYs}5kWj(0TB7zfWQj0yEJ0#t zcH$bZ${9PQ9-~N9-a%83iqp*nq}sV8hh8=U9*l#`L`(7)HQ=sk!Bd9uoLpDm`9hQbm;c zRuLB=TC?Dw$U!iw(87=gS%R;Xix`rBfH!L3b==gP{|#?JgE*6)C=q@V^3%tL!)qg@ zVe^Q$a1J^kGTfg4B^pQPl!PTq@@~)*IrAENcuxq3WI@UWT1utS27X}E=z-P9zat|W zh&(oU)Qe{NR(76m$1ql!7rNOwDJv1#4v)1)Qn3hzwD&~rkiOm|6nA2PZ(SjzKqs9T zZtXb})g*FVX0-a!K!!TSnv=GYgtrufu8}Sa9FcqMva2Ad*}WH?w;<2KYmdwMgX;t# zew>IM=HT35v+}{qCLoSu?(?7j-m42kXXwG#5b&Av(y!sXg+LBnyaMF!+pqxr<|4$_ zgvKx*#vB@#I@mVE!FZ7UoQmfnxFv(!I3!{1fA$57sWeKKrt`Rs<73B?d2(StiWWte zg_W@K-Xj^V)_jpRJK=(Mr$}!(GMUQaBUrAp!}HLsj+Lw(dIQD&rwTcMcj*hsKpU z-l^gtx2F&IpwSdz`QG^*whXgNZ%a5cR0{8@l14@^;yHxFbeC?Wp(f92>^-WfqjbDJyitKVAeZiT0tEb;sK(ocX$LIwqEuxqwK zeSXNr=8>sA^No|=J}XxV$1_0{D7^n8Z|vL((gDvW!;(Q$8%jmG*&P|PaNO>+5WamV zQ^s8m-|F>s2o|Qj{V|I<@4IU-{0!!wNmIu$>pYRfazbzq=*puQl;9$1 zBmk*DiBxMSxFupp>!sbbb)-FRb$_^mOjKxFTOAFP>+?pMl7F)aMqw33+g;(>`O}it zGF-~gHRVeoM*Rd&?hGgN%T6Tf0#&#;C>~!=`N;_}J${fMny}Y!WKe#jfS3X$Pz!!9 zG^hQdHrZaie}ya_pF|~xV3a(;zW)(jeyHgY9V$b%_uV8=x-&R6@g; z_yvY>{)*lSLS(I@TT|7-$NKU!bf$EOV$bi$JGa2D)QSQ3@S>OQ-cTGt7^HSr_;k3S zOZIr59(^>k0Ee>m+xGLSM9~A(g6oM+sKRC$*d(^LlweILjENr8d6e&ISm-ZHu`>|h ziva;Zii@z)|E5rIHS%OAw9sk+y*pi{8qIe;JOh`XLM+ssP*hZWWPdt#BI5z`qe#*a z8F)=Odo-5pK$5Ju?g7O1e4H+iGX!JH%5vVWMpajw| z4x#nqURa1FkX?OxuL}-DB@9})^u*VLmv(7WH^~>-N0X1&c3xk%Y@Ytk;ryg+?i_vF zvizmvgK$4QAESep??fHB+rBycJX1Sl_I+7r|BN|(I=w$zrRm7_?M+JlwC8N|k?QkJ z)h6T6{+RmlOJ5U|dKmiU`gCOTPu2M!f-%_J_3cdif7}}IZRzx6Z{J~5>djw&8aZ+I zcxTLB1CO4(b!oyXGiUCgtR){!e(n!Wmq8$OcX-N2`^bLt_4%cfH*qqsevDpiUw-ES z<+q#=KpkLxIr{l}KAqw9Cz0D*hF)ZcA6dy!6piBBDFtsoYPN9&6g=_IT+{Q<#V@u! zRB`UZ{9g9r_irzy!*o{;{JdXWew^9z>+I_3_^nGC^v})#q8~@!kGBwo!qE3<@VY^QfB- z2(2ZVy4s|Rb+Uf$o{y}p*=xR81}p^krp>cYc#Y2Pj;=v!j#VKsetikY4tWoqj!M%+ z%+>t-b@RE=vI`o61G{H}->232NhT6x8vgH_+c8LZ^C54{6n`AN^B9qdVp8-A_(2C= zrAXb9eY!n4{Nt?^2RgbtzIi^p?2W1s^FYSsc6Wf7?4c4k2Za%Vq}$uv7vmRq&0dg9 z4djam*5#5vHrJ1FfAafKc#(m1pek!`&Z^tB-b3k=WX|Fmenlu>&-)OI0RiiA4;1v= zbz!bG)xQualB;vPo-b}^+}1z96(CA81B-DG$#4BG15f`wwY#X6PVl&q1We;E z%QvUmojY&5=>Gd;Dy|a&m{UDx?#u&hxJY4_0ps2l$p?8*dGAXwS*p7GK5*^1y*k;Fs?zK-RadU^Lh9S^hs z_6fo>ci%OPwa_}`E+_D>qh>RSN8I?WleMJ3wQN5NZACi^Dl8PttSjFZq&2*o>&6Dp}yb!5@}eBaEWDV8F z@=g2ziQr=leybHCGZS20Jo4X>XD)q<@ZBO;8!vw8z66inHMKUz4%>b2H?aux9j7_` zaQtPquS*?F5Cx$M;zU>C=7VmF55lv54*9a)99jLAek+`V|Z0_qWYB#^%&zJ4mx;(1i zqdPr)jwg8azHoq9MbGfF><;G1F^P#AlMi?A&m8kS;{p20>KWLf_Ms-)Dz$U#Mxq_D zUkWvi^oIu0=fyc6Yf|7othtK#$FuGC1?@PP!G_#pB&>K z98fPKCCrnys@Fj8sICa3?|KG@S{jCE9a|6QrPS!uBcnZ#1#>cF0~@ekbsfnZ3ru-1XyEI7W|# zBzi>Lh?|Ak4q{Yn6Ks@A6DN&fNeyOUW64zgqkik`T-eX!I5`Ij5@Ar5Ra7WaNJD7| z_cg_2kz8=XCu`2m_Gl9*f-4=g0XZ0$+j%?nhF>8%1whrDXsg1$3Dfr^p4hO9`+7J_ zaLy#?QRZ=a!*03>NV@i`AL?CC-(&@Erf=+|2m?7dLr!O3<3nS4*>*3 z{vSv5Wkpp4MFdp@b5%8+H`x*W=>3M}^hjk%sT;he92R7BHxIokDY3ik2$(Ct5~ZQx zAoBsm7G9sv^d4g=Tb9}Pfur~YZu~wv-GZ~u*KbGS&2kp01Df|qbRMBpDH>=(h5IW7 zrr`k?ICi6rK43j5PkFPq4o$!4)fR)8jeKDr)2(v!5A~qGNc=6HuTIYacSLpGZalHmr6G& zOFX}~c4zn-;!2Ks=US!q{qDXFuH<3d1PkO)e^qqi94j7Y40?`%Rl*XP8>lF+5*l!hdD2zjpaQIK6l)nVeY_y{I?&kBF;$ z-Q=a4b64W`BN_-G%fAAkD+Y0CT`f{U;F(Y!-!Wq1|LMz7dS4T8f7kRP+>7m?QS(de z=aPC3ZH;atc|xGLCxQjKZbCO+-U~0BX+cZ#RmI{eOZRX!30H#FEWYPE`6O zmAAZUR{D+QW!O$oG#<;#Vrz6;-(Za9QRm}&dt2fP&x*8hL~~zyTXn#zjdS4Hqp!RE zhKkLf88ypJbEWs#L9f|@x~_q-*~sm6`awUPf+Mvx4_L`+6?GfNfgvmiZzM`NwZD(i zkR*O>>HNsgo=2uYT%8!m;Lx=fiSPj+mleCYBpUT%!!{sdel)J+tx0qX(UZKzdtV@o zr(@AX;4(i(A{I8^&@V0TN&Ym==EZtb#pqfzwH0o8tYn*-GwAs_y4-&bYA)ijUnckp z6_RvF9L0(G=Bv_GpF8&D47R2&#(dks_{fg-m*ad^g@-hd28RD2Z{=9Bg1UFz#i>Jp-&GBC3eveWZ$|5(Xpre>Rz7?)V~ zoaCpa>7;1K85)%&q{eCKBN-qn6z3S{SlH)T7LK4NW*O$6XjkAU>7=H|Wg3+zsi9rSHX-ArxhT|8W* z<)>vQrzGhlXsPAs{y*SfJv;6!z(7C`{{-oO1S^RO%PWb5&W$?-2>^l4b?pui!b1K{ z0BMARL>7Q>E%yhyb2uXP~t z88F=KOtngk&a|p9XpjY!+i2q&FT6l_(j*1iYyc4cQ9cMeR$uo=Vr&)=<{H=jbIp(Y8u%9~$p7qM|L4p9@1r^Jzb^ly zpZ))h`Tui+{T~PrP;=nNKlb>4!Te9&uzyGX`|9=I$UMM*LjFH%*}pUYU0VOmROR_k z%>OO4e+T}%9R3@4{~v+>B94Ct|GOOiFBn*w_djL&f5f364F>*SZ-M`Fp8q4NKYagn G_rCx`bo)90 diff --git a/thirdparty/gemfileparser-0.6.2-py3-none-any.whl b/thirdparty/gemfileparser-0.6.2-py3-none-any.whl deleted file mode 100644 index 1e5e3ec8110d71fc6ef60648147ce8cef81213c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16576 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 H>+XL6GNuVG diff --git a/thirdparty/gemfileparser-0.6.2.tar.gz b/thirdparty/gemfileparser-0.6.2.tar.gz deleted file mode 100644 index 002090b8ae2a29034fac9cf575d839a361740383..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4166 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 Ql~zvw1;F~77yx(x0A~;`&;S4c diff --git a/thirdparty/gemfileparser.LICENSE b/thirdparty/gemfileparser.LICENSE deleted file mode 100644 index 733c072369c..00000000000 --- a/thirdparty/gemfileparser.LICENSE +++ /dev/null @@ -1,675 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - {one line to give the program's name and a brief idea of what it does.} - Copyright (C) {year} {name of author} - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - {project} Copyright (C) {year} {fullname} - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. - diff --git a/thirdparty/nose-1.3.7-py2-none-any.whl b/thirdparty/nose-1.3.7-py2-none-any.whl deleted file mode 100644 index b1d1b0ae0c5c2ede4147aa20bd7f9a4826463c75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154663 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

n0o4ncr`h??qG2U#cGz}BF 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 diff --git a/thirdparty/nose-1.3.7.tar.gz b/thirdparty/nose-1.3.7.tar.gz deleted file mode 100644 index a70b971c70a9e7797f30c49bc560340f4ef4a905..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280488 zcmV()K;OR~iwFo?a&1)t|72-%bT4jib7d_tE;BASE_7jX0PMZ%dfQgAHkjYM3Pc_c zNpF%Ob+i@ByM0XD@o8+Qv-``=LxChnAp!w507_!I_gur=!u;GfF@N^+-PhDxRcm1Z z1SPqXcKRSa-7!fltYe+4R#lv2L3hyG?Hz7^@wfWx)8FC#zWjS2|MqwGB zq96_9#<$Bk?Z)fz>oAJ^xbZqX^S$R$lKOG(H-7K0ymx*Y`Dx?BILWH-O z3zt93qQ>pAH#W)p9VBm5YA%i zxAE~bnfsadZM0mS)7Ni;c;>wdmyP!X9iY&2apbI`HR> z=V^H6VZ6o%KO3L=m|PT&&uIPeBn@brQtIRH6aVQfw*OA(Khc6)`u|&;KfdNcmS>;y z{0H=Tu+!fi?C%`z?jO+kANKcmZt4H$_`CDv_A*QP?1T8+TdeX^B2bNKn#?@_gBKEQ zOmlDU6FF{#Q*StoiQo^1-tn>591ijOaM(O*c=U%at#;#!+rKaV0rCIoH;>lBtKE_q~fS zKlLt1fQx9H@G_Y6+Up_m6}KO_Csso4Ge8DJvM~9ZKa6+AYpZW`rgjMe%NzbsulQ5<6s1=6yNXGrs zGNCETlF|SjqZx^o0mkdOyZpcZACf>{|Ih!M|IdH->;&&09`Pri*GE10@py%fv2a?kDEUuIXv8J2>*b!$D;|g897F_VUCd`J1F>BLCAc;*Ab2gYh!= zN2CBaQ+u4o)Yl(qBIXWn&qOmSb0W*bSM2fBvpv^`f0k%lE4me=kWf)kv9usf`*)? zD$Dhzen=#NXFR5T$0pLQ6D-E#GO($x`7EH`m-E0`dY%$Oj|iXLJDq6;7>{;xMVX5<%ya6BAc$xK@2VZk z-4mM1M*uVSVVMTH6$*}zjy)W+3&(TPwO8JUQ-6FK2j^~2eM1w{U`8GBdAptMx{Y^_ zEFjWkM`>~vR9XY;03`!J$wvaFD4BsfrfTuR>wYyjR5fP7|6z)+;t;Z;z;|(w2Ol$ch*_=%sdoV`cD z=f`ImX8iRMmMS_~@9`>Gj)b1lqL>|wN#JmH{s371oop8o4f-!Lb3llk2Oq8gv=EF* zvdo!z(MOusb$e>ZAzU&{wzo(9kCQoZ`;a%9@Zq|Co+S`=GXFgAeh$*4J6aL1kty=J zgs@b(nfJjz4`IbJAk22H6n%;k_kyIkcMv*g-$pq1h;hegc*$fLu?T{r5{Ut_F~E@z zZa55S2E(B{>^pxM5qid%1uBBgsecB7NASNQ{7|Y+1APoi5cB(RK3{p?2XPz`53%yX zVZRRo$Ru+f3M#YcMC3Dwh~Q_o(;J)zod)o&=G6JH0oaBg0PG1gV}-?Fq8uZ;*)Wj6 zh^dZ}49FA;lcddv{MpUm#)pKl0G*~UlYl;rnOG6WO=FtJ)q)nLn-Cf(;iiou1gWEa zS9F8pGh0rGG$&%c@Kb_>Tm&EChXfcIL?)-7=LFR;v0|8wg-(6AV598>V>6;Ih*#5o zSLK3Lm?O&ZTdv|sZNEn#|bi3WfWMsH^5*tDV zI$(G*(ICjk+_Ed%LTjYaX&fvji6(?%r-YCd;k`~m-tUvht++Z747WlNG?@U0k{V%m z0`(>%q>Y5iQSZ}bJQj)OMnvD2F{V~J#0=`>wQq5p%Nes?Ece4%xDe3!BvtF#1W^5Cw@v& z(D#0t`4$6B*a&PRY6G}5CIexP?2M;;-n0KH|APS|18WF zk-u`pe?=a*s44nU&(tw(ykp>4J2k*Y^aWg zeHA6e2ZHy?s-K^dG)qxqa`dF-nCg+S#$cgycF3evE#=BB2#K;))?*_Nk%eeEVOY&p zb7sxGI!#u*rUju^6I0n7v3n)LGcG+z{YgY;KmuQI8U-80{fy|j*&UoWskCDyj%vb+ zMfmJOfF;4AfoMZWE^AZu`EH% z4`z3$xBbC`cJF2q7kV0!>WLXQGcj_h?863+9KxV7gc9!&(^>T-0*1&yB!#QwywP%| zW)%h~!6jo?83mXE<8cHv3HF8+^)Q!1Ayx)3vN+holK1!8C0@9G{_fCL-w}1(mm}g) zb1Zj4L}nS!aDs$pq{j0eV*mq#H0EHpJmwYp(Eb5&fhd_7Q$a?Hh$i4~qa_GB^xq_% zWF6uSflm-~Hx+TQ8^&D_4Tv}_jsi+coBqKk0V56R2md^Yh?)mXZ$A1Ywd7`%i8WHJ zX>^9BxdxkSf#*FnTP&e%JLlIM4(YsxLz2Q}Um4eydBOs)B3V$_MoOc6r0Iv=6G*F@ z;e<~LaL-IQ0rR9EG0dB{AD$1NzWu}V_rrIOpMLxJ>*v&Yox<)6k0b0qXqOqx5+*(G zZ4}I$UF5N8yeLV|mJ5OrLKPO82!Aef7(nUpbWZP{zw7SycY0N545B({jJ@TI9#o_p z6;H>Jp9xlkMl@!z(^osK=&KzXiR1uoXH*woWd}x$2m9?h5$<~uZ9{*aS*wad*bAX6 z#6=dtSh&cvP(w$o1znCw6P_mM{-D3xF2iFf>ciPZD>Y@ta?I4%GHzwD!u{;8vPjh? zX&@_Q%i0dx*E27e^oe!7XZHFoO)gix;Q|hV6#S1go_Gd=FG>ty$AWf~R>{gF1eok9 z{pGvGgpE!rzLXSAtP%1=Og|A@BTBkjBtjeuIhpMYy{mQ7b;boFC4(hAJ-SI{x{wD` z0u=9kh>bKmp+pr&`37$b?@(V)MY-6$p#`nHWN;2r3dIN+WXIzAU>%$$1o`G1P9&0Y zsCV0ti5zWxg(j3EkqW#~3ECP!nMcv4b%RSxj_`f6v2z2Abh`|4U6L%jiy$52-C1Cy z0C_e_Nw7Q(nByGm9F#du&-=bdI+!Yp*L4YOiVBb04cT?c;!BjqyN?e`D5i_kFot8v z$it2b3URB-HeUOur+N4jyfg%~)aVaUK*~hP!de>5EXIn^IoEpwkH>5}Djlz<$Jx z1<|@h3%AOWlUiOLYnLAaAX5aA;lXLfZrjY=>l!W%0r?8KT9}-XKg^bl zQ$K^)Y#k(UA~07Cn0k0k5>=ZFh=ZN>wT3Z&1B+49^9L5Mo?nI{8Jw~}!~z4fJRyms z(hg7JTU2TJK~dhYKSVN zlHpKYd?b_5)b~g#cI@WtN2C$JN;7MN!&w+1h`a3<4nfx&sP0sw*h~bg;lC*E1G zBC#1DOtK!BG!Z?TP#O}|jIjn5ut~zRowaxpVLBl!ONq{#-_u~mgn&;&$cL4F+eTkx zlL1=_NS`=3XjdeVN|+`S@60=CkbCE7yetB7zq z!Y?cz6L?G_Q9m}g(*R{)U@AACoER(M$%!FSBmjqiK@u2YT=5n}eR4-5Br%Si3sZLU zBui4Hsb!GqQHH6pZo=W8GEF@VqD3IO;{Gndabb8i@wQB#@?_!A(UTMDfMy26O~8^c z&HLmeIUAnHIiH*af5K-L+KEWBrf1ZhlN0s#cHf@h-1qx?8^?yZkyISnPUQqFGtVjx zQd+`;(h`Wh(}#~^Qi>LSZ0+#XkOue>=;cEZf@cZF^7!P{WbXE=w}h1)Zuf^4RXF+d3l;2H3##dGZhklXP4d53NE=^O{b>aY(JH??NO_#Ig_S z)pwWojAYZ;`!@OC|DSK&PP7Z>Vb&dog_QwkfOq$=dY3~xNbLmO?PY)<-r)QqWSd!j zO3x-hdKf93Q=5cz_Tk8ltnV5j5Je+SSu@9ggENkG%?{Xv_#?j%@?X+j(XTL)v> zzVpEQ=Hu&E*3_276?^_Jk#Fj{F#5Fa>>TWsws9RC*7x#1*oxuIAUlO(WAKd)umB7q zz~V2$rjXu-cbXYA-_7TXo?GK|8mZy9P{W^PK6gUC>BE)Ynd!<{&-0wXYRx#87GUi zZ^AsfUrdjr#5@YjEFFnr8m3up^poxd%V3PKb05+H2l1TOI0#NVW`(`-{?%m@vlezLOs;wzW5XoeVrm7dJzHBu5y}>|2D>rv-<5~`T z`hpX5Xp9`X{UkQfcBgDF~vQOulf>9j$(N; z-YG0q@UJT}tHd-qApP2>u}Nd{XUp2tpt&4ASf2|s4Bp$c2WtC@Kgt>KYN_c*Yu`0$ zJ!|4HS{H8C!6_zYa-+5G*Mhba2m*gwo9F z2k?bJ$1M2*Y3!ZeK92&;I(26^`6)vrQrsOcM~IFhX)&E`fbsi+Z!bl3oVXgDM77d3 zc1&cWP(MPYT=83)V8ietaLycqbHggnf@tc_Z#KOo0r#v1QVw}CAFapAk@ZN?%Gjr{ zP|v2)Dc^gjzdquhnbA{Y4tW8!NfGpc?WA7+gQQfs^dT%#Yyszf6i)c3G>IHZ&82$A zOElWZjfiEi9wi%U-ZOL>k*v&|jqSQ1kEUzjJWme2G6h5U-fTvUa(oIQ8^`71(#tf7 zm0z)MS5ypyc-68tX2fbV0}|1ciXPnaDPK!oJEq;ifn`mOvQ|T^y~}yz1sQJGlz5@{ zhQQOfs9eBg>S92X&0JUYE+_*7oFI;)2^fOvPdSnyNO9Vb-&PB;#3-Ynp^dIU=w7-^ zQA;7h$!|2cxf+DnmO7Flj^H9vP}{StO)#Z_X^t{mA6I#r(}{_Gkm(uYgzw#ZOn?vv z7iHJWmn3*8H!Ayy*r9h}-NF;Gs)!q-2kVL>uen#{J6Hz-W0x=zh|!&Bm#=|=VDNqx zvIMFg3j78W2Gfm;gy%SxAa6G7Afncan2>s4Yf}kFnS?c1gIXAu&2_p*$U+~&ba=a0 z$TzOAv#&F2!c*8I@tEJc_a@0n7vdOQh@+E%DupbO>pSa2QnR9N`-fw_*vLKMky?-Vv%Z=UKsvWX4p6D6fdFp=j3?yi3{M zX>VH?(IFEqU(atkDmDlSnJX^4oQyhk8JEKbL&WrlAXOyvNN|t6$JpUOiZIvs99BN) zWrg7;!GCyWE(|~xGL+3VDmz0>mno32Lwm#*KYvQZXP|gWU`uL8vS9U)cN|c4oljzWcT1Lkr?M(ITEbc!dx zaQLsA^p(xLdI~HDWIHL_DKf<0&C(!VN6%rSyt_fq%LdX z(qLDlS{aPEiChmVoG2x^qUU`tG?_qIn}j@cFrCtbIzn_2ty|m;kei@9rePd~5}Apk z3PwyFi0w;bHron>3C+fI2ojx0 z!{NHlnzDBjRgWD6JG-vj%EFc0S(DpuzzO%h)JlYrDqV{!i7^yLx4jx7r0IM&LA?sq&$UaV)s6-==q`CCR3qCdqtM7jwYSF?irk zPUSn*FV!_UPQwKo`v+_TTm$qAN9lmliYP^6({_ypO8xb7#weNT>eAwbqN> zJ)XvMW%Cu^feKzW22*5HwxMqgx0voYQk;ar(|k<(GHb|l*lZ>>XL{{c=tWUuy|G%D zepd!oCfme@!tvQ?gKcETJt{h$?-q(xe)q?u8DkdJbB_rKZOr|;w=|w!%g_UVrsAy>R*m~ z?HTRRD7mz=n59c31^6AE5Yc#{y)=zk(2IlIObEt^G$dg1BOC1q-Lo&&dRHFYXnZ*^ zuk1GJY_^Wu-(Y`Erj!M%DBYisVezN`~g@m=lY(zB(Q^23;$TftxCP^ z^!uHXHyV6bE_YF<*gI^OqElCTQl&s{d1a;BuVX%HmZBxjn1eBy`<2~VZ)jdmIHE0@ zII_|PnlO0KZ<`I@v1fz>;=l*7RQ@Dq)6##lb6OxhJ`)LpW60@LF`xDoP}?b42yDQq zs=%u;dS>}ke5-?levQpsEcTrZ9vs;?H||>O_DnVzJhZ)IzZV$EE{xHiM&5@TeXzgZ zUL&)=r=DH~*LZy#QWH%9uSmfl+@NFKhD>>V_Uskz^il|fH5G6yPH8UXi#WwSj^AG~ zIc9$x=veOyvDbxMY*GUkV@$ny<*yO1_;mL+_+-Rqi4li_9)77vT|#f~Nw1=uoT$@E(-iZAkOZm9 zt;)(3U{~;Bmyu&<@ZoPG*5a2Ogw8^UlV66bxZXTp!pZxtY~~j%dAE`pVr4JcvvYK) z9!kA6OdTEWw*NZHz>#k1a1~!iK)R#;;Dqz2S}!p@CZ=YvFY{-uHd|^uTj8fkgP^z@ z8i_{f+-HSk;*ZC;_7|{fE-)i3VQ;U!0Z*=`wvGbH_m@S+W7^89(j-k53-MmTJvbSO zVO2$Q+0Fe=9J@NQQr7|r-#La74!dFH)&%L*7&DEZW0Z}tt(en;o1JhCq#1Ez-Q`qo zuX5ZXaskgqy{k$fQRvp?u19>4vbDrqz{aEpyX!nhuk$W&;iznXFa|hQ!{ox#O4Deu zG^zd|(*y1k@J(;M3_y|*hAf}mn;=Ab;nzN7QYZYz4QRjlrih>;H=^`PL%`9EV~#N~ zvQ3m=SEd}JBRbTDb9I0T(_Tez13-{E3)wD=5?p2fxmWLdb^u(jT^Qa~6R2C3*e&Sc z0F{3&<7LK#&xnWS4e>q~&l!7)s3U~jBkF*L;RWr33+){6fA5!NCtSbu-X&ogmL&oU zs_O!h%Z5#QE^{k*04tVDZpWuluh;W@31thr3CZE{XqnD>li)@NUeP7gu3_g;mWTL$ zR_W5uF|oHnhyJspUT95#253C2Yy|-$bzrhx*GIxt10B*5C>Da5!WNIomxI}9Ppo!q zh+SEOXDBo-2U?(IH~T{NcFH8i&EI{^MEwbkfF<{P4_r9_WQVumfx6t{s={(TZ51>4 zRRBU%^IXo6**nuchs!{{HrbV&x#SngFQ@VnkYnzKvZctIEX5h3(GfO023W3n6MVrv zMxceCsfJ=U4#EjXLg7sMpS)q~(=^6QZ=7X@65yU4>pz?V1lF!O?2H#>aYlr|Cj?60 zB&&SWh*EN8a*U$P)QRO`y93)qGI2hh zt`Y#}&yP#}7`q6M7W#H3lrlY!?1eCM2s)zjbM zbCtW@BN99Q`g5RD*ej&;;Sd~UICNamd?ayKV6>}F5Hr6T)3L^lvnH?pyQplZPe zoGYkey;wHjVO31^!3LnO72P&bWu9hXV6quqxcy@zpvq59)=y6jm-d#so~i_Onkhcm zzXC5c%U2!TLZgc_zK1>5c#b)|k!*jPa*`!XkK>1~vV!qTjy+(V(nI-m?9g`N2c?O> zhSUBJK{|ohSvPgL^P1<2qwQ^U-4h6bSh~%Axr4pE!@a#KsV}b<%8VM2lB}nxCp;T6 z?YN38oBm}aN4-RA@n&mftQEr{p?!1mILt4taH@9iFdF`THtXTPb2XKpbD z6E|tNTo1QWz=(DIbr-kqa!W^7PvRm}!(`UdRhu-O#v_gthp(aFYAhSNErJn_SRoYi znH>niS7|7E%z+K1JYFv8kn8GMIE#JOTqKn1!;*~wMea~W)0bjhd1>gVdyd#UiF~aA zO9!wH+~{E9N_xM^ZiNwBK%~}uOpx=Kb4X-c0mFLB$e){dX-UDRAkT6@Y!Zbt9~}-y z*kMkkYIm$>QLl8x1LCtI24!Ndfo0??$222Kya=?pdJH9nTFUC6B$W~!q@(ZaJ@2Y; zWuWvlNmwx`a#G0^uwtHvb@qK#lAdvvU!Kv^lA%SNaAp6J5!=~V#37%s%b$|a%A$)) zN8Dpa*2pKJ&Dpii+U!hst`P7nHuqzq}@RtT#znbT22_~t!v92PUVM?%Ve%BkaarVg>PyxpS|wt8NNF}?iuqO)X&}C`pmz%6estllVC)PW^2(9jVI~W4)7uJF zVGBF%Yo+F{x6%=rcgM4m2Zj#(j7g8&`zSJvR<9G1EHD@0wQwCN72`%3Ura6C7wm|E z%;2l|{wtX@8Fd+R)j3^|neL!(sN*?P5Dt^8aC{gb#w*7~sn;8e!HN;e{a3?0neLld z&c&&()YvL<9VmP_QjhWy`fQYXA^G zXn}i9RU0v8nHv^P{}NJ@B6eHSu{kyYS$N4vAdxu$C^7MIWfo$Nv@5OCa0XY4bZMG0 z*_Md9%LOeuuyHAP>-k+j!Teog@>W;9 zV1JE0!jza2EyjudG1fgJPN^S5$z@QA0H2Qne|);ScH(j)fvl>gFN{YxprZ4 z5!!d$O#Oug8$l*rjtEy0j|9p=dd^}J-}BQOY$gKK>4r!m0y!pr?z3OPWCpyJOjQ>r zD-e{G+h20smo?K#O^#}h@1mJd`U#6YzndUsVp`7eEv96>7-h;9BoZC#*%#CpE)k@u z=6OT3k7mZqT-y%OrIpwNVHPv6%_E%!!6GXH_`&RGNfHT?6fR&4U~cy17X<_J)4&80 z&I0Ii?oK}QN&NC2pQk=)`ja4YNPd}Oso;?%k?$zf3>qS^7L*?eg6Bvo@8c?#UKen0 zAVM1ATe3hf;eER4MS$}f1+Vqd0c->jOiK7VA7}TR{yZdQ2a}#owWLX4uQfsZMn)`z z3i@Z7G#XY`PADN4sPV!Tdis_8M0GeL0UGg7BiV~vDtvUQ-l5vs+G5+0>jYwb4@PfA zAMGm;Nv=cy#vzV^?+ydRkq}@KY>Xl?VP@sbQC9ZR^!bG>Y09{9u%NA5AaY=-RFNt& zYZoTI38P7XT!E8y^tC39nkzHb@xOEJ-JyE1rJ`WlSV%@Iro!Xt>jBzb@zb?(!m+fP_34etyH`}Hxk?G54k1)U5jKf6d{qq%;dkkv!Ir9 zA7ujMy$)OTY2_v*p?mSi^o$_pBre6|u&UwA`ANvK`Tydqxtl~XNBPz4tf+2j7-T7I z7Bx@L6XLIF5}#HK`Yg>bd2p0YQ;X76rC>hJW{x+(MZpT0ix8(43I)Sz7*B-la@4!g ztfG}s2Q(3|=JMA3PO4V(Tup^xuf=MSHI7JZfba?>_wLAr`{3&|m?4!y=5Y41!1UT& z_UvAGEj1Rk9kHjH?F^wqarv-15QF*A&RIX?k6& z?8LaXwJxBEVex`xphdnmRbv`5qhA%zvCb);8ca}Q_=VNIOxQ1Mnl^45#7-|^GQqaB z{y2P%pvFX3aW5GzTV`A{%1*D&aqrS88TN=34AHw;Gc@E^uEU6$ifhjNI}3%SY9<;E zYHdgyyZq6BKNK7JqFbwJ&>Rt7Q~i$u`ew}{NK-5X-fFAJ-C!e;9Yzj=coAw$5EK%^ zEv@QWMCe>`Tx%LYDQQo^k&NdLBiZbxwwk4+aXs>yaz|C{zsCQNpQb1U#j6u{fJyyl zc^F&C?O^sCZ>Z-vvo2Y6FSom0&dZrtZ;M7C+dI6%0HhHB%@|B*oQi!YE6?f^=CpqI z60jw;ftdP7{tAMsI-Vokfi#H0{;TbXgasO9J4?rKEG0X%oHJcY>_05T;aVjg%_wJ$*?*J zQlc(J%9~76*S(gqcfqB-?K>eAO`V^azfz|i*J=v6CLWRZ(!~jTKSHtq$BENdmY8@$ zHmnIpmAiczZprv7;_34IpJ>s>@lxW5rAs=w|oH&#}n3HDx^ zQh!q9@DgXBDZ-dok16Wk6b!R2Geb=rt6O-q6q6w&l1242%nU*HOL|@C!hKPU6Yx$4 z8~F<*F_JYWiM!6rH=U_-4Wl$ytu#p!@aJZ3rNR>SUOc8*R2D1CuWNF~)sr#6JrctZ zD^cApX*^55!-GHrND@#$#g+5y`IGOyF6nO~BhaRh_)Q9;LP}j4POQ?997J(+oSdRX zHf7G1$hVEebFyAZCo^dw!d%6z>}o}*JdO8`rf-T8v6@fhh{RgsmF2`br6j;5d9hY= zF+~7M0hC5j<`ZIeQ&L`upQ4NW$u{NaqPG6VLOuK7TMZZYs&%Qa~HIkRM%Xm zbnmzOZlsH2)AU*Jj%>n96d9bb#;+Ee!q zi!#VmbCy^ilw}Og1W_dR1{l2ArSMYB0?r*n71t~bEn{|)+pF@zZ~;qdP7O1?=}H?w zl0K}XF#vmpWW}05%#=!j^#X&8R#r4Ek7t6CjpU-Y+cSR}i1!-2&5VI!x+usdW?8of zyiZSX%U|jnqJu9vaXu`tIB#$bQ)E>yw8gFi#NFn}ii^X50!mzo^@wP;Pve(dOFnKI zus3Y&Nl{2guv_bQL*~{Oq2V~W6CRjAjcQ#4>$K-H5^p$uw`DOqcEcr@!rZoHIY^a^ zX9}uvomdrTqeGTGwrf5io&?X?UZFir@{Io9acXl4Y;)Q`=Pq8wX#YAq^S$R0(Th0u z+Z}saN~yu{3>_)1tq4D_y1gYVs`PVJyUbQJ%B4id12(L&=30_p)?eS+Bol~|DQ<9@ znvo#Z=4x!IIctDMpl6>g;(ylOS<9@Z3X{X_$`ktFfQR)rgz6J^^SM+ou(c?Pz{Bd* zX1KShyd-9zvWZ;WnT=uy>Fes<4O6eBSLwk<7wLs)v*leUuE>caa{8DfgPWx5vi=l{ zn#BN>t7SO)y66mxL9FW5&EmZibc8{klyeDj$h*1AQ8>@62vIYptsY_02$)Nlob|Tm z1zq`6vojYSN7b7IvTb%FN!x>%#4s@CWfd3su7@N-`_v68e7u#7uetTx^PZ1ZH881B zFa$F>6P?=RaHXwv>WLdwM8m(z?uM23&LXf~7FtLU>>`qwCe{n{5_`0M zLq^n((C}w2G@Y}<0PI4{S*DJ#WVbQ-03kuPxw?sX=FADOT@L40aotrZ*%e__nZ|NC z@h@z;FeRO4Q8Mx)=A-v}hqYXE)#I(s@|D)9-;m0#40E*>a7RWqBA|^%D^;3N>%r3` zSzHylVmhm!u2?nMN-)vrP@gS2_NqoXBBw?f(`zb{xi;n*YVk@(jHQpQe`g)Y0>>;uPCp}!Mc~FXgQ%yo52@^|}&O971 zapr~5#U=;qd9O?aT-P`qI~d6%WUUNzPx;?HNyBQ4?)O9zroD|m`GbW9A$%6iaTSaCu!RIh^kXbtD;x}StXoV4#&)|M6SV})={U>PQo?xqh;d-D-`o^oqcas;_Jw_$DyO zR(dGgA&j$$om2+Y6abKV)O%vhvYnET$xg;*F49{AK{aPA-$>Q8)nj(Ii<8f$t`)@0 zi}Pm0ZksTFIhVag#rj#w^iVRe7nb+6jPdqH=UQcu;vGqGgzO*43?jby3DZ35ceRaW z!_@B0+2%D3k@a2>3qq;6nA5?lPTS0_kn?((me%4 zcyDOyRU>C#*dZV~=`cn5^pX8bNByBv@%u=m=BS za+Imyn6%M13R_0LNG^lgz9zvofWN953WTcEt-soQ;NudT(ncMP!6@glY-VmS(pQ`YUGv?$1;Du<*;iWi zo3|gH51+pM!}Ir#zkXipA~EVY$&8#s2_YV3?#h>uPbrU%XM9I&SFE(xc(Z9vs|9NQ;3>4>>kMQ5T9TLpQv(R_TA&; z&L*EmvRO+gh7cq(oG8LF? zazt3iq*BB30ywyaZ-taEaT<0!^;#T!#fej`vyzQ(3cNBSM*Ao17YAiTg@Pj&G2t{p z{Vm#vb$_yz&P+Ncuq%l;naY4gG=u8ws;~3l#Vu13KF4h0CwO}G^}AQ>ivNkdAX55m zdQaVKr?#Pb7whz_VQ?jK(s- z@r1Q@#ZR^mzpT`iHF$+B+80oJ8IMx{+0}u%yIxB~j1@$6KaIj5ZD04cmLEtVj>WF= z<)|P%R+i{7+72~NQvPW}PO5v{X6{97=Zo9Ff6_nTPIu7T?Hz90B*}rL?Z3_#efm4t z+v9%^5BB-r{*HX__xA<|dxu{Pc6JB*`-8*5{_Yq3o&N4%_Y1H8IW_>X(5dHr@l*D* ze>M*g=aSa7qh{0THH)M_`|m%<-<>ao_%yb*ww@5fBM|TxMZWC7)T9Hp}c zK_t!-&9n;0M#!Yu4vX1x`|?i^$to*Ej8n)r5)3D^;g`meq4%XYPKm34f=@N(Aw)Sg zM3~@|h%3ZLAI1aEnR%akt=$xMQEUgV^v>7ATZS8#GdLIy_@ z@cxc@;LMgg;!@oznDX^mK3$&WVwQ5^(BkSLfTE$Bmt^J>s-2QfW4^8I1KiazpQka) zq4rTQUvMoM^W9I~ue73tpOQA(um>pB67)H0XEt&YW{N{bky7*cyARLb4?n#8_`D%j zB3GxBS8NOKm?J%$-po3dBU6Ewf1U(WZz#Ai9M31Mdx(*0%PaW9SL&<<8$c2B(P?}C z#*b_}4N@t(?|~t=xHs?k*y}eoPWq0u+F6%QAu0T-lf2{oX_@5WbTYxWBok=Vrfo() zu_=V80aQ9nze#O&cbdhJW?JYlz%twAXWCEGlOjmzZ2hsbZOyH_*;doLi-wI2ZK{uS z(LWS35Zh}y(-E^DtEZD>y=>tVQnu*RyW#hbUw-U(l}+>Rxo7t5`HRQjz4|yL{rAJm zw{K{?EfR-&yZc-A(Rc4(;b%>)wpcAfH?^7(!MCO4$M(eGzuQ}l56?e-_wM7{x34}7 zUp)Ty`LoJEeiUub5A*qgNGk1tp*Owx*#w_kZGKL4 zq=)#IR`Yq$2?533tl80*r6H;G!;1-ZMDQ>Ra?*yh2TL}%6(RE}z0-1E1 zSp>0JR?%jt>(DiqUha(}lFPu33JjekCSlX5!zyh9A~3S_L~NBk)Z5dEb?_q+usU=7 zq5orheIe3I@u1kSH|jWXcg(bQW~qlJYH_uXm-ZnH8w%{rwo6~2Rl5|eX*fI$*VNAG z<2@HRDio#|??VEs4@XhKFeRDGC&nOKmTh{@JSx2e;*2cYuKW>ceASoku-%4DZ-#X5 zG-^ne{HVUy8h8@$EBY3e+e_!jwQr$K5r+#R41?K>bm3XYv-p!ILo~ZZn|}bbDT-Qf zMeCZ5p4b)+?r`;Mdk}Ko#ZGNPqwb&Z-x2r?z=nV7;v4-ZbvpW0fK=8eaBpDG);Mz( zNE4C9N(9V#@YREi9~X1bD@kuzSZXz&7LGLRl3?p>2JBQEnb49{=x(X}-mzjhXX7)= zc7C1&k-ySWvC&l^(e}-Pad+=#-Noweq(}e5&en=H^mo@QW&trnzYJk2CkU(gaqwgN z=G&u4Lld@Zaa4p2>)$lj%HM`vDxmHfa>NadL#;;?I7stWzvC6>ukv_VQFFACkx^5P z$S`Du;Fu9d&by)%>57jlLR)1Ajvc|Rb~j`N$3TE(TC)kqgMGw&45$8CaQrb{2A1|} zrUZ^GxnOagVbmXGoGp!wmW^Tv2hyks{%yItcj0G48#_QE_~L9fB$Q$~GHX^t28d_< zr(I36*p+I-bvj-8;v7wByhcT^2XJc8QmfRE5M?-VxPGl#fVXuA>-7SDR94y7)B+(6 zg*IhdY*Mr;-1(PKi_M!?+Kiss6D#{~jFAB$bdGLVX zMD&?4)00-4C`$F{T)0}_eZ8tgQc#a?3AEN)Y<)ZpjKO5$nn@gUQtQ$2T~ea-BBXWh zcm6ZpTJMh?MLt~jBP*=&r8vF^02_x|GQ!M6N+4w*EakQR8Ec2;Pb67@{gpaVjuuxB zY3=JxZNU@MC+O@mR-ol;o zvmnZ9Foa;xt00|&;XhO;#gB$Jvn?t)+oWKB3O?M3i)_M~TDX4Z)b4we>ErWnAeMw2t6APkV#$UA6X z*EO(J8229~$t6d*s1F#XSc%ZJR$^XX4pl4fnPd2y$P6WRB=K7*Y2u@vN%mrFbh_B7dpDo`JmkyH$KF;+KJGzJoBa$5sHZQ6__QRh^39lkv%QE2=${9)r5mJh z(^Lh_bd2t3U25;$EILcK?IY~@W4=L_28%$;56X11&0O8;FBW^4$Y)y}EU8ShWm39J zt+mH@y!U}W*_JDK;4qrKWke`<#wBkr0==duw1prUVH89zOr3VOGpVdr;0uQ?=K;4j zAZ)1}63886f&>r#q#{(wHu9upvpU|^#b|4-k;(<=ta!FYG>suS9oNVhGy$W-SK3qm zHT;eSb=w!_Ts~o1OT?I7+#?sGQ!cD#G{&Mw+lNXA7L7Tj2-ufDhW3>A3njc51huLWlv=I9eQsP+hI z#k%^IF4VhlYapGc#c}&BAc9<`B5|}}`rk8m^T%gg5m>GxQazt2|H<<)?YX_Q#x|YVSa>8R%Tag%wdnqEnGvaZbtzo#ar*pWxJkv zVJP|ShfF4lg_YJy7OZ- zeHn@~zP9R~>h#Tz#awaMbvPxY8@d+%76-naqKu@ml2;^zFoT_Qy;*tk-^FJLK6Sgs zJq=le^X_H#%zP_prTboq$ zXqVKi^|CH2)IlZZWyHE^Tg_y3CpMVqn;(j(rio*KXjWEICg+p_*0y}F!Hsx%CeJ{RV=-< zLY9j3&x<=H6}jG3x}gs9?fylO@&y}>j1x8bE-aw96@sg0S1e-pG z`5Ljq@fn~x#J4(KVI!`HH2?hTue&%&@H0A9`TPmE60S+(S2F!g4C)SlTU zJzS*0G`wsXu2V2N%W>VS-6(5*R2Ar~Fs{Ljrr{6f1F`H$aOv=H(zOOhKU%4dA9qa9 zV-O=1s4wA=u8jyyHGu=mf88!_JxN4}ETgI}gj|Td$2ZV%E$9?*d<>>0{nQws@?@ch z!*4F4FmE+6&T+H-L$~6GbT+}3d2t5QzN*eJnH3aOnMJL0IU?Yc7|utsKlQe<(sZ*Q zxFvS?$EyNWZ#36pmbAS{h1z5TUU7S-;1Lg;z^H#*DKmnDi`bU{Fuph8D>kOj!ksn?iY-) zj<4+TyO)2<2^X^~l+@}l1fFHkbmQFIiy*GbBxZy9gSumKSOfN^Txr!Wm?GeIQkAf+ z|M9pwy`Fj0*a%uBrA&tALLM5Iw?2yQ1$$G3HUd1EHgdY$%v9ymJNe;M+q<`7GRHJB z(NM&Br|{+&L#wL~m03yM%<4};d*d{Pl?mgjYnV9^x^58eI&G8q{8-WnY}TMkk{Q=$ zoU%XI31rkI)hwbH#1myA951(FQE^w|9E-y%%>&rJ*~(XYsukZ0^>MT*;HGS1a6(}> zPid17RWp^VWh$LwYm-Q-3Dg{G$tQ@V8|Bg~Z0j|_NLN|cOH#Y>Spu!uu`U#no!k!f zkAv#bmKB0udY?xnnokC})6(pY%YpDDNJzR!lY^#@>4oOIWNwNBw<@7 zcH6A4h!Nowj6sf)l+fho$)vdE4j+dkOLS}!g%i|Gp2C(sF3;TaPOyNcjkUo|y&}QM zTIf30)|3V13B9Z)WX(TtoOx1Ks!{7}MPWf`=ci#9@wQP0}zAj`?zZ!|FLS5>r}aZjmM> zHC-R8<-bDl?wE;{=A$t}NOO!+4JwfmMa!O~3T){ZWg=A@r+4SR)OuDWmNv?V>)H%MjntvavET1RKW>exVF z4-phI&Mez%Vgk)J1aa<7BC^c}kx*!JkQfxUXbafo^MI6C-Mk9aInPUzWdCQa5yhN% zd4tx%5%`qHr!=|ZjJ4nPdc!6ARd3L6d`c_3qMBgc1vg;^l~TKO%*Da8w_t zeS^>s?rb<2%~}M6TS{ASWf4JSLFFEldoiq~H>C>}!2dq6mqd!&u0&1OG5}g@O=4~j zS!Jw9Tj@|oXJnyj#-OO#L!t4T`5jd+)z%>6!6pf9ORNVb);javnQOrZV9}hmv=W{r zLGd5B^7(V{)`255ITJTT%@`<3Mg_N_HP#Yp$!1q}`5m6Dm9=v$PFblrcf?VQdKbJW zdA+%tR7rs}>iLt&Q2HqJT{B?>wr2Tp)7@;Oapahu<0hBg80JI@xFx4b6!pA_okil} zV!5yJoDPv zUzxv2Hvpjq5wV(Wm?K-0A}p{TuyqA`P#q(=>5AM#H-fAtcZSSSsz;|88B5`Ldi)GQ zoQG>eq;mmLFR#i|z%={0pRKf&0V$Iw;kXQ@jq9&Sl>@8|{+50%A;$XU<*TR>QLK=| z456zH*&Jxf9O^}SD*;QEvUcOM@&=1b(pPcA=+1aN{>pRPo(`z_oVaip zck^U%c`N72O&b>Y6VgLm8pyOjom{YrzqYJ+MI`;`X$gGz&g zYJ=Uom4)tf+!?uF_S`S~opP^ooV=e%8yE*yA21EsL#2#A8==!a?f1WGSm!cL^dgY$ z93|0&-&>@(hL@Wm>jntQ2You|jl!9}z@1M0c^IvZkQ0^^Z_?ej^b>-AVgE~rfRQL0 zIIvWnNCm|1_vt9E1!(~g1`V$ZEYMH;1|Jkpq=otapg@g@Nl;x{}Jmv zyp{hx$KOMej5vMx@fOkKtw(@|huf!vM~#Oh@VHM9#t@D*6}c%>EhbZXVdqh!@o=%$ zl_bKR6ou)eI^bDgdkOrE_;&B%_JVr&Gh{mAe*Z zM7JO2=_4lJ4|CKyn7}8v-@m){NX3$ezB5ZOp)Kz;4W`FiG&oG*dD7a_$!)c1CiX>- zE9u#qjIvX{?RN3#1>(+e%inSFRL_J{$|Q_^dN*$M&Pz zeOQ~`)muUTrd4qGl-(dfGOO;x8~Uxh?(a{1#5QozIL$h*+2sG7S7KkSTah!w4UY9w zCO=)K2-_JVj-%#0U&v!mAD5T(P71fC!8lw5Vq0Bu#=GFsN02;Lb#I#V|6NFv_XLC(HI`UIyTK7PrwHiX69k?I^V zP}U14t0>~Lj`$AwR0?rG`3~c*fPy{lk1yYCnBQq&Wv!R7aj|ls(lqd;mKzBf9|#`>opxpr zyRJfXJ|n@h|s zTZ5rSiPu_$d3Z9g17v58QzQs>o8n{Z9WRP>Ke6qs2Lx#bZlwU#l?m4#;#9F`PQT^t z=$7{5?-2iSz`u(5?^^ud*;(`d9`5hm;{RvIe|zLxin0QqY?50?{9_mK`Jq<#*(yxO zrXvJ))}pwHh1sD*3)O2L-)!Y)xe+~LSPU2}e`_-`jdi)>s56bvIIAr>N zi~oQ7zo&fI%TzATAG?2z#wOx`S8hqeKQI2L!LNw@H^Bd@{x>+>y^a6axp)lQJQ=0YylI5CmQTiG6 z|Nj2qR{#IIvi}JP+~V}VB>qdV_E3_C{Tg)OTKqrQsowwCJ-Chk_zm%2v0|ai7|6ddT zaV>B-_OsyEiU7XW|F>rUBZ=S^|3Awg$NxOVVK;6N=i_IUI3LrHQ!UtbQ$LKBY0!Hi z|K5fM{bS+(1(0AORVjZB3UEFDKU~ZIw0A52|AzeE1%X>J;9m^?mw6a{-uU0a-dgyHl=`9^8-`1e@Xnu`Scd6&x!vC_B$x&e;FL?4Q~1WXZgG1 zb?yGx(qy%A6AMUnjuh_XhCy}P`5WrOdZ~3?w$M5GRU+@uZKJr zoJXE|%TN6rFLFzMms4D}R4Nj}BQ=kbGk?`V2P;&(mddmf5utp}TOO_2GQ~GZ9!Sqf zbc1|lizLfJPHmUrWqvkG z-Pxx>OL0x4(laqWoAq%X&cBl{fZd97F*=)FDBnO+T!iw$RDMYYMSJLCoI0W*a5K z82ZLU*=ci<7=;@hP(%S-=M~@%0Tim>I=`|+B;T8zNMQSD)3DhlHPEpl6nQDeW#(mz~UPFEvYLjCE zE)wjU=FK1$nqPUB-n*kO+7|RG^9B3v+y|4if}ugjUPB%X=?Bl|26Dj%FqzH;Z6*Dr zRz&`Z*4=C92YPqOd)#cGY$_LR;NQS3I^OU7j9z~iL{UIMV<%-`n(HTWjn1NL00bzp znJHIC_s5{tnO30=IJGCeN8SBJ`}zyti2aME1^o-X5)rQ;qQFJm&;2w^mYHNg_P7rm zc$zF{r@A!i3k);217`(eA_7F{`X9YNnwj?+1zHkz3$bu9@rR?GAKUu&bV;OLfA47G zC7hKXEl&OIQIPxF>DbGC!l{NyYr3)9-5=X#7b8EOEs^XQJE**~!d^xOt9#!2U@C>H zOB9*9!rQ(i>;!x*7c7)dZ1>m)JJd0k`qdev!kqJq#FpECCG&u#m$*AcVMpO^%#UNRnlR%tJZjvLS7=|F)c!eYKuRye>D)F0hyauX za&=`yucllr7QDQt9r0V#+1)4JT@owq{*htxm2QFs0U-)>{L5$pSz;8J#90#~cCeI1 z-7aIy0Qh9eBs={Tb!W?@M6uanvFih70m@wm6FsUj0SGR6HbWq{kjoxVs31FO@ZqD8 z0EquW3gWF2w4;qfN%Q66$U8yyypuMj1zyUVM}X_1gLX6IZVFIG=?pdfTST$Np`}bPz<;Yhr$7CCXxmG0wLXL zqIdH74gEpRmCib|QxjQ6V264l;zN?G@=~V+CotEFZFlg}Q2N9)xCE*>UtYLW3HRQu zW&*aYY()ru>75cijzE(M8{32lt0>U(B?_*Mhw?Ka1F8rU9#F?`9d!QYeDMz2}gS&JrGj9ulK0xLW~ z12CZjdZlNE8pYJh)&45S&#)1u0rs)DFcME9m49;Na&4(9$!`}68Dxb&`@9Ie6-JWTqsNC{b`xxT4ZA4 z)4?d-=Bq_AOMOCh*8gqsd5EJq7nhgWPen#t|&A6Djy(D!aj?SZBt^VrGS{ zsLbn*5EkDKG32)~!^-4jR{y1E!qQ!bAjU9kZUfM;(yF_wrpiW{=@y+_{dUc(h2UUc z%@z?P%sA)n!t-#lq#cvxfZ7H=p=}i8NUvf@C|bo!nU=PPh=K{r>v$6&GL~+K0bQ{ z6~tq?EM;7Tv5qOLO6ArpC&Iok=}};mC#Wq>?ecIemcVHkhlE+m`k9fY=jG!{XeA=$ zihOT~OH8nrvrG&MqN2SaZAPEA;)N31pf~GzTfIxpXxp|#9A=wBz2-6A^5#g7JbTOV zxj&RtkYmF6qZjHBJV=l?DM>DPy>9wAI_#h=C+eh9LTc}cgvfNw~ zYSaD`zmYGHhikg{NIzfoveJT28{RT%{c!WKt8W5=YTkT>!jT)^lr-g^Heq3wD*I>; zH=lIf+c%$h`R)37Bm45GGI>~tYG=r;b34smW5ZmyU1TRjz!>@Arf3A+ygXIs^^VCx4`F>0PFcmwiGhn@G6b?A`v?i^+`fVq^c^`dF>m;W`Hz^Fn$`$LF{rhZ7NG=o0%d7m?sFl z+A*7Dq{dSexUD?3+r`g!`g^fU;-rU(U1Xbw$(ui0h`8Lex`t%lr+hSz4M3x*l(VbEXXFk=q}^e^`_*r88FPiSmA z;?``OMJXX8C|ewEtLa1s#53td71JzuT&*cj-4J=?8Nk{jM8j( z8bAKJS}OIRU?iF_=g~L2UeQ!v(7|lUOtuP@pQ((MNm6UBq|PIhp0cmyHTv{lHv^Bs1ba{JQUv5JxocB1zBi z9V#&BJ2*GUhnfMayzSmZGYcwRv0lXk)x65)g51AUrKz>fCrz8jAaqwUz zStt$}c3Fwp1XAU4;rWflaumVnMia#ZZRuQivo6>#*1Bfruvfk}OOi=L7!*6^_$1mr z?*s93dB2%?C#;B?ez@jewKI?<5}W-n${Iv3wXSdZ)P3}5PS^Na89tFI|Ueou>i;a@$T`*Z)lI7 zNzKEC-O1l4Y7{z&OU#7*v33KmtSL$FFc1(9O9M}vdoS~5)`*geZk`f7B!CqM6${Q; zI3xLjri7}PeRPkzTLY=wAOv)K4hv5%KDylkeH!PUAh)d|lfx z!P88E3h&kHAM$cePdBRgMTBSi0QitJ{YgYTsk_;NkUqQCk3PmKrjhmdsn$_94$4D!}Mjm2_`Ao zZRyCro%~l6S^tdre-8Kd*Yf`y-p2oamcM8Azzh7{Apg0NSEGh`7lIy> zAq*~H5iG)x`BI>HOyHkH=Mw5f5IqSv3Qpi_Xyce#8VF4yMmjUrFtuoROblX&JyLN} zjm0hgwBazBPD!Wgi1mI5!*GWK8Up=isB35+NvQVdr=hyu?C?MIe>BhNXLl7X)4a_M zh(%HZvkNWzV^2(8Xx$samnKt4W|#bn2W_BF$9+JNgOvvCLH3CE$%A&g@%JSEK^^0*gl_wp>Obu4 z@2}N=*}J{}`FZ|c$bqvOpQ^QHvzf*b_c~5EX-5@B$T3qAepnlZH78OLjBPEGFdM_S zwj%N7o~oNslAL9tnfu%d8e%ikFFo%KM-5fOoyB92ff=wHNyDw|9d>hv2_e5Ejj~Rw z&Km0VH3$r$_-si^E_D%H;zpH3(xV$vi!;5H#k5F!i{ba==qAPu?{U0RCl)t_@r^n= zK_D>C9hr5ISmy*XpEN`pSb@g0TeKRzd`1H43^JgEriVNZ`=qEl^^NcdYkSoL0ivyZ zR_u+m6cZTQtI>lkRUELR_t*UK8T%-(v^W8q(Mz!Kx=@$z+y;Jh;jglyh1kn-6GxcD z9L}ao5=Rz2!tm5@F@c^0RL%oG)_Jbf2xJOJvs5gTEw%waQa^UeEttae8{Z(#+PpN@ zK{!ZB=VA{$W7P&X**pv5+JSib!`=u09d)>sfX(cP-jCC7J!dQp0K=K$jyJpi%FPsgoXZF3 z`kpqrSA_9TB#s^%WUjg?O(19>*#|pLw1xHp>m4#XVsoT5J`0!!8M{CO#FF`Jlcp{| zs{52$XjeQg8jb=N_hM*`c!a=PX$mZCcqWVuwx%aE-3z{wf(}*D;)Uwfa+XZ(Wfg$4 z=ylTTRLKd`!rtG#{b#yN5gI>C#ohetNC4OI|DD5r`TqA#|L~UoeyfsosnqbuKgs?bzkps)PzG`wV!$#(UJ4ey1-X@}DFw)1&YYZ&wU_aAI8 z;|o6)Q4L;}vfW`sS@+a5)ZyGF;K4S>rQTo(gT0;Y zfOMCXMT((GwRhzk`z9^Mq!8?DTF*(83yI;4NgCRAzienvM?>^@%zG)zRVui>@yUjs zOqvjLoR#kz-twbJCBf?V4KG|S9gvZM&%%XmJx@}^c~6r@<8hjY;;;zvan;Lw&pUY> zd(UyD7<}wyoToG_i=M{i%N+YV+zI=rVID715@lhdJQ)IwK8E=+^PZ&1MchQbgE8Wi zaMw}>hTL(^F=)nT1j+e4B;h)lHazJc%m>cWB~o=_RFnsio zZD^0)2WqVYB%`PGCV)tN`onp|I;mFkv-n(f93VI z2fco;zrD51V{P+b_=Het?P*aR_91mly&Z4aw;%CL=!;IofAnyBAw5b*)HAQ=7O{T` z{{PAu;I6^{z5WjBzwDFHPf7sV4Gs=(^FM!{KVrExX`VF0M>Vt4r{;ActTu5z{={G8 zP6j4e=b`}C7GOFXexmSpT1vh6B(&tZ9H90A+#lv^{Qo^P* z(FjRNJYk7Z-%#4#s5|%G#vIP%efQ?&e{>~P(26!=o^jY70=Y;u8~G!exJeq6E_q5> zU`zs%SA-_mNK(Cpnk^?u@1C8SY`Q*zM}ZU4ZBN2XEga&ob~6u&YrgR|^%mhm9@7V} z`m|%5(oP&)?FdD1nPg9r@c)Y##vQ&jgsqq4D;!8DPvp9l#Qa-}5euR^k1#ix2=s!> z)Xz?l0D*+d+0Qg#G+xF)y1K5$6DyDg7Y#R0R6Nl|YXCRa)LX2~z>UT?$px+fcf5P| z77}z6CwahLdp|cOz-#xSfxUALMjYy-m&FNw(@7V>^(#5SA|{D#oBW;)IW$tWnETlB zM{scwz~Uq~4<(Mv28VkOml^HCqmzc*z3k|nM`I_Iki>E#F>6*gCVVxvHX3goJWnF9ZA&wGMP zqPs7NBncr;);MvX+{XW@ExmM~!8SugjtQF-D$-yoQcpTgPRx-1KYMT9 z-L{qF4bQ)gbMhU~%=96tkd&x(hKby9ymb7uw`19FreDV+f+Q#*1_2I0N@mZ@^Vy%; z?t+DjY?+o5@N~x_cyZUNx^?ST{VLCq{eFfY9GHizz_Y4B-#!qM@YS2TOz|)UCQ>C_ zC}F0ll~H+c-2MGoe4yQn^3fS$Vc*38J~5Ss`D zTTpiINNojYzgh@oO)k`v)c$vFy)MKOE;5**)N`kjU;piydWw9-&%3`?F(P z=)^#G8H`4L#0^N42^mAQhZ42yU(+Rd&f;5X&VOkA|C#sRNB!(ywy6If9qe`U_^(F? zmH*dPJ{Y;iOHP_W4vI+d+%UjRDe@_MffB4*5}o;-bs-_>b?@DQAr_g_AGrM{uB|JO!_#+!B}(sexo z(k(T}3OO$Gf=snb2x!?>1s&)<6Gcfkg<3Y~sFYmRRsMN(XTJxf$eeoQ`ih}IEuzK# z0zdZTq2nOsmUNv6dV`Krxn1Ogcg_9P`4h{ATIcdov$Y_8NBO34xWwiqV`cW=V4z%Z*(mAPbwe}}@*xN$nNgB# zgSk;fm(7m+o}V8S1zI#Jw01Kg@)oV05`twbs0HLEtEdYvT}f3U-&+Qgp?8(N@q2cQ zqu@I@SJ6$nhI{u0Fg9h}u$P1ZA@j}c3ex86!wg3}@ycWf?&Y1`^~1z+%LWL)Ie!}3 zRqpC@Yp3gWI=lIi|4qa7P6U`h!TrIO1m&&Qq35h?lysh8adK<)uVuZbg3G#3Ka!1u zZrZJp;4i!U%M4rU?7n(*|KYPo_$@!AHv$BhDO9V@tG9ao18UiR{-1;He*XM-aB@_g z|F-e5FF!1UZ{|*9sp&N;0GUW=`*PRuvwu8)@$&4+nPaNAt)_3qr25W%OW=_29OvPq zvj?x9ynOxS#dD`DD;cRWy(+Kh?eM>Hf!bpJ?}LN=LjJ$wy(<6bRzCN28U~8eD_nPdy7qM;{phcYX7o>|QjusO}3sDzQqD_qg1~N|;=(+`Lj!LaJPv&XPecQg)y^a$~ z>9Oe4F${skiR7!no}}>bwYpb(A7RJ|n>`4QAsSg%IZ%?olwJ(30z#`jBPfwapa;ea zG;TQ#g5P)&D8K+^&Jy4oI^*~gF9_WUA%AH{wC~szZ{}XmuOk}I1TO?*iWEjXn)wA? z{k?Z7x|gqvD5(K`*RjGacWTT#*ry%FvDk5D-ax^P{f+TBDBK{00ckfmd}70SOm|rr zw=G1BUBubwI4?1*MNTu%H;@RM{&C^*MjcpMWFB&22r5rZPa z(vfSWy1WdG52IBx-EBAs#Ox>V-nEzN3`j&A3T#C#kK~S-3n5%80z$hw)&^!0$tz~-rMF7nhBCc#y}ClA6X%)*I(3bTvv<%aSq0 zIbE@IL23%-5~`r<#!(ynH{?zmPU;tlH^Fzt=mnm};~54-d~eSFzI`<~!+z|-ND;AZ zyug480)CQkoMe(JNcX=zf8##&(-eMF8Dd^C3X&cXG>=aR?02wm@U6$#i8JYh`xq~B z$xQvdg7sHvRQ6RnQXBDHgTsyzhZT(`odWS_otQijqVX~5;ncq$`sWvKUc2|7|HJ*|{;OB_pTGXc_u31AFs%q<2E-8_%V02x7tJVQ(!H&5@sa$mlA_438pqmD}ePb+6t z)5(|?CsEKgNPgD+KFQj|ANm0$Ez^)$8?Bh*Q8b&FeatL=FDR-lS5V^F$79)Awwx!? zu+wsny6A-*y$>-}1HAk=7(>O6;Rp``^l6!0PLR1^`ygN-q_Px;#Rw4$n>FcX>Ho^;v(L6CwfVZLVDQQ#5j<16M zdB@oj{~sO}_`iz(-xB}xLigMU8RHKH%!do-6M3HNthnqe+F2F z^OO5zhVZ=T_{AOzRx5R?K;do@sst7@Kf@7@Tx=-*NnG{ahdw1EN9G`~uX{x8NY! zZFFw!_pz4jbKz6?Njbiu(nd3@Pl-4T=`Q+U=`O?qc)++Oo%KQ-Pn?yc{6ooqvMy{% z{_k~93g^Frlgj^hE1!qB&^>pQ#8Xc9I~@&BLP%f~=EG(y(oL-Y>qH7sSH*jGn*Wti zaU1vl$A^Xc|88af-xB|;h3%)?|>RS`_o=z;lEf8hVNUSBjIP>whc5 zwt7jR|F~N%H}6=`XSAyRIYH}0Xv1*?>$3phcOifXs^170s8B0oiHXVP8+McgbI&-r zvo{*Kb&_oiTqPndo+3D;*soL`Yu%w#1U~(KMymJwjt1D}0X$o{58^m< zU()aJAWts{0-DYdr8BHG7mPi||l5{!ctW zOtYF&8Ch5I0IG7zkSO_;(1xgNnVk8E0GCb4mfIK70D8aB@E$6pP^zP$aI)?~BZ6Bg zX}FMa5nKi)gMiyTNeistxI3-o#Gu?mPsOdQ``^t`YY)WJro%ra@l+rAn(S+*Sr4v@*jKV1aXm4x1Bno`g|Gv&tw?7g$R(f z{@(}Poc_1J*RAkBxAG}S@yy}Pkb&bo!oOv&MA+|mRGK4Hp9i&gT~cF*DkRaWrL-kp zE7tsy{GV|h{Zs+4-u|19|Jv_X_y61ZJm!UVAJR(qTuR|Z=oBsr|70WYzjZdCtRr&8 zba$Ws>AX4ihPUDYyqf>J-J|YN-u|vO_c$BwNtkFJI^hDq5ChNIE8v&N(c!$;!w76IxtbnU50CxgQ93Et~s^C89t1! zJMK%9BZjR;l(l+i0tA5%cTC#u{u6FZPe%Xyl4lIKjdmgj4*itPLY#`MlQ@h8&R>+& zS*H@l?BbTI5#@f?CI>>8QRAcJ&om%TUEZZM8VT({ z^MfCaQigOkxk=f26;NLsHDh=i$Vs02Vr~eoe0D_|UV1@$XaVjs;i z_7Pl{OzaN=A;pw&0|N~smyW;#LIlP8K(hTGsI{_jnPV? zVJVpu%{OoW$81^22%)buFczXm;UmO0>Zijv!Aw>_JnW*@!Q?eEy0E20FdlEK_gha4k9B#&U=`H6Ho)M9WQ%&Lpsmvc0fG%K~crp%37V>#&pr%v`7wIT7 z_BGCvYL9W|lv5*ttTBbdIL?;$%=ypdAF|7P;Y{#7)c~RXfq&^;1;}h!xf}V|J4|ce z#{|nehVQ)80T~c7Q?T&;yYHjFkqewcVh=5mlCzzt$TnAtn4`SzlxhM5UbYFw{HKLZ zeX(E*xE@|ha1wY0rp;-&C^Z?5%n>Jb9GXgZj5i!4x%kZlT^CZ4zb4}q<-B0Zv}#L% z?2($YiRQ6)w6Az!8r##xk%Wn&b)YYuV@;)_di24=^0+B7^r7-F<$O~5##Scl2le1y z-`+Q9z8(iC4QDalKagnD(BT3*tV(c*N|0pdG9c)}Xp9^I|&4KDW5UWyVaI2ur7r!!7mX@z=7c zn@2<5Mq4@9An;1~|?Hxo!9NS8fQk>tV5f&PobrIa5*r zS4$SflxPL!#1fd-V@R>ELu%J^hj5zn)ExmXxuZ1znt7^>?%}j^G6-ay+eN6H8#aD{ zx(}eE5uvLzaY}pY(LbE!ZWA*Q=oDwZ@9_FiIIeIf{Lhrtdc+U5sS;MM1l(>73t^C} z`vd;>9xbopER*5m2lF=+u@pC0$zqo%jhmL}Bt1o}JL_a^3wC=H3$he(Bsihd&>PBj zHC9=<^U zFp-i7QI!q!y%|=_)Q&`;Qe(~umeLVHic%d@opoGHvgh-%h=VCKWmkFt5?MAWJYg#Jki|z{tw6sxa@esnS66GUauoD*ibv@j;~_KY zVzx!Xad3p52t%3Q%*nI#l^Q0r)%VMI23p2U zQ$AD=g;AC?no_kn!D*}3s#~j#tyOumPsVQbJF@?>?A%WL_x@fH|L3ss|J};x2`_XH zd1+>jEu<7R@U+_m6>#LYeK--I27A-&%xi9jgwCpam^;S*1|H~3;eS^Azm?BZz0d{% z1{VJUH}@N3z-)3CY$&T@zPro+HXzvN_y6h^{lBXG&)fN|*}k7ybkL&+fH0IZDx3U1 zW%JLV&Q+{yPR zg1^3KNqv38i|y;QS{T3+%>G=7n)UpTmX%w}1G9erFW^7zAD&eFzm3mJSm>U*4mNhZ zd8%yAd0X3!K)^RT5fIpH#ff){|M50-Yy96mD(wIJ)%kxrpEFqKJn{!F{&Y3$$2y)? zz|lIS6Wgh{?W^H`2K?Sy{*MCx9|H$f{J#zTpBB1Dy0OPMZ2{es`W`wf;dhLPmYYB4 zc6WY(m9Mz)Zt{P0v8DUJ{gV72RsNr?d{)PQ^1tLJE7$2LFSNsIxs_neHM*&@V^{gL zU!?!O_#d=O(>U#I-D;`!3y zr9bh>w>+5XNYiv4%*Z`G^cFD(CUdx95@VDK71uE=;-600kVOz$xf^sSnvQ|Mu&a@m zjIy<06qe-Ip;%bU0lwg1@9>x#G_b6vc$`>QG$U{3H95KhV_;BY_pK{YL{WssI?kET z^J9fk^+ml`E89QUVN)GfmX0F(hR|7+1~#9^v27ALwp0ufdC$M#y~Ly!g#W#XLX5GM z$YH9GVFufn!=eHIwxd|y==Ym$3PpyOEk%T3XjPZZP-g5@KpYbE4nNE!V1i!Kj_VYk zKbF{>l;S5~Ju#BarD(b2W zlIiU0HlAZL73zSho+3JYpdL(_qJkPID4F}wqCgcLVJffDY+_R;qB0| z@Ro&7Q{^(^fjbK(I+jWL+iBu5-Y57M3lIk3HK9TRFTe`yRUD~R zp?;`NMSa0TASw#DK}>>Z!BJr-%jS^=V4P@=10ds&;$tqtcz}QEKphI*b9DwBA{8?t z|ARlA6RIR}%#%n0Y_8*Egh-v12ZR`EQ9@8sQ9=*|`A3h>kw7o}ByBW%8Y$FsPu+d< zjfV>lPu;_oTa)kmNNa~RDhB`ghl;7jm_%7A-J~??x)@;V)^-)rA>I*pri)t3#Yi0Y zKmMad6Jz(QXXBS{&=prm5hjU(EqiXJkgo0CJ=grQa%2|thYHZ0AyYF=sDNj+@GMkN zbm1kr`JIIsR3|G>W=#9HzbUU)+n?muM{^U3CG z?mNyeS<&v48Ru4Hq?Luu*@5gwfgSo%h8Ji*w{WDX>enhF>{fawR_aQNzcu|onT^_r zoDd`&CDxgJ*aH54!T#UvR{lTR`F!iz%S|W>B(h%l-iUOdhw(6VzE$pi2|NY~hG@nF z{fd8(58$rDu(0<|yPdu2M(=Co|J0w&r?WT?Q{Ju<4(ZY0Uw}tsZ%EKj_*WR_YBC8E^(j~3Ot9`{@-hD4O@mz- zSbDEt=o0-vm@FVZJ95BAo04Z@Lt z(Uu%_d?XrTGBJZTwP3b{;9^dyc1rVtnqKN&1s)k({OBr3;)sv{uDm2*)m)uEHJHC% zA_nAx+2)A*6#s2Gu|=bu;rOEE{@>jWzLX5{1Senc7wHhg48anb)$gk{Dn~;$#uS|o zAVB&Rve#T9m%&wgJ}NPvv50(j9$=TpKDP)Gq9i3ZOnLS=O9l1u`WKNYcJQunuc zYHVdrzmF~Sb=S)mO!ve-aoD78q3x8P+cTrlw9EkXX7n0ae(HPgJ2S*SfRboZTTm>) zL;valLN_MX_EhDO|1A6et@{0JYX2|ff9{?f>{ao9TluI1`HF;J#-_lcG)OT~Pv9rc z(hwmMda`+>Hl%<811rH7Qh;HIZA6)v5i6?W{xqLCYEvLF%7$*nr4mRi0S-X~IZz%D z>d{l$2G^*O?3|qpw5v}zXv;g*agF#!;Tr~&ct~5q9n8->o`)zWm4@qNkt=&LCC(6P4<&kEt58f z<~NM-q9&!Cn(f|vr@<@YT+Css!cB;$0uG5@#1~4Wj)cJ=L5xTPNEVMMC5@j@%I=sh zOdJF<^`bfD>QOf*2K3KYjQKqx%U&+XHWnPiHi&wGp;S85^f zlDcB@05SfKy(FjvSxaKg{26O2E+|?wXzHo0v8-K;KwwDY9W%B|6%IW{J?AiZFynvPu{+f(*_8s8lhnvcXqNNw6qLIHhxs;+qX$(`D&Z6fZ?K>pCdpIlJgR0y08obr>lWYKb$~ zR4uu+$y|4|viEN-4PeO`miWHx$*gc!cEc-Ar~Jy({fH}1XZe+3Nt&|T0EXo(Z z|DnAo=&~N+`pb?U4e|?tT|X4tQE%!`d;Nd=R;l%Ex*6^}V=uiVy#V%tJ~wd=x{(+5 zT^P$HnLJ@*lAj*YFU^j2hs=3dYq|UdvtH%+pLUnqJ^in@|DVwP-_hR52?zl!*F8Qt ztj_;i`TPWW_)wIJ4DY`YTX(^P+VI900YnJnVaQtCU}5PEO|~YQ7vG9G@}2v(p;ERs z<>*eR?ZD5R!h*6XyrZ-iN?)WL93JN`5d&h|wsE$UpkWP-RC=);v*x0*s*(qvW!%-4 zUApsB=JHEC%Bs#R=wOh42m@`!lC#PK!+zigmbHXP!C{5?D zAf;Q4Y}a@pR6c+PCm0?04hwF5u@k{)gN~0{>Iag$=2SxGI~qPaKDlyi(=&uFU+TgG zb6>z#l@r)5FH!E+ED#UU{_xc2eh~5J~4J4ay#`@1}(IIy!B*S^? zt4!6(QHzW4N-|C|o7$L3IukF58cm@3aeg|@oeuLJ#^rtp#N}@fPmAfCudr|}y7)kR z_#8e=>CFz?Xts3c5K_C*R98}EJrh9gQ>!>mUq6vVFv>k{hFLj+vFR#a2~n?n@|_|# z$S|ccczR;Cr&}7levw=#2;v?My*W~y-r76vQ!gdwJ?m~s_?8g7W7%x;j`=|B2VMt7cB{)^7W(lh%E3x zuTlWnIiT3U)N)h`ZcZFPMhe2GMn7$TB%(SG*ewbMS~&3F_|f}+=1{pE{l9y7vcH$z z|3Uvhto;AC^2wO?^ZNgNWzSkrsQ!7&NX3+`JaS2&v8Ow$?CJMG1Zbddollky43r;5 z(xvO`Uv~U|Mk!1Z|6(3`iS0Do==U3c?fvKfy#4jp!TGPhcG~ZnZ(q;e@#W@Vp)F*v ztrDtu0IYYZE(f4_>=_zRJ#w>k2Y5s*!m%>-bX?V$HoOHhI4KSTsIe8pX=*;Z}Iqs{A3FSBqi%QI?`sZ%GhU0|_` zB%V)|xBkqo0hM`DiSZpZ50Z3)M*Dpxb&__u*XHcR_h#Dp9&OQ>5x~)zFz|^Q7uBTi zeyl@^RD#LoBGof)-QnOTRQhv2>$QpT8f&U}gW_Fmvje7pB2$i|x+;{(R{@0zgdgox zH66MBgKqJh^?Nck5w}SpSmv`jB8~g=xRMOusl#``Qd(MO_9#C>D7vRY+++{%#OwKStoai z@%Bf)EhUHV6&aAM=L8@5#o{W=TA8I%x#GsLIE1yF^3~B**ehbctx9%Wy*f_G>d3UH z#UZ1H7phH-@?5G6ero1bfJ5obvnE3m&wui4jEYTWS3<7>${tMSsxzmpaZR`%hUJ^2 zGJ-m=P4wJnDvnI@bmbH-s{@q3G)U?0O@+O9k|Yt2M?q>5wy;RV)<}BGa?ADX7^vvd zByhY#(@Id)04R4=_*j%2-c@SxDEkbTB$WE7K@ zD`{DoHOsoJOi+&a`I)q|CJ`q3>0#Z%LuwQ3xDTwS%41X15b+bWh2J?xy!)JF%3PECTQ z*BMVAC-0(^Iah4Taf&ufN-a?8`zqI?Sz6`kYN_s-+<3|*A`^Xx%#4&vG{s$ zu%HVNMkpGt{3t+c9LOEiLPnfby5&;IfSh^Akf5sWAVKoO)naz#a6bi zX6Z`SsJ2e00~MjlEc^F<=YX=Kc}W;hF2@m5iCIEC>8eE5>=z<~cQi}T2``P85s_}% ztvT#C;GVi0jiiBvn+~eMc-|(H9Flc#L6%u=ka&g(@zh!e^^2y;(`@CIY0ktLWR^Kd zcNCy-R=io?Zn8hX3sxs5;Fr z4frjJ^1?B4|H1*idvtAMzT!PcAkiXXt`2ZdyHeScEei=Hj-Ro_u=2&zNr!AahE+@g zM&1_^zHla0VLs&yxiqGfj_o@7S7kFrYB4Lp8ye36y)HS>S^f7VnIWi1EQQtf=jniB zZ4idDp%;+XqOWrJkr+rW=JJgWz_=fj6*Nt?r3MxI;Xo&wn~T^EZC4v#OJ zNGAJ^w)ZHk34HEmh(~_1P9qF>POVX1}B1RMrQXf0` z5hZ($nn0B#U2FR^ODo&y@b)Gg!@}jp+vd5RE+dKTXeRC_R|3>V|B(XD&we85DbrPJ zZxA3DnF05hp}zyVEZS-DrZTsmeoCKiI0dAU!0UNosT0(n(`^(Lq5E|9{+yvQC#jk@ z8NDIBp|9!7vFS?|vvAna^SkVHCJf1XeuHlZo6h>`i)}Qxw@@x~#!}(><64eaA%ien&^k@jv(I{_o&m|D@YJI6(iO z?&1EwxJT9f-!}cf^!l@;KIhBn&UEp)RuQ4}xT(r%*`^dsApQqJN$}q5z*57>dFK6ife$fG1WOQOe&d{f4?(=jVPkMz!wDPUGK`-3&v``k%JSr}`NCUXjk<8RpNM|VqS>U<{sTS|L& z6U}e32!9_I|7_qn#b!T6~$E8vnY-v1@Rh|V<=yYnyP z2Wgf?H*}ii2S5ClZ%Tk}RMW(Gwaj)wZ^|~U=0MlR@73~yR=p~W{9A)YS<=d>R9BcO zRi73ZIS@sfuA4Sy&xF;MntavN-PZrnElRZi-7j+f+uu7pKCI4vcVYeUZ~XI9j)7~= zf5&@;{D1o=75>N8&VQublHUqQ#DzPch#;lxl5dusW>@^$Q|&9`h>yBUMn*y_##4jN z8^E^|3h6g>=NBRRvr+)f$VK`>_|xe{;t8}@pfSVAhcAxAMm8rO7ibeYro7vRjNUa( z;?aEQJ5ez7+hH8Prx<(07zh{bNjwV1936tKSzykgKc+5ugua^$gOoINhi_Xv^k==k zjKv7ZQTH)LPv^9Q`pz#?l~e)Q_qi&w?QONzr` z`QBgBA9nHIy89P5Q+>X}k2zrIvvm3K{U=X9zQ?+k;~+wK64gg0_|^#h4Ry97y%xt z$ko8l*T3IXlmkc6RUbpAVd^iN3pKGX{$5|dG(YT;%=m${AA1?T6@~uZJvUvXaDap@ zB59d=jHv`cUvOK{Kb3SWoxvtE=@5)b7&Sth;x(T!$>$jI!w@Y7Ek1Mr(++??p-A2a zQ?GY^i-V}4cOK#2a~)#WC{`t;tGfbc9G2;4)LrQi_ucB#w=V491IB#1CJ-y9WUwel z_>cVJeXBZ6Rvam%e-)2f{3$z;Y^;I_lz#2lccSJ)PI9I1!NhO=<_P*Prlq1^lG%+3J#g?C}L8rVc9@j*8l z`asC_7A(K@;2uA4R*8u*dA0a6D*Hp|U%+$xJHoHK>ifIq@_}H0r5+1vKEK59HwJK%Oz|2UVD{zfb9a*P6r~$b=A{ND~ zB`|x-U4laR&^WU+nz*yzLQ_*KE2t~U>AovbQg9wN>3Lzhs?c(N*Z4oB=YItT`#JG{ zPEPjn=l}h^>i%~tA31n}HsfevF3BfcOzt^Xe{jU)FZg7_r5yxgAA zeH)&6f1Aqh-y!9jD>o@_c@JV~)g4Y|wyaNKF!ZC8j?{m9{>FX!x0g@lm+9hMg;2p^ zx2}w7^>_TUAHkfTPeDbSVS)eFLb#qumk2}MtM}Zu8Iezwp_kFAtE%mp^LIT{_MQIr zzq}n9SzgBfw`ltPNdKRc!^6GG{`;lmzpVeKnteBx|J}WlV*dBa{=1dWhNegng#0jT zjU+i=DN?^9{qGi4zfJhRyVpG^3u#OuYvx$QV~t#Oz1 z#k-;-ew}D6y0rtqN9g}2-Ae!e;_E+(hqpor zH~0VP9-o|4>wkCFpIqX+(MX}if9~}^+B>QE{|>Legrx0$uJu1Y-mCoozJm3qo2s=Z z#C7%`;P>qL?*LAOmHmG!pF9*uWzDJd|MmQz`@RM!cwPMGasK}ApbJ|-#sAy*ykTH{ zn1y&^<=^E1b}QZH#!1QqwBypd^2v2qL4W3&P$@#{#<6yu`X&uw3!_mm%Tt}OP;E@~ z81V{eog_UfI|~yymt{F3LkihZOvWgM8P)F_;_dg{_x^(5e-)Gpw$Vd&;3U6|v(AOF_>S1jaT-13R+Ld;^=h z_4s|=Lgpc?ni(a*O21dY_69#Dphe|(o%+OE4E#==F#CtJ667SluvSk)K?o!))YdXa z(PvnJlytbei5I2lUYGHACl7YQfgSm2koY4vz4WF?55EYHnHF2_H6l{XaAcjjrZcZIArRv&U@#HJ=aWgt0S1 zrh@PEE-=RxS}RrUPnLOfucJhN}kJbUIt?>T8Q4 zB?AU09hAg{3E=eK7VUmqeh04+KnlSSzk#;`wOvn9c;iy!7f`{uxsd<%5Qdqo>=Ggjc`b%uY6p5)| z$*_7ya`|9N(UG4ps72$P;wML5dg(UWO#|*9#ZjA5%0=^up9Dj9cf;}`i8HRf%%6{XBYmbZr@CS zdwtG*_Z)$QB~$Qg8^PPYt0u^l>WP$H0#SfwSK1rwl^Y{rl)OqWPg zL9oa%rzJyMBbn(qAw!?e?}Dlx`#_2iQb=Bko)hHtjf0u`bW zS*MOxke_KT6%8ja6+ za!{k*sjqkgJ2vY0(MT1>DD8LUJ?o_KXQNsEBRzdv=d&TkdyAG>hnf0C@<{6|#saIf z1o~B(vQ0uWygwr3P%U1piObzH=rC>^ps~b~OBcOBOqEtn)*{_M;4~D5P9RK_ zQK!XVv`P#h6u27wN~WuX4Gu^QXymXRVt~P<1M$iuGe(Opq@}B$M zt4A+iyn229{Nag4fk?Ax@}5%t?)S9#v~?@ zJH+h(Q!2Qjr^E48;(+^f?gnwr(GqU%;JppHJ}~?FQo>gFG8#Ol+jJbKI!ydt^nYP$ zohx_aTY!(S{~jDv{-1Y#{qql&9Rt_lKOT2;`2Pp{M|)NL-&Q^kc@15i^}6WMrHYVp z*J4*4lNb%22$uE48~N<(<&Vd~kTL;MW)%<9pJ0x*IB`78cIG%T*rAtX;zCFc=b^aI~Pxx zfl+}*XEaX(tILs-vhrBTHbuE6S0~UcAK59HOwL3u*5H3MR*)QCP;2o=Z+q`hrvw%M z3>GK!60{3sx|`1$O=6_&+G># zfpEzT%3m(88$h;u^k>=?LiAxeiJMqP#9N~op5 z#U*+~f__P7aStI)Ri53PEY7aG z&R*~CP(HHUV;rKRQyg{Nzx)1_%tisFS@34c`$TbK=zj=?n1Ga$rcsq@^gBQaaQ=2| zrriNmn2y5aCWzLqt6(&zoDv)>i!wu+;Q2g@TiPGdSu&Jaab|R`tR0PNpbf~aOUDjFB5}rILU!pa^ zid^J-2ju@_7zpRbD&4+o=3Afaw`H;@;g}0)Y>_xe<<$; zr{~op&>|r}2p&T=V=lt+!akG=vlB;R9u^1Wwl_y^)nJUA#!OoWg{W692PfZaIXjdo z%ySFb!8)r%T5{M`R)jJb~3La!K9jya#FNq^_3Tj4XBZ2KrQ6-OcBi*eVE;g7<0spe2==~ zU9fAfsd6_ndPj1msC;^$oAmqn$?TKsxOWu?lvQQ|JtvQRm3y98ON?DlL2<%;HM1Ws z(Nj>Qf*Rm~cp#c@(0_qYb)r)yH_YZD?vyG$ClH>MHH9;PWOH?@4G5+>LQ^|aDz@N- zmfO23&MC9W*;+f{V_s-$&%s0)4g+?>>{CWbPxcX*c~vvHQ=7rk_HgN?EECa0J<@W? zQK`RU3JaKel>U_^yygiuh5gaPCD|} zy6OlCK&HZs#L<7a!eFIj}bi)(S*r(lUkA zri@InJo2e9*R=fXxa8!xT&-KC)U8+P)+uz(N`;8jp*70TAIAPmnH)X_8}cLkzxR(S z|L?oJ{>oA?9A9j<{ww|ej*eyhkB^TI_tF3NaIfypj;r>4IKd664-IMOo0s8+Q zVE*rl|3Cld6`bJl$o2$t3}ccVkB2U$PFeo0oi!NMUU z0DhsfEvmh}{=laQclU=vXl&;R*ZU*_N*a4Zze8ooRZpcz(?*YLzYdL}MMSc%iN!$* z^x*MzFha*N4zERvhqG(~JUwih>5dM*#}%}z!T4c#Y)z7ix2HxV;vGXj9X|dK7O0rd zI6oVi55^a8>NRgj4K`gGR~NS4jxS)Nc^*f8<}oVi z+5O2*K(-_>7?qO_wp7o)T5r)^Ota8}z1`iYe)~mTJ9`C^{Sj7{!3AWRc`fQDJFDEF z%3(~_(?MG?rMe}9ff$L?qQj#y`sU`GOu)r?FPMmPqXdS#c;=^+=iNRjcU+hC6{R?-&{np*@oVb*Dd{(GmBl6}QJYgqS8Qf?`e@1loFdi04ugI#CuN1p- zxU4JrRu!?GuW4UpQ-W8?AvGR$QrJ6Y4GOk@yY~)b*@G!(!y!3g@fq6r2lHqYl4X@G zzw=-w`6I6>;XOyU+ZIDMVq0uQ^N;T}a%(P~%W%*c6?|J5$P(_Wmymj0viWTMdPd$5 z$_hD@UUQ;uo{Q|Rs6@Sz;Kiz2&P>lEdhk__<<1(9*`h5Ym`&x-NsYkutW|Gj_TvUr>iA9M>AfFO>sYTCGM!5jXR?A*LWeD zfs<*5uSlCKBxnx%r(Ds8y33Mw4ie zUc<#vp+a7&C2Cx8Gwkp=> z&^z>rb%aCnM|!?Uk0WW+#1!`O2kxJ!nGLxSIYd}Y7;fq%DT*3Dx;p*u|1IS>EYR^r zqjP?+&NLorTa7NlGtxGa1oD^#!Hinv}cvCGk!wc6| zvB6?S5umELfVb6ZwO{o#n9CdWq~sDu{ZzQjQ9nSH#ol#>VN8Yz+5qL~Y<9lFuIJ6N zlBy+ckaYZX;OJ+W53?E=9@FtmZCN8hcFyeOSW3CtP`D+8;l9!--NRU|H1-OGJl_kW$~ z;sE8~@bY8s|Bv<$^6_8Y!^;0_D<5EVH@}#15?uUgf3LgO-ut)qLD%i>^$w1EM~5Bl zu;I4%PWJYk@4ovk|8oAllitBz;k_S!blcs-gVwS89sYCT{`e#NpRd@$mhWL^6Z;Oo z9UeQbr^T*5R8Z@U=91Vt0grNJU@9f9gjx0b zSu*akcP`!PEqfzR`u#ql34LY&`p*su{|PAX`3XUPo7|Ik+3*x1mq=4j9-)hU$q4@3 z&`lMKvUxUwazy;q9!Uj>ZY+8FFWcj&tTbtU`mej_7aU`B8$ov&$6x{A%5!{6IS(i= zdydO>Y%lv_K)_ltMgHR)MV5jzQ2=nkn1Zh`asb7FLXwr@z`SWV=}9U;HhGjO0_GkOwA1%IPF1Q`67}kpeVV zr>>rtwwjkrsm~i+P^dk-b6rtH^p-mb+Az)6^=5O1%bmN+fNR z2ITA1|Ns4DJN`e%mHqdwuD{V*&i&{rNaBbfewUsC*WkZ&50CTs|J{>rb^hDh`j@Dq zE!=u!aY@{#i?oA+`^G8G9j6q2+|tik%45L0pOA*+Y@*QPiD5nq!eAEoCgU8cI{2ES zUUOYKd#K;!F#`G`!~zCiA-HXvrh(wqV%n}G4k<9wqHZ@uh*_l zGRsE5&4?Ep;nY)S@}Y7s@y$ok)hZ2EshZSE8ycu(;-){dqWh77X{d^Egp?PZ>-Wo* zMAieB1X#hV7>NY`l#cpi!Uu64-5UJft5GpJo(ZTk&DvEuTxKV` z%)t2)4gfwXFhjYK7x{#rieSQzJ=gn7Pxcqj*t|~ij&2GTC z?W@eOP)WX1_ic{PoxVjRn8z{a z9+=J(*w%n}$(SGsc1r|HHAY_P@r!D6iqFP#GFm?VaP;YphP<^HlH?-Xb9iasvr0weIhbO#?D7UR-rB zn`^%h-QY}%C>`;TngpYfFX=>74%&c{%lMP&Y@uGUW@5(OI8_AL%>B|~cr1QQ{N}!` z>ps?P^cWO?1T%0y*BoWOAfP)Cb!f2;V*`#@p^7$|i2u&|9wHY4 z<#=Iy5zo_baSO&@+kC=NsjK*ZiCrZx;?_l|Zno%KFr@5lX4|zViFJBME2 z?G8_3mPPN*gpwftfM}<1!lb$r;l+0KWoi9skv!7ic~lL4h=pa%Ro9t&DSOMZ~|9F>mlI>B5(g~|ro!gl(7`i)Yw_SqFF zoyAk06v}n#syuu*y*K#yOMnfXme7{Z;KPr^lP=+OUs*Q%~gX1=e>c|{#JZWJ{_VDCL)urkERA0gEKqG>}2L@$-M{i zN}H!&&%>We{a?%)Nk6T0S{cU^N==+y<3@8yfA8Z;-?Y0#9&385N$6ub>o~7$*jVO& zO6O>1OUXh-C&a_-eJCj$9fP@@HFDpQ?Ln&8_Jh_;YU7><;u^V0aCZYr^loHW{0kXVU|tu8%l$&o2Sm?lt0P^67ZP= z<{?f-PUc{s)A_1q+-uN7$H51G)N=`O7il1U49e`oAi=xY?89fAr4;ti>~od21m7tB z5E801_N{|=x1>ijVU3^1*SUiWddBiNIUR8rUtF-R?5TU@QVv0?y(w#8KiBX@+1Qyg zGI?5U&iEE#=Y`!-ABqFg(@ibye>$A!5ls4g{E(b@vWt8YG~unr6LK9^(-!H zWCr!66LwhAE7PxSC=CZUR~ovYG&uLeG%goBAS&bV${*#$$>RWp40%~(e|V0Xd=o_+ zrgj^WpVEw^q%RVAhGzwFRPvp1jF9o_=piuj!^BJ3y{WfMmZ-KqMy9mU6wt=UH<2zh zGL|j)s**6`ufzs~m%u8^+?MV>6X)hsA9pHN-aadD5O`7KMW;C~+MSNA`6 zef^ifz1=kaA08I&e-11BpDp8mEX98-MF^>2gZ`-Uzq=*;?`|dk@9O%KZ|}z0-`C3j zgZ;f+{NMh`(Mfgxzm?CkAPOd4s8sawoBvcCn^Q^-EwL{aQVZF-CQ?(N&<|7^^^v1O zaxy6r5yNBQj$*Ru5m3u4hT~&`#zQ=5I+<6vBSlB@c^JyME1ysNrYHgtRFys0rb9f~ zpSs<>y_?59t+~{_y&K|HL4aS>>D*eIwa%ws$Z^oZBeF@aNUf5L8fo>?SU)ijy6ZVe zK`Y%aZU(IJkUBE5rY~=wDWzZT|ESG$?1*W{&I?*k*`WomggDw{iQB{td$0j>Ns)H8 zlQ$10G+v#bo4-C|{NyKdR&jlrt>tUi%q7mdgN#_|;a`*fN8kSG0}}?3zvk?}f&SOs z&!7KM|EuypY~^D%tGo`eZqvGPbpP7ei~k=;>N${)PV#1RtN9F92!zMYMx)q_EotTE* zQd7YDmil?&&@dNi?#xz~4By7OLj{nl&ylUqN3oxt!wz^(w@P+IvI!=q-Hie7^ey)viW~o8412~ zdxBs6UcB}n=8y~q%#)ykYdRdoa|H8S_D&;oP_rWy91ntwrA9`}4 z@@K>Vb))z`4oAIt27j+8s)md~ zDEz`h{p6NixEE3!nuV>kv8Taao7w&q`SM&jVR8>&$D_DK|9vTrt-me@3oiXUk0YTN zQ;R`cfJY=SmiwCLx)?+k^g`D2d=jL?&Fdiv#T8^thNeu1h?d;-NCkm|sS50H`~4u5 z*+MwgUnqpwnI&^{>5(5=#;es-TF-d*si2|3LPah?9pW~@{*$U-K5-V7OOn zNARVcV4w?`xw``($jb8tXVCUw>-XDj3@bw%6Zj|9@W^g9uIwiCTH`A33guSxxMh00 zfg_e7M;5-I4}_`jb}aF0X4eQ^TjXjGc@Vlj?a3hJYr#bn>9qSkeJQcHD7>N6(tbw>lGNb~VlDi{QQ6bfsf^K`EV4 z#PSUN(+L~RCM^^EAP{3h2(Z2}d+SUv*tYyrz%c*!XAQ>sWQx>`%1(oAd=6EFkn zB%IJ?y_t9mz6hPf3^y3LF=)^ji29LISZh+7$leyIy!fxtWHXlsn^F~PWSf(dRX#&U zL@@ZT79_uLSc==e%7^#lI2lDq9EA%+!k>oT z0uPB}#->%0fy|n+6*cs=EY+L%buyFcovFDA`+q6Mf89Add-$*-;;)5>GbRPjd1F!s zRR;0O{=e4#yA}Wc%K!7uum5sm-p%~~yGO@`{Ga=k|NmA#n;VX;NC4b`RV09f+2NBK z?}xRfRdm0K82F>`zag8P1X#!aM+f=)zk}oBivPFA|4Xh-6!)9kla}?j^3o9x7!&~7 z&Qj(gV-6hoI+_x$tei#Z48xDeesF5F+Tc5^&>Q&SX&sf?ddpnYoT3A2Q#Dy?A6wUW z!ASRU9if=zuRx!^CH_~Ja3ACU2mGIp|J&c|?pOSO$M%0MD(oBb*96jN><0LKy{1rS zO`*PAQ!vjDvhS-#8+F_Gm#OJ+$s2Z=qimV%02%~>{cD7Fzh9$YBZ9=X-#%XdcKz!( zOy8XUkG2#4w^yD2?&|t8`}-r2`fDQq*U0~qqrIcN|5x{*lK)%zJfXG3kS6lNbqfAo z3es0)c%|~Gm?LRR@FIrE)v1$Bc4fSg-Psw&7$`XN!^O^yoA_ZYZc{2HaiII4vbS

yN7t?s241L`F0fTPNIM@eDqJIj{V`sR?@dB8EXgdvP#_YN+f%6s_7xk zQ6d5;iB}>4N2_7;H9r=E&kV#1o)%T!lOLJKM4ieI<=_8Li z#hbd5oIO4DeRR)A1SS_3KysV&*1@;paDs|#eRV)o&-b=UOSh6D0@6wZ+zHs!#rq|L#)_R3+2XYlKa#2?RmG!G($tID)n)lXgv zDz>?6$Dpc!96In-AlCoqTeSKp{Fr3$k`L zpckT~nnBtH&$<8ESAB-RI#haQN1<&yNUyA9kvH=Mxlh@bZM*3Ri10yZ@vd3C z3N&u$$)eAFp>b?gz(ohl>r1H8{4sb|xd+917E_&8m(w#~t;}c^3eP!j;uB$Y$09}b zX?4IWju+(a2OOzJiMp#H&x#9zvluc0ON8weGXqO#2%>nJPmEQ z^TQPEZk$8-bO(VT3~&=06yMT4f#Ly}?ky}wfvX&ll#nRD!Wz1kD85#?>FQk0v23j= z9)s7%@L{kzk`J=qA`vrnm?jwZ(*;~IAAI3O!xDkRHK0C+7bb;byp5Nk2vW456>()z z2kTeBb?QQ=p5(Jty8Xp6*r^&YGqdO+5!t5Do1qrMyr~l?6bkHEr&)Wzo6919580~` z>|t~-8Ns$5Vg*Q1w={B#{WDE3?lazhg(s90&RS;AFXqGY6UloMBu#z`Ea#&CP)aD> zm{Q>f6$phTSm|JF!l)@{(5bs7ST?b1$G@J)^_6w%*txv;sG->pbMp(#ee7^|%6|I1 zaFW%*1CKN#$IWjG`!2ZMnaNak3aztGNLzi(`bOR8kFzWpN`$OBA%VDebqC@XpF~;o z*hH>YW^Y5nOW>xhCkiSYGWxQ>`juv{4t3q=gAplZB1Mbx3G|Lv-$?axl$vEYaM zM5*|v^ie|@{1gz!3WL7k>?~IakO;C*)p-$`E(j)4_nb_NCht{I*R0&9gfCig<3isi zzKF?Me{Dh5w}{J*AkHrxwb2NZSu%FJy+M56^iG3CCE*{ASn(z*m-bFJ3lGB~wx1(k zq z5dQ~Wp|#7Cnw_+x#gyFotPseV`BccQhc6}9!&tc=!d5MD9BwZRqsWDuo?1I(m$`D% z+Ox>23TZ_5#Su}K-U-x;Y#VB?7{X5jb1ATrjfAS4V zv@^Vr5k33O^s-JTeSSw=u5Nvwq(H_U zp+r*~X8mg+Jc0nTH+QK+G56u=IT5`Gg!GTp!-3byT(X|BxOH?cEHfK%(o4i;ca@)* z=gDR!@_$cy&s^}4#Dcx!xycrBxru+Yt{Cb?Z{<=z!(O?|uabgQF;g7cdY>n!xNq*} z&#C2vgjc_cG*T5%QT+FHz3;I3(xNOp{{D#K2KhOIM@H=Ft(U1iY%41Fxq~C)fbmKG zxyrLxcQ59Oa{I^*Ng5vd2M$D=JWpf)iL8Dfy%%kf9;Ae&Hbf;ojrORl$q`shrn9-T zcPZ?4#5B=YJn`gfw%YrjSbF=xR0h(nn%DGrm+9-e$8=qL54Wutq6!I#r$2Xch?bl9 zvG>GH?wQhQI7EaxN>KSel62V;HfxHH!LjzXsOEmzMYV?GNG3M3dB;|oBe+a%FFkTL zhHtw-@(GcEfUVQL{=w9uVVfL4!+YjbS}pkdO5tjspJ>9(oH9p zsMJEgf)*mt9&%Rn3fI*F$?&+R(j#)u@dNB=SL4}*gt@t%nl06@UGsKM_ zNJlf{9&$#lpv*9%m^}FtYJ_*lmDYP>vIq6WjI>1c2?O5B-khoi@_y(bHJtl=X{)b) zjeR{zlN0Lt;=eYD>K z22ZhZTelY9!N={fsyuHYRTbJP-R}>(^Hjd{nLGcpN=d{GU2bYFYeY35(h_blT5aFn zd12h3{dPuzN?q-4SO>4*^Oud4SF>MTr+tqN$tquG>VD#hwD}NyR;y#f!D0=pB$iFc za5kl@a`RvowCf|bYa=8dv6{s)m@BYA?BCq9H`qHa&ow ziekO5nypn(sf9Xd={u~h$g{49`})*haVv|T*5j&xf#u-V2sXAUOsIeC=JgagZ*;x; z;Kt#l%LjJMfqD1W)f?{8jj!ve-FBTFVzM$>1$!@tEIu6+ruG!fdJb9AntT_zrZO8o z8OX6`C32Yv6Suv{|0Tov&n`j4C}@)5eu-(*i;}fO+F!I+hICuDPeqQ|Odb0^Fzz?a zBL`es;#3NjnwD*bzE>Q#oHXD6qP0^g*Wa~%^ZH#<8uP||8UMi%p%u?;Ov#1!3wu=; ztDcDj`T|u~*Qla!cDGS$Q8W9hcSb5%c@a@uCrslpGS)>di}!EybJjTf3%|8yAt3tQ z+c0vWFgJHxlcdnb9a6|W==g~ct##xWbXo!5eS+7v-)6<(c5Rfw5-qsA_VR9dBn=5p zsrxb>9Z~Y^*=%L^EQOfWq+dj=TkAri2(6gt>-X%@&8*Ua$hGy^q`LE)<(a0){JqZ8 zb_(gN>|UDRrMfLbvXaIj&zTz^^a`xxnNV#}y;;&A=XX?q5JV|*K6B{yn6&7V_xLs6 z;^`{GXFJlL!;UX4B7Lvbx1Z{1U4xV(>yIDIVH}Rfgjq4i@0HxVZo>xKYbRXK6Qr`q z1!q%NQ z#lvA93oI#4T&rSb!~2av-^Z0pSk+-j`$ca z^>C`}NLbQlEZU*naWF<}vJsDp{S&l)=g~9~W9*>hLEW=ACwOXPM>6;siYr$t2Q@<8 z0jXP$|J9Sy;o{7U>oLYw9KNqPaSaylID*doOpY05$hnrMC{^?9WgezZj3(PijqLWd zb2D)Zm3+hf?qJf?7 z8M(?{AN&y9sPmF?s!QxEAup<#>Fevl<@Cw^K(+Z?CEZe1^-)54e^g`;Yeq|+tJ18U z#KC>XEDn5+0{L*KZvu1aEw&|6WV!;{>L9uE<(Yar&(OCdY_ZPU%dtzfTx)9_k1UwP zlv4%?vJ0sQNV*uk?v1bE7N>B0<1HsF#f5#^uCJzc{yfj1;^WEx&heF_XL_Dur2aeY z!r2+^Nj!qnTYj|LCFaPkYeGF7yWm@Tl$yd({mH^5r9QWtzdmBsy`4QwMus@X(cqAw z>y}n$bYoR*(?9&P)f3!!^o*g7sd(XT|2FAne%b@y(>>KOk%Kab27&9oAU)^Rq>RKj(_4{mXEs+&y{}oSX+0xql6{jS(8C zye1+4)Bo3L+O#~A_@yrMq{$SY!B;ija*0iWcR?(zo~f>$G#D>(i5lxV-}hz)bXxM0 zIVnRXwN9@)%PEf@P&=gWxaDSi3t5Af_N9?zaZcKldH#A}g-kxwTujhN=5Z@}BNPAC ze8{z(4OObYPe$ z$te1Gqu2xgz3DiQyNUir<5Kc9U$UOzPJ2z4XXgV3-*1*blX_7^L6b}LnFri4#60~< zP?gMsT+LR|OTk~()>BWft|Vf-{|Li3D=%w8oU`3? z*)h@voM7{?S8^(c=9T_TMbBv7_fo|j@y?+OFHs-g-ZA-kr1Xsn6~4hXGx0(qqt?^{ zLzVp3`Ix+gH4hRx@U~m;6q`F%>U&y(F^T*1ThYV0cS<6+hJB(QvG}sG#CM^+;@!!F z*Wwq4@{7g!WDpfs>*JHjGaE9(v9~&X49G7o{*xD&EjkU;H9+BT0ag#>#G3%?VJ?&2 z4G@!oosDy2101GnCRZvgRA8A1QCIQIbKSPIy5PDX&DnjuB@LIQ?9(Hbn?OCGfQBq( zr<3i^I5-{eJSNn0T=6gDOeC8%JtkSi_n$vM!aoS=CyD9j=-!!F2>O-7N|P^kA}m8$ zMi7p{MN1vP16IBlY4Stwoshm}?ybTv+~%OezjUC@E;@ks4k!L}DEhkp`y~C&hsXEy zybIP%Z#=(hX6T6*vwfQvh&|H#s9`hpc4Z@`Z;}68_HU9q zde))(cT2c({%-0fuO_ibI_KsMM_N)8qcdR`ltS|`Mpp;0#bQSJ43;J~J z;MMMY7w7uT^eWw`-*a@q<0CP}0jA8hEalXb+BBKf1W$$O)!(S|U5bp`RXgv_3P-;@ z3bwvy_M#JlPGAozF@3LN^Hl8f%g>}CaOrhRm6~@3u}arFSC2(V&KK}gNPmv$+U+G3 z+1MBY9+~WgKL>G|t6MAf6m3A=aV@T|8G6}b$v8gJx_}nQ0=Z77DCqph$~}lB2oVNy zkzKkxPB&K7Kmr^leGI^)trm7;i?Gl4m3~<^MK2)qyL&E-$3I;;XcmH_nKR0;yBjeBJ`vK3! zUf__`=^O+mq@RC7!Qm{|uxYb_(+CW!zdyk>ikx6!bq8b1o7*HI53;r6*-95w<-VQ4 zhp)}%Q=EQ*eqRhkqI?CklK`W}?$2mm44e`q1zxeAK=wCBpacZ|I@mCDfJeKh%4G>KC<3vJ}YeG}zX#$G7tOp4FqJxPdyki2Yn=bx$e(S%81NfMZn z@Dz0-Z2C;&!-!o?b}414*_Dfh)m20$=;0p`OWA(E^4?O*4{6Cb{_PSD7*}GgBF4pW zLy=G5=F?R&nz~LWIV=Q?y`5=#&^5XqJpU+<(QK(iq)V?~u}oZkLx|g?kLTWl6Bs2S zk(uW6l#jtB`8YNVW$JgH{C&psRE9Q1heZxQ>9fF~#cy090;`-WTw0M#rK~x^+rbo^ z3+HVjvU}&e5EXO&ze=yYooYJ7szWKYd*jRH1#!EDeeWJ`p85*PP$sK=@#rC9wmVZ+ z#_20M;U-XFAQX%2d!XR_T*ao-zH3~B1wY3P=VLQjn|T<<9ruBvV^qJ{AActqg}2-+ zCSP+#s1P&7f4{uW`F7)bVTjE2n$PC*c=>iW-6J}8K$|zvZR7dQ{Fvf<$bl8dlMrM` zYXO;_>Aj8&@+tDG;H2>8>D{YGB>3Or4`A?e#Dz5Db@T}pT2WcWqkPfgR&9#4c*LyR)}SQ53K~Vb{2(!bjq4iikclK zd9a(|n}F8zI>S?UAN+mCPZc+Y?2F&(DIe<8%iiy|xMxOu!0|@>a|-X-SKMv+AF298 z7FH{sZ=@c*vHbbZK+a@)5p%cY1SsVlWbc6@)ktai+k!=sfW_vQcjW9W z)-zr>WqCz=(c39Kqqp~q>~NIM)br6JddGQupI>B5riAFBNE08QXZ3EVx61wA8WmN+ zj|YouX;tQO(s(!JTZ#FU*E%m#wD%HMUf&gjK#vV|C@c(fXJd@9^ca11@9rtmH+{Dt zxj}S2I(|dU8P!Wur>$KaV7?a8VZy!7)l{`S+OS#Usse3%EhsX{$|18oV=CfbMyP-q zx4GnXeFf;oypCy!%M6le4{eg!)RWXyNWa1;*Tgtdt@KP)vh_T|N|QB8zd@M0e8&7e zb~H1?^&Z`+{ZrQdZ0fDbb`7i5Cyuy##l3TEYGt1aq?QF&s#4|0sNBpXXr@Lvt?pAq zh;6V58QyKfk7IbdJnwb6(C6N9FGYX8+^8S*;4E049TV`YIDhkeyxgyk&`!!g>h`*} zjW+cZjC1ZB{|D5Cv+}WyZ|kp8$%lNdJuZE3eJH0xh?s}TOofb@DGc=AS$t@iJZY#0 z|7w=LGbGehzH-AAbWFa(Rjf$eo9-C%vtGx@(5d(|L^;={%Ch7pgp9(`9y9ZuoEq+u zOeO!omg80QCjI4z`lsRe4wvhqCx!eSV}7I(Z8wA8+Wb^pNQn!?%bf=c#<%W4Ec(7eC$TPT{hZD60#z`*YuI@L;V+aP?w%nAh8Z8Rf9nb zY}}2u8v5oEVGWdO(*9wfKlIk2e}5@yT>q*Na3C8U6dxo07cnv8#6!9+j-mEbJa>C= z+DXmPt?hGFJ9k%yMN@@)K%Fs$vc9ZKyC~4Vm>K*$wm8yaC{~xi z#^jh|HZ{z`{)Jma??c(|&x|s5bTnC8`9)gh7o;WG&yyd=%j#G}<$`~=^nYiXqEOA=#8F_x7wlcf1)u0{0>E^$_ zKTPnl;o!BYOQucEc#iJhkJ_0ty0!>qBsn>SZDQYVG~CGzz)5-X@_^_#)TJvS;n}!5 zf8bsel~J*lFJd(TCp0N<&4Zss!+NvCK!s9gOD7+seIh3&00u9Cc1yNNK5!I45wl_p z?qZ~yxlSOa#8(8%?3sf7h4;0E6);V%b#Yx#@22SWCz!ftpe}WHLG#YPBJGJ@3gsKx z=Gkw`C0`O~_X^R!Zbl9q;o8@0!`?)nN>eqhp6uz}snIL@fq;4Bu?)uHeR=!Dc*1Tc zqZCvu28qUCsl)AeUNkb z&plt;Hr9V-UyAb$Sw}*p1uyxal#)S z8(bNfec|M&jtsoTKYZ?0@U^X*U75107(B{Ig^aDff~-Cj9QghvEGi(ndg))GqD&o) zEzvE8ZN~lkksmgG#oewlC1crFS$lK6bSwUoEL6o>zDUE8TH#DYX5nG9@s-L$q*DBQ z7pJ?)b4ZmNZ~ zZf=)kRuAFJd^{^AMIO_4nguXBh(Sed&;f1?xKxIlykj-A4fXj4u>c9J4>6m5 z)lWuA2C5&B(XFylwpO@PMN=@h-wMgF4I_Qws?XrdA(+!^-JSSJ`#8cE_C9Ml%CWPe z5Zroc8uSlQunRY(N5g}+THVMUJ8K^94OpU^Qg^#AZY5Zg4y3*Krwa z_LzgH??{Vv<&}mU$~5s>WB_&&ZZ&9$^F$_5!2u#z{Qh@LCl5cPpu6r@^_;7$-|F|o z>fXdgbcM>Vp~a>bpc56U&L@;i$+n6`54DXeCeqbxUXq{WhYMxada+RO9N*EG^mV@+ zOj6QJ6ii4;YPxh+rDuz_vtsHq`W&FO@ zm&mF&N`o|o&tO_|x-$H=#}D3};YfxUx^{Z@VI9#N+DtwP{H)zp?;?hkLz&9xbbI0; zyj1>Xjr0d!*5@}-HkNm+3VQCY9SE6HaZmQF1vM~@S30#zlWn}mn|?N@I!Q;M`R?!1 z(*912_}QxK1gTV}<99Y`{RP9^3%2(0NL%65%OV_iy5lLDMpC6#FZ4bB&I2*nRnpi=Vh<-%$a8J2v;Xk#!{)gYr zz|efwd1MRUj7+!ZJu%g9(rv&PS;u)d+`!$GD6gSn_?Q;xQzm^T%w6-~V8Gd#o3nWm z=pB*mZE!>0A?XBkBwG1hF;>GDW=?Ce53D4J-Y<2uy8TjlB0@a>?zg~iRxwX~;=yHp zd=_Y|tt45&pP!iYq-s*~!iHln!X{PTpIlYTWAPvDtopx(b1g8*IFUUhO(giK@b`t! z>nCn6;=R}oMq-=?ZCTZhsQth0(Id3mx4Ty z_4cJU%Q^(5^&yG<$a^Nx;p-Mo#xat`SGbiuA#`})Fi-O5)N@C?hAna#Ec0a0T*`xE z{`tJj%ckJqHsdV)cdEzalz5}*Jb}9Wn*sMyb4_2Tdek!P^3r{#Fu||)5qvd&v}H_H z8gfmeAEU8pDg4l_(ny3u@%gmBPt3C_;ilq@x|yk6r-Ry*AJ z$61NNWew!N0{@ibcqhPo>q9V9(v_QW^mv;-5ubPyX!$WK_5h=yUiF*Dv+Ru?Ki5$? zglO3pgxGSuCs3O~ybf%!hE|R%fZqilgjQ>TLr*_K@TZ#Z@S;Ts3H7uwI06mE@Rhzz zvw+Hr<^E+ZmdG>HWErsXa=-g9^rlkb>#+9Fc`0(BUQ@a!+R-ghM9O^5$;(S>NW94a zm)pxQX`f%4K*Q4QPVaIr+~sH``uz^<4YUfmJB7%@ygP6D27iT?Id7_fccYF5-@_pu z#!_*}l~n@4_8%p>lg?U*x4Sz=JM-@qbS4|;v=MLMih+6ydd}aPCNC#hb)f2K;vHxa zrhmsw3#y79+A(_rz9A&em9_m71n4ukbK~NkL_6=@`7B}aF>!H8wII{^8ot9zzci`k! z*RJOy-=Hjgr{YuaDh%`a;Wwxz`u_Q01$d2C+8HSa`e^4#po>171g2=#Nic>w`bgW2 z&hn*Op@8o#DK?iZYC~yn-Ionec`W7@8-eV})e44QcSh&xX+sJzMCY1axTr8>(vI0% zpm1vsN;)AMiPrp0o?F$(HF-k^$IxO&=6gv{ogs&;V!YO)*5XASo%4`y<#6M`I~{1R zbIHlgTPufJag$b4T9ArZ9V7I@&fyy@kmSBRBA9o-+;QCio6wmiFH3(Sh6)Y=9d>Tkham7Uxh0r~`B@m>F7WvqtaGrp?w{)C+3(thPOyPlOSfBH)MC7ZEtoSlQ zcP(fs(zzS~!w3YA9Db}t$(=`HyH@@6Y2FYI*&02|&nrdI@#EH=!1H-!C06Pp-*4^Y zcIex3IYFZ~YveQ`8k3aER9U4F*%;{^Rvfo0?j<|uEA;LT^ls4+c0%w_ORNu+M%%v^ z1?s5WTyyNxr_`GnkGD4#p~n+1hE(Uolk1)N?6p+<3yXBHS1I-4YIEXg^-ZdC^Bh$M z<6f$U6-9#_RYv1pYI9twbEYc(O+^db_TFl9ZHX7(X3lolEKKn?H{jwqhj{Q0gN8|CmL@{oA zLDjkXqU_ZAxKsha9$sFA-blPKQk`?=w})311)8bc>~rjs zC)cw+wuk7CW6V`<@)Iv2Rp(d*>>^*zbAmq1dioCtlF2&YAJqLv+S5 zZYnpt9Q&};`dk5fprUfK%drpVv4>U^q4yInyjABA{Mb~xBDA{74Yn7yYIBgs_TXO0 zZp6j8c)jzF{J>SxS1tK%t_l_ZMjM^%5FQHtHxbj#`JT>phyR{H-s&k%SoO<&xbDSD zWolCW^>Qaig8P6m`~WK_<>mgeZ@q7eC&aJ_tBXu2OugaaI7jG$A4u%#TN&SQuAD!LuPKK?e2z&)}YO6F*o0 zuL^k45(WH$g0IDDShj>b=!#GfZ6J6KbOGymZUul{FMC(stra4b5o|wR3V+M4wHiGc zS7BBVwEgS6q1^e)k(x8p&$7ITdv*~!hXk)F69^gR;wqpTXrldSwYjw9dO?1BGu`oD z9Q(YgF_D3y7FO_hm+$=?`)Te$3hBcz0eiR?XT=p(M!Zw&S-DV4Bb4&szQziuDMA+} zUTCV#0n>3zT;c^ZwH}Heh#mV`()}T4J2O{>n_rA`dWg~XjlP|8eFnYt-s#S0XZbT2 z#g_!$du5_xI`>89$h3uDca&3#fIH^oGh}aAP^J_X@Z1N0oN^5mK48QYAxkGAq^jd) zmVSq3+E7Du?j*DTGqM8;Ft8mEA&g$<*xyX4hjH7(gVmo9M#0$SS9YVa{ysdB6{s?< zWq95q$GtiHkse`;Bc${Y+V_Y}C;u4-sVp5v_1-D$PTM_COP(%ny70vKSjZzZM4m>G z3B)~FxbFY->xwo0`ieU~6{I6`E1(KDbPwk))aHg0FHBWhU-kTJ`{6OMa)%6eHl9$h zw5XY5cr|g?Uv19$(PQO=!yC1^LmqoLc7ZG=Ufg^NL$be+M~@|5^sCOnwZ}0&DmT~* zYL0y_wK)V&@hg$WtUAco>R{tVdi#G0yEX&Sf*s zwK2}288^Ym<6mPRJ56z$whx@36+pTyM7v)@2WuGs%Wsr8H*6+yBbYz`Do9dK;J>v;Fz z4u#O*_n|-VEQpaKX5`hKpb!h{ItifYJ#VE~07{G?Z`*~&(NqA89kkC0nFB;qk&IDo1D6ezH?_#X_x3n=&1m||KheT91fKE$W&VM^U-e({; z7M&5(;@4kW@o0tZOB;g=$nvSywAyaSGknxiq4hJ?e2h^6>i7sl(M^2gz1-;XXAy<7xCY$xY77{hWD%+9+X}3 zY(XuKArMS%mK2y;(0PG^SEK^&>3Fhkf$RR3z?I%@1D7zp7!2u9is1KK#_!NvC&2L@ zO70e4?YZ_R&}0~e8c}U!k47UJj34@ZTms=+(1P5`rx=9_{uS_n1$7fhtle=&PlFqM z3abB6-atY@v_st%RE62a6?r(&8j8U~|91nCNtQZxJ8cyF=bt$UFT=ygeuQCW9HLRV z|NTRI%gmq^t+xjL@?F8^F}x@!E});;7zHi+aCv}`x`It$c+a4nptr%`46bnl%Y({+ zl{r47Ss}V1Fb{1F1Go1uNU8sa)+@~*nw$v z(>$QMM$jI^#R)Nb3Bcqp5W90~{BS+ko^V1T}GHhUDD@ZOQ1;I^I9f%5^`l z5580#o)Th?W}yg)#RMjpi1x*BrZ|UzpHbpqww3@yavIH(%=o3JWm$9#JV$3%w~`Ql zWdz(QfS5+E76ZS7WR+-y8Hv4a;y1V`m-!w;;uXBsj?!Jm{9Mi{| z)Uh&dpFYtN=)8d{&R1T5t%}FWzYN@q&zvQ*4y5J2hhosoBlk1WSnZ`_K8zjGd1*>u z#jjVa#SL-i93PMpRa$opN*N+opFDXwmnOim2Kg1#{AU^mm4C+p*KdZ~s?b(?@9{y>UR4$8A9&GrmsM;0u0}V=rsb)w5jOiw?UB@{o{e{lBC0seO4%z%raGSa zQdPU9zx>Fakx>;ljNZ}Kr&SgSdE0=63~IW@gMPYIX&}0JCZrEFnT9TEe|slI>hyGR zs=b){AiA#Wsp+R-w%qlxJ!EBhm?a4L6fMNcZj*Uw@CanfErReHaf*Cg=FYYVw{fsqbz0M17 z;}CF7LmitJs4!*@%{irSVINNdQq*3|(ViXdN$Elw0>N^d61@osnM>0L=WD5dvF?3w zdb`tBdpr96#QCi&|HOYEQdqlooHXV0oVD}PKF;u)Q&pWzZ2MHUZu*bkkWWR%$@u7F zM7W80+m6Pn%AtEd25%hQD~$?|ws9Qn=1hy`m?s!prhB-|R>@i8Jiw@H|1z~)i=GD1 zWNia$7Yn8C%y%{>pl$%x#Crjz-Ces)eK{iqM?ONEkM7hOE2sPxSeHzanJs&yhr zMgZ+_Mm|C>5K9h6ou1)c7RvUc|0ka>CR1n88%9iWsAgL%CB@{;PrV^AXb)=o*qP3*1;&XCw6gzF=1Z>7yw zL58JF4CI!73OAyI1~zThPKusAr^J1xyBo)#m1{)tNqZ|g$kBT4s6b;eo}N9PYouIn zGk;Z;uH*r9d*>p-VE5%tj?u;dHk0X*-OOFnm<%Lt6YG0&=6M>YeEK}-(1XyRs$(<1 zhhTN1Gq>cxRG;Mc0UPZ{PH{I6o_~z1dLvdbd*)4`_}9^YgRZ zGw=dQk3<;GfZ7J1KX-Bkb`Q7NM`&V}8wxLM8FYSoKUjwvm7CL*!Sg zqvgR{I5=z#|l-_YvDDP>r z!(P`N3q7NZ(we2F+MPx{AIwPm8wp99ect)RObG)qfTFw=w*XcIzo*pI30yU$m|&H3 z7z8CDrj$gx36dwSbCYuhKvQb8@BSd6ZX?uzLBx+;M)ld{n59CXNSC}kuTS6_q!_I0 zhMca#OSj-0E09W0^k%ldjq0jS-)aSEz+Wcn`S=+rA++JqH`8}he{pnE5WRtrcr}-1 zIfKtj^fO7A6we*#_fa55j!7#5gH`nyt`%sdHqfR*nw8z!aV34trdcfB_W6u+o`!;F z$)OtvssXhdXu}IsoaZhyE$a|*$Kr!00y2Z z0p=+$;0?yhlw_yt@vKW&cA8f?2@6aA_Lu&l%}twho6VS$w4v4IjGNYyiA+NG-{RiD zW6u!U)4xFPHGKFZ;5df*eBA)@z-%bx1e6Q~#9Xei8eP1(H<+I!F<(U}gJC!Z-qS<> z`#BUE@aIp|zOewR^?NXQ*9}KBeHc2tj4s1DU4?R9Lj6DgU8z)y@rQ*yOFh&s>xA(n+9XD$sU`|$%avrCB9 z+=8ymxgc4$4pjHx_Q?L^`2V>QSWm&JX}Seq&9XBKN^l4WrvuIHdfH{IXGM&LDwDn5 zxb-6Y8ShTjC5!ZU0j00(R2;!^`QXh>R}v6i0oe^FAa)5b5&*STKnOJlCe2*l*h4$f z=V0y%8;a26p*?^Uge*#^Dtt5NSRMq}0n;!#0yF6V2j$q0m~Nu?x^2=0>e!p`P~uFO za1+_IBe3`R3bxzagUO8tYU9x5sSd0ukzNMAqDaWp*>4guM=ujEfJp*yl%8>aaqG^($CL7HGNzG}kxSandw5`^ z5QLL0vd*6|1T^Gf=1m z)z)aPJ-JYf`!+yF?sO}$N`1&sQkqW<+}fil1$g_Qm3bL>k}f%arJfK|_xD+3HMoeH z!MZ?dN6-}zeuP-qw`^|w*NwtDcV-w4pSC41Gy$y6wdXHc7yUh+qBYre;e_ZywAmWa z|Nk1s&(4~bO9BKi!&g^k*V`Ua(+j6Z=+f-kX6doGhdNHL&{qAg7M(M#78t@cS@jhr zE*?%Dd|e!E82F=bb#$zJNzUxeBtvQ4%610M#%?s75P=!|7ts^&pP6~Uw22=DpK-(E zL<@-@q_{T+_|l<s2klH_J zs6h`{l)9Sm0WD)(2E)XMxWA>r?cXxXVCvu#8oL$~P-oQ#%(*jJowmdIX5`va?&1h* znXBZ|zdg?@CRbI~Mq)i#Cvo)F65*ILgpnYiKZav=>6rFDBpV%TL-Kkl>xP z3HNX1@5DME93#-uS!Ce$@AOy_`<0By61A+5K!SULzSX-&frFBqI*!S=yTY#wC!nPb z(aNrwMghWC`1ToyTZ8|5eEW!=H3%c!KT+JZ>(% zSUx}_W8-PLo^oe>$m6%ZF>HCDu-bXKRc>d&fgiNG8La{TFV~PRY`Ju(3g*xUMgLgf z3S>+}w-t@g3)3Rq8tms3`ky#V8EHBr;AX{*ZSF%%_bq8J=Z?X`AHRL*3Tkts6C_^2 z$9GGvpn5&PaHxU95#GRmJF{u8P}+Wn)d~Jl^Oubm#fQ5Rb(&fsk&=ps^K`$$Z!Y)? zj0>yc=p7QXAAJ+=Zwf8hRvmoB#^AU2v3&R1`7PCrdhVE#c2WduMH%E8C+9k%hNC(S zgD`MFnHf-`psPzzdn7aiM5D-eSHRQ7-1~=VPd4W23&uCRYI*dd#$d3c?$Jou2P|kn9B-fZZd3>3(qf z{O0rDhS55hFggyU;J`P*e?!%zV z5pvu#Ius-qb3KbtI|dG=EAYe5=Ky&I>6&joQF?x7fixzYq(l(wQFZ%GeY-6mFF!R9 zVjds?qXLxEg#=+6GllCfXpj|oAS&p47_E;h8dkW6ZK0$K?y}h5b%D?o0wYeP9B1&| z4nWD4c*k6ZovYztmQ*rRtm6t4k0&x*oAk<7;}}2hXqQhdH4lV~cKV(n7GL#(olob8 z^L!xns^$s1@~)R_XkWZSc(Z(-$;!R0annoD~Uw~g3XOLO|FF!JC!*G?ZLM~pQ zU=Cd%rTA|<)%u0Lz}i(_0`1a;s<7cRPNAdO0Olv-9S)T^bVX38PY7uq#|5Qh)~gd z_?t-3K(z~Rj8T#gN15fK2wrOhI=nsT{xtwOxRmp&Q+jn;Ouox`^0UuOyeNqEI1d3+ zlb45^oz#y<4dG-J&6brUg055caVz{*9dpbpw9i3uk`B%mbo1OEi>p zIoFX?KLCwbq}_z~BF&6vzF=?~9NCaqP0o#Ujy{Dum;mB)!%@(?ooj@%LSl|VVy6so z5RY;W#lS9+W|a8BdZC#6wJ>2!+CQvS&LjX2Go{u3Lf1_=uu47!515T8K5N2L&-D4d z6Jw#rBci;D-Pp4`)9#ed5BlgZe?`UPp+Z4_hU+Wn&Rn8E8%LLvsV%ZJZl(iB9zi;R zI1T2-m{mdE2(O7Xfbo`If+v{LCE!p8Ty3Bcl1CN zj{b^H0W5mlss@L}f5 zVs-L}q^0=n(f%qRn|J zNST->2*xuUZ_&GA=+hN3J6-H*-@AxM;o{6R+PGL}Y~L#k)3l9ZT{csu%yIyZo-0VR z)&|}cc-5xir>aN>#Lc0}*IFDT&0BEfz-u0S)%lyk{U|igmGa;fW7ON04a0T3ZFu~{ zXOS4%=7m>#px%#J4(PoCPtOI1N$$Q;DYO+PC$zljQEXVr!m z_g_rCP=CZy;iM={S~zQSk@|OuR^urfWrET*aRMG;3Ql-E$8TO(BFY)&3G}Z1L+X^K z&26QR5LgwB7!HHCBhgUxi}b(XkPr=(rk@4mB(e8cO$J`D0rxG0dnDFIV*S^K^dr{F zNN{);z#5K0$Px$z^!dOu2W(+wF#o7@ewFxBNHYqav<6y(1w#QgSM+6&^o|iFlb>Ce zCL1{}7|8>jHWOIvvQ7iZ`eF<6nt)(9O%2~XttG1s9F-Lo#N(JQ13>I^ zEL$KB&2=!H1FnmRfgNH3NyZB&>gDogSR!U!%QtK}iA~}C!!XbGuC2&G57QEScC{UPD};%pX-)^28l-);N;N6Rk%v91(M4;jn_j+a%+1K{5x+aE{l}PgheF+;#Ov|bwcS5}xf=`Znq2`$ zIuud#vpUqO%%VU&^%Drji1$8d=DL8+xR0IY-WnUUW5B(D;$Oarju95SIZJW634E{o zY4%->eAUV5F-LdptL=Yhyyq`)igXc7z9oO(|42O>aj}k)?g&4HnxmBDz-}S*MJVT; zneS~S+bywb4K{sb2P@Q;1Rq`mK{(fOdKsR}nv2DhFIwC-EKdFKG36x*&Xj0?QMUx? zYXgD}J2-N0EL&+R!rHe?K-0vXRY!k0=Q|k^f`hH+iN!-PN?T@I&`eyYS348efWA86 z?^Te!kc?^Ky#f;F5PTg(!&!m|J3dO-@QJ(R<9F)+2hcz-zsR;E#LNxI#xn!LlNXiy z68<%fN-|;skx$v%OwZ0ICJ`UCisMW`TAjI$eI)ttIMs}IV&&}p1%rDEMR0(%Di)T; z<|`OMvIzaZ#2HyP{}=J!HVpoRYRJ#N?)AN?D3nW(~p<1`u=7DKQwAx4Z0s=0OYZWYG;S7m|kXZlC=Ksx?nH?RP4l zy!kFc2o(7w6YPE^@EWNQX5;NwcA*~fK=`RtBxa+58@VDOm%$&jnIZ6h8j6lKm8Dli zrAI}Ilp~+0ki>)gl~xm!2WXW%Busk05_p(-&48I#Ky~*#{Rm#Cxcbd^-*|re&aG#+ zok~G550)fSW#{QRpvidWfi-Y-_k8D`3q3q@ z+!Jr-@wtEO*v&)!Wal$AMq1O&A*Yg|D>7ipA4QcEh?ZbcT>t*X5(#!q;p5IDzl~P$? z3jrh!RY=mwI0o-YNyMde#_Fz?(h?ePlIU_+anSz=wJ}v#&{z(Qy%W+{V$#cV))v9T zJ?W$AZrAL>zddDmY224CL6WH85fE*|%MiqwYZuzDXz^8c4wa8o*WlR%zEANqSe+6q z;ESUOrm|I1I1FB9Pol5b2xzM-?mk@@Cr1$Z#7>}_-CVK$PoqKjzH1GpzS*Z6ge%|w zm3w&DKYsqF(^G{1_gXGyzHz*$#V2XgNpBKUtl-9=TO3E8nj>I;z@bt#cu~6Ji|B5; zi!JtDZ(8itVv}+eO@h6761(Wtwk(d>`A7X z>!IV{$85bgBGaG?mUt%Nrxv~sAX>{r5$^j8(}3`=Z0jJRD|+Q%UN2bW?P|bAX`F0y zkZLxYl51GDHOY_{`Eq9ci+Vd0F%uh5LmQfoK((j0M4vsJ$Q%!rG>7c+7zlp69g@B@ZB=3sA@#t09r1aLFc< zf)JWXD$BO9ihjgNrs!NS^jwT&79*EMNo59_1vvE?eKcJN#RmJz^}w-Y?M0!w793q4 zer^)d-Ev+1d=aEGR)lnyCi|}ivaOdPZh&Htk9@amV=?@b8&{8muL{!>co^W}BX>bG z#6PbBPZW4~g$t!9KHj&F0dsua9?n(+x1{@?H#McLj;v(iCR(5R-gIKR#j%pu1Ezyv zIKebi+M;5F#&G1(d-BcVbX*G|mDA7q^_%x#_If=z>W=SB9+;=*2n{vF8g0(jBnzOs zh2Md%@N}Dt+jO?j@M`W!I(Gt+fT^3(SU;D>rfy5PLrv_}gc*^|F^_bfgoW~?f$N-@ zcBDC1M>{yyv#Fh%kC2(=8xq`*H>C5@*n!WPx@V2xi@I$c;$~K)JL@bMKz&qnT3^ALlI`=kTV|;=`Oh z)Qel2F249$#R6_h9QHbSAY z&)?j+``-JXqAVcTAH{Y>Z1`8)|NEkGzY6+)E3&+si2v2u75QJT$p0hm^f9D?J?}pX z&i%0ah=<1z^(`Jb1ZqBZog-Ht$4Veu;bkb3iM)1AZ#we%>;5zIrH}1AA&<*tqCSS2 zO3EoD&x-`>#T`Z>%F>gm4Hz9gnZ!Oyo=2ja0t-DcX;(6j9kI^uC;MHC2?J8pLywJd zgWedXH*_uPAK3`p8)*E+&>O-v{i$n5zeE+08R5+4g=+1CU`bJRI{!F!6-LG3U5oUI zOcA_`%p)zoPya-nIh-R_kYPo9T0qr0-G5#UP7_qK0tV-(sCnF}T0e-l;s@Q_r(KV~ zrpUR^L|;Ar(tK(8`}gz_%why4s2-$P&$gp|GZB5pW*5`TWIs=h#vF2Jsa$= zrrY`vu2UiwEGDC9f!q3M@y4ZxW)ly+2XW;RI#2=DmY z`;wgd(b}89x=D<6_-eFTIWb4iZs+O@$^PNOH_Pe~oYl^(1ncXWmCA8Z4D-%}F~g?) z82SWHpL5{W59;+uBQi8VT=@xrV02a9^=iGr#XbEKLSd+6*FxJsx>mkCN59sgjE>4R znNEMTKBu%oN-L?-OwtbJrgsd)bSG38YxO2_E#Je<1lmz)3%mJIa)K-G+a}i@!P;PQ~L3dzq%4(MUjj+-EjL}Zc3<^Y8 z5)aReT10|wNoOWTjjj6hpbM;RJ=2t&sVg~Wc8GJld|o~xo$#*xAT3e;I+{y-p0)_a zgNN(prYuUPE{Yw98dK$@8X1}Ip2rm)82|7Xu)H>F@3qx_r&^C|hcVD++EMU&2ntSv z{+oKo>@0DHj&2Rxr}!_^_xbaKbOR|HO4vhs%vYi(a__#h{P>__YGE(~fDmB|&J@Wk z-)O>AkeJ0~o(-e=RK5S0?CL=44XJ{+#AtB{O0a>?soLT2&BNDJ$tWQI$AH_$MN9zm zS&WK`0#?}uE`kZ}Gy(E>=1koa#4fv=RD2sP2 zkM3~;M+zzoria-IO00)aDqPo(QS%6xSkSS!{EU9Ah8`2%{&!cY8b`!Jbq|mY`-%Gt z^EHI(L?51jI?#t%gsR^iV&|U30P^|IM}$0d64V)Byw>N;zC%^V$l$iNqsbC3Jlvpp*20b83Dvu^WM{Mb8np8F=7`&n>rZJBOk7D_zng?C~0W_5t}|jk{pc+l2j`^lYCu-+ThM ziE1C*dh+o8!%xLmlWe6LsmTrN*kD*TX$=9kz@{OrNxzp-GSN4@4NAo;L#c4UsWPmc zumo*tt}?TQo71LG0T2OUekYQn%gjPcnDw4jlr8&S@g+MEjaI0$3ikD+TsF<`_t zb1^&h9tL=Az~xVpyJjaocBSL&gksSo@KX|r!G~uht)=$OsPHM zAWDjIiz1xsreBUI}DUnbnvp+OjuI>!z`jMyL9-cdGVh*UAfKUKlPMd691_y z3;X|Cu1ckXB9*Qo7^vB~iYB}(FS0-29m4`@RGt$syjW4cc7c`tO34D@6Pigx13eM~b-um%Zb zH6`hRcFFfhC`vwCVuM-By(YaJc)=Ga1$9$PuqJw7im9dL)u z)p+ADaQ+iUo@cX&w?P(I34;oK$x=BL3!fE<997xg#?6Us-jz!1XbH1NZ`0S?Y;^mB zk$xO~e(aA&(fhGwZ%<4Y!$sog;EmF)9wZ}o@vbiruq!fQv(-%yEVyut%-&2BP|$GP z0Q4;+p5O$~rkeCIAQdu|*@%4zdfbe3Iimrbxqe_*%4>v_jWhtGTd6* zK9@h(N_Z9vDy1q$G`L&Le}wlDVFhYA;g%HgxgSX&NSsE~(9gHaRV~{vUp5KbsMlxp z&d_}w4EL;W|wlSCHUoQ%`Za?e}Yr*)gl(y8TRfp zpUpt?7}G7lbCU_%Gn;-2P#>9(DT*_43Yxe|wWJ(hV!S4EJgkgf@OxD>TEO6pPCyJC4+fCxj8DhN{$=2gkf9Qs*`R$qtR!nyl@FiZM$ ztR=&=dC{l@&gyG{ zgEr<%-__ah`4`MS=_fo%@e=fc%=}X1e9Rcbbket8E!zJ6^Z2CI4`Q{@8-!O2U*NtX zt&fIzD8?E~I5Z#fjb1u+pem4LS?N={1J~3~LPz1~oPuZ~yNo;(Uo|%AAn_ByGg7AX zpsYB%xtaXm8Ir%tyMN60|7<1WKXlqqT=4&^IR7!@&<8_>KqTCu_iIY_6>@F**=3Cq zRkj{tqp7BrL#gEn```kr6C+6URV+zXZZ@pcu{PG1J;`%GFC7<;Po1jRJan8zB5$%_ zL-Wcehk_>oP;Qa@Lo`yrBQYfFXPfd(Xkw$SDS*HCpoCt@{tEv7!etm4W0PjYBu3G2o&Y%W<%# zm4%^WgBp~Gn*udituSE3eziVN)yVYgjDEhs=BhbyCbbssybBl4)yjWZR=ejDz<7V@ zBcSuve=V~91M%OLdvdo;&VR_eLjGUb`On!7oT1YsDK|Me>bs`rOx>XwNdCKsHIET% zay<=`ry?IZk)wcFhBrKswX%>A<|Ln?n-e0Rg7qGi4iQS|!y*S)Uf4g*0?kQ3OH7y( zXb^LKas}EvI@-nrr6@8;i+x61D2?j8DQ-=inAikq8On3RA96qxR;(Z%M=;2%S{r|E*zJ z$ItC|<#v3D_ZSsq(|G3ULvx@HPl_%I0;PZZ3_1RO^=T0X(cr4p{xB<)b!Km z$cPty^z+iOKAD_1q=7lqr=A&xui@#GgC#=)-bGqE)=!CFzr~XhOa8ItNu2DGp@A@x zOX|Fq>w>b|ry>%yv6JMg zu|lPH{FJd~@jRvbEpS*zZ9di(zUYMuHQ=k=5?QgL~6_l{JfVQcs0dNs3}SRpLK z{|(cJAIn(*=kWiwLgK%W^IvTl%PA-c1pmJ>{eQkGFoqReF5IIJ?~sRCC%E*9KMiBW z-=??gHXp`%xr|SfQJHTtjDMuKE$PshR12O;k*aSk#nE}Kw6!UW+gYXOB7hmt1)D?; zMWF4c^N}5zkg8#`l~0?akyA;%#jvVM?CH&$0n1iMXz_+r37fA}%Sp!0`ZpsPS!}k^ z1Aw8{nxNa@sJs}U8Gkh}TuvWpg9NV^z%K&)8L)rfworMvWgDB11vJ~5(po#%xz5BU z>yC;45^xvFTF0v0wP#los@C<_|AO2aAXi@^dM|DUo*(}=x&PaRXF~s5#}z7H)b7eu zFY`seOylY!r#qm=P@rnlr4in^)svQK!iw0mjaoHQ0$EyE3FEXF7^h`cJzj`cwJG|FPoddp2W+9t%b^FMywHi`4!lTbEb7V-vV{>@YkgRYM z7aJ!}YZkW_2RnSRISW7XGWHQG@)5S-l|2PB3q{6Ts3Aat8l3~a&Bnx3na@;{6i4|M z4kCQXzZbmc56WaRg36IEvp12N@vf(H(AJ#6XR&9ocu>7a3sj;4<|KO}OI* zcwgmEiNzZ-GU5%f=7WCcegWq+@|8yTk$P4y0_a3>HEI*e?Fh-On$wBdSR7(9?FdKb z;JXx+X_^Wv{cZAk#tek0A4Pg%O`47QTNzlJMEtBW3A`u8<}{N66UYD8PX1fQMO?oM z$bY#f6Z?NW{(no@|F6dW!D5&S40vqP@zMvId)FX8vQ8aKy1(a(bHr!VR|qj;yGn`sv&(6>jWa?pw zBry>Ksu1L}RRpqk>`X@nJ4$s5Q)XcJ{8$9O>`1%O#DWWU=2^T8W6LA^Na3gXtj1c1 zMB1X^IxU054@5K5nTs@GCsB{G0fdB(KK+P`o@v@Sxy%!%qhgecSar-jH|QI5+!#cU zY#AO2jj0>8!{hpMpaw6Z105d6+%_Vgg>o5>nkVMDH!H&=I(Pv3HzI}Wv74+$Nd#rD z7I)Kp0A0omW!?hJrc$XqeDv%tkDF@IEY^gNAt+t*#ni%tnz%POam`c9nX)37j7#zz z(#pU@v)CI_?Gco7&v2^{E8t8L$evlF5s%!=bF1;ABFnJ5E$Ja1{*(OkiL-|hVLge4 z<<>{gmqU{9mO-NsXT*qP_;!njC5tl2_(pH;R&@ThFbN3?{mJ8(TTAlGt(Ec1tt@_- z%M=u;ijl4|-gKqe3?q_fEY7}Cyy`MYd1W+An}vUq%ppbGGzm^^q>l%NE?IjLhAXq` z#fg1H#umJmZc0i%&G(g!rg~E889AXqJ{+b623*Iojy*c((hF|j|7M647vUF0nZPHm zg8biHlKkIHl0V5G8OxTrT82Q|k0rHC2ld4=4M`5W8*11w#Ko;3wyNmME7gpH69Nrs zIV?z=SGbVc%+KV2qUg^;f@O8)n@J>q3HCYGZoVG96_qkl_-S~7E=!at!RxW^2iI-J-N=w>maAM{nL!gjkk+9uMVUoh0b$dSYP7krV>F1du#VV+q6p|< z>?I-0C)P2fH}=V48$vsIv%zSTLikMgpl#+n2NHmU@U;#toGcHd42mRz1JqPkSudef`p9K)b;8IZEk3dXVUB0(hpC6y(Fi~G4XMD{3~x~|N02|pvT#?hKC4= z4!Ge`KNUr1<^jcpk0GYC1Y+TssVd}X3dPWIBlLs|OZ(*&jV1MjhE!o@51W|yp$#F*wB{U9>Gm!+m$usf^N zTX2Vsy6#y?5^h*n&>Bm3N?$i*7T->RKZkIUzl_6d`x1DrY4!gLmzl)U~#CT24uN1 zYC<@KdIqp&)N6a{@f`kUUAf1LE8!Oo* zl~l=yfekR8xrIQ3V`W~MCTEyfxEY37i44MUd^8Hg1~Hj22+nXKYk?U9Nte#*=mZ*` zDD%oh1~W+wCJ#-5Sjp*-(sR%?8Q>=12C=}>mHLG-u)RJEB!pE61LGwH1}=$#L`oLq zRG+mIu#aQVXXkRR&#ner9%G-OEzYyZxz-}=E2yZ z@Gb>gX?vR|77g1iG70rG-4_{my%4+baHw8%tUTf*86P5jzn^}mq~GPV9u#cEs^y_a z)+`wXQ3dsA4rB5=(n2vr$!{TRbOz3ykui71jJY$4&YcmPJ0m@JNzMjqIeo~tGwy)xCC^E zE08g>$J?hY;u40v8kHuyG#mbe41bb2d@gD7DH_miK|;Q~;dA~Ur2t;)fD97qRoIhY z*&LRx%xkH7Kp@Z(J``qU!*SSMo4Tjdy`bVa9j- z-pKO&{pW-r4wjv&=1RFi?IQD)(!`S=j4sEM9h_$z!Kl-Lfuw&pIV&j8aOQ?&)4X|T zxtCq?1R-QbUjIxWIO}-ScGb^Y} z*dPWy#DAGMNCf^(JpFGu;s`N3M*HzBG|O@yj?G%qi8vr?>KcX(lO1Irsda~Rm`Crwtf!h5EmM|0cqpSH*MU>G@uc>4@+~U z={*0JL@MdhXE4qn+4rY5BeuE3n!#wUK_?v7I>NJtK@&Cp1DZdyYy(S?0Il^VUGv?% zc~c7QTl`7dm_`4RG4mj}Q@cNyl3ikQf*bB<)X&R{9#pxIor^aT&|kiJDJq()b?I%X zx(8t8P^|_{!EkE2dvv=0oE#3NdA+mZ!UW$upqqJk0ykpu*pFn(rX9UY{@q{6MH_tb z$zWd&TTMyL-_aEN9x#})s#&(&07042L=4E~{l`~IBeIftT^1t8eDVG)h zy#YK2~yas?Gwz2gjy;`&hSZ)3_99q!O=P9$<9a zAes95o^Qa|^8p1<(fep743ZFenF&W{TC89?w#aN4Lc3Z1akp5QC>Sl-2RU@6HaQzS zq!5(oP*N_=MECTML0O;GIs=p;(fKR(1+j&(0rLNy%ai}zmZAvxzbWz`H~i{y8kE$=E3gEEUH4pc|TGux7G#pjK)gzjYhaYUy0&z-yV*phWWm2n65W;ToWU6 zdCUQT{^0>lNL~Rm5*8hgfIyc<=VWsleokOG9)^h{ftu_iGCmdwu0axjSRQMN9z21? zq(MzA1GKM9J@arnV$u>8>-TLEc+MJ5M>fod!3{FZdQq7MQ$;=% zalt>+Z4%gwWfvpS_(Q2Wz~Jy9tnik=Cmyuln2yKin6WDgR}Tj1!=oBjiU{I!&mBTB zQW!)F8cw1<{q#Lfd-g}8oBfr3C9&Dh92nxUKX8b5EDRLrxaVw~4AJ7}2~uC=r55;T zG~7-mnlA4;lK^5$OPfg+^?(R-g9$DfBb}&m@9<+e6amSXp-wH9vgtcNYF4x30BzyH zDufdyh=w!(UBz(hs!yL1-0y?-XZig;Dd1W5kkWN_dzfcVcfHUO3JMlhN8kG4)Wx8O zlFpBIjZHhVnRxF(|Hy4g36j=V5Gah^_|QFEXV0qBKm1~Chvh3Q~q4TByWI!+>b;nHmlKwFvJRFvrN zzRV)R_s;K7KE4d~pXLV$O;Ym3X?Uf$d6l@4g%T^ktRmPTmQUik==!hIdgs#Ce{u(Y zC)a;nS*-uAWc|17Vr=V5S7Tgi0G`H=2Ha;)i%PnP>^e4GbHDm_D3=He#(#7Y2}7=? zpDD3tgN$+mR_-7vSu5M8l>$!DTjW)2?xkZ;FHuW1scv~@GG*19m_zIEJe0W&co%7j zq{0G~)Z#G^>7tY~f&!tUZKuz6;WI3tli5a4F5FOd?FF(hM`lyIBy@_{8RnIKq*fzu zg#^4X|KII=;?nqktJmI5#{Y%#g8#4M+LE^4+LnfnVcAD}($qiPeg~hFmpm6Xq)eT& ze7?iC=JQ~L=>y6xvAij8{425BRCGZD{fRDU7CXa|WN`1>7QhT-DgGO0iP4qM3h1B2 zG@^N9$a#Af^aw$Dz8d;hc9m|@|F_$13Ho2hg;_5nDKj~m4|R~9r>5&-cnd@UQU;H6 zaoQ`;D+=I#qW}*E%(gT3+p$hZ<7@kJiXLYM5CGRNyJ`Pi31D6tyJO*8?4x zq|>2BF8&^Pqta|gS~(+1GQO3l|0Y2@f@x&DX86ewOF?A1O@6j97U`X7$fIWVq_c@j zA7M=u{j}qp6cAgvW;rgoQc^39=EY^#$UpRl1q2t(SA}1Sr}rW9f}|6dYHxZ?J`==h zMVvb^RS?(C8~JtVnOibnw6YV8WH?7`7Cre%2a!gS-(cCNDq= z$^Q#w|ClHLJG<>(56^$KdOcVKU^zwE75@JlqlXJ5y}ZQ`mjKfk@WpF&mo7FtuiGK_vxtRUz?Nb- zKq(*s$1@{eTVVTA(NJjFs?(X{o&b-yW4ZfhMl?nPVk;R5R*S1s7)hd5jmReRrH+=% zK9^kafX!i3H5gWE4UO=I=S_O_p%M9=SCUyeSy_HJdy);u-;_BHP||W|&v3JvQTPhy zkN^@7+u&+!(`IwlOs2Kje8eT21AX5bn_k~PbE=6iT<-Me>bY2o^!v%wCJC7nVTS3F zqCcce=aOKfTm`0=qnUl@1yX0rW|m?21XB@bXl%8xC3>J_g+Gg1~Qk8%48cRvX74?l=E z*g};SnyFYV#9|HT#iRB6M47v2D;KCwbBtT37iwZL7+uyVfb|mgd!-}cO)Lr6j4aDV zDlOXWg5_DUgM3~!GVL1Ul(0;}JIaCTaRUx!?M79b70t-G7i|k!Oz6PW4i&Vt6kMl3Yb+a$>R_2E2Tob^0kkoP3!e}URL zl5^G)>mV7KhHlJX!RCixs)DHs4fXnqhihiFxC~jd_CRL|!QAhQ#N*JWJNe zMTlBnhy}uGtoopKf92HV}^BdRb(G^Wy8}mtt^TUeA+PQJCtj&BV8D|%hhd` z8ZFvXIS*KPrXU6@yrBb0L5&`2*k|V%YCJA}?ASu^^f{hTz)<=1%L03Y^=O~|Sr`j& z=&MBn1T}R`Khr(>m4;Ly-suv#3%2+W{FQZy5`2e)od7exGIV39%n80BOXm?aUUgiH zjC=LSc3IdGMG3hGO2~_%#34!L$Yy6V7APH!0{~q9CK65LIJ9(Wk5V%olVK9Mg)rV34z{`LsNHDt{oOJ zz>)RUCSugaq0=?MCTI%gDg4ay)&cyVphMGqIi%LuWZPKD@}j2?lgJnLm7PH}X({Y3 zMLKwpbxsGy;+gRO4MMU**EHU^ezFR4Nrpg*XW!ErN%T$60s+Q5yWUE z)@%?s)-z3;`0<(g@R&ErQXpfb=I}%)RHn?6RK;m%M#mNWhBoq%6kaZZq)>bTx6^8U zGf^~CpDKFTsGBtV(GX(F?kDn)i$&X@NapI6XG-+AH1-?KJv`R3WYDY>p6^U3z_9+4SOh&gXd)4}dq)ow52g<3pK_wPCqBIS81v%~7!3P-QKPSW9s)^bK>^<$uT7(4_4pw-hI=%iNW+}3?bV8 z#w-*%G6C~>$UKH34Gd04Bh^(KQuGa@pMD=!C>X{r=vujOroOEpCKp9Q@{HYJgimY8 z_BQJ9*gQ2y`~2mdyYIdKsd~HubpHYT1a*aEv8KV0s&z!92Uxk5QCTFrSTz10_0e&i zq3K~N_MIi;|Mj}v-1y%ZE>Bjv?Y7dBGyLi1xg6;O1n6#%I}qK8yB?Xpd7bk%Eud!uV)w6)ieAI%3?7p-nbP!3k=P)LQKvN|jk+yTV%_ zNg@!-<*ug255lt_81$_FH0Es$HevO&_A)OW+{a8=)c|WCFo!2?F#*GEf-DO+T<1x zMxfL{gRAQxUB<{XC*`d;ix}#5-2od-s*`eDgUr{tu;E(7p@^h<3fob#+fjJeZG5c6Mm+TAMe_Ok)c>d3}EX%us{;w?m5C4teUB*_s+N?kGb`{|@?((C< zkM16w)}?o)b}FOY`%iCu>h7NOCNPz|PoMSg-G6XbdhqB|^oM%?!2|LO-Q0OQs1ZdI zwU{q0pYs<7ZtYXcb?oQWhmW4#?Q4(w&|39iKd8;Njk8MP=b}a1v?!SovM-rTkB3?8 zkQatkWK)GyZ>Ko(~+*@-5UC z-05V744B9NJFRYl|0}JI*#BEI|7SX%IiBDKTCgQ{f=}}FL1fJ_1{maJ57-{_d`ftS zSMSodBe-;0YG7*& zN|Z!Sx9Fo0+y293V#hFgG89-?Nrr`a-iF8YP#~Ua@jw(my)X4KeTMigD&Ftwj}86@I+$o=*V{#ay`K zId_Ek7~PO8dupRLN(N7O)LQh`A%n^xF%$M-B7HX^G|9$_=8fIn%pX>jj>?Zhs zTM_(U@PEPom*xM}YV~O34D^x22F2MPn;!~Q#@U0D5FGN}UZugxLPJ8JEG|&y3|em0 z)77FQz6Sgs*W=_+-+Ui{x%)qI(*E00c4fi;*JA&b&P-`CbtixahttvMoUv+M!c$$u zk4(~idY0OmNW?2!IyUi`_tXYbux!)la|T`(=7HBn{|jC3=6++Y|BoUk{eOC0q5rLi z{x3@fA=@vxnnH!NPdts^@{XP9$asqcXpqj1O`Cg?ZnH}JawSZao>oF*%EVRb3fFPR zX<_;g^RW~@0WgpLJH3?ue^2QO`oEg>UmE7Y9#7y1j;9M*02t5}@Py%3XIF{r+LD~~ z_h`7^T3C+}O0H*j5odl39K_Hs>huj%`79$p5O)LQ$J~G=Os0Ol2@fzn9xM|Lc5w2M zT1`i_c%s{qLKy`;pB}dHYA8EP(tpzVVz*{g=t>|GQJpv7Zm3Uz!Y#k*Ngl8PSReR~BTa4B91)ejDM16KOVxxk{T$>k z78vXHxkRGuVDu#*^k=Sqibq~-LvldIy3$~3jSP_a?$~Rh)D9U@@Ef!i2Z03J&#q3u)2U2o)S`sv%4)Rc{E00 z&o0IUStGeuHASMp-L_b*)UoZY=$UdhBYTNY&~;&OfHpWyR3+1Q27uh2PS9+J@b^Z} z*|$g@JJ=NYG|kBP(4^Ydkm#JCat&a%5XDHR>XHjA7FL#6y?&Y={=#T=@r-14Q7 zi4o=$30n4G4e(-WxhyzBuoMXqwh~9!tm%s3)axey7ufutFaLKtJ(>Fdx7wXu6rmvh zdo3aV*KviuSmw)N_Bq|iN|^g+;oe5$@%_hl%bEUTISX}uV;upG#huJ9c)IuTw?F&z zqlb@gJ^OTG^Cx^!Js`(;BM;*HRFXLYmV$vzQl<>-AuRNXERBa1v>kVhKWdqs)(2kf zB_9Nt?qDSKMzz_jvgjIEjvRNx`q9ZxVVupKl%iKV${L{X;-z_Yy_k5%n9u` zxyjk#$oce)*27zRJ{hJrtY?^`+`6;_XS(Izb6nLLjqc(83ExNwL+QBZ`*Mq(M>{*V z*!g8X*XB!%!jr5Onu=OYIU1G`8Viq#}#B86L!)Ox}6@v=Iss=X`2h;5n{hlE6bL$0txGUZsh2n*6HpuTkFY;_DjAN+_J|qp2!{!6!VPVu!i)s7wzp^O zjz)Hs6T7B#CiW>eOl0z*4x{F9>f<7*L802nged_O-*0X3&n4V8C$5Rj^$+d+V3ZAs zh6CM4Moex1^z3FZJ@l;4nfu!^8+|T0aa5#}Rb#_yPDuL%8=6n=f9n3jXZ2_ZD^{!_ z1)Ju)K}x-#wfEr_&GZCX94i)XPs4x?EsPCajqW>3)hNEu;YFic(ON0Ah!7*K6XFJT zKu3G_ctR-=IWTwf>qaf<3=roCvAS%|SrZYXdYbCvp%^0I!4n$k;?*ogjM4i?x5402b- zjH{^)zhDTd?Y>0GN;U2OROMc)>_uhsw+xq~e|`YCm=n-E|8J$6@c(Jct+qJ-xzYRo zQL<+SkTlU_cry|?Jvf&by7W{JR>B3cBf!me2B=_%jYm^ISU2v44aF3n$~-0z-yfP= zJf%^jIYh?9K1Ls-*pvD5+pZp5#&j^PYjsmnbhk@*mR=G6C!5|AeQ5S4Cr1keeJ#%a z+nr?mAEhI=h5ol@{vX-DNxEDR$uQ&z)`MLlb{{+L@0!ujv5#Hn$koRY(K4Y=qJ^Fi z<7l}|+(<$xkYfCKdqh|-z8w_u(1#p*AJafYUM-eAg+(u&9m}4EkmGq(V5JVfqxnb) z_j0YHJ`-bT`^BHn_ac$wX-3SX2VK(L}d?VlDIHI5Qw( zw^<}64|kg8M$G3e<7i^TOLvRUPBQ6NY&;o>zwX-9zknB$cn2j+KC^?F=sjV0Hjf09L;LE@}njlxzgN30cw&NUi&p_+`XkhuKd zyZg-kKdUr`m)O6jk32J(E{yfgC7FJTCSj9jd@Lu)Xd@@VXl9DbGu?YS9iqx{I33lB zW{%6rQV={wg%es(j(nuEL0Z3LZ&ocB^u5PHS_AFkC?0f(O@urePS)A{1x#3rSU(a`d_=# z75@Kgxsbnwk$=Mo^eo0afZYTBikW|`Q_BDfXK#EG`W)%j!>x`o&7;Nwx|2Mf=q+rL z^WBbZ;*LD=e>`@a6OX#xK@H-uiCrkJhUTXrXv9+yT+pS6>X5faqkF&|Sm66e47!PH zqDur}FDPBr~&5UL}+EkoU-aLIH?(tTD=JJXObLN zM3sLWpYcBWsK&v=^AcpK_~~>6Xk6Ha&ft)%33JLRvra`a6!1?KPfn1?wph$SU3poN z-jaH)qITmOd=VlvvNj8dfK1ra{|QwVsi+F)i?!z~#xT z_n5SgHk>7^3)_lbKQVsU^50up_|KRB-CYIa|F@M+uOoN5EtLN)S)BjhF#AuDc#e7Y zpQLRk&oef3iY;vH!A^Q}U2<8qW)oLYScRfEF@^xMpp9_jHZy*(vx?lv0z?3esMezL z#jDd{kDcKOAMq2+)op-IlZam#6=LMgZ4f)zmZ<2GljPS0h3PC1LwNQAkIdkj>DYCq zN5|;vrep3}+d!wCSW0x>PIy+Cs`A)^$0Kv6;_=Q-oX%@S3{+!St?lQGJ;KKkbD&%z z@FY}j@Ra9~1m~eTlUNH!gJGT#>lO=WiGT7Jn`{Z4KMSyk&RqLa@d~|clJaS}#9x_4 zIe$?c>sO?)c!!@?F`Y4;KM(N~RI5ictvfmNN(KsI6K@746iOybtwxkmn#dW8rcyO~ znNMdmM(qb!E%LBRop>J+S^SiMaAq4s$)kM-?Zmuexu6Ux$ zW!wxO(6m>n>iQvYbN-IDrjfIJ{O&eQiOYJx1YoKeJmJNMOxhqxOH$Jq9DGhSkS>Pj z-IDdgt`Uta7-XU`I%3|R#6l#f&EEqOF$+nmA+B(fVmMO)Sm8xvipjgY-o!=#pb9EP zz?P^2J!SwQ%K__iX7wOxKF*}lKDC*df@hKOph56da4x~QUQNzrnBLH}2CRHJof4b^ zKhENca<#1Kj=*MhTy4V_qXpN0^Mm|fVE0R9Wpyah6feTh||vN~#|!w#c0kN4dfo8he7P9{lBTOQH%U)n-X19tG- zk(e#=+?l!))@#!rCJm4WP-_I}8L`g88(8@b*(tkVEXedpGWw*R6n2>yAoCWWk<0^m z#>)8ltIz18DRca-JcRYC;Ygl?nf(CF4c6H=D)prKJNA9r;pai;>IZd}R6ezQrc;~S zeV!38EF7`U_lNOuj)=Aa^BZf8>L5`k59}S3qQ#q;Qn41cpV&K%wN2HDWZSrLnwlUt zl5sYs9!KZl?n`s%G4e^mo7xHxc@j9FIl~jI$m)dzlYs(7NhAJM?vxVI{_63;qnq94gWO1WE=OEF)Bs1Vacf z;N?mGlK4vsbId^^#Q?sb@+15)H_!f0SFx98|ChTR68|$2|4V731|{^rtFZqs?DUx( zG-SRz=mqja{r~K}+jbjQmLS-#6{|lY3MwxEE-=iCC1ue`XHybovr;0}B$ZB&tcC+X zkcep?Z3LV_xQU-sZddJ7!uLD+iM}0DlQLPmwsOtYYF<<*+c=zc;@h*Pf_wzNQJ z4``3x9R+)DMtCmyIC8hlRgtZA$|W)cH`P#femE}QH#h`7&EN_emy}`--N{VSt{Po4 zB`nMLR`o?`@HiDMER?&NXKq5=L`!iQjwr@%F+v!4aO+t}?k=>4At#P2!t3~kw{vTn zz7wa{U)9I3!Hv*WL$+v2VMDt8wf=#wQnGR+AJq@hFH_e4s6LCvqXKpe-MMd2dZ{{e zxBE11-^ZtM`)}{l*osE#pYl;~NjqDQP}<)^?(sK>0@i8ggYdw7uDbbu2$XnqAC!3X zH%Ey^k-F&^_dX_S?A;AD*b6$stg6N}eHyRO(4Q9jwvTB#`pVh$7#MVWT>032H*(+c z+yWm8hu-J%%=_#kBIw7#(7j)Vp?m*W82X>h5x*5P%iFZBjl3IL+R_!+$K9~;Yw3uT zF1zHo$VrT0XE^ylBZkzRZaDxB$4w>?U`;%Yl;?E?BxHR9-|;qNBOqy4n-bC4JiO99 z?Ph!fGsTnyUJ~Aqg202&2o?vszZjco(jSP*{OzxY!9Lykr06Vey_mmet5bQJCySib z#dpR2ukVBXU)QnU@2=m9-5ZDiW>vF9ppW{%9lM4H;qg4&*^TxF;e|l*ES`|oG|dT$ z9bCq+sTo%7F!~CVdTqW!?vOw~5w|!>%>nZ292E&{tc6!GptJfTTU-{D6pS*DZ_tll zkQk$|U@C6H$lgsfi~o}4fFaQ=oo9JJ{PrO1?d%T1y{fX>-w`EzvL^U}^1jOOH|(FpUXFYt*R zYAu>6shq@ZoMXurdvoZ6=rWy_Nv=P8-Si4J9^C>k(biR#uMVC8z9eIk)qmh-Yf+h9 zT}W_0Aez%;xA+ZFP(7)85K#jepNe>H-tek*=AcQ(*X#ebGy#2}F%0M_BM+ui`#|FO z!Q7DpBEx9|bM!Gm)e|Dnfc7C$^hUn^?Oic~>HaT~(}(|Ha=`DZewHcR16LrjYV`dO zplt}95KHiDg3?E!dSCC|pX$LkpQ+w2qI#cDL$k?#{6P4FX?As`Y{dil5sl&^9m~N` z;mQMj^X%x!>+kxXW5MoV|CQj(Uts>-nE&nJPBs2}_tDp%{r~<`=KuMi@UV>r-)cbB z#|Z7Vw$=0HY!>IMJ6Iu67#fz@BonvTS`6>I^&!FdX}2MPkBu$k9-M$_QXIi&IH1`( z_$|(tceFQ1jU64G^csYthU6tBXD=bIEZPKJY0FjYL`bAp%>fQ5 zlpbtUp=8U(WF^C%$?kh``s`G5`%)aoy*;+g2K+tJf93`6nCbU}=s!HG`G4;`{G9*u zx8VOnL|H+=5PtbRAWT1;OmeIM+(4A8VZL`K(*3HZh>UUv8ZE{8uv6;47Atn=j19!0 z!nh)x=oCzjgh4lhIIJP@%;=X~D+)KM$+*e;+>F{ha^tQ{sOe>lNA2SNYx!d-{HojFwmT zW$)_EN%`-%84jA94HtR#eq}@Pk+FM)kDkXAuN8RFCX*2(hVhUm=E7$8$q2vlGMQ=Y zz^IlHQa`=OmtI0-oEr>qZ1H7XsQ-m%-c93hl$5tvg_TyVd6?#t5Rg!RZf(&oHd;!J zvNF6(fxU(fV*Zq5?OG;)_7sAnf3thqp17=)~Y`w$QPT-FhOlYmp4h33@`02!Plj zKj;K^S1$b{sD?J*|0GThjh*fTQT8!DH?NrBSvkuSpTAbiwc>qgY!9dZowly=CevzScSA3iO@&N{n9 zM@C0y_*bj)I-7Sqvk&k*6=hBLpSvHB{I2<{T4fhrXQ!wvuOmgBHq?b_`Px{0e|a}r z^qGj3xm0p!j)ySQGc!09( zPn2z#6YEA%6lU*&VC$p&39xw0j`$1Cv2y_9(?3#*Vh0}ok0j4XZvPvAV=`Nms~SB1 z2h516b|X0c`X}-+4`AE6BYG$BIa>Q~A^#yr{vz}L#{2)#Zngg7?$?h#+y8%K_Ww0X zVa|?Xb;6iMi}JY`-RrMr8)_KsLreUiL8XxTJrcMZjkCq7>Ke7K&QF6yf1|DG4yx2L z8%~lb-V@=Ba(mA-QLRq&U9u{Aec%h4B(j-Tw~g2N)|C~x|4PUTrR--}ui-UMdFoE$ z4gBqIh0bodn8cEfh==dDmKx$RL;mdsY|eyBBfqa{b)C{uvB|`%_OZHe!X?89t4wQ< z)8OGss!q+X=coEX0~|-sO(sn)dUyF0Zrf$yc)V(&A(#Xw<&ZXG!Ve9_4pAvjk3%ihZAAWkeTs*)jC&Q;$Fm4!`-7xEN zPoQS9mDX#lwQqF61GA`sS;pJnaz^@%_dmMqq?4h#W=45Ye&qZA>uvJ?fb0L^&f}ej zd#L|?^!T&>_mliV;QRL5Z$rxmRGuI|ppWjN5GUApqFq7pNZ4xt!s>=-Lj^j}57be!)=#)~PL>@Q-w| zbxG-9WtIb-%3ISF>t^G+z$R`%V% z(6D!sNz4+8OtCN*s6-&e1CUApYjzd?5e_77oRfLX3wh$+?80ZKl z3`L5t8|}eX{&ksZfW%#C$tNNupXtG;p$8us87kV&yWm3qvnK8zNB{R8MU!7s|F^UK z=;6bP{|Ef|%>RFqKM%sKFSo*RhDrSP!)1B7^*el`DnNLVjEfH}&lrv4MY*&gKTr8* zLqh^GZT4sUaR=9sJ9?%3GBf1+*;GQ{3gc4VYMkjXvcNa!>F~fy;LGMakcmb~iT1RV z^IvNsG%@j|Vq~Knm8iFf!y=wzwu|v~GG@-)(SH85a z4!$V5;TK`kcGOBG(g9XIVeVks;)&d+T4Jl0MAcf=5f*|-8r@@^N@>K}7Y?(GEZ)ZU z#+NnhS;9Gt3$dW!BA#bC?G3X|=YKqYwNGB9X}PiYKfipTWfB`fvgLEDIYX~aLgpv~ zF0|Lw$)JmME|NJ@gM%(mgWq-gmGYygn~d@#o;d2Z%ZQA^wcsm>9i<+V9``q(N*Plu zT-|ZdPw-nK%3XjwNxE*o|dnFLxfr`WF*x>v+qo+CF{)B zt|!8Wk!qw&Ye~{Cr$8;vbH}G#v*PRB0h8}ef88Mq)!4CAW5=Z$+e$UIJ8MB;_wm2| z9o*HaEagAv`G43^)_4k~F8krJlyg|*$t4hGq_<_(SqBD>ez*Pi0tT>@Umpxc>)^m8 z=vyw&@{8eO`$JIt@%G=%*}_u(UQm4d{wUr>U&@`I=9`-A`b}y8@wWH z#~q?m2b%D%P~)^TgKQC}%HQ}Se_R-YssGwA7XFrjtSYH^XX<|V>+1ign%H!@l`m#d zas3g;AidwihpqV^_8x8f{(n1$;ddvmL%@ymqqFe4qm!ev!x!PJ*H2y?KMmo3 zM^K3bvNa>v8`B?J)KHPz3@%$aIQ{g$V2G7$=U>u%LGt4vdBr8g6{_-#k zw|94TwzuGd*a^ee=Z8Ufbd%((jALFF7z$HLHfwa=rOXLPZ}N1sgc}xfP{P=#Fk7T( zNT*6Y@Z~feC-Wjf$D8FWnZpdAeK@|3=a?}tOiK-^0qU6DCX*-#-du>vo)nCP|TA z&3Pxw_#HgFjaMNSDGe^+JSUWwEG(|6J!~><6&ykdD}1s-bz_;wSWs4%@?A1d@^~ss z30~;%*a7;G%_ltA6~I&szY`iPTr(I=#LRkY3z}egE!at^wrCcV7Ss=$RN#6`xv*7U zM7$do00!Q9c~iE#A1@YDfF7DtHcNtHk&IL5cO|=qp}=-<&8-R(TrJWuwVTqprudLg zJ7_}^T5kp|VCGA>KXWW6nZZEg6tkme6jDaJ{$sWbFw-_afL9p<@h$Gi)fJlgVMhg0 zS(iM9u`ZW5p?HKh^X+wlBLyBxpvv_c|C*$8gvI7vQAA+fbO0EK3Ak5ghPaRwR`4y; z@p1|@cT8nHM}#gJ7uZVPFQ)N4=CI>Y0*FTE^8;V6EEOM%Z>Xv1kI@v34avkGWs(I_Fz%XCvJ*;W*iVT$<_U}G zUMT3O=83bjIl5M-V?J@}6-F4PlfY~!0z7VTGAHUIwduG&0?iBv=sSLu;YsC4Npfx% zaJz^oUQrzm$V@RsVH+Oqn{;smn$;9yC?L6H1MF(zxj?o1~X3 z#7*3h=kOwVAI}!(6ne+b28xj36&9N-0_cOS!j}p3LW7{W_$n2M1b9iIAGlVC%+Vv> zDcW1u{VM=oTo2O={@jOg{0c@U@}cl&VNQSv!7)H^#QTgFGbQ5`&6ePlYNmLLG4ln` zxB==FptvwiVD;JPF9<3quhVJ!Ymw3pGBuhBT(meG{GJ8Xfx`F_tz)n%qy>xvrdQJj zD<32{0XXRSRX`N<5FVOI7T4J=4PeS4=CeYIOsq(9k=hgjV??QvCa~wNh{N(W+XDV_ z5n=`5Y_cErcKUcGW5YP%MPRlIr`X%278yEJ3;4Tt)$MgUzNX_Z_zW`JxCg=0*_0~gCNXsGAR?hJQ5r>GARWkkg=1iQBxt$RqQ~z$S`LPCkC6$gf%-WYz8 zz5HWYOL(14v0^$AV7Q<&xvx_ovBZS{#4uk#tqsdTW5AX%wX1N`3Mqu9BP1i#8+Kr5 z0dh4JCLkm>jo?ZXn8Z1_(;y?1q9IMubCwWshpS zu5uSq6RSyFKCzp@9oS91rW`)gnH8W%0R8`!l!<^s7=;0w!qHcoSvZCr*eRd?!!yuv z&0tQdf=t9Nx&es&x(4_S+@{cGp3S#B{=%|$u>mg{b^cDvoX7Qxus|$i9vY^#L>KHJ zX31b;TjOE@)JG{ZlL|OMfN2P%lF$M1lMKk*7{|@>cLU6WkmRU{r_1lsCmEK0T{wH% za(ZE@a4)-5prChc_9~mhM3@2wa8{VY&z<-set`cQ=WwQZ8Y^E3U@a5yWtE^Zybe0U z8BF8%wj&CQ(^>e}c2K<(04&DLP&jabjXFGfr%fmrCF7Xok$^l=usK1DTro;(x`pMY z;lgf&)}RKhDoG1JQOG)czI%eH|FZ?sGaNlYq6RQGxdFAQ*N5Y{8=yA2oW04?kaSA2gO~4&bdAW2! z__SeVuhJB$Gwdwx797JC#a|)@gJ_#iBH}fG#Yhw4UQ?J*ZSxI{7qyFulP-V)AHm># ziSZHags<`_U3%D~vQ_L5MNBN3(EgH*Q2&B!13X+7R6kGV;2zI0Ul;)kt%k<|8KIn# z{BVUkFhao|(2a?p&+e#D8W_Mt)ThmIU}vr3fzA|WBG?L3fi3fyJ+9X6NZE#~nwy0M zW^*|QC8mA3LIwjp7g%$I#k`YjF->frQxsgoQ8rm2+u@;DRDrbml=Px|Y7|-kxAnu; z`5<=ik@~YBFa(Z*Itvh|IqOZag4=&Kpp#61OvOwyZ{YOexm7`Z^&*`w--qVAfWM<{ zJ)EL#;_7Cdq=C~UGiP#$R08s%y=6tnZx*%a3!%3v?#jqc8)1hu7TJ7~vcOD?07w&9 zLe0trqN5U~eJuA@hWHAA@hV<%%AhdDBtxYD1(j1524$R>oVRh%!3)^e3JC~zxbSAk zEoha?LU37|Fs%+qOOcZfGDZtEU2JrtBTK2=kjq;j73YUBxmF_C2}XJsyC>oxl;MA1 z+mWTen=&0^hmOu(o`;7g&%&ptC(n*Aj!#d{!{?`G@blG=$0y$n!e__l7iY&$UgIlj z`117G@$=)Shxh;wYdd0IQi1XiFgQWQwaYCc8X0oqC@6@4C>anT(ri|Y!VT)A$V*rG zTSrJ`mLB>ET(xBSAIXFW4-6TvL}xBnixoa6;Zn6T0%Jf-h^ttSb3N9WbI#>X>8!ld zkAkC^I4b&0_!)D29)}=zKr-$yl7}4wOtU1W#Y)Ln!3ncl8VysZxIBr=7`7}~5T{vW zq_)pOf|2=6GDi`V6uS=liYFlmp)@Y&@ph9uf(y;9wt1N0)1gG+(T%LIiJ<{;8G@Yo<{pO zAzd}j1GXCWYJv>;oHmi+dm7KLmcRwUHuSy+N&(E>B{}hE7nFCg2v}N_!$)m8@dB|) z%P1fpcHH@NB65A{oLdcVN2Fd_K5uQwq#5SL~NxN6mwe8A;(3L0sDv>O6kmj+e4yz31=sw%rw#VGy+H> z3%0|ExehfY(~xy?w15CHL0l3%LC%#;4)F?RU2P@+h^p_ld&=7(&21WZ!n`Fe->~+G zxV2?jpv8qGIOshQ@e6obq+wWVjjvk&>UCjO^iQfZ!8EvJ+~HJecrOKnw4OYyGgCp4 zgh9-HGUtC3Wm=L}FSH06$jzw(_fkMO3_iyDLAFrXcW-_uikDeNDN_PW3&>==ACaK0 zo6A_5FY$D-(*o&%s@hCv$oSCtnKvGUu}RI6NxB4XO~kB;we;ZjE`X8Fmc^8(0VF-o7CC}BJXzo+Rb1oxNmnYf4V+fa zy(!nKtY$oo(;2gYswVv=e3v8(Bt8IC1{3)+5oXxGm>4MM@+WSPnW}hHh-whm7TB&U zn;7$C)%RVwu-FD+6uXP-Re@?5K?f#{YL4Tv1_TW&=_M8odA1O| zzN93RqAym~nki@UUJO}8hyoaw6{x!wPDGhaUGl>6X7JD}Nv@7Su8#70N&M}M=UZn& zU$|O%h04I$P{LfF`pR9~!19FWvbvoh9sz<^fR7Ds$nngQgj^0}6-DCkYz1O=%_b7&p#?Wj*(%V~$H$y$M3mJmU@+D)HK8Jyp)!C_+HP{<}ag zQ<(J8l7-d4$0-#Umpj{RgF=wQW*Mf9`4RHbMJ^48Kn_mkiw>_-v1g#}sm>Q#qR5@# z&dEFm?zM(FTJhGpA}1BKh1{YR)%}J#p`ye$**m;vN^G(641OT=XW0bZRRP(P%S+0& zlew}gXS|Yap!yuu*_-GxTA}cq&YsvE8F=%PV(^L}to`efTnDlYx(9BUG0F_2w;gL{ zVS%V#*dnHetO(Uxl|Q!|%tN$P^HufZEdw?#lrek})1=Ibc}-F) zp>-mJHJ3)2e1{gQm{qX7ULXB^xIECJSN69n#9RlQq-O# zGoYF`Ng+t%QVNDsghV1Fz+7hR6K2kVr}*f&;?5M~5ys zdNpj&Fax;^mPA2`ZNdi$*^y~kd2)qP7^>KiIl9imTVw|Ua-_I`4+oAr9?q1!$4W!i z6~_?Gk;!tLMTl`Oh`BSyd1yvkrfIMZu8)YH_$Gu?x>n7+3`JsU08)9*+A{UCaOIe$ z&33IyC;+qS;YQ)FiQ|AZAEUW~FZ}_~Japo@y24%3ZdFpHb&zSgp`)OtRP3pMyoTZF zb496}Y`UDW!5PRvMn(Ztin!}zKHAcjQLX}zGdmXjS^fj^-*^}AS-uXa7+tiCVEzs6 zT3TBD3rT!T;z^CurRy6#C*}?(Yn5T>g_U6;c=AZ=wM`id8&o$J&bH@2uB zhR>KhGP^Nfso_FAMd#u+CcDTy{V57Bv^H&q=70%15IX0jG$75fa#+qLDHL02UfiO% z^FDh@)9Dn%aJZ?(mc&v7iBG;7OC~1Qkc?^_N=33sNy7mwioFfgJA>d(DLLy{Ckazr zS12b)tr!aU+VPnAuh&b>Rm6`&qdm(5-`b7b0Q1Z$rtDIXym)D;7ot^4lH?S$i#bKO zL(|y}N!n==cE;kFg5HRRP#HmfoaOA8N6r{CG#bv6Eezgbe!Mb^vlvxfjwl0YSS9-Iwkb5D9}SAUByN)5w*o{U{xgn;2PxtO z4b4}`XWhh8;$*xI2+2M5o$^V`R$%PNv`v!?e3PC# z9dk>ts*E%tyL3?cqXmgKYB8Y$)9Gbj&IjMmCy+VQ`YLv zxkTRM#$DQ=x-?ech*L(e9$G5+=&L*#;-bLnZY5p?b+;(h+PDS86VhDGOO+Sd`a;r_ zixFtp@Rq?2&*qD?P`y*^drAf9#aN*6Ff{J(tRB(%NW~gtsVS6#rEGMnh;Nm+vVwf> zdJOY1kbZm)OlnSgNEEJSaCKl+NiyBRkuS%Tj%*sQ5S>_`D={~sf+%KW=ZMF7RyYsR zIYxO0)?qUR6(K&I>03JtMa;U1V>NF&Jzx3!pIZMT{A#cqprevY_Go3{9;r>`?tjDA?g#RJG8& zRn`FG>5F9nfn$RsCJyiB(nh$r8?8DXnznbv1Qnsn%uCd0%|;atkV69H!GNBEP4ArQ8CM(6fel2t^ztaBnc3=EP;LX&3q;q zP~0RiW(kh{u_lQ_W$5i$Y+&o@%XO@MZJE|RTQ$aN3ZRIOThx^3VVhZq|3#~OKwUJ8 z1%0xj)#;zdEHNpeUaBZOXxM_Rld)cfW&zHyQQz3eUXu$XCh1_H^xVzES%Qm5 zi<#$BZH%bSgvpb}bYs86+j=h48H0l8)MKiqK-mGsw&apG6Ua10&{>&Mf7#r1supE^ zt}c?S+K+2~5~e%L8YR)b`Y9;|f8P%JVywzKBPHi8u!#W0E9gAj!7R02~NMKR=? zV|0>mmBh$PqC>F8#Dvkx%wa%l*u zDg_6`xnts8#25z3SBnmkGrwU{2Z0BFB73>_ANl=r zsW3A?y4Q_+@*I}QaqiA%J#^7v*E_j{V6#T7a>ae=Ta28=e<8ca4DNg)^gW@^Fza_o zK2N41haq>-H=!EIH5PKx3x@x0cawfoL7xWMm z^*k!z@J<_LyyMnW+=>xbB3;g#)I7fNkp-T|R*KUN6`>fSX-mj z7CX|RdW8$=I+l5v96^j46dx5Ro>ZI@QGgCimJ;!MsAzZ77T6=^Kv9rf(W2l*1Rbwc{CU9f9hrK}7iiY#BLTDG*TTEZK>xG38M@vzL! zaQfs7t12_f7<@z|bT-H(_GWKsEx)sv!Z3q7Gs%`K&N0~7-27B;sxo7@JN?LhNJ&@G3kQSZ|V0h*X2HJ%7S<8@|qsVGlLL_sIO z-b7R&a4G&R(-ec~=t%#Kk5rvc%#Dv$xiOtj#on8u1=Fw=NRY({;a}2dvL`(N#J>6kMF=VTCwhj5W-WW zS3I42;$_)-74%t^0GNgXnWXyR@ndmcty=3Rm~4lwBbvhJK2b_MV>A7rvWXQ33`yFt zvmJ#LTtY$^`wy?Pscu-Zm#?6LLIV8-sm+~8dN$dc&|`eVSx>5Y9UN2+{qzoM-2t>G zwLzJADJ}f{i$aftVM&dGIn~Q$PH{s%pEIvyVd#d&Ek;PBPy>Q-*p+Jvp@;$>t0e0R z+mgcs6U~g(F2~p?H@#zVlu%{Y>Vxdc&Q1hUjYxZ*ASm@z8$DXd ztSF!iCT?Q6G{y?ac;6aCnfX(di4IZ0nE|V}8MgztOOP+51W+ntwSQ}~x(H9{GE^G+ z#5QE)>SoI+pl!l#^6b_P7tEEoL0gg?xDM-fHy2m{j_!TuGqIx74iOnt1!jLBs> zs^{F%tQ3J_7-#J!yA!7{$g@>EEms_u>fm}kWD!Mcj0s4h=jK;= zos+Q+*1=08N<`KxNw9{%0JGBVC05?(s@;2!nxXwH1Dw3f@e(u6YjntKrjKrA4K{Sg zeGdM4olH?P!5R-tw=ieKOxOpN&J}$&+^k+s5IPgQQ9QLIJ#o8tv%Zms7khBJt*o19 z;|JuG!cIk%;P+$CLs0#B8(ak8XqIwe(=SGQS(a!cb4Qj-Fv5|w@8n&mNvOoNkkvyd z$4dkTu^Qa+8-H+(=`C<|&I~p9f$vlbrn<_dM-x?U(;K*FEb_5>gJO-QDNzzhQNvD8 zHm?A32V-L9UlJ&Av^6m4*Y>LOYQznO(}N zW(JCR=wxqkU6jT3S7Nlk5vG2*Fo7-ijG*l1Xx`v56@aGAOqp6Jj!!kxQzNH7=Br>l;oKN11A(q+4+d7{N9qH=Jx?l+q%rVAy&8CUvXV}KvzwDxmX6`LuM$**Ew0I)?=8^@tb}__Y(Pwi%~A$| z8bQ2Iy(FO=Q^&y@WHPfG!IWcJ1Ux`8;Uo}@&5{JdnLjZ786a@Zo+hLeGE>BC1ebwo zk;N7zi4+=+buS`^m)3lcq=u2evpl&;DGr9ue4g9}qVz7RsYhFKkq|F{%q^l7{2c|P zWWsEKrY91xFpLG(gft$DO)b(qH5sYY_MpkM0`$Mad2)zK{aw^j9v+hYwK3hSi+1Wj3eZNgDFcb)~a-(N?{JgTFsgB`@Y7xljhA@_9p9Fm@Cd%QDgxF{FRO`?M30GD zxXeiOXzHXKTjakXmx}r1imA#J*-1$=d~zE8aCmlhcyjS0k+X+U_~hv6;p_9G@Z$TU z@Wt_yv%|9=!{c*Ji193Zes**eo<0wset&rO-O&KsogHC|lhZ)^qVyO}2hi%2ejok$ z;^^cee06m8^7!HcdVBI?c=+lSbbk2c1vEeWAqtNE{PgJ6Mfk(_MI9{`$~#1e*(eygWR4 zO6P>LaLy5z8~%9u8VwY%?ibIzO~H*i3ZET4KYDs`{3keFXbHodzkYcX@P40P&<4GD z5uO}9h56!F=SOFMI(|y~aCY?S@c1mG>?mhv*vsh&-;|FcJUjrnqdy@CygtFiE71PG zzlQZR00Q=L_#FTnZYF#h=(+!J41>c7)ee6^pTG-y_&)*|orW(Df8>-bKL!jQFs#Yh z;zI>&sRho%C#SdvPw+KO3nl^^65tU%JA8Tg-O;%N1T?gykr{;Nua2G`<3Hd%fF7Ln z3z%N;^c0ZjzrV&)ga^_|cnHUdJs=$Nk%fqY2x}(_BQUn0r8&-?9lH*H;fvFA0=8#| z7l$Fu82)~81g(R!qZ8OKLZ`#0PhXz_YGDif0%mjm8j$VygbxJ)fROq4?3uwQ+~)vm zZoWQK7&AKvBcH++VwVJK_CU^0pI-nT9Q6kT1L5)W;QaN|@8$HcQ}^J$hog9M1kDbg z{ppx6kH-OAI6sy>fk)UwAp1ykjS|$u`lx+F>K?lG%%ATuF>Dqdl6=Za*bCwX;Ng!* zbx(ltd7+j-acdC<8Aoo3drZ>ruWg zNy`fLCt)kmT>6}2*H0R&5!O)f3vNu9$TuPFlW0;T*IUI{%y2wZhqre6! z`zbk3#dL;Y!N_)qiS74zsPw(-nljat8B}>lx*h>oUWUME#O#aAiTo%%2iJr5>pc7( zU0%M05vU8~HHg*vmdBNRr$+wtVD1|eROW#iv)*4x^tj2Q-2x;|0@Z2=AUj@(#gB!3ykJ&rf90uXFKH^G>)1Q;`X;F|I>1Co0d!!DH;Wg<_R5 z7f1w^!T82_=1VvL>6$5Y+@#cyF#0N=0840N6GF=-oF^uSAMfgVp_0rGlzJ0|zCv~Y zsfG*Z&E7h9Jx@1~$nNYnr~m>KXyC`qNmD=7DkOssuRs!@Yb=Vjk{@66SM%_iZvyg_ z38@VZk4lh&0&Y4_{n!iFHXNRPfm`0u&>XK4xha|!fIjWk(LiL4@|-J zXvaMBYYdvlqjdh2X>Oj{8*-@i>C8Ly<)iwU-ZN;l2L!`?xQNT~wfg|a`D%&9!fCcZ zIxmsC8Oy)KTv*6YD&)@7;s@#<9Z%))B45s_Y}8lLXqiqY!GBi##{>RV#@K-WJKK+T z0skLvKYqLi|F;A9|8RTnGyZ>)KX~*HgDw0M1oQ(7F(zowx*^tUmZE))JsRAC2qb(` z907UOTylk2&T+t5`K9a?a$~}0*^G$fyooQlhODINTu#drxEbU+$a#k|^w2y4DV$+h zQA44c*iGWdU|?aV5z51z=sjEKkl8{L9T^~JT*Kyv#I5TQ0MqwQ3P~YfN8T?9u@Qw8 z$c0e@Mm1&62Te3&K9`|)HH-lb{E}pp?eEY{SCa@}Wnd!;TrQPo!45EMCf1dcLTn-S zA4+%+4*=Unu06nYUcp{2M`7=}EEmQ8S6}h(2;_gFv0Ibmrl5cA62G`uEz*D*LtFe2 zaZS)D%dhA+xBY56dKhhk#QnKu=HF@kPr4X?E&9K%{_i%`|9rT&xBGZ!XKxSb|L)`M z{}Mj@O#eUm`45K}{Wcr|5%^^M|0DP}pZ}vrd)tq({`1#6yPxm>Pw|KB|9J9nKZu87 zUTRKsRD9rFIl#ag`p+p ze3oFQ2lUIv-%e}HKU`>gYDMbziND9wz^BL-+p49LLL8cp`RB2cXyHggZTe&=kd-%r2mii9zOnz|DQzu zXFMxbMG!R80)_M-NH4Kn6z5krZ?@k?nE4x_z1MYsrrY1=*iPFJQSOT(+~U5w;TQDM z#+?O$4$

a?5$UKFnrHeUu_`JP;tvnwq)o_t37MP7a)` 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 dU3s?oXO7+M^JG(>P3`{6AGQzAW$+MZ004J4 Date: Tue, 4 Aug 2020 16:41:36 +0530 Subject: [PATCH 17/55] switch to gemfileparser Signed-off-by: rpotter12 --- src/packagedcode/spec.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packagedcode/spec.py b/src/packagedcode/spec.py index 98b39722a36..b437d2eb291 100644 --- a/src/packagedcode/spec.py +++ b/src/packagedcode/spec.py @@ -33,7 +33,7 @@ import os import re -from gemfileparser2 import GemfileParser +from gemfileparser import GemfileParser """ Handle Cocoapods(.podspec) and Ruby(.gemspec) files. From 0a5a449881a77212163bef05b5751cb6105b8462 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Tue, 4 Aug 2020 17:21:43 +0530 Subject: [PATCH 18/55] detect dependencies Signed-off-by: rpotter12 --- ...ress_standardization.gemspec.expected.json | 156 +++++----- .../gemspec/arel.gemspec.expected.json | 232 +++++++-------- .../gemspec/cat.gemspec.expected.json | 194 ++++++------- .../gemspec/github.gemspec.expected.json | 267 +++++++++--------- .../gemspec/mecab-ruby.gemspec.expected.json | 96 +++---- .../rubygems/gemspec/oj.gemspec.expected.json | 164 ++++++----- .../gemspec/rubocop.gemspec.expected.json | 238 +++++++++------- .../with_variables.gemspec.expected.json | 241 ++++++++-------- 8 files changed, 812 insertions(+), 776 deletions(-) diff --git a/tests/packagedcode/data/rubygems/gemspec/address_standardization.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/address_standardization.gemspec.expected.json index 135d76a7239..d3320b4ae69 100644 --- a/tests/packagedcode/data/rubygems/gemspec/address_standardization.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/address_standardization.gemspec.expected.json @@ -1,83 +1,77 @@ -{ - "headers": [ - { - "tool_name": "scancode-toolkit", - "tool_version": "3.1.2", - "options": { - "input": [ - "address_standardization.gemspec" - ], - "--json-pp": "address_standardization.gemspec.expected.json", - "--package": true +[ + { + "type": "gem", + "namespace": null, + "name": "mysmallidea-address_standardization", + "version": "0.4.1", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "A tiny Ruby library to quickly standardize a postal address", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Elliot Winkler", + "email": null, + "url": null }, - "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", - "start_timestamp": "2020-07-13T085108.178525", - "end_timestamp": "2020-07-13T085109.146371", - "duration": 0.9678757190704346, - "message": null, - "errors": [], - "extra_data": { - "files_count": 1 + { + "type": "person", + "role": "email", + "name": null, + "email": "elliot.winkler@gmail.com", + "url": null } - } - ], - "files": [ - { - "path": "address_standardization.gemspec", - "type": "file", - "packages": [ - { - "type": "gem", - "namespace": null, - "name": "mysmallidea-address_standardization", - "version": "0.4.1", - "qualifiers": {}, - "subpath": null, - "primary_language": "Ruby", - "description": "A tiny Ruby library to quickly standardize a postal address", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Elliot Winkler", - "email": null, - "url": null - }, - { - "type": "person", - "role": "email", - "name": null, - "email": "elliot.winkler@gmail.com", - "url": null - } - ], - "keywords": [], - "homepage_url": "http://github.com/mcmire/address_standardization", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "root_path": null, - "dependencies": [], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:gem/mysmallidea-address_standardization@0.4.1", - "repository_homepage_url": "https://rubygems.org/gems/mysmallidea-address_standardization/versions/0.4.1", - "repository_download_url": "https://rubygems.org/downloads/mysmallidea-address_standardization-0.4.1.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/mysmallidea-address_standardization/versions/0.4.1.json" - } - ], - "scan_errors": [] - } - ] -} + ], + "keywords": [], + "homepage_url": "http://github.com/mcmire/address_standardization", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:gem/mcmire-context", + "requirement": ">= 0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/mcmire-matchy", + "requirement": ">= 0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/mechanize", + "requirement": ">= 0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/mysmallidea-address_standardization@0.4.1", + "repository_homepage_url": "https://rubygems.org/gems/mysmallidea-address_standardization/versions/0.4.1", + "repository_download_url": "https://rubygems.org/downloads/mysmallidea-address_standardization-0.4.1.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/mysmallidea-address_standardization/versions/0.4.1.json" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/arel.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/arel.gemspec.expected.json index 29766c7b3c8..adec2fe27c7 100644 --- a/tests/packagedcode/data/rubygems/gemspec/arel.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/arel.gemspec.expected.json @@ -1,125 +1,111 @@ -{ - "headers": [ - { - "tool_name": "scancode-toolkit", - "tool_version": "3.1.2", - "options": { - "input": [ - "arel.gemspec" - ], - "--json-pp": "arel.gemspec.expected.json", - "--package": true +[ + { + "type": "gem", + "namespace": null, + "name": "arel", + "version": "2.0.7.beta.20110429111451", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "Arel is a SQL AST manager for Ruby. It", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Aaron Patterson", + "email": null, + "url": null }, - "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", - "start_timestamp": "2020-07-13T090028.882395", - "end_timestamp": "2020-07-13T090029.862287", - "duration": 0.979931116104126, - "message": null, - "errors": [], - "extra_data": { - "files_count": 1 + { + "type": "person", + "role": "author", + "name": " Bryan Halmkamp", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": " Emilio Tagua", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": " Nick Kallen", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "aaron@tenderlovemaking.com", + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": " bryan@brynary.com", + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": " miloops@gmail.com", + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": " nick@example.org", + "url": null + } + ], + "keywords": [], + "homepage_url": "http://github.com/rails/arel", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:gem/minitest", + "requirement": ">= 2.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/hoe", + "requirement": ">= 2.9.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false } - } - ], - "files": [ - { - "path": "arel.gemspec", - "type": "file", - "packages": [ - { - "type": "gem", - "namespace": null, - "name": "arel", - "version": "2.0.7.beta.20110429111451", - "qualifiers": {}, - "subpath": null, - "primary_language": "Ruby", - "description": "Arel is a SQL AST manager for Ruby. It", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Aaron Patterson", - "email": null, - "url": null - }, - { - "type": "person", - "role": "author", - "name": " Bryan Halmkamp", - "email": null, - "url": null - }, - { - "type": "person", - "role": "author", - "name": " Emilio Tagua", - "email": null, - "url": null - }, - { - "type": "person", - "role": "author", - "name": " Nick Kallen", - "email": null, - "url": null - }, - { - "type": "person", - "role": "email", - "name": null, - "email": "aaron@tenderlovemaking.com", - "url": null - }, - { - "type": "person", - "role": "email", - "name": null, - "email": " bryan@brynary.com", - "url": null - }, - { - "type": "person", - "role": "email", - "name": null, - "email": " miloops@gmail.com", - "url": null - }, - { - "type": "person", - "role": "email", - "name": null, - "email": " nick@example.org", - "url": null - } - ], - "keywords": [], - "homepage_url": "http://github.com/rails/arel", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "root_path": null, - "dependencies": [], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:gem/arel@2.0.7.beta.20110429111451", - "repository_homepage_url": "https://rubygems.org/gems/arel/versions/2.0.7.beta.20110429111451", - "repository_download_url": "https://rubygems.org/downloads/arel-2.0.7.beta.20110429111451.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/arel/versions/2.0.7.beta.20110429111451.json" - } - ], - "scan_errors": [] - } - ] -} + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/arel@2.0.7.beta.20110429111451", + "repository_homepage_url": "https://rubygems.org/gems/arel/versions/2.0.7.beta.20110429111451", + "repository_download_url": "https://rubygems.org/downloads/arel-2.0.7.beta.20110429111451.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/arel/versions/2.0.7.beta.20110429111451.json" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/cat.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/cat.gemspec.expected.json index 33c2e80d4c9..4e4d6f54d43 100644 --- a/tests/packagedcode/data/rubygems/gemspec/cat.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/cat.gemspec.expected.json @@ -1,101 +1,101 @@ [ { - "type": "gem", - "namespace": null, - "name": "cat_", - "version": "12", - "qualifiers": {}, - "subpath": null, - "primary_language": "Ruby", - "description": "The loading cat generator.", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "\u84bc\u6642\u5f26\u4e5f", - "email": null, - "url": null - }, - { - "type": "person", - "role": "email", - "name": null, - "email": "elct9620@frost.tw", - "url": null - } - ], - "keywords": [], - "homepage_url": "https://github.com/elct9620/.cat", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "root_path": null, - "dependencies": [ - { - "purl": "pkg:gem/bundler", - "requirement": "~> 1.13", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/rake", - "requirement": "~> 10.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/rspec", - "requirement": "~> 3.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/rack", - "requirement": "", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/sassc", - "requirement": "", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/slim", - "requirement": "", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - } - ], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:gem/cat_@12", - "repository_homepage_url": "https://rubygems.org/gems/cat_/versions/12", - "repository_download_url": "https://rubygems.org/downloads/cat_-12.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/cat_/versions/12.json" + "type": "gem", + "namespace": null, + "name": "cat_", + "version": "12", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "The loading cat generator.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "\u84bc\u6642\u5f26\u4e5f", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "elct9620@frost.tw", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/elct9620/.cat", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:gem/bundler", + "requirement": "~> 1.13", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rake", + "requirement": "~> 10.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rspec", + "requirement": "~> 3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rack", + "requirement": "", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/sassc", + "requirement": "", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/slim", + "requirement": "", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/cat_@12", + "repository_homepage_url": "https://rubygems.org/gems/cat_/versions/12", + "repository_download_url": "https://rubygems.org/downloads/cat_-12.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/cat_/versions/12.json" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/github.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/github.gemspec.expected.json index bd3cf563e20..b2ec1e617b2 100644 --- a/tests/packagedcode/data/rubygems/gemspec/github.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/github.gemspec.expected.json @@ -1,129 +1,138 @@ -{ - "headers": [ - { - "tool_name": "scancode-toolkit", - "tool_version": "3.1.2", - "options": { - "input": [ - "github.gemspec" - ], - "--json-pp": "github.gemspec.expected.json", - "--package": true - }, - "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", - "start_timestamp": "2020-07-13T091550.823749", - "end_timestamp": "2020-07-13T091551.789454", - "duration": 0.9657506942749023, - "message": null, - "errors": [], - "extra_data": { - "files_count": 1 - } - } - ], - "files": [ - { - "path": "github.gemspec", - "type": "file", - "packages": [ - { - "type": "gem", - "namespace": null, - "name": "github", - "version": "GitHub::VERSION", - "qualifiers": {}, - "subpath": null, - "primary_language": "Ruby", - "description": "The official `github` command line helper for simplifying your GitHub experience.", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Chris Wanstrath", - "email": null, - "url": null - }, - { - "type": "person", - "role": "author", - "name": " Kevin Ballard", - "email": null, - "url": null - }, - { - "type": "person", - "role": "author", - "name": " Scott Chacon", - "email": null, - "url": null - }, - { - "type": "person", - "role": "author", - "name": " Dr Nic Williams", - "email": null, - "url": null - }, - { - "type": "person", - "role": "email", - "name": null, - "email": "drnicwilliams@gmail.com", - "url": null - } - ], - "keywords": [], - "homepage_url": "https://github.com/defunkt/github-gem", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "root_path": null, - "dependencies": [ - { - "purl": "pkg:gem/rake", - "requirement": "", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/rspec", - "requirement": "~>1.3.1", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/activerecord", - "requirement": "~>3.0.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - } - ], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:gem/github@GitHub::VERSION", - "repository_homepage_url": "https://rubygems.org/gems/github/versions/GitHub::VERSION", - "repository_download_url": "https://rubygems.org/downloads/github-GitHub::VERSION.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/github/versions/GitHub::VERSION.json" - } - ], - "scan_errors": [] - } - ] -} +[ + { + "type": "gem", + "namespace": null, + "name": "github", + "version": "GitHub::VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "The official `github` command line helper for simplifying your GitHub experience.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Chris Wanstrath", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": " Kevin Ballard", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": " Scott Chacon", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": " Dr Nic Williams", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "drnicwilliams@gmail.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/defunkt/github-gem", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:gem/rake", + "requirement": "", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rspec", + "requirement": "~>1.3.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/activerecord", + "requirement": "~>3.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/text-hyphen", + "requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/text-format", + "requirement": "1.0.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/highline", + "requirement": "~> 1.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/json_pure", + "requirement": "~> 1.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/launchy", + "requirement": "~> 2.0.2", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/github@GitHub::VERSION", + "repository_homepage_url": "https://rubygems.org/gems/github/versions/GitHub::VERSION", + "repository_download_url": "https://rubygems.org/downloads/github-GitHub::VERSION.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/github/versions/GitHub::VERSION.json" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec.expected.json index 7ce91a29792..9efe0a01382 100644 --- a/tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/mecab-ruby.gemspec.expected.json @@ -1,52 +1,52 @@ [ { - "type": "gem", - "namespace": null, - "name": "mecab-ruby", - "version": "0.99", - "qualifiers": {}, - "subpath": null, - "primary_language": "Ruby", - "description": "Ruby bindings for MeCab, a morphological analyzer.", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Taku Kudo", - "email": null, - "url": null - }, - { - "type": "person", - "role": "email", - "name": null, - "email": "taku@chasen.org", - "url": null - } - ], - "keywords": [], - "homepage_url": "http://mecab.sourceforge.net/", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "root_path": null, - "dependencies": [], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:gem/mecab-ruby@0.99", - "repository_homepage_url": "https://rubygems.org/gems/mecab-ruby/versions/0.99", - "repository_download_url": "https://rubygems.org/downloads/mecab-ruby-0.99.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/mecab-ruby/versions/0.99.json" + "type": "gem", + "namespace": null, + "name": "mecab-ruby", + "version": "0.99", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "Ruby bindings for MeCab, a morphological analyzer.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Taku Kudo", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "taku@chasen.org", + "url": null + } + ], + "keywords": [], + "homepage_url": "http://mecab.sourceforge.net/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/mecab-ruby@0.99", + "repository_homepage_url": "https://rubygems.org/gems/mecab-ruby/versions/0.99", + "repository_download_url": "https://rubygems.org/downloads/mecab-ruby-0.99.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/mecab-ruby/versions/0.99.json" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/oj.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/oj.gemspec.expected.json index cb72b8603b6..138456eba1d 100644 --- a/tests/packagedcode/data/rubygems/gemspec/oj.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/oj.gemspec.expected.json @@ -1,87 +1,85 @@ [ { - "type": "gem", - "namespace": null, - "name": "oj", - "version": "::Oj::VERSION", - "qualifiers": {}, - "subpath": null, - "primary_language": "Ruby", - "description": "The fastest JSON parser and object serializer.", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Peter Ohler", - "email": null, - "url": null - }, - { - "type": "person", - "role": "email", - "name": null, - "email": "peter@ohler.com", - "url": null - } - ], - "keywords": [], - "homepage_url": "http://www.ohler.com/oj", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": "mit", - "declared_license": [ - "MIT" - ], - "notice_text": null, - "root_path": null, - "dependencies": [ - { - "purl": "pkg:gem/rake-compiler", - "requirement": ">= 0.9, < 2.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/minitest", - "requirement": "~> 5", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/test-unit", - "requirement": "~> 3.0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/wwtd", - "requirement": "~> 0", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - } - ], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:gem/oj@::Oj::VERSION", - "repository_homepage_url": "https://rubygems.org/gems/oj/versions/::Oj::VERSION", - "repository_download_url": "https://rubygems.org/downloads/oj-::Oj::VERSION.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/oj/versions/::Oj::VERSION.json" + "type": "gem", + "namespace": null, + "name": "oj", + "version": "::Oj::VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "The fastest JSON parser and object serializer.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Peter Ohler", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "peter@ohler.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "http://www.ohler.com/oj", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:gem/rake-compiler", + "requirement": ">= 0.9, < 2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/minitest", + "requirement": "~> 5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/test-unit", + "requirement": "~> 3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/wwtd", + "requirement": "~> 0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/oj@::Oj::VERSION", + "repository_homepage_url": "https://rubygems.org/gems/oj/versions/::Oj::VERSION", + "repository_download_url": "https://rubygems.org/downloads/oj-::Oj::VERSION.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/oj/versions/::Oj::VERSION.json" } ] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec.expected.json index f868810b4fb..6af1b30844e 100644 --- a/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/rubocop.gemspec.expected.json @@ -1,99 +1,139 @@ -{ - "headers": [ - { - "tool_name": "scancode-toolkit", - "tool_version": "3.1.2", - "options": { - "input": [ - "rubocop.gemspec" - ], - "--json-pp": "rubocop.gemspec.expected.json", - "--package": true - }, - "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", - "start_timestamp": "2020-07-13T093035.910819", - "end_timestamp": "2020-07-13T093039.308551", - "duration": 3.397751808166504, - "message": null, - "errors": [], - "extra_data": { - "files_count": 1 - } - } - ], - "files": [ - { - "path": "rubocop.gemspec", - "type": "file", - "packages": [ - { - "type": "gem", - "namespace": null, - "name": "rubocop", - "version": "RuboCop::Version::STRING", - "qualifiers": {}, - "subpath": null, - "primary_language": "Ruby", - "description": "Automatic Ruby code style checking tool. Aims to enforce the community-driven Ruby Style Guide.", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "Bozhidar Batsov", - "email": null, - "url": null - }, - { - "type": "person", - "role": "author", - "name": " Jonas Arvidsson", - "email": null, - "url": null - }, - { - "type": "person", - "role": "author", - "name": " Yuji Nakayama", - "email": null, - "url": null - }, - { - "type": "person", - "role": "email", - "name": null, - "email": "rubocop@googlegroups.com", - "url": null - } - ], - "keywords": [], - "homepage_url": "https://github.com/rubocop-hq/rubocop", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": "mit", - "declared_license": [ - "MIT" - ], - "notice_text": null, - "root_path": null, - "dependencies": [], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:gem/rubocop@RuboCop::Version::STRING", - "repository_homepage_url": "https://rubygems.org/gems/rubocop/versions/RuboCop::Version::STRING", - "repository_download_url": "https://rubygems.org/downloads/rubocop-RuboCop::Version::STRING.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/rubocop/versions/RuboCop::Version::STRING.json" - } - ], - "scan_errors": [] - } - ] -} +[ + { + "type": "gem", + "namespace": null, + "name": "rubocop", + "version": "RuboCop::Version::STRING", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "Automatic Ruby code style checking tool. Aims to enforce the community-driven Ruby Style Guide.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Bozhidar Batsov", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": " Jonas Arvidsson", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": " Yuji Nakayama", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "rubocop@googlegroups.com", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/rubocop-hq/rubocop", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:gem/bundler", + "requirement": ">= 1.3.0, < 3.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rack", + "requirement": ">= 2.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/jaro_winkler", + "requirement": "~> 1.5.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/parallel", + "requirement": "~> 1.10", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/parser", + "requirement": ">= 2.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/powerpack", + "requirement": "~> 0.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rainbow", + "requirement": ">= 2.2.2, < 4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/ruby-progressbar", + "requirement": "~> 1.7", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/unicode-display_width", + "requirement": "~> 1.4.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/rubocop@RuboCop::Version::STRING", + "repository_homepage_url": "https://rubygems.org/gems/rubocop/versions/RuboCop::Version::STRING", + "repository_download_url": "https://rubygems.org/downloads/rubocop-RuboCop::Version::STRING.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/rubocop/versions/RuboCop::Version::STRING.json" + } +] \ No newline at end of file diff --git a/tests/packagedcode/data/rubygems/gemspec/with_variables.gemspec.expected.json b/tests/packagedcode/data/rubygems/gemspec/with_variables.gemspec.expected.json index 76b66b2d21c..036d15f6daa 100644 --- a/tests/packagedcode/data/rubygems/gemspec/with_variables.gemspec.expected.json +++ b/tests/packagedcode/data/rubygems/gemspec/with_variables.gemspec.expected.json @@ -1,116 +1,125 @@ -{ - "headers": [ - { - "tool_name": "scancode-toolkit", - "tool_version": "3.1.2", - "options": { - "input": [ - "with_variables.gemspec" - ], - "--json-pp": "with_variables.gemspec.expected.json", - "--package": true - }, - "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", - "start_timestamp": "2020-07-13T092702.173296", - "end_timestamp": "2020-07-13T092703.147702", - "duration": 0.9744553565979004, - "message": null, - "errors": [], - "extra_data": { - "files_count": 1 - } - } - ], - "files": [ - { - "path": "with_variables.gemspec", - "type": "file", - "packages": [ - { - "type": "gem", - "namespace": null, - "name": "ProviderDSL::GemDescription::NAME", - "version": "ProviderDSL::GemDescription::VERSION", - "qualifiers": {}, - "subpath": null, - "primary_language": "Ruby", - "description": "See the project home page for more information", - "release_date": null, - "parties": [ - { - "type": "person", - "role": "author", - "name": "ProviderDSL::GemDescription::AUTHORS", - "email": null, - "url": null - }, - { - "type": "person", - "role": "email", - "name": null, - "email": "ProviderDSL::GemDescription::EMAIL", - "url": null - } - ], - "keywords": [], - "homepage_url": "ProviderDSL::GemDescription::PAGE", - "download_url": null, - "size": null, - "sha1": null, - "md5": null, - "sha256": null, - "sha512": null, - "bug_tracking_url": null, - "code_view_url": null, - "vcs_url": null, - "copyright": null, - "license_expression": null, - "declared_license": null, - "notice_text": null, - "root_path": null, - "dependencies": [ - { - "purl": "pkg:gem/rake", - "requirement": "~> 11.3", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/rubocop", - "requirement": "~> 0.44.1", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/rspec", - "requirement": "~> 3.5", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - }, - { - "purl": "pkg:gem/rspec-mocks", - "requirement": "~> 3.5", - "scope": "dependencies", - "is_runtime": true, - "is_optional": false, - "is_resolved": false - } - ], - "contains_source_code": null, - "source_packages": [], - "purl": "pkg:gem/ProviderDSL::GemDescription::NAME@ProviderDSL::GemDescription::VERSION", - "repository_homepage_url": "https://rubygems.org/gems/ProviderDSL::GemDescription::NAME/versions/ProviderDSL::GemDescription::VERSION", - "repository_download_url": "https://rubygems.org/downloads/ProviderDSL::GemDescription::NAME-ProviderDSL::GemDescription::VERSION.gem", - "api_data_url": "https://rubygems.org/api/v2/rubygems/ProviderDSL::GemDescription::NAME/versions/ProviderDSL::GemDescription::VERSION.json" - } - ], - "scan_errors": [] - } - ] -} +[ + { + "type": "gem", + "namespace": null, + "name": "ProviderDSL::GemDescription::NAME", + "version": "ProviderDSL::GemDescription::VERSION", + "qualifiers": {}, + "subpath": null, + "primary_language": "Ruby", + "description": "See the project home page for more information", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "ProviderDSL::GemDescription::AUTHORS", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "ProviderDSL::GemDescription::EMAIL", + "url": null + } + ], + "keywords": [], + "homepage_url": "ProviderDSL::GemDescription::PAGE", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:gem/rake", + "requirement": "~> 11.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rubocop", + "requirement": "~> 0.44.1", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rspec", + "requirement": "~> 3.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/rspec-mocks", + "requirement": "~> 3.5", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/ipaddress", + "requirement": "~> 0.8.3", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/gandi", + "requirement": "~> 3.3, >= 3.3.27", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/gcloud", + "requirement": "~> 0.21.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/google-cloud-error_reporting", + "requirement": "~> 0.21.0", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:gem/map", + "requirement": "~> 6.6", + "scope": "dependencies", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:gem/ProviderDSL::GemDescription::NAME@ProviderDSL::GemDescription::VERSION", + "repository_homepage_url": "https://rubygems.org/gems/ProviderDSL::GemDescription::NAME/versions/ProviderDSL::GemDescription::VERSION", + "repository_download_url": "https://rubygems.org/downloads/ProviderDSL::GemDescription::NAME-ProviderDSL::GemDescription::VERSION.gem", + "api_data_url": "https://rubygems.org/api/v2/rubygems/ProviderDSL::GemDescription::NAME/versions/ProviderDSL::GemDescription::VERSION.json" + } +] \ No newline at end of file From 95cccd68857427cda994a00e648ee8ed6e18802e Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Tue, 4 Aug 2020 17:24:44 +0530 Subject: [PATCH 19/55] remove unexpected failure Signed-off-by: rpotter12 --- tests/packagedcode/test_rubygems.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/tests/packagedcode/test_rubygems.py b/tests/packagedcode/test_rubygems.py index d1ac954c50b..dc5ddd7f30b 100644 --- a/tests/packagedcode/test_rubygems.py +++ b/tests/packagedcode/test_rubygems.py @@ -51,17 +51,13 @@ class TestRubyGemspec(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') - @expectedFailure def test_rubygems_can_parse_gemspec_address_standardization_gemspec(self): - # FAILURE: dependency not in format as required in gemfilparser test_file = self.get_test_loc('rubygems/gemspec/address_standardization.gemspec') expected_loc = self.get_test_loc('rubygems/gemspec/address_standardization.gemspec.expected.json') packages = rubygems.RubyGem.recognize(test_file) self.check_packages(packages, expected_loc, regen=False) - @expectedFailure def test_rubygems_can_parse_gemspec_arel_gemspec(self): - # FAILURE: dependency not in format as required in gemfilparser test_file = self.get_test_loc('rubygems/gemspec/arel.gemspec') expected_loc = self.get_test_loc('rubygems/gemspec/arel.gemspec.expected.json') packages = rubygems.RubyGem.recognize(test_file) @@ -73,9 +69,7 @@ def test_rubygems_cat_gemspec(self): packages = rubygems.RubyGem.recognize(test_file) self.check_packages(packages, expected_loc, regen=False) - @expectedFailure def test_rubygems_github_gemspec(self): - # FAILURE: dependency not in format as required in gemfilparser test_file = self.get_test_loc('rubygems/gemspec/github.gemspec') expected_loc = self.get_test_loc('rubygems/gemspec/github.gemspec.expected.json') packages = rubygems.RubyGem.recognize(test_file) @@ -93,17 +87,13 @@ def test_rubygems_oj_gemspec(self): packages = rubygems.RubyGem.recognize(test_file) self.check_packages(packages, expected_loc, regen=False) - @expectedFailure def test_rubygems_rubocop_gemspec(self): - # FAILURE: dependency not in format as required in gemfilparser test_file = self.get_test_loc('rubygems/gemspec/rubocop.gemspec') expected_loc = self.get_test_loc('rubygems/gemspec/rubocop.gemspec.expected.json') packages = rubygems.RubyGem.recognize(test_file) self.check_packages(packages, expected_loc, regen=False) - @expectedFailure def test_rubygems_with_variables_gemspec(self): - # FAILURE: dependency not in format as required in gemfilparser test_file = self.get_test_loc('rubygems/gemspec/with_variables.gemspec') expected_loc = self.get_test_loc('rubygems/gemspec/with_variables.gemspec.expected.json') packages = rubygems.RubyGem.recognize(test_file) From 446ddaaac377188b219877aa911e8b5ad727fa51 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Tue, 4 Aug 2020 17:39:34 +0530 Subject: [PATCH 20/55] update vcs url Signed-off-by: rpotter12 --- .../podspec/BadgeHub.podspec.expected.json | 13 ++++++-- .../LoadingShimmer.podspec.expected.json | 13 ++++++-- .../podspec/Starscream.podspec.expected.json | 31 ++++++++++++++++--- .../podspec/SwiftLib.podspec.expected.json | 13 ++++++-- .../podspec/nanopb.podspec.expected.json | 13 ++++++-- 5 files changed, 66 insertions(+), 17 deletions(-) diff --git a/tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec.expected.json index 948391c26be..4554a8b2312 100644 --- a/tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/BadgeHub.podspec.expected.json @@ -13,6 +13,13 @@ "type": "person", "role": "author", "name": "jogendra", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, "email": "imjog24@gmail.com", "url": null } @@ -27,7 +34,7 @@ "sha512": null, "bug_tracking_url": null, "code_view_url": null, - "vcs_url": ":git => https://github.com/jogendra/BadgeHub.git, :tag => s.version.to_s", + "vcs_url": "https://github.com/jogendra/BadgeHub.git", "copyright": null, "license_expression": "mit AND unknown", "declared_license": ":type => MIT, :file => LICENSE", @@ -36,10 +43,10 @@ "dependencies": [], "contains_source_code": null, "source_packages": [ - ":git => https://github.com/jogendra/BadgeHub.git, :tag => s.version.to_s" + "https://github.com/jogendra/BadgeHub.git" ], "purl": "pkg:pods/BadgeHub@0.1.1", "repository_homepage_url": "https://cocoapods.org/pods/BadgeHub", "repository_download_url": "https://github.com/jogendra/BadgeHub/archive/0.1.1.zip", - "api_data_url": "https://github.com/jogendra/BadgeHub" + "api_data_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec.expected.json index b1068afb5ac..c797a4e40e6 100644 --- a/tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/LoadingShimmer.podspec.expected.json @@ -13,6 +13,13 @@ "type": "person", "role": "author", "name": "jogendra", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, "email": "jogendrafx@gmail.com", "url": null } @@ -27,7 +34,7 @@ "sha512": null, "bug_tracking_url": null, "code_view_url": null, - "vcs_url": ":git => https://github.com/jogendra/LoadingShimmer.git, :tag => s.version.to_s", + "vcs_url": "https://github.com/jogendra/LoadingShimmer.git", "copyright": null, "license_expression": "mit AND unknown", "declared_license": ":type => MIT, :file => LICENSE", @@ -36,10 +43,10 @@ "dependencies": [], "contains_source_code": null, "source_packages": [ - ":git => https://github.com/jogendra/LoadingShimmer.git, :tag => s.version.to_s" + "https://github.com/jogendra/LoadingShimmer.git" ], "purl": "pkg:pods/LoadingShimmer@1.0.3", "repository_homepage_url": "https://cocoapods.org/pods/LoadingShimmer", "repository_download_url": "https://github.com/jogendra/LoadingShimmer/archive/1.0.3.zip", - "api_data_url": "https://github.com/jogendra/LoadingShimmer" + "api_data_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/Starscream.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/Starscream.podspec.expected.json index 93611553c34..45368686efb 100644 --- a/tests/packagedcode/data/cocoapods/podspec/Starscream.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/Starscream.podspec.expected.json @@ -12,8 +12,29 @@ { "type": "person", "role": "author", - "name": "Dalton Cherry, Austin Cherry", - "email": "http://daltoniam.com, http://austincherry.me", + "name": "Dalton Cherry", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Austin Cherry", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "http://daltoniam.com", + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "http://austincherry.me", "url": null } ], @@ -27,7 +48,7 @@ "sha512": null, "bug_tracking_url": null, "code_view_url": null, - "vcs_url": ":git => https://github.com/daltoniam/Starscream.git, :tag =>", + "vcs_url": "https://github.com/daltoniam/Starscream.git", "copyright": null, "license_expression": "apache-2.0", "declared_license": "Apache License, Version 2.0", @@ -36,10 +57,10 @@ "dependencies": [], "contains_source_code": null, "source_packages": [ - ":git => https://github.com/daltoniam/Starscream.git, :tag =>" + "https://github.com/daltoniam/Starscream.git" ], "purl": "pkg:pods/Starscream@4.0.3", "repository_homepage_url": "https://cocoapods.org/pods/Starscream", "repository_download_url": "https://github.com/daltoniam/Starscream/archive/4.0.3.zip", - "api_data_url": "https://github.com/daltoniam/Starscream" + "api_data_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec.expected.json index 33622148c5e..2985d494aaa 100644 --- a/tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/SwiftLib.podspec.expected.json @@ -13,6 +13,13 @@ "type": "person", "role": "author", "name": "alizainprasla", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, "email": "alizainprasla@gmail.com", "url": null } @@ -27,7 +34,7 @@ "sha512": null, "bug_tracking_url": null, "code_view_url": null, - "vcs_url": ":git => https://github.com/alizainprasla/swiftlib.git, :tag =>", + "vcs_url": "https://github.com/alizainprasla/swiftlib.git", "copyright": null, "license_expression": "mit AND unknown", "declared_license": ":type => MIT, :file => LICENSE", @@ -36,10 +43,10 @@ "dependencies": [], "contains_source_code": null, "source_packages": [ - ":git => https://github.com/alizainprasla/swiftlib.git, :tag =>" + "https://github.com/alizainprasla/swiftlib.git" ], "purl": "pkg:pods/SwiftLib@0.0.1", "repository_homepage_url": "https://cocoapods.org/pods/SwiftLib", "repository_download_url": "https://github.com/alizainprasla/swiftlib/archive/0.0.1.zip", - "api_data_url": "https://github.com/alizainprasla/swiftlib" + "api_data_url": null } \ No newline at end of file diff --git a/tests/packagedcode/data/cocoapods/podspec/nanopb.podspec.expected.json b/tests/packagedcode/data/cocoapods/podspec/nanopb.podspec.expected.json index b4dba5f10dc..f301d43621a 100644 --- a/tests/packagedcode/data/cocoapods/podspec/nanopb.podspec.expected.json +++ b/tests/packagedcode/data/cocoapods/podspec/nanopb.podspec.expected.json @@ -13,6 +13,13 @@ "type": "person", "role": "author", "name": "Petteri Aimonen", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, "email": "jpa@nanopb.mail.kapsi.fi", "url": null } @@ -27,7 +34,7 @@ "sha512": null, "bug_tracking_url": null, "code_view_url": null, - "vcs_url": ":git => https://github.com/nanopb/nanopb.git, :tag => 0.3.9.5", + "vcs_url": "https://github.com/nanopb/nanopb.git", "copyright": null, "license_expression": "unknown", "declared_license": ":type => zlib, :file => LICENSE.txt", @@ -36,10 +43,10 @@ "dependencies": [], "contains_source_code": null, "source_packages": [ - ":git => https://github.com/nanopb/nanopb.git, :tag => 0.3.9.5" + "https://github.com/nanopb/nanopb.git" ], "purl": "pkg:pods/nanopb@1.30905.0", "repository_homepage_url": "https://cocoapods.org/pods/nanopb", "repository_download_url": "https://github.com/nanopb/nanopb/archive/1.30905.0.zip", - "api_data_url": "https://github.com/nanopb/nanopb" + "api_data_url": null } \ No newline at end of file From 70474522012e4af8c9661dbf8053146e6675cae2 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Tue, 4 Aug 2020 17:45:16 +0530 Subject: [PATCH 21/55] add thirdparty wheels and license Signed-off-by: rpotter12 --- setup.py | 1 + .../gemfileparser-0.7.0-py2.py3-none-any.whl | Bin 0 -> 17646 bytes thirdparty/gemfileparser-0.7.0.tar.gz | Bin 0 -> 4301 bytes thirdparty/gemfileparser.LICENSE | 22 ++++++++++++++++++ 4 files changed, 23 insertions(+) create mode 100644 thirdparty/gemfileparser-0.7.0-py2.py3-none-any.whl create mode 100644 thirdparty/gemfileparser-0.7.0.tar.gz create mode 100644 thirdparty/gemfileparser.LICENSE diff --git a/setup.py b/setup.py index 05618a9d191..4fa084f0c72 100644 --- a/setup.py +++ b/setup.py @@ -200,6 +200,7 @@ def read(*names, **kwargs): 'xmltodict >= 0.11.0', 'javaproperties >= 0.5', 'toml >= 0.10.0', + 'gemfileparser >= 0.7.0' 'pkginfo >= 1.5.0.1', 'dparse >= 0.4.1', diff --git a/thirdparty/gemfileparser-0.7.0-py2.py3-none-any.whl b/thirdparty/gemfileparser-0.7.0-py2.py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..b6fc21980df7e2719703a2d8afab5fbf151ee073 GIT binary patch literal 17646 zcma&NL$okVtSxwK+qP}nwr$(CZCl^5ZQHhOqyL`tdiPCk4>GAiAuGwQs_d;G4Ge+; z00001pd|IF@VTjpr2!5A;EDqPfcf93xv8z0rH!eBp_8+z6TQB^rJbdVzCN9U=Z>bd z^A;OI@0EJNql*L=Q?i`gi-_D($<1>DS@N@rW^ti}hL8{-48*46-lFlO_ zb>zvCdSjRY~oMPS4mS}ah@=(J#TQkz!&9Nw1#CRmUM2YFk}CWI9Y+tpc{Sg`2D}8zq>U| z%=Pthe%$;%-kEr{`J~Fg_t|A)4TdbBVeZ6>)lAD6E{W&mN=DrAFI9sc4qE=yW6{H1aLL;=mZW-y*z{a%nBUtV4D|e zbXrEJuxl~ijlmwStaPKkiyJI`ejGjqS(laR7njZ;DMMB=P)DlT)#l%C2V~@1D0<3D zE9M(kdNqr}k{qGdBg3Ir@uRJAd+?ty`hy9ys@BHLy^e;YauRE*7`RUrk6qn&1ae`{ zZS@a03GZZTpq-jZbB;ANFL_68tBB^XHN!R7ngF0)nen*0Nm3eH15$jU!?o!%?e_Y> zdHElKP;-ak7@)&-jbLGJ)a@-$S}z3qrJ{-!y2j?u3_gQ)A#d>_yu zUuSCiF;*Y^eAiX6Lr`M=*=KByI;L!j#+#8yQ7fLmnONkzEo3I^n>OidXsx=ae2&48 z$l&>^Qxm{*wzr~+W^1OF)T40zyTXWt;~eMiL|#LnZ7Hqaxn)5Wm@J`$Kw$jDBv0y` zbP^xti7zKtCZGi|6vlplUJv`DoqgC#5d`2LTaZk-PTxwFvW5^p`Bz?2l?djgPm;w@ zd!J34+$)?_z7k^gvASQ3-eKyDm&p_Y1EH4(t;x_!X%Bpt(#@L>!k3%yWeOmf7p2$P|1CbDbi%Z zT~?7J-c+HiB!HWZ8?I6beojt=9e8j(B7SBp8l8%ovxR8@HeZ)Bx@5scykzM#JUyF^ zMwBH6ADZF!bFmS8lQ9Y(E`bNv;K4Ech%fB&74O|GGI#^ODZZVFH5-U_)Czs~zLsn$ z&p+_M^s=F5AH^x#qUM3^#FVs~2mC|BPe|X!@>fxA0)hqYBAZd%Rer#-E>O_C5e6KJ zkpaJhEY*&L<4w^qOER_UV0I^IRZOBrJ*6Nzc9*dJ3cFHRzogyD8r9%%I3>t%bkz-< zbvgH-V6X$cqXG@PWkISXe_L+3m{Qzh)BGdiOLpGakOnZHYHXBfu`)X8u>QPKB6@GGyh(L4qam)v&s zaM4_*oF)&V2iVX)i8d-oQl^G$B^>KLR9hAYhxbd`h7tEksIJ+%Vd#SZBmND`ppVbB zJo7@JNzlJCZ+?*MILLHB&^-SKk z8uni!cIcljzsnB=&DkyO>OikcJ9+FI_#f9v#LPo|>TmA4{|aw-*M_0>o#tBcbkE+g zF zDW}^JudqT9E!r{!y3`YHMS8Xj+G!C4rMxXHNdF71AFF@%BieXhIn>&OJMA^qgoGpf z?BX%)2eiWf2geyiz>41_5|MH;h(09tQ@rWqUck*h=)qk{-Hkp+-s2XHQl`*&H!-i>pwHXd&8{Y!5%VW_AS8 z*HBq$LgcUKyn_GCw~X444vDG`+0O$st@1nV((h%EN4{mk(68nFsqiUlZ3hxd*zh{b zL*!`{4~2I&>f2Ol-5b2Q;+Q8=8fU}x|EHs%Q|)=1=m7vGBLM)Y|5r!JND7O}DT~sH zE6BJpkN9dkV~Z!Tz2Yo+Hy_kPZeS7(_cQv-<@9EOg(f<5>fBN}7JAR(2uQiM6 zZs3={hWD-iol}eV`}~n>{W9e}Jm&aY^0Ulte0lBgn#VTbU-nKm#qH*8inest`|r5y z+@9U_YPVVUzwhkD&qEV~2%$~kf?R8dVYkBR~vT43(sKmFP*ZZitvr$idZk(WxH5~nQ*y^5u-1Kz#q*zib<=-?1x{Pj z-f!A@PsN~(LpVbLvfjIa{H(HWY|YNPb(hys$*p$kC?DgqX8PQSb!P$RMtXD%B_QYX z7aOa@&$jvcWTkBeJ-3ywn|Eck%SL@hNsHzHF{_tYXlW&<13K4-cnWxDxmZZ{80>Z^ z3vdd8D!=FM1*O@rQ%7o9n6-^{HeJ!P2RPi^rkpJ=aA>kVmuWtO zrS<=A7OrXlUUtu}84}HseI+4DN>CV#91H-z-(c>!JyjgfS6kmSiY2{qUa*@jH-zRI znnacN=&)DQU~*5p1&r`=!DXiHv&f6=Js&$(}_*x-z;wiK{ zs*ftnm#_sSIkoF@^IEr+|8Aes`qT#1z+kjfoex4SOps5p%~fpQ1Rk7Beex(oj9l9C zHtVeP-y|s^Ux!kWyqb>C0aCaL8xN(_h75gHv(^T4w9m*m?}L&jiz$B-!8PpxwqyXH zN)egg)x#yGH_EUx?lLcmo4wi0pV`QECc;kg#=XK?=nLbQLMV zaVLojeD;hMA}J`{9}*H`fgAWo<1&(lU;Ww(q~@+Gc7_?XYEFJhrw4{mgz*XiCfSft z$4){dDptXInxbcIL=R7OQ$L>!N;HWD6zkVkLjA8(sG+76hysq=zH1ffWVs(_V_g$ z2nL`CbmGjoIOWDEBuV>FKH=Lf_h%j2Vdh+$RZ}jTYlurp2WisgGWhSJ=Wp&4&tlM*@i@%V5upU`Z^`H6W65JR^yk zFULESI75x-`6KRxTIUBj0v4|zTl!U_nSWtgkOokD9Yvgk!4ZLMjoznhoYsaeM4i@BGmB?NU#! zZeLqE``R5ke027eH_!JEXl0YD;zZo{?=j&5BQm4>haWHc561g>2`U{lXq^)g*xRb9 zOI5+0UOK3*U?y+14tjDH8`h^<7;koE6dI9W8*KoIkt_u>Q!mhV+%~V63ly8pcfI*2 z5<+Y5r-ewam$axg&-3am^QH_w;vB==#iX_xqni+wyO6x>Gw7P!yA;_%MJ9rYw}LR$ z5rp1jYE#vFKFwkFxD63iCK}>8h~loZ*%vaHYTix8&HWIaHJ3lU#~8vCLazA@m^uj* zG7+y9`T|D=RT$(|Y85h@!NHhnm`s1F1}W9W#kTLnXJ8<;z?CVa48?vVQZ|JQ*sI{d z4^=DJM<1E=Yu!Bon_Rw;$@H~}>XOzoj32wAO1lss*=^Nep4Z02V|S+_x6~g_0?h3! zUZgJkLk@FheLBHsVvCTNACzB}x6u=b_Z$tdWvIuc`+Zo#f<@=s3NP~zPZ0%56SBqf7b#}0OKr~b@0wdCdG(JYz zg+wl?ac)M-4>HHBfbmmW8&8oN8l z?stb&X0o>Fcoq+@Ac;cpMG4Tq*`4H}*A0!XjY4tQKn3N?Ou$xa@FmX{=6(U4HZFbQ z&qtPvol+xHG1#m|x{W32C5&42Urf=8Y_$stNv`VV@DO1tL3o1CaS^pT(2Z%fR-bjA z9X{4+G*!FbNe^*%n!JTUT5OmgS|TmPQzsW<6!2g#gkQ zsrz!hNmN`INzkADBxe8hn#L0y^PB#OO0<(Ws;U#x;N_4?lv*IogMGJ4;+f;==Ou?( zeu?Q-Q4=0k=Y&MG*9T!S$x9xA zqU%uDn+nolQX6`%=b#b<|8TN2;wXT;B~Xp`*_Ruo8+;YH#JWQ-|BDgy_Ka(%X#D4Z z4H-z+8_w!G9Y*=wXh$-e4$Ond0_>;+vu0AHM3P#H2|9`tuH@4MCnyl9LGe%nI_sf^ zwsZ!Ap(f3KlwortEc;L)bRQ$1l*;Xf1A9h&sifO$!9Ks@Uz2~(B3B6avP2g208IGi4CLpiS( zL-cR#b^&B19|LJX{-~L#rm9s>u=s4S)+_r_Ja(OWlT_q(bec4?BxgCJNVd`Ci)xFA zQT0|5K)%KnWv>2FtJww_uHVoUvOfg1@xT;Pp$vZplgDpJN^@0^~o=`4Mmw`)h~0 z0XMN$Z_G5p>bR4|lZCfAIItJQ!*Oxrdc#f?j&b<8I5QtCi�&LXVpbESUfU`STi;o}IB3 zJGbF|g?bHU{Sz{~Pv$ugit_?ET7c`5V4yl$$4R3calbcMrbVjiLVQy$bl-E>hu&k( zQ_36=jR}ela!SI*VqX_dUB`1NV_R4y#Euz+GPAEGGvY$nx*UYH(|Dp9?MW%ZNg?Rc z&Z7t=Nrg@mO`bVxTZUJvDbiRSQWUD@IFsbWbTZW#@_;uRkO9kJ;_$+C3EHxRu9;U5 zf((o02%~EqoMo_)hOf5}j3oncbh8$UrL3ZaKY?Wsr0+p#cgU#Mluzt`Q-=v4+{KI| z08A%irp=S*Es*Yap{6{*^^HuD_L6z65k0a*1ebTzaIZoUM>+u8fFfFUs(qWhm`!!yqHXb_hbnsLt z6UULfvTSyEDtt9$_=aWD8#Yy3HTi`y6YMh`v6v4jAfXVqwp{g-*#7%dJ@1d7#Qo&S zA!Hid?S7y-pE`UcL&U)i`f4_lv!fl`zJ}l1dJ74=Nz(IwO7Hsy$z!60)N5D4iFhG7 zlvEY|#F4})5On7Kg|V&iKmaqYWJpO(g7%vYfWT36PIIxmRz!H9hh8K+vIXO4^5f@* z$*d1$^g!h+AkYJ$%KSG|We}v8=p(|*gcvU4X*)_oRi%J@RE>nmk`oeb!KJEMGv0mF zuQtP=lHaL$jUFW{*XM>>Ld~5>vS{d2PDZyyrfldwQOPD`I^0r+lIhhLFcU1zJk~JL z_7)x;V(GE0Iw&8ZWSVE_RaOP0aEvP%$j zIFnqS&@{2)Kc`mR`B2s#Rlq+|5|*I!3j`3=XCs++H5qxm9-gtK4R(~68NS_C;&bQ$ z6O&iv%i@g#3y)5@!n+=39V?)&`tJ|c6lEbx4+;kI2ovy1!dGbP&W$xh4;eVL!GmBm zgaN`|Ch{h^?Pi(jmsPeozJf0H86Ts{$~Ferc;Jj~SqZ1RqyZftMY?h|8p1p%a=-2s zevCqGNk?vp#i!7=YTPdkM%Qh2v|8k+;95PT-WSP)M=GUoGF)L~3I%IzK`0>xdOc6U zNOU)K$!7o2zXjcV>*GfO#eF&#VOD~*Q$`V%QRjyIlY2A z@E@(Hj5p+fvqU0v6<8cJ2=q0DpZ|GqY5Vi8l@dqh4XZgmF^f3 zXet)%WQAznmk~YwX(JoI_=V`YM{)~&i57%1P2I3p+A(;Y6Vt;ZTKmHLqJU?t`yz1Y zcyk(Q{Z1u!?yjf{8~s2z1S5o-&pKNABW~o7bU(v7lrXl`xj4feW4UJg_Kkvrf-9dP zAB=Fr6?An^5(^@>TyW=qt(u`n-*zCt*5iuaxrER9xD0G<6SV?)As0WWaKu?Ur6qaS z4SUh*#F9#EBB5{Fgt+H2fh42aX%cTA5J6&lZ4U|JsP}u_Y?I33N%iqq_`)d5Q7N^m zMu>pG0~P$5KdGtYnZ-m204bJF)ThtO=P2UfW#tjNt%j>38s49Le#IEeS|&^>k3t;KbvqHYMJEmMO+f z4LAvn#Gvkq&A+}pPUOPXe*d~*s2r`dPotYeJhCOg@1W1>o+&KI9kTd{Q<+2g-Hh$X zR;!X>Erw)_OeBq@0x=G#Ok{~Wg78AQvbDpi&Xq+8#?nj~y75$Lh|ysymD|(2;%R(^6<*JgvOIvEgx-Z)&Q~Ch?mXI#UNzKfG^$y=~7PE7IUL# z>WmQ?RSL;C(|?zE-6B5>9nAWMgqRX#aaC&QBw7wqbCE8%Ug;MrmZIWLhT+c@s7dlz zEnH9rRzs$wQku+c^iiwesU!+Ib!wVZX_@WC5|zZkf&D=$8iV2^RD88LY4!Nv`Ysj* zdHdp%lE;yy>o#y|w$AS9HF_2Pw?7&sim(s4}~8O8}d(!9#MgdT JLx*~E2A~Qy0W@_ka=qx$}^_XHl8N& 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 HIe~Zpl1RCI literal 0 HcmV?d00001 diff --git a/thirdparty/gemfileparser-0.7.0.tar.gz b/thirdparty/gemfileparser-0.7.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..8256de38e77b79141b0f90379876dc112ddcd22c GIT binary patch literal 4301 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 literal 0 HcmV?d00001 diff --git a/thirdparty/gemfileparser.LICENSE b/thirdparty/gemfileparser.LICENSE new file mode 100644 index 00000000000..1b710007455 --- /dev/null +++ b/thirdparty/gemfileparser.LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2020 Gemfileparser authors (listed in AUTHORS file) + 2015-2018 Balasankar C + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. From 7114cda784b0da8c947ce96f8cf68a5622923ccc Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Tue, 4 Aug 2020 17:58:15 +0530 Subject: [PATCH 22/55] test code for podspec files Signed-off-by: rpotter12 --- tests/packagedcode/test_cocoapods.py | 66 ++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 tests/packagedcode/test_cocoapods.py diff --git a/tests/packagedcode/test_cocoapods.py b/tests/packagedcode/test_cocoapods.py new file mode 100644 index 00000000000..e7a47cb5625 --- /dev/null +++ b/tests/packagedcode/test_cocoapods.py @@ -0,0 +1,66 @@ +# +# Copyright (c) nexB Inc. and others. All rights reserved. +# http://nexb.com and https://github.com/nexB/scancode-toolkit/ +# The ScanCode software is licensed under the Apache License version 2.0. +# Data generated with ScanCode require an acknowledgment. +# ScanCode is a trademark of nexB Inc. +# +# You may not use this software except in compliance with the License. +# You may obtain a copy of the License at: http://apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software distributed +# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +# CONDITIONS OF ANY KIND, either express or implied. See the License for the +# specific language governing permissions and limitations under the License. +# +# When you publish or redistribute any data created with ScanCode or any ScanCode +# derivative work, you must accompany this data with the following acknowledgment: +# +# Generated with ScanCode and provided on an "AS IS" BASIS, WITHOUT WARRANTIES +# OR CONDITIONS OF ANY KIND, either express or implied. No content created from +# ScanCode should be considered or used as legal advice. Consult an Attorney +# for any legal advice. +# ScanCode is a free software code scanning tool from nexB Inc. and others. +# Visit https://github.com/nexB/scancode-toolkit/ for support and download. + +from __future__ import absolute_import +from __future__ import print_function +from __future__ import unicode_literals + +import os + +from packagedcode import cocoapods +from packages_test_utils import PackageTester + + +class TestRubyGemspec(PackageTester): + test_data_dir = os.path.join(os.path.dirname(__file__), 'data') + + def test_rubygems_can_parse_BadgeHub(self): + test_file = self.get_test_loc('cocoapods/podspec/BadgeHub.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/BadgeHub.podspec.expected.json') + packages = cocoapods.parse(test_file) + self.check_package(packages, expected_loc, regen=False) + + def test_rubygems_can_parse_LoadingShimmer(self): + test_file = self.get_test_loc('cocoapods/podspec/LoadingShimmer.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/LoadingShimmer.podspec.expected.json') + packages = cocoapods.parse(test_file) + self.check_package(packages, expected_loc, regen=False) + + def test_rubygems_can_parse_nanopb(self): + test_file = self.get_test_loc('cocoapods/podspec/nanopb.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/nanopb.podspec.expected.json') + packages = cocoapods.parse(test_file) + self.check_package(packages, expected_loc, regen=False) + + def test_rubygems_can_parse_Starscream(self): + test_file = self.get_test_loc('cocoapods/podspec/Starscream.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/Starscream.podspec.expected.json') + packages = cocoapods.parse(test_file) + self.check_package(packages, expected_loc, regen=False) + + def test_rubygems_can_parse_SwiftLib(self): + test_file = self.get_test_loc('cocoapods/podspec/SwiftLib.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/SwiftLib.podspec.expected.json') + packages = cocoapods.parse(test_file) + self.check_package(packages, expected_loc, regen=False) \ No newline at end of file From c2e044de606f53a84e5c098eaac6019b77d00ec0 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Tue, 4 Aug 2020 18:06:56 +0530 Subject: [PATCH 23/55] add comma between two packages Signed-off-by: rpotter12 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 4fa084f0c72..4bedbaf8e25 100644 --- a/setup.py +++ b/setup.py @@ -200,7 +200,7 @@ def read(*names, **kwargs): 'xmltodict >= 0.11.0', 'javaproperties >= 0.5', 'toml >= 0.10.0', - 'gemfileparser >= 0.7.0' + 'gemfileparser >= 0.7.0', 'pkginfo >= 1.5.0.1', 'dparse >= 0.4.1', From 7cd3cae03ca3c0cb67f92ef2a0eecd6053ac30d9 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Wed, 5 Aug 2020 10:16:51 +0530 Subject: [PATCH 24/55] improve formatting Signed-off-by: rpotter12 --- src/packagedcode/cargo.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/packagedcode/cargo.py b/src/packagedcode/cargo.py index ac8d7681a9f..5ff3feca0bb 100644 --- a/src/packagedcode/cargo.py +++ b/src/packagedcode/cargo.py @@ -71,19 +71,19 @@ def get_package_root(cls, manifest_resource, codebase): return manifest_resource.parent(codebase) def repository_homepage_url(self, baseurl=default_web_baseurl): - if self.name: - return '{}/crates/{}'.format(baseurl, self.name) - return None + if not self.name: + return None + return '{}/crates/{}'.format(baseurl, self.name) def repository_download_url(self, baseurl=default_download_baseurl): - if self.name and self.version: - return '{}/crates/{}/{}/download'.format(baseurl, self.name, self.version) - return None + if not self.name and not self.version: + return None + return '{}/crates/{}/{}/download'.format(baseurl, self.name, self.version) def api_data_url(self, baseurl=default_api_baseurl): - if self.name: - return '{}/crates/{}'.format(baseurl, self.name) - return None + if not self.name: + return None + return '{}/crates/{}'.format(baseurl, self.name) def is_cargo_toml(location): From d4ae41a396984ced818af6e57443ef0900d3a7be Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Mon, 10 Aug 2020 19:39:24 +0530 Subject: [PATCH 25/55] Use restview for formatting README.rst Signed-off-by: Abhishek Kumar --- etc/scripts/README.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/etc/scripts/README.rst b/etc/scripts/README.rst index 85257ee9830..0031e08c015 100644 --- a/etc/scripts/README.rst +++ b/etc/scripts/README.rst @@ -3,16 +3,17 @@ - github-release-retry Instruction for generating requirement tools: -============================================ +============================================= - For this you must run on your terminal: ``pip pip install -r etc/scripts/req_tools.txt`` - Then run ``python etc/scripts/freeze_and_update_reqs.py --help`` on terminal + From this you get the guidelines how to generate requirement tools. Instruction for uploading assets: -================================ +================================= - Just run ``python etc/scripts/github_release.py --help`` - From this you get the guidelines how to upload asset to github repositotory as an asset. From d0bed9afdb691487c55f3ceb86e4e79677a1d6b1 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Wed, 12 Aug 2020 00:25:11 +0530 Subject: [PATCH 26/55] improve file detection Signed-off-by: rpotter12 --- src/packagedcode/cargo.py | 38 ++++++++++++-------------------------- 1 file changed, 12 insertions(+), 26 deletions(-) diff --git a/src/packagedcode/cargo.py b/src/packagedcode/cargo.py index 5ff3feca0bb..47549dc0a0a 100644 --- a/src/packagedcode/cargo.py +++ b/src/packagedcode/cargo.py @@ -71,41 +71,27 @@ def get_package_root(cls, manifest_resource, codebase): return manifest_resource.parent(codebase) def repository_homepage_url(self, baseurl=default_web_baseurl): - if not self.name: - return None - return '{}/crates/{}'.format(baseurl, self.name) + if self.name: + return '{}/crates/{}'.format(baseurl, self.name) def repository_download_url(self, baseurl=default_download_baseurl): - if not self.name and not self.version: - return None - return '{}/crates/{}/{}/download'.format(baseurl, self.name, self.version) + if self.name and self.version: + return '{}/crates/{}/{}/download'.format(baseurl, self.name, self.version) def api_data_url(self, baseurl=default_api_baseurl): - if not self.name: - return None - return '{}/crates/{}'.format(baseurl, self.name) - - -def is_cargo_toml(location): - return (filetype.is_file(location) and fileutils.file_name(location).lower() == 'cargo.toml') - - -def is_cargo_lock(location): - return (filetype.is_file(location) and fileutils.file_name(location).lower() == 'cargo.lock') + if self.name: + return '{}/crates/{}'.format(baseurl, self.name) def parse(location): """ Return a Package object from a Cargo.toml/Cargo.lock file or None. """ - if not is_cargo_toml(location) and not is_cargo_lock(location): - return - - package_data = toml.load(location, _dict=OrderedDict) - if is_cargo_toml(location): - return build_cargo_toml_package(package_data) - elif is_cargo_lock(location): - return build_cargo_lock_package(package_data) + handlers = {'cargo.toml': build_cargo_toml_package, 'cargo.lock': build_cargo_lock_package} + filename = filetype.is_file(location) and fileutils.file_name(location).lower() + handler = handlers.get(filename) + if handler: + return handler(toml.load(location, _dict=OrderedDict)) def build_cargo_toml_package(package_data): @@ -201,7 +187,7 @@ def build_cargo_lock_package(package_data): """ package_dependencies = [] - core_package_data = package_data.get('package', {}) + core_package_data = package_data.get('package', []) for dep in core_package_data: package_dependencies.append( models.DependentPackage( From de10003774d8f5fb59ce14218493ce8bbe574c70 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Wed, 12 Aug 2020 08:21:17 +0530 Subject: [PATCH 27/55] add pythonic construct Signed-off-by: rpotter12 --- src/packagedcode/cargo.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/packagedcode/cargo.py b/src/packagedcode/cargo.py index 47549dc0a0a..f4ffba81f00 100644 --- a/src/packagedcode/cargo.py +++ b/src/packagedcode/cargo.py @@ -1,5 +1,5 @@ -# Copyright (c) 2019 nexB Inc. and others. All rights reserved. +# Copyright (c) nexB Inc. and others. All rights reserved. # http://nexb.com and https://github.com/nexB/scancode-toolkit/ # The ScanCode software is licensed under the Apache License version 2.0. # Data generated with ScanCode require an acknowledgment. @@ -85,13 +85,13 @@ def api_data_url(self, baseurl=default_api_baseurl): def parse(location): """ - Return a Package object from a Cargo.toml/Cargo.lock file or None. + Return a Package object from a Cargo.toml/Cargo.lock file. """ handlers = {'cargo.toml': build_cargo_toml_package, 'cargo.lock': build_cargo_lock_package} filename = filetype.is_file(location) and fileutils.file_name(location).lower() handler = handlers.get(filename) if handler: - return handler(toml.load(location, _dict=OrderedDict)) + return handler and handler(toml.load(location, _dict=OrderedDict)) def build_cargo_toml_package(package_data): From 71e79419625ae90b09c98b251944c7f4e63e9ce7 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Thu, 13 Aug 2020 10:34:08 +0530 Subject: [PATCH 28/55] change return type to object Signed-off-by: rpotter12 --- src/packagedcode/go_mod.py | 14 ++++++++------ src/packagedcode/golang.py | 12 ++++++------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/packagedcode/go_mod.py b/src/packagedcode/go_mod.py index 14a06e9eedf..caec2cd0f30 100644 --- a/src/packagedcode/go_mod.py +++ b/src/packagedcode/go_mod.py @@ -49,6 +49,8 @@ class GoModules(object): name = attr.ib(default=None) version = attr.ib(default=None) module = attr.ib(default=None) + require = attr.ib(default=None) + exclude = attr.ib(default=None) @property def purl_gosum(self): @@ -182,7 +184,7 @@ def parse_gomod(location): with io.open(location, encoding='utf-8', closefd=True) as data: lines = data.readlines() - gomods = {} + gomods = GoModules() require = [] exclude = [] @@ -190,12 +192,12 @@ def parse_gomod(location): line = preprocess(line) parsed_module = parse_module(line) if parsed_module: - gomods['module'] = parsed_module.group('module') + gomods.module = parsed_module.group('module') parsed_module_name = parse_module_name(line) if parsed_module_name: - gomods['name'] = parsed_module_name.group('name') - gomods['namespace'] = parsed_module_name.group('namespace') + gomods.name = parsed_module_name.group('name') + gomods.namespace = parsed_module_name.group('namespace') parsed_require = parse_require(line) if parsed_require: @@ -243,8 +245,8 @@ def parse_gomod(location): ) ) - gomods['require'] = require - gomods['exclude'] = exclude + gomods.require = require + gomods.exclude = exclude return gomods diff --git a/src/packagedcode/golang.py b/src/packagedcode/golang.py index 5d7dfa8421f..810b1112042 100644 --- a/src/packagedcode/golang.py +++ b/src/packagedcode/golang.py @@ -92,7 +92,7 @@ def build_gomod_package(gomods): Return a Package object from a go.mod file or None. """ package_dependencies = [] - require = gomods.get('require') or [] + require = gomods.require or [] for gomod in require: package_dependencies.append( models.DependentPackage( @@ -105,7 +105,7 @@ def build_gomod_package(gomods): ) ) - exclude = gomods.get('exclude') or [] + exclude = gomods.exclude or [] for gomod in exclude: package_dependencies.append( models.DependentPackage( @@ -118,10 +118,10 @@ def build_gomod_package(gomods): ) ) - name = gomods.get('name') - namespace = gomods.get('namespace') - homepage_url = 'https://pkg.go.dev/{}'.format(gomods.get('module')) - vcs_url = 'https://{}.git'.format(gomods.get('module')) + name = gomods.name + namespace = gomods.namespace + homepage_url = 'https://pkg.go.dev/{}'.format(gomods.module) + vcs_url = 'https://{}.git'.format(gomods.module) return GolangPackage( name=name, From 150dc6a9285c12bc1017af1888d5c256719116c1 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Thu, 13 Aug 2020 14:35:11 +0530 Subject: [PATCH 29/55] merge extract purl function Signed-off-by: rpotter12 --- src/packagedcode/go_mod.py | 30 ++++++++++++------------------ src/packagedcode/golang.py | 6 +++--- 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/src/packagedcode/go_mod.py b/src/packagedcode/go_mod.py index caec2cd0f30..bc54b697488 100644 --- a/src/packagedcode/go_mod.py +++ b/src/packagedcode/go_mod.py @@ -44,7 +44,7 @@ @attr.s() -class GoModules(object): +class GoModule(object): namespace = attr.ib(default=None) name = attr.ib(default=None) version = attr.ib(default=None) @@ -52,21 +52,15 @@ class GoModules(object): require = attr.ib(default=None) exclude = attr.ib(default=None) - @property - def purl_gosum(self): + def purl(self, include_version=True): + version = None + if include_version: + version = self.version return PackageURL( type='golang', namespace=self.namespace, name=self.name, - version=self.version - ).to_string() - - @property - def purl_gomod(self): - return PackageURL( - type='golang', - namespace=self.namespace, - name=self.name + version=version ).to_string() @@ -184,7 +178,7 @@ def parse_gomod(location): with io.open(location, encoding='utf-8', closefd=True) as data: lines = data.readlines() - gomods = GoModules() + gomods = GoModule() require = [] exclude = [] @@ -201,7 +195,7 @@ def parse_gomod(location): parsed_require = parse_require(line) if parsed_require: - require.append(GoModules( + require.append(GoModule( namespace=parsed_require.group('namespace'), name=parsed_require.group('name'), version=parsed_require.group('version') @@ -210,7 +204,7 @@ def parse_gomod(location): parsed_exclude = parse_exclude(line) if parsed_exclude: - exclude.append(GoModules( + exclude.append(GoModule( namespace=parsed_exclude.group('namespace'), name=parsed_exclude.group('name'), version=parsed_exclude.group('version') @@ -224,7 +218,7 @@ def parse_gomod(location): break parsed_dep_link = parse_dep_link(req) if parsed_dep_link: - require.append(GoModules( + require.append(GoModule( namespace=parsed_dep_link.group('namespace'), name=parsed_dep_link.group('name'), version=parsed_dep_link.group('version') @@ -238,7 +232,7 @@ def parse_gomod(location): break parsed_dep_link = parse_dep_link(exc) if parsed_dep_link: - exclude.append(GoModules( + exclude.append(GoModule( namespace=parsed_dep_link.group('namespace'), name=parsed_dep_link.group('name'), version=parsed_dep_link.group('version') @@ -319,7 +313,7 @@ def parse_gosum(location): if not parsed_dep: parsed_dep = parse_dep_type2(line) - dep_obj = GoModules( + dep_obj = GoModule( namespace=parsed_dep.group('namespace').strip(), name=parsed_dep.group('name').strip(), version=parsed_dep.group('version').strip() diff --git a/src/packagedcode/golang.py b/src/packagedcode/golang.py index 810b1112042..0f17cc9b75a 100644 --- a/src/packagedcode/golang.py +++ b/src/packagedcode/golang.py @@ -96,7 +96,7 @@ def build_gomod_package(gomods): for gomod in require: package_dependencies.append( models.DependentPackage( - purl=gomod.purl_gomod, + purl=gomod.purl(include_version=False), requirement=gomod.version, scope='require', is_runtime=True, @@ -109,7 +109,7 @@ def build_gomod_package(gomods): for gomod in exclude: package_dependencies.append( models.DependentPackage( - purl=gomod.purl_gomod, + purl=gomod.purl(include_version=False), requirement=gomod.version, scope='exclude', is_runtime=True, @@ -140,7 +140,7 @@ def build_gosum_package(gosums): for gosum in gosums: package_dependencies.append( models.DependentPackage( - purl=gosum.purl_gosum, + purl=gosum.purl(), requirement=gosum.version, scope='dependency', is_runtime=True, From d42c09846693863d800b99ee0377b586743c390b Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Fri, 14 Aug 2020 02:04:44 +0530 Subject: [PATCH 30/55] reduce multiple regex usage Signed-off-by: rpotter12 --- src/packagedcode/go_mod.py | 142 ++++++++++++++----------------------- src/packagedcode/golang.py | 4 +- 2 files changed, 54 insertions(+), 92 deletions(-) diff --git a/src/packagedcode/go_mod.py b/src/packagedcode/go_mod.py index bc54b697488..f1da47da56a 100644 --- a/src/packagedcode/go_mod.py +++ b/src/packagedcode/go_mod.py @@ -105,12 +105,12 @@ def purl(self, include_version=True): github.com/davecgh/go-spew v1.1.1 For example: ->>> p = parse_require('require github.com/davecgh/go-spew v1.1.1') +>>> p = parse_dep_link('require github.com/davecgh/go-spew v1.1.1') >>> assert p.group('namespace') == ('github.com/davecgh') >>> assert p.group('name') == ('go-spew') >>> assert p.group('version') == ('v1.1.1') ->>> p = parse_exclude('exclude github.com/davecgh/go-spew v1.1.1') +>>> p = parse_dep_link('exclude github.com/davecgh/go-spew v1.1.1') >>> assert p.group('namespace') == ('github.com/davecgh') >>> assert p.group('name') == ('go-spew') >>> assert p.group('version') == ('v1.1.1') @@ -122,42 +122,20 @@ def purl(self, include_version=True): """ # Regex expressions to parse different types of go.mod file dependency -parse_module = re.compile( - r'^module\s' - r'(?P[a-z].*)' -).match - parse_module_name = re.compile( - r'^module(\s)*' - r'(?P(.*))' - r'/' - r'(?P[^\s]*)' -).match - -parse_require = re.compile( - r'^require(\s)*' - r'(?P(.*))' - r'/' - r'(?P[^\s]*)' - r'\s' - r'(?P(.*))' -).match - -parse_exclude = re.compile( - r'^exclude(\s)*' - r'(?P(.*))' - r'/' - r'(?P[^\s]*)' - r'\s' - r'(?P(.*))' + r'^module\s*' + r'(?P[^\s]*)' + r'\/' + r'(?P[^\s]*)\s*' ).match parse_dep_link = re.compile( - r'(?P(.*))' - r'/' + r'.*?(\s)*' + r'(?P[^\s]*)' + r'\/' r'(?P[^\s]*)' - r'\s' - r'(?P(.*))' + r'\s*' + r'(?P[^\s]*)\s*' ).match @@ -184,33 +162,12 @@ def parse_gomod(location): for i, line in enumerate(lines): line = preprocess(line) - parsed_module = parse_module(line) - if parsed_module: - gomods.module = parsed_module.group('module') parsed_module_name = parse_module_name(line) if parsed_module_name: gomods.name = parsed_module_name.group('name') gomods.namespace = parsed_module_name.group('namespace') - parsed_require = parse_require(line) - if parsed_require: - require.append(GoModule( - namespace=parsed_require.group('namespace'), - name=parsed_require.group('name'), - version=parsed_require.group('version') - ) - ) - - parsed_exclude = parse_exclude(line) - if parsed_exclude: - exclude.append(GoModule( - namespace=parsed_exclude.group('namespace'), - name=parsed_exclude.group('name'), - version=parsed_exclude.group('version') - ) - ) - if 'require' in line and '(' in line: for req in lines[i+1:]: req = preprocess(req) @@ -224,6 +181,7 @@ def parse_gomod(location): version=parsed_dep_link.group('version') ) ) + continue if 'exclude' in line and '(' in line: for exc in lines[i+1:]: @@ -238,6 +196,26 @@ def parse_gomod(location): version=parsed_dep_link.group('version') ) ) + continue + + parsed_dep = parse_dep_link(line) + if 'require' in line: + require.append(GoModule( + namespace=parsed_dep.group('namespace'), + name=parsed_dep.group('name'), + version=parsed_dep.group('version') + ) + ) + continue + + if 'exclude' in line: + exclude.append(GoModule( + namespace=parsed_dep.group('namespace'), + name=parsed_dep.group('name'), + version=parsed_dep.group('version') + ) + ) + continue gomods.require = require gomods.exclude = exclude @@ -262,40 +240,23 @@ def parse_gomod(location): Here are some example of usage of this module:: ->>> p = parse_dep_type2('github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=') +>>> p = get_dependency('github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=') >>> assert p.group('namespace') == ('github.com/BurntSushi') >>> assert p.group('name') == ('toml') >>> assert p.group('version') == ('v0.3.1') >>> assert p.group('checksum') == ('WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=') - ->>> p = parse_dep_type1('github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=') ->>> assert p.group('namespace') == ('github.com/BurntSushi') ->>> assert p.group('name') == ('toml') ->>> assert p.group('version') == ('v0.3.1') ->>> assert p.group('checksum') == ('xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=') """ -# Regex expressions to parse different types of go.sum file dependency -# dep_type1 example: github.com/BurntSushi/toml v0.3.1 h1:WXkYY.... -parse_dep_type1 = re.compile( - r'(?P(.*))' +# Regex expressions to parse go.sum file dependency +# dep example: github.com/BurntSushi/toml v0.3.1 h1:WXkYY.... +get_dependency = re.compile( + r'(?P[^\s]*)' r'\/' r'(?P[^\s]*)' - r'(\s)*' - r'(?P(.*))' - r'/go.mod(\s)*h1:' - r'(?P(.*))' -).match - -# dep_type2 example: github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCN.... -parse_dep_type2 = re.compile( - r'(?P(.*))' - r'/' - r'(?P[^\s]*)' - r'(\s)*' - r'(?P(.*))' - r'(\s)*h1:' - r'(?P(.*))' + r'\s*' + r'(?P[^\s]*)' + r'\s*' + r'h1:(?P[^\s]*)\s*' ).match @@ -309,17 +270,18 @@ def parse_gosum(location): gosums = [] for line in lines: - parsed_dep = parse_dep_type1(line) - if not parsed_dep: - parsed_dep = parse_dep_type2(line) - - dep_obj = GoModule( - namespace=parsed_dep.group('namespace').strip(), - name=parsed_dep.group('name').strip(), - version=parsed_dep.group('version').strip() + line = line.replace('/go.mod', '') + parsed_dep = get_dependency(line) + + dep = GoModule( + namespace=parsed_dep.group('namespace'), + name=parsed_dep.group('name'), + version=parsed_dep.group('version') ) - if dep_obj not in gosums: - gosums.append(dep_obj) + if dep in gosums: + continue + + gosums.append(dep) return gosums diff --git a/src/packagedcode/golang.py b/src/packagedcode/golang.py index 0f17cc9b75a..b74361ce537 100644 --- a/src/packagedcode/golang.py +++ b/src/packagedcode/golang.py @@ -120,8 +120,8 @@ def build_gomod_package(gomods): name = gomods.name namespace = gomods.namespace - homepage_url = 'https://pkg.go.dev/{}'.format(gomods.module) - vcs_url = 'https://{}.git'.format(gomods.module) + homepage_url = 'https://pkg.go.dev/{}/{}'.format(gomods.namespace, gomods.name) + vcs_url = 'https://{}/{}.git'.format(gomods.namespace, gomods.name) return GolangPackage( name=name, From 11cac3dc3744c2c6c2e7064167ffdc6512fbaaad Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Sun, 9 Aug 2020 10:41:22 +0530 Subject: [PATCH 31/55] basic implementation to handle opam files Signed-off-by: rpotter12 --- src/packagedcode/__init__.py | 2 + src/packagedcode/opam.py | 246 +++++++++++++++++++++++++++++++++++ 2 files changed, 248 insertions(+) create mode 100644 src/packagedcode/opam.py diff --git a/src/packagedcode/__init__.py b/src/packagedcode/__init__.py index 62bc5b50c26..f0da4578a7e 100644 --- a/src/packagedcode/__init__.py +++ b/src/packagedcode/__init__.py @@ -38,6 +38,7 @@ from packagedcode import maven from packagedcode import npm from packagedcode import nuget +from packagedcode import opam from packagedcode import phpcomposer from packagedcode import pypi from packagedcode import rpm @@ -75,6 +76,7 @@ models.IOSApp, pypi.PythonPackage, golang.GolangPackage, + opam.OpamPackage, models.CabPackage, models.MsiInstallerPackage, models.InstallShieldPackage, diff --git a/src/packagedcode/opam.py b/src/packagedcode/opam.py new file mode 100644 index 00000000000..3204d0e18ca --- /dev/null +++ b/src/packagedcode/opam.py @@ -0,0 +1,246 @@ + +# Copyright (c) 2019 nexB Inc. and others. All rights reserved. +# http://nexb.com and https://github.com/nexB/scancode-toolkit/ +# The ScanCode software is licensed under the Apache License version 2.0. +# Data generated with ScanCode require an acknowledgment. +# ScanCode is a trademark of nexB Inc. +# +# You may not use this software except in compliance with the License. +# You may obtain a copy of the License at: http://apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software distributed +# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +# CONDITIONS OF ANY KIND, either express or implied. See the License for the +# specific language governing permissions and limitations under the License. +# +# When you publish or redistribute any data created with ScanCode or any ScanCode +# derivative work, you must accompany this data with the following acknowledgment: +# +# Generated with ScanCode and provided on an "AS IS" BASIS, WITHOUT WARRANTIES +# OR CONDITIONS OF ANY KIND, either express or implied. No content created from +# ScanCode should be considered or used as legal advice. Consult an Attorney +# for any legal advice. +# ScanCode is a free software code scanning tool from nexB Inc. and others. +# Visit https://github.com/nexB/scancode-toolkit/ for support and download. + +from __future__ import absolute_import +from __future__ import print_function +from __future__ import unicode_literals + +from collections import OrderedDict +import io +import logging +import re + +import attr +from packageurl import PackageURL + +from commoncode import filetype +from commoncode import fileutils +from packagedcode import models + + +""" +Handle opam package. +""" + +TRACE = False + +logger = logging.getLogger(__name__) + +if TRACE: + import sys + logging.basicConfig(stream=sys.stdout) + logger.setLevel(logging.DEBUG) + + +@attr.s() +class OpamPackage(models.Package): + metafiles = ('*.opam') + default_type = 'opam' + default_primary_language = 'Ocaml' + default_web_baseurl = 'https://pkg.go.dev' + default_download_baseurl = None + default_api_baseurl = None + + @classmethod + def recognize(cls, location): + yield parse(location) + + @classmethod + def get_package_root(cls, manifest_resource, codebase): + return manifest_resource.parent(codebase) + + def repository_homepage_url(self, baseurl=default_web_baseurl): + if self.namespace and self.name: + return '{}/{}/{}'.format(baseurl, self.namespace, self.name) + + +def is_opam(location): + if location.endswith('.opam'): + return True + return False + + +def parse(location): + if not is_opam(location): + return + + package_data = parse_opam(location) + return build_opam_package(package_data) + + +def build_opam_package(package_data): + """ + Return a Package object from a opam file or None. + """ + package_dependencies = [] + deps = package_data.get('depends') or [] + for dep in deps: + package_dependencies.append( + models.DependentPackage( + purl=dep.purl(), + requirement=dep.version, + scope='dependency', + is_runtime=True, + is_optional=False, + is_resolved=False, + ) + ) + + name = package_data.get('name') + maintainers = package_data.get('maintainer') or [] + authors = package_data.get('authors') or [] + homepage_url = package_data.get('homepage') + vcs_url = package_data.get('dev-repo') + license = package_data.get('license') + summary = package_data.get('synopsis') + description = package_data.get('description') + if len(summary) > len(description): + description = summary + + parties = [] + for author in authors: + parties.append( + models.Party( + type=models.party_person, + name=author, + email=None, + role='author' + ) + ) + + for maintainer in maintainers: + parties.append( + models.Party( + type=models.party_person, + name=None, + email=maintainer, + role='email' + ) + ) + + return OpamPackage( + name=name, + vcs_url=vcs_url or None, + license=license.split() or None, + homepage_url=homepage_url, + description=description, + parties=parties, + dependencies=package_dependencies + ) + + +@attr.s() +class Opam(object): + name = attr.ib(default=None) + version = attr.ib(default=None) + + @property + def purl(self): + return PackageURL( + type='opam', + name=self.name + ).to_string() + + +# Regex expressions to parse file lines +parse_file_line = re.compile( + r'(?P^(.+?))' + r'\:\s*' + r'(?P(.*))' +).match + +parse_dep = re.compile( + r'^\s*\"' + r'(?P[A-z0-9\-]*)' + r'\"\s*' + r'(?P(.*))' +).match + + +def parse_opam(location): + """ + Return a dictionary containing all the opam data. + """ + with io.open(location, encoding='utf-8', closefd=True) as data: + lines = data.readlines() + + opam_data = {} + + for i, line in enumerate(lines): + parsed_line = parse_file_line(line) + if parsed_line: + key = parsed_line.group('key').strip() + value = parsed_line.group('value').strip() + if 'maintainer' == key: + stripped_val = value.strip('["]') + stripped_val = stripped_val.split('" "') + opam_data[key] = stripped_val + continue + if 'authors' == key: + for authors in lines[i+1:]: + value += ' ' + authors.strip() + if ']' in authors: + break + stripped_val = value.strip('["]') + stripped_val = stripped_val.split('" "') + opam_data[key] = stripped_val + continue + if 'depends' == key: + value = [] + for dep in lines[i+1:]: + if ']' in dep: + break + parsed_dep = parse_dep(dep) + if parsed_dep: + value.append(Opam( + name=parsed_dep.group('name').strip(), + version=parsed_dep.group('version').strip('{ } ').replace('"', '') + ) + ) + opam_data[key] = value + continue + if 'description' == key: + value = '' + for cont in lines[i+1:]: + if '"""' in cont: + break + value += ' ' + cont.strip() + + opam_data[key] = get_stripped_data(value) + + return opam_data + + +def get_stripped_data(data): + """ + Return data after removing unnecessary special character + """ + if '["' in data: + for strippable in ('["', '"]',): + data = data.replace(strippable, '') + else: + for strippable in ("'", '"', '[', ']',): + data = data.replace(strippable, '') + + return data.strip() From 99e5400c45c9ae407458b8f27744799e7e502c3b Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Sun, 9 Aug 2020 10:46:58 +0530 Subject: [PATCH 32/55] remove dep Signed-off-by: rpotter12 --- src/packagedcode/__init__.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/packagedcode/__init__.py b/src/packagedcode/__init__.py index f0da4578a7e..62bc5b50c26 100644 --- a/src/packagedcode/__init__.py +++ b/src/packagedcode/__init__.py @@ -38,7 +38,6 @@ from packagedcode import maven from packagedcode import npm from packagedcode import nuget -from packagedcode import opam from packagedcode import phpcomposer from packagedcode import pypi from packagedcode import rpm @@ -76,7 +75,6 @@ models.IOSApp, pypi.PythonPackage, golang.GolangPackage, - opam.OpamPackage, models.CabPackage, models.MsiInstallerPackage, models.InstallShieldPackage, From c72eded04514fd3f6e8f9a906d6d1519ec3f2f3d Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Sun, 9 Aug 2020 23:20:54 +0530 Subject: [PATCH 33/55] improve formatting Signed-off-by: rpotter12 --- src/packagedcode/__init__.py | 2 ++ src/packagedcode/opam.py | 57 ++++++++++++++++++------------------ 2 files changed, 31 insertions(+), 28 deletions(-) diff --git a/src/packagedcode/__init__.py b/src/packagedcode/__init__.py index 62bc5b50c26..6e4c17be7be 100644 --- a/src/packagedcode/__init__.py +++ b/src/packagedcode/__init__.py @@ -38,6 +38,7 @@ from packagedcode import maven from packagedcode import npm from packagedcode import nuget +from packagedcode import opam from packagedcode import phpcomposer from packagedcode import pypi from packagedcode import rpm @@ -63,6 +64,7 @@ phpcomposer.PHPComposerPackage, haxe.HaxePackage, cargo.RustCargoCrate, + opam.OpamPackage, models.MeteorPackage, bower.BowerPackage, freebsd.FreeBSDPackage, diff --git a/src/packagedcode/opam.py b/src/packagedcode/opam.py index 3204d0e18ca..5ed9046cf94 100644 --- a/src/packagedcode/opam.py +++ b/src/packagedcode/opam.py @@ -1,5 +1,5 @@ -# Copyright (c) 2019 nexB Inc. and others. All rights reserved. +# Copyright (c) nexB Inc. and others. All rights reserved. # http://nexb.com and https://github.com/nexB/scancode-toolkit/ # The ScanCode software is licensed under the Apache License version 2.0. # Data generated with ScanCode require an acknowledgment. @@ -55,10 +55,11 @@ @attr.s() class OpamPackage(models.Package): - metafiles = ('*.opam') + metafiles = ('*.opam', 'opam') + extensions = ('.opam',) default_type = 'opam' default_primary_language = 'Ocaml' - default_web_baseurl = 'https://pkg.go.dev' + default_web_baseurl = 'https://opam.ocaml.org/packages' default_download_baseurl = None default_api_baseurl = None @@ -71,12 +72,12 @@ def get_package_root(cls, manifest_resource, codebase): return manifest_resource.parent(codebase) def repository_homepage_url(self, baseurl=default_web_baseurl): - if self.namespace and self.name: - return '{}/{}/{}'.format(baseurl, self.namespace, self.name) + if self.name: + return '{}/{}'.format(baseurl, self.name) def is_opam(location): - if location.endswith('.opam'): + if location.endswith('.opam') or (filetype.is_file(location) and fileutils.file_name(location).lower() == 'opam'): return True return False @@ -98,7 +99,7 @@ def build_opam_package(package_data): for dep in deps: package_dependencies.append( models.DependentPackage( - purl=dep.purl(), + purl=dep.purl, requirement=dep.version, scope='dependency', is_runtime=True, @@ -112,11 +113,11 @@ def build_opam_package(package_data): authors = package_data.get('authors') or [] homepage_url = package_data.get('homepage') vcs_url = package_data.get('dev-repo') - license = package_data.get('license') summary = package_data.get('synopsis') description = package_data.get('description') - if len(summary) > len(description): - description = summary + if summary and description: + if len(summary) > len(description): + description = summary parties = [] for author in authors: @@ -139,16 +140,17 @@ def build_opam_package(package_data): ) ) - return OpamPackage( - name=name, + package = OpamPackage( + name=name or None, vcs_url=vcs_url or None, - license=license.split() or None, homepage_url=homepage_url, description=description, parties=parties, dependencies=package_dependencies ) + return package + @attr.s() class Opam(object): @@ -193,18 +195,21 @@ def parse_opam(location): key = parsed_line.group('key').strip() value = parsed_line.group('value').strip() if 'maintainer' == key: - stripped_val = value.strip('["]') + stripped_val = value.strip('["] ') stripped_val = stripped_val.split('" "') opam_data[key] = stripped_val continue if 'authors' == key: - for authors in lines[i+1:]: - value += ' ' + authors.strip() - if ']' in authors: - break - stripped_val = value.strip('["]') - stripped_val = stripped_val.split('" "') - opam_data[key] = stripped_val + if '[' in line: + for authors in lines[i+1:]: + value += ' ' + authors.strip() + if ']' in authors: + break + value = value.strip('["] ') + else: + value = get_stripped_data(value) + value = value.split('" "') + opam_data[key] = value continue if 'depends' == key: value = [] @@ -223,9 +228,9 @@ def parse_opam(location): if 'description' == key: value = '' for cont in lines[i+1:]: + value += ' ' + cont.strip() if '"""' in cont: break - value += ' ' + cont.strip() opam_data[key] = get_stripped_data(value) @@ -236,11 +241,7 @@ def get_stripped_data(data): """ Return data after removing unnecessary special character """ - if '["' in data: - for strippable in ('["', '"]',): - data = data.replace(strippable, '') - else: - for strippable in ("'", '"', '[', ']',): - data = data.replace(strippable, '') + for strippable in ("'", '"', '[', ']',): + data = data.replace(strippable, '') return data.strip() From b8c1843ae95a36328171f94b2f270935497f8ae3 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Sun, 9 Aug 2020 23:22:47 +0530 Subject: [PATCH 34/55] add opam plugin Signed-off-by: rpotter12 --- tests/packagedcode/data/plugin/help.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/packagedcode/data/plugin/help.txt b/tests/packagedcode/data/plugin/help.txt index 8334d9e24ca..59f3e72b68b 100644 --- a/tests/packagedcode/data/plugin/help.txt +++ b/tests/packagedcode/data/plugin/help.txt @@ -205,6 +205,12 @@ Package: nuget extensions: .nupkg filetypes: zip archive, microsoft ooxml +-------------------------------------------- +Package: opam + class: packagedcode.opam:OpamPackage + metafiles: *.opam, opam + extensions: .opam + -------------------------------------------- Package: pypi class: packagedcode.pypi:PythonPackage From f14f1c40c2f8936babf2fbd99d732f99585bbb75 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Sun, 9 Aug 2020 23:39:30 +0530 Subject: [PATCH 35/55] add summary in description Signed-off-by: rpotter12 --- src/packagedcode/opam.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/packagedcode/opam.py b/src/packagedcode/opam.py index 5ed9046cf94..0e5b72a8c1e 100644 --- a/src/packagedcode/opam.py +++ b/src/packagedcode/opam.py @@ -115,7 +115,9 @@ def build_opam_package(package_data): vcs_url = package_data.get('dev-repo') summary = package_data.get('synopsis') description = package_data.get('description') - if summary and description: + if summary: + description = summary + elif summary and description: if len(summary) > len(description): description = summary From 36ddee218cd026e1f60d72ce884d025a13c73c91 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Sun, 9 Aug 2020 23:50:43 +0530 Subject: [PATCH 36/55] test files to check sample opam files Signed-off-by: rpotter12 --- .../data/opam/package/ocaml-variants.opam | 28 +++++++++++ .../data/opam/sample1/sample1.opam | 43 +++++++++++++++++ .../data/opam/sample2/sample2.opam | 25 ++++++++++ .../data/opam/sample3/sample4.opam | 21 +++++++++ tests/packagedcode/data/opam/sample4/opam | 36 ++++++++++++++ tests/packagedcode/data/opam/sample5/opam | 34 ++++++++++++++ tests/packagedcode/data/recon/base.opam | 37 +++++++++++++++ tests/packagedcode/data/recon/opam | 47 +++++++++++++++++++ 8 files changed, 271 insertions(+) create mode 100644 tests/packagedcode/data/opam/package/ocaml-variants.opam create mode 100644 tests/packagedcode/data/opam/sample1/sample1.opam create mode 100644 tests/packagedcode/data/opam/sample2/sample2.opam create mode 100644 tests/packagedcode/data/opam/sample3/sample4.opam create mode 100644 tests/packagedcode/data/opam/sample4/opam create mode 100644 tests/packagedcode/data/opam/sample5/opam create mode 100644 tests/packagedcode/data/recon/base.opam create mode 100644 tests/packagedcode/data/recon/opam diff --git a/tests/packagedcode/data/opam/package/ocaml-variants.opam b/tests/packagedcode/data/opam/package/ocaml-variants.opam new file mode 100644 index 00000000000..b53e68c8f6f --- /dev/null +++ b/tests/packagedcode/data/opam/package/ocaml-variants.opam @@ -0,0 +1,28 @@ +opam-version: "2.0" +version: "4.11.0+trunk" +synopsis: "OCaml development version" +depends: [ + "ocaml" {= "4.11.0" & post} + "base-unix" {post} + "base-bigarray" {post} + "base-threads" {post} +] +conflict-class: "ocaml-core-compiler" +flags: compiler +setenv: CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs" +build: [ + ["./configure" "--prefix=%{prefix}%"] + [make "-j%{jobs}%"] +] +install: [make "install"] +maintainer: "caml-list@inria.fr" +homepage: "https://github.com/ocaml/ocaml/" +bug-reports: "https://github.com/ocaml/ocaml/issues" +authors: [ + "Xavier Leroy" + "Damien Doligez" + "Alain Frisch" + "Jacques Garrigue" + "Didier Rémy" + "Jérôme Vouillon" +] \ No newline at end of file diff --git a/tests/packagedcode/data/opam/sample1/sample1.opam b/tests/packagedcode/data/opam/sample1/sample1.opam new file mode 100644 index 00000000000..8f61662522f --- /dev/null +++ b/tests/packagedcode/data/opam/sample1/sample1.opam @@ -0,0 +1,43 @@ +opam-version: "2.0" +maintainer: ["anil@recoil.org" "thomas@gazagnaire.org"] +authors: ["Thomas Gazagnaire" "Anil Madhavapeddy" "Gabriel Radanne" + "Mindy Preston" "Thomas Leonard" "Nicolas Ojeda Bar" + "Dave Scott" "David Kaloper" "Hannes Mehnert" "Richard Mortier"] +homepage: "https://github.com/mirage/mirage" +bug-reports: "https://github.com/mirage/mirage/issues/" +dev-repo: "git+https://github.com/mirage/mirage.git" +license: "ISC" +tags: ["org:mirage" "org:xapi-project"] +doc: "https://mirage.github.io/mirage/" + +build: [ + ["dune" "subst"] {pinned} + ["dune" "build" "-p" name "-j" jobs] + ["dune" "runtest" "-p" name "-j" jobs] {with-test} +] + +depends: [ + "ocaml" {>= "4.06.0"} + "dune" {>= "2.0.0"} + "ipaddr" {>= "3.0.0"} + "functoria" {>= "3.0.2"} + "bos" + "astring" + "logs" + "stdlib-shims" + "mirage-runtime" {>= "3.7.0" & <= version} + "alcotest" {with-test} +] +synopsis: "The MirageOS library operating system" +description: """ +MirageOS is a library operating system that constructs unikernels for +secure, high-performance network applications across a variety of +cloud computing and mobile platforms. Code can be developed on a +normal OS such as Linux or MacOS X, and then compiled into a +fully-standalone, specialised unikernel that runs under the Xen +hypervisor. + +Since Xen powers most public cloud computing infrastructure such as +Amazon EC2 or Rackspace, this lets your servers run more cheaply, +securely and with finer control than with a full software stack. +""" \ No newline at end of file diff --git a/tests/packagedcode/data/opam/sample2/sample2.opam b/tests/packagedcode/data/opam/sample2/sample2.opam new file mode 100644 index 00000000000..d6bb91fdbb8 --- /dev/null +++ b/tests/packagedcode/data/opam/sample2/sample2.opam @@ -0,0 +1,25 @@ +pam-version: "2.0" +maintainer: "dev@ocsigen.org" +authors: "Ocsigen team" +bug-reports: "https://github.com/ocsigen/js_of_ocaml/issues" +homepage: "http://ocsigen.github.io/js_of_ocaml" +dev-repo: "git+https://github.com/ocsigen/js_of_ocaml.git" +synopsis: "Compiler from OCaml bytecode to Javascript" +description: """ +Js_of_ocaml is a compiler from OCaml bytecode to JavaScript. +It makes it possible to run pure OCaml programs in JavaScript +environment like browsers and Node.js +""" + +name: "js_of_ocaml" + +build: [["dune" "build" "-p" name "-j" jobs]] + +depends: [ + "ocaml" {>= "4.02.0"} + "dune" {>= "1.11.1"} + "ocaml-migrate-parsetree" {>= "1.4"} + "ppx_tools_versioned" {>= "5.2.3"} + "uchar" + "js_of_ocaml-compiler" {= version} +] \ No newline at end of file diff --git a/tests/packagedcode/data/opam/sample3/sample4.opam b/tests/packagedcode/data/opam/sample3/sample4.opam new file mode 100644 index 00000000000..b7eead158e3 --- /dev/null +++ b/tests/packagedcode/data/opam/sample3/sample4.opam @@ -0,0 +1,21 @@ +opam-version: "2.0" +maintainer: "kaustuv@chaudhuri.info" +authors: [ + "Andrew Gacek" + "Yuting Wang" + "Kaustuv Chaudhuri" +] +homepage: "http://abella-prover.org" +license: "GPL-3.0-only" +build: [[make]] +depends: [ + "ocaml" {>= "4.01.0"} + "ocamlfind" + "ocamlbuild" {build} +] +synopsis: "Interactive theorem prover based on lambda-tree syntax" +extra-files: ["abella.install" "md5=73ccb44a028691726373a70edb080f16"] +url { + src: "https://codeload.github.com/abella-prover/abella/tar.gz/v2.0.2" + checksum: "md5=d7d94e62e9c0a0dbeeded9fa0104e18f" +} \ No newline at end of file diff --git a/tests/packagedcode/data/opam/sample4/opam b/tests/packagedcode/data/opam/sample4/opam new file mode 100644 index 00000000000..be191055ea1 --- /dev/null +++ b/tests/packagedcode/data/opam/sample4/opam @@ -0,0 +1,36 @@ +opam-version: "2.0" +maintainer: "Christophe.Troestler@umons.ac.be" +authors: [ "Christophe Troestler" + "Vincent Hugot" ] +license: "LGPL-3.0-only with OCaml-LGPL-linking-exception" +homepage: "https://github.com/Chris00/ANSITerminal" +dev-repo: "git+https://github.com/Chris00/ANSITerminal.git" +bug-reports: "https://github.com/Chris00/ANSITerminal/issues" +tags: [ "terminal" ] +build: [ + ["ocaml" "setup.ml" "-configure" "--prefix" prefix] + ["ocaml" "setup.ml" "-build"] + ["ocaml" "setup.ml" "-configure" "--enable-tests"] {with-test} + ["ocaml" "setup.ml" "-build"] {with-test} + ["ocaml" "setup.ml" "-test"] {with-test} + ["ocaml" "setup.ml" "-doc"] {with-doc} +] +install: ["ocaml" "setup.ml" "-install"] +remove: [["ocamlfind" "remove" "ANSITerminal"]] +depends: [ + "ocaml" {< "4.05.0"} + "base-unix" + "ocamlbuild" {build} + "ocamlfind" {build} +] +synopsis: "Basic control of ANSI compliant terminals and the windows shell." +description: """ +ANSITerminal is a module allowing to use the colors and cursor +movements on ANSI terminals. It also works on the windows shell (but +this part is currently work in progress).""" +flags: light-uninstall +url { + src: + "https://download.ocamlcore.org/ansiterminal/ansiterminal/0.6.2/ANSITerminal-0.6.2.tar.gz" + checksum: "md5=b7a7b7cce64eabf224d05ed9f2b9d471" +} diff --git a/tests/packagedcode/data/opam/sample5/opam b/tests/packagedcode/data/opam/sample5/opam new file mode 100644 index 00000000000..9bb3a34a14a --- /dev/null +++ b/tests/packagedcode/data/opam/sample5/opam @@ -0,0 +1,34 @@ +opam-version: "2.0" +name: "bap-elf" +version: "1.0.0" +maintainer: "Ivan Gotovchits " +authors: "BAP Team" +homepage: "https://github.com/BinaryAnalysisPlatform/bap/" +bug-reports: "https://github.com/BinaryAnalysisPlatform/bap/issues" +dev-repo: "git://github.com/BinaryAnalysisPlatform/bap/" +license: "MIT" +build: [ + ["./configure" "--prefix=%{prefix}%" "--enable-elf"] + [make] +] + +install: [[make "install"]] + +remove: [ + ["ocamlfind" "remove" "bap-elf"] + ["ocamlfind" "remove" "bap-plugin-elf_loader"] + ["bapbundle" "remove" "elf_loader.plugin"] +] + +depends: [ + "ocaml" + "bap-std" {= "1.0.0"} + "bap-dwarf" {= "1.0.0"} + "camlp4" + "bitstring" {< "3.0.0"} +] +synopsis: "BAP ELF parser and loader written in native OCaml" +url { + src: "https://github.com/BinaryAnalysisPlatform/bap/archive/v1.0.0.tar.gz" + checksum: "md5=07dce66dd871e448652d8885283c6631" +} \ No newline at end of file diff --git a/tests/packagedcode/data/recon/base.opam b/tests/packagedcode/data/recon/base.opam new file mode 100644 index 00000000000..3c7134d0cec --- /dev/null +++ b/tests/packagedcode/data/recon/base.opam @@ -0,0 +1,37 @@ +opam-version: "2.0" +maintainer: "opensource@janestreet.com" +authors: ["Jane Street Group, LLC "] +homepage: "https://github.com/janestreet/base" +bug-reports: "https://github.com/janestreet/base/issues" +dev-repo: "git+https://github.com/janestreet/base.git" +license: "Apache-2.0" +build: [ + ["jbuilder" "build" "-p" name "-j" jobs] +] +depends: [ + "ocaml" {>= "4.04.1" & < "4.07.0"} + "jbuilder" {>= "1.0+beta12"} + "sexplib" {>= "v0.10" & < "v0.11"} +] +depopts: [ + "base-native-int63" +] +synopsis: "Full standard library replacement for OCaml" +description: """ +Full standard library replacement for OCaml + +Base is a complete and portable alternative to the OCaml standard +library. It provides all standard functionalities one would expect +from a language standard library. It uses consistent conventions +across all of its module. + +Base aims to be usable in any context. As a result system dependent +features such as I/O are not offered by Base. They are instead +provided by companion libraries such as stdio: + + https://github.com/janestreet/stdio""" +url { + src: + "https://ocaml.janestreet.com/ocaml-core/v0.10/files/base-v0.10.0.tar.gz" + checksum: "md5=60a9db475c689720cc7fc4304e00b00e" +} diff --git a/tests/packagedcode/data/recon/opam b/tests/packagedcode/data/recon/opam new file mode 100644 index 00000000000..1ff52ef32b2 --- /dev/null +++ b/tests/packagedcode/data/recon/opam @@ -0,0 +1,47 @@ +opam-version: "2.0" +name: "bap" +version: "0.9.1" +maintainer: "Ivan Gotovchits " +authors: "BAP Team" +homepage: "https://github.com/BinaryAnalysisPlatform/bap/" +bug-reports: "https://github.com/BinaryAnalysisPlatform/bap/issues" +dev-repo: "git://github.com/BinaryAnalysisPlatform/bap/" +license: "MIT" +build: [ + ["./configure" "--prefix=%{prefix}%" "--with-cxx=`which clang++`"] + [make] +] +install: [make "install"] +remove: [ + ["ocamlfind" "remove" "bap"] + ["ocamlfind" "remove" "core_lwt"] +] + +depends: [ + "ocaml" {= "4.01.0" } + "base-unix" + "bitstring" + "cmdliner" + "cohttp" {= "0.15.0"} + "core_kernel" {= "111.28.0"} + "ezjsonm" {= "0.4.0"} + "faillib" + "lwt" + "oasis" {build & >= "0.4.0" & < "0.4.7"} + "re" + "uri" {= "1.7.2"} + "zarith" + "ocamlbuild" {build} +] +synopsis: "Binary Analysis Platform" +description: """ +BAP library provides basic facilities for performing binary +analysis using OCaml, Python or other languages. + +BAP uses LLVM library as a disassembling backend, and provide facilities to +parse files in ELF and DWARF formats.""" +flags: light-uninstall +url { + src: "https://github.com/BinaryAnalysisPlatform/bap/archive/v0.9.1.tar.gz" + checksum: "md5=f0e9d067bceb7a9d01eced6668de214c" +} From 39b63fe79cffe5e27c524ccf5920e82c948e9a6c Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Sun, 9 Aug 2020 23:57:07 +0530 Subject: [PATCH 37/55] add recognize test Signed-off-by: rpotter12 --- tests/packagedcode/test_recognize.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/packagedcode/test_recognize.py b/tests/packagedcode/test_recognize.py index 78e59d72b83..3e44589a903 100644 --- a/tests/packagedcode/test_recognize.py +++ b/tests/packagedcode/test_recognize.py @@ -34,6 +34,7 @@ from packagedcode import maven from packagedcode import npm from packagedcode import cargo +from packagedcode import opam from packagedcode import phpcomposer from packagedcode import rpm from packagedcode.recognize import recognize_packages @@ -126,6 +127,18 @@ def test_recognize_cargo(self): assert packages assert isinstance(packages[0], cargo.RustCargoCrate) + def test_recognize_opam(self): + test_file = self.get_test_loc('recon/opam') + packages = recognize_packages(test_file) + assert packages + assert isinstance(packages[0], opam.OpamPackage) + + def test_recognize_opam1(self): + test_file = self.get_test_loc('recon/base.opam') + packages = recognize_packages(test_file) + assert packages + assert isinstance(packages[0], opam.OpamPackage) + def test_recognize_composer(self): test_file = self.get_test_loc('recon/composer.json') packages = recognize_packages(test_file) From 6d618f2572f4ef999ed818fc99b9fc3e5d629e15 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Mon, 10 Aug 2020 09:06:43 +0530 Subject: [PATCH 38/55] add expected output files Signed-off-by: rpotter12 --- .../data/opam/sample1/output.opam.expected | 201 ++++++++++++++++++ .../data/opam/sample2/output.opam.expected | 99 +++++++++ .../data/opam/sample3/output.opam.expected | 89 ++++++++ .../sample3/{sample4.opam => sample3.opam} | 0 .../data/opam/sample4/output.opam.expected | 90 ++++++++ .../data/opam/sample5/output.opam.expected | 91 ++++++++ 6 files changed, 570 insertions(+) create mode 100644 tests/packagedcode/data/opam/sample1/output.opam.expected create mode 100644 tests/packagedcode/data/opam/sample2/output.opam.expected create mode 100644 tests/packagedcode/data/opam/sample3/output.opam.expected rename tests/packagedcode/data/opam/sample3/{sample4.opam => sample3.opam} (100%) create mode 100644 tests/packagedcode/data/opam/sample4/output.opam.expected create mode 100644 tests/packagedcode/data/opam/sample5/output.opam.expected diff --git a/tests/packagedcode/data/opam/sample1/output.opam.expected b/tests/packagedcode/data/opam/sample1/output.opam.expected new file mode 100644 index 00000000000..83249d8cada --- /dev/null +++ b/tests/packagedcode/data/opam/sample1/output.opam.expected @@ -0,0 +1,201 @@ +{ + "type": "opam", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Ocaml", + "description": "The MirageOS library operating system", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Thomas Gazagnaire", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Anil Madhavapeddy", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Gabriel Radanne", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Mindy Preston", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Thomas Leonard", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Nicolas Ojeda Bar", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Dave Scott", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "David Kaloper", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Hannes Mehnert", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Richard Mortier", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "anil@recoil.org", + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "thomas@gazagnaire.org", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/mirage/mirage", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "git+https://github.com/mirage/mirage.git", + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:opam/ocaml", + "requirement": ">= 4.06.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/dune", + "requirement": ">= 2.0.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/ipaddr", + "requirement": ">= 3.0.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/functoria", + "requirement": ">= 3.0.2", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/bos", + "requirement": "", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/astring", + "requirement": "", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/logs", + "requirement": "", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/stdlib-shims", + "requirement": "", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/mirage-runtime", + "requirement": ">= 3.7.0 & <= version", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/alcotest", + "requirement": "with-test", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": null, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null +} diff --git a/tests/packagedcode/data/opam/sample2/output.opam.expected b/tests/packagedcode/data/opam/sample2/output.opam.expected new file mode 100644 index 00000000000..7d9b757e66a --- /dev/null +++ b/tests/packagedcode/data/opam/sample2/output.opam.expected @@ -0,0 +1,99 @@ +{ + "type": "opam", + "namespace": null, + "name": "js_of_ocaml", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Ocaml", + "description": "Compiler from OCaml bytecode to Javascript", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Ocsigen team", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "dev@ocsigen.org", + "url": null + } + ], + "keywords": [], + "homepage_url": "http://ocsigen.github.io/js_of_ocaml", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "git+https://github.com/ocsigen/js_of_ocaml.git", + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:opam/ocaml", + "requirement": ">= 4.02.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/dune", + "requirement": ">= 1.11.1", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/ocaml-migrate-parsetree", + "requirement": ">= 1.4", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/ppx_tools_versioned", + "requirement": ">= 5.2.3", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/uchar", + "requirement": "", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/js_of_ocaml-compiler", + "requirement": "= version", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:opam/js_of_ocaml", + "repository_homepage_url": "https://opam.ocaml.org/packages/js_of_ocaml", + "repository_download_url": null, + "api_data_url": null +} diff --git a/tests/packagedcode/data/opam/sample3/output.opam.expected b/tests/packagedcode/data/opam/sample3/output.opam.expected new file mode 100644 index 00000000000..1b5fb997bfc --- /dev/null +++ b/tests/packagedcode/data/opam/sample3/output.opam.expected @@ -0,0 +1,89 @@ +{ + "type": "opam", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Ocaml", + "description": "Interactive theorem prover based on lambda-tree syntax", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Andrew Gacek", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Yuting Wang", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Kaustuv Chaudhuri", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "kaustuv@chaudhuri.info", + "url": null + } + ], + "keywords": [], + "homepage_url": "http://abella-prover.org", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:opam/ocaml", + "requirement": ">= 4.01.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/ocamlfind", + "requirement": "", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/ocamlbuild", + "requirement": "build", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": null, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null +} diff --git a/tests/packagedcode/data/opam/sample3/sample4.opam b/tests/packagedcode/data/opam/sample3/sample3.opam similarity index 100% rename from tests/packagedcode/data/opam/sample3/sample4.opam rename to tests/packagedcode/data/opam/sample3/sample3.opam diff --git a/tests/packagedcode/data/opam/sample4/output.opam.expected b/tests/packagedcode/data/opam/sample4/output.opam.expected new file mode 100644 index 00000000000..c1c4bfaa187 --- /dev/null +++ b/tests/packagedcode/data/opam/sample4/output.opam.expected @@ -0,0 +1,90 @@ +{ + "type": "opam", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Ocaml", + "description": "Basic control of ANSI compliant terminals and the windows shell.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Christophe Troestler", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Vincent Hugot", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "Christophe.Troestler@umons.ac.be", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/Chris00/ANSITerminal", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "git+https://github.com/Chris00/ANSITerminal.git", + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:opam/ocaml", + "requirement": "< 4.05.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/base-unix", + "requirement": "", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/ocamlbuild", + "requirement": "build", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/ocamlfind", + "requirement": "build", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": null, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null +} diff --git a/tests/packagedcode/data/opam/sample5/output.opam.expected b/tests/packagedcode/data/opam/sample5/output.opam.expected new file mode 100644 index 00000000000..0a6216583ba --- /dev/null +++ b/tests/packagedcode/data/opam/sample5/output.opam.expected @@ -0,0 +1,91 @@ +{ + "type": "opam", + "namespace": null, + "name": "bap-elf", + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Ocaml", + "description": "BAP ELF parser and loader written in native OCaml", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "BAP Team", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "Ivan Gotovchits ", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/BinaryAnalysisPlatform/bap/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": "git://github.com/BinaryAnalysisPlatform/bap/", + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:opam/ocaml", + "requirement": "", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/bap-std", + "requirement": "= 1.0.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/bap-dwarf", + "requirement": "= 1.0.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/camlp4", + "requirement": "", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/bitstring", + "requirement": "< 3.0.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": "pkg:opam/bap-elf", + "repository_homepage_url": "https://opam.ocaml.org/packages/bap-elf", + "repository_download_url": null, + "api_data_url": null +} From 7f1176b7991412467d2cde0442949e09cc8c4f41 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Mon, 10 Aug 2020 09:10:54 +0530 Subject: [PATCH 39/55] add opam test code Signed-off-by: rpotter12 --- tests/packagedcode/test_opam.py | 97 +++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 tests/packagedcode/test_opam.py diff --git a/tests/packagedcode/test_opam.py b/tests/packagedcode/test_opam.py new file mode 100644 index 00000000000..50efb29f1dd --- /dev/null +++ b/tests/packagedcode/test_opam.py @@ -0,0 +1,97 @@ + +# Copyright (c) nexB Inc. and others. All rights reserved. +# http://nexb.com and https://github.com/nexB/scancode-toolkit/ +# The ScanCode software is licensed under the Apache License version 2.0. +# Data generated with ScanCode require an acknowledgment. +# ScanCode is a trademark of nexB Inc. +# +# You may not use this software except in compliance with the License. +# You may obtain a copy of the License at: http://apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software distributed +# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +# CONDITIONS OF ANY KIND, either express or implied. See the License for the +# specific language governing permissions and limitations under the License. +# +# When you publish or redistribute any data created with ScanCode or any ScanCode +# derivative work, you must accompany this data with the following acknowledgment: +# +# Generated with ScanCode and provided on an "AS IS" BASIS, WITHOUT WARRANTIES +# OR CONDITIONS OF ANY KIND, either express or implied. No content created from +# ScanCode should be considered or used as legal advice. Consult an Attorney +# for any legal advice. +# ScanCode is a free software code scanning tool from nexB Inc. and others. +# Visit https://github.com/nexB/scancode-toolkit/ for support and download. + +from __future__ import absolute_import +from __future__ import print_function +from __future__ import unicode_literals + +import os +import pytest + +from packagedcode import opam + +from packages_test_utils import PackageTester + + +class TestOcaml(PackageTester): + test_data_dir = os.path.join(os.path.dirname(__file__), 'data') + + def test_parse_sample1(self): + test_file = self.get_test_loc('opam/sample1/sample1.opam') + expected_loc = self.get_test_loc('opam/sample1/output.opam.expected') + package = opam.parse(test_file) + self.check_package(package, expected_loc, regen=False) + + def test_parse_sample2(self): + test_file = self.get_test_loc('opam/sample2/sample2.opam') + expected_loc = self.get_test_loc('opam/sample2/output.opam.expected') + package = opam.parse(test_file) + self.check_package(package, expected_loc, regen=False) + + def test_parse_sample3(self): + test_file = self.get_test_loc('opam/sample3/sample3.opam') + expected_loc = self.get_test_loc('opam/sample3/output.opam.expected') + package = opam.parse(test_file) + self.check_package(package, expected_loc, regen=False) + + def test_parse_sample4(self): + test_file = self.get_test_loc('opam/sample4/opam') + expected_loc = self.get_test_loc('opam/sample4/output.opam.expected') + package = opam.parse(test_file) + self.check_package(package, expected_loc, regen=False) + + def test_parse_sample5(self): + test_file = self.get_test_loc('opam/sample5/opam') + expected_loc = self.get_test_loc('opam/sample5/output.opam.expected') + package = opam.parse(test_file) + self.check_package(package, expected_loc, regen=False) + + + +FILE_LINE = [ + ('authors: "BAP Team"', ('authors', '"BAP Team"')), + ('homepage: "https://github.com/BinaryAnalysisPlatform/bap/"', ('homepage', '"https://github.com/BinaryAnalysisPlatform/bap/"')) +] + +DEP_LINE = [ + ('"ocaml"', ('ocaml', '')), + ('"bap-std" {= "1.0.0"}', ('bap-std', '{= "1.0.0"}')), + ('"camlp4"', ('camlp4', '')), + ('"bitstring" {< "3.0.0"}', ('bitstring', '{< "3.0.0"}')) +] + +class TestRegex(object): + @pytest.mark.parametrize('line, expected_data', FILE_LINE) + def test_parse_file_line(self, line, expected_data): + parsed_line = opam.parse_file_line(line) + line_information = parsed_line.groupdict() + key, value = line_information.get('key'), line_information.get('value') + assert (key, value) == expected_data + + @pytest.mark.parametrize('dep, expected_data', DEP_LINE) + def test_parse_dep(self, dep, expected_data): + parsed_dep = opam.parse_dep(dep) + dep_information = parsed_dep.groupdict() + name, version = dep_information.get('name'), dep_information.get('version') + assert (name, version) == expected_data \ No newline at end of file From 77a2e7468986439d915e9110bc144522d9c7f1f7 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Mon, 10 Aug 2020 10:14:18 +0530 Subject: [PATCH 40/55] add opam plugin test Signed-off-by: rpotter12 --- .../data/plugin/opam-package-expected.json | 147 ++++++++++++++++++ tests/packagedcode/test_plugin.py | 7 + 2 files changed, 154 insertions(+) create mode 100644 tests/packagedcode/data/plugin/opam-package-expected.json diff --git a/tests/packagedcode/data/plugin/opam-package-expected.json b/tests/packagedcode/data/plugin/opam-package-expected.json new file mode 100644 index 00000000000..c72a6b4feb2 --- /dev/null +++ b/tests/packagedcode/data/plugin/opam-package-expected.json @@ -0,0 +1,147 @@ +{ + "headers": [ + { + "tool_name": "scancode-toolkit", + "options": { + "input": "", + "--json": "", + "--package": true, + "--processes": "-1", + "--strip-root": true + }, + "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.", + "message": null, + "errors": [], + "extra_data": { + "files_count": 1 + } + } + ], + "files": [ + { + "path": "ocaml-variants.opam", + "type": "file", + "packages": [ + { + "type": "opam", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Ocaml", + "description": "OCaml development version", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Xavier Leroy", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Damien Doligez", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Alain Frisch", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Jacques Garrigue", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Didier R\u00e9my", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "J\u00e9r\u00f4me Vouillon", + "email": null, + "url": null + }, + { + "type": "person", + "role": "email", + "name": null, + "email": "caml-list@inria.fr", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/ocaml/ocaml/", + "download_url": null, + "size": null, + "sha1": null, + "md5": null, + "sha256": null, + "sha512": null, + "bug_tracking_url": null, + "code_view_url": null, + "vcs_url": null, + "copyright": null, + "license_expression": null, + "declared_license": null, + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:opam/ocaml", + "requirement": "= 4.11.0 & post", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/base-unix", + "requirement": "post", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/base-bigarray", + "requirement": "post", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/base-threads", + "requirement": "post", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": null, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null + } + ], + "scan_errors": [] + } + ] +} diff --git a/tests/packagedcode/test_plugin.py b/tests/packagedcode/test_plugin.py index dc4db2fa7cf..7032a3a4bad 100644 --- a/tests/packagedcode/test_plugin.py +++ b/tests/packagedcode/test_plugin.py @@ -130,6 +130,13 @@ def test_package_command_scan_nuget(self): run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) check_json_scan(expected_file, result_file, regen=False) + def test_package_command_scan_opam(self): + test_dir = self.get_test_loc('opam/package') + result_file = self.get_temp_file('json') + expected_file = self.get_test_loc('plugin/opam-package-expected.json') + run_scan_click(['--package', '--strip-root', '--processes', '-1', test_dir, '--json', result_file]) + check_json_scan(expected_file, result_file, regen=False) + def test_package_command_scan_phpcomposer(self): test_dir = self.get_test_loc('phpcomposer/package') result_file = self.get_temp_file('json') From f6d1f64e5caf6db37313badaf2d5230b1dc36182 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Fri, 14 Aug 2020 11:39:37 +0530 Subject: [PATCH 41/55] add comments and file name Signed-off-by: rpotter12 --- src/packagedcode/opam.py | 76 ++++++++++++++++++++++--- tests/packagedcode/data/plugin/help.txt | 2 +- 2 files changed, 69 insertions(+), 9 deletions(-) diff --git a/src/packagedcode/opam.py b/src/packagedcode/opam.py index 0e5b72a8c1e..503b2f586af 100644 --- a/src/packagedcode/opam.py +++ b/src/packagedcode/opam.py @@ -55,7 +55,7 @@ @attr.s() class OpamPackage(models.Package): - metafiles = ('*.opam', 'opam') + metafiles = ('*opam',) extensions = ('.opam',) default_type = 'opam' default_primary_language = 'Ocaml' @@ -77,12 +77,14 @@ def repository_homepage_url(self, baseurl=default_web_baseurl): def is_opam(location): - if location.endswith('.opam') or (filetype.is_file(location) and fileutils.file_name(location).lower() == 'opam'): + if location.endswith('opam'): return True - return False def parse(location): + """ + Return a Package object from a opam file or None. + """ if not is_opam(location): return @@ -92,7 +94,7 @@ def parse(location): def build_opam_package(package_data): """ - Return a Package object from a opam file or None. + Return a Package from a opam file or None. """ package_dependencies = [] deps = package_data.get('depends') or [] @@ -153,6 +155,54 @@ def build_opam_package(package_data): return package +""" +Example:- + +Sample opam file(sample3.opam): +opam-version: "2.0" +version: "4.11.0+trunk" +synopsis: "OCaml development version" +depends: [ + "ocaml" {= "4.11.0" & post} + "base-unix" {post} +] +conflict-class: "ocaml-core-compiler" +flags: compiler +setenv: CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs" +build: [ + ["./configure" "--prefix=%{prefix}%"] + [make "-j%{jobs}%"] +] +install: [make "install"] +maintainer: "caml-list@inria.fr" +homepage: "https://github.com/ocaml/ocaml/" +bug-reports: "https://github.com/ocaml/ocaml/issues" +authors: [ + "Xavier Leroy" + "Damien Doligez" + "Alain Frisch" + "Jacques Garrigue" +] + +>>> p = parse_opam('sample3.opam') +>>> for k, v in p.items(): +>>> print(k, v) + +Output: +opam-version 2.0 +version 4.11.0+trunk +synopsis OCaml development version +depends [Opam(name='ocaml', version='= 4.11.0 & post'), Opam(name='base-unix', version='post')] +conflict-class ocaml-core-compiler +flags compiler +setenv CAML_LD_LIBRARY_PATH = %{lib}%/stublibs +build +install make install +maintainer ['caml-list@inria.fr'] +homepage https://github.com/ocaml/ocaml/ +bug-reports https://github.com/ocaml/ocaml/issues +authors ['Xavier Leroy', 'Damien Doligez', 'Alain Frisch', 'Jacques Garrigue'] +""" @attr.s() class Opam(object): @@ -181,6 +231,16 @@ def purl(self): r'(?P(.*))' ).match +""" +Example: +>>> p = parse_file_line('authors: "BAP Team"') +>>> assert p.group('key') == ('authors') +>>> assert p.group('value') == ('"BAP Team"') + +>>> p = parse_dep('"bap-std" {= "1.0.0"}') +>>> assert p.group('name') == ('bap-std') +>>> assert p.group('version') == ('{= "1.0.0"}') +""" def parse_opam(location): """ @@ -202,7 +262,7 @@ def parse_opam(location): opam_data[key] = stripped_val continue if 'authors' == key: - if '[' in line: + if '[' in line: # If authors are present in multiple lines for authors in lines[i+1:]: value += ' ' + authors.strip() if ']' in authors: @@ -213,7 +273,7 @@ def parse_opam(location): value = value.split('" "') opam_data[key] = value continue - if 'depends' == key: + if 'depends' == key: # Get multiline dependencies value = [] for dep in lines[i+1:]: if ']' in dep: @@ -227,7 +287,7 @@ def parse_opam(location): ) opam_data[key] = value continue - if 'description' == key: + if 'description' == key: # Get multiline description value = '' for cont in lines[i+1:]: value += ' ' + cont.strip() @@ -241,7 +301,7 @@ def parse_opam(location): def get_stripped_data(data): """ - Return data after removing unnecessary special character + Return data after removing unnecessary special character. """ for strippable in ("'", '"', '[', ']',): data = data.replace(strippable, '') diff --git a/tests/packagedcode/data/plugin/help.txt b/tests/packagedcode/data/plugin/help.txt index 59f3e72b68b..c457691e546 100644 --- a/tests/packagedcode/data/plugin/help.txt +++ b/tests/packagedcode/data/plugin/help.txt @@ -208,7 +208,7 @@ Package: nuget -------------------------------------------- Package: opam class: packagedcode.opam:OpamPackage - metafiles: *.opam, opam + metafiles: *opam extensions: .opam -------------------------------------------- From 639bf8d7e27db6c1d387662373b13ad301d65e07 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Sun, 16 Aug 2020 19:50:56 +0530 Subject: [PATCH 42/55] detect license Signed-off-by: rpotter12 --- src/packagedcode/opam.py | 53 ++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/src/packagedcode/opam.py b/src/packagedcode/opam.py index 503b2f586af..d9f8ba95b1a 100644 --- a/src/packagedcode/opam.py +++ b/src/packagedcode/opam.py @@ -111,10 +111,10 @@ def build_opam_package(package_data): ) name = package_data.get('name') - maintainers = package_data.get('maintainer') or [] - authors = package_data.get('authors') or [] homepage_url = package_data.get('homepage') vcs_url = package_data.get('dev-repo') + bug_tracking_url = package_data.get('bug-reports') + declared_license = package_data.get('license') summary = package_data.get('synopsis') description = package_data.get('description') if summary: @@ -122,32 +122,33 @@ def build_opam_package(package_data): elif summary and description: if len(summary) > len(description): description = summary - + parties = [] + authors = package_data.get('authors') or [] for author in authors: parties.append( models.Party( type=models.party_person, name=author, - email=None, role='author' ) ) - + maintainers = package_data.get('maintainer') or [] for maintainer in maintainers: parties.append( models.Party( type=models.party_person, - name=None, email=maintainer, - role='email' + role='maintainer' ) ) package = OpamPackage( - name=name or None, - vcs_url=vcs_url or None, + name=name, + vcs_url=vcs_url, homepage_url=homepage_url, + bug_tracking_url=bug_tracking_url, + declared_license=declared_license, description=description, parties=parties, dependencies=package_dependencies @@ -244,9 +245,9 @@ def purl(self): def parse_opam(location): """ - Return a dictionary containing all the opam data. + Return a mapping of package data collected from the opam OCaml package manifest file at `location`. """ - with io.open(location, encoding='utf-8', closefd=True) as data: + with io.open(location, encoding='utf-8') as data: lines = data.readlines() opam_data = {} @@ -256,12 +257,20 @@ def parse_opam(location): if parsed_line: key = parsed_line.group('key').strip() value = parsed_line.group('value').strip() - if 'maintainer' == key: + if key == 'description': # Get multiline description + value = '' + for cont in lines[i+1:]: + value += ' ' + cont.strip() + if '"""' in cont: + break + + opam_data[key] = clean_data(value) + + if key == 'maintainer': stripped_val = value.strip('["] ') stripped_val = stripped_val.split('" "') opam_data[key] = stripped_val - continue - if 'authors' == key: + elif key == 'authors': if '[' in line: # If authors are present in multiple lines for authors in lines[i+1:]: value += ' ' + authors.strip() @@ -269,11 +278,10 @@ def parse_opam(location): break value = value.strip('["] ') else: - value = get_stripped_data(value) + value = clean_data(value) value = value.split('" "') opam_data[key] = value - continue - if 'depends' == key: # Get multiline dependencies + elif key == 'depends': # Get multiline dependencies value = [] for dep in lines[i+1:]: if ']' in dep: @@ -286,20 +294,11 @@ def parse_opam(location): ) ) opam_data[key] = value - continue - if 'description' == key: # Get multiline description - value = '' - for cont in lines[i+1:]: - value += ' ' + cont.strip() - if '"""' in cont: - break - - opam_data[key] = get_stripped_data(value) return opam_data -def get_stripped_data(data): +def clean_data(data): """ Return data after removing unnecessary special character. """ From 9421953b00a30c564486376488cc8b906b69da43 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Sun, 16 Aug 2020 19:51:33 +0530 Subject: [PATCH 43/55] tests for detect license Signed-off-by: rpotter12 --- .../data/opam/sample1/output.opam.expected | 10 +++++----- .../data/opam/sample2/output.opam.expected | 4 ++-- .../data/opam/sample3/output.opam.expected | 6 +++--- .../data/opam/sample4/output.opam.expected | 8 ++++---- .../data/opam/sample5/output.opam.expected | 8 ++++---- .../data/plugin/opam-package-expected.json | 4 ++-- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/tests/packagedcode/data/opam/sample1/output.opam.expected b/tests/packagedcode/data/opam/sample1/output.opam.expected index 83249d8cada..0a7e544378f 100644 --- a/tests/packagedcode/data/opam/sample1/output.opam.expected +++ b/tests/packagedcode/data/opam/sample1/output.opam.expected @@ -81,14 +81,14 @@ }, { "type": "person", - "role": "email", + "role": "maintainer", "name": null, "email": "anil@recoil.org", "url": null }, { "type": "person", - "role": "email", + "role": "maintainer", "name": null, "email": "thomas@gazagnaire.org", "url": null @@ -102,12 +102,12 @@ "md5": null, "sha256": null, "sha512": null, - "bug_tracking_url": null, + "bug_tracking_url": "https://github.com/mirage/mirage/issues/", "code_view_url": null, "vcs_url": "git+https://github.com/mirage/mirage.git", "copyright": null, - "license_expression": null, - "declared_license": null, + "license_expression": "isc", + "declared_license": "ISC", "notice_text": null, "root_path": null, "dependencies": [ diff --git a/tests/packagedcode/data/opam/sample2/output.opam.expected b/tests/packagedcode/data/opam/sample2/output.opam.expected index 7d9b757e66a..d116f7a6675 100644 --- a/tests/packagedcode/data/opam/sample2/output.opam.expected +++ b/tests/packagedcode/data/opam/sample2/output.opam.expected @@ -18,7 +18,7 @@ }, { "type": "person", - "role": "email", + "role": "maintainer", "name": null, "email": "dev@ocsigen.org", "url": null @@ -32,7 +32,7 @@ "md5": null, "sha256": null, "sha512": null, - "bug_tracking_url": null, + "bug_tracking_url": "https://github.com/ocsigen/js_of_ocaml/issues", "code_view_url": null, "vcs_url": "git+https://github.com/ocsigen/js_of_ocaml.git", "copyright": null, diff --git a/tests/packagedcode/data/opam/sample3/output.opam.expected b/tests/packagedcode/data/opam/sample3/output.opam.expected index 1b5fb997bfc..a66a79775fa 100644 --- a/tests/packagedcode/data/opam/sample3/output.opam.expected +++ b/tests/packagedcode/data/opam/sample3/output.opam.expected @@ -32,7 +32,7 @@ }, { "type": "person", - "role": "email", + "role": "maintainer", "name": null, "email": "kaustuv@chaudhuri.info", "url": null @@ -50,8 +50,8 @@ "code_view_url": null, "vcs_url": null, "copyright": null, - "license_expression": null, - "declared_license": null, + "license_expression": "gpl-3.0", + "declared_license": "GPL-3.0-only", "notice_text": null, "root_path": null, "dependencies": [ diff --git a/tests/packagedcode/data/opam/sample4/output.opam.expected b/tests/packagedcode/data/opam/sample4/output.opam.expected index c1c4bfaa187..6811ce7af89 100644 --- a/tests/packagedcode/data/opam/sample4/output.opam.expected +++ b/tests/packagedcode/data/opam/sample4/output.opam.expected @@ -25,7 +25,7 @@ }, { "type": "person", - "role": "email", + "role": "maintainer", "name": null, "email": "Christophe.Troestler@umons.ac.be", "url": null @@ -39,12 +39,12 @@ "md5": null, "sha256": null, "sha512": null, - "bug_tracking_url": null, + "bug_tracking_url": "https://github.com/Chris00/ANSITerminal/issues", "code_view_url": null, "vcs_url": "git+https://github.com/Chris00/ANSITerminal.git", "copyright": null, - "license_expression": null, - "declared_license": null, + "license_expression": "lgpl-3.0 WITH ocaml-lgpl-linking-exception", + "declared_license": "LGPL-3.0-only with OCaml-LGPL-linking-exception", "notice_text": null, "root_path": null, "dependencies": [ diff --git a/tests/packagedcode/data/opam/sample5/output.opam.expected b/tests/packagedcode/data/opam/sample5/output.opam.expected index 0a6216583ba..9644c7fe92b 100644 --- a/tests/packagedcode/data/opam/sample5/output.opam.expected +++ b/tests/packagedcode/data/opam/sample5/output.opam.expected @@ -18,7 +18,7 @@ }, { "type": "person", - "role": "email", + "role": "maintainer", "name": null, "email": "Ivan Gotovchits ", "url": null @@ -32,12 +32,12 @@ "md5": null, "sha256": null, "sha512": null, - "bug_tracking_url": null, + "bug_tracking_url": "https://github.com/BinaryAnalysisPlatform/bap/issues", "code_view_url": null, "vcs_url": "git://github.com/BinaryAnalysisPlatform/bap/", "copyright": null, - "license_expression": null, - "declared_license": null, + "license_expression": "mit", + "declared_license": "MIT", "notice_text": null, "root_path": null, "dependencies": [ diff --git a/tests/packagedcode/data/plugin/opam-package-expected.json b/tests/packagedcode/data/plugin/opam-package-expected.json index c72a6b4feb2..6aa9960c0e5 100644 --- a/tests/packagedcode/data/plugin/opam-package-expected.json +++ b/tests/packagedcode/data/plugin/opam-package-expected.json @@ -77,7 +77,7 @@ }, { "type": "person", - "role": "email", + "role": "maintainer", "name": null, "email": "caml-list@inria.fr", "url": null @@ -91,7 +91,7 @@ "md5": null, "sha256": null, "sha512": null, - "bug_tracking_url": null, + "bug_tracking_url": "https://github.com/ocaml/ocaml/issues", "code_view_url": null, "vcs_url": null, "copyright": null, From cfd6ee0e7c16fc682e809aff3cfd5862c4355d13 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Mon, 17 Aug 2020 20:00:41 +0530 Subject: [PATCH 44/55] detect checksums and src Signed-off-by: rpotter12 --- src/packagedcode/opam.py | 40 ++++++++++++- .../data/opam/sample6/output.opam.expected | 59 +++++++++++++++++++ .../data/opam/sample6/sample6.opam | 33 +++++++++++ .../data/opam/sample7/sample7.opam | 31 ++++++++++ tests/packagedcode/data/opam/sample8/opam | 36 +++++++++++ 5 files changed, 197 insertions(+), 2 deletions(-) create mode 100644 tests/packagedcode/data/opam/sample6/output.opam.expected create mode 100644 tests/packagedcode/data/opam/sample6/sample6.opam create mode 100644 tests/packagedcode/data/opam/sample7/sample7.opam create mode 100644 tests/packagedcode/data/opam/sample8/opam diff --git a/src/packagedcode/opam.py b/src/packagedcode/opam.py index d9f8ba95b1a..5853bff720a 100644 --- a/src/packagedcode/opam.py +++ b/src/packagedcode/opam.py @@ -77,8 +77,7 @@ def repository_homepage_url(self, baseurl=default_web_baseurl): def is_opam(location): - if location.endswith('opam'): - return True + return location.endswith('opam') def parse(location): @@ -112,9 +111,14 @@ def build_opam_package(package_data): name = package_data.get('name') homepage_url = package_data.get('homepage') + download_url = package_data.get('src') vcs_url = package_data.get('dev-repo') bug_tracking_url = package_data.get('bug-reports') declared_license = package_data.get('license') + sha1 = package_data.get('sha1') + md5 = package_data.get('md5') + sha256 = package_data.get('sha256') + sha512 = package_data.get('sha512') summary = package_data.get('synopsis') description = package_data.get('description') if summary: @@ -147,6 +151,11 @@ def build_opam_package(package_data): name=name, vcs_url=vcs_url, homepage_url=homepage_url, + download_url=download_url, + sha1=sha1, + md5=md5, + sha256=sha256, + sha512=sha512, bug_tracking_url=bug_tracking_url, declared_license=declared_license, description=description, @@ -225,6 +234,12 @@ def purl(self): r'(?P(.*))' ).match +parse_checksum = re.compile( + r'(?P^(.+?))' + r'\=' + r'(?P(.*))' +).match + parse_dep = re.compile( r'^\s*\"' r'(?P[A-z0-9\-]*)' @@ -294,6 +309,27 @@ def parse_opam(location): ) ) opam_data[key] = value + elif key == 'src': # Get multiline src + if not value: + value = lines[i+1].strip() + opam_data[key] = clean_data(value) + elif key == 'checksum': # Get checksums + if '[' in line: + for checksum in lines[i+1:]: + checksum = checksum.strip('" ') + if ']' in checksum: + break + parsed_checksum = parse_checksum(checksum) + key = clean_data(parsed_checksum.group('key').strip()) + value = clean_data(parsed_checksum.group('value').strip()) + opam_data[key] = value + else: + value = value.strip('" ') + parsed_checksum = parse_checksum(value) + if parsed_checksum: + key = clean_data(parsed_checksum.group('key').strip()) + value = clean_data(parsed_checksum.group('value').strip()) + opam_data[key] = value return opam_data diff --git a/tests/packagedcode/data/opam/sample6/output.opam.expected b/tests/packagedcode/data/opam/sample6/output.opam.expected new file mode 100644 index 00000000000..a021043a368 --- /dev/null +++ b/tests/packagedcode/data/opam/sample6/output.opam.expected @@ -0,0 +1,59 @@ +{ + "type": "opam", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Ocaml", + "description": "Library to make OCaml program act as a Windows service", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Romain Beauxis \"] license: \"GPL-2.0\" homepage: \"https://github.com/savonet/ocaml-winsvc\" bug-reports: \"https://github.com/savonet/ocaml-winsvc/issues\" depends: [ \"dune\" {> \"2.0\"}", + "email": null, + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": null, + "email": "The Savonet Team ", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/savonet/ocaml-winsvc", + "download_url": "https://github.com/savonet/ocaml-winsvc/archive/v1.0.0.tar.gz", + "size": null, + "sha1": null, + "md5": "86d48dc11dd66adac6daadbecb5f6888\"", + "sha256": null, + "sha512": "30e208d35ed7eb30e90d5fd4f0dde3ff4f527155df90e2d9cffadec15513b65b72503fc223bd784203f2b9081f68bedd5a2b157ffb0b2d9b765546dac1094875\"", + "bug_tracking_url": "https://github.com/savonet/ocaml-winsvc/issues", + "code_view_url": null, + "vcs_url": "git+https://github.com/savonet/ocaml-winsvc.git", + "copyright": null, + "license_expression": "gpl-2.0", + "declared_license": "GPL-2.0", + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:opam/dune", + "requirement": "> 2.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": null, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null +} \ No newline at end of file diff --git a/tests/packagedcode/data/opam/sample6/sample6.opam b/tests/packagedcode/data/opam/sample6/sample6.opam new file mode 100644 index 00000000000..e03646c1f7f --- /dev/null +++ b/tests/packagedcode/data/opam/sample6/sample6.opam @@ -0,0 +1,33 @@ +opam-version: "2.0" +synopsis: "Library to make OCaml program act as a Windows service" +maintainer: ["The Savonet Team "] +authors: ["Romain Beauxis "] +license: "GPL-2.0" +homepage: "https://github.com/savonet/ocaml-winsvc" +bug-reports: "https://github.com/savonet/ocaml-winsvc/issues" +depends: [ + "dune" {> "2.0"} +] +build: [ + ["dune" "subst"] {pinned} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] +] +dev-repo: "git+https://github.com/savonet/ocaml-winsvc.git" +available: [ os = "win32" ] +url { + src: "https://github.com/savonet/ocaml-winsvc/archive/v1.0.0.tar.gz" + checksum: [ + "md5=86d48dc11dd66adac6daadbecb5f6888" + "sha512=30e208d35ed7eb30e90d5fd4f0dde3ff4f527155df90e2d9cffadec15513b65b72503fc223bd784203f2b9081f68bedd5a2b157ffb0b2d9b765546dac1094875" + ] +} diff --git a/tests/packagedcode/data/opam/sample7/sample7.opam b/tests/packagedcode/data/opam/sample7/sample7.opam new file mode 100644 index 00000000000..1e976f1b0f1 --- /dev/null +++ b/tests/packagedcode/data/opam/sample7/sample7.opam @@ -0,0 +1,31 @@ +opam-version: "2.0" +maintainer: "Christophe Troestler " +authors: [ "Christophe Troestler" + "Vincent Hugot" ] +license: "LGPL-3.0-only with OCaml-LGPL-linking-exception" +homepage: "https://github.com/Chris00/ANSITerminal" +dev-repo: "git+https://github.com/Chris00/ANSITerminal.git" +bug-reports: "https://github.com/Chris00/ANSITerminal/issues" +doc: "https://Chris00.github.io/ANSITerminal/doc" +tags: [ "terminal" ] +build: [ + ["jbuilder" "subst" "-p" name] {pinned} + ["jbuilder" "build" "-p" name "-j" jobs] + ["jbuilder" "runtest" "-p" name "-j" jobs] {with-test} +] +depends: [ + "ocaml" + "jbuilder" + "base-bytes" + "base-unix" +] +synopsis: "Basic control of ANSI compliant terminals and the windows shell" +description: """ +ANSITerminal is a module allowing to use the colors and cursor +movements on ANSI terminals. It also works on the windows shell (but +this part is currently work in progress).""" +url { + src: + "https://github.com/Chris00/ANSITerminal/releases/download/0.8/ANSITerminal-0.8.tbz" + checksum: "md5=b3fc33f17823e85c86a4d9cf4498c40e" +} diff --git a/tests/packagedcode/data/opam/sample8/opam b/tests/packagedcode/data/opam/sample8/opam new file mode 100644 index 00000000000..be191055ea1 --- /dev/null +++ b/tests/packagedcode/data/opam/sample8/opam @@ -0,0 +1,36 @@ +opam-version: "2.0" +maintainer: "Christophe.Troestler@umons.ac.be" +authors: [ "Christophe Troestler" + "Vincent Hugot" ] +license: "LGPL-3.0-only with OCaml-LGPL-linking-exception" +homepage: "https://github.com/Chris00/ANSITerminal" +dev-repo: "git+https://github.com/Chris00/ANSITerminal.git" +bug-reports: "https://github.com/Chris00/ANSITerminal/issues" +tags: [ "terminal" ] +build: [ + ["ocaml" "setup.ml" "-configure" "--prefix" prefix] + ["ocaml" "setup.ml" "-build"] + ["ocaml" "setup.ml" "-configure" "--enable-tests"] {with-test} + ["ocaml" "setup.ml" "-build"] {with-test} + ["ocaml" "setup.ml" "-test"] {with-test} + ["ocaml" "setup.ml" "-doc"] {with-doc} +] +install: ["ocaml" "setup.ml" "-install"] +remove: [["ocamlfind" "remove" "ANSITerminal"]] +depends: [ + "ocaml" {< "4.05.0"} + "base-unix" + "ocamlbuild" {build} + "ocamlfind" {build} +] +synopsis: "Basic control of ANSI compliant terminals and the windows shell." +description: """ +ANSITerminal is a module allowing to use the colors and cursor +movements on ANSI terminals. It also works on the windows shell (but +this part is currently work in progress).""" +flags: light-uninstall +url { + src: + "https://download.ocamlcore.org/ansiterminal/ansiterminal/0.6.2/ANSITerminal-0.6.2.tar.gz" + checksum: "md5=b7a7b7cce64eabf224d05ed9f2b9d471" +} From 0dc733e7f95dab6495ed634ea289357524c27efc Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Mon, 17 Aug 2020 20:54:26 +0530 Subject: [PATCH 45/55] tests for detect checksums Signed-off-by: rpotter12 --- .../data/opam/sample3/output.opam.expected | 4 +- .../data/opam/sample4/output.opam.expected | 4 +- .../data/opam/sample5/output.opam.expected | 4 +- .../data/opam/sample6/output.opam.expected | 4 +- .../data/opam/sample7/output.opam.expected | 90 +++++++++++++++++++ .../data/opam/sample8/output.opam.expected | 90 +++++++++++++++++++ 6 files changed, 188 insertions(+), 8 deletions(-) create mode 100644 tests/packagedcode/data/opam/sample7/output.opam.expected create mode 100644 tests/packagedcode/data/opam/sample8/output.opam.expected diff --git a/tests/packagedcode/data/opam/sample3/output.opam.expected b/tests/packagedcode/data/opam/sample3/output.opam.expected index a66a79775fa..c221bbef12e 100644 --- a/tests/packagedcode/data/opam/sample3/output.opam.expected +++ b/tests/packagedcode/data/opam/sample3/output.opam.expected @@ -40,10 +40,10 @@ ], "keywords": [], "homepage_url": "http://abella-prover.org", - "download_url": null, + "download_url": "https://codeload.github.com/abella-prover/abella/tar.gz/v2.0.2", "size": null, "sha1": null, - "md5": null, + "md5": "d7d94e62e9c0a0dbeeded9fa0104e18f", "sha256": null, "sha512": null, "bug_tracking_url": null, diff --git a/tests/packagedcode/data/opam/sample4/output.opam.expected b/tests/packagedcode/data/opam/sample4/output.opam.expected index 6811ce7af89..b1383a9e09b 100644 --- a/tests/packagedcode/data/opam/sample4/output.opam.expected +++ b/tests/packagedcode/data/opam/sample4/output.opam.expected @@ -33,10 +33,10 @@ ], "keywords": [], "homepage_url": "https://github.com/Chris00/ANSITerminal", - "download_url": null, + "download_url": "https://download.ocamlcore.org/ansiterminal/ansiterminal/0.6.2/ANSITerminal-0.6.2.tar.gz", "size": null, "sha1": null, - "md5": null, + "md5": "b7a7b7cce64eabf224d05ed9f2b9d471", "sha256": null, "sha512": null, "bug_tracking_url": "https://github.com/Chris00/ANSITerminal/issues", diff --git a/tests/packagedcode/data/opam/sample5/output.opam.expected b/tests/packagedcode/data/opam/sample5/output.opam.expected index 9644c7fe92b..d93e24bcad1 100644 --- a/tests/packagedcode/data/opam/sample5/output.opam.expected +++ b/tests/packagedcode/data/opam/sample5/output.opam.expected @@ -26,10 +26,10 @@ ], "keywords": [], "homepage_url": "https://github.com/BinaryAnalysisPlatform/bap/", - "download_url": null, + "download_url": "https://github.com/BinaryAnalysisPlatform/bap/archive/v1.0.0.tar.gz", "size": null, "sha1": null, - "md5": null, + "md5": "07dce66dd871e448652d8885283c6631", "sha256": null, "sha512": null, "bug_tracking_url": "https://github.com/BinaryAnalysisPlatform/bap/issues", diff --git a/tests/packagedcode/data/opam/sample6/output.opam.expected b/tests/packagedcode/data/opam/sample6/output.opam.expected index a021043a368..eebac0435ac 100644 --- a/tests/packagedcode/data/opam/sample6/output.opam.expected +++ b/tests/packagedcode/data/opam/sample6/output.opam.expected @@ -29,9 +29,9 @@ "download_url": "https://github.com/savonet/ocaml-winsvc/archive/v1.0.0.tar.gz", "size": null, "sha1": null, - "md5": "86d48dc11dd66adac6daadbecb5f6888\"", + "md5": "86d48dc11dd66adac6daadbecb5f6888", "sha256": null, - "sha512": "30e208d35ed7eb30e90d5fd4f0dde3ff4f527155df90e2d9cffadec15513b65b72503fc223bd784203f2b9081f68bedd5a2b157ffb0b2d9b765546dac1094875\"", + "sha512": "30e208d35ed7eb30e90d5fd4f0dde3ff4f527155df90e2d9cffadec15513b65b72503fc223bd784203f2b9081f68bedd5a2b157ffb0b2d9b765546dac1094875", "bug_tracking_url": "https://github.com/savonet/ocaml-winsvc/issues", "code_view_url": null, "vcs_url": "git+https://github.com/savonet/ocaml-winsvc.git", diff --git a/tests/packagedcode/data/opam/sample7/output.opam.expected b/tests/packagedcode/data/opam/sample7/output.opam.expected new file mode 100644 index 00000000000..bc2b53130a6 --- /dev/null +++ b/tests/packagedcode/data/opam/sample7/output.opam.expected @@ -0,0 +1,90 @@ +{ + "type": "opam", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Ocaml", + "description": "Basic control of ANSI compliant terminals and the windows shell", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Christophe Troestler", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Vincent Hugot", + "email": null, + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": null, + "email": "Christophe Troestler ", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/Chris00/ANSITerminal", + "download_url": "https://github.com/Chris00/ANSITerminal/releases/download/0.8/ANSITerminal-0.8.tbz", + "size": null, + "sha1": null, + "md5": "b3fc33f17823e85c86a4d9cf4498c40e", + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/Chris00/ANSITerminal/issues", + "code_view_url": null, + "vcs_url": "git+https://github.com/Chris00/ANSITerminal.git", + "copyright": null, + "license_expression": "lgpl-3.0 WITH ocaml-lgpl-linking-exception", + "declared_license": "LGPL-3.0-only with OCaml-LGPL-linking-exception", + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:opam/ocaml", + "requirement": "", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/jbuilder", + "requirement": "", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/base-bytes", + "requirement": "", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/base-unix", + "requirement": "", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": null, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null +} \ No newline at end of file diff --git a/tests/packagedcode/data/opam/sample8/output.opam.expected b/tests/packagedcode/data/opam/sample8/output.opam.expected new file mode 100644 index 00000000000..21cce3d3243 --- /dev/null +++ b/tests/packagedcode/data/opam/sample8/output.opam.expected @@ -0,0 +1,90 @@ +{ + "type": "opam", + "namespace": null, + "name": null, + "version": null, + "qualifiers": {}, + "subpath": null, + "primary_language": "Ocaml", + "description": "Basic control of ANSI compliant terminals and the windows shell.", + "release_date": null, + "parties": [ + { + "type": "person", + "role": "author", + "name": "Christophe Troestler", + "email": null, + "url": null + }, + { + "type": "person", + "role": "author", + "name": "Vincent Hugot", + "email": null, + "url": null + }, + { + "type": "person", + "role": "maintainer", + "name": null, + "email": "Christophe.Troestler@umons.ac.be", + "url": null + } + ], + "keywords": [], + "homepage_url": "https://github.com/Chris00/ANSITerminal", + "download_url": "https://download.ocamlcore.org/ansiterminal/ansiterminal/0.6.2/ANSITerminal-0.6.2.tar.gz", + "size": null, + "sha1": null, + "md5": "b7a7b7cce64eabf224d05ed9f2b9d471", + "sha256": null, + "sha512": null, + "bug_tracking_url": "https://github.com/Chris00/ANSITerminal/issues", + "code_view_url": null, + "vcs_url": "git+https://github.com/Chris00/ANSITerminal.git", + "copyright": null, + "license_expression": "lgpl-3.0 WITH ocaml-lgpl-linking-exception", + "declared_license": "LGPL-3.0-only with OCaml-LGPL-linking-exception", + "notice_text": null, + "root_path": null, + "dependencies": [ + { + "purl": "pkg:opam/ocaml", + "requirement": "< 4.05.0", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/base-unix", + "requirement": "", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/ocamlbuild", + "requirement": "build", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + }, + { + "purl": "pkg:opam/ocamlfind", + "requirement": "build", + "scope": "dependency", + "is_runtime": true, + "is_optional": false, + "is_resolved": false + } + ], + "contains_source_code": null, + "source_packages": [], + "purl": null, + "repository_homepage_url": null, + "repository_download_url": null, + "api_data_url": null +} \ No newline at end of file From d94f81611f9c0a681094bf82a85c132147367a90 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Mon, 17 Aug 2020 21:22:25 +0530 Subject: [PATCH 46/55] test codes for functions and checksums Signed-off-by: rpotter12 --- tests/packagedcode/test_opam.py | 45 ++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/tests/packagedcode/test_opam.py b/tests/packagedcode/test_opam.py index 50efb29f1dd..393184dc8ea 100644 --- a/tests/packagedcode/test_opam.py +++ b/tests/packagedcode/test_opam.py @@ -67,6 +67,23 @@ def test_parse_sample5(self): package = opam.parse(test_file) self.check_package(package, expected_loc, regen=False) + def test_parse_sample6(self): + test_file = self.get_test_loc('opam/sample6/sample6.opam') + expected_loc = self.get_test_loc('opam/sample6/output.opam.expected') + package = opam.parse(test_file) + self.check_package(package, expected_loc, regen=False) + + def test_parse_sample7(self): + test_file = self.get_test_loc('opam/sample7/sample7.opam') + expected_loc = self.get_test_loc('opam/sample7/output.opam.expected') + package = opam.parse(test_file) + self.check_package(package, expected_loc, regen=False) + + def test_parse_sample8(self): + test_file = self.get_test_loc('opam/sample8/opam') + expected_loc = self.get_test_loc('opam/sample8/output.opam.expected') + package = opam.parse(test_file) + self.check_package(package, expected_loc, regen=False) FILE_LINE = [ @@ -74,6 +91,11 @@ def test_parse_sample5(self): ('homepage: "https://github.com/BinaryAnalysisPlatform/bap/"', ('homepage', '"https://github.com/BinaryAnalysisPlatform/bap/"')) ] +CHECKSUM_LINE = [ + ('md5=b7a7b7cce64eabf224d05ed9f2b9d471', ('md5', 'b7a7b7cce64eabf224d05ed9f2b9d471')), + ('md5=86d48dc11dd66adac6daadbecb5f6888', ('md5', '86d48dc11dd66adac6daadbecb5f6888')) +] + DEP_LINE = [ ('"ocaml"', ('ocaml', '')), ('"bap-std" {= "1.0.0"}', ('bap-std', '{= "1.0.0"}')), @@ -81,6 +103,7 @@ def test_parse_sample5(self): ('"bitstring" {< "3.0.0"}', ('bitstring', '{< "3.0.0"}')) ] + class TestRegex(object): @pytest.mark.parametrize('line, expected_data', FILE_LINE) def test_parse_file_line(self, line, expected_data): @@ -89,9 +112,29 @@ def test_parse_file_line(self, line, expected_data): key, value = line_information.get('key'), line_information.get('value') assert (key, value) == expected_data + @pytest.mark.parametrize('checksum, expected_data', CHECKSUM_LINE) + def test_parse_checksum(self, checksum, expected_data): + parsed_checksum = opam.parse_checksum(checksum) + checksum_information = parsed_checksum.groupdict() + key, value = checksum_information.get('key'), checksum_information.get('value') + assert (key, value) == expected_data + @pytest.mark.parametrize('dep, expected_data', DEP_LINE) def test_parse_dep(self, dep, expected_data): parsed_dep = opam.parse_dep(dep) dep_information = parsed_dep.groupdict() name, version = dep_information.get('name'), dep_information.get('version') - assert (name, version) == expected_data \ No newline at end of file + assert (name, version) == expected_data + + +LINE = [ + ('"caml-list@inria.fr"', 'caml-list@inria.fr'), + ('[make "install"]', 'make install') +] + + +class TestFunction(object): + @pytest.mark.parametrize('line, expected_data', LINE) + def test_parse_file_line(self, line, expected_data): + stripped_line = opam.clean_data(line) + assert stripped_line == expected_data From e19430979694cda7edb81d527ba7744c622ca44f Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Mon, 17 Aug 2020 21:45:44 +0530 Subject: [PATCH 47/55] detect version Signed-off-by: rpotter12 --- src/packagedcode/opam.py | 48 ++++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/src/packagedcode/opam.py b/src/packagedcode/opam.py index 5853bff720a..6e0def2b328 100644 --- a/src/packagedcode/opam.py +++ b/src/packagedcode/opam.py @@ -61,7 +61,7 @@ class OpamPackage(models.Package): default_primary_language = 'Ocaml' default_web_baseurl = 'https://opam.ocaml.org/packages' default_download_baseurl = None - default_api_baseurl = None + default_api_baseurl = 'https://github.com/ocaml/opam-repository/blob/master/packages' @classmethod def recognize(cls, location): @@ -75,6 +75,10 @@ def repository_homepage_url(self, baseurl=default_web_baseurl): if self.name: return '{}/{}'.format(baseurl, self.name) + def api_data_url(self, baseurl=default_api_baseurl): + if self.name and self.version: + return '{}/{}/{}.{}/opam'.format(baseurl, self.name, self.name, self.version) + def is_opam(location): return location.endswith('opam') @@ -87,16 +91,16 @@ def parse(location): if not is_opam(location): return - package_data = parse_opam(location) - return build_opam_package(package_data) + opams = parse_opam(location) + return build_opam_package(opams) -def build_opam_package(package_data): +def build_opam_package(opams): """ Return a Package from a opam file or None. """ package_dependencies = [] - deps = package_data.get('depends') or [] + deps = opams.get('depends') or [] for dep in deps: package_dependencies.append( models.DependentPackage( @@ -109,18 +113,19 @@ def build_opam_package(package_data): ) ) - name = package_data.get('name') - homepage_url = package_data.get('homepage') - download_url = package_data.get('src') - vcs_url = package_data.get('dev-repo') - bug_tracking_url = package_data.get('bug-reports') - declared_license = package_data.get('license') - sha1 = package_data.get('sha1') - md5 = package_data.get('md5') - sha256 = package_data.get('sha256') - sha512 = package_data.get('sha512') - summary = package_data.get('synopsis') - description = package_data.get('description') + name = opams.get('name') + version = opams.get('version') + homepage_url = opams.get('homepage') + download_url = opams.get('src') + vcs_url = opams.get('dev-repo') + bug_tracking_url = opams.get('bug-reports') + declared_license = opams.get('license') + sha1 = opams.get('sha1') + md5 = opams.get('md5') + sha256 = opams.get('sha256') + sha512 = opams.get('sha512') + summary = opams.get('synopsis') + description = opams.get('description') if summary: description = summary elif summary and description: @@ -128,7 +133,7 @@ def build_opam_package(package_data): description = summary parties = [] - authors = package_data.get('authors') or [] + authors = opams.get('authors') or [] for author in authors: parties.append( models.Party( @@ -137,7 +142,7 @@ def build_opam_package(package_data): role='author' ) ) - maintainers = package_data.get('maintainer') or [] + maintainers = opams.get('maintainer') or [] for maintainer in maintainers: parties.append( models.Party( @@ -149,6 +154,7 @@ def build_opam_package(package_data): package = OpamPackage( name=name, + version=version, vcs_url=vcs_url, homepage_url=homepage_url, download_url=download_url, @@ -253,6 +259,10 @@ def purl(self): >>> assert p.group('key') == ('authors') >>> assert p.group('value') == ('"BAP Team"') +>>> p = parse_file_line('md5=b7a7b7cce64eabf224d05ed9f2b9d471') +>>> assert p.group('key') == ('md5') +>>> assert p.group('value') == ('b7a7b7cce64eabf224d05ed9f2b9d471') + >>> p = parse_dep('"bap-std" {= "1.0.0"}') >>> assert p.group('name') == ('bap-std') >>> assert p.group('version') == ('{= "1.0.0"}') From e2ca75d90f3e6b4ae576ab58b4f7160859af11db Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Mon, 17 Aug 2020 21:49:48 +0530 Subject: [PATCH 48/55] test for detect version Signed-off-by: rpotter12 --- tests/packagedcode/data/opam/sample5/output.opam.expected | 6 +++--- tests/packagedcode/data/plugin/opam-package-expected.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/packagedcode/data/opam/sample5/output.opam.expected b/tests/packagedcode/data/opam/sample5/output.opam.expected index d93e24bcad1..64a234049e4 100644 --- a/tests/packagedcode/data/opam/sample5/output.opam.expected +++ b/tests/packagedcode/data/opam/sample5/output.opam.expected @@ -2,7 +2,7 @@ "type": "opam", "namespace": null, "name": "bap-elf", - "version": null, + "version": "1.0.0", "qualifiers": {}, "subpath": null, "primary_language": "Ocaml", @@ -84,8 +84,8 @@ ], "contains_source_code": null, "source_packages": [], - "purl": "pkg:opam/bap-elf", + "purl": "pkg:opam/bap-elf@1.0.0", "repository_homepage_url": "https://opam.ocaml.org/packages/bap-elf", "repository_download_url": null, - "api_data_url": null + "api_data_url": "https://github.com/ocaml/opam-repository/blob/master/packages/bap-elf/bap-elf.1.0.0/opam" } diff --git a/tests/packagedcode/data/plugin/opam-package-expected.json b/tests/packagedcode/data/plugin/opam-package-expected.json index 6aa9960c0e5..df90404aa20 100644 --- a/tests/packagedcode/data/plugin/opam-package-expected.json +++ b/tests/packagedcode/data/plugin/opam-package-expected.json @@ -26,7 +26,7 @@ "type": "opam", "namespace": null, "name": null, - "version": null, + "version": "4.11.0+trunk", "qualifiers": {}, "subpath": null, "primary_language": "Ocaml", From e141d5d128abaaf76be96fbc799d08e3a3045550 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Tue, 18 Aug 2020 23:59:38 +0530 Subject: [PATCH 49/55] combine summary and description Signed-off-by: rpotter12 --- src/packagedcode/opam.py | 14 +++++++------- .../data/opam/sample1/output.opam.expected | 2 +- .../data/opam/sample2/output.opam.expected | 2 +- .../data/opam/sample4/output.opam.expected | 2 +- .../data/opam/sample7/output.opam.expected | 2 +- .../data/opam/sample8/output.opam.expected | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/packagedcode/opam.py b/src/packagedcode/opam.py index 6e0def2b328..698070a83d3 100644 --- a/src/packagedcode/opam.py +++ b/src/packagedcode/opam.py @@ -124,13 +124,13 @@ def build_opam_package(opams): md5 = opams.get('md5') sha256 = opams.get('sha256') sha512 = opams.get('sha512') - summary = opams.get('synopsis') - description = opams.get('description') - if summary: - description = summary - elif summary and description: - if len(summary) > len(description): - description = summary + + short_desc = opams.get('synopsis') or '' + long_desc = opams.get('description') or '' + if long_desc == short_desc: + long_desc = None + descriptions = [d for d in (short_desc, long_desc) if d and d.strip()] + description = '\n'.join(descriptions) parties = [] authors = opams.get('authors') or [] diff --git a/tests/packagedcode/data/opam/sample1/output.opam.expected b/tests/packagedcode/data/opam/sample1/output.opam.expected index 0a7e544378f..a2334468c02 100644 --- a/tests/packagedcode/data/opam/sample1/output.opam.expected +++ b/tests/packagedcode/data/opam/sample1/output.opam.expected @@ -6,7 +6,7 @@ "qualifiers": {}, "subpath": null, "primary_language": "Ocaml", - "description": "The MirageOS library operating system", + "description": "The MirageOS library operating system\nMirageOS is a library operating system that constructs unikernels for secure, high-performance network applications across a variety of cloud computing and mobile platforms. Code can be developed on a normal OS such as Linux or MacOS X, and then compiled into a fully-standalone, specialised unikernel that runs under the Xen hypervisor. Since Xen powers most public cloud computing infrastructure such as Amazon EC2 or Rackspace, this lets your servers run more cheaply, securely and with finer control than with a full software stack.", "release_date": null, "parties": [ { diff --git a/tests/packagedcode/data/opam/sample2/output.opam.expected b/tests/packagedcode/data/opam/sample2/output.opam.expected index d116f7a6675..87a1f8eaeab 100644 --- a/tests/packagedcode/data/opam/sample2/output.opam.expected +++ b/tests/packagedcode/data/opam/sample2/output.opam.expected @@ -6,7 +6,7 @@ "qualifiers": {}, "subpath": null, "primary_language": "Ocaml", - "description": "Compiler from OCaml bytecode to Javascript", + "description": "Compiler from OCaml bytecode to Javascript\nJs_of_ocaml is a compiler from OCaml bytecode to JavaScript. It makes it possible to run pure OCaml programs in JavaScript environment like browsers and Node.js", "release_date": null, "parties": [ { diff --git a/tests/packagedcode/data/opam/sample4/output.opam.expected b/tests/packagedcode/data/opam/sample4/output.opam.expected index b1383a9e09b..28d9249c4bd 100644 --- a/tests/packagedcode/data/opam/sample4/output.opam.expected +++ b/tests/packagedcode/data/opam/sample4/output.opam.expected @@ -6,7 +6,7 @@ "qualifiers": {}, "subpath": null, "primary_language": "Ocaml", - "description": "Basic control of ANSI compliant terminals and the windows shell.", + "description": "Basic control of ANSI compliant terminals and the windows shell.\nANSITerminal is a module allowing to use the colors and cursor movements on ANSI terminals. It also works on the windows shell (but this part is currently work in progress).", "release_date": null, "parties": [ { diff --git a/tests/packagedcode/data/opam/sample7/output.opam.expected b/tests/packagedcode/data/opam/sample7/output.opam.expected index bc2b53130a6..c8bdcc5d058 100644 --- a/tests/packagedcode/data/opam/sample7/output.opam.expected +++ b/tests/packagedcode/data/opam/sample7/output.opam.expected @@ -6,7 +6,7 @@ "qualifiers": {}, "subpath": null, "primary_language": "Ocaml", - "description": "Basic control of ANSI compliant terminals and the windows shell", + "description": "Basic control of ANSI compliant terminals and the windows shell\nANSITerminal is a module allowing to use the colors and cursor movements on ANSI terminals. It also works on the windows shell (but this part is currently work in progress).", "release_date": null, "parties": [ { diff --git a/tests/packagedcode/data/opam/sample8/output.opam.expected b/tests/packagedcode/data/opam/sample8/output.opam.expected index 21cce3d3243..16ebc4603ac 100644 --- a/tests/packagedcode/data/opam/sample8/output.opam.expected +++ b/tests/packagedcode/data/opam/sample8/output.opam.expected @@ -6,7 +6,7 @@ "qualifiers": {}, "subpath": null, "primary_language": "Ocaml", - "description": "Basic control of ANSI compliant terminals and the windows shell.", + "description": "Basic control of ANSI compliant terminals and the windows shell.\nANSITerminal is a module allowing to use the colors and cursor movements on ANSI terminals. It also works on the windows shell (but this part is currently work in progress).", "release_date": null, "parties": [ { From 427e5c6d35973a6228bdd75da90a82289649e6e7 Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Thu, 20 Aug 2020 14:25:45 +0530 Subject: [PATCH 50/55] add functionality to parse PKG-INFO file Signed-off-by: rpotter12 --- src/packagedcode/pypi.py | 16 ++++++++++------ .../data/plugin/python-package-expected.json | 18 ++++++++++++++---- .../pypi/unpackage_source_parser-expected.json | 12 ++++++++++-- .../data/pypi/wheel/parse-wheel-expected.json | 10 +++++++++- 4 files changed, 43 insertions(+), 13 deletions(-) diff --git a/src/packagedcode/pypi.py b/src/packagedcode/pypi.py index d5bd4f70255..e339a2782cf 100644 --- a/src/packagedcode/pypi.py +++ b/src/packagedcode/pypi.py @@ -140,7 +140,7 @@ def parse(location): 'requirements.in': parse_requirements_txt, 'Pipfile.lock': parse_pipfile_lock, 'metadata.json': parse_metadata, - 'PKG-INFO': parse_pkg_info, + 'PKG-INFO': parse_unpackaged_source, '.whl': parse_wheel, '.egg': parse_egg_binary, '.tar.gz': parse_source_distribution, @@ -173,10 +173,13 @@ def parse_unpackaged_source(location): def parse_with_pkginfo(pkginfo): if pkginfo and pkginfo.name: + description = pkginfo.description + if not description: + description = pkginfo.summary common_data = dict( name=pkginfo.name, version=pkginfo.version, - description=pkginfo.description, + description=description, download_url=pkginfo.download_url, homepage_url=pkginfo.home_page, ) @@ -197,10 +200,11 @@ def parse_with_pkginfo(pkginfo): package.keywords = other_classifiers if declared_license: package.declared_license = declared_license - if pkginfo.maintainer: - common_data['parties'] = [] - common_data['parties'].append(models.Party( - type=models.party_person, name=pkginfo.maintainer, role='author', email=pkginfo.maintainer_email)) + if pkginfo.author_email: + parties = [] + parties.append(models.Party( + type=models.party_person, name=pkginfo.author, role='author', email=pkginfo.author_email)) + package.parties = parties return package diff --git a/tests/packagedcode/data/plugin/python-package-expected.json b/tests/packagedcode/data/plugin/python-package-expected.json index 9268972eff7..1de0242401a 100644 --- a/tests/packagedcode/data/plugin/python-package-expected.json +++ b/tests/packagedcode/data/plugin/python-package-expected.json @@ -47,9 +47,9 @@ "parties": [ { "type": "person", - "role": "", + "role": "author", "name": "Francois Granade", - "email": null, + "email": "fg@nexb.com", "url": null } ], @@ -66,7 +66,9 @@ "vcs_url": null, "copyright": null, "license_expression": "unknown", - "declared_license": "BSD", + "declared_license": { + "license": "BSD" + }, "notice_text": null, "root_path": "PKG-INFO", "dependencies": [], @@ -94,7 +96,15 @@ "primary_language": "Python", "description": "===================\npython-atomicwrites\n===================\n\n.. image:: https://travis-ci.org/untitaker/python-atomicwrites.svg?branch=master\n :target: https://travis-ci.org/untitaker/python-atomicwrites\n\n.. image:: https://ci.appveyor.com/api/projects/status/vadc4le3c27to59x/branch/master?svg=true\n :target: https://ci.appveyor.com/project/untitaker/python-atomicwrites/branch/master\n\nAtomic file writes.\n\n.. code-block:: python\n\n from atomicwrites import atomic_write\n\n with atomic_write('foo.txt', overwrite=True) as f:\n f.write('Hello world.')\n # \"foo.txt\" doesn't exist yet.\n\n # Now it does.\n\n\nFeatures that distinguish it from other similar libraries (see `Alternatives and Credit`_):\n\n- Race-free assertion that the target file doesn't yet exist. This can be\n controlled with the ``overwrite`` parameter.\n\n- Windows support, although not well-tested. The MSDN resources are not very\n explicit about which operations are atomic. I'm basing my assumptions off `a\n comment\n `_\n by `Doug Crook\n `_, who appears\n to be a Microsoft employee:\n\n FAQ: Is MoveFileEx atomic\n Frequently asked question: Is MoveFileEx atomic if the existing and new\n files are both on the same drive?\n\n The simple answer is \"usually, but in some cases it will silently fall-back\n to a non-atomic method, so don't count on it\".\n\n The implementation of MoveFileEx looks something like this: [...]\n\n The problem is if the rename fails, you might end up with a CopyFile, which\n is definitely not atomic.\n\n If you really need atomic-or-nothing, you can try calling\n NtSetInformationFile, which is unsupported but is much more likely to be\n atomic. \n\n- Simple high-level API that wraps a very flexible class-based API.\n\n- Consistent error handling across platforms.\n\n\nHow it works\n============\n\nIt uses a temporary file in the same directory as the given path. This ensures\nthat the temporary file resides on the same filesystem.\n\nThe temporary file will then be atomically moved to the target location: On\nPOSIX, it will use ``rename`` if files should be overwritten, otherwise a\ncombination of ``link`` and ``unlink``. On Windows, it uses MoveFileEx_ through\nstdlib's ``ctypes`` with the appropriate flags.\n\nNote that with ``link`` and ``unlink``, there's a timewindow where the file\nmight be available under two entries in the filesystem: The name of the\ntemporary file, and the name of the target file.\n\nAlso note that the permissions of the target file may change this way. In some\nsituations a ``chmod`` can be issued without any concurrency problems, but\nsince that is not always the case, this library doesn't do it by itself.\n\n.. _MoveFileEx: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365240%28v=vs.85%29.aspx\n\nfsync\n-----\n\nOn POSIX, ``fsync`` is invoked on the temporary file after it is written (to\nflush file content and metadata), and on the parent directory after the file is\nmoved (to flush filename).\n\n``fsync`` does not take care of disks' internal buffers, but there don't seem\nto be any standard POSIX APIs for that. On OS X, ``fcntl`` is used with\n``F_FULLFSYNC`` instead of ``fsync`` for that reason.\n\nOn Windows, `_commit `_\nis used, but there are no guarantees about disk internal buffers.\n\nAlternatives and Credit\n=======================\n\nAtomicwrites is directly inspired by the following libraries (and shares a\nminimal amount of code):\n\n- The Trac project's `utility functions\n `_,\n also used in `Werkzeug `_ and\n `mitsuhiko/python-atomicfile\n `_. The idea to use\n ``ctypes`` instead of ``PyWin32`` originated there.\n\n- `abarnert/fatomic `_. Windows support\n (based on ``PyWin32``) was originally taken from there.\n\nOther alternatives to atomicwrites include:\n\n- `sashka/atomicfile `_. Originally I\n considered using that, but at the time it was lacking a lot of features I\n needed (Windows support, overwrite-parameter, overriding behavior through\n subclassing).\n\n- The `Boltons library collection `_\n features a class for atomic file writes, which seems to have a very similar\n ``overwrite`` parameter. It is lacking Windows support though.\n\nLicense\n=======\n\nLicensed under the MIT, see ``LICENSE``.\n\n\n", "release_date": null, - "parties": [], + "parties": [ + { + "type": "person", + "role": "author", + "name": "Markus Unterwaditzer", + "email": "markus@unterwaditzer.net", + "url": null + } + ], "keywords": [ "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", diff --git a/tests/packagedcode/data/pypi/unpackage_source_parser-expected.json b/tests/packagedcode/data/pypi/unpackage_source_parser-expected.json index 86c07578bf8..2c75d4ff7d7 100644 --- a/tests/packagedcode/data/pypi/unpackage_source_parser-expected.json +++ b/tests/packagedcode/data/pypi/unpackage_source_parser-expected.json @@ -6,9 +6,17 @@ "qualifiers": {}, "subpath": null, "primary_language": "Python", - "description": null, + "description": "Import CSV and Excel files", "release_date": null, - "parties": [], + "parties": [ + { + "type": "person", + "role": "author", + "name": "Francois Granade", + "email": "fg@nexb.com", + "url": null + } + ], "keywords": [], "homepage_url": "http://nexb.com", "download_url": null, diff --git a/tests/packagedcode/data/pypi/wheel/parse-wheel-expected.json b/tests/packagedcode/data/pypi/wheel/parse-wheel-expected.json index a1d90514171..89bf6b7dcb6 100644 --- a/tests/packagedcode/data/pypi/wheel/parse-wheel-expected.json +++ b/tests/packagedcode/data/pypi/wheel/parse-wheel-expected.json @@ -8,7 +8,15 @@ "primary_language": "Python", "description": "===================\npython-atomicwrites\n===================\n\n.. image:: https://travis-ci.org/untitaker/python-atomicwrites.svg?branch=master\n :target: https://travis-ci.org/untitaker/python-atomicwrites\n\n.. image:: https://ci.appveyor.com/api/projects/status/vadc4le3c27to59x/branch/master?svg=true\n :target: https://ci.appveyor.com/project/untitaker/python-atomicwrites/branch/master\n\nAtomic file writes.\n\n.. code-block:: python\n\n from atomicwrites import atomic_write\n\n with atomic_write('foo.txt', overwrite=True) as f:\n f.write('Hello world.')\n # \"foo.txt\" doesn't exist yet.\n\n # Now it does.\n\n\nFeatures that distinguish it from other similar libraries (see `Alternatives and Credit`_):\n\n- Race-free assertion that the target file doesn't yet exist. This can be\n controlled with the ``overwrite`` parameter.\n\n- Windows support, although not well-tested. The MSDN resources are not very\n explicit about which operations are atomic. I'm basing my assumptions off `a\n comment\n `_\n by `Doug Crook\n `_, who appears\n to be a Microsoft employee:\n\n FAQ: Is MoveFileEx atomic\n Frequently asked question: Is MoveFileEx atomic if the existing and new\n files are both on the same drive?\n\n The simple answer is \"usually, but in some cases it will silently fall-back\n to a non-atomic method, so don't count on it\".\n\n The implementation of MoveFileEx looks something like this: [...]\n\n The problem is if the rename fails, you might end up with a CopyFile, which\n is definitely not atomic.\n\n If you really need atomic-or-nothing, you can try calling\n NtSetInformationFile, which is unsupported but is much more likely to be\n atomic. \n\n- Simple high-level API that wraps a very flexible class-based API.\n\n- Consistent error handling across platforms.\n\n\nHow it works\n============\n\nIt uses a temporary file in the same directory as the given path. This ensures\nthat the temporary file resides on the same filesystem.\n\nThe temporary file will then be atomically moved to the target location: On\nPOSIX, it will use ``rename`` if files should be overwritten, otherwise a\ncombination of ``link`` and ``unlink``. On Windows, it uses MoveFileEx_ through\nstdlib's ``ctypes`` with the appropriate flags.\n\nNote that with ``link`` and ``unlink``, there's a timewindow where the file\nmight be available under two entries in the filesystem: The name of the\ntemporary file, and the name of the target file.\n\nAlso note that the permissions of the target file may change this way. In some\nsituations a ``chmod`` can be issued without any concurrency problems, but\nsince that is not always the case, this library doesn't do it by itself.\n\n.. _MoveFileEx: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365240%28v=vs.85%29.aspx\n\nfsync\n-----\n\nOn POSIX, ``fsync`` is invoked on the temporary file after it is written (to\nflush file content and metadata), and on the parent directory after the file is\nmoved (to flush filename).\n\n``fsync`` does not take care of disks' internal buffers, but there don't seem\nto be any standard POSIX APIs for that. On OS X, ``fcntl`` is used with\n``F_FULLFSYNC`` instead of ``fsync`` for that reason.\n\nOn Windows, `_commit `_\nis used, but there are no guarantees about disk internal buffers.\n\nAlternatives and Credit\n=======================\n\nAtomicwrites is directly inspired by the following libraries (and shares a\nminimal amount of code):\n\n- The Trac project's `utility functions\n `_,\n also used in `Werkzeug `_ and\n `mitsuhiko/python-atomicfile\n `_. The idea to use\n ``ctypes`` instead of ``PyWin32`` originated there.\n\n- `abarnert/fatomic `_. Windows support\n (based on ``PyWin32``) was originally taken from there.\n\nOther alternatives to atomicwrites include:\n\n- `sashka/atomicfile `_. Originally I\n considered using that, but at the time it was lacking a lot of features I\n needed (Windows support, overwrite-parameter, overriding behavior through\n subclassing).\n\n- The `Boltons library collection `_\n features a class for atomic file writes, which seems to have a very similar\n ``overwrite`` parameter. It is lacking Windows support though.\n\nLicense\n=======\n\nLicensed under the MIT, see ``LICENSE``.\n\n\n", "release_date": null, - "parties": [], + "parties": [ + { + "type": "person", + "role": "author", + "name": "Markus Unterwaditzer", + "email": "markus@unterwaditzer.net", + "url": null + } + ], "keywords": [ "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", From c19d2b1facf4e67ecd5832505e9ea69527dab36a Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Wed, 26 Aug 2020 19:01:41 +0530 Subject: [PATCH 51/55] switch to gemfileparser==0.8.0 Signed-off-by: rpotter12 --- thirdparty/gemfileparser-0.7.0.tar.gz | Bin 4301 -> 0 bytes ... gemfileparser-0.8.0-py2.py3-none-any.whl} | Bin 17646 -> 19160 bytes thirdparty/gemfileparser-0.8.0.tar.gz | Bin 0 -> 25531 bytes thirdparty/gemfileparser.ABOUT | 8 ++++++++ 4 files changed, 8 insertions(+) delete mode 100644 thirdparty/gemfileparser-0.7.0.tar.gz rename thirdparty/{gemfileparser-0.7.0-py2.py3-none-any.whl => gemfileparser-0.8.0-py2.py3-none-any.whl} (67%) create mode 100644 thirdparty/gemfileparser-0.8.0.tar.gz create mode 100644 thirdparty/gemfileparser.ABOUT diff --git a/thirdparty/gemfileparser-0.7.0.tar.gz b/thirdparty/gemfileparser-0.7.0.tar.gz deleted file mode 100644 index 8256de38e77b79141b0f90379876dc112ddcd22c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4301 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 diff --git a/thirdparty/gemfileparser-0.7.0-py2.py3-none-any.whl b/thirdparty/gemfileparser-0.8.0-py2.py3-none-any.whl similarity index 67% rename from thirdparty/gemfileparser-0.7.0-py2.py3-none-any.whl rename to thirdparty/gemfileparser-0.8.0-py2.py3-none-any.whl index b6fc21980df7e2719703a2d8afab5fbf151ee073..207a08eeed96635a60cb379734fcc17aee46251b 100644 GIT binary patch delta 5741 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 WkGg6UD-GrOkA=+hGTc=975zVDXI<6+ diff --git a/thirdparty/gemfileparser-0.8.0.tar.gz b/thirdparty/gemfileparser-0.8.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..28bb3fb21fd485131017a2055451bca16eb332b8 GIT binary patch literal 25531 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 Date: Wed, 26 Aug 2020 19:53:51 +0530 Subject: [PATCH 52/55] ignore py2 test Signed-off-by: rpotter12 --- tests/packagedcode/test_cocoapods.py | 54 ++++++++-------- tests/packagedcode/test_rubygems.py | 96 ++++++++++++++-------------- 2 files changed, 78 insertions(+), 72 deletions(-) diff --git a/tests/packagedcode/test_cocoapods.py b/tests/packagedcode/test_cocoapods.py index e7a47cb5625..ca435fb046a 100644 --- a/tests/packagedcode/test_cocoapods.py +++ b/tests/packagedcode/test_cocoapods.py @@ -28,39 +28,43 @@ import os +from commoncode.system import py3 from packagedcode import cocoapods from packages_test_utils import PackageTester +# TODO: Fix typeError with StringIO in gemfileparser library + class TestRubyGemspec(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') - def test_rubygems_can_parse_BadgeHub(self): - test_file = self.get_test_loc('cocoapods/podspec/BadgeHub.podspec') - expected_loc = self.get_test_loc('cocoapods/podspec/BadgeHub.podspec.expected.json') - packages = cocoapods.parse(test_file) - self.check_package(packages, expected_loc, regen=False) + if py3: # pytest fails in py2 because TypeError with StringIO + def test_rubygems_can_parse_BadgeHub(self): + test_file = self.get_test_loc('cocoapods/podspec/BadgeHub.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/BadgeHub.podspec.expected.json') + packages = cocoapods.parse(test_file) + self.check_package(packages, expected_loc, regen=False) - def test_rubygems_can_parse_LoadingShimmer(self): - test_file = self.get_test_loc('cocoapods/podspec/LoadingShimmer.podspec') - expected_loc = self.get_test_loc('cocoapods/podspec/LoadingShimmer.podspec.expected.json') - packages = cocoapods.parse(test_file) - self.check_package(packages, expected_loc, regen=False) + def test_rubygems_can_parse_LoadingShimmer(self): + test_file = self.get_test_loc('cocoapods/podspec/LoadingShimmer.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/LoadingShimmer.podspec.expected.json') + packages = cocoapods.parse(test_file) + self.check_package(packages, expected_loc, regen=False) - def test_rubygems_can_parse_nanopb(self): - test_file = self.get_test_loc('cocoapods/podspec/nanopb.podspec') - expected_loc = self.get_test_loc('cocoapods/podspec/nanopb.podspec.expected.json') - packages = cocoapods.parse(test_file) - self.check_package(packages, expected_loc, regen=False) + def test_rubygems_can_parse_nanopb(self): + test_file = self.get_test_loc('cocoapods/podspec/nanopb.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/nanopb.podspec.expected.json') + packages = cocoapods.parse(test_file) + self.check_package(packages, expected_loc, regen=False) - def test_rubygems_can_parse_Starscream(self): - test_file = self.get_test_loc('cocoapods/podspec/Starscream.podspec') - expected_loc = self.get_test_loc('cocoapods/podspec/Starscream.podspec.expected.json') - packages = cocoapods.parse(test_file) - self.check_package(packages, expected_loc, regen=False) + def test_rubygems_can_parse_Starscream(self): + test_file = self.get_test_loc('cocoapods/podspec/Starscream.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/Starscream.podspec.expected.json') + packages = cocoapods.parse(test_file) + self.check_package(packages, expected_loc, regen=False) - def test_rubygems_can_parse_SwiftLib(self): - test_file = self.get_test_loc('cocoapods/podspec/SwiftLib.podspec') - expected_loc = self.get_test_loc('cocoapods/podspec/SwiftLib.podspec.expected.json') - packages = cocoapods.parse(test_file) - self.check_package(packages, expected_loc, regen=False) \ No newline at end of file + def test_rubygems_can_parse_SwiftLib(self): + test_file = self.get_test_loc('cocoapods/podspec/SwiftLib.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/SwiftLib.podspec.expected.json') + packages = cocoapods.parse(test_file) + self.check_package(packages, expected_loc, regen=False) \ No newline at end of file diff --git a/tests/packagedcode/test_rubygems.py b/tests/packagedcode/test_rubygems.py index dc5ddd7f30b..ade3d5e5532 100644 --- a/tests/packagedcode/test_rubygems.py +++ b/tests/packagedcode/test_rubygems.py @@ -47,57 +47,59 @@ # TODO: Add test with https://rubygems.org/gems/pbox2d/versions/1.0.3-java # this is a multiple personality package (Java and Ruby) # see also https://rubygems.org/downloads/jaro_winkler-1.5.1-java.gem +# TODO: Fix typeError with StringIO in gemfileparser library class TestRubyGemspec(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') - def test_rubygems_can_parse_gemspec_address_standardization_gemspec(self): - test_file = self.get_test_loc('rubygems/gemspec/address_standardization.gemspec') - expected_loc = self.get_test_loc('rubygems/gemspec/address_standardization.gemspec.expected.json') - packages = rubygems.RubyGem.recognize(test_file) - self.check_packages(packages, expected_loc, regen=False) - - def test_rubygems_can_parse_gemspec_arel_gemspec(self): - test_file = self.get_test_loc('rubygems/gemspec/arel.gemspec') - expected_loc = self.get_test_loc('rubygems/gemspec/arel.gemspec.expected.json') - packages = rubygems.RubyGem.recognize(test_file) - self.check_packages(packages, expected_loc, regen=False) - - def test_rubygems_cat_gemspec(self): - test_file = self.get_test_loc('rubygems/gemspec/cat.gemspec') - expected_loc = self.get_test_loc('rubygems/gemspec/cat.gemspec.expected.json') - packages = rubygems.RubyGem.recognize(test_file) - self.check_packages(packages, expected_loc, regen=False) - - def test_rubygems_github_gemspec(self): - test_file = self.get_test_loc('rubygems/gemspec/github.gemspec') - expected_loc = self.get_test_loc('rubygems/gemspec/github.gemspec.expected.json') - packages = rubygems.RubyGem.recognize(test_file) - self.check_packages(packages, expected_loc, regen=False) - - def test_rubygems_mecab_ruby_gemspec(self): - test_file = self.get_test_loc('rubygems/gemspec/mecab-ruby.gemspec') - expected_loc = self.get_test_loc('rubygems/gemspec/mecab-ruby.gemspec.expected.json') - packages = rubygems.RubyGem.recognize(test_file) - self.check_packages(packages, expected_loc, regen=False) - - def test_rubygems_oj_gemspec(self): - test_file = self.get_test_loc('rubygems/gemspec/oj.gemspec') - expected_loc = self.get_test_loc('rubygems/gemspec/oj.gemspec.expected.json') - packages = rubygems.RubyGem.recognize(test_file) - self.check_packages(packages, expected_loc, regen=False) - - def test_rubygems_rubocop_gemspec(self): - test_file = self.get_test_loc('rubygems/gemspec/rubocop.gemspec') - expected_loc = self.get_test_loc('rubygems/gemspec/rubocop.gemspec.expected.json') - packages = rubygems.RubyGem.recognize(test_file) - self.check_packages(packages, expected_loc, regen=False) - - def test_rubygems_with_variables_gemspec(self): - test_file = self.get_test_loc('rubygems/gemspec/with_variables.gemspec') - expected_loc = self.get_test_loc('rubygems/gemspec/with_variables.gemspec.expected.json') - packages = rubygems.RubyGem.recognize(test_file) - self.check_packages(packages, expected_loc, regen=False) + if py3: # pytest fails in py2 because TypeError with StringIO + def test_rubygems_can_parse_gemspec_address_standardization_gemspec(self): + test_file = self.get_test_loc('rubygems/gemspec/address_standardization.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/address_standardization.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + + def test_rubygems_can_parse_gemspec_arel_gemspec(self): + test_file = self.get_test_loc('rubygems/gemspec/arel.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/arel.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + + def test_rubygems_cat_gemspec(self): + test_file = self.get_test_loc('rubygems/gemspec/cat.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/cat.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + + def test_rubygems_github_gemspec(self): + test_file = self.get_test_loc('rubygems/gemspec/github.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/github.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + + def test_rubygems_mecab_ruby_gemspec(self): + test_file = self.get_test_loc('rubygems/gemspec/mecab-ruby.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/mecab-ruby.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + + def test_rubygems_oj_gemspec(self): + test_file = self.get_test_loc('rubygems/gemspec/oj.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/oj.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + + def test_rubygems_rubocop_gemspec(self): + test_file = self.get_test_loc('rubygems/gemspec/rubocop.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/rubocop.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + + def test_rubygems_with_variables_gemspec(self): + test_file = self.get_test_loc('rubygems/gemspec/with_variables.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/with_variables.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) class TestRubyGemMetadata(FileBasedTesting): From cd73d581ba5268c861b5e9d310f4094f35b88623 Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Wed, 26 Aug 2020 16:44:42 +0200 Subject: [PATCH 53/55] Revert to another version of ftfy that runs Py2 and 3 Signed-off-by: Philippe Ombredanne --- setup.py | 14 +++++++------- thirdparty/ftfy-4.4.3-py2-none-any.whl.ABOUT | 12 ++++++++++++ thirdparty/ftfy-4.4.3-py3-none-any.whl | Bin 0 -> 41068 bytes thirdparty/ftfy-4.4.3-py3-none-any.whl.ABOUT | 12 ++++++++++++ thirdparty/ftfy-4.4.3.tar.gz | Bin 0 -> 50530 bytes thirdparty/ftfy-5.5.1-py3-none-any.whl | Bin 43963 -> 0 bytes thirdparty/ftfy-5.5.1-py3-none-any.whl.ABOUT | 14 -------------- 7 files changed, 31 insertions(+), 21 deletions(-) create mode 100644 thirdparty/ftfy-4.4.3-py2-none-any.whl.ABOUT create mode 100644 thirdparty/ftfy-4.4.3-py3-none-any.whl create mode 100644 thirdparty/ftfy-4.4.3-py3-none-any.whl.ABOUT create mode 100644 thirdparty/ftfy-4.4.3.tar.gz delete mode 100644 thirdparty/ftfy-5.5.1-py3-none-any.whl delete mode 100644 thirdparty/ftfy-5.5.1-py3-none-any.whl.ABOUT diff --git a/setup.py b/setup.py index aa3b652381a..26ade2758ee 100644 --- a/setup.py +++ b/setup.py @@ -137,7 +137,7 @@ def read(*names, **kwargs): # cluecode # Some nltk version ranges are buggy 'nltk >= 3.2, < 4.0', - 'py2_ipaddress >= 2.0, <3.5; python_version<"3"', + 'py2_ipaddress >= 2.0, <3.5; python_version < "3"', 'urlpy', 'publicsuffix2', 'fingerprints >= 0.6.0, < 1.0.0', @@ -146,12 +146,12 @@ def read(*names, **kwargs): 'patch >= 1.15, < 1.20 ', # to work around bug http://bugs.python.org/issue19839 # on multistream bzip2 files: this can removed in Python 3. - 'bz2file >= 0.98; python_version<"3"', + 'bz2file >= 0.98; python_version < "3"', 'extractcode_libarchive', 'extractcode_7z', # commoncode - 'backports.os == 0.1.1; python_version<"3"', + 'backports.os == 0.1.1; python_version < "3"', 'future >= 0.16.0', 'text_unidecode >= 1.0, < 2.0', 'saneyaml', @@ -192,8 +192,8 @@ def read(*names, **kwargs): 'dparse >= 0.4.1', # used to fix mojibake in Windows PE - 'ftfy < 5.0.0; python_version == "2.7"', - 'ftfy>= 5.0.0; python_version > "3"', + # for now we use the evrsion that works on both Python 2 and 3 + 'ftfy < 5.0.0', # scancode 'click >= 6.0.0, < 7.0.0', @@ -210,8 +210,8 @@ def read(*names, **kwargs): # ScanCode caching and locking 'yg.lockfile >= 2.3, < 3.0.0', - # used by yg.lockfile - 'contextlib2', 'pytz', 'tempora', 'jaraco.functools', + # used by yg.lockfile + 'contextlib2', 'pytz', 'tempora', 'jaraco.functools', 'zc.lockfile >= 2.0.0, < 3.0.0', ], diff --git a/thirdparty/ftfy-4.4.3-py2-none-any.whl.ABOUT b/thirdparty/ftfy-4.4.3-py2-none-any.whl.ABOUT new file mode 100644 index 00000000000..ed68add3b87 --- /dev/null +++ b/thirdparty/ftfy-4.4.3-py2-none-any.whl.ABOUT @@ -0,0 +1,12 @@ +name: ftfy +version: 4.4.3 +about_resource: ftfy-4.4.3-py2-none-any.whl +download_url: https://files.pythonhosted.org/packages/21/5d/9385540977b00df1f3a0c0f07b7e6c15b5e7a3109d7f6ae78a0a764dab22/ftfy-4.4.3.tar.gz +license_expression: mit +copyright: Copyright (c) Rob Speer (rob@luminoso.com) +attribute: yes +package_url: pkg:pypi/ftfy@4.4.3 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/ftfy-4.4.3-py3-none-any.whl b/thirdparty/ftfy-4.4.3-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..8d171e65f732b4561f55638b27744e910cfc3100 GIT binary patch literal 41068 zcmY(qQ;;r9v~5|oZQHhY*|yEEY}>YNbC+$~#xC3LzvFhFxaTP&GS+*}IdUvT8Bj1Z zARr(pARoVaX<3()R6}$iAXXtDAf*3p&0Wkr84V1q09Gyr1`H0K*E%}!xDsxD`36d5 zK#3_*H!-HXO@MyMtV9alRVrt#4IAhjV|VtAJaf#y)!tk&Muxdyo)ZE*pS_X~4FSlw zP#921{2TG_m@kO)2IC#7t{R*Z*c;I!y{3lo<2O|*{PFgqe#C@?zL*SYeB#ryr0WnDGNqIP9Zu#pZDBU!{_ zSbWPC1G$u?k5S3x1DBBu@}nvwgZWm^A>@`bQ5<0i%TWjsET3bkmQSSX*!rjLEB(LEy$NfcmbUgWM~M4MuhZ_j%zC{tmd) z%pCEl|MSzq=m2nvn_5@Rp(Bl#InpE-vIOP~>>t%A(ndBu)OhCyq$qRMG!C2S%1~sC z%R)4qIS_=uo31b^W|GK+^-;U@=Exns z)j^SE%tiM^bO$92R71_iLjajo9cM!`QJgd^a>$9Og~%Yu*k7*vp(B`JohS0@u77Al zrbsX7edNlADlV66UK{b6lhy>Xi=-0S;ik*?q; zxf|H#;#-tNmbU|LUT@IV-qG=Vphvpv^Nl!SS<>`2vt|Hs>v4z+2T^q2Om<@+@PPf0 zHaNiy;FiwtLW8{3ojqGRihl`h#&+bNxZQn-Tr=3~a^-IHw*D{#AMoxAI2Bl#8rAC* zx%^Ot*w{&D49~s&y*?Sa*17xj-Z@}=bDYvS?6NnUj{kjAxO?cbzhJ9}ez;SI4{=p4 zArD&-janel@XZZ{;rDl2MTKE!kHZNe(vJ`-yUxkc%7M*Iy7ev;50)W+Zi-Mv;}0jt zB#E3`oA>}d0@pw<{_WXX%UfcWcDCeyI{T|!_rM$*ZCJCf^@LS)E3XEcWt zND&W}2Y7|?03_?0W%I`hFC1l)o3(6qt*W8JlO} z<*zuw+tCXuNqOwa5EdlOVZi7wAj>A?G8X0vC^rOnB? zq1u(efEi|tJc?LZ@3>z<x)@pv>m+Uo;o%ecRK9w-5dCN40@{(;3z53Kv#Xc z@j(sah1hlBHV7S%EkI@|1=0(II!?;qip>K;Ccw0@PIQX?MEntJl6(LlLYD-IKx#A9 zhXnPvN(=uy4+a?a4Q}lL&rl7L2lB);7?>lG9)2k=7AKol;i+OLv*nltvU?CSmjO8t%f3V zSra>8g~C4=)9G~~z{M~9yet&=@Vf-E5GXhen5N6u13Pz{NzI?YYJ#`Gg*3;b_P;pu z(P3`qwB`i;a$N&6N|A_DtzqNYAjkvpVM+_e4BQCo0)BwL*l~P2Vo-T< z(Ga+4Pzs~*;t8}Ofi44Floi1|CUELWfzYT}i2hZk=h1)MbqXf$8-#!mwGN8lYR)E) zh*Bu!6Eta|OBwg6N9ho--0tLQL;Z}=@UOe!OwzTmA~!PvYfCq^&!Az*F;vaZrIprho^dJ9mAa%TvA_FRvAtaN$jGF zak??@uK??IRyHKdv`#MmIjq}|rvE0lSO?XCh^Dl?oZFyX^-;4thw26(lci;8ue1c*%0Oo$XU z;uR#Gghvb^M4ZG2lo+lwCFGSJb;Ay|V;zAQ@j8;T_4g`|GYYMc zPZ09AqM4TkwY!`F7oe2%U7TrAl)v<2HE~5#TtY82f}JhWh^6;~$f9!C5V-hKFCz&+ zgRq}u$_ryb`CxQg9WzA@=oDxO-CS91sadP`_sJV`u?m%+Sq7lV@9WArAPD~o0Gefn zCE~Y0A$LE{ob`n4lp#pY0A-}}phwlbC@>}ghe+)~Suf2$a|hsFyMqa>I%5j+Qqx4= zbNq6TctSF*nj>b~iLfvk)WJXl%V)c5RC56$ zVhLqQ8746QPTE9mrk(x6DGslqN31mhNCPK`(vom;kvcIWMEhSrCQ404xT_rtCs8>o zfJH#8ur3dP*+&RYYs_kpS>Q}K+ME_PJ;D(KmAW_pvkbBsYvC$g4P|l>Rk|q;>f^oN zr20|181<$BFcwJ0t`X)6#1#a!8elyr7aq)g2YmEt;ud<-G_#5eS)|xH#Ua$kD($pu zHTY<`O*!fls#24$at_w-V6GMnvFJvUTryG!O;-^_$mhh?E=Kh=KY`f1kBBQS5dAdZ zlzW{BBE8YSf2{?IUGZHw9^?acf#LyLZQUrOa=A8l5tbWh)rqu;V=61vV7yDC?JNY$ z5yC;1Nr!YN58@l6Y2 z7%A%y;9-{;YqZKdqW`ECh)&@!rAE$`vCmaq+K7NbdX@oJ4sFNWNNlRm0nO-W#_A<% zp>5I{cV}Mhte$lyFUw*)AOMl|(7>K>uRI>V4L)QYumbUs7`Pl5giS0XwuPn%B2h%W6>+8oaW<+)!$DVgje#Kt8zzOc1Sw~!G-oTFiy^{s zdf7->H$_Q&c|t-zr*3DqZEik3E_XS>oY=k~$9!TQ!8urBLGa4(y`ye%W6!bUc!Lo;#J=P2CRD z>HO_V@u$pm$SL+ko|#s-o5^916$zD?E9(0?LGTCn$rF9MH`}*NEwN~T z_0yg3w^8npjj_CzBkQLt!G4`k+kof-g!rUF?>9Y42Uj}f$}O<(1ntT?XeqU|wY6F|F(BbZ2PqRJB(7lLFqYhZb z_rt7#w_uqU9-@c%gP<3e4nwU;H)k>0soC9K9T2OG!PgdxeTY{yy>daW zn0CSW>6yv?Rr7kWOho26*983nIdV4|!NC24gBZL9LQ+jB8OD{PZ;4Q2<)}C!VXS!{ z9YlgvCmW8NFtqYhv#m9u!Rv^rylR(L4VwgaPus> zYI4CF!I|#BF>okT7KZ)OH?W6BYR8P$BtJl3$am|)FxfW1zxu5a>f;z^MEsmc{IC!^ z{|kX6NS*Q(z~po^Oxg`UDU=b6a6Uqi^g+3*Wl<1b-`)&Aq!_GOeeoMm0(-+TwJ|sFQM2 zTrbUn>}=Yx)hQc_3P|e-{+x_*)gvDiIz>Ih&)SeOs;e~4(NZd&6PBfZGpOOUER64T zbyBcuDuFbx3S&4!ZNR`seMBJ{;pWioERi!0uf}iIz`IXt zBP)WI8g=RvSeJg=QsJ2D*X(~xy{W*rRF2?u4Ip@FN4h$ZMyh@Y64Qi0 zxRDqD0ez)6I+iqA)T%nIoDrmhIk};x19A={ug)W&xgCT#3bos5q&u*K-5K~Zc@kAn z&02pE1?`3|vK|yJW=r8A7P;b29t>?zxpkdevOfF|@O=(}`F`1mp+L^*6mw==FSOf^ zLU8(YBM#JkdJ#rGVnzG1PG)Ugp#z(&T43ekbmM0HdGylIC4pU2WS}D&x=T zQ*V+ULnGxKJXN8R2d;6Z^pGQNjZt!uN=$$lg`z`e3+gU~40J|R6{Cz}Yr6hsdJ0|K zo8EzTN(Md4>+IC%SA?)l~xZ7wnizbvML?IHFu))RIwj7pAGAc7i zTRGr%Z>YB?wSj7xtofAH$cGe)`7KMG~t=ZxuD(p^yKLSKQWc)$+eQtRez^KV6k&ai4LZU0v#cP zt4FYodMg zk$kpcyO2L-RdHI@=lb}aO;2O&_*dJ%T47A5s*Sc%sRtw5as6{+g**5xxox>Fny)>V z(Yz{#1*`N-xXYJ&zfP=Sl{x%%dSzvDU0!~aaUXt|(oBJv40!)i$5pv)Ozl%Rp*|Bo z)LJC;mi`y?CSIKNB4(43kp%o#;+la%;4(~Pu{9j_*cNv-Fwh?yW%1S zW&rr>W;xjHFCO!-jpqlF?IvP8!gct!UPerJ#odWm!#j(2ruODOtu;EQ4D_E$9SrwT z)1GoUxG;EWW7O(E^`40`;qel*GYuB&-hRL6i@MHL?4c0Fm2{jF2-|41&a;wvpmcHe z0X!amo$QfI?&G?#f1Y(LH>8mH{r;{dJB%LN^LoGzWYd9t21ZUO;kb!K=K*4|4gix03geYgXcmbTNJGVe?@JYu3>JG;uvICAf;EFbaNT@n zr!fCCWr+_V+bi`$M_se%a8hdgJZ&kxZg?o=cXzgZ>``fPH&x$(ATG+PJODLU;U^5B zFS|AV7)e;sPStf?NwZ)`5G0*W60X*u_h{|B5|$5tA9SOnrgt9pccaOykZ9pcC2%*u zn#(pNtCsvcJKK~>dSlLBt36cG(IBXn!BKwxjaZFPJTia-MEU^#wXBkG%%^6FKKhlFn?j)NQuESjG-g%2< zN(i@KL6&e@wz6S%pFD2EWP#iAR!Pe2{cxWp3!S>GfB{6vhXH|K-Hfe9(pa=Q2*um; zVM@O*=<(e$Zl#*`2=V70$r$gj>Z_@-yO#Y?g9w(S^`c|u&kFeS9-`gq<=>{15gDc9 z?GARe0DF;3&v{CtbcS-?g}NUw8F;KCjn^eZNEQdu|6u*}p%@ZwJ-C?+4Y42ku=o@CAGAo;ne6-#_Qh zkJ4ASR|L_gTj9KOarrlR*Z7{r_PxIYbx1<dlnU`9 zF9)QK54yI3-m=Tqm;Bpk|8Wyvka+hzyql|t;vUL5Ya2WJ0qwruV8N%6r5+QkcX!JE z-MJ!|&u=6LoeqO%X*`rE|4R7Vn{6)xD82yc!8t_tIK#&4qn=<3!s%Ev3-j57JA7IP2~A&AxRA)o4b>``+h3Pz3pX-;KBr zT~mO&3?YRa(pVnw{T_0g!tOWT-rk1K?GapP=<9n#4DXAM!k64%1bxTG&jjDcUEJHNsMl}hLhp8KkR~ zw3R7UK7q(>mEa}dXx>Mb8|Gz!`p>e>OZB|rF0XJyP!{fL+Xnz%JC`cZy_P8T^)a-p|R#LIn3Mdua(HLSS}Cr-Ire5h08$rJJxX(yFn zVvVXO+wCl|4tbHI=dl?&H<2~hAM?>|e8t5<2)>*$)#-_cqfkqhd=}BQhBmb+yUC`R z>k;vEkTJrz<6T<|jrzR0XTb2FER}oth~lJ3)PWEfT0?lu$<(y#uWpc|OBuCJm4{|r z9oBr1hZ#MlCV+F6J*g>lmBAncp(-$8jzqET2+{_`ebsV3*Pv=v^HQ}UZ?DXJU4cJ# zNDT8>^j?5=Q(cttxb&XVeen^}~0i*%FCaEY#5dA!IBj=nbvaU|1( zP){HQxR@#AQAbQ;?>mRCuZIfL0TsIrv<}@RM`*pNxK4(ZbV6_i?mD9R8}|`67eOw? z3jt#rD2eoG-o(vZ=%aLcc&(cn@C7U|b{~R5-N9gAg$crFsyA8D>;Pn2j?Jbr(#4wf z&4_$wDhAm(rNRK$jiZ}Sp%Ko!fnl^}1VYOvZZgAL(HOb1$J{^=!W-P1eeMn1n#)Aw zV~~>s;)cnKer3@pSf8|8w{j@-5B`!k$s=`@=j>}0fyQGc3MCPwCTNjimy9>8$lOwr zq@;bwTbYvBBR7lQHe)Lbr4W(m#5Nxs|(cA%ng{t1PT-r-MOU*&Oo@reKh|ge~Nop%1fA#+rTxSS=~FaonN#DkjeXrn7Yud*sRZ zV~$DWyqaSQ3Cn&LQ+MK=NEV|OFEmj_uCPGuh3$&PaOnfU&}>*njz%S*uCeoX{xsNI z^9nCR$fX=GzhKulJ(J>uTcdz0F%uH9-?_20y;{lhw4SqkguD@My-QsiBtg_RrDAxXA=+3Za6BZCP_Hc?!`x&1ES_B-qSiCyw>hLXWtTsy|EGATAHxV!yEZV zTXwxS^=O_7#*0~ecQ0K=CaXn(M1CuZ`g01S#w)&tOhpRu(OCd24nk{*_DK?Z9Be4q zfFTT7ys-~>@Z$5C`v@Lz=sZ&lIL=fM0p!$WHmJV36$m#%qw@x$Nh4Ky7#I@E(guT)Blkq9%Rk%3;e_I@?*IC94(w7%@)LLjq?DB2CV zMzVA%BtDIbyo=PZKZXV2sZvzLb1URN51H-E2g4Su{ex1WXYQ59Kwsp^m948#f)HUC zl@v=i-GL=U^~PdD-qt`f>47gtTyHoyBL4QnFV$kn|QEM-i;WXppw-H)J&I)!X9Inhts%5QN61N-4i(btsU; zp+5{lSgjD{&wpX69GO-O#oC7(XTG*{;M1D}Kd?`WYN2UG1-NCr%|Y9ZqJkjlufb8^L=So=qbA)Wc=hI{O zxbQUNG2YwNrS*haoK2nmWU=SRP_V}7UY{otPi9`sY5$7|kN87QQhaU@);w~T1;2+l z`aMA%iSo9y%R-Gu%4c7GqA|E?c|0iqL#b74PcYVK25KA5Cdtk>HYm*w=(TP((1~66} zNO=VJC+Lv2SMKA8dAccJW&O*}-)-t2d94rq>SY-rQz8^3ZRe()tg3P)aiL7Q34zVe ztAWAK_lcmKtRfEh+G%9D%bsn^_lHJ}<(QA{!iCz_Z{5^bQtfW>vK%!yhLSTME*urH*@0E4o-h+sgX))~L4(`dTrn>%w)H?{y4R zT=G@6!*<_=z{HQyhv|>fxq8wui`*1B1H_61a{Mr!Lv3bjIt@UQemMK}MBSLNTsHJ1 zLKM6li-a0}WH?&eMwb?%wk4+(m$a%$kYTw!M+USNUO6%e21((0NVmhuZ4sjYwy*yb z$CfK2sX|+Zv2`sd$gCc-YS2WcE2jdw@vvRz%(ND_*IjXTa(MMlT0NMeh<7CuU|}_K zHu+Jm@p5F~g9!QaJkZjJXKA%3r`->oiW@j6!Gf|0=rUbK1q;@1sYTgs7w)yKLW!Feruq41ygEUNaE>|HF! z{8iH5S+L?8SMhpqzcNKxs*oY+es({OFYeQ-Kc$q;b6Om2Q%){7axTe@4{Pr?74;kM7` z&t4#afCx~5fKdJ?!?{}7ni`lIxfuPQ7zfxA$LKv(nV!Tf!GIwivkU-R0MR!A1#9RL zzjoV#pk^frUmQM$b2rBl@1c5OcWSh6OuyE@(rZLq(l~PuE3uqxBK{;vG@tcx_Uq%8 zNS+|$GUH%xa+qGyAc9?%bg5 zN!UUfx!O^rv2MVEdt?A&qYhU7Q&S!SCfhI4hRz-5=)92z!vn9KVNy}0gIo-1je$B~ z=fHx{02t_BSB{Mg&vI=o^@L(5q=tbMCy(y&JrUE zqf+8V0>8TrJyu*TG_>?lNl4X)_;@+HuLD_}H|cCSJlO=2pDMBm8_1rd5Mi~9nTu6? zDPm+f{dL3cxR!(Oq#av#f0|>5!%)Kq$w8WtI{47u4 zvV~aJbdfXv$gcZ3@6sf;9-QZFQF981%wi)tW1@S<)2Z}kXa6cV=U=)`NsB9x4gW&R z@1)gIIWZ*%a+lc6>M3%*(IOfD19Y&um@m;xX=;qz_Y;%&(^Utjju3_gS8np)t+%pl zqaB+Uyu-EY$%2h%db?c1%Uel!R=j&oU6b$ZY|gnj1H~qso*)QKc}uOrniJ^(-aoa3 z#CfnU@$AYY>U`u{JAWXB6C$_E{SG6;SttwnVp(z}(;Zr^-pubIxGBo)0E*g+zy7sm ziLD*gQ!uT`!y1q$)A4TcC#E*7RF5BBDt-)|71L=Je?R= z#IfdldOLZvuO@f?JhO9~$RObta%hLfDTO9O>-cRvtiwT%Mixt|R6^j~dB`;W%P--` zE#u5m6X!MN?ghEliHuU{dzSwfA^O0^a#S83J0QWRq4|Y&o75ulVJy59=w=h z({F7>yGf9P05We9I(-qs6BqM&5&^`s!-IHOcWN-RaXEs|KOVb3QR!aT_ox7i@$*9N z!|t?z?CtHksaE^kG`Q%yn!5ziubNs9sk^>uVz z%Xesafj(crMX`TJwlZRXt^kCS-fn%>}aJ)O)kPrtsKFWQSw@PC4;EJGd=-#9c9DIdkA zd_&&HxV)InDmIr*_#bWw^Fb@_+815l5x9B}jpActpW;2pyj+>L?DnaEb@BFKg59yl zKlm7_#|+~PHUbXf;dZz#%W+~eZh!(Q4?caZ3x0?|C5zV^@LC9F}xL`o(9Ikr*J=;KHc zfC}}{xeHf5#+_kE8cs(x+42i{1Y4PJ2SB~axyTnHF9<~b7uJOvAj<4R7HvC9lQQ_EDPJiU6zI}yHsQznI*$u z#b2M=VTNrErFv7D;Etw(Hd*GlIH{su0UguTA;cg#vDzMYm;{?dk_1abRX{>T^{~6` zedF!l?S12Wy6t~M`1*Ki&)fIN-?#UwAE>$?OLy}Tyjz}yepFBI@8+v*J8?yZw<))| z)QKJGZg1l6BYSrl>)zJEm!fC-1NbdVE6aJ-$WuIizR3uilk$z?hyQ*Op))Co35J)~p%_AEk0#PQ0{V9yrxu zq=&~f{8ulE?W_a<9N}!CyL&a6E<)23;~x^R3Xi1Td-9}XeAI+q7(rPIS4tlc?N{ut ziICYX?j}tbVyRH27(P3q{yNa-&NV$V>&l`zJ~OIO5TV1<%$@5n!ek1U{n?54B!8V2 zAv75}fBDl0PpK$(h3Y!YvsJNXrhf+GO{$dI`3NDP)Zo*N_CpPMOJL_k@Uyt(*d)C? zh>7p<@(_6O3Gb`$Rb7_WxKbw$)$O*J&Qj!76y*u-_?HQ z)nw+@*MesFTio64N$$`4t2`qgL^LWMmP*fySQh$B>}?%$gRvPdI{aBlPy*u1h&c^K z?D@Q_IORa;Wpnb{&5?QXbcO_HY#z&Zagw6{&N73E!{@|3C!TXm@Z+09CI@;MguTS+ z7UlU8T%B-;{zDiIA>`q9JCZX4!AOX37(w*CFo_oKD|V{HMdxU-sU#doI7I8B4%SkE zGsN4-*aSfy$1B=f3Sb6za$JtYs#oeL4bRdDbvAK-PP04zP@4za#&5)(qk-z||WgVbUVMq?aJeFtGn;faP80K3crkOXLDl zCf{OVL7q3>V0|ID#+wp{Fh)t5={Yw6`Eq?woAyv{eBR2&-cnbz2XyQ2w?is#8tAOA zh&4?6cn&TQKEyAMBCOpyEkBNHT6Tgzfl#)Fs-!w0ojd5}C=9sI%vNctU+K2H+tGtK z+SI+92CE_U_1ZtVZW@DX%T`Hj6bX~C#}cyec=Lhso|b3vtksbQl}Tv+o15HI#1nff z4G!{hbxJ8OQ8oN-w960ewZMD#z8ok8Rc#-x`w+*#{o8$?DyQ~+r5F1id!2tY9JZ5v zcU;CZ@V{&l>V2*?&em!hhF`*3A|3mAPO{`+?XVHsc79Uq{&;@yc{O+mF&{Uc&C%LB zxUqr%CdSSDR227-?v@yC1xP1<#DSj5Sm!Uwr8kCRV%P@~HaP8K;n^XR2AlK4C=p*Y zeOD}l^0h}FS?v4PhF*HhH$4-!aEK|$DSZX63-)zicPgjI^(v8@MvCa}lf!G*z}dp} zdU=fZFxu#p^!58hH@*r{2Di4D+3EFH8RCYi074sz4J+mrgAIhcT6-6s4l$Hww_64l}eLDIv_ zx_|g^r4se2igvhvR+~h0!#q$;5s&U|$W9YURFsH_X-lhyrzT>Aa$kEb9RAa16irsa0JTIuQ@Z7OXnT?ZNr$NmVf=_ z9_Y!w^Y|0b2E+)WNN9a(XBU)k4KWxQO-GlxU|7!mrC3T>`EN{hWkFSoonP&uiAt9z zZ$?(7j)r`{9xtYjB@^kO68sK03>a}aW5wV*7*<|Khg3$-uZw9@+==%xqbw;tn(=Q{ z&onal)4i38Zm=%wr}BfJ7$$Ok$U8*lj2LL6!ginacJ@xFij^1+JQcu(Gz6MU! zy+_!b=`zJfOHXwwft|?Y*fmwzPK5zZC9SN%jUPkiFVIkOecS z_>$AobtE67yYoKF{?ZSBT5;J&dUTKpFm=j@`FfX*U_q=O4duZ{@2%9)67o;0NXQE0 z?@os9L1LK3X}qzqWGJMgAc=b3(u*%tC7*nqbRF?r{;~8Bm`1RZx_~_ol&sOIw+ZF4 zM)i5Vg4DQgPJk83Q!q6sJ;{i?Xtz1I* zF(T#`P|7_%^@*FaJE_|kb3VK^$-5|xY^Cp%O!2Aew(P^9=wM|}&TS&PF36oo2TU*Z zCEXzP`Cru>Rl)8UJGFNqufc?J(D{)_{)|*H^q%CPB<+yD6)?tlN++@m3yo^u^3}YN z9HQY$XGUAqlf(()9&&thU3q<2wTu~K(ZVWFH8wYef>6lMiI$Zm$ z-)|}{Khi5afq$DfJYF_^TRB)=-bagTW;5VZtpr|&QqhHM^~cVu`yQwVRF6tFxK@#@i*kH-kn`Fr7kQz9d!)sh|LnzvuLI*Yu_9$*sP&5ve=YJMOL9w*Y z7J-906OO_6C=LtERw0CO)PecFE=bpP+EK@TCoOM^!F7G{mZ6IH?27pKbGHg$*|jql zmjuUo_yG2Fq);vIxv?0w?!Ti0HC8v#BmNQ~Ax7tPuxkPr!pE2G;mL-E8A#rr&%G|? z=qh1>Z};TGsH^6o($+o?px2is20s_a&~7?XNdaEuR$?l!YNfv7Uuy3Ws<7U~{*?{Q zNO;#D9odQ}<6m5*fUnV}FNiv_7=ur~8=jL-zlpQ@OOcDQ{}YhWthMGESsug_-^vH_ ze5p&?{rAjw8D*~EuU*#5#CV@U3o-NcHt77YSFH5KGEXDt#7YKV z2_08x>5OF13J|QpA#1uwrQDRI1VzeVQI((<9@3eI6e|K9vS36Grcz$~TtY6|;IouQ zgFki#UeQ#4yTQiC+L|`2Jb$~M0%EqW@YpO0W`wJrL3WDNQj8Q*`QB2rhrO;EieNU+7Y3 zJ(K#J&c_`Yg^-MyQ=jA`6j8o1r=@YPpQTFMULz7xe>&4ui|!8^Cy~h6dWt?>DlJ?* zbG`>iGiv@;qV1#kD;j8E>1PFxL?g&0wE3ht1j30JJ_irjwg@@3FnMA7bOfPy5LBBAKkC{rsljiLK z=Qh%RjEA^R3DdLLvCFXraTPKwYly(is?Q(2Y+cWxH@_JB#SR~_yM z{;!pl|F=5)e|W7{YsYD86uoy$#kO`fphYSz>00w8W~%m(M0RdHsN-Zgf24SGI zObJShWid`qLGAuJnkt7|&f37dNt2|PPO5)`w}#<#N%fpe!4X^uh80#Nx0I`(5U$B^ z=`ra<+WdfS_$T`#6QlCzDq=$90E6WuJK`e9hJ4isEs}00AuZ@mI)qu~Y94cOG)_{P zkjG5V(1`SjWP;RSnurcQb#P>^%5@bIQ?i#eW0 zTD@A%9e>oXX?16(C*1pQ-vws9NUqE4E1|&650GQWh_cswR7|vm{qz10DW5J^+)=fV ztc54m`~0=89`%m3pb-lTy)TAFMqZ45oF6L>_@Qw>dDum%yfJq)2T1}Cs!fNHA+X$J z@H5C+61hiBj%uwT9lC`G3yX=7thhG4It=U6IG@OnWxp*&l4hi0GaXABZ7XJ2-42x$ zuW?U+mKe&sI`#Ai10-gTe7cdWA#_NH9IfepV?VNHHlew5H_!KD0p<1a`cF90>&SCz zKuTQH)f4M})U1e1D8Wky9&{|Osn~UgIHA%;UyRp<`2qQb*y2?ueqKK>ReQI+Jzi+K z+uxO2Kl@Dn2_>a)%5&^&*sz(wJ!$DKbhQF=1I3!KsgRG{7TIv&9^S2cl%L%_UiToA z#P&lbawu-fC|-1JH&9YPKqCjqrU9<*ik7&*5RUznk)>8PgX4;t@g?PHrcV#DhoAPp z0DdXW`Q6&DdW|SU!Ht;!M)2-JxsUEgWL z!E_7P+WBe;#)!b;81`VYKjfWA+RcRA65W;ahI*5dOYc!d+7f3WhiQ~1!Cy=-McbUr zS*FclY~1KEVUjr!l4hp8Sv6dNkd)L#c@rSg-cDk?INg`24py|C0pIE=FZc&V%gyW1}4eUO(YU_=9PWIlLo{bK`iR=nT zYhmIq9$A%)S*du1EpS+04(k)dai%oGy@{lK{}c|j!}w`QD}Y4rdNx^xF{vJ?PFaMdlLqwe;F5#$|u)TF=wFO?;WNqaNu=l;~ zP}fHT5mFZMA?#~c-`8cez3xKLSQUSiBA^S#EJa7I1Y*$K8iA{J$ku4t_~vS1icm7q(K1DR*L(YBjne;%v)dqc015M9*CkD_Il#ntBa@T4XuB+nVF0Qd*Ie?p_!|C{Cq_98kgC8zNOb{i)DaF96HXQ@pX7g% z{jy~^DCRL}-_*8_rqTX%6VgFXCwv;8L-Y}RkPcmq)f-zQ@Ky?fU~6Fq)P1S*9?sV$Pn+zKBcrZbcx3^>Qu+=-(^nR|Bhr&* z4j!85y}ZIg$fZ*QwP~e$ug=ahcagSNKr0N1Sulzb(401FMWns@et$80~387{G7L0LR7cKGDMgol26 zoBdkc%Y`L78h-fnyuUAm7ekS}5Q!DRc{D+L|6qD|nRHNSwEkVOkA)C7mMlEsZ0!*i zoLoEpm{q%GD-bHkH_Pg#!=g33hpWe~Vc z8^q#Ndj^Mi+k&`BU_+)(UAnBoeUWX#BnaIJIv7bvdx8zNhfl<=ArK`Dk+}AGXYE?M zkfySwFeWr2bUm^TB-D^^j(oBxzd?Vuq9}5R-c|A%U)npq8Nw6ped^~ArbA(Bn97q^ zPtiOxJrmxa7`H@91)%w;c3I-=NlhZKsbiI%rSb6rS0Apcfo|PU65|VS2A= z-4YDM%*C$w-|#mLd!yfIXGce8P1;}co7?^>D%#3`GaK%Uu|{>D-|ITy1xUm;x9>(s zs!}$DyWfPxZl$eh$bf8Z5jrn^RENqI!Z`UkoJM!K8$*#wV4i`_G!@&QV`U@p`G|en zvXzsYs`xUomI%UrN>8?2VC=~N1^=xw1dp*6-Q#LEss+nFs=8z%HzF_x!PgXjZ%PP9 z`$rgM8!GaNXe|MZ-`uDz3Z z?Dvbu;%1BA$X(Va;7^WMhiWiDtX;Vn;d)WSHuctEt^N&pd^wlXQer8;f4Xl;R=UGv z0hb{wVX5LF^LZTJ9+kq%2PS|+7TGOWc1tPNBwLO;{`@+2U*tH0b!xOH6Ily?Mt}WD zMRzi6p=^V0L)$ftOv$DTw+`o$AUl0!g~D#p!J3B;D<@B0fs)cN5Ztn1%Jnhn$fEkp z;Iepg)kT{B!etYg0dq^AtQ7*p$7Rf}9B*`eKx=C~mg<>J2Ie9Sxy`JuaAM9pM-8YU zOURKNx6puiXTGmH*4;+77SzC>(T(b@+)FizXN~XG5Bu->YXKAE`XyjI!awvIA z!cZQq-P9oiP8}9>IFPB?8tm1>jRFW8nS#I(HLr#jzcu?_^=ROeMcdL{>PrJOWq;96 zb1adzD4S1au7Vc3U7N&(c>CV6mI-ZE{i=BRHg%dH!IO~kElo5=(;U6&FZ0E)v(GF8 z&zclk;?*})JLkS`Y2Nw$n zIpJ?LDWjI1Uz^BvkYuDf2|N9j@DUatVd;ICh>7qL@&!ABfe#-Vvm9~p9jt(i(p<8J zjS_|((%%xlCSe&*x9Rv z`Sehnf-FQEBB@o!REETO7(skd)2OZY=71S|T3P%eW-xP~%#R(MnHM65pa2$w3`O}N zK-P7}ePK-`;}L$R#EDb1`Mjl0ud$2UtpL3E*qnrfm;U{;yi1W2Spmh+y zC#tnR#H8Dt6e@hRzi?Z$Ofh(}Z|=NwMTbWQD=@41d?$Zb++u^XB~_Kzij|~}y0HcG zyR&);@HCVvAV^R5{&)AOx&7^#00#on{%=v3ld|&I4w4zWY z;aERe&<2$^XCbHCO0yR;DK#QbM3)m|$P|*kpS|nI${mx+cFg`1wh7$uzivC%AM4kr z>o#QSGj!01r>X|A%d0QiX;#A1o@iHbI~!l$?N$Uyjc|q0CX(}C$sISXjxu*OUKcN4 zFUevWn zT(7wL`TF~N=PT6t%RYo>+y6gQonvrl!Mbf@+qP}nwv!#(wr$(C?d;gLZQIG)w_e@% z&Z+8O{k!X1UA@K}lYcE8Fy4(gdj5pRLjj_nHIiG=CUlCn*re0J1-N|%qSrVCEtN9n zwe&>}FPUUcGx2LFrl34qqfu(sopdeHZcT-OV29xkD$Ey6Nsfi;golwx0;9E|YXPcUQv+HMp*HQ2b%OPG zvaG7jOOHnZVD_R|AT5}=8g*8KUF38KQm8ru34v9|@hnT^w#}9hb!*}q zcz8?+DxxHe`3Pg(H1pwz)w;40Hg8S*(K*>o!Pr8=3z51vrBbOCctqk8Z=W1FJx{RV zU!3HDsPvMm%N`nBQ?rA|nz4y!kRl~{Rw%G!lxS^NQ>GV+HJon5VkPwyUBtiUga&Up z>m>K4lyuP0D*?`c^|h?G-vFmg3)I8GfxsG&hNNN=74kbH=0C{<#U8}fxJ;UjF}6y= z`PMNk9Dwsck(!cG8#$AD1H@LcOoo%>{-H@_3GR_gunCXrfq{{+AXN%`mQMxCE=u7@ zpk%6k_BX&qiXVQvA}b9U_%~o1-kIX)Ok-iWv zrp4gAaPJpI+Je0epjZbW1F<&HU$1MLWibgU{jsaj=%O=4UA~>F%Lu(vJ1Vx>v3G^_ zL$Qne3;Sr3KX!zbp4oB|&?FtpLc~rsh#@PCB^|6Sg;n}njZdmxKWT=m=3}XW)KUd5 z`Ds~1=H$}yB1{YZIk92|Xm?j^Ef_^D&ct4J99`Qc;J)ZP+Wpr1;L2t9v%tReZafbe zvz}5h5=S#E2efxR(4Ska|H3fao^!o{GDnHeazVGU2Z;K`K0EnK`IN+j63Nml+^FFY z0nNT~WrYsMXNz464N-Xq5qECNNU`-vSCs%#7EMPfUs=cl@Jmjd+z!~qe0a!(B{65qabEfviR z6YzfHAR50p`cPx-n%S&&g^lP2^XrlxX;X7}*~bJIG&k9#+39e}_ymYsd_i|8Im8kTR?wDvv86m01A1*(vk0glOX=@HesLvr2PpT4bR z+J>jNuKXZt8xNiqtT&QN7{>Q6+Lcy?p1Fb7+vSFe}>e z#z+a z(T_(0?hg*ynO;>r1Ffi{MqW--7We(PW-+ES>MN8>qW~ySP_foWa^}*4>K+&Gqpl-G%I-ev z7JY53{7!&P$0ibP1M5o}QPyE3R4Hu~KHg2-$?YdbtiJRB0Mihd61KHg{I1-=Jjo~_ zo|mO~70X&&)?LClzsE3{9TWppa?N}7fJJ{;{dhgrh)=;pODGtw@(@fxP|S%oV7ldr z-UjAi?pTtTpSBXG2Si#ashNKt1#v}}9OagE9pP?w0|LUvbF}DKLrbqdkMU4`6Mr%{ z!UELaf;FoexOKBmG4Zg9m$9D`*#zUoesj#STih!*1zRtVmqyq81Tntp$TYa7Or+Z~ z^e;w^6j$(!4@6X#-b2$Dl-`cDM!O1YtG;^)-d&K2A&Q5?XnqIbj!YiMVlH-CYyfrY zBCmB2zuSr2A9hqJeDC;$Y@6;SQ`{5D8sS50@;@murHC zi2(o%i~s;&|MxOuYT^D5{;>C0=CQHE9{1RNremnFNl@orSCT4swi)4iG!W`8D)hCtc} zZAh9bJ_N0GJMXBt%ZYF!y)TeB%i@ggHyaeuC7mIG9f?2(!!|WN|II0 zxRVj7lL!gh(F}0Bi1p%3__u92y5_ya{=1)Hzree~81f!^g(Ky@tK5 z)v-kd1yE%8SZsO%~4K11DWRzE&+5B78XlwWQQfODk(%lYK9nMZ|o#$B8^E1 zNQO9fi~$y-HX{R43m;ZtVB>DzsYo&!(Rab&6~X*k+BAeIDGopYi#G1kEamU1ZgAn9 zIRXg?6yH9eChCiz$!D zUgzQO3Pz5kvv-(64AJl34(Y2LCNBu#4eotG;{g7_3({7(xR(K1>nn zA*`d5Q!Iu1N}X+i(OG}TkwcH5jOz}6GENIVGAy9<19f&o1d--$4#OrDBtXlt;GQRH zz?B0yi103_oPSH`v+UqWQv<}9CQ-yUS4z~=p)p??+=o(?PGQ6&N1Q-_Yx)U>lvm7% zjM=;Dh}MhZzb*llrq8cU%FJQsLn9BLhmQ}$6fbWk*|^r>wF*1xU?w=oWx&$&Y4dtR zqeHg;hxCGLOo0M9$F9iwQfGn!YzU@DAF1~&7m&HbQHV&DxI7?icdI~>2&MFG6uH=( zB(fxJ%KF3NalK2RbzVZIWU+jDP`(E-Ua|%foC+9HnM;ew)%~921D5mCz#R~OFdQCA zgugl@TrbFSzwL1eUBtnk4B>6c3Rf^53CNjwILw5h(htUdyt zIA_qL3QM8;yn`@G1~ZC4D~Z030i#tU2Vp#7L@x=$(|R14$o3cL(zF9fi)zK{WvL7AU@av&_O7YNpB{yU+?Gk?SK@(U<^*ks-DmD z?r#WoHG7un6}9KXi(7=Ng;KEr0ksA=)78Yf$Fn&09ya&`Pu!7)KZpX*a$&7~;uru0 zkO(y7Qe2M%%E%oGB6KDtpraO%0KX0r$u#ejd9^NT1ebEgTtkBAJh+u?Ye&oWPN!d9 zGZLV1%RUb{BsSflr;OvotG}~?XQvW@dVD$E-!<>HsD*E^H}a+KkL64HKHu+QdKT)! zbQqjH2=$>RBqBY(`^Sj@o^_{+W(Gw1cp{obGXqwr{j`nf9>b#%37YYzXraEpHL;Bx zM#(o3?BIwbhaos#Lzfh*=1?M#(}q0}Dl&7O>YG{K5Y3eYAj9<<2x!1Pg>bjA$?Dl6 zQ|fnM(m$S44-hbf=+?5Q-Ghbu*=l|}24tMzm;gn8)^Z{4@=-^(o(NcCM)F;_>U>?G zCPR(Rt4mCg~H;VpqYank853Pgl`9g5J;)x2_*Zq7yqyK_Qv^sbn zrd2vq5J5*{u5EINgkTq)30Q5WsSCK~56pQ8=9A1XixeXQ1Bp{j{v&3_5|SZUGJ$XW zWC}4-!O&pw;|7Q@V%$9cgh-XHfb#5gKwbkb0$oTx=aZgve_ZGNKF;zxJp`-cJf;1M zqwq7{{i#nemsZ9sCeb@3w#zI$6Luzmig#KEaQdSVJFzBohI-B{OQN%{c;O=89AuZ*ZRYh5n`uS@&|X z@=dEER2*4$v>bm8CHxYQ6!dZub0#o}mK}O6S}Mi^u?z0u+^2=68V61`4wIh%BAFkp zTj*J<8E=ii=eQYj{#f=$`vx8tQ*VI2Q(Q7Kvdp=HSQ7&)w}Dc%#Nx-gF4O!Txp?S_8SRAGoB zitgXqZh|HRLFyAs_~RLc$(*pMj}uPC%|RLg(+H@KT(#dh4~LOZL~pE-eS4z9t9{4N z`+`G?6z)*T07iPq&lT^CY9)btm3|v6BCgf&s)1tMHy{!}V0;tcoqF&uK}lBYeLoh& z7_eYXeK*H}5U?$e^q83^Fnd^^Pr=acuP!#Z^W}v!RPcmP-Te{pn(g}3wdU2o=|1N5 z*?K`lhF+~|V4DZ!&+W5LOU$umqhjpHmI_~@k*i~8b5m-1vzC#9vBi*F>57?5O4(u! zc)43JDuIy{3OLEzyzs}ZS!GTF(db?%mAI2&gGFx|%!BeI-D@H!ABreqF@_**6#?%` z2EdBjE&9e(%^^GjdRs)bdHVYCnyG8YulSfFo26eN4Zih?&)PHmFiY?QSMhB z&nMbuH^WC-VO%2RGEC_(vlXCq)5qQ-^&e7lJ`-MO!vPwd z!OU+n?!#MMIBuAXnjX7^)$y}EcGpz<#ePy@7UJB8dXyZ%9ynp_mOq|)vI$R)Q-98= zki}e0+A_n_M~EO`$G=Ek`Cwc@9ZCr7Loqf^-FlvKx za1O9?h=ORdq|#cajH3QvoIfdmpGphc2G~)LqJu6SkZ4BxdkA0JlZ`+LJXq48QxQlx zq$+M#P_vt<@b@5XcLoINN|k{C+pCVnyBJay-d87R>o#>SQe6NLlK=vz@WG3=0Tdwx zFZ}69z(s<9Z3!xM+FY;nZWF*VpUrQyU7AK0aD5&q+(Vp!RB3%Nb{0rz@APV+)G~L9 zHrrr1H0RpGFsjc_8DOdOFR7mClq#i4lRn$)$MHUzdadQblnuaDU{pjZLS3Cx$TAio ziewYTUFQqy&%#5mF^1SetP2hOuywR%7xg&?aXERYq&*BR*4~K+77yHw>0;lujzHc_ zBYI${(xRW88sJ6N`odhPDA|2bp|b`SgBk$wQVJ6j2X^ZjBXAKI|W)FLH1U%$9|D!aB11 zrPN=m7iHHvJO+?i#4$+G-gl6mWG2PIu~cIyjM_koD$@1un<$?6@bfZOEHmb<8Jap8 z0|#bnoc*y!9l%-OFNx^Yj+SD_N>TUOjbK>jQkK_*bCLSl?J~H^;#v*S>4@vFsYt^a z2+gE&C>l1@)E31Eu6BdLg+RQPL0_huh@L0fw0swYKY6ghqzwSeTS>Mzw{OCEJbv!g zq>{rl;cu|EG$}60Fdk4Aa(iQY5gi5E3A{2%;j9j-AYJ*JpETm^l|5skdVp+B%D-vU zoCjU6k~wX#-2XvQREij{MOU67kBy=ai51sS%roP%!)8Z>MMb^gj9RKJ2xa-6M&88^ zvEQikOa^t<=B~ONIe|!qhr3AT~axw-y~XT z5*Mk&GfRM&cCaRAnH_{RUec)!``Q_AfXQt(}cvjHviuPo2s*A&WYl8*-Z>ppy6N7R{Iua=8fhS8sS%l^y^)ysZ zceMx=jq<@l^R6kTgw9y%CEs9DzhrvD#vC0dRAWtA0NWbnI*j6Xvf#z0$@myL}m1wpgrEJ3wF~O6g=<1`(;!dn%s~a z_@-#-wBDoduF);ds@OC@dhqFRxXZafZ-)&qxiS*pWvfjqj~<)0({i} zfP`Lak(S%7kDc>}CR?k|$5$&^(xC-`5u=89;p(5NNV+B|)ecmeBmp_HjgfJgn(OWA z3!21Yy}u2LNH*wz0AV~4#n>L`GkoqZ%)tcYNs8(EtcIhUP~tQCg!|tef8YOp6*A$b zPJ@sO8l?ieCq=No=*KR@f#OJ-&58oy6r&&MgNTzKv|e9u1*ULHxBf+n>4wrDQmK(NP*1L=mUDcxZPtO^ z@WQ@Us@XUYebd^9gu8g2?#OvP!dwlzO}^N$9;yYc3o)1=)HmKNyRN?P75JV4yAyOS z>)Tnt5vH*U8Hz5n_5>ChMZzDM!!|2|0N=B+lQ_gEbT`mo`@a>X=S?19cW;=kXEDqO zayDrn6IYKK9DA$2xRXs#1(KV0)aG5HSx66uR<$7~66sC1(4U#JyUom0t~@8`Y#Xbl z_KQ;@OQyVFB-ESO>Tb9mI4=>5*m8De13FLZN+PVvcfH=^~!7sJ!2r=D=F@IbgjH;+GgSg0*PD9k!r7YAw@2 zZ?iXVYW1jH3>dI1vEXH@^=1qW&y8kc*ry#_9Keo*KHxC-+wCy@6x41sPrY2$`9VEe zP7fcc-Sw)zlW?BW-ca{znDi6{WO`ho5NKTDlrQ!R%HP-0jhSmKXJ};J0G|(dF-Tfo`SYsY z_+{O1t*PSckbHl3QYBWA!0Hi3l1mKdaOk;H6XYtwy#0B{cy*-xeBU8W-?pg(q5dur z!c{LH=yuLVgBYLh{@`wa0%PKa%o}oMX=tx0tkcZ}F}i_0Z_*RGOaPx+Rw*=HPPUi^ zilDut4+@uPoM;*ZbOhwoSMW!$eL7*S$x44f^q8qb1F3*hI=ad8UOPupT2zM=al>Wc zIvZ@vyf1*zMC5Q5mTsh27gM&FA>dqlXxnl2R>$hKEAx%1H8KgaVO3YETBNu}m+$-Y z^W<;4@B8Ov+V8_Ox}Hwo7p%|Mzs=o0eP8NtHp+89`{PEZd-is7_**zXw{^d7!_WA> zUf-j702E=s4r>XbjMp2I*yHrdBILW??`3wqp6}D@eO-VlnP^kl?x0c_u|$+~m8{dY z7&-$P)TPk%?l7YV7DY&*MLNe_h2@s^)jJbu9cC4zi_FFp`%lTUTv>ya-8S4^;-B)_ zBj*+%hncjow!vf)vpJFhlvsI1loT-Eckl{UNP&cir+<+Y{4oqiQ^7tPFu22j%~nSP zCmUk9=yIT0Rs@E0HgZAQ9es% zLMBIFR@OJUhN|YvSE;&I8Nv7$fMlU$H6h@on#7VU=pu__}I2 zC)WrL(W25L7i~ibv~~ID!GoxBa&U5SfdJR(y=3TRm)^LxZHD@hC5>ak%!2V>UgP%M z#~^kG;E!?wRA;6D;R4Ny5ViutpbtbjHgqJ0x=!hXgJ0Has`^M9Bp}GK;wLnzva92zDwt3C7WeZ8SSnDHX|LpO*>^11D2;>@WCx-%Ijlbq zK!pX?rw2sk(V`&~y9TedpRzd_^+RbhJJaADg_&O25f(D6=I{taz5YH-=6!!$?>$U* zD6d6=-h9aW`TsHz3q}8x2XkN&V+GlXm$Pg#1V4zM@;6`E0#=b2{rLK zpi(Gq@?Ph1$%Lb)(wB_{<%duV>Q8KDh^dImhB=J5^S)lb;`DX_(ThQRP{lCrrZJ;F zzI0bN21BeDFr01k$AKC0f@0Y=BU^KzO_%U-=s$k!LD&?u((m zIURcDFPrW8#j6!!F=YaXqAiWiiV)ZeqeGX5>!S)9DX@3LAa&3s*}Pn$cMa|wA}Tin zX2kE(aFUSQ;sTQ&9Fhu$aA~O4D+ShLlTSx50}2W_?d}p8lf+E`FfZJ-xGjd>_8IQ` z`o4aG{PnbxRGRtiuu{AlH3ZRp8u@6RU-V@gNBCFo4K&yeeLtg?)iyl`i$WmK7y9>R5EOcb4^_;;xK#7KX#;V#D-H${8h zyZe2IHw5;r$;=dCabS$E0vij`k7&WX{2bGaE2^g>jMOW{)J9JZDK;siXy=dcg=SGC zr#jCFxU)U)M~`$LzEv4~oPkwVj`GK6z>erY7%gy9joaf6$5r}W2?(TM{`%0c!YumWYd zV%z8TMi=Lb)Czfx14Z6=ePh{p&9@&un@V_8Fb#a%+l2*%mDJUwG5#N4*tZkfcWk!#r>>-kuU&gNr#g*_nXh35dp;)D=ceT1{ z9{=hk_c<)+=T-g#yvt;fyK=RIx(LwsQ&Rk!fpE*Qb+eXz_!37SQL1TiFE2kS5B8}4 zw%gz?g%<_fuE*dm%J#FTX_igg=U(oG#Nmf9NbGo6^LMO5dK3v4i4N$wzo3#TNaZiMHnyQ z9`sHydi}@oBDMuH7cajm1i~}}WHj+w0x^NE-@M^UaU%WNpqDYi31#Gt+icK$l3N^aM@2p`1~s0s`^UYZYYYpg(|2Rc@G3R-Jrl8CP1S z;Xz72&agIVg(QZ>MLCD%3Tald4bv+EZo0g^tn@4UIQq3J1W#>gg_4Jq%|&(tV~T@@ z)!|^-8{|Pb3*vCj@3|{qc{V^1j01R(#o6@k+skr>s^il#%&1U zM|%~ewBEW%b6~>Z010jxWBfuZ`XNX6;9k2%pqdR^ts2GSnJNoTlDDKU3hh+LkWO_`{c5gB&jCR;)#3@$y`@2ROjdn+B`TtW*X7$aDV z&0&wMthaZ5qx|txSTtvVjhH*i!!c}nspEoK|e4~AY;@7vYf@8fQT=aB(@w@ zV@j(Grj#qBqn4QhHE`}CRhytj6sz%6ju-~n5|$c=q@N_<7L=;#Ugs_B3>keIJf#6~ zR0cth12*U3R=9fyQOxM6Hl1N|!`*b*)XCuym&#;18yI4VzDP;#(L+RZZ~T>g?+@Is+_2bS@Y!4w(Sw!>K|tx81`qxqd>dmf6G>^POCGskm zF73eE30mup4wQrtqq3(`jyDVJG+JCIIC$ci(kV~CxKa-jX+kJf(2vd(DIon=NW1Eo zaVts!oE{C;fI<}8WMz`WvPT_pwuF2WpHNaZcF-+LU>i$Zt}tg*=I~v{ z&r(4g-xTQ5?S@%>ZE};SkTqSwo#b#(r@|t*?!SC&Ps2>{C9W_tdww#){~JVCvf{=$ zpfoev1VurDgx=yJ^r{7*T9!Lo!w8sw$VsTitt&$YjR2ZNy{j{V0%x|XCX9G)zTFaG zpt`0+os{B|B-R`I@s*vrs&r%q2Rpdka3Q`=Q#PnBL9OwG8K-+sg4Gh3(T?Csf{xNm zm_4_5G{5J5`*zemyH<1o0i#*}D?&Snax`xXe`=?Jm|j(lw3V#TBZhO_N+(TPJI&ab z$akgdKnczul7FLOtaN~l6h9D?NH>8!`J_1`#P3H+X9$Gw&L>@RwV>L_qIj|t@U|Ad za;*W9&4Q0ecS3XqGe$j+M9zllIt83vOtAi7>N&}oMx=)F@e$?MEVdck!QP*5A`cp$ zTvds4j-Z21-}O*2Os;T+b&Q2O!&d(sZMoPu9ut~hQo*Q*g^;CG?L*l!R@3W|tcSJU zFHiJNN?>0?_dVk}GK@p4>Cyl2D_KB|n%M=$m)1XK30SUIm9bjNZb3Fnt=g@%aj`)+ z!e|6p=pWoBELD5o}+ zz-`$Zv+5kfw6C`1r#7$I!A_~?QH>s>pHMKeRUUML#JOr%s3punY)VIIRwUmOU9hDi z&m0l|YloIs+B!i7uIyWAK3}@W`bvo+D|juhNo%}5?KNzr>>5d@E*)3ZduU{q<5IEX zHR%J(ZD&vxGt2(-A0CzeF~*j|l4bt+XB(sV$AlV1XA{IzXU!$PzKqVsQck z?}0H4S6r9?OD~Ixi44My70Zpn7_01G35>))P)z>}%78T34w;Gu;j9qCmFD1J9e{+; z6ciV$p>cwW-4gQ*!cdBc=roLj5FFSPg(JM^l9k3_-@chyI`h7}mZ=j0H-B!NLU#~q zx#R2ql+LH~Bkqt7#Xp3{QxRwT$n}UYsQ1F^al037|0$Z6Fo(L2r$8!7==IuY+}%vW z^5>uUFte*w%0rqW06SRDBxFply5P_kk9x;Zc2<|p~V5pGc5KW4xTZGY0QPbuK zL^VlY2V7}Y(_@(Ffzyp|Xhloqs^0?SX$VYdtYa%Kk2`qOfGQ%XYcVean+zOBn;Tvn zg1R;&w88u%(=b);dO@~`L8H^_?LlTVA7!>HX7lQ4(mUrRXzbBDwjD#yr@7e;>sG6` ztrdpdR%cgj!v`^%iiU$MSbFJ_rV6bX3gB%ZJby_ALfXnKv^;s3_0wL{KGp=7Dj=5+ zYBa8rNf05E#p8NJQgb-?Es^Jy+7|5#2z@k!l}cQa)iA zp5G-DS?hvEnw^WK3>T)h$0nu^<-y|6kC|r_lLE|kZe_9Dn84bNv5dTy zO=<1i{*OeOtb=>?`+V#wqyKULw_yZ1gjJm#2^x5cZk`4zzT|8Fxq(*g_x1C!F%p!V z^rym{$;#w~Wt%uv{PyOLP9@!29@Y`isogUxU$?;&G z9-*q+Biqy?sgyVKeSUQq7{_2cSb-d(Gr2eD?!#>FgDmhxJ+AUOiy?v1LjVq^+|Cr zCXZ-h8_wK7#^Gkh;1O4;9A3bkgTeJ=WjN(D`dj7HFd-Hv9a3QQ`1-x!s%N)IWbPwBDuGZqWn_`t~4aQ+tpu}9uos*r@6%AiuL)CjSEZMiq|hL=bhXRk`vGP{Ps>E|04Sfme|I5n-SHeRK%bvHpx_BO{_ zK?vjcinzOt?(c%>eq~EdrLfNYE+KP}qddpH`msD8AVQOi& zRj$ag;ESG(S7Xp5?$~k+F%=n`y0gL()C0X*5c#Xc$XQD;ZDS_!Jt zm2O}acM44(X;cug4)BYQ<81hnUIKfBRA(E>YZ#2JS|^GBbLY1QOMZrulgv&vW4|Hy z7n{{g<`?x<%tfz!fx2aPYuZffP1P+I6FF)%x2@;I;dpz!Xzw_WuH%|Mca0Ms~&~Mo$0PD;c6T9lObf z(ECUUHq-B_kJ*D_k8U10Y`R!1z%IyUq38^qkt&APg;bH4++#a0e%900YlvUKOhWog zBJf&YMSALY@)*84y^yF| zF9Ts3#pez;dY4_ato-|RHo(ENp<6%GY?0q&O3XeDNL7L5KoePrva_Mzp}Ltla1jMm z!DP%6uHYaMKBcW-v#KApAzc?eqZ1ZVsX|C2W!8*cs0PQ?+;T<1Y=o<1!M|i)LCVHz zP|cN|i@ZPi@6D%Qw<9xCp)yek*js4^eq=m!tqO@UX-6^L`0sq5er2&YsR&pS1ID_X zmS~A<5~ze!w`#Fy;L_Gro36(cpRapLP3%66z!sQlp;$1jPZEx?O?i$KMJnuc*9^}sv24@*Ve?%(l%dlFQ5ODoa7~^En8Eqw~NN2;ypzhPXY5RipfUE+->g^8AK6z$ec!1VTAldN3WT+6`nOk_}h0DIMWCg<3Bf>_a_v!p= z=7YD*i*+cMW=H`X0hv=j6ue&bDHycmBXU4CRroORhW;jEDW&BxdY}!8lKA&?$!Lj3 z_Vnu2E0%d-q&Sw^IK}=&%pK-F7jAjsk>jXCp$F)P$Nhn*C7jM1MjdxmbDm8pyu1b< z&p16^E}O~MPBmVx+OabxBX3r&{I4?~JloIr>1`i~vWbZ-w1@6!79vKjqPI*{NQ1-}CYFSYt{)bnOE5vlgkQUF-tM1&aVz=$DIvr) zi{1(GvM75;&pXTp=?eK^IndBapg(zaZ=ro^gZFj8aXb_c%Xhn$R3}2=NYwTeHj1Z% z&9kA|C+htG?D4<7qqNhMur%^_m;k`QB75_Hhm|2HKL4hxdzxk9J`1E4cv#Dj)e(;n zVS5B}QX_nga01A7H$sq@Ct!<&7AEOOU}HOrdjJt#$BEm#z*I`GxjiM&EdXhYVayeB zWVHWP4EWGGCw?byH@5fMB1|YBbAn!MFKOyoAmyC8IWwEU3xhtEY1Q(1S9MLp0*VM; z4?d|uTlFrq(={y{4_m@Y*6CxI3+PHJ&_!l;W2v8F2PRycBm$eN_!IkO?yh0i;+#N| zF=WhqFid!HBx*YamuA)^kiwIyEj+ZVni#fJ=KS?Y@Gf0V5@a?6+kd3YfJ@Fm5v-d; z@M?eOYa1-YA->C)EI^q?;tBRQz|?l9x4UP2cdN&fn+iUczP7$2T3?cT#B)?2y=3Hc z@%>jM0n6{==jXBZHcdpXi8;=RF_}oJ@-6rX3wK+W&HqYtFFc8^BuN0Y`_GJ`A1tb2 zl1&UHeSN1YPf~YnthVi%SEFGehMQkKN_|SJC(v%(zm5uc_UH(^aM80I8Jv2YzVtNQ zryOEWyxrmoQ>Gqrq7no_2CTE~p_F`u^jcMSM)-XAYJ|a4Gpd4mxAUIy)*#&0+01>~ zMmcUv%+)hb+^yH-l*zjr?aNQ6uu%@5M^jh4~F63j}M!m32_$*Lw!O9gx++#N0RaB3|7&pkk74g*ZD())KjD-Tjc?n{F~r|Ic}5p|1eXL5>5ieu zI;g#*l%aB?vLADWHy97m8k$_n#5GdlD$#(#xOuZPY80QeUID#=zV$!85~j6jRe+mF zZlh@6xuhg# zTyUC%P^m%@1WA>`4~+2^rb9{p(vU`$vOIV_5k<1>tB!Jc z1Ma!iE^YkooD{dACJ_%uMH(duSMe$BzZ_Rd;iq5w?ZQApHi-`nBU2lFj8mj zDS}O+7{JA>yZu*UET8I?DWNyHP7qf;GHC0WaWO&&f6>AiDUwvE0O4x~tvh1atyJ5a zH%W7Zkr^T>9;oE!$vKNMfRN)&nShnCz~IqF$r%gQy{c~_RsCOkXwFd}md2w+#p0K{ z6jSFr!_DYt)R}pBi!V<-tM8wG1iNM-CtBEWNKC1s>0fJ_bB2qKwLMO-Y1b_-GsXsVNS zIwu#Ohd%0pVXY@7z-m!wVJ6VZ3K>u8tZt8cGPC4H;J6pwe7h9lVSxMhzdC5FD+EFf z*OY^B4gION0`2J@K{A?WcPSC)Yd*PK%rb4~` z{A1G3_il7lh=eHX2&SHIekNiPJtbow6R1d@b}Ekq3n4h69@Izj)-`nmg zOSv;F!+Z(-uuDma?<-dmWV&*@*Q~=E?742C@3}qol=$`PSbEeMVYW8)82Lp^YO2@x z@N&b>z3_c?$Yc>cpRXXUqn;9U$7b&DsIEmG*jy2ieWcFZMM_B!0 zT^=Pt9_}_f%q2C&sby`H-}o+jKfXNJe6&8Ig1;n=Y#n9Y@V-Nx$AEbOkDkNRiVM`% zb1HH|yojU|ShRMcqjnZ+@^oZ`6~T~u(i**!0fs7i=2pr}o7A#eyed`c1<(@}k@uHK01t(dc9%Ii@9NV}>_h{d{<6kKgC>1*b(i57(r}_7HT{v@WA@99ANDNu?VgKq~ics}p`VBqK~diW}i zE`C@wE=t+r2U6kp?bUy$xGS``-n9sslk0cUTe_>4r-%C|Cp&LGtSD;NCq)*P@ge2q z3kcr31(c^I>n=+U-6NHnGY3uZ%sS&=k1s#cveT^1ZkvwksbiQ!p&Aj?FG<<3Vt*<7 z#-rt#Jf=^u!{w-VgT|Eh&L}^e?mqXKXDzw>pnJj=4xFt83z6SkfqFRy1?t%syrU&x z4wlQ;LF-F_VBqw@uR4K96+6oi>iUeL)W8x3_zZQ;hlYU|;-mq83+P_vb(CI{mM5ui* zLBZfj+2`Txyiun%m3bgix*$&5DK{s~(hi(MAbCw(;)|Ki#?d0YlkE!D%b9d{b)II^ z-44!{_^pD^yC#reR_iy{sQWfs>rb>-vhFyZ<&L)FGP9?CcPOBgffaD}JCaFQPcPyI zYmTZ3f*)+MU6^h@_jonA3+`N(fJz(4WxhtahjK^ae}QbxR&-ppJijZS#|3}#PIYQ4Rh=60 z27_NJPS<6eYJY|%5&v=11aZZHt*!CSG|WV>z8gj# zG(|dSg_@zN(rTJlPndHxm4-A!Ki$x|0N%oFYDnUoK@WDiHPG~(H2}V(wacl*3p>E& zT7Y0Pn0q_1X6;X^!tL-bNX2^?y?}k~tw~^@6?PRbDW{O;JwX#%K#pzl8`Xfll!1YD zex@j>>pv&VIU$<4<3y_ysPI&7>C-8#A5@z-fvpvM(+OGMqrLhiZZR}47}S~|fQ5jQ z>ZK3Mxkt-pO)lirx#*&S_*Op0vT)Q^F!q|P{FymUqJ11FrqA;QG`-IP~{pbx6tm}SG&G~ zcAs#ql6G#5MQ+F|dR4D%GuocF{yjynCZQkoAI0uVPqGNEQ0vb{nMjmtxl--%hCiT? zFXf5@t&E}XAW3CGTg}uF?ryc zge|EJBDbHKu@*o9OaL(#7FWp?uwzABN9n*Lcd=2^a_Uiw$Ny8;Spdb+Y;70~?iMt` z7k76jiv@QL5L_2`36dbeHMqOG24`^(?(V@M;V1Wg-%Wn*{ibSaYisL$x~ryV=k)aH z^8&+~UHb1q7J6iA(8F=MElb6NXSZj@o^QU7Ax9?Kk)k?ss6Cc0d3_-Ms0PT1qF1|F zmL19;VN1he%MyC*;o~7p_qlQ9ZA_M>zHtqs3|1(av>C)XCtS+1h4-4@1wYz<_=0`Q zpcQ<2?Q|cX#@BXEDMgfI z$dp^(+0en<&<6Bt*JiHPt?iSw#ZO(Io)YDfoIt8gW5Sn`s#d7^DH6#rJYx*e!X!~* z<`y4Scydf|er#NO*rG;bele|-L`_O|`#y3)+_k^CX?$T=8r}~o6E9-b1(4@R52{d- zMY)wJ*-uP;+q>NhFR7uoa3rHLnRat!4ez!ojp3NVBR}lYQ!HN4nzGc44A-Dlg;yQ> zu5t)!?S))$SlFz>l+a8~*1|0;QL@jb%?69cCf(eu_3XJ>xlKw$bJ5(mJKz4?*mHwv z0`^mk7t&fJX-_n1gobwyfLr^w^i(f=3*q0EfEfxRcCV}ZqCQI=s-#UmKE`ul^3U*D zTWFb&8q8$Ej?Kc-6IgXm2^^hR2oN3~ZZ;yl2Rc8VI_1j7%o;JqzhjmPwwmMn zNHzLMCAdOWJzBq0ZEs~Qh!2u7>;KeBYGKR4Kom zt4Xc&u@n1EZUS+SI-*QR{bg|SZD2H*Y$b9~v@<+>9Ne;jd#bB>C{Yz3Cu^Z9@ikU- zmiX#>%VKDFn^Uo^aoJ?lrOGKrj)84e)=K{H^^*KL1!gN%+5@xu1q#uSVN{eg)w~Ul`2BC_Oxs%e7}+>#Y54faZzZgOI2ul|5wZFJUFLu5UOorm6B^>Q|l*&N!5$0f)=bXuc@7Hs)5 z9GQJEnT(XU3+tfu8WUPLP?Ek;I+edPwuN&Y8j??9uH3{CQ*n${MmrS*_9tgWgrx|c zSWo;c(?Sn_>bGuL49G!Pn+V(}?&%F?#>CjH*h)08)fy8=ShyM8_ zKWf_CaxL6r!e#-Tp%JP=>X;eNGcO>A0un;aR)s%{f@iSEfgJbKlLZ)%0hffA5QzcF zOkS0hi~PDp>1Rxr%JPYvnUV0;`XW|R3w<=unma|nWt@&Dbu_X)^d;-b!=6(Lw8GYBNj0|UmYwFv*Z)Q_w(WJ6x6};QT-CtfK!E{^+ zAnC_x*~hEbYx@FroExO8s8XdCVK3P4W=z$0&;*C%V1NrPekQax1r*dA*h|Keh8Xxj zxg~Ou&<`0F=Mz~KUdRM_nq@^*-;(Wqx{NS|pe+-q^@ly^VJSg3;iLHBx1co(5Ah;C zD?h||-F|O2 zzdqv;(7SpyITK(4_A}{fJ~QNXXlW&fR{MAqNnkhOz>i`|#GKA)5@Dc_Szkn}4&$ne zf_^B*=lgo>)Fg$$y+zco&+;`sP9j3QDTL7=HzfS}_ZwsVjbOM3;yUOHY#+MmjMf^?W=p2if``D60|9 zx>7;pB12wIEj>P zAbRA9@DbDGy~R%aByKq;eZg@LYcgjRyE*aFK8!2I@MSV91=3f^yT>;o``;}C%SANA zjgh+x?BjETGRED!5Xb5}4siSG7;Bv!$0Ul@e2XZ7#D@mCQY1WAc2&TYiUGjD>z{Ej z>tfon#a8>)%6u9wG+&7m96o)We!=P@vMRS=xIdl7_D*Y_KgU|YO6DMJ)rcm>(uTI+ zP;qV+3)-fP8}fzgr`3Z{@w3jr<2l$normnXZ@WS&ALY8;2ILZ%wd2fkc7*zGv8NKX z%ADKGv5=)Xvx`^tk15LKtP7}wWrZ;UV+4@=BQ)p<&s#sx?S>DsAtLQEVFn;fw5)4xq{s}}TG*&M%yp#Soye~VI>#g(WV zZgZ~+>U{|xykbtWaL?!Rx3mZ~7PF!x+Z@!C_~aM!yAK^~A9tt}Bq%w&r5=xHSniE- zZB-0wKiCwg%_I`Hwka39FX+mhCo*pC6hYH|<*Z6gyFHBQ;O+$nG>ez3Ry60|#lPm? z`k+V$h0yga2HvJNi^^X-SIlKF4}LT>v*18Q;5rfOG`EmoRWP$q+@Bq$=*x}-0ArzQ z)jV>;gIP|E6>q+V?-rD%=^9mXI#Vp>Bn;-wxhitj9A+U==&F~>8tutvT3fI?)fxIK z_7b1*F4IDV(EKVRvcgeF9uF{8{{_Y$q8iTaORoTCL<%4zIDlqi1F|S4+bD*3H)iK{ z9c<6DzrMfA!{>9dS947mZ3D&t+1rb+r8P|PQ>~qYuTCuyN1mR2#lF%V-}&5}sGS6a zKXpW7HHIT75CX!KB*M=mfW!a>x!?dn@I94IUO+2`pd@Icf>;%O zs41+X{XmMamWnhZgZ-jroch%uVEqn(9B&tEYqCcF!IFZw*m7gb601 zm*Ory_cy-C*QxPLzXR=5R>w^9_2Z*iHB_&i2@I2_qF`pyUQJEiFNU)mFD^tSzJSpY z5@st7qS7vi(g7OYzk}rZu6^N98{n0uyLZQE{D?3{O)8*X8hYMllU!P4rMedZf;~yJ z0BpJ25@grqaOM_zO}ukD9^7vdz@vav>w?{b^bF@!(KkzP24HKRbkZc{bCSxeHO-Bn z&tp|Ftm+V{tyC&j0cVyg`4r!~2ZGU1-(jN64Ra-ZPq zExkEIXG0sk0U4@$o1f+k`9aL#7EN16GF*Q!TxmtT! zcDnJUiwzKacDCsi8bLwESQcS1-(2VMUeIY@_?EmEyIphRBSOTwe=U`WP4cd>FJlxX z{INI6bxu3WAv+?HFlahHN&oG@ZYDnL#}$nhrAxcSMUmk>o!P!c7mAms)RyaAmtAB$ zy}8?ACfISYSEl|dx6?6wV_MqnL^18NP_t)?)N>(Auft^C*DtwO(QUtNU8lw{g<@EY zLMSPI#Oj;k-P`p56nY}Ht___dnE>_s_fa|vv%s%?5N4wDlmg(goO9#}@ag4l_c;D4A9n8gYPe9Tj5AVh|m`$Uf#NHRmw#ztC z4?A0H`*df@Je@738l7@9sVdf?hqF#fSk1u8Xm0vqsqpXtW+iw=7J_lY-&R=X1 zJpuLY>Uqat{1+MynxdoL4HJ$4E(Q>hU9F(%@>NSEb(Qk&zvTsJjMp{eyYZ-|jmLN`go!YK-ebGBp=iSi}=;`@Gy_T`o~3P;*1WKy_$+yaksm>+&Oa62tA< zFB2>e+XItXGLOO@%vc$My;hT`12M^-xm-dbbyqql#Xb-HxoHsm8UD=S^u58#M;@X&>SLGz` z+@C_GXS^xOQ>U_8#D*UC9?h~|fS-E`7{7Ae)rlR>(jrr_8xVpREC6Cw#J*P4^Jao? z@J{pdkBjajL|`vPJjb7mObHAX(sKUvbe-{i?m}xBK z`*PcYxsW_ClOjvkE$q<_%+Pe+7FFLBxE)o+-j^mwU!smWUf{yeiL&l_)as3~Kb^b2|C>uz<9NlTzDkwtFy07*AaTNIfbgi66h@Qoa{VyDS$EB9m-xtS6>< z1uCT_RuCJXJUjIp>{Ec-A$GtP{*h4lnI~XXYElVQyvNg|de+7Nxl77D)#Td^_n>YE zX1?b3V?<9tdC*S26y6v5?Kgqtw<&_$D_FKogV(qSE^ab>n&IuDvE_2AJL|wxu(#cQ zDxjfrsG}KGYLfK2Cq!CrLWVd#DL2cd@F7JKth7@!zpaC{U|D=sHP;5YvGTM}$_e&Ea{ioNFql=Yg2dT|ya0@FmNhCJ)ql?aP-OD|dKfa~x zB#h!R>9@O*Zy#SKCo-Yw<7%4A6p7kQr7p{d^3o3-`6vb-E{a5>T&uB+oNf2b@M!Hb z{@iwHEqrI+XcV=rd)uUcqG9;G>?&&z<&dAQl z#%OHr2x2g|F|}oqeIq6zuPng`as}xs$wbaGqqp6whjAYPF}#-Ci{19RTTcN^0O>ttaZ0->fh7xk){hRoW{exLUx-D;}MLZ(*^d=INo zz}7bz&^kYLFPG1CKg?S?q9MB-L1-9p@d+R2&BO7x^c*tTq~5LyrO0fqzyqe579AOc zaX(vL(qlz+_~YH^iB}|SNge?^5QeMIAuLe%`8pJmC^16x8*wEdfozS#$}|;J)!a*z ztRDV2$0mqEZ$r~*{NoWrPEjc(L=3buH&6s`fq7N@;#LgcFy>hxba3i{Qg3stWxorr z`Ul}V7(=$CQjV&Sr*e~&RYoY?Y=Rkcr|gupy)FfMF@hng-ec$H%3mdOLp#=i8LVx< zo^V9D9-4#&c+9pf1*2u9kSzT0rKwJD@&a*BA|HDiRY^{xxHy7zjHaorg?&9-GN>{W z5xB_9V?Uw$ddd4Z$T|E zIR(`6MT^tv8DDYPqxztGkp&HF;S$6K<5Jh(G+y$FIxN(`e67s0+Pb>? zQxR`wSpEczy0xT~U{1wVXj5A8lYi~a`npl^Ks9|BN6Xr3NZxg4Py};pKrPo6PML82 zz>IJkO8Oxk2-5t68Z_1CDyqCW4yuDZFCktoW)SF=X8-`4D2OniI)Nl-en# zy7OZj#dg=7_SHT>fB*vR*l>?9GA+|?^gWeql zJTgRi-A}fECO`tBw}NT5t9{I$2NK21ZcE6&3J7MS1YjAL+3sRH#lC5FXhIn_WBKuz z@h;7$u}EYuG@SQ+FObOQY?c*nhF=dx?X9s58$tZ3>cr>3!dEwzIU$7&`Q1FCBW3ho zewL;WClMUSxi5OH9Qho_Dz!hmsH6I!J~~eq^Vdo6PZw2PT0%k=X;fNncpOEBfp%nQ zv|5RIifz?FVOWL%NI$?-r6dg;pl1waf-6)UV;*DUoMxNaL>wGt8o#8UK>;uThX-V< zlmIlea$AURWb2gx1?)4!;8B@rxuN3Cb*Mio*8Li2>KdPEsh|1+cseQnsZS<0AO|;n zJ6rQ#uSB2zEE0BpR6N;ExDW6osWpZsx#{RUYYBeY z#}w|Vg{N#P2(o`_31n-hZ)M_aV)d&TnJ4Jx^A5{!E$ACO-4*6foWC=&{_D$1n-;w--W1v$A)3vjP~rG>UPTMaP=z(91CihXM0ep?eyIS%tu`Rrc3~ zuf8$u;Zj=jMlg-ZY2Q_p=1vRNWKGX2cjVy)>xVZAz%@0O%V%$HWO~UF2d*<;f!*Sr zFsU%Y^Z@m&Gy`k4tR=7TKg)k3O=@Jp%cksk`OYourq5WYHZB(uN(1#FZ=H*(`Y>oT0e(h*xfCx5yyypQ4Q zrID>_u@2(gdu1aO;E~Z_fq^E&+7#QMWn~v^9L7xK=OyBFYh-5{r%2oM9u1VMd};SO z>xT;GMlx17IMDg!#KB>A7+ocNhvpr4H(AhstF%O>q0NkCc04bETG_h+$?Wp=lmCUG zz%7wCRsh=^{rv!@lc4Jhf9O*V6*b1a1Mo12I&qo-5C+n5wb)H!xg>_;LxMb_)1e&1 zm64cN@<0`R3$dy%%f*fnXp+*d5pEFJ9X?b$?6(mA3Q3b1MlJ&$(uGjBLjV^^a)slAeL~LJ4Wr`JKuARIg%Kx?cEnC&tUz5YO3ogx>=UYxShBw#T;>dxie1mc)R8m@UJ7V=E z(sEbO=9$OxMmsc_Q#?ZV0oA?bAcCaj*qBAqMfLd4${p}lr~LBUxe>Tec0|`CmuS&B zj~Kbt+BEFc%8`!KfwK=79(c`{H=)>78|EDkY(B0e*5?yW@KP;slenmsb1qxu_WGOv z{?cMYQe8G8N=U~U8{ZKIgYlqI%%Np$-;@o+Y{?}Y$T<%}XD^L>Wv%wFr-}u3)4W#U zOmZ7+ZlzjBVGapv$!GR;qh@4eP%TNy(3#84WfWS+BqH7qPYWxMP}tDePxmrBgy&P{ zzAPv<&fqC)pH2ARHbzfB{OhRk`}JW8GIjeiU-D1&ue|^9g>;96r|cVSJP3%V^_l-1 zHGUCK%zvq$a&c@-9Dl9KJQqK=DF0hsj{~Pq5Os?nsdA>UM8}rKlzcJ6(3jd`2uW86{8cg)RY5(=)`eRb^oc25>{7vhL z{Ri6L5#n>y^GM`3DmnfiQ2&Zco^zf@55GB#3ID)(9!oq&J`WRqBNP7#`Tv53=e+0f j!hd*>EC0m%cl7X92KH$e(yu*8m=McP^GMf}U*G-@g~gfP literal 0 HcmV?d00001 diff --git a/thirdparty/ftfy-4.4.3-py3-none-any.whl.ABOUT b/thirdparty/ftfy-4.4.3-py3-none-any.whl.ABOUT new file mode 100644 index 00000000000..ae2a1d82109 --- /dev/null +++ b/thirdparty/ftfy-4.4.3-py3-none-any.whl.ABOUT @@ -0,0 +1,12 @@ +name: ftfy +version: 4.4.3 +about_resource: ftfy-4.4.3-py3-none-any.whl +download_url: https://files.pythonhosted.org/packages/21/5d/9385540977b00df1f3a0c0f07b7e6c15b5e7a3109d7f6ae78a0a764dab22/ftfy-4.4.3.tar.gz +license_expression: mit +copyright: Copyright (c) Rob Speer (rob@luminoso.com) +attribute: yes +package_url: pkg:pypi/ftfy@4.4.3 +licenses: + - key: mit + name: MIT License + file: mit.LICENSE diff --git a/thirdparty/ftfy-4.4.3.tar.gz b/thirdparty/ftfy-4.4.3.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..63df7176fc7fcc4dbf2fa6bad2d63f5ced79a601 GIT binary patch literal 50530 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

mq-R}7$hmZ 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 L$+N>t0H^{0k6I+@ literal 0 HcmV?d00001 diff --git a/thirdparty/ftfy-5.5.1-py3-none-any.whl b/thirdparty/ftfy-5.5.1-py3-none-any.whl deleted file mode 100644 index c15b09cc9e440ddb351997a64057d1aa33de3256..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43963 zcmY(qLy#y;xG34SZQHhO+qP}ncK2!9wr$(C&G+AUGZS;SwWz37eUVvN3evzJC;$Ke z5CE1Hg0jlW2BvJN008g&000R8t(v)*dD83aTiRK==gP(rMKsOWJ^ZlaHu`ix!^GsN{`ZWQdbZVlYlVcSwOBYEUN1r*Hr(3H$hx6%xTd zYLwAtl{1qbqVUO)^5HaZ)_YOs&AOyT6U74KRw|q>@(PWD5o5wVh#F`qmXJw0C~PC=zJcArx^dO0U1?4DlmjQ5O8{!x zIS@F}!ocLno6wzBCLeg0fz<5xZWXi#JOY)8)u?#crgu#m@x&2 zhCgvklUIceIHGGZeajX+y|^TCs17NX9)D~SmX0&QURRSDwc($$%()2p*kZ9SE~(lp ztE7?qdM}Q6=azlJXB*{BP7≥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 z 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 UUjP^w`s*|Pb?^Z;;E#9z560JhzyJUM diff --git a/thirdparty/ftfy-5.5.1-py3-none-any.whl.ABOUT b/thirdparty/ftfy-5.5.1-py3-none-any.whl.ABOUT deleted file mode 100644 index 8d89b047fce..00000000000 --- a/thirdparty/ftfy-5.5.1-py3-none-any.whl.ABOUT +++ /dev/null @@ -1,14 +0,0 @@ -name: ftfy -version: 5.5.1 -about_resource: ftfy-5.5.1-py3-none-any.whl -download_url: https://files.pythonhosted.org/packages/8f/86/df789c5834f15ae1ca53a8d4c1fc4788676c2e32112f6a786f2625d9c6e6/ftfy-5.5.1-py3-none-any.whl -license_expression: mit -copyright: Copyright (c) Robyn Speer (rspeer@luminoso.com) -attribute: yes -checksum_md5: 9b9716f707a0984f97f61569831da556 -checksum_sha1: 4b7a7c9bb0f5f3f2d9e1dd8564ea1e2681df815e -package_url: pkg:pypi/ftfy@5.5.1 -licenses: - - key: mit - name: MIT License - file: mit.LICENSE From cf05a90ff6cc5e5c4c27b6bd154c99503b0f311a Mon Sep 17 00:00:00 2001 From: rpotter12 Date: Wed, 26 Aug 2020 20:35:38 +0530 Subject: [PATCH 54/55] use pytest to skip py2 Signed-off-by: rpotter12 --- tests/packagedcode/test_cocoapods.py | 57 ++++++++-------- tests/packagedcode/test_rubygems.py | 97 ++++++++++++++-------------- 2 files changed, 76 insertions(+), 78 deletions(-) diff --git a/tests/packagedcode/test_cocoapods.py b/tests/packagedcode/test_cocoapods.py index ca435fb046a..a5d061bf08f 100644 --- a/tests/packagedcode/test_cocoapods.py +++ b/tests/packagedcode/test_cocoapods.py @@ -27,44 +27,43 @@ from __future__ import unicode_literals import os +import pytest -from commoncode.system import py3 +from commoncode.system import py2 from packagedcode import cocoapods from packages_test_utils import PackageTester -# TODO: Fix typeError with StringIO in gemfileparser library - +@pytest.mark.skipif(py2, reason='Does not pass on Python2') class TestRubyGemspec(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') - if py3: # pytest fails in py2 because TypeError with StringIO - def test_rubygems_can_parse_BadgeHub(self): - test_file = self.get_test_loc('cocoapods/podspec/BadgeHub.podspec') - expected_loc = self.get_test_loc('cocoapods/podspec/BadgeHub.podspec.expected.json') - packages = cocoapods.parse(test_file) - self.check_package(packages, expected_loc, regen=False) + def test_rubygems_can_parse_BadgeHub(self): + test_file = self.get_test_loc('cocoapods/podspec/BadgeHub.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/BadgeHub.podspec.expected.json') + packages = cocoapods.parse(test_file) + self.check_package(packages, expected_loc, regen=False) - def test_rubygems_can_parse_LoadingShimmer(self): - test_file = self.get_test_loc('cocoapods/podspec/LoadingShimmer.podspec') - expected_loc = self.get_test_loc('cocoapods/podspec/LoadingShimmer.podspec.expected.json') - packages = cocoapods.parse(test_file) - self.check_package(packages, expected_loc, regen=False) + def test_rubygems_can_parse_LoadingShimmer(self): + test_file = self.get_test_loc('cocoapods/podspec/LoadingShimmer.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/LoadingShimmer.podspec.expected.json') + packages = cocoapods.parse(test_file) + self.check_package(packages, expected_loc, regen=False) - def test_rubygems_can_parse_nanopb(self): - test_file = self.get_test_loc('cocoapods/podspec/nanopb.podspec') - expected_loc = self.get_test_loc('cocoapods/podspec/nanopb.podspec.expected.json') - packages = cocoapods.parse(test_file) - self.check_package(packages, expected_loc, regen=False) + def test_rubygems_can_parse_nanopb(self): + test_file = self.get_test_loc('cocoapods/podspec/nanopb.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/nanopb.podspec.expected.json') + packages = cocoapods.parse(test_file) + self.check_package(packages, expected_loc, regen=False) - def test_rubygems_can_parse_Starscream(self): - test_file = self.get_test_loc('cocoapods/podspec/Starscream.podspec') - expected_loc = self.get_test_loc('cocoapods/podspec/Starscream.podspec.expected.json') - packages = cocoapods.parse(test_file) - self.check_package(packages, expected_loc, regen=False) + def test_rubygems_can_parse_Starscream(self): + test_file = self.get_test_loc('cocoapods/podspec/Starscream.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/Starscream.podspec.expected.json') + packages = cocoapods.parse(test_file) + self.check_package(packages, expected_loc, regen=False) - def test_rubygems_can_parse_SwiftLib(self): - test_file = self.get_test_loc('cocoapods/podspec/SwiftLib.podspec') - expected_loc = self.get_test_loc('cocoapods/podspec/SwiftLib.podspec.expected.json') - packages = cocoapods.parse(test_file) - self.check_package(packages, expected_loc, regen=False) \ No newline at end of file + def test_rubygems_can_parse_SwiftLib(self): + test_file = self.get_test_loc('cocoapods/podspec/SwiftLib.podspec') + expected_loc = self.get_test_loc('cocoapods/podspec/SwiftLib.podspec.expected.json') + packages = cocoapods.parse(test_file) + self.check_package(packages, expected_loc, regen=False) \ No newline at end of file diff --git a/tests/packagedcode/test_rubygems.py b/tests/packagedcode/test_rubygems.py index ade3d5e5532..e7c6a8689e8 100644 --- a/tests/packagedcode/test_rubygems.py +++ b/tests/packagedcode/test_rubygems.py @@ -47,59 +47,58 @@ # TODO: Add test with https://rubygems.org/gems/pbox2d/versions/1.0.3-java # this is a multiple personality package (Java and Ruby) # see also https://rubygems.org/downloads/jaro_winkler-1.5.1-java.gem -# TODO: Fix typeError with StringIO in gemfileparser library +@pytest.mark.skipif(py2, reason='Does not pass on Python2') class TestRubyGemspec(PackageTester): test_data_dir = os.path.join(os.path.dirname(__file__), 'data') - if py3: # pytest fails in py2 because TypeError with StringIO - def test_rubygems_can_parse_gemspec_address_standardization_gemspec(self): - test_file = self.get_test_loc('rubygems/gemspec/address_standardization.gemspec') - expected_loc = self.get_test_loc('rubygems/gemspec/address_standardization.gemspec.expected.json') - packages = rubygems.RubyGem.recognize(test_file) - self.check_packages(packages, expected_loc, regen=False) - - def test_rubygems_can_parse_gemspec_arel_gemspec(self): - test_file = self.get_test_loc('rubygems/gemspec/arel.gemspec') - expected_loc = self.get_test_loc('rubygems/gemspec/arel.gemspec.expected.json') - packages = rubygems.RubyGem.recognize(test_file) - self.check_packages(packages, expected_loc, regen=False) - - def test_rubygems_cat_gemspec(self): - test_file = self.get_test_loc('rubygems/gemspec/cat.gemspec') - expected_loc = self.get_test_loc('rubygems/gemspec/cat.gemspec.expected.json') - packages = rubygems.RubyGem.recognize(test_file) - self.check_packages(packages, expected_loc, regen=False) - - def test_rubygems_github_gemspec(self): - test_file = self.get_test_loc('rubygems/gemspec/github.gemspec') - expected_loc = self.get_test_loc('rubygems/gemspec/github.gemspec.expected.json') - packages = rubygems.RubyGem.recognize(test_file) - self.check_packages(packages, expected_loc, regen=False) - - def test_rubygems_mecab_ruby_gemspec(self): - test_file = self.get_test_loc('rubygems/gemspec/mecab-ruby.gemspec') - expected_loc = self.get_test_loc('rubygems/gemspec/mecab-ruby.gemspec.expected.json') - packages = rubygems.RubyGem.recognize(test_file) - self.check_packages(packages, expected_loc, regen=False) - - def test_rubygems_oj_gemspec(self): - test_file = self.get_test_loc('rubygems/gemspec/oj.gemspec') - expected_loc = self.get_test_loc('rubygems/gemspec/oj.gemspec.expected.json') - packages = rubygems.RubyGem.recognize(test_file) - self.check_packages(packages, expected_loc, regen=False) - - def test_rubygems_rubocop_gemspec(self): - test_file = self.get_test_loc('rubygems/gemspec/rubocop.gemspec') - expected_loc = self.get_test_loc('rubygems/gemspec/rubocop.gemspec.expected.json') - packages = rubygems.RubyGem.recognize(test_file) - self.check_packages(packages, expected_loc, regen=False) - - def test_rubygems_with_variables_gemspec(self): - test_file = self.get_test_loc('rubygems/gemspec/with_variables.gemspec') - expected_loc = self.get_test_loc('rubygems/gemspec/with_variables.gemspec.expected.json') - packages = rubygems.RubyGem.recognize(test_file) - self.check_packages(packages, expected_loc, regen=False) + def test_rubygems_can_parse_gemspec_address_standardization_gemspec(self): + test_file = self.get_test_loc('rubygems/gemspec/address_standardization.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/address_standardization.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + + def test_rubygems_can_parse_gemspec_arel_gemspec(self): + test_file = self.get_test_loc('rubygems/gemspec/arel.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/arel.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + + def test_rubygems_cat_gemspec(self): + test_file = self.get_test_loc('rubygems/gemspec/cat.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/cat.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + + def test_rubygems_github_gemspec(self): + test_file = self.get_test_loc('rubygems/gemspec/github.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/github.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + + def test_rubygems_mecab_ruby_gemspec(self): + test_file = self.get_test_loc('rubygems/gemspec/mecab-ruby.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/mecab-ruby.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + + def test_rubygems_oj_gemspec(self): + test_file = self.get_test_loc('rubygems/gemspec/oj.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/oj.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + + def test_rubygems_rubocop_gemspec(self): + test_file = self.get_test_loc('rubygems/gemspec/rubocop.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/rubocop.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) + + def test_rubygems_with_variables_gemspec(self): + test_file = self.get_test_loc('rubygems/gemspec/with_variables.gemspec') + expected_loc = self.get_test_loc('rubygems/gemspec/with_variables.gemspec.expected.json') + packages = rubygems.RubyGem.recognize(test_file) + self.check_packages(packages, expected_loc, regen=False) class TestRubyGemMetadata(FileBasedTesting): From a2910a9d236e13b55f15eda5fcefa276a15f5d4d Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Fri, 4 Sep 2020 19:16:25 +0200 Subject: [PATCH 55/55] Add workaround for #2201 Do not use version 20.1.0 and add tests. Signed-off-by: Philippe Ombredanne --- azure-pipelines.yml | 4 +++- etc/release/pip-install-editable.sh | 29 +++++++++++++++++++++++++++++ etc/release/pip-install.sh | 11 +++++++++-- setup.py | 2 +- 4 files changed, 42 insertions(+), 4 deletions(-) create mode 100755 etc/release/pip-install-editable.sh diff --git a/azure-pipelines.yml b/azure-pipelines.yml index d21feaf7c9f..5f4542de849 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -208,8 +208,10 @@ jobs: displayName: 'Build installable releases' - script: ./etc/release/pip-install.sh - displayName: 'Test pip installation' + displayName: 'Test pip wheel installation' + - script: ./etc/release/pip-install-editable.sh + displayName: 'Test pip editable installation' ################################################################################ # These jobs are using VMs and Azure-provided Pythons 3.6 diff --git a/etc/release/pip-install-editable.sh b/etc/release/pip-install-editable.sh new file mode 100755 index 00000000000..b631711e6c1 --- /dev/null +++ b/etc/release/pip-install-editable.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# +# Copyright (c) nexB Inc. http://www.nexb.com/ - All rights reserved. +# + +# ScanCode release script +# This script creates and tests release archives in the dist/ dir + +set -e + +# un-comment to trace execution +set -x + +echo "### Installing ScanCode release with pip editable###" + +mkdir -p tmp/pipe +python -m venv tmp/pipe +tmp/pipe/bin/pip install -e . + +# perform a minimal check of the results for https://github.com/nexB/scancode-toolkit/issues/2201 +if [ `tmp/pipe/bin/scancode -i --json-pp - NOTICE | grep -c "scan_timings"` == 1 ]; then + echo "Failed scan that includes timings" + exit 1 +else + echo "pass" +fi + +set +e +set +x diff --git a/etc/release/pip-install.sh b/etc/release/pip-install.sh index 1564dc54805..9d3a86e27f2 100755 --- a/etc/release/pip-install.sh +++ b/etc/release/pip-install.sh @@ -15,8 +15,15 @@ echo "### Installing ScanCode release with pip ###" mkdir -p tmp/pip python -m venv tmp/pip -source tmp/pip/bin/activate -pip install dist/scancode_toolkit*.whl +tmp/pip/bin/pip install dist/scancode_toolkit*.whl + +# perform a minimal check of the results for https://github.com/nexB/scancode-toolkit/issues/2201 +if [ `tmp/pip/bin/scancode -i --json-pp - NOTICE | grep -c "scan_timings"` == 1 ]; then + echo "Failed scan that includes timings" + exit 1 +else + echo "pass" +fi set +e set +x diff --git a/setup.py b/setup.py index 3426178e932..e6239c1770d 100644 --- a/setup.py +++ b/setup.py @@ -200,7 +200,7 @@ def read(*names, **kwargs): 'click >= 6.0.0, < 7.0.0', 'colorama >= 0.3.9', 'pluggy >= 0.4.0, < 1.0', - 'attrs >=18.1', + 'attrs >=18.1, !=20.1.0', 'typing >=3.6, < 3.7', # scancode outputs

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