diff --git a/skills/cuopt-numerical-optimization-api-c/BENCHMARK.md b/skills/cuopt-numerical-optimization-api-c/BENCHMARK.md index 146fb8606a..3672dccb71 100644 --- a/skills/cuopt-numerical-optimization-api-c/BENCHMARK.md +++ b/skills/cuopt-numerical-optimization-api-c/BENCHMARK.md @@ -7,7 +7,7 @@ This benchmark summarizes 3-Tier Evaluation from NVSkills-Eval results for the s ## Evaluation Summary - Skill: `cuopt-numerical-optimization-api-c` -- Evaluation date: 2026-06-10 +- Evaluation date: 2026-06-26 - NVSkills-Eval profile: `external` - Environment: `astra-sandbox` - Dataset: 4 evaluation tasks @@ -55,33 +55,25 @@ Task composition is derived from the evaluation dataset when possible. Entries w | Dimension | Num | `claude-code` | `codex` | |---|---:|---:|---:| | Security | 4 | 100% (+0%) | 100% (+0%) | -| Correctness | 4 | 88% (+16%) | 72% (+16%) | -| Discoverability | 4 | 68% (+46%) | 55% (+36%) | -| Effectiveness | 4 | 92% (+7%) | 70% (+17%) | -| Efficiency | 4 | 66% (+48%) | 62% (+35%) | +| Correctness | 4 | 88% (+31%) | 82% (+23%) | +| Discoverability | 4 | 70% (+52%) | 63% (+45%) | +| Effectiveness | 4 | 94% (+35%) | 94% (+33%) | +| Efficiency | 4 | 69% (+44%) | 69% (+42%) | Score values show skill-assisted performance. Values in parentheses show uplift versus the no-skill baseline when baseline data is available. ## Tier 1: Static Validation Summary -Tier 1 validation passed with observations. NVSkills-Eval ran 9 checks and found 7 total findings. +Tier 1 validation passed with observations. NVSkills-Eval ran 1 checks and found 2 total findings. Top findings: -- MEDIUM QUALITY/quality_efficiency: Deeply nested references in examples.md (`skills/cuopt-numerical-optimization-api-c/SKILL.md`) - MEDIUM SCHEMA/body_recommended_section: Missing recommended section: '## Instructions' (`skills/cuopt-numerical-optimization-api-c/SKILL.md`) -- LOW QUALITY/quality_discoverability: No '## Purpose' section (`skills/cuopt-numerical-optimization-api-c/SKILL.md`) -- LOW QUALITY/quality_reliability: No prerequisites/requirements documented (`skills/cuopt-numerical-optimization-api-c/SKILL.md`) -- LOW QUALITY/quality_reliability: No limitations documented (`skills/cuopt-numerical-optimization-api-c/SKILL.md`) +- LOW SCHEMA/author_format: Author must be of the form 'Name ' (`skills/cuopt-numerical-optimization-api-c/SKILL.md`) ## Tier 2: Deduplication Summary -Tier 2 validation passed. NVSkills-Eval ran 2 checks and found 0 total findings. - -Notable observations: - -- Context Deduplication: Collected 9 file(s) -- Inter-Skill Deduplication: Parsed skill 'cuopt-numerical-optimization-api-c': 105 char description +This tier was not run or did not produce findings in this report. ## Publication Recommendation diff --git a/skills/cuopt-numerical-optimization-api-c/SKILL.md b/skills/cuopt-numerical-optimization-api-c/SKILL.md index dcc71876c9..a8e4530e39 100644 --- a/skills/cuopt-numerical-optimization-api-c/SKILL.md +++ b/skills/cuopt-numerical-optimization-api-c/SKILL.md @@ -14,6 +14,7 @@ metadata: --- + # cuOpt Numerical Optimization — C API Solve LP, MILP, and QP problems via the cuOpt C API. The same library, headers, build pattern, and core calls (`cuOptCreate*Problem`, `cuOptSolve`, `cuOptGetObjectiveValue`) apply across all three; QP extends the API with quadratic-objective creation calls. diff --git a/skills/cuopt-numerical-optimization-api-c/skill-card.md b/skills/cuopt-numerical-optimization-api-c/skill-card.md index 7e449513f6..bae5692822 100644 --- a/skills/cuopt-numerical-optimization-api-c/skill-card.md +++ b/skills/cuopt-numerical-optimization-api-c/skill-card.md @@ -7,26 +7,32 @@ This skill is ready for commercial/non-commercial use.
NVIDIA
### License/Terms of Use:
-Apache 2.0
+Apache-2.0
## Use Case:
-Developers and engineers embedding LP, MILP, or QP numerical optimization into C/C++ applications using the NVIDIA cuOpt GPU-accelerated solver.
+Developers and engineers embedding LP, MILP, or QP optimization in C/C++ applications using the cuOpt GPU-accelerated solver.
### Deployment Geography for Use:
Global
+## Requirements / Dependencies:
+**Requires API Key or External Credential:** [No]
+**Credential Type(s):** [None]
+ +Do not include secrets in prompts/logs/output; use least-privilege credentials; rotate keys as appropriate.
+ ## Known Risks and Mitigations:
Risk: Review before execution as proposals could introduce incorrect or misleading guidance into skills.
Mitigation: Review and scan skill before deployment.
## Reference(s):
- [C API Examples (LP/MILP)](references/examples.md)
+- [Assets — Reference C Examples](assets/README.md)
- [cuOpt User Guide](https://docs.nvidia.com/cuopt/user-guide/latest/introduction.html)
-- [cuOpt Examples Repository](https://github.com/NVIDIA/cuopt-examples)
## Skill Output:
**Output Type(s):** [Code, Shell commands]
-**Output Format:** [Markdown with inline C code blocks]
+**Output Format:** [C source code with inline shell build commands]
**Output Parameters:** [1D]
**Other Properties Related to Output:** [None]
@@ -37,7 +43,7 @@ Mitigation: Review and scan skill before deployment.
## Evaluation Tasks:
-Evaluated against 4 internal evaluation tasks (positive skill-activation cases) via NVSkills-Eval with the external profile.
+Evaluated against 4 internal evaluation tasks (NVSkills-Eval, external profile, astra-sandbox environment).
## Evaluation Metrics Used:
Reported benchmark dimensions:
@@ -62,10 +68,10 @@ Underlying evaluation signals used in this run:
| Dimension | Num | `claude-code` | `codex` | |---|---:|---:|---:| | Security | 4 | 100% (+0%) | 100% (+0%) | -| Correctness | 4 | 88% (+16%) | 72% (+16%) | -| Discoverability | 4 | 68% (+46%) | 55% (+36%) | -| Effectiveness | 4 | 92% (+7%) | 70% (+17%) | -| Efficiency | 4 | 66% (+48%) | 62% (+35%) | +| Correctness | 4 | 88% (+31%) | 82% (+23%) | +| Discoverability | 4 | 70% (+52%) | 63% (+45%) | +| Effectiveness | 4 | 94% (+35%) | 94% (+33%) | +| Efficiency | 4 | 69% (+44%) | 69% (+42%) | ## Skill Version(s):
26.08.00 (source: frontmatter)
diff --git a/skills/cuopt-numerical-optimization-api-c/skill.oms.sig b/skills/cuopt-numerical-optimization-api-c/skill.oms.sig index 0b414e1616..66a3cc7990 100644 --- a/skills/cuopt-numerical-optimization-api-c/skill.oms.sig +++ b/skills/cuopt-numerical-optimization-api-c/skill.oms.sig @@ -1 +1 @@ -{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIICgzCCAgmgAwIBAgIUKIyS7SxNteQIiWzK1dWj85E6520wCgYIKoZIzj0EAwMwVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwHhcNMjYwNDAxMDAwMDAwWhcNMjgwNDIyMTUzMzA5WjBUMQswCQYDVQQGEwJVUzEbMBkGA1UECgwSTlZJRElBIENvcnBvcmF0aW9uMSgwJgYDVQQDDB9OVklESUEgQWdlbnQgU2tpbGxzIFNpZ25pbmcgMDAxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEYoRM9bQl/dGlwSRNi6bTpIJUXH8Nv9GciP6LSflJYYMLCc296kpyuTSsk5ddbAWiDcFX3C/ydX3jwc+qCLYP6uHy9XphyLjOQ27Yb2J6rBLVtRBS1mgGco/Gr7fL6ODco4GaMIGXMB0GA1UdDgQWBBRQ/5ZW3nJ6lmo9SVk7I15o7UGmpTAfBgNVHSMEGDAWgBRPGpILxMBBleJSsBGjrMKsby1CgjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vY3NwLm5kaXMubnZpZGlhLmNvbTAKBggqhkjOPQQDAwNoADBlAjAUygu/GiOCIXrgGr4SmLgeEVDcEitfFUv7ALbvLVGVyMysB3mxmO/uInZfXzWcJZsCMQDxuoxj4ZmO30jhkPIcCxGFCOvnUsnfU3TfGcouYm4M6iRpbKvtVnHPiy4bi6pcKf0="},{"rawBytes":"MIICiDCCAg6gAwIBAgIUZsIuSv9NkpJCNqtYEfCouVv5BzowCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASI72cR3ctKGg4VWnB3bNja6g1Z2PnOmFEopkPof+QeIcPk9rT+g9MjJnq51EQXL93a7C2GJ9J985G4o2V85VD7wJ1RaXhluHW2rf3y8bQGeAYaKMr5s/hUgn+M3/9WlWejgaAwgZ0wHQYDVR0OBBYEFE8akgvEwEGV4lKwEaOswqxvLUKCMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMDcGCCsGAQUFBwEBBCswKTAnBggrBgEFBQcwAYYbaHR0cDovL29jc3AubmRpcy5udmlkaWEuY29tMAoGCCqGSM49BAMDA2gAMGUCMQCeIMMfAbyzPDacw2MxG+Yt1cikrJX/DVxiGfXuHmkkXn6VgSzE79+lkqDErpVO2gYCMCNEColOyvUvkzZGUEI1hQ3PfMgi3FIo9tHoBKMw4/wGBLFpu/0ubtmbBXM6/UMOEw=="},{"rawBytes":"MIICRTCCAcygAwIBAgIUeJdY3rV86EdvFmG7L8LJBsyQFYkwCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTB2MBAGByqGSM49AgEGBSuBBAAiA2IABAYpiXCDjJ9NT2eSDhyHJVSw1Tbze18cGG2F/578oWvHxg23eQAhNRYdq88i1iOshZSO6C29doKui5Xpmo/7Ctw9Sx4PP2RzOmIuOLCuTdNtKcTRwi4GEsd5BAFvWj42M6NjMGEwHQYDVR0OBBYEFItnoAjjfuCEUvzyvWyI2vOGvwPjMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cAMGQCMCwtAjWLaNwgGWNCgdyNoTyvNhqWRECRJV2r3+7w8g0PL6NHLOsbkgE09BH95h8XlgIwTaQmbbUh2ChAJ5TA1wRiVDnCcvbzHlZl2jM2FcwQQZlk19LOAbyGMRixbu2Ww/rj"}]},"tlogEntries":[]},"dsseEnvelope":{"payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YxIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiY3VvcHQtbnVtZXJpY2FsLW9wdGltaXphdGlvbi1hcGktYyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmMDFkOWU2OWY1NWY0Y2Q3MTlkNDJkMjY3ZWFiMjg2MjY1ZmFlMDY5YjY4NTZhZTU1ZGY0MmJjYjQzY2UxYWQ3IgogICAgICB9CiAgICB9CiAgXSwKICAicHJlZGljYXRlVHlwZSI6ICJodHRwczovL21vZGVsX3NpZ25pbmcvc2lnbmF0dXJlL3YxLjAiLAogICJwcmVkaWNhdGUiOiB7CiAgICAicmVzb3VyY2VzIjogWwogICAgICB7CiAgICAgICAgIm5hbWUiOiAiQkVOQ0hNQVJLLm1kIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICIxZGNiNTZkOGVlZTlhMTgxNDVkMGRjNTY1ZmZiNGQ3N2RmNTc5M2YyZDk1M2UxZjYyNTI3NmRhZmI5YmU2YzIyIgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAiU0tJTEwubWQiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogIjA1MDBkOWI5ZWU3NGE5NTg1NDM4NDRkYzczMjRiODM3YmE4MDI5NDY5OTg4MDkyMmFkZjI1MWI1OTZlYzkwZTIiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJhc3NldHMvUkVBRE1FLm1kIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICI4MDA4MDY1M2Y2YjRmOTBmNGE0NGYxMmY2NzA1YzdiOTMzZTZiZjU1ODZkNzIxZDUzNmE0MTdlYTMwOTliOTlkIgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAiYXNzZXRzL2xwX2Jhc2ljL1JFQURNRS5tZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiYmE0YmMzNTAyNGNiMmUyZmVhNTc5MjI0YzIxZjdiNTYxNGI5ZjFlMGU0NWVmNDEwZmRmZDZiMmVhOTcyNGMzNiIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogImFzc2V0cy9scF9iYXNpYy9scF9zaW1wbGUuYyIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiNjhmNDUxODM0Y2EwOTdiZjQ0MmNiYzU2NzdiNDM1MWFkNzY1NjM1NTUwYzdhYjlmYjQ4ZTczNzk0YmY5MWI4OSIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogImFzc2V0cy9scF9kdWFscy9SRUFETUUubWQiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogImI5ZDMwYzBmNWZkMDkwNzE5YjY3MmQ4OWYzZjM2YjdhNGRkMDBjZTFlMDZhZjY1ZGEwN2U5YTdmYzdiNDUxNzciCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJhc3NldHMvbHBfZHVhbHMvbHBfZHVhbHMuYyIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiMGU5MDAyZWExOGZkNTQ5ZDM4NmMxMmQyYTBiMDE0YTBlZDA4ZTU0ZjE1NzU4OGI4ODkyMzNmMmIxNWVkNzIyZSIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogImFzc2V0cy9scF93YXJtc3RhcnQvUkVBRE1FLm1kIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICI4ZWIxOTM4MGI0OWM0MTAzNmJmMGUyZWQ0ZGMyYTkxYTllZjNiYzY5OWMwMDM2MmI4YjdlYTk4M2Q5YWNhZDQzIgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAiYXNzZXRzL21pbHBfYmFzaWMvUkVBRE1FLm1kIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICJjOGY5ZjMwZDZiZjU5OTU1ZmUyMTMzNDllNTNjNmJhOWFjNTVmZTZlMzk4OGFmM2RhNWYzNGNjY2VhZGMzMmI1IgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAiYXNzZXRzL21pbHBfYmFzaWMvbWlscF9zaW1wbGUuYyIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiNDZlMGY3NGU5ZTU4MjE1ODFhNTQ5MTFkYWZjNjUzZTdlYTEzNDQwYzlkN2I5ZjYyZGMyZGQwMjY0NTc3NmFlMSIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogImFzc2V0cy9taWxwX3Byb2R1Y3Rpb25fcGxhbm5pbmcvUkVBRE1FLm1kIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICI0NmRkOWIzM2U4NmE4MTU2YjIyZjhjNjQ5NDRhYWMwODkxYWUxNjZkNGQ4M2Y2YTNmNjU0YTNlYzYxZmMxMDdjIgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAiYXNzZXRzL21pbHBfcHJvZHVjdGlvbl9wbGFubmluZy9taWxwX3Byb2R1Y3Rpb24uYyIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiZjcxZGE4MGUwMGI0OWJiYWJmNjJmNzI3YTFkOWQ0OGVmYjJlMTg0MjFlODMzZjNiNmM1MzNjNWIyYjg2ZDM2NCIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogImFzc2V0cy9tcHNfc29sdmVyL1JFQURNRS5tZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiNzZkNjUwNjMxOTY0Y2Y4YjJhZDM3OWEwYzI1YTYxNzM5ZDVkY2IwZDI3NDYyNzZhYmRjNjgwNWQ3NmVlZTRkYyIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogImFzc2V0cy9tcHNfc29sdmVyL2RhdGEvc2FtcGxlLm1wcyIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiMzBiM2Y4NzE5MTgxNjBlOWMxYzVlNzYwZTM5ZTllNWE5NzNlNTFhYWFkMDk3OTg3NjVjOGNhNzQxNjQxYmIwNCIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogImFzc2V0cy9tcHNfc29sdmVyL21wc19zb2x2ZXIuYyIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiODE3NTg3ZjMwZTVhNzEzYTMyNjUxM2ZiMjUwMGMwNWI5MDI1ODE0N2NmMTZjMTk0NDk3NDQwYjAwMmJkMWE1OCIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogImV2YWxzL2V2YWxzLmpzb24iLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogImRiZDcxYjk2ZmI1ZDY0YjFkM2M4ZjY1N2NlOTAzNDU3NjA0OWFjYTllYzlhYWU2ZWEyNzZlNmNiZmE4OGNjMmQiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJyZWZlcmVuY2VzL2V4YW1wbGVzLm1kIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICI0MjhmZDI5OTE5Mjg0MzhmYWI5ODZkZGE5NzVkNGJkYWFlODlhMTNhM2MzY2Q5ZGUyMDI1MDBlNjY4YWM0Y2U0IgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAic2tpbGwtY2FyZC5tZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiNTI4MDNkNDk5NGFmOWFhMDZhMTgyN2RmYjAxNDM3ZWIyMmM0MWNkZGQ4NTJiZDIxNmVjMDczMWIxZGRhZTUwZSIKICAgICAgfQogICAgXSwKICAgICJzZXJpYWxpemF0aW9uIjogewogICAgICAiYWxsb3dfc3ltbGlua3MiOiBmYWxzZSwKICAgICAgIm1ldGhvZCI6ICJmaWxlcyIsCiAgICAgICJpZ25vcmVfcGF0aHMiOiBbCiAgICAgICAgIi5naXRodWIiLAogICAgICAgICIuZ2l0aWdub3JlIiwKICAgICAgICAiLmdpdCIsCiAgICAgICAgIi5naXRhdHRyaWJ1dGVzIgogICAgICBdLAogICAgICAiaGFzaF90eXBlIjogInNoYTI1NiIKICAgIH0KICB9Cn0=","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MGQCMH1vZ0CgVwUPIs2gCy9sDaorEIYjDJxo5tXKjq4PjIwRNSZuROwvK0pM0gZoNNauJQIwCKh0w80OspNbSkK1khgcPtdGEksCSaRuaRzji3BZDF1Y4uQHUYKqZm9sbCyfh1qd","keyid":""}]}} \ No newline at end of file +{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIICgzCCAgmgAwIBAgIUKIyS7SxNteQIiWzK1dWj85E6520wCgYIKoZIzj0EAwMwVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwHhcNMjYwNDAxMDAwMDAwWhcNMjgwNDIyMTUzMzA5WjBUMQswCQYDVQQGEwJVUzEbMBkGA1UECgwSTlZJRElBIENvcnBvcmF0aW9uMSgwJgYDVQQDDB9OVklESUEgQWdlbnQgU2tpbGxzIFNpZ25pbmcgMDAxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEYoRM9bQl/dGlwSRNi6bTpIJUXH8Nv9GciP6LSflJYYMLCc296kpyuTSsk5ddbAWiDcFX3C/ydX3jwc+qCLYP6uHy9XphyLjOQ27Yb2J6rBLVtRBS1mgGco/Gr7fL6ODco4GaMIGXMB0GA1UdDgQWBBRQ/5ZW3nJ6lmo9SVk7I15o7UGmpTAfBgNVHSMEGDAWgBRPGpILxMBBleJSsBGjrMKsby1CgjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vY3NwLm5kaXMubnZpZGlhLmNvbTAKBggqhkjOPQQDAwNoADBlAjAUygu/GiOCIXrgGr4SmLgeEVDcEitfFUv7ALbvLVGVyMysB3mxmO/uInZfXzWcJZsCMQDxuoxj4ZmO30jhkPIcCxGFCOvnUsnfU3TfGcouYm4M6iRpbKvtVnHPiy4bi6pcKf0="},{"rawBytes":"MIICiDCCAg6gAwIBAgIUZsIuSv9NkpJCNqtYEfCouVv5BzowCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASI72cR3ctKGg4VWnB3bNja6g1Z2PnOmFEopkPof+QeIcPk9rT+g9MjJnq51EQXL93a7C2GJ9J985G4o2V85VD7wJ1RaXhluHW2rf3y8bQGeAYaKMr5s/hUgn+M3/9WlWejgaAwgZ0wHQYDVR0OBBYEFE8akgvEwEGV4lKwEaOswqxvLUKCMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMDcGCCsGAQUFBwEBBCswKTAnBggrBgEFBQcwAYYbaHR0cDovL29jc3AubmRpcy5udmlkaWEuY29tMAoGCCqGSM49BAMDA2gAMGUCMQCeIMMfAbyzPDacw2MxG+Yt1cikrJX/DVxiGfXuHmkkXn6VgSzE79+lkqDErpVO2gYCMCNEColOyvUvkzZGUEI1hQ3PfMgi3FIo9tHoBKMw4/wGBLFpu/0ubtmbBXM6/UMOEw=="},{"rawBytes":"MIICRTCCAcygAwIBAgIUeJdY3rV86EdvFmG7L8LJBsyQFYkwCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTB2MBAGByqGSM49AgEGBSuBBAAiA2IABAYpiXCDjJ9NT2eSDhyHJVSw1Tbze18cGG2F/578oWvHxg23eQAhNRYdq88i1iOshZSO6C29doKui5Xpmo/7Ctw9Sx4PP2RzOmIuOLCuTdNtKcTRwi4GEsd5BAFvWj42M6NjMGEwHQYDVR0OBBYEFItnoAjjfuCEUvzyvWyI2vOGvwPjMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cAMGQCMCwtAjWLaNwgGWNCgdyNoTyvNhqWRECRJV2r3+7w8g0PL6NHLOsbkgE09BH95h8XlgIwTaQmbbUh2ChAJ5TA1wRiVDnCcvbzHlZl2jM2FcwQQZlk19LOAbyGMRixbu2Ww/rj"}]},"tlogEntries":[]},"dsseEnvelope":{"payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YxIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiY3VvcHQtbnVtZXJpY2FsLW9wdGltaXphdGlvbi1hcGktYyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkNDgyNDU0YTUyYjEwN2U3NTIxZWNmYTg3MDVlMjY1MWQ5MDU0MmU0YzQxYmYzZjdmNzZkNGRlNDRiNjRiZGMwIgogICAgICB9CiAgICB9CiAgXSwKICAicHJlZGljYXRlVHlwZSI6ICJodHRwczovL21vZGVsX3NpZ25pbmcvc2lnbmF0dXJlL3YxLjAiLAogICJwcmVkaWNhdGUiOiB7CiAgICAic2VyaWFsaXphdGlvbiI6IHsKICAgICAgImlnbm9yZV9wYXRocyI6IFsKICAgICAgICAiLmdpdGlnbm9yZSIsCiAgICAgICAgIi5naXRhdHRyaWJ1dGVzIiwKICAgICAgICAiLmdpdCIsCiAgICAgICAgIi5naXRodWIiCiAgICAgIF0sCiAgICAgICJtZXRob2QiOiAiZmlsZXMiLAogICAgICAiYWxsb3dfc3ltbGlua3MiOiBmYWxzZSwKICAgICAgImhhc2hfdHlwZSI6ICJzaGEyNTYiCiAgICB9LAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJuYW1lIjogIkJFTkNITUFSSy5tZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiYTNmNjNjZmI5ZDY1YjM2NmNlMGM5MmVjNDM4MDhiMWI1ODhhNjJlZjYxZTM4OTM0OTk5Y2E0YTcwODM0YjQ4NyIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogIlNLSUxMLm1kIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICI2YmM3MDhhODVmYjQ2MzNhYTY1ZDA2MmJmZWU5MWIwNDU0OTVjOTIxNjQ3YjU5NjBkMzY0ZWI4NmY4M2UzMDc2IgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAiYXNzZXRzL1JFQURNRS5tZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiODAwODA2NTNmNmI0ZjkwZjRhNDRmMTJmNjcwNWM3YjkzM2U2YmY1NTg2ZDcyMWQ1MzZhNDE3ZWEzMDk5Yjk5ZCIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogImFzc2V0cy9scF9iYXNpYy9SRUFETUUubWQiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogImJhNGJjMzUwMjRjYjJlMmZlYTU3OTIyNGMyMWY3YjU2MTRiOWYxZTBlNDVlZjQxMGZkZmQ2YjJlYTk3MjRjMzYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJhc3NldHMvbHBfYmFzaWMvbHBfc2ltcGxlLmMiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogIjU0ZGYyOGY0OWEwYzFhZmFlMTNiYmI5MzY4ZDUwYTkwODBlNGQzNzY2YjM5YjNhMjU3NzFjZjFkNTU0OGQwN2EiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJhc3NldHMvbHBfZHVhbHMvUkVBRE1FLm1kIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICJiOWQzMGMwZjVmZDA5MDcxOWI2NzJkODlmM2YzNmI3YTRkZDAwY2UxZTA2YWY2NWRhMDdlOWE3ZmM3YjQ1MTc3IgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAiYXNzZXRzL2xwX2R1YWxzL2xwX2R1YWxzLmMiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogIjZjNGIwNTljZTEyMjBkY2E4NTNjZDYyOGEzNTgyZDEzODFjNzZhNTcyM2QzMTkyY2FmMDEzYWM4NWZjZTk2NzUiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJhc3NldHMvbHBfd2FybXN0YXJ0L1JFQURNRS5tZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiOGViMTkzODBiNDljNDEwMzZiZjBlMmVkNGRjMmE5MWE5ZWYzYmM2OTljMDAzNjJiOGI3ZWE5ODNkOWFjYWQ0MyIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogImFzc2V0cy9taWxwX2Jhc2ljL1JFQURNRS5tZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiYzhmOWYzMGQ2YmY1OTk1NWZlMjEzMzQ5ZTUzYzZiYTlhYzU1ZmU2ZTM5ODhhZjNkYTVmMzRjY2NlYWRjMzJiNSIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogImFzc2V0cy9taWxwX2Jhc2ljL21pbHBfc2ltcGxlLmMiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogIjhiNTI4OWI3ODhjZDIyMGY5OWE4ZjRlOWQ2YzFkZTlkYzI2YWJkNGIzNzQzZGQ2NDMzMjYyNmIxMTZmN2UwN2IiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJhc3NldHMvbWlscF9wcm9kdWN0aW9uX3BsYW5uaW5nL1JFQURNRS5tZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiNDZkZDliMzNlODZhODE1NmIyMmY4YzY0OTQ0YWFjMDg5MWFlMTY2ZDRkODNmNmEzZjY1NGEzZWM2MWZjMTA3YyIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogImFzc2V0cy9taWxwX3Byb2R1Y3Rpb25fcGxhbm5pbmcvbWlscF9wcm9kdWN0aW9uLmMiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogIjVjYTQ2ODI4ZjYyOTcxYjcwZTQ4MWZjNWM2ZmMyYjhlZmYxY2EwNmNiNWJiZDRlMDAxZjllMmJlZWI0OTk0ZmEiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJhc3NldHMvbXBzX3NvbHZlci9SRUFETUUubWQiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogIjc2ZDY1MDYzMTk2NGNmOGIyYWQzNzlhMGMyNWE2MTczOWQ1ZGNiMGQyNzQ2Mjc2YWJkYzY4MDVkNzZlZWU0ZGMiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJhc3NldHMvbXBzX3NvbHZlci9kYXRhL3NhbXBsZS5tcHMiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogIjMwYjNmODcxOTE4MTYwZTljMWM1ZTc2MGUzOWU5ZTVhOTczZTUxYWFhZDA5Nzk4NzY1YzhjYTc0MTY0MWJiMDQiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJhc3NldHMvbXBzX3NvbHZlci9tcHNfc29sdmVyLmMiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogImY1MzI5OWYxYmI2ODMzZTllZGZkZDEyYjcxMTI4NDVjMjQwYzJkYTA1MjFmODhiMDNlM2Y2NWVhMGFhYjVlZmYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJldmFscy9ldmFscy5qc29uIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICI2ZTRhY2Q0MTdiYTA0ZGY3NzRhOWJjYjJmNmM3YzZiYmNjMWUzZWJmN2I5MTJiZWQ3MmE2NDY1NjJmYzA5ZjhlIgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAicmVmZXJlbmNlcy9leGFtcGxlcy5tZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiODdhZjVlYjk1ZmMzMzlkZTA1YmFjNTU1ZDAyYWI3NTI3NTI0YzkyYjkwZWNiOGVmYjAyNzQ3YTQ5ODgzZmY0ZSIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogInNraWxsLWNhcmQubWQiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogImVhY2Q5ZjdkMDc4OGRlYWFjMjQ1OGUxMDdhNDlkNTA4YjNhNWNmMDAwYzE4ZTU1MGI1NTlmNzM3NDgxMjMzMDIiCiAgICAgIH0KICAgIF0KICB9Cn0=","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MGUCMGrjCC70SfHirfrlqdj1tohp5tYc34AaVvXnihttiyvjNazPVPREckH2x6OW32Z6vAIxAKnxXP++SpR2UyLwjoaiKZfbcULJ/X0UR1NUpFvPa49pahdi4VBQf+D6/CP8nG7a4Q==","keyid":""}]}} \ No newline at end of file