github Python analyzed c30530a deep scan unknown unconfirmed MCP

samrusani/AliceBot

github

Open-source, local-first memory and continuity layer for AI agents. Hybrid retrieval (FTS + vectors + entity graph), MCP-native, SQLite to start, Postgres to scale.

maintainer
samrusani
licence
MIT
first seen
2026-06-15
last seen
2026-08-14
releases · 30d
0
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged dynamic code execution in samrusani/AliceBot
  2. HIGH code analysis flagged dynamic code execution in samrusani/AliceBot
  3. HIGH code analysis flagged dynamic code execution in samrusani/AliceBot
  4. HIGH code analysis flagged dynamic code execution in samrusani/AliceBot
  5. HIGH code analysis flagged dynamic code execution in samrusani/AliceBot
  6. HIGH code analysis flagged dynamic code execution in samrusani/AliceBot
  7. HIGH code analysis flagged committed secret ×2, dynamic code execution ×13 in samrusani/AliceBot
  8. HIGH code analysis flagged dynamic code execution in samrusani/AliceBot
  9. HIGH code analysis flagged dynamic code execution in samrusani/AliceBot
capabilities 0 tools
transport stdio · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit c30530a · analyzer v33 · 1w ago

skills & prompt files 7

danger signals17

code evidence vv0.15.1 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 988

filesystem 235

  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/artifacts.py :11 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/calendar.py :6 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/calendar_secret_manager.py :5 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/chatgpt_import.py :4 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/cli/capture.py :6 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/cli/constants.py :4 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/cli/scheduler.py :4 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/cli/shared.py :8 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/cli/smokes.py :7 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/continuity_task_eval.py :12 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/db.py :83 pool.open()
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/gmail.py :8 from pathlib import Path
show 28 more
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/gmail_secret_manager.py :6 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/host_install.py :15 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/importer_paths.py :22 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/logging_config.py :3 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/markdown_import.py :3 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/migrations.py :4 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/onramp.py :71 import shutil
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/openclaw_adapter.py :5 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/openclaw_import.py :3 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/provider_secrets.py :5 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/public_evals.py :7 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/retrieval_evaluation.py :6 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/semantic_retrieval.py :5 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/session_briefing.py :16 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/sqlite_store.py :28 from pathlib import Path
  • fs (weak) samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vault_demo.py :10 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vault_doctor.py :13 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vault_sleep.py :13 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_capture.py :9 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_connectors.py :14 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_doctor.py :7 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_evals.py :65 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_queue.py :6 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_scheduler_runtime.py :12 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_secrets.py :9 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/workspaces.py :3 from pathlib import Path
  • fs (weak) samrusani-AliceMemory-c30530a/docs/integrations/hermes-memory-provider/plugins/memory/alice/__init__.py :25 from pathlib import Path
  • fs samrusani-AliceMemory-c30530a/eval/longmemeval/adapter.py :41 from pathlib import Path

195 more not shown — this panel samples each group; the count above is the real total.

shell / exec 74

  • shell samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_scheduler_runtime.py :14 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/docs/examples/mcp_quickstart.py :48 import subprocess
  • shell samrusani-AliceMemory-c30530a/eval/longmemeval/runner.py :26 import subprocess
  • shell samrusani-AliceMemory-c30530a/eval/scale/backends.py :23 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/scripts/check_protected_paths.py :7 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/scripts/record_demo_vault_gif.py :15 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/scripts/release_check.py :19 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/scripts/run_alice_lite_smoke.py :8 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/scripts/run_hermes_bridge_demo.py :8 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/scripts/run_mvp_readiness_gates.py :6 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/scripts/run_mvp_validation_matrix.py :6 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/scripts/run_phase2_readiness_gates.py :11 import subprocess
show 28 more
  • shell (weak) samrusani-AliceMemory-c30530a/scripts/run_phase2_validation_matrix.py :11 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/scripts/run_phase3_readiness_gates.py :6 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/scripts/run_phase3_validation_matrix.py :6 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/scripts/run_phase5_ops_evidence.py :23 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/scripts/run_reference_agent_examples_demo.py :9 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/scripts/run_scale_benchmark.py :27 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/scripts/run_single_tenant_deployment_smoke.py :21 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/scripts/test_distribution_artifact.py :10 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/integration/test_api_logging_smoke.py :7 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/integration/test_cli_integration.py :7 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/integration/test_default_surface_integration.py :6 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/integration/test_healthcheck.py :7 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/integration/test_local_workspace_bootstrap_api.py :8 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/integration/test_mcp_cli_parity.py :8 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/integration/test_mcp_quickstart.py :4 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/integration/test_mcp_server.py :8 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/integration/test_openclaw_mcp_integration.py :6 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/integration/test_openclaw_one_command_demo.py :5 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/integration/test_phase9_eval.py :5 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/integration/test_reference_agent_examples.py :5 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/integration/test_temporal_state_mcp_cli.py :7 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/unit/test_cli_package_split.py :11 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/unit/test_contracts_common_split.py :12 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/unit/test_contracts_continuity_split.py :11 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/unit/test_contracts_execution_split.py :11 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/unit/test_contracts_governance_split.py :11 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/unit/test_contracts_integrations_split.py :11 import subprocess
  • shell (weak) samrusani-AliceMemory-c30530a/tests/unit/test_contracts_knowledge_split.py :12 import subprocess

34 more not shown — this panel samples each group; the count above is the real total.

network 94

  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/azure_provider_helpers.py :5 from urllib.error import HTTPError, URLError
  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/browser_clip_capabilities.py :13 from urllib.parse import urlsplit
  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/calendar.py :8 from urllib.error import HTTPError, URLError
  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/calendar_secret_manager.py :6 from urllib.parse import unquote, urlparse
  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/cli/smokes.py :10 from urllib.error import URLError
  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/gmail.py :10 from urllib.error import HTTPError, URLError
  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/gmail_secret_manager.py :7 from urllib.parse import unquote, urlparse
  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/local_provider_helpers.py :5 from urllib.error import HTTPError, URLError
  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/main.py :22 from urllib.parse import parse_qsl, urlencode
  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/mcp/runtime.py :7 from urllib.parse import unquote, urlparse
  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/mcp_tools.py :27 from urllib.parse import (
  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/provider_secrets.py :6 from urllib.parse import unquote, urlparse
show 28 more
  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/provider_security.py :5 import socket
  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/response_generation.py :9 from urllib.error import HTTPError, URLError
  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/routers/providers.py :6 from urllib.parse import urlsplit, urlunsplit
  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_embeddings.py :12 from urllib.error import HTTPError, URLError
  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_fact_keys.py :54 from urllib.error import HTTPError, URLError
  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_model_intelligence.py :11 from urllib.error import HTTPError, URLError
  • net samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_reranker.py :47 from urllib.error import HTTPError, URLError
  • net (weak) samrusani-AliceMemory-c30530a/docs/examples/generic_python_agent.py :9 from urllib.error import HTTPError, URLError
  • net (weak) samrusani-AliceMemory-c30530a/docs/examples/openai_agents_sdk_tool.py :68 from urllib.error import HTTPError, URLError
  • net (weak) samrusani-AliceMemory-c30530a/docs/integrations/hermes-memory-provider/plugins/memory/alice/__init__.py :21 import urllib.error
  • net samrusani-AliceMemory-c30530a/eval/longmemeval/chat.py :24 from urllib.error import HTTPError, URLError
  • net samrusani-AliceMemory-c30530a/eval/longmemeval/fetch.py :27 from urllib.error import HTTPError, URLError
  • net samrusani-AliceMemory-c30530a/eval/longmemeval/test_harness.py :24 from urllib.error import HTTPError
  • net (weak) samrusani-AliceMemory-c30530a/scripts/bootstrap_alice_lite_workspace.py :10 from urllib import error, request
  • net (weak) samrusani-AliceMemory-c30530a/scripts/check_github_release_checks.py :12 from urllib.request import Request, urlopen
  • net (weak) samrusani-AliceMemory-c30530a/scripts/release_check.py :22 from urllib.error import HTTPError, URLError
  • net (weak) samrusani-AliceMemory-c30530a/scripts/run_alice_lite_smoke.py :10 from urllib import request
  • net (weak) samrusani-AliceMemory-c30530a/scripts/run_phase11_autogen_runtime_bridge.py :15 from urllib.error import HTTPError, URLError
  • net (weak) samrusani-AliceMemory-c30530a/scripts/run_phase11_local_provider_e2e.py :17 from urllib.error import HTTPError, URLError
  • net (weak) samrusani-AliceMemory-c30530a/scripts/run_phase14_openai_compatible_smoke.py :21 from urllib.error import HTTPError, URLError
  • net (weak) samrusani-AliceMemory-c30530a/scripts/run_phase5_ops_evidence.py :28 from urllib.parse import parse_qs, unquote, urlsplit, urlunsplit
  • net (weak) samrusani-AliceMemory-c30530a/scripts/run_reference_agent_examples_demo.py :8 import socket
  • net (weak) samrusani-AliceMemory-c30530a/scripts/run_single_tenant_deployment_smoke.py :24 from urllib.parse import parse_qs, urlsplit
  • net (weak) samrusani-AliceMemory-c30530a/tests/integration/conftest.py :5 from urllib.parse import unquote, urlsplit, urlunsplit
  • net (weak) samrusani-AliceMemory-c30530a/tests/integration/test_api_logging_smoke.py :6 import socket
  • net (weak) samrusani-AliceMemory-c30530a/tests/integration/test_approval_api.py :5 from urllib.parse import urlencode
  • net (weak) samrusani-AliceMemory-c30530a/tests/integration/test_calendar_accounts_api.py :6 from urllib.parse import urlencode
  • net (weak) samrusani-AliceMemory-c30530a/tests/integration/test_continuity_api.py :6 from urllib.parse import urlencode

54 more not shown — this panel samples each group; the count above is the real total.

secrets 2

  • secrets samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_model_intelligence.py :226 os.environ.get("MODEL_API_KEY") or os.environ.get("OPENAI_API_KEY", "")
  • secrets (weak) samrusani-AliceMemory-c30530a/scripts/check_github_release_checks.py :207 token = os.getenv("GITHUB_TOKEN", "")

database 39

  • db samrusani-AliceMemory-c30530a/apps/api/alembic/env.py :7 from sqlalchemy import engine_from_config, pool
  • db samrusani-AliceMemory-c30530a/apps/api/alembic/versions/20260713_0087_persistence_scheduler_hardening.py :17 from sqlalchemy import text as sql_text
  • db samrusani-AliceMemory-c30530a/apps/api/alembic/versions/20260713_0088_response_jobs_provider_cas.py :10 from sqlalchemy import text
  • db samrusani-AliceMemory-c30530a/apps/api/alembic/versions/20260713_0089_graph_edge_idempotency.py :10 from sqlalchemy import text
  • db samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/mcp/registry.py :9 import sqlite3
  • db samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/mcp_tools.py :7 import sqlite3 as sqlite3
  • db samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/onramp.py :72 import sqlite3
  • db samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/sqlite_schema.py :51 import sqlite3
  • db samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/sqlite_store.py :24 import sqlite3
  • db samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_evals.py :67 import sqlite3
  • db samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_stores/sqlite/embedding_cas.py :6 import sqlite3
  • db samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_stores/sqlite/graph_open_loops.py :5 import sqlite3
show 27 more
  • db samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_stores/sqlite/memory_access.py :6 import sqlite3
  • db samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_stores/sqlite/memory_lifecycle.py :6 import sqlite3
  • db samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_stores/sqlite/query_predicates.py :7 import sqlite3
  • db samrusani-AliceMemory-c30530a/apps/api/src/alicebot_api/vnext_stores/sqlite/vector_scan.py :48 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/scripts/run_phase5_ops_evidence.py :21 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_browser_clip_capability_storage.py :6 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_capture_preserves_document_structure.py :30 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_mcp.py :10 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_sqlite_onramp.py :13 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_sqlite_schema_upgrade.py :4 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_sqlite_store.py :6 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_sqlite_store_fact_keys.py :15 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_store_embedding_cas_split.py :8 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_vnext_capture.py :6 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_vnext_classification_vocabularies.py :4 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_vnext_connectors.py :4 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_vnext_consolidation.py :5 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_vnext_currency.py :26 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_vnext_entities.py :3 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_vnext_evals.py :8 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_vnext_grounding.py :18 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_vnext_main.py :8 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_vnext_memory_commit.py :4 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_vnext_promotion_policy.py :22 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_vnext_retrieval.py :8 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_vnext_rollups.py :12 import sqlite3
  • db (weak) samrusani-AliceMemory-c30530a/tests/unit/test_vnext_rollups_semantic.py :17 import sqlite3

install hooks 1

  • setup.py samrusani-AliceMemory-c30530a/setup.py :39 setup(cmdclass={"build_py": BuildPyWithRuntimeResources})

declared dependencies 16

  • alembic@>=1.14,<2.0
  • fastapi@>=0.115,<1.0
  • numpy@>=1.26,<3.0
  • psycopg@>=3.2,<4.0
  • redis@>=5.0,<9.0
  • sqlalchemy@>=2.0,<3.0
  • uvicorn@>=0.34,<1.0
  • bandit@>=1.8,<2.0
  • build@>=1.3,<2.0
  • coverage@>=7.7,<8.0
  • mypy@>=1.16,<3.0
  • pytest@>=8.3,<10.0
show 4 more
  • pytest-cov@>=6.2,<8.0
  • ruff@>=0.12,<1.0
  • twine@>=6.1,<8.0
  • virtualenv@>=20.32,<22.0

transport_posture 1

  • punycode (IDN homograph) host in endpoint samrusani-AliceMemory-c30530a/tests/unit/test_browser_clip_capabilities.py :80 ("https://BÜCHER.example:8443", "https://xn--bcher-kva.example:8443"),