From ed1967a8de3767afa11d3f4215b369b0e092131e Mon Sep 17 00:00:00 2001 From: Matus Marhefka Date: Mon, 11 Apr 2022 17:38:09 +0200 Subject: [PATCH 01/10] Fedora CI: replace STI with tmt --- .fmf/version | 1 + gating.yaml | 8 ++++---- plans/main.fmf | 6 ++++++ tests/tests.yml | 9 --------- 4 files changed, 11 insertions(+), 13 deletions(-) create mode 100644 .fmf/version create mode 100644 plans/main.fmf delete mode 100644 tests/tests.yml diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/gating.yaml b/gating.yaml index b16b396..4b3cff0 100644 --- a/gating.yaml +++ b/gating.yaml @@ -1,17 +1,17 @@ --- !Policy product_versions: - - fedora-* + - fedora-* decision_context: bodhi_update_push_testing subject_type: koji_build rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/main.functional} --- !Policy product_versions: - - fedora-* + - fedora-* decision_context: bodhi_update_push_stable subject_type: koji_build rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/main.functional} --- !Policy product_versions: - rhel-* diff --git a/plans/main.fmf b/plans/main.fmf new file mode 100644 index 0000000..63d6437 --- /dev/null +++ b/plans/main.fmf @@ -0,0 +1,6 @@ +summary: Run tests from scap-security-guide tests repository +discover: + how: fmf + url: https://src.fedoraproject.org/tests/scap-security-guide +execute: + how: tmt diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100644 index 1546340..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,9 +0,0 @@ -- hosts: localhost - roles: - - role: standard-test-beakerlib - tags: - - classic - repositories: - - repo: "https://src.fedoraproject.org/tests/scap-security-guide.git" - dest: "scap-security-guide" - fmf_filter: "tier: 1, 2" From b3dde6d19964cb4259f8573429e6a35a32c65c19 Mon Sep 17 00:00:00 2001 From: Vojtech Polasek Date: Mon, 30 May 2022 13:29:00 +0200 Subject: [PATCH 02/10] rebase to 0.1.62 --- .gitignore | 1 + scap-security-guide.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 10fb6cd..ba1a6d5 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,4 @@ /scap-security-guide-0.1.58.tar.bz2 /scap-security-guide-0.1.59.tar.bz2 /scap-security-guide-0.1.60.tar.bz2 +/scap-security-guide-0.1.62.tar.bz2 diff --git a/scap-security-guide.spec b/scap-security-guide.spec index dcb9a18..f927cfa 100644 --- a/scap-security-guide.spec +++ b/scap-security-guide.spec @@ -4,7 +4,7 @@ %global _vpath_builddir build Name: scap-security-guide -Version: 0.1.60 +Version: 0.1.62 Release: 1%{?dist} Summary: Security guidance and baselines in SCAP formats License: BSD @@ -98,6 +98,10 @@ rm %{buildroot}/%{_docdir}/%{name}/Contributors.md %endif %changelog +* Mon May 30 2022 Vojtech Polasek - 0.1.62-1 +- Update to latest upstream SCAP-Security-Guide-0.1.62 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.62 + * Fri Jan 28 2022 Watson Sato - 0.1.60-1 - Update to latest upstream SCAP-Security-Guide-0.1.60 release: https://github.com/ComplianceAsCode/content/releases/tag/v0.1.60 diff --git a/sources b/sources index f97e8d2..7ce9265 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (scap-security-guide-0.1.60.tar.bz2) = 41899c1209b64eb13e76368da141db25fe7e2ab280e67dafc750d470049062f0f16c70ee79f4b3a2131f30c9fb8e23e3c22fb354577239698f2b7f30544d969a +SHA512 (scap-security-guide-0.1.62.tar.bz2) = b8cdd76ad0c09c9257121283df6e5a8f2acd6c9734ff9b577673ce8ff04af8a1b9ceb37621cb8bd0873391f771844e0479954850ae77b442c780206b957a0e09 From 6a9f56ef100a9bc75b18af4834a18056fc100f6a Mon Sep 17 00:00:00 2001 From: Vojtech Polasek Date: Mon, 30 May 2022 13:45:38 +0200 Subject: [PATCH 03/10] add python-setuptools dependency because of CPE applicability language and version parsing --- scap-security-guide.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/scap-security-guide.spec b/scap-security-guide.spec index f927cfa..ac0fb45 100644 --- a/scap-security-guide.spec +++ b/scap-security-guide.spec @@ -21,6 +21,7 @@ BuildRequires: /usr/bin/python3 BuildRequires: python%{python3_pkgversion} BuildRequires: python%{python3_pkgversion}-jinja2 BuildRequires: python%{python3_pkgversion}-PyYAML +BuildRequires: python%{python3_pkgversion}-setuptools Requires: xml-common, openscap-scanner >= 1.2.5 %description From 0d80879c9151c5be0fcfbfe400180bb805de5ca0 Mon Sep 17 00:00:00 2001 From: Matus Marhefka Date: Tue, 31 May 2022 10:13:10 +0200 Subject: [PATCH 04/10] Add ci.fmf file which is needed for proper CI results reporting --- ci.fmf | 1 + 1 file changed, 1 insertion(+) create mode 100644 ci.fmf diff --git a/ci.fmf b/ci.fmf new file mode 100644 index 0000000..c5aa0e0 --- /dev/null +++ b/ci.fmf @@ -0,0 +1 @@ +resultsdb-testcase: separate From dc31b9b7fe69fd482c83a220fcee86ef7f4e683c Mon Sep 17 00:00:00 2001 From: Matus Marhefka Date: Wed, 1 Jun 2022 17:22:45 +0200 Subject: [PATCH 05/10] main is reserved keyword by tmt and cannot be used as a plan name --- gating.yaml | 4 ++-- plans/{main.fmf => fedora_tests.fmf} | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename plans/{main.fmf => fedora_tests.fmf} (100%) diff --git a/gating.yaml b/gating.yaml index 4b3cff0..1d65cc1 100644 --- a/gating.yaml +++ b/gating.yaml @@ -4,14 +4,14 @@ product_versions: decision_context: bodhi_update_push_testing subject_type: koji_build rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/main.functional} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/fedora_tests.functional} --- !Policy product_versions: - fedora-* decision_context: bodhi_update_push_stable subject_type: koji_build rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/main.functional} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/fedora_tests.functional} --- !Policy product_versions: - rhel-* diff --git a/plans/main.fmf b/plans/fedora_tests.fmf similarity index 100% rename from plans/main.fmf rename to plans/fedora_tests.fmf From 6444a5f3d947756e322a5b0ce220125ce7f7edfc Mon Sep 17 00:00:00 2001 From: Watson Sato Date: Mon, 1 Aug 2022 15:07:33 +0200 Subject: [PATCH 06/10] Rebase to 0.1.63 --- .gitignore | 1 + scap-security-guide.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ba1a6d5..74183ff 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,4 @@ /scap-security-guide-0.1.59.tar.bz2 /scap-security-guide-0.1.60.tar.bz2 /scap-security-guide-0.1.62.tar.bz2 +/scap-security-guide-0.1.63.tar.bz2 diff --git a/scap-security-guide.spec b/scap-security-guide.spec index ac0fb45..69cd8a7 100644 --- a/scap-security-guide.spec +++ b/scap-security-guide.spec @@ -4,7 +4,7 @@ %global _vpath_builddir build Name: scap-security-guide -Version: 0.1.62 +Version: 0.1.63 Release: 1%{?dist} Summary: Security guidance and baselines in SCAP formats License: BSD @@ -99,6 +99,10 @@ rm %{buildroot}/%{_docdir}/%{name}/Contributors.md %endif %changelog +* Mon Aug 01 2022 Watson Sato - 0.1.63-1 +- Update to latest upstream SCAP-Security-Guide-0.1.63 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.63 + * Mon May 30 2022 Vojtech Polasek - 0.1.62-1 - Update to latest upstream SCAP-Security-Guide-0.1.62 release: https://github.com/ComplianceAsCode/content/releases/tag/v0.1.62 diff --git a/sources b/sources index 7ce9265..553cad7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (scap-security-guide-0.1.62.tar.bz2) = b8cdd76ad0c09c9257121283df6e5a8f2acd6c9734ff9b577673ce8ff04af8a1b9ceb37621cb8bd0873391f771844e0479954850ae77b442c780206b957a0e09 +SHA512 (scap-security-guide-0.1.63.tar.bz2) = ad2f7f873af22b0bc2916d8487f6d5621c65495c4c84a0a4e8c98969d5edd2a0833e956b32c19c893e1852b15adc65af24bb4fea7db71b3042c5e1b512a3957b From 4291626786f19c4788a84408d1fb1ea37a770597 Mon Sep 17 00:00:00 2001 From: Watson Sato Date: Tue, 4 Oct 2022 15:17:11 +0200 Subject: [PATCH 07/10] Rebase to 0.1.64 --- .gitignore | 1 + scap-security-guide.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 74183ff..b19d1ae 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,4 @@ /scap-security-guide-0.1.60.tar.bz2 /scap-security-guide-0.1.62.tar.bz2 /scap-security-guide-0.1.63.tar.bz2 +/scap-security-guide-0.1.64.tar.bz2 diff --git a/scap-security-guide.spec b/scap-security-guide.spec index 69cd8a7..48b7082 100644 --- a/scap-security-guide.spec +++ b/scap-security-guide.spec @@ -4,7 +4,7 @@ %global _vpath_builddir build Name: scap-security-guide -Version: 0.1.63 +Version: 0.1.64 Release: 1%{?dist} Summary: Security guidance and baselines in SCAP formats License: BSD @@ -99,6 +99,10 @@ rm %{buildroot}/%{_docdir}/%{name}/Contributors.md %endif %changelog +* Tue Oct 04 2022 Watson Sato - 0.1.64-1 +- Update to latest upstream SCAP-Security-Guide-0.1.64 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.64 + * Mon Aug 01 2022 Watson Sato - 0.1.63-1 - Update to latest upstream SCAP-Security-Guide-0.1.63 release: https://github.com/ComplianceAsCode/content/releases/tag/v0.1.63 diff --git a/sources b/sources index 553cad7..c7ad9b3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (scap-security-guide-0.1.63.tar.bz2) = ad2f7f873af22b0bc2916d8487f6d5621c65495c4c84a0a4e8c98969d5edd2a0833e956b32c19c893e1852b15adc65af24bb4fea7db71b3042c5e1b512a3957b +SHA512 (scap-security-guide-0.1.64.tar.bz2) = fc295bafdac8a3fafbcd1bff50b7043a11de23e1a363883a7fac11d3734e9d381dad2e180cc14c259e34fa4eea8b0c27720a8df455d509be3c97913f51294850 From 1f763ec42c377cc27be99e6d7fe17e8e522bb353 Mon Sep 17 00:00:00 2001 From: Marcus Burghardt Date: Tue, 6 Dec 2022 16:07:34 +0100 Subject: [PATCH 08/10] Rebase to 0.1.65 --- .gitignore | 1 + scap-security-guide.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index b19d1ae..74d11e8 100644 --- a/.gitignore +++ b/.gitignore @@ -47,3 +47,4 @@ /scap-security-guide-0.1.62.tar.bz2 /scap-security-guide-0.1.63.tar.bz2 /scap-security-guide-0.1.64.tar.bz2 +/scap-security-guide-0.1.65.tar.bz2 diff --git a/scap-security-guide.spec b/scap-security-guide.spec index 48b7082..7e4cba3 100644 --- a/scap-security-guide.spec +++ b/scap-security-guide.spec @@ -4,7 +4,7 @@ %global _vpath_builddir build Name: scap-security-guide -Version: 0.1.64 +Version: 0.1.65 Release: 1%{?dist} Summary: Security guidance and baselines in SCAP formats License: BSD @@ -99,6 +99,10 @@ rm %{buildroot}/%{_docdir}/%{name}/Contributors.md %endif %changelog +* Tue Dec 06 2022 Marcus Burghardt - 0.1.65-1 +- Update to latest upstream SCAP-Security-Guide-0.1.65 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.65 + * Tue Oct 04 2022 Watson Sato - 0.1.64-1 - Update to latest upstream SCAP-Security-Guide-0.1.64 release: https://github.com/ComplianceAsCode/content/releases/tag/v0.1.64 diff --git a/sources b/sources index c7ad9b3..ece9ecf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (scap-security-guide-0.1.64.tar.bz2) = fc295bafdac8a3fafbcd1bff50b7043a11de23e1a363883a7fac11d3734e9d381dad2e180cc14c259e34fa4eea8b0c27720a8df455d509be3c97913f51294850 +SHA512 (scap-security-guide-0.1.65.tar.bz2) = 8c0f7431da33d80878d37cecff6afd55cfc3cc4085e987a5b0d5cecc8969373afa24c409d25bbe6de5ce1b6a718ed0d8c685a029ec7fec0c0de7d66f5040ad16 From c21bb080061958192b4ec7eb1a6c7f1bfa65505e Mon Sep 17 00:00:00 2001 From: Vojtech Polasek Date: Mon, 6 Feb 2023 14:19:32 +0100 Subject: [PATCH 09/10] update to version 0.1.66 --- .gitignore | 1 + ...ide-0.1.60-fix-jinja-loading-PR_7944.patch | 85 ------------------- scap-security-guide.spec | 6 +- sources | 2 +- 4 files changed, 7 insertions(+), 87 deletions(-) delete mode 100644 scap-security-guide-0.1.60-fix-jinja-loading-PR_7944.patch diff --git a/.gitignore b/.gitignore index 74d11e8..c769772 100644 --- a/.gitignore +++ b/.gitignore @@ -48,3 +48,4 @@ /scap-security-guide-0.1.63.tar.bz2 /scap-security-guide-0.1.64.tar.bz2 /scap-security-guide-0.1.65.tar.bz2 +/scap-security-guide-0.1.66.tar.bz2 diff --git a/scap-security-guide-0.1.60-fix-jinja-loading-PR_7944.patch b/scap-security-guide-0.1.60-fix-jinja-loading-PR_7944.patch deleted file mode 100644 index 72a07c4..0000000 --- a/scap-security-guide-0.1.60-fix-jinja-loading-PR_7944.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 396fb9029e74b38ea09236c6cd1a7cb38f545afe Mon Sep 17 00:00:00 2001 -From: Gabriel Becker -Date: Wed, 1 Dec 2021 13:20:47 +0100 -Subject: [PATCH] Fix jinja issue on fedora rawhide. - ---- - tests/unit/ssg-module/test_playbook_builder.py | 4 ++-- - utils/duplicated_prodtypes.py | 4 ++-- - utils/fix_file_ocilclause.py | 4 ++-- - utils/move_rules.py | 2 +- - 4 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/tests/unit/ssg-module/test_playbook_builder.py b/tests/unit/ssg-module/test_playbook_builder.py -index 6692c54dfab..38b6f1f52e2 100644 ---- a/tests/unit/ssg-module/test_playbook_builder.py -+++ b/tests/unit/ssg-module/test_playbook_builder.py -@@ -34,9 +34,9 @@ def test_build_rule_playbook(): - assert os.path.exists(real_output_filepath) - - with open(real_output_filepath, "r") as real_output: -- real_output_yaml = yaml.load(real_output) -+ real_output_yaml = yaml.load(real_output, Loader=yaml.Loader) - with open(expected_output_filepath, "r") as expected_output: -- expected_output_yaml = yaml.load(expected_output) -+ expected_output_yaml = yaml.load(expected_output, Loader=yaml.Loader) - - real_play = real_output_yaml.pop() - expected_play = expected_output_yaml.pop() -diff --git a/utils/duplicated_prodtypes.py b/utils/duplicated_prodtypes.py -index 4cb2c16fef8..25c36c58d81 100755 ---- a/utils/duplicated_prodtypes.py -+++ b/utils/duplicated_prodtypes.py -@@ -23,7 +23,7 @@ def _create_profile_cache(ssg_root): - files.sort() - for filename in files: - profile_path = os.path.join(prod_profiles_dir, filename) -- parsed_profile = yaml.load(open(profile_path, 'r')) -+ parsed_profile = yaml.load(open(profile_path, 'r'), Loader=yaml.Loader) - for _obj in parsed_profile['selections']: - obj = _obj - if '=' in obj: -@@ -210,7 +210,7 @@ def find_profiles(ssg_root, path, obj_name): - def parse_from_yaml(file_contents, lines): - new_file_arr = file_contents[lines[0]:lines[1] + 1] - new_file = "\n".join(new_file_arr) -- return yaml.load(new_file) -+ return yaml.load(new_file, Loader=yaml.Loader) - - - def print_file(file_contents): -diff --git a/utils/fix_file_ocilclause.py b/utils/fix_file_ocilclause.py -index 462d2b37c15..d79bb8c51e0 100755 ---- a/utils/fix_file_ocilclause.py -+++ b/utils/fix_file_ocilclause.py -@@ -23,7 +23,7 @@ def _create_profile_cache(ssg_root): - files.sort() - for filename in files: - profile_path = os.path.join(prod_profiles_dir, filename) -- parsed_profile = yaml.load(open(profile_path, 'r')) -+ parsed_profile = yaml.load(open(profile_path, 'r'), Loader=yaml.Loader) - for _obj in parsed_profile['selections']: - obj = _obj - if '=' in obj: -@@ -205,7 +205,7 @@ def fix_ocil_clause(ssg_root, path, obj_name): - def parse_from_yaml(file_contents, lines): - new_file_arr = file_contents[lines[0]:lines[1] + 1] - new_file = "\n".join(new_file_arr) -- return yaml.load(new_file) -+ return yaml.load(new_file, Loader=yaml.Loader) - - - def print_file(file_contents): -diff --git a/utils/move_rules.py b/utils/move_rules.py -index 2deb62b488a..e91a661be85 100755 ---- a/utils/move_rules.py -+++ b/utils/move_rules.py -@@ -340,7 +340,7 @@ def fix_ocil_clause(ssg_root, path, obj_name): - def parse_from_yaml(file_contents, lines): - new_file_arr = file_contents[lines[0]:lines[1] + 1] - new_file = "\n".join(new_file_arr) -- return yaml.load(new_file) -+ return yaml.load(new_file, Loader=yaml.Loader) - - - def print_file(file_contents): diff --git a/scap-security-guide.spec b/scap-security-guide.spec index 7e4cba3..bdb9efd 100644 --- a/scap-security-guide.spec +++ b/scap-security-guide.spec @@ -4,7 +4,7 @@ %global _vpath_builddir build Name: scap-security-guide -Version: 0.1.65 +Version: 0.1.66 Release: 1%{?dist} Summary: Security guidance and baselines in SCAP formats License: BSD @@ -99,6 +99,10 @@ rm %{buildroot}/%{_docdir}/%{name}/Contributors.md %endif %changelog +* Mon Feb 06 2023 Vojtech Polasek - 0.1.66-1 +- Update to latest upstream SCAP-Security-Guide-0.1.66 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.66 + * Tue Dec 06 2022 Marcus Burghardt - 0.1.65-1 - Update to latest upstream SCAP-Security-Guide-0.1.65 release: https://github.com/ComplianceAsCode/content/releases/tag/v0.1.65 diff --git a/sources b/sources index ece9ecf..90a355e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (scap-security-guide-0.1.65.tar.bz2) = 8c0f7431da33d80878d37cecff6afd55cfc3cc4085e987a5b0d5cecc8969373afa24c409d25bbe6de5ce1b6a718ed0d8c685a029ec7fec0c0de7d66f5040ad16 +SHA512 (scap-security-guide-0.1.66.tar.bz2) = 1eee044d7d160c6f271db9a2d5262de2a577e03e103fe697e341000c34bf5208037fc88e9f4d7bfdb0b04a46660c4244a7cba214a4fe949f94e3358b12f15cc3 From c4259b4da9931fde0b29b546563fa3d743a3ddcb Mon Sep 17 00:00:00 2001 From: Matthew Burket Date: Wed, 12 Apr 2023 16:27:21 -0500 Subject: [PATCH 10/10] Rebase to 0.1.67 --- .gitignore | 1 + scap-security-guide.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c769772..813bef4 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,4 @@ /scap-security-guide-0.1.64.tar.bz2 /scap-security-guide-0.1.65.tar.bz2 /scap-security-guide-0.1.66.tar.bz2 +/scap-security-guide-0.1.67.tar.bz2 diff --git a/scap-security-guide.spec b/scap-security-guide.spec index bdb9efd..8219aeb 100644 --- a/scap-security-guide.spec +++ b/scap-security-guide.spec @@ -4,7 +4,7 @@ %global _vpath_builddir build Name: scap-security-guide -Version: 0.1.66 +Version: 0.1.67 Release: 1%{?dist} Summary: Security guidance and baselines in SCAP formats License: BSD @@ -99,6 +99,10 @@ rm %{buildroot}/%{_docdir}/%{name}/Contributors.md %endif %changelog +* Wed Apr 12 2023 Matthew Burket - 0.1.67-1 +- Update to latest upstream SCAP-Security-Guide-0.1.67 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.67 + * Mon Feb 06 2023 Vojtech Polasek - 0.1.66-1 - Update to latest upstream SCAP-Security-Guide-0.1.66 release: https://github.com/ComplianceAsCode/content/releases/tag/v0.1.66 diff --git a/sources b/sources index 90a355e..412097c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (scap-security-guide-0.1.66.tar.bz2) = 1eee044d7d160c6f271db9a2d5262de2a577e03e103fe697e341000c34bf5208037fc88e9f4d7bfdb0b04a46660c4244a7cba214a4fe949f94e3358b12f15cc3 +SHA512 (scap-security-guide-0.1.67.tar.bz2) = 31bc39f2ac04409962908ff4c0dacebfff397322f413012029c6c1bc9f7ad1f2b86d81fb22b005df5430f31983cdf4f5c304202be650aed740de868b05c19056