编写Pants插件的测试支持。
项目描述
Pants 是一个由 Python 和 Rust 编写的 Apache2 许可证的构建工具。
最新文档可以在 pantsbuild.org 找到。
2.17.x 版本系列
❗❗❗ 此项目不再通过 PyPI 发布,而是通过 GitHub 发布。请参阅 https://github.com/pantsbuild/pants/releases
新增内容
个人和公司现在可以 资助 Pants。
Pants 是一个开源项目,不由任何公司或组织拥有或控制,并且确实产生了一些费用。这些费用由 Pants Build 管理,这是一个为这一目的而成立的非营利组织。该非营利组织的唯一收入来源是使用 Pants 的个人和公司的赞助。
我们为公司提供 正式的赞助层级,以及通过 GitHub 的个人赞助。
总体
现在推荐使用 pants
启动器二进制文件(即 scie-pants
)来运行 Pants。在存储库中使用 ./pants
脚本已被弃用。
pants
启动器具有许多优点,例如
- 自动下载并维护运行 Pants 所需的 Python 发行版
- 可以从存储库中的任何目录运行
pants
,而不仅仅是构建根目录 - 启动命令时的开销大大减少(高达 4-5 倍)
有关如何迁移到 pants
启动器二进制文件的更多信息,请参阅 Pants 安装说明。
与此相关,pants 的分发模型正在发生变化,2.17 将是最后一个将 pantsbuild.pants
软件包发布到 PyPI 的版本。
- 请使用
pants_requirements
目标 安装插件所需的软件包,而不是python_requirement
或类似的。 - 通用(跨平台)的
pants
PEX 软件包现在发布到 GitHub 发布。对于未来的版本,将附加更小的按平台 PEX 软件包。
性能
如上所述,新的启动器二进制文件减少了启动开销。
大文件现在作为独立的磁盘文件缓存,而不是直接存储在 pants 用于缓存的内部数据库中(但仍然位于 ~/.cache/pants/lmdb_store
目录下)。这提高了对这些文件的操作性能,尤其是在缓存目录和沙盒临时目录位于同一文件系统上时,允许创建硬链接。
后端
Python
Python 依赖项现在通过在 Rust 中实现的固有规则进行分析,以提高性能,优于之前的 Python 实现的规则。有关性能改进的讨论,请参阅 #18854。
导出的可变虚拟环境现在可以包括 PEP-660 的可编辑安装 python_distribution
目标。要为此解析启用此功能,请将解析的名称添加到 pants.toml
中的 [export].py_editables_in_resolves
列表中。请参阅 #18639 了解 Pants 的 PEP-660 实现的详细信息。
地下默认使用的 pip
已从 20.3.4 更改为 23.1.2。这个更新的 pip
在许多情况下有更好的依赖解析性能,但可能比早期的 pip
给出不同的结果。当然,这些结果在意义上仍然是正确的,因为它们将兼容您的需求和约束。
python_awslambda
或 python_google_cloud_function
目标现在支持云提供商推荐的新 'zip' 布局。这种布局比现有的 Lambdex 布局具有更小的包和更快的冷启动,将在 2.18 中成为默认设置。请参阅 有关 python_awslambda
的迁移文档 和 有关 python_google_cloud_function
的迁移文档。
[python].interpreter_constraints
选项的默认值在 2.16 中已被弃用,现在已被删除:pants.toml
必须提供此选项。如果您可以,我们建议限制为单个解释器次要版本,例如:interpreter_constraints = ['==3.11.*']
。有关更多详细信息,请参阅 解释器兼容性文档。
Docker
Docker 后端现在支持通过 DOCKER_HOST
、DOCKER_CONFIG
和 DOCKER_CERT_PATH
环境变量进行注册表认证。
新功能:JavaScript(实验性!)
由于 Tobias Nilsson 和 Theo Ribeiro 的持续努力,Pants 现在对 JavaScript 具有非常早期的实验性支持。请注意,JavaScript 后端仍然不完整,正在积极开发中,并且可能存在关键错误。尽管如此,Pants 维护者仍欢迎社区提供的任何反馈,以帮助指导我们的开发工作。
支持的目标是
test
:允许您通过您选择的包管理器安装的运行程序运行测试。package
目标,要么运行一个定制的package.json
脚本来生成通过node_build_script
生成的工件,要么通过npm_distribution
目标打包用于 npm-registry 发布的 tarball。tailor
:为*.js
、*.test.js
和package.json
文件生成构建文件目标。generate-lockfile
:在项目的包管理器格式中创建 lockfile。
后端支持 corepack
提供的所有包管理器。yarn@v2
和 PlugNPlay 不受支持。
启用 pants.backend.experimental.javascript
后端以尝试此支持。对于遇到的任何问题,请 提交问题,并关注 GitHub 上的稳定化工单。
新功能:Taplo TOML 格式化器
Pants 现在支持 Taplo TOML 格式化器。启用 pants.backend.tools.taplo
后端以添加此支持。
插件 API 变更
规则现在应通过 Get
的新单参数形式请求不需要输入类型的输出类型。例如,规则现在可以编写 await Get(ChosenLocalEnvironmentName)
。某些仅存在以解决先前缺乏此类语法的问题的请求类型现在已被弃用,以支持单参数 Get()
形式。
现在已弃用 PythonBinary
类型,请改用 PythonBuildStandalone
。
2.17.1(2023 年 11 月 10 日)
是 2.17.x 系列的第二个稳定版本,自上一个 rc
版本以来仅进行了文档更改!
2.17.1rc3(2023 年 10 月 28 日)
错误修复
- 添加了对异步文件打开的最佳努力限制,以减少文件句柄数量( cherry-pick #20055)(#20078)
2.17.1rc2(2023 年 10 月 17 日)
错误修复
-
修复了收集具有覆盖率 Go 构建请求的算法( cherry-pick #20030)(#20033)
-
docker_image
:必须不为空的image_tags
字段( cherry-pick #19980)(#19991)
文档
- 文档:移除 2.15 示例配置(#19995 cherry-pick)。
2.17.1rc1(2023年10月06日)
错误修复
-
支持在包含环境目标的同一 BUILD 文件中使用
__defaults__
。(#19446 cherry-pick) -
为 M1 支持,从 vscode-shellcheck 获取 shellcheck(#19945 cherry-pick)
-
在 write_digest 中立即使写入的文件无效(#19903 cherry-pick)
-
修复由于同一设备上的多个挂载导致的“无法创建硬链接”错误(#19894 cherry-pick)
-
为
yamllint
后端添加缺失的__init__.py
文件(#19899 cherry-pick)
文档
-
将 Tom 和 Gautham 添加到贡献者页面(#19955 cherry-pick)
-
从文档中删除对 PyPI/
pantsbuild.pants
轮子的引用(#19924 cherry-pick)
2.17.1rc0(2023年9月20日)
新功能
with contextlib.suppress(ImportError)
弱化导入(#19293 cherry-pick)
错误修复
-
将
pantsd
指纹功能移植到 Rust,并从本地客户端验证(#19833 cherry-pick) -
将 register.py 添加到 pants bin 依赖项的附加目录(#19848 cherry pick)
-
修复命名空间包的全局报告覆盖率(#19821 cherry-pick)
-
允许请求
TargetRootsToFieldSets
的请求者关闭二级所有权警告(#19721 cherry-pick)
性能
- 移除
Paths
的备忘录以减少内存使用(#19689 cherry-pick)
文档
-
文档:移除工具链引用(cherrypick #19508)
-
文档:改进全局选项 'PANTS_CONCURRENT' 的帮助字符串(#19822 cherry-pick)
-
修复文档(InitialConfiguration)go 后端(#19806 cherry-pick)
-
修复 Lambda 文档中打字错误的工件名称(#19739 cherry-pick)
-
更新文档更改日志以包括 2.17.x(#19729 cherry-pick)
2.17.0(2023年8月29日)
该系列的首个稳定版本,自上一个 rc
以来没有变化!
2.17.0rc5(2023年8月26日)
错误修复
- 从默认映射中删除
tensorboard
映射(#19673 cherry-pick)
文档
- 回滚到 2.17:文档:在插件 Goal 示例中设置 EnvironmentBehavior(#19590)
2.17.0rc4(2023年8月23日)
用户 API 变更
-
需要 scie-pants 0.9.2 或更高版本,用于新的分发模型(#19654 cherry-pick)
-
将 Python 3.12 添加到默认解释器宇宙(#19641 cherry-pick)
错误修复
-
让 Pants 创建
immutable_inputs
基父级(#19646 cherry-pick) -
尽可能使用硬链接为 mypy 缓存(#19633 cherry-pick)
-
撤销 pyenv 安装将文件标记为 RO(#19645 cherry-pick)
-
使 mypy 缓存移动真正原子化(#19610 cherry-pick)
-
为 Docker-env PBS 使用命名缓存(#19611 的 cherry-pick)(#19616)
-
为 Rust 依赖推断添加路径到缓存键,针对相对导入(#19630 的 cherry-pick)(#19640)
文档
-
回滚到 2.17:修复死链接文档(#19546)(#19659)
-
在 2.17 的 "新增功能" 中添加额外的提及和调整(#19629 的 cherry-pick)(#19642)
-
文档:修复
setting-up-ide
和interpreter-compatibility
文档中的代码示例(#19624 的 cherry-pick)(#19639) -
文档:修复 Markdown 不一致之处(#19363 的 cherry-pick)(#19622)
-
文档:将 2.16 添加到变更日志(#19589 的 cherry-pick)(#19597)
2.17.0rc3(2023 年 8 月 13 日)
用户 API 变更
- 升级默认 pip 到 v23.1.2。(#19538 的 cherry-pick)(#19541)
错误修复
-
Scala:在依赖推断中支持 Enum(#19588 的 cherry-pick)(#19593)
-
修复新的工具锁文件弃用消息。(#19565)(#19565)
-
修复 golangci-lint 运行脚本(#19015 的 cherry-pick)(#19473)
文档
-
v2.17.x 的 "新增功能" 初稿(#19168 的 cherry-pick)(#19595)
-
在文档中添加 ruff,调整 pyugprade,autoflake(#19555 的 cherry-pick)(#19576)
-
捕获 Google 艺术品注册表的陷阱(#19568 的 cherry-pick)(#19570)
-
停止在 CI 文档中引用 ~/.cache/pants/setup(#19554 的 cherry-pick)(#19561)
-
可见性:文档修复和说明。(#19438 的 cherry-pick)(#19494)
2.17.0rc2(2023 年 7 月 14 日)
错误修复
-
可见性:修复使用目标类型在详细规则选择器中的问题(#19437 的 cherry-pick)(#19456)
-
使用 "package_name" 变量修复 UnboundLocalError。(#19433 的 cherry-pick)(#19453)
-
修复 Helm 文档示例(#19271 的 cherry-pick)(#19313)
文档
-
调整获取帮助文档(#19418 的 cherry-pick)(#19419)
-
细化
run_shell_command
文档(#19413 的 cherry-pick)(#19421) -
在 docsite 中添加赞助页面(#19412 的 cherry-pick)(#19416)
-
从存储库中的 Markdown 文件获取文档标题(#19311 的 cherry-pick)(#19321)
-
文档:调整缓存信息的布局,移除 toolchain :( 和关于 bazel-remote-cache 的附加信息(#19299 的 cherry-pick)(#19329)
2.17.0rc1(2023 年 6 月 8 日)
插件 API 变更
- 弃用使用
PythonBinary
(#19209 的 cherry-pick)(#19222)
错误修复
-
改进 Helm 单元测试中额外文件的处理(#19263 的 cherry-pick)(#19268)
-
将 taplo 添加到发布(#19258 的 cherry-pick)(#19259)
-
在 Rust 依赖推断解析器中处理 from foo import * 通配符导入(#19249 的 cherry-pick)(#19255)
-
修复次要所有权警告语义(#19191 的 cherry-pick)(#19224)
2.17.0rc0(2023 年 6 月 1 日)
用户 API 变更
-
弃用 python 工具上的
version/extra_requirements
选项。(#19204 的 cherry-pick)(#19211) -
Terraform:MacOS 二进制文件的哈希已更改(#19004 的 cherry-pick)(#19136)
-
为 Lambda/GCF 实现布局="zip",弃用 lambdex(#19076 的 cherry-pick)(#19120)
-
弃用
[mypy].extra_type_stubs
和其锁文件。(#19084 的 cherry-pick)(#19087) -
提前弃用工具
--export
选项。(#19079 的 cherry-pick)(#19083)
错误修复
-
发现 Scala REPL 主类和坐标(#19189 的 cherry-pick)(#19203)
-
在尝试安装之前清理 Pyenv 安装目录。(#19193 的 cherry-pick)(#19197)
-
在 Rust Python dep 推理中避免在
from .. import
父级导入中使用额外的.
(#19175 的 cherry-pick)(#19177) -
不要尝试回收临时文件(#19103 的 cherry-pick)(#19113)
-
当添加前言时,如果已经存在 shebang,则保留它。(#19133 的 cherry-pick)(#19138)
-
在 S3 URL 处理器后端解决
botocore
的 bug(#19056 的 cherry-pick)(#19111)
文档
-
将
tobni
添加到维护者名单中(#19195 的 cherry-pick)(#19207) -
调整 FaaS 文档以支持
layout = "zip"
(#19180 的 cherry-pick)(#19198) -
在
s3
URL 处理器中添加botocore-a-la-carte
参考(#19055 的 cherry-pick)(#19109) -
将 bazel-remote 添加到兼容远程缓存列表中(#19041 的 cherry-pick)(#19115)
-
修复指向
pants_from_sources
脚本的文档链接。(#19088 的 cherry-pick)(#19091)
2.17.0a1(2023年5月19日)
由于基础设施问题,2.17.0a1
是发布 2.17.0a0
的第二次尝试。
2.17.0a0(2023年5月18日)
注意:由于基础设施问题,2.17.0a0
没有发布到 PyPI。
新功能
-
添加工作单元日志插件(#18984)
-
javascript: 支持
yarn@v1
(#18928) -
javascript: 支持 Node.js 子路径导入(#18934)
-
添加 Taplo toml 格式化工具(#18865)
-
将 Pants 本地客户端包含在发布轮盘中(#18957)
-
在固有方式中提取 Python 依赖项(#18854)
用户 API 变更
-
不要为所有 SHA 发布轮盘,并从 Github Actions 发布到 PyPI。(#19028)
-
在工具需求中支持 Python requirement target addrs。(#19014)
-
javascript: 添加显式的
npm_distribution
目标而不是与node_package
相耦合(#18925) -
缩短没有
--resolve
的export
的弃用期限。(#19000) -
升级 Pex 到 2.1.137。(#19003)
-
移除
anonymous-telemetry
的底层实现(#18952)
插件 API 变更
-
将 Django 迁移推理从
PythonDependencyVisitorRequest
转移(#19008) -
fmtrequest -> abstractfmtrequest(#18935)
错误修复
-
在
run_shell_command
中使用{bin_name()} run
作为$0
(#19020) -
使
DigestSubset
链接感知(#18963) -
javascript: 不要在 pnpm 缓存路径中添加字面量 {chroot}(#18921)
文档
-
阐明如何在
run_in_shell_command
中正确设置 $0(#19019) -
2.16.x 的文档调整(《https://github.com/pantsbuild/pants/pull/19009》#19009)
-
修复文档中的示例
first_party_dependency_version_scheme
(《https://github.com/pantsbuild/pants/pull/18993》#18993)
2.17.0.dev5(2023年5月8日)
新功能
-
javascript: 实现 dependency inference 的禁用并提高鲁棒性(《https://github.com/pantsbuild/pants/pull/18931》#18931)
-
javascript: 添加对 pnpm 包管理器的支持(《https://github.com/pantsbuild/pants/pull/18864》#18864)
-
及时清理正在运行的节点,而不是中断它们(《https://github.com/pantsbuild/pants/pull/18855》#18855)
-
javascript: 支持 Nodejs 测试批次(《https://github.com/pantsbuild/pants/pull/18742》#18742)
-
新的 API 类型:
CurrentExecutingGoals
(《https://github.com/pantsbuild/pants/pull/18788》#18788)
用户 API 变更
-
javascript: 在
node_build_script
目标中支持package
目标(《https://github.com/pantsbuild/pants/pull/18926》#18926) -
弃用在不使用 scie-pants 的情况下运行 Pants(《https://github.com/pantsbuild/pants/pull/18833》#18833)
-
升级 Pex 到 2.1.135(《https://github.com/pantsbuild/pants/pull/18876》#18876)
插件 API 变更
- 删除多余的 PythonToolBase/JvmToolBase 功能(《https://github.com/pantsbuild/pants/pull/18805》#18805)
错误修复
-
确保在 dist/ 中完全替换打包的工件(《https://github.com/pantsbuild/pants/pull/18930》#18930)
-
在计算 resolve 名称时使用集合(《https://github.com/pantsbuild/pants/pull/18939》#18939)
-
在计算 resolve 名称时使用集合(《https://github.com/pantsbuild/pants/pull/18939》#18939)
-
javascript: 处理放在仓库根目录的 package.json(《https://github.com/pantsbuild/pants/pull/18919》#18919)
-
实际运行弃用的目标修复器(《https://github.com/pantsbuild/pants/pull/18860》#18860)
-
在创建符号链接时,如果有任何现有条目则删除(《https://github.com/pantsbuild/pants/pull/18873》#18873)
-
确保将非歧义参数/环境变量注入到 PEXes(《https://github.com/pantsbuild/pants/pull/18861》#18861)
-
在 run_shell_command 中正确处理 workdir="."/default(《https://github.com/pantsbuild/pants/pull/18840》#18840)
-
将 adhoc_tool(stdout/stderr="...") 写入相对于工作目录,支持绝对路径(《https://github.com/pantsbuild/pants/pull/18814》#18814)
-
修复
StreamingWorkunitContext.get_expanded_specs()
(《https://github.com/pantsbuild/pants/pull/18713》#18713) -
帮助后端:除非是高级帮助,否则仅列出启用的实验性后端(《https://github.com/pantsbuild/pants/pull/18821》#18821)
-
将构建根目录用作 shell_command(workdir="") 的工作目录(《https://github.com/pantsbuild/pants/pull/18813》#18813)
-
将
pants.backend.url_handlers.s3
包含在 pants 分发中(《https://github.com/pantsbuild/pants/pull/18826》#18826)
性能
-
优化
Target
和FieldSet
操作(《https://github.com/pantsbuild/pants/pull/18917》#18917) -
处理一些 noqa: PNT30 await-in-loops(《https://github.com/pantsbuild/pants/pull/18831》#18831)
文档
-
更新违反 CoC 报告的响应团队的身份(《https://github.com/pantsbuild/pants/pull/16410》#16410)
-
修复 adhoc output_... 示例,记录 run_shell_command 的工作目录更改(《https://github.com/pantsbuild/pants/pull/18894》#18894)
-
添加帮助字符串中缺少的撇号(《https://github.com/pantsbuild/pants/pull/18907》#18907)
-
将 Salesforce 添加到用户列表(《https://github.com/pantsbuild/pants/pull/18891》#18891)
-
更新关于自托管的动作运行器的故障排除文档(《https://github.com/pantsbuild/pants/pull/18900》#18900)
-
感谢 ARM 程序为我们提供 CI 资源(《https://github.com/pantsbuild/pants/pull/18892》#18892)
-
特性:更新 installation.md(《https://github.com/pantsbuild/pants/pull/18836》#18836)
-
删除关于将 readme.com 作为编辑文档方式的引用(《https://github.com/pantsbuild/pants/pull/18863》#18863)
-
修复第三方示例中库名拼写错误(《https://github.com/pantsbuild/pants/pull/18862》#18862)
-
更新mypy和pytest文档,以引用install_from_resolve(#18791)
-
在用法帮助中将
symbols
作为主题。(#18825) -
docs:重新排序贡献者步骤,rustup对于git钩子安装正常工作是必需的(#18828)
2.17.0.dev4 (2023年4月23日)
新功能
用户 API 变更
-
默认使用整个工具锁文件。(#18793)
-
升级Pex到2.1.134。(#18785)
-
使用resolve的ICs作为工具。(#18776)
-
在
BinaryPath
工厂方法中使用Self回滚。(#18763) -
弃用“二级所有权”语义(#18737)
-
扩展
ruff
版本范围并升级它(#18707)
插件 API 变更
错误修复
-
OverridesField.compute_value()
必须返回一个可哈希的值。(#18787) -
去重图错误。(#18770)
-
在重命名不可变存储文件之前将元数据刷新到磁盘(#18768)
-
在删除文件时清除FSDB材料化缓存(#18747)
-
在
lint
/test
中批量设置字段时,使用地址作为稳定的键(#18725) -
修复未定义
default
的Field
的repr
。(#18719) -
添加
ruff
代码检查规则(#18716) -
javascript:在nodejs沙盒中使用二进制模拟器(#18682)
文档
-
改进无效目标/目标字段的错误位置。(#18366)
-
添加如何配置Docker Desktop以使用
docker_environment
的信息(#18786) -
更新代码检查器文档,以引用
install_from_resolve
(#18781) -
docs:修复requirements-overrides代码片段中的错别字(#18750)
-
编辑Python发布文档以提高清晰度。(#18718)
2.17.0.dev3 (2023年4月10日)
新功能
用户 API 变更
- 删除弃用的默认ICs。(#18627)
插件 API 变更
-
移动/重命名:
goals/setup_py.py
->{util_rules,goals}/package_dists.py
+subsystems/setup_py_generation.py
(#18702) -
弃用一些
Request
类型,以支持仅有一个参数的Get()
(#18655) -
添加对不带输入参数的
Get(MyType)
语法的支持(#18648)
错误修复
-
为
pex_binary
RunRequest
添加Python解释器的完全限定路径(#18699) -
从
std::io::Error
隐式转换为StoreError
(#18696) -
为远程存储调用添加超时,并调整缓存超时的名称。(#18695)
-
让
adhoc_tool
真正尊重extra_env_vars
字段;添加测试(#18692) -
文档:描述规则编译过程中相关的错误模式(#18663)
-
将支持的 Pex 最小版本提升到 v2.1.129。(#18678)
-
修复在较老的 macOS 上创建 JVM 资源 JAR 的问题(#18673)
-
javascript:在 JavaScript 规则中不读取未映射的 package.json 文件(#18523)
文档
-
添加 PEP 621 pyproject.toml 文件文档(#18672)
-
记录多个用户遇到的 AWS CDK 问题。(#18656)
-
在没有激活相关后端的情况下使用目标时出错(#18420)
-
改进锁文件消费错误消息。(#18638)
-
从通用先决条件页面中删除一个特定于 Python 的提示。(#18637)
-
使 UUID 消息更清晰(#18561)
2.17.0.dev2(2023 年 3 月 31 日)
新功能
用户 API 变更
- 升级 Pex 到 2.1.131。(#18626)
错误修复
-
确保在清理沙盒之前退出沙盒化的进程(#18632)
-
通过
create_pex_from_targets
将锁文件/内部代码全部接入(#18622) -
缩小 pex_binary 文件警告(#18619)
-
修复 PexPEX 调用(#18610)
-
改进 docker auth 的调试信息,并公开一个环境变量。(#18599)
性能
- 每次只将不可变文件材料化一次(#18600)
文档
2.17.0.dev1(2023 年 3 月 24 日)
新功能
-
engine:在将散列写入磁盘时添加一个选项来清除目标目录(#18534)
-
javascript:通过二进制路径、PATH、asdf 或 nvm 进行 NodeJS 引导(#18520)
-
javascript:初始 NPM 支持(#18326)
-
始终提供 Python-for-Pants 脚本(#18433)
用户 API 变更
错误修复
-
确保符号链接的导出 venv 存在且有效。(#18575)
-
对于尝试使用带有 docker 环境的
test --debug
进行快速失败处理(#18560) -
声明 ruff 输出为文件。(#18551)
-
添加对 Docker 仓库认证的支持(#18541)
-
修复带有标记的 URL 的 Poetry req 综合问题。(#18535)
-
在 macOS 上使用
fclonefileat
重新启用硬链接。 (#18501)
性能
文档
-
第一次尝试编写
adhoc_tool
文档 (#18531) -
将 Tobias Nilsson 添加到团队页面 (#18571)
-
文档:修复帮助中的 f-string (#18539)
-
明确说明
experimental_
shell 函数已弃用并替换 (#18529) -
更新关于使用 scie-pants 从源运行 pants 的文档 (#18513)
-
将 ExoFlare 添加到用户列表 (#18496)
-
修复文档中 pantsbuild/example-python 链接的错误格式 (#18484)
-
更新 scie-jump 缓存目录引用 (#18485)
-
将锁文件文档扩展为单独的页面 (#18471)
2.17.0.dev0 (2023 年 3 月 10 日)
新功能
用户 API 变更
错误修复
项目详情
pantsbuild.pants.testutil-2.17.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 826b23101fdd472b87b9de0ec5a534a52f39912524e6957cbcae69a990b83f26 |
|
MD5 | c9b689dfbd557f39fa7cfac03c0ebf14 |
|
BLAKE2b-256 | 1bd85b62e9c430fc55486a86b8a4e479fa5676341dc1a4ee3f54c28ab1469295 |