verifiers 0.3.2.dev78__tar.gz → 0.3.2.dev80__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/PKG-INFO +1 -1
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/runtimes/base.py +7 -5
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/tasksets/harbor/taskset.py +30 -5
- verifiers-0.3.2.dev80/verifiers/v1/tasksets/harbor/toolset.py +86 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/.gitignore +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/LICENSE +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/README.md +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/pyproject.toml +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/conftest.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/fixtures/counter_tool_v1.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/fixtures/duet_v1.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/fixtures/echo_acp_resume_v1.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/fixtures/echo_tool_v1.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/fixtures/echo_v1.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/fixtures/pyproject.toml +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/test_color_codeword_tasks.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/test_configs.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/test_e2e.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/test_envs.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/test_graph.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/test_judges.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/test_platform_run.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/test_scoring.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/test_taskset.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/tests/v1/test_trace.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/cli/commands/init.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/acp/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/acp/runner.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/agent.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/cli/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/cli/dashboard/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/cli/dashboard/base.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/cli/dashboard/eval.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/cli/dashboard/replay.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/cli/dashboard/validate.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/cli/debug.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/cli/eval/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/cli/eval/main.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/cli/eval/resume.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/cli/eval/runner.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/cli/gepa.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/cli/init.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/cli/output.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/cli/replay.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/cli/resolve.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/cli/resume.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/cli/validate.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/clients/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/clients/base.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/clients/client.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/clients/eval.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/clients/train.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/configs/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/configs/agent.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/configs/cli/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/configs/cli/debug.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/configs/cli/env.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/configs/cli/eval.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/configs/cli/init.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/configs/cli/replay.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/configs/cli/validate.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/configs/client.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/configs/env.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/configs/harness.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/configs/judge.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/configs/retries.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/configs/runtime.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/configs/serve.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/configs/task.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/configs/taskset.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/dialects/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/dialects/anthropic.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/dialects/base.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/dialects/chat.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/dialects/responses.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/env.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/envs/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/envs/agentic_judge/env.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/envs/best_of_n/env.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/envs/isolated_verifier/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/envs/isolated_verifier/env.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/envs/shared_agentic_judge/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/envs/single_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/envs/single_agent/env.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/envs/user_sim/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/envs/user_sim/env.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/episode.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/errors.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/gepa/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/gepa/adapter.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/gepa/config.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/gepa/dataset.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/gepa/reflection.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/gepa/runner.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/graph.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harness.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/bash/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/bash/harness.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/browser_use/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/browser_use/harness.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/browser_use/program.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/codex/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/codex/harness.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/hermes_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/hermes_agent/harness.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/hermes_agent/program.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/node.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/null/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/null/harness.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/openclaw/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/openclaw/harness.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/pi/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/pi/harness.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/pool/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/pool/harness.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/prime_agent/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/prime_agent/harness.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/rlm/harness.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/utils/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/utils/compaction.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/utils/core.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/utils/install.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/utils/launch.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/utils/mcp.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/interception/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/interception/base.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/interception/pool.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/interception/server.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/interception/tool.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/interception/tunnel/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/interception/tunnel/base.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/interception/tunnel/custom.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/interception/tunnel/prime.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/judge.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/judges/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/judges/reference.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/judges/reference.txt +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/judges/rubric.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/judges/rubric.txt +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/mcp/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/mcp/launch.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/mcp/server.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/mcp/toolset.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/rollout.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/runtimes/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/runtimes/docker/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/runtimes/docker/egress.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/runtimes/limiters.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/runtimes/modal.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/runtimes/prime.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/runtimes/subprocess.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/semantic.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/serve/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/serve/client.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/serve/encoding.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/serve/pool.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/serve/server.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/serve/types.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/session.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/state.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/task.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/taskset.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/tasksets/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/tasksets/harbor/env.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/tasksets/lean/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/tasksets/lean/scoring.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/tasksets/lean/taskset.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/tasksets/nemo_gym/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/tasksets/nemo_gym/response.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/tasksets/nemo_gym/server.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/tasksets/nemo_gym/taskset.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/tasksets/nemo_gym/toolset.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/trace.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/types.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/__init__.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/aio.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/artifacts.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/compile.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/decorators.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/format.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/generic.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/git.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/image.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/interrupt.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/loaders.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/logging.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/memory.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/paths.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/platform.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/prime.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/retries.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/score.py +0 -0
- {verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/utils/version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: verifiers
|
|
3
|
-
Version: 0.3.2.
|
|
3
|
+
Version: 0.3.2.dev80
|
|
4
4
|
Summary: Verifiers: Environments for LLM Reinforcement Learning
|
|
5
5
|
Project-URL: Homepage, https://github.com/primeintellect-ai/verifiers
|
|
6
6
|
Project-URL: Documentation, https://github.com/primeintellect-ai/verifiers
|
|
@@ -24,10 +24,11 @@ from verifiers.v1.utils.aio import run_shielded
|
|
|
24
24
|
|
|
25
25
|
logger = logging.getLogger(__name__)
|
|
26
26
|
|
|
27
|
-
# Ensure
|
|
28
|
-
#
|
|
29
|
-
#
|
|
30
|
-
#
|
|
27
|
+
# Ensure `uv` is available for our PEP 723 scripts: keep one already on PATH (an image that
|
|
28
|
+
# pre-installs it, or an earlier rollout's install on the same box); otherwise prefer pip on
|
|
29
|
+
# Python images, then fall back to the standalone installer (curl/wget), installing curl + CA
|
|
30
|
+
# certs when a bare image has no downloader. Both install paths land in ~/.local/bin, which we
|
|
31
|
+
# prepend to PATH first. (Installing needs network + one of pip / curl / wget / apt-get / apk.)
|
|
31
32
|
_INSTALL_CURL = ( # only when the image has no downloader; needs a known package manager
|
|
32
33
|
"{ command -v curl >/dev/null 2>&1 || command -v wget >/dev/null 2>&1; } "
|
|
33
34
|
"|| { apt-get update -qq && apt-get install -y -qq curl ca-certificates; } "
|
|
@@ -39,7 +40,8 @@ _DOWNLOAD_UV = (
|
|
|
39
40
|
)
|
|
40
41
|
_ENSURE_UV = (
|
|
41
42
|
'export PATH="$HOME/.local/bin:$PATH" UV_INSTALL_DIR="$HOME/.local/bin"; '
|
|
42
|
-
"
|
|
43
|
+
"command -v uv >/dev/null 2>&1 "
|
|
44
|
+
"|| pip install -q -U --user uv 2>/dev/null "
|
|
43
45
|
f"|| {{ {_INSTALL_CURL}; {_DOWNLOAD_UV}; }}"
|
|
44
46
|
)
|
|
45
47
|
|
|
@@ -32,9 +32,11 @@ from typing import Annotated
|
|
|
32
32
|
|
|
33
33
|
from pydantic import BaseModel, ConfigDict, Field, TypeAdapter, ValidationError
|
|
34
34
|
|
|
35
|
+
from verifiers.v1.configs.task import TaskConfig
|
|
35
36
|
from verifiers.v1.configs.taskset import TasksetConfig
|
|
36
37
|
from verifiers.v1.errors import SandboxError, TaskError
|
|
37
38
|
from verifiers.v1.runtimes import Runtime
|
|
39
|
+
from verifiers.v1.state import State
|
|
38
40
|
from verifiers.v1.task import Task, TaskData, TaskResources, TaskTimeout
|
|
39
41
|
from verifiers.v1.taskset import Taskset
|
|
40
42
|
from verifiers.v1.trace import Trace
|
|
@@ -53,7 +55,13 @@ REWARD_JSON_ADAPTER = TypeAdapter(
|
|
|
53
55
|
)
|
|
54
56
|
|
|
55
57
|
|
|
58
|
+
class HarborTaskConfig(TaskConfig):
|
|
59
|
+
mcp_servers: list[dict] = Field(default_factory=list)
|
|
60
|
+
"""Task-declared connections, bound from HarborData during construction."""
|
|
61
|
+
|
|
62
|
+
|
|
56
63
|
class HarborConfig(TasksetConfig):
|
|
64
|
+
task: HarborTaskConfig = HarborTaskConfig()
|
|
57
65
|
dataset: str = "harbor/hello-world"
|
|
58
66
|
"""A Harbor Hub package id ("org/name" or "org/name@ref"), where ref is a
|
|
59
67
|
tag, integer revision, or sha256 digest. Legacy registries selected with `repo`,
|
|
@@ -147,6 +155,8 @@ class HarborData(TaskData):
|
|
|
147
155
|
env: dict[str, str] = Field(default_factory=dict)
|
|
148
156
|
"""Raw `[environment.env]` templates, resolved only when the runtime starts."""
|
|
149
157
|
healthcheck: dict | None = None
|
|
158
|
+
mcp_servers: list[dict] = Field(default_factory=list)
|
|
159
|
+
"""Task-declared MCP servers, preserved for served-task reconstruction."""
|
|
150
160
|
verifier_env: dict[str, str] = Field(default_factory=dict)
|
|
151
161
|
"""Raw [verifier.env] entries (literals or `${VAR}`/`${VAR:-default}` templates).
|
|
152
162
|
Resolved against the host environment at scoring time, like `harbor run` — so a
|
|
@@ -159,11 +169,25 @@ class HarborData(TaskData):
|
|
|
159
169
|
grades in the agent's box."""
|
|
160
170
|
|
|
161
171
|
|
|
162
|
-
class HarborTask(Task[HarborData]):
|
|
172
|
+
class HarborTask(Task[HarborData, State, HarborTaskConfig]):
|
|
163
173
|
"""Stage and run Harbor's verifier inside the task's live runtime."""
|
|
164
174
|
|
|
165
175
|
verifier_staged: bool = False
|
|
166
176
|
|
|
177
|
+
def __init__(self, data: HarborData, config: HarborTaskConfig | None = None):
|
|
178
|
+
super().__init__(data, config)
|
|
179
|
+
# Each reconstructed row gets its own connections without mutating worker config.
|
|
180
|
+
self.config = self.config.model_copy(update={"mcp_servers": data.mcp_servers})
|
|
181
|
+
|
|
182
|
+
@classmethod
|
|
183
|
+
def toolsets(cls, config: HarborTaskConfig):
|
|
184
|
+
from .toolset import HarborMCPConfig, HarborMCPToolset
|
|
185
|
+
|
|
186
|
+
return super().toolsets(config) + [
|
|
187
|
+
HarborMCPToolset(HarborMCPConfig(colocated=True, server=server))
|
|
188
|
+
for server in config.mcp_servers
|
|
189
|
+
]
|
|
190
|
+
|
|
167
191
|
def runtime_env(self) -> dict[str, str]:
|
|
168
192
|
return resolve_env(self.data.env)
|
|
169
193
|
|
|
@@ -369,6 +393,7 @@ def verifier_box_data(data: HarborData) -> HarborData:
|
|
|
369
393
|
"upload_environment": data.upload_environment if fresh else False,
|
|
370
394
|
"env": dict(verifier.env),
|
|
371
395
|
"healthcheck": verifier.healthcheck,
|
|
396
|
+
"mcp_servers": [],
|
|
372
397
|
"network_allow": list(verifier.network_allow),
|
|
373
398
|
"network_block": [],
|
|
374
399
|
}
|
|
@@ -587,7 +612,9 @@ def parse_task(task_dir: Path, idx: int, harbor_config: HarborConfig) -> HarborD
|
|
|
587
612
|
tags=meta.get("tags", []),
|
|
588
613
|
task_dir=str(task_dir),
|
|
589
614
|
upload_environment=upload_environment,
|
|
590
|
-
**environment.model_dump(
|
|
615
|
+
**environment.model_dump(
|
|
616
|
+
include={"env", "healthcheck", "mcp_servers"}, mode="json"
|
|
617
|
+
),
|
|
591
618
|
verifier_env=parsed.verifier.env,
|
|
592
619
|
artifacts=artifacts,
|
|
593
620
|
collect=hooks,
|
|
@@ -703,9 +730,7 @@ def parse_verifier_environment(
|
|
|
703
730
|
task_dir.name,
|
|
704
731
|
)
|
|
705
732
|
unsupported = [
|
|
706
|
-
field
|
|
707
|
-
for field in ("mcp_servers", "skills_dir", "tpu")
|
|
708
|
-
if getattr(environment, field, None)
|
|
733
|
+
field for field in ("skills_dir", "tpu") if getattr(environment, field, None)
|
|
709
734
|
]
|
|
710
735
|
if environment.os != TaskOS.LINUX or unsupported:
|
|
711
736
|
raise ValueError(
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"""Task-declared Harbor MCP tools served through the standard VF toolset lifecycle."""
|
|
2
|
+
|
|
3
|
+
import os
|
|
4
|
+
from typing import Any, cast
|
|
5
|
+
|
|
6
|
+
from mcp import Client
|
|
7
|
+
from mcp.client.sse import sse_client
|
|
8
|
+
from mcp.client.stdio import StdioServerParameters, stdio_client
|
|
9
|
+
from mcp.client.streamable_http import streamable_http_client
|
|
10
|
+
from mcp.server.mcpserver import Context, MCPServer
|
|
11
|
+
from mcp.types import CallToolResult, Tool
|
|
12
|
+
|
|
13
|
+
from verifiers.v1.mcp import Toolset, ToolsetConfig
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class HarborMCPConfig(ToolsetConfig):
|
|
17
|
+
server: dict[str, Any]
|
|
18
|
+
"""One declaration already validated by Harbor's task parser."""
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class HarborMCPToolset(Toolset[HarborMCPConfig]):
|
|
22
|
+
@property
|
|
23
|
+
def server_name(self) -> str:
|
|
24
|
+
return self.config.server["name"]
|
|
25
|
+
|
|
26
|
+
async def setup(self) -> None:
|
|
27
|
+
spec = self.config.server
|
|
28
|
+
match spec["transport"]:
|
|
29
|
+
case "stdio":
|
|
30
|
+
# Keep task variables, excluding the wrapper's state and bind controls.
|
|
31
|
+
env = {
|
|
32
|
+
key: value
|
|
33
|
+
for key, value in os.environ.items()
|
|
34
|
+
if key
|
|
35
|
+
not in {
|
|
36
|
+
"VF_CONFIG",
|
|
37
|
+
"VF_STATE_URL",
|
|
38
|
+
"VF_STATE_SECRET",
|
|
39
|
+
"MCP_HOST",
|
|
40
|
+
"MCP_PORT",
|
|
41
|
+
"MCP_PORT_FILE",
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
transport = stdio_client(
|
|
45
|
+
StdioServerParameters(
|
|
46
|
+
command=spec["command"], args=spec.get("args", []), env=env
|
|
47
|
+
)
|
|
48
|
+
)
|
|
49
|
+
case "sse":
|
|
50
|
+
transport = sse_client(spec["url"])
|
|
51
|
+
case "streamable-http":
|
|
52
|
+
transport = streamable_http_client(spec["url"])
|
|
53
|
+
case other:
|
|
54
|
+
raise ValueError(f"Unsupported Harbor MCP transport: {other!r}")
|
|
55
|
+
# ServerBase enters and closes this stack in the same task. Keep upstream
|
|
56
|
+
# session state across downstream client reconnects for the whole rollout.
|
|
57
|
+
self.client = await self._exit_stack.enter_async_context(Client(transport))
|
|
58
|
+
|
|
59
|
+
def register(self, mcp: MCPServer) -> None:
|
|
60
|
+
# MCPServer calls these public methods; forward the real catalog and schemas.
|
|
61
|
+
server = cast(Any, mcp)
|
|
62
|
+
server.list_tools = self.list_tools
|
|
63
|
+
server.call_tool = self.call_tool
|
|
64
|
+
|
|
65
|
+
async def list_tools(self) -> list[Tool]:
|
|
66
|
+
tools: list[Tool] = []
|
|
67
|
+
cursor = None
|
|
68
|
+
seen_cursors: set[str] = set()
|
|
69
|
+
while True:
|
|
70
|
+
page = await self.client.list_tools(cursor=cursor)
|
|
71
|
+
tools.extend(page.tools)
|
|
72
|
+
cursor = page.next_cursor
|
|
73
|
+
if cursor is None:
|
|
74
|
+
return tools
|
|
75
|
+
if cursor in seen_cursors:
|
|
76
|
+
raise ValueError("MCP tools pagination returned a repeated cursor")
|
|
77
|
+
seen_cursors.add(cursor)
|
|
78
|
+
|
|
79
|
+
async def call_tool(
|
|
80
|
+
self, name: str, arguments: dict[str, Any], context: Context | None = None
|
|
81
|
+
) -> CallToolResult:
|
|
82
|
+
return await self.client.call_tool(name, arguments)
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
if __name__ == "__main__":
|
|
86
|
+
HarborMCPToolset.run()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/envs/isolated_verifier/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/envs/shared_agentic_judge/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/browser_use/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/browser_use/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/browser_use/program.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/claude_code/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/claude_code/harness.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/hermes_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/hermes_agent/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/hermes_agent/program.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/kimi_code/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/mini_swe_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/mini_swe_agent/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/mini_swe_agent/program.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/prime_agent/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/prime_agent/harness.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/terminus_2/__init__.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/terminus_2/harness.py
RENAMED
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/harnesses/terminus_2/program.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{verifiers-0.3.2.dev78 → verifiers-0.3.2.dev80}/verifiers/v1/interception/tunnel/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|