Add files using upload-large-folder tool
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- .dockerignore +84 -0
- .github/PULL_REQUEST_TEMPLATE.md +20 -0
- .gitignore +237 -0
- README.md +239 -1
- admin-login.json +22 -0
- article4-buttons.json +1 -0
- arxiv-page.yml +305 -0
- capri-search.yml +0 -0
- customers.txt +1463 -0
- customers_final.yml +1494 -0
- docs/installation_and_docker_usage.md +238 -0
- docs/introduction.md +89 -0
- docs/quickstart.md +59 -0
- final-customers.yml +1494 -0
- fitness-search.yml +78 -0
- form_snapshot.yml +100 -0
- forums.yml +412 -0
- homepage.yml +59 -0
- login-page.yml +24 -0
- login.png +0 -0
- new-customer.yml +170 -0
- page1-snapshot.yml +59 -0
- page2-main-text.txt +1 -0
- pixi.lock +0 -0
- registration-page.png +0 -0
- runs/realweb3.log +0 -0
- runs/realweb4.log +1478 -0
- runs/realweb5.log +0 -0
- search-terms-page.yml +244 -0
- signup_page.txt +56 -0
- src/errors.py +63 -0
- src/evaluator.py +442 -0
- src/factory.py +189 -0
- src/logger.py +19 -0
- src/model_config.py +257 -0
- stores-menu.yml +327 -0
- synth/README.md +126 -0
- synth/__init__.py +8 -0
- synth/generate.py +185 -0
- synth/generators/__init__.py +8 -0
- synth/generators/filesystem/__init__.py +34 -0
- synth/generators/filesystem/author_folders/__init__.py +86 -0
- synth/generators/filesystem/base.py +132 -0
- synth/generators/filesystem/budget_computation/__init__.py +105 -0
- synth/generators/filesystem/clause_lookup/__init__.py +85 -0
- synth/generators/filesystem/duplicate_finder/README.md +240 -0
- synth/generators/filesystem/duplicate_finder/__init__.py +165 -0
- synth/generators/filesystem/extension_grouping/__init__.py +102 -0
- synth/generators/filesystem/file_splitting/__init__.py +86 -0
- synth/generators/filesystem/gradebased_score/__init__.py +94 -0
.dockerignore
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Git
|
| 2 |
+
.git
|
| 3 |
+
.gitignore
|
| 4 |
+
|
| 5 |
+
# Python
|
| 6 |
+
__pycache__
|
| 7 |
+
*.pyc
|
| 8 |
+
*.pyo
|
| 9 |
+
*.pyd
|
| 10 |
+
.Python
|
| 11 |
+
*.egg
|
| 12 |
+
*.egg-info/
|
| 13 |
+
dist/
|
| 14 |
+
build/
|
| 15 |
+
.eggs/
|
| 16 |
+
*.so
|
| 17 |
+
|
| 18 |
+
# Virtual environments
|
| 19 |
+
venv/
|
| 20 |
+
env/
|
| 21 |
+
ENV/
|
| 22 |
+
.venv/
|
| 23 |
+
|
| 24 |
+
# IDE
|
| 25 |
+
.vscode/
|
| 26 |
+
.idea/
|
| 27 |
+
*.swp
|
| 28 |
+
*.swo
|
| 29 |
+
*~
|
| 30 |
+
.DS_Store
|
| 31 |
+
|
| 32 |
+
# Environment files (contain secrets)
|
| 33 |
+
.env
|
| 34 |
+
.mcp_env
|
| 35 |
+
notion_state.json
|
| 36 |
+
|
| 37 |
+
# Test and development files
|
| 38 |
+
.pytest_cache/
|
| 39 |
+
.coverage
|
| 40 |
+
htmlcov/
|
| 41 |
+
.tox/
|
| 42 |
+
.mypy_cache/
|
| 43 |
+
.ruff_cache/
|
| 44 |
+
tests/
|
| 45 |
+
test_environments/
|
| 46 |
+
|
| 47 |
+
# Results and logs
|
| 48 |
+
results/
|
| 49 |
+
*.log
|
| 50 |
+
logs/
|
| 51 |
+
|
| 52 |
+
# PostgreSQL data
|
| 53 |
+
.postgres/
|
| 54 |
+
|
| 55 |
+
# Playwright
|
| 56 |
+
playwright-report/
|
| 57 |
+
test-results/
|
| 58 |
+
|
| 59 |
+
# Documentation images
|
| 60 |
+
asset/
|
| 61 |
+
|
| 62 |
+
# Temporary files
|
| 63 |
+
*.tmp
|
| 64 |
+
tmp/
|
| 65 |
+
temp/
|
| 66 |
+
|
| 67 |
+
# Docker
|
| 68 |
+
Dockerfile
|
| 69 |
+
docker-compose.yml
|
| 70 |
+
.dockerignore
|
| 71 |
+
|
| 72 |
+
# Node modules (if any locally installed)
|
| 73 |
+
node_modules/
|
| 74 |
+
|
| 75 |
+
# Pixi lock file
|
| 76 |
+
pixi.lock
|
| 77 |
+
.pixi/
|
| 78 |
+
|
| 79 |
+
# GitHub state files
|
| 80 |
+
github_state/
|
| 81 |
+
github_template_repo/
|
| 82 |
+
|
| 83 |
+
# Backup directories
|
| 84 |
+
.mcpbench_backups/
|
.github/PULL_REQUEST_TEMPLATE.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#### Change Type
|
| 2 |
+
|
| 3 |
+
<!-- For change type, change [ ] to [x]. -->
|
| 4 |
+
|
| 5 |
+
- [ ] ✨ feat
|
| 6 |
+
- [ ] 🐛 fix
|
| 7 |
+
- [ ] ♻️ refactor
|
| 8 |
+
- [ ] 💄 style
|
| 9 |
+
- [ ] 👷 build
|
| 10 |
+
- [ ] ⚡️ perf
|
| 11 |
+
- [ ] 📝 docs
|
| 12 |
+
- [ ] 🔨 chore
|
| 13 |
+
|
| 14 |
+
#### Description of Change
|
| 15 |
+
|
| 16 |
+
<!-- Thank you for your Pull Request. Please provide a description above. -->
|
| 17 |
+
|
| 18 |
+
#### Additional Information
|
| 19 |
+
|
| 20 |
+
<!-- Add any other context about the Pull Request here. -->
|
.gitignore
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
logs
|
| 2 |
+
.claude
|
| 3 |
+
CLAUDE.md
|
| 4 |
+
.gemini
|
| 5 |
+
results
|
| 6 |
+
materials
|
| 7 |
+
scripts
|
| 8 |
+
!.github/scripts
|
| 9 |
+
.nfs*
|
| 10 |
+
.mcp_env
|
| 11 |
+
.idea
|
| 12 |
+
# Byte-compiled / optimized / DLL files
|
| 13 |
+
__pycache__/
|
| 14 |
+
*.py[codz]
|
| 15 |
+
*$py.class
|
| 16 |
+
logs
|
| 17 |
+
logs/*
|
| 18 |
+
.DS_Store
|
| 19 |
+
notion-sdk-py/
|
| 20 |
+
github_state/*
|
| 21 |
+
|
| 22 |
+
# for playwright cookies
|
| 23 |
+
notion_state.json
|
| 24 |
+
|
| 25 |
+
# C extensions
|
| 26 |
+
*.so
|
| 27 |
+
|
| 28 |
+
# Distribution / packaging
|
| 29 |
+
.Python
|
| 30 |
+
build/
|
| 31 |
+
develop-eggs/
|
| 32 |
+
dist/
|
| 33 |
+
downloads/
|
| 34 |
+
eggs/
|
| 35 |
+
.eggs/
|
| 36 |
+
lib/
|
| 37 |
+
lib64/
|
| 38 |
+
parts/
|
| 39 |
+
sdist/
|
| 40 |
+
var/
|
| 41 |
+
wheels/
|
| 42 |
+
share/python-wheels/
|
| 43 |
+
*.egg-info/
|
| 44 |
+
.installed.cfg
|
| 45 |
+
*.egg
|
| 46 |
+
MANIFEST
|
| 47 |
+
|
| 48 |
+
# PyInstaller
|
| 49 |
+
# Usually these files are written by a python script from a template
|
| 50 |
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
| 51 |
+
*.manifest
|
| 52 |
+
*.spec
|
| 53 |
+
|
| 54 |
+
# Installer logs
|
| 55 |
+
pip-log.txt
|
| 56 |
+
pip-delete-this-directory.txt
|
| 57 |
+
|
| 58 |
+
# Unit test / coverage reports
|
| 59 |
+
htmlcov/
|
| 60 |
+
.tox/
|
| 61 |
+
.nox/
|
| 62 |
+
.coverage
|
| 63 |
+
.coverage.*
|
| 64 |
+
.cache
|
| 65 |
+
nosetests.xml
|
| 66 |
+
coverage.xml
|
| 67 |
+
*.cover
|
| 68 |
+
*.py.cover
|
| 69 |
+
.hypothesis/
|
| 70 |
+
.pytest_cache/
|
| 71 |
+
cover/
|
| 72 |
+
|
| 73 |
+
# Translations
|
| 74 |
+
*.mo
|
| 75 |
+
*.pot
|
| 76 |
+
|
| 77 |
+
# Django stuff:
|
| 78 |
+
*.log
|
| 79 |
+
local_settings.py
|
| 80 |
+
db.sqlite3
|
| 81 |
+
db.sqlite3-journal
|
| 82 |
+
|
| 83 |
+
# Flask stuff:
|
| 84 |
+
instance/
|
| 85 |
+
.webassets-cache
|
| 86 |
+
|
| 87 |
+
# Scrapy stuff:
|
| 88 |
+
.scrapy
|
| 89 |
+
|
| 90 |
+
# Sphinx documentation
|
| 91 |
+
docs/_build/
|
| 92 |
+
|
| 93 |
+
# PyBuilder
|
| 94 |
+
.pybuilder/
|
| 95 |
+
target/
|
| 96 |
+
|
| 97 |
+
# Jupyter Notebook
|
| 98 |
+
.ipynb_checkpoints
|
| 99 |
+
|
| 100 |
+
# IPython
|
| 101 |
+
profile_default/
|
| 102 |
+
ipython_config.py
|
| 103 |
+
|
| 104 |
+
# pyenv
|
| 105 |
+
# For a library or package, you might want to ignore these files since the code is
|
| 106 |
+
# intended to run in multiple environments; otherwise, check them in:
|
| 107 |
+
# .python-version
|
| 108 |
+
|
| 109 |
+
# pipenv
|
| 110 |
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
| 111 |
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
| 112 |
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
| 113 |
+
# install all needed dependencies.
|
| 114 |
+
#Pipfile.lock
|
| 115 |
+
|
| 116 |
+
# UV
|
| 117 |
+
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
|
| 118 |
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
| 119 |
+
# commonly ignored for libraries.
|
| 120 |
+
#uv.lock
|
| 121 |
+
|
| 122 |
+
# poetry
|
| 123 |
+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
| 124 |
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
| 125 |
+
# commonly ignored for libraries.
|
| 126 |
+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
| 127 |
+
#poetry.lock
|
| 128 |
+
#poetry.toml
|
| 129 |
+
|
| 130 |
+
# pdm
|
| 131 |
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
| 132 |
+
# pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
|
| 133 |
+
# https://pdm-project.org/en/latest/usage/project/#working-with-version-control
|
| 134 |
+
#pdm.lock
|
| 135 |
+
#pdm.toml
|
| 136 |
+
.pdm-python
|
| 137 |
+
.pdm-build/
|
| 138 |
+
|
| 139 |
+
# pixi
|
| 140 |
+
# Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
|
| 141 |
+
#pixi.lock
|
| 142 |
+
# Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
|
| 143 |
+
# in the .venv directory. It is recommended not to include this directory in version control.
|
| 144 |
+
.pixi
|
| 145 |
+
|
| 146 |
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
| 147 |
+
__pypackages__/
|
| 148 |
+
|
| 149 |
+
# Celery stuff
|
| 150 |
+
celerybeat-schedule
|
| 151 |
+
celerybeat.pid
|
| 152 |
+
|
| 153 |
+
# SageMath parsed files
|
| 154 |
+
*.sage.py
|
| 155 |
+
|
| 156 |
+
# Environments
|
| 157 |
+
.env
|
| 158 |
+
.envrc
|
| 159 |
+
.venv
|
| 160 |
+
env/
|
| 161 |
+
venv/
|
| 162 |
+
ENV/
|
| 163 |
+
env.bak/
|
| 164 |
+
venv.bak/
|
| 165 |
+
|
| 166 |
+
# Spyder project settings
|
| 167 |
+
.spyderproject
|
| 168 |
+
.spyproject
|
| 169 |
+
|
| 170 |
+
# Rope project settings
|
| 171 |
+
.ropeproject
|
| 172 |
+
|
| 173 |
+
# mkdocs documentation
|
| 174 |
+
/site
|
| 175 |
+
|
| 176 |
+
# mypy
|
| 177 |
+
.mypy_cache/
|
| 178 |
+
.dmypy.json
|
| 179 |
+
dmypy.json
|
| 180 |
+
|
| 181 |
+
# Pyre type checker
|
| 182 |
+
.pyre/
|
| 183 |
+
|
| 184 |
+
# pytype static type analyzer
|
| 185 |
+
.pytype/
|
| 186 |
+
|
| 187 |
+
# Cython debug symbols
|
| 188 |
+
cython_debug/
|
| 189 |
+
|
| 190 |
+
# PyCharm
|
| 191 |
+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
| 192 |
+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
| 193 |
+
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
| 194 |
+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
| 195 |
+
#.idea/
|
| 196 |
+
|
| 197 |
+
# Abstra
|
| 198 |
+
# Abstra is an AI-powered process automation framework.
|
| 199 |
+
# Ignore directories containing user credentials, local state, and settings.
|
| 200 |
+
# Learn more at https://abstra.io/docs
|
| 201 |
+
.abstra/
|
| 202 |
+
|
| 203 |
+
# Visual Studio Code
|
| 204 |
+
# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
|
| 205 |
+
# that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
|
| 206 |
+
# and can be added to the global gitignore or merged into this file. However, if you prefer,
|
| 207 |
+
# you could uncomment the following to ignore the entire vscode folder
|
| 208 |
+
# .vscode/
|
| 209 |
+
|
| 210 |
+
# Ruff stuff:
|
| 211 |
+
.ruff_cache/
|
| 212 |
+
|
| 213 |
+
# PyPI configuration file
|
| 214 |
+
.pypirc
|
| 215 |
+
|
| 216 |
+
# Cursor
|
| 217 |
+
# Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to
|
| 218 |
+
# exclude from AI features like autocomplete and code analysis. Recommended for sensitive data
|
| 219 |
+
# refer to https://docs.cursor.com/context/ignore-files
|
| 220 |
+
.cursorignore
|
| 221 |
+
.cursorindexingignore
|
| 222 |
+
|
| 223 |
+
# Marimo
|
| 224 |
+
marimo/_static/
|
| 225 |
+
marimo/_lsp/
|
| 226 |
+
__marimo__/
|
| 227 |
+
|
| 228 |
+
# pixi environments
|
| 229 |
+
.pixi
|
| 230 |
+
*.egg-info
|
| 231 |
+
|
| 232 |
+
.postgres
|
| 233 |
+
|
| 234 |
+
# MCPMark backup directories
|
| 235 |
+
.mcpmark_backups/*
|
| 236 |
+
test_environments/
|
| 237 |
+
postgres_state
|
README.md
CHANGED
|
@@ -1,3 +1,241 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<div align="center">
|
| 2 |
+
|
| 3 |
+
# MCPMark: Stress-Testing Comprehensive MCP Use
|
| 4 |
+
|
| 5 |
+
[](https://mcpmark.ai)
|
| 6 |
+
[](https://arxiv.org/abs/2509.24002)
|
| 7 |
+
[](https://discord.gg/HrKkJAxDnA)
|
| 8 |
+
[](https://mcpmark.ai/docs)
|
| 9 |
+
[](https://huggingface.co/datasets/Jakumetsu/mcpmark-trajectory-log)
|
| 10 |
+
|
| 11 |
+
</div>
|
| 12 |
+
|
| 13 |
+
An evaluation suite for agentic models in real MCP tool environments (Notion / GitHub / Filesystem / Postgres / Playwright).
|
| 14 |
+
|
| 15 |
+
MCPMark provides a reproducible, extensible benchmark for researchers and engineers: one-command tasks, isolated sandboxes, auto-resume for failures, unified metrics, and aggregated reports.
|
| 16 |
+
|
| 17 |
+
[](https://mcpmark.ai)
|
| 18 |
+
|
| 19 |
+
## News
|
| 20 |
+
|
| 21 |
+
- 📣 **27 May** — The previous Notion Source Hub page is deprecated; please use the new link: [MCPMark Source Hub](https://gossamer-sawfish-47c.notion.site/MCPMark-Source-Hub-dc32b7e8cebd82b8959b81ae322df87a).
|
| 22 |
+
- 📌 **21 Jan** — Pinned MCP server versions for reproducible benchmarks: GitHub MCP Server `v0.15.0` (switched to Docker for version control), Notion MCP Server `@1.9.1` (Notion released 2.0 but it has many bugs, not recommended). See [#246](https://github.com/eval-sys/mcpmark/pull/246).
|
| 23 |
+
- 🔥 **13 Dec** — Added auto-compaction support (`--compaction-token`) to summarize long conversations and avoid context overflow during evaluation ([#236](https://github.com/eval-sys/mcpmark/pull/236])).
|
| 24 |
+
- 🏅 **02 Dec** — Evaluated `gemini-3-pro-preview` (thinking: low): **Pass@1 50.6%** ± 2.3% — so close to `gpt-5-high` (51.6%)! Also `deepseek-v3.2-thinking` 36.8% and `deepseek-v3.2-chat` 29.7%
|
| 25 |
+
- 🔥 **02 Dec** — Obfuscate GitHub @mentions to prevent notification spam during evaluation ([#229](https://github.com/eval-sys/mcpmark/pull/229))
|
| 26 |
+
- 🏅 **01 Dec** — DeepSeek v3.2 uses MCPMark! Kudos on securing the best open-source model. [X Post](https://x.com/deepseek_ai/status/1995452650557763728) | [Technical Report](https://huggingface.co/deepseek-ai/DeepSeek-V3.2/resolve/main/assets/paper.pdf)
|
| 27 |
+
- 🔥 **17 Nov** — Added 50 easy tasks (10 per MCP server) for smaller open-source models ([#225](https://github.com/eval-sys/mcpmark/pull/225))
|
| 28 |
+
- 🤝 **31 Oct** — Community PR from insforge: better MCP servers achieve better results with fewer tokens! ([#214](https://github.com/eval-sys/mcpmark/pull/214))
|
| 29 |
+
- 🔥 **13 Oct** — Added ReAct agent support. PRs for new agent scaffolds welcome! ([#209](https://github.com/eval-sys/mcpmark/pull/209))
|
| 30 |
+
- 🏅 **10 Sep** — `qwen-3-coder-plus` is the best open-source model! Kudos to Qwen team. [X Post](https://x.com/Alibaba_Qwen/status/1965457023438651532)
|
| 31 |
+
|
| 32 |
---
|
| 33 |
+
|
| 34 |
+
## What you can do with MCPMark
|
| 35 |
+
|
| 36 |
+
- **Evaluate real tool usage** across multiple MCP services: `Notion`, `GitHub`, `Filesystem`, `Postgres`, `Playwright`.
|
| 37 |
+
- **Use ready-to-run tasks** covering practical workflows, each with strict automated verification.
|
| 38 |
+
- **Reliable and reproducible**: isolated environments that do not pollute your accounts/data; failed tasks auto-retry and resume.
|
| 39 |
+
- **Unified metrics and aggregation**: single/multi-run (pass@k, avg@k, etc.) with automated results aggregation.
|
| 40 |
+
- **Flexible deployment**: local or Docker; fully validated on macOS and Linux.
|
| 41 |
+
|
| 42 |
---
|
| 43 |
+
|
| 44 |
+
## Quickstart (5 minutes)
|
| 45 |
+
|
| 46 |
+
### 1) Clone the repository
|
| 47 |
+
```bash
|
| 48 |
+
git clone https://github.com/eval-sys/mcpmark.git
|
| 49 |
+
cd mcpmark
|
| 50 |
+
```
|
| 51 |
+
|
| 52 |
+
### 2) Set environment variables (create `.mcp_env` at repo root)
|
| 53 |
+
Only set what you need. Add service credentials when running tasks for that service.
|
| 54 |
+
|
| 55 |
+
```env
|
| 56 |
+
# Example: OpenAI
|
| 57 |
+
OPENAI_BASE_URL="https://api.openai.com/v1"
|
| 58 |
+
OPENAI_API_KEY="sk-..."
|
| 59 |
+
|
| 60 |
+
# Optional: Notion (only for Notion tasks)
|
| 61 |
+
SOURCE_NOTION_API_KEY="your-source-notion-api-key"
|
| 62 |
+
EVAL_NOTION_API_KEY="your-eval-notion-api-key"
|
| 63 |
+
EVAL_PARENT_PAGE_TITLE="MCPMark Eval Hub"
|
| 64 |
+
PLAYWRIGHT_BROWSER="chromium" # chromium | firefox
|
| 65 |
+
PLAYWRIGHT_HEADLESS="True"
|
| 66 |
+
|
| 67 |
+
# Optional: GitHub (only for GitHub tasks)
|
| 68 |
+
GITHUB_TOKENS="token1,token2" # token pooling for rate limits
|
| 69 |
+
GITHUB_EVAL_ORG="your-eval-org"
|
| 70 |
+
|
| 71 |
+
# Optional: Postgres (only for Postgres tasks)
|
| 72 |
+
POSTGRES_HOST="localhost"
|
| 73 |
+
POSTGRES_PORT="5432"
|
| 74 |
+
POSTGRES_USERNAME="postgres"
|
| 75 |
+
POSTGRES_PASSWORD="password"
|
| 76 |
+
```
|
| 77 |
+
|
| 78 |
+
See `docs/introduction.md` and the service guides below for more details.
|
| 79 |
+
|
| 80 |
+
### 3) Install and run a minimal example
|
| 81 |
+
|
| 82 |
+
Local (Recommended)
|
| 83 |
+
```bash
|
| 84 |
+
pip install -e .
|
| 85 |
+
# If you'll use browser-based tasks, install Playwright browsers first
|
| 86 |
+
playwright install
|
| 87 |
+
```
|
| 88 |
+
|
| 89 |
+
MCPMark defaults to the built-in orchestration agent (`MCPMarkAgent`). To experiment with the ReAct-style agent, pass `--agent react` to `pipeline.py` (other settings stay the same).
|
| 90 |
+
|
| 91 |
+
Docker
|
| 92 |
+
```bash
|
| 93 |
+
./build-docker.sh
|
| 94 |
+
```
|
| 95 |
+
|
| 96 |
+
Run a filesystem task (no external accounts required):
|
| 97 |
+
```bash
|
| 98 |
+
python -m pipeline \
|
| 99 |
+
--mcp filesystem \
|
| 100 |
+
--k 1 \ # run once to quick start
|
| 101 |
+
--models gpt-5 \ # or any model you configured
|
| 102 |
+
--tasks file_property/size_classification
|
| 103 |
+
# Add --task-suite easy to run the lightweight dataset (where available)
|
| 104 |
+
```
|
| 105 |
+
|
| 106 |
+
Results are saved to `./results/{exp_name}/{model}__{mcp}/run-*/...` for the standard suite and `./results/{exp_name}/{model}__{mcp}-easy/run-*/...` when you run `--task-suite easy` (e.g., `./results/test-run/gpt-5__filesystem/run-1/...` or `./results/test-run/gpt-5__github-easy/run-1/...`).
|
| 107 |
+
|
| 108 |
+
---
|
| 109 |
+
|
| 110 |
+
## Run your evaluations
|
| 111 |
+
|
| 112 |
+
### Task suites (standard vs easy)
|
| 113 |
+
|
| 114 |
+
- Each MCP service now stores tasks under `tasks/<mcp>/<task_suite>/<category>/<task>/`.
|
| 115 |
+
- `standard` (default) covers the full benchmark (127 tasks today).
|
| 116 |
+
- `easy` hosts 10 lightweight tasks per MCP, ideal for smoke tests and CI (GitHub’s are already available under `tasks/github/easy`).
|
| 117 |
+
- Switch suites with `--task-suite easy` (defaults to `--task-suite standard`).
|
| 118 |
+
|
| 119 |
+
### Single run (k=1)
|
| 120 |
+
```bash
|
| 121 |
+
# Run ALL tasks for a service
|
| 122 |
+
python -m pipeline --exp-name exp --mcp notion --tasks all --models MODEL --k 1
|
| 123 |
+
|
| 124 |
+
# Run a task group
|
| 125 |
+
python -m pipeline --exp-name exp --mcp notion --tasks online_resume --models MODEL --k 1
|
| 126 |
+
|
| 127 |
+
# Run a specific task
|
| 128 |
+
python -m pipeline --exp-name exp --mcp notion --tasks online_resume/daily_itinerary_overview --models MODEL --k 1
|
| 129 |
+
|
| 130 |
+
# Evaluate multiple models
|
| 131 |
+
python -m pipeline --exp-name exp --mcp notion --tasks all --models MODEL1,MODEL2,MODEL3 --k 1
|
| 132 |
+
```
|
| 133 |
+
|
| 134 |
+
### Multiple runs (k>1) for pass@k
|
| 135 |
+
```bash
|
| 136 |
+
# Run k=4 to compute stability metrics (requires --exp-name to aggregate final results)
|
| 137 |
+
python -m pipeline --exp-name exp --mcp notion --tasks all --models MODEL
|
| 138 |
+
|
| 139 |
+
# Aggregate results (pass@1 / pass@k / pass^k / avg@k)
|
| 140 |
+
python -m src.aggregators.aggregate_results --exp-name exp
|
| 141 |
+
```
|
| 142 |
+
|
| 143 |
+
### Run with Docker
|
| 144 |
+
```bash
|
| 145 |
+
# Run all tasks for a service
|
| 146 |
+
./run-task.sh --mcp notion --models MODEL --exp-name exp --tasks all
|
| 147 |
+
|
| 148 |
+
# Cross-service benchmark
|
| 149 |
+
./run-benchmark.sh --models MODEL --exp-name exp --docker
|
| 150 |
+
```
|
| 151 |
+
|
| 152 |
+
Please visit `docs/introduction.md` for choices of *MODEL*.
|
| 153 |
+
|
| 154 |
+
Tip: MCPMark supports **auto-resume**. When re-running, only unfinished tasks will execute. Failures matching our retryable patterns (see [RETRYABLE_PATTERNS](src/errors.py)) are retried automatically. Models may emit different error strings—if you encounter a new resumable error, please open a PR or issue.
|
| 155 |
+
|
| 156 |
+
Tip: MCPMark supports **auto-compaction**; pass `--compaction-token N` to enable automatic context summarization when prompt tokens reach `N` (use `999999999` to disable).
|
| 157 |
+
|
| 158 |
+
---
|
| 159 |
+
|
| 160 |
+
## Service setup and authentication
|
| 161 |
+
|
| 162 |
+
| Service | Setup summary | Docs |
|
| 163 |
+
|-------------|-----------------------------------------------------------------------------------------------------------------|---------------------------------------|
|
| 164 |
+
| Notion | Environment isolation (Source Hub / Eval Hub), integration creation and grants, browser login verification. | [Guide](docs/mcp/notion.md) |
|
| 165 |
+
| GitHub | Multi-account token pooling recommended; import pre-exported repo state if needed. | [Guide](docs/mcp/github.md) |
|
| 166 |
+
| Postgres | Start via Docker and import sample databases. | [Setup](docs/mcp/postgres.md) |
|
| 167 |
+
| Playwright | Install browsers before first run; defaults to `chromium`. | [Setup](docs/mcp/playwright.md) |
|
| 168 |
+
| Filesystem | Zero-configuration, run directly. | [Config](docs/mcp/filesystem.md) |
|
| 169 |
+
|
| 170 |
+
You can also follow [Quickstart](docs/quickstart.md) for the shortest end-to-end path.
|
| 171 |
+
|
| 172 |
+
### Important Notice: GitHub Repository Privacy
|
| 173 |
+
|
| 174 |
+
> **Please ensure your evaluation repositories are set to PRIVATE.**
|
| 175 |
+
|
| 176 |
+
GitHub state templates are now automatically downloaded from our CDN during evaluation — no manual download is required. However, because these templates contain issues and pull requests from real open-source repositories, the recreation process includes `@username` mentions of the original authors.
|
| 177 |
+
|
| 178 |
+
**We have received feedback from original GitHub authors who were inadvertently notified** when evaluation repositories were created as public. To be a responsible member of the open-source community, we urge all users to:
|
| 179 |
+
|
| 180 |
+
1. **Always keep evaluation repositories private** during the evaluation process.
|
| 181 |
+
2. **In the latest version**, we have added random suffixes to all `@username` mentions (e.g., `@user` becomes `@user_x7k2`) and implemented a safety check that prevents importing templates to public repositories.
|
| 182 |
+
3. **If you are using an older version of MCPMark**, please either:
|
| 183 |
+
- Pull the latest code immediately, or
|
| 184 |
+
- Manually ensure all GitHub evaluation repositories are set to private.
|
| 185 |
+
|
| 186 |
+
Thank you for helping us maintain a respectful relationship with the open-source community.
|
| 187 |
+
|
| 188 |
+
---
|
| 189 |
+
|
| 190 |
+
## Results and metrics
|
| 191 |
+
|
| 192 |
+
- Results are organized under `./results/{exp_name}/{model}__{mcp}/run-*/` (JSON + CSV per task).
|
| 193 |
+
- Generate a summary with:
|
| 194 |
+
```bash
|
| 195 |
+
# Basic usage
|
| 196 |
+
python -m src.aggregators.aggregate_results --exp-name exp
|
| 197 |
+
|
| 198 |
+
# For k-run experiments with single-run models
|
| 199 |
+
python -m src.aggregators.aggregate_results --exp-name exp --k 4 --single-run-models claude-opus-4-1
|
| 200 |
+
```
|
| 201 |
+
- Only models with complete results across all tasks and runs are included in the final summary.
|
| 202 |
+
- Includes multi-run metrics (pass@k, pass^k) for stability comparisons when k > 1.
|
| 203 |
+
|
| 204 |
+
---
|
| 205 |
+
|
| 206 |
+
## Model and Tasks
|
| 207 |
+
- **Model support**: MCPMark calls models via LiteLLM — see the LiteLLM docs: [`LiteLLM Doc`](https://docs.litellm.ai/docs/). For Anthropic (Claude) extended thinking mode (enabled via `--reasoning-effort`), we use Anthropic’s native API.
|
| 208 |
+
- See `docs/introduction.md` for details and configuration of supported models in MCPMark.
|
| 209 |
+
- To add a new model, edit `src/model_config.py`. Before adding, check LiteLLM supported models/providers. See [`LiteLLM Doc`](https://docs.litellm.ai/docs/).
|
| 210 |
+
- Task design principles in `docs/datasets/task.md`. Each task ships with an automated `verify.py` for objective, reproducible evaluation, see `docs/task.md` for details.
|
| 211 |
+
|
| 212 |
+
---
|
| 213 |
+
|
| 214 |
+
## Contributing
|
| 215 |
+
|
| 216 |
+
Contributions are welcome:
|
| 217 |
+
1. Add a new task under `tasks/<mcp>/<task_suite>/<category_id>/<task_id>/` with `meta.json`, `description.md` and `verify.py`.
|
| 218 |
+
2. Ensure local checks pass and open a PR.
|
| 219 |
+
3. See `docs/contributing/make-contribution.md`.
|
| 220 |
+
|
| 221 |
+
---
|
| 222 |
+
|
| 223 |
+
## Citation
|
| 224 |
+
|
| 225 |
+
If you find our works useful for your research, please consider citing:
|
| 226 |
+
|
| 227 |
+
```bibtex
|
| 228 |
+
@misc{wu2025mcpmark,
|
| 229 |
+
title={MCPMark: A Benchmark for Stress-Testing Realistic and Comprehensive MCP Use},
|
| 230 |
+
author={Zijian Wu and Xiangyan Liu and Xinyuan Zhang and Lingjun Chen and Fanqing Meng and Lingxiao Du and Yiran Zhao and Fanshi Zhang and Yaoqi Ye and Jiawei Wang and Zirui Wang and Jinjie Ni and Yufan Yang and Arvin Xu and Michael Qizhe Shieh},
|
| 231 |
+
year={2025},
|
| 232 |
+
eprint={2509.24002},
|
| 233 |
+
archivePrefix={arXiv},
|
| 234 |
+
primaryClass={cs.CL},
|
| 235 |
+
url={https://arxiv.org/abs/2509.24002},
|
| 236 |
+
}
|
| 237 |
+
```
|
| 238 |
+
|
| 239 |
+
## License
|
| 240 |
+
|
| 241 |
+
This project is licensed under the Apache License 2.0 — see `LICENSE`.
|
admin-login.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
- generic [ref=e2]:
|
| 2 |
+
- link "Magento Admin Panel" [ref=e4] [cursor=pointer]:
|
| 3 |
+
- /url: http://localhost:7790/admin/admin/
|
| 4 |
+
- img "Magento Admin Panel" [ref=e5]
|
| 5 |
+
- group "Welcome, please sign in" [ref=e8]:
|
| 6 |
+
- generic [ref=e9]: Welcome, please sign in
|
| 7 |
+
- generic [ref=e10]:
|
| 8 |
+
- generic [ref=e12]: Username *
|
| 9 |
+
- textbox "Username *" [active] [ref=e14]:
|
| 10 |
+
- /placeholder: user name
|
| 11 |
+
- generic [ref=e15]:
|
| 12 |
+
- generic [ref=e17]: Password *
|
| 13 |
+
- textbox "Password *" [ref=e19]:
|
| 14 |
+
- /placeholder: password
|
| 15 |
+
- generic [ref=e20]:
|
| 16 |
+
- button "Sign in" [ref=e22] [cursor=pointer]
|
| 17 |
+
- link "Forgot your password?" [ref=e24] [cursor=pointer]:
|
| 18 |
+
- /url: http://localhost:7790/admin/admin/auth/forgotpassword/
|
| 19 |
+
- generic [ref=e25]:
|
| 20 |
+
- link "Magento":
|
| 21 |
+
- /url: http://magento.com
|
| 22 |
+
- text: Copyright © 2026 Magento Commerce Inc. All rights reserved.
|
article4-buttons.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
"[\n {\n \"index\": 0,\n \"ariaLabel\": null,\n \"className\": \"unbuttonize vote__button vote__up\",\n \"innerText\": \"\",\n \"innerHTML\": \"\\n <span aria-hidden=\\\"true\\\"><span class=\\\"icon icon--with-alt-text icon--no-align\\\"><img src=\\\"data:i\"\n },\n {\n \"index\": 1,\n \"ariaLabel\": null,\n \"className\": \"unbuttonize vote__button vote__down\",\n \"innerText\": \"\",\n \"innerHTML\": \"\\n <span aria-hidden=\\\"true\\\"><span class=\\\"icon icon--with-alt-text icon--no-align\\\"><img src=\\\"data:i\"\n }\n]"
|
arxiv-page.yml
ADDED
|
@@ -0,0 +1,305 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
- generic [ref=e2]:
|
| 2 |
+
- banner [ref=e3]:
|
| 3 |
+
- link "Skip to main content" [ref=e4] [cursor=pointer]:
|
| 4 |
+
- /url: "#content"
|
| 5 |
+
- generic [ref=e5]:
|
| 6 |
+
- link "Cornell University" [ref=e7] [cursor=pointer]:
|
| 7 |
+
- /url: https://www.cornell.edu/
|
| 8 |
+
- img "Cornell University" [ref=e8]
|
| 9 |
+
- link "Learn about arXiv becoming an independent nonprofit." [ref=e10] [cursor=pointer]:
|
| 10 |
+
- /url: https://tech.cornell.edu/arxiv/
|
| 11 |
+
- generic [ref=e11]:
|
| 12 |
+
- generic [ref=e12]:
|
| 13 |
+
- text: We gratefully acknowledge support from the Simons Foundation,
|
| 14 |
+
- link "member institutions" [ref=e13] [cursor=pointer]:
|
| 15 |
+
- /url: https://info.arxiv.org/about/ourmembers.html
|
| 16 |
+
- text: ", and all contributors."
|
| 17 |
+
- link "Donate" [ref=e14] [cursor=pointer]:
|
| 18 |
+
- /url: https://info.arxiv.org/about/donate.html
|
| 19 |
+
- generic [ref=e15]:
|
| 20 |
+
- generic [ref=e16]:
|
| 21 |
+
- link "arxiv logo" [ref=e17] [cursor=pointer]:
|
| 22 |
+
- /url: /
|
| 23 |
+
- img "arxiv logo" [ref=e18]
|
| 24 |
+
- generic [ref=e19]: ">"
|
| 25 |
+
- link "cs" [ref=e20] [cursor=pointer]:
|
| 26 |
+
- /url: /list/cs/recent
|
| 27 |
+
- generic [ref=e21]: ">"
|
| 28 |
+
- text: arXiv:1907.10902
|
| 29 |
+
- generic [ref=e24]:
|
| 30 |
+
- generic [ref=e25]:
|
| 31 |
+
- textbox "Search term or terms" [ref=e26]:
|
| 32 |
+
- /placeholder: Search...
|
| 33 |
+
- paragraph [ref=e27]:
|
| 34 |
+
- link "Help" [ref=e28] [cursor=pointer]:
|
| 35 |
+
- /url: https://info.arxiv.org/help
|
| 36 |
+
- text: "|"
|
| 37 |
+
- link "Advanced Search" [ref=e29] [cursor=pointer]:
|
| 38 |
+
- /url: https://arxiv.org/search/advanced
|
| 39 |
+
- combobox "Field to search" [ref=e31]:
|
| 40 |
+
- option "All fields" [selected]
|
| 41 |
+
- option "Title"
|
| 42 |
+
- option "Author"
|
| 43 |
+
- option "Abstract"
|
| 44 |
+
- option "Comments"
|
| 45 |
+
- option "Journal reference"
|
| 46 |
+
- option "ACM classification"
|
| 47 |
+
- option "MSC classification"
|
| 48 |
+
- option "Report number"
|
| 49 |
+
- option "arXiv identifier"
|
| 50 |
+
- option "DOI"
|
| 51 |
+
- option "ORCID"
|
| 52 |
+
- option "arXiv author ID"
|
| 53 |
+
- option "Help pages"
|
| 54 |
+
- option "Full text"
|
| 55 |
+
- button "Search" [ref=e32] [cursor=pointer]
|
| 56 |
+
- main [ref=e33]:
|
| 57 |
+
- generic [ref=e35]:
|
| 58 |
+
- generic [ref=e36]:
|
| 59 |
+
- heading "Computer Science > Machine Learning" [level=1] [ref=e38]
|
| 60 |
+
- generic [ref=e40]:
|
| 61 |
+
- generic [ref=e41]: "[Submitted on 25 Jul 2019]"
|
| 62 |
+
- 'heading "Optuna: A Next-generation Hyperparameter Optimization Framework" [level=1] [ref=e42]'
|
| 63 |
+
- generic [ref=e43]:
|
| 64 |
+
- link "Takuya Akiba" [ref=e44] [cursor=pointer]:
|
| 65 |
+
- /url: https://arxiv.org/search/cs?searchtype=author&query=Akiba,+T
|
| 66 |
+
- text: ","
|
| 67 |
+
- link "Shotaro Sano" [ref=e45] [cursor=pointer]:
|
| 68 |
+
- /url: https://arxiv.org/search/cs?searchtype=author&query=Sano,+S
|
| 69 |
+
- text: ","
|
| 70 |
+
- link "Toshihiko Yanase" [ref=e46] [cursor=pointer]:
|
| 71 |
+
- /url: https://arxiv.org/search/cs?searchtype=author&query=Yanase,+T
|
| 72 |
+
- text: ","
|
| 73 |
+
- link "Takeru Ohta" [ref=e47] [cursor=pointer]:
|
| 74 |
+
- /url: https://arxiv.org/search/cs?searchtype=author&query=Ohta,+T
|
| 75 |
+
- text: ","
|
| 76 |
+
- link "Masanori Koyama" [ref=e48] [cursor=pointer]:
|
| 77 |
+
- /url: https://arxiv.org/search/cs?searchtype=author&query=Koyama,+M
|
| 78 |
+
- blockquote [ref=e49]:
|
| 79 |
+
- text: The purpose of this study is to introduce new design-criteria for next-generation hyperparameter optimization software. The criteria we propose include (1) define-by-run API that allows users to construct the parameter search space dynamically, (2) efficient implementation of both searching and pruning strategies, and (3) easy-to-setup, versatile architecture that can be deployed for various purposes, ranging from scalable distributed computing to light-weight experiment conducted via interactive interface. In order to prove our point, we will introduce Optuna, an optimization software which is a culmination of our effort in the development of a next generation optimization software. As an optimization software designed with define-by-run principle, Optuna is particularly the first of its kind. We will present the design-techniques that became necessary in the development of the software that meets the above criteria, and demonstrate the power of our new design through experimental results and real world applications. Our software is available under the MIT license (
|
| 80 |
+
- link "this https URL" [ref=e50] [cursor=pointer]:
|
| 81 |
+
- /url: https://github.com/pfnet/optuna/
|
| 82 |
+
- text: ).
|
| 83 |
+
- table "Additional metadata" [ref=e52]:
|
| 84 |
+
- rowgroup [ref=e53]:
|
| 85 |
+
- 'row "Comments: 10 pages, Accepted at KDD 2019 Applied Data Science track" [ref=e54]':
|
| 86 |
+
- cell "Comments:" [ref=e55]
|
| 87 |
+
- cell "10 pages, Accepted at KDD 2019 Applied Data Science track" [ref=e56]
|
| 88 |
+
- 'row "Subjects: Machine Learning (cs.LG); Machine Learning (stat.ML)" [ref=e57]':
|
| 89 |
+
- cell "Subjects:" [ref=e58]
|
| 90 |
+
- cell "Machine Learning (cs.LG); Machine Learning (stat.ML)" [ref=e59]
|
| 91 |
+
- 'row "Cite as: arXiv:1907.10902 [cs.LG]" [ref=e60]':
|
| 92 |
+
- cell "Cite as:" [ref=e61]
|
| 93 |
+
- cell "arXiv:1907.10902 [cs.LG]" [ref=e62]:
|
| 94 |
+
- generic [ref=e63]:
|
| 95 |
+
- link "arXiv:1907.10902" [ref=e64] [cursor=pointer]:
|
| 96 |
+
- /url: https://arxiv.org/abs/1907.10902
|
| 97 |
+
- text: "[cs.LG]"
|
| 98 |
+
- row "(or arXiv:1907.10902v1 [cs.LG] for this version)" [ref=e65]:
|
| 99 |
+
- cell [ref=e66]
|
| 100 |
+
- cell "(or arXiv:1907.10902v1 [cs.LG] for this version)" [ref=e67]:
|
| 101 |
+
- text: (or
|
| 102 |
+
- generic [ref=e68]:
|
| 103 |
+
- link "arXiv:1907.10902v1" [ref=e69] [cursor=pointer]:
|
| 104 |
+
- /url: https://arxiv.org/abs/1907.10902v1
|
| 105 |
+
- text: "[cs.LG]"
|
| 106 |
+
- text: for this version)
|
| 107 |
+
- row "https://doi.org/10.48550/arXiv.1907.10902 Focus to learn more" [ref=e70]:
|
| 108 |
+
- cell [ref=e71]
|
| 109 |
+
- cell "https://doi.org/10.48550/arXiv.1907.10902 Focus to learn more" [ref=e72]:
|
| 110 |
+
- link "https://doi.org/10.48550/arXiv.1907.10902" [ref=e73] [cursor=pointer]:
|
| 111 |
+
- /url: https://doi.org/10.48550/arXiv.1907.10902
|
| 112 |
+
- button "Focus to learn more" [ref=e75]:
|
| 113 |
+
- generic [ref=e77]: Focus to learn more
|
| 114 |
+
- generic [ref=e78]:
|
| 115 |
+
- heading "Submission history" [level=2] [ref=e79]
|
| 116 |
+
- text: "From: Toshihiko Yanase ["
|
| 117 |
+
- link "view email" [ref=e80] [cursor=pointer]:
|
| 118 |
+
- /url: /show-email/4c88e0f1/1907.10902
|
| 119 |
+
- text: "]"
|
| 120 |
+
- strong [ref=e81]: "[v1]"
|
| 121 |
+
- text: Thu, 25 Jul 2019 08:55:22 UTC (853 KB)
|
| 122 |
+
- generic [ref=e82]:
|
| 123 |
+
- generic [ref=e83]:
|
| 124 |
+
- heading "Access Paper:" [level=2] [ref=e84]
|
| 125 |
+
- list [ref=e85]:
|
| 126 |
+
- listitem [ref=e86]:
|
| 127 |
+
- link "View PDF" [ref=e87] [cursor=pointer]:
|
| 128 |
+
- /url: /pdf/1907.10902
|
| 129 |
+
- listitem [ref=e88]:
|
| 130 |
+
- link "TeX Source" [ref=e89] [cursor=pointer]:
|
| 131 |
+
- /url: /src/1907.10902
|
| 132 |
+
- link "view license" [ref=e91] [cursor=pointer]:
|
| 133 |
+
- /url: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
|
| 134 |
+
- generic [ref=e92]:
|
| 135 |
+
- heading "Current browse context:" [level=3] [ref=e93]
|
| 136 |
+
- generic [ref=e94]: cs.LG
|
| 137 |
+
- generic [ref=e95]:
|
| 138 |
+
- link "< prev" [ref=e97] [cursor=pointer]:
|
| 139 |
+
- /url: /prevnext?id=1907.10902&function=prev&context=cs.LG
|
| 140 |
+
- text: "|"
|
| 141 |
+
- link "next >" [ref=e99] [cursor=pointer]:
|
| 142 |
+
- /url: /prevnext?id=1907.10902&function=next&context=cs.LG
|
| 143 |
+
- generic [ref=e100]:
|
| 144 |
+
- link "new" [ref=e101] [cursor=pointer]:
|
| 145 |
+
- /url: /list/cs.LG/new
|
| 146 |
+
- text: "|"
|
| 147 |
+
- link "recent" [ref=e102] [cursor=pointer]:
|
| 148 |
+
- /url: /list/cs.LG/recent
|
| 149 |
+
- text: "|"
|
| 150 |
+
- link "2019-07" [ref=e103] [cursor=pointer]:
|
| 151 |
+
- /url: /list/cs.LG/2019-07
|
| 152 |
+
- generic [ref=e104]:
|
| 153 |
+
- text: "Change to browse by:"
|
| 154 |
+
- generic [ref=e105]:
|
| 155 |
+
- link "cs" [ref=e106] [cursor=pointer]:
|
| 156 |
+
- /url: /abs/1907.10902?context=cs
|
| 157 |
+
- link "stat" [ref=e107] [cursor=pointer]:
|
| 158 |
+
- /url: /abs/1907.10902?context=stat
|
| 159 |
+
- link "stat.ML" [ref=e108] [cursor=pointer]:
|
| 160 |
+
- /url: /abs/1907.10902?context=stat.ML
|
| 161 |
+
- generic [ref=e109]:
|
| 162 |
+
- heading "References & Citations" [level=3] [ref=e110]
|
| 163 |
+
- list [ref=e111]:
|
| 164 |
+
- listitem [ref=e112]:
|
| 165 |
+
- link "NASA ADS" [ref=e113] [cursor=pointer]:
|
| 166 |
+
- /url: https://ui.adsabs.harvard.edu/abs/arXiv:1907.10902
|
| 167 |
+
- listitem [ref=e114]:
|
| 168 |
+
- link "Google Scholar" [ref=e115] [cursor=pointer]:
|
| 169 |
+
- /url: https://scholar.google.com/scholar_lookup?arxiv_id=1907.10902
|
| 170 |
+
- listitem [ref=e116]:
|
| 171 |
+
- link "Semantic Scholar" [ref=e117] [cursor=pointer]:
|
| 172 |
+
- /url: https://api.semanticscholar.org/arXiv:1907.10902
|
| 173 |
+
- generic [ref=e118]:
|
| 174 |
+
- heading "DBLP - CS Bibliography" [level=3] [ref=e119]:
|
| 175 |
+
- link "DBLP" [ref=e120] [cursor=pointer]:
|
| 176 |
+
- /url: https://dblp.uni-trier.de
|
| 177 |
+
- text: "- CS Bibliography"
|
| 178 |
+
- generic [ref=e121]:
|
| 179 |
+
- link "listing" [ref=e122] [cursor=pointer]:
|
| 180 |
+
- /url: https://dblp.uni-trier.de/db/journals/corr/corr1907.html#abs-1907-10902
|
| 181 |
+
- text: "|"
|
| 182 |
+
- link "bibtex" [ref=e123] [cursor=pointer]:
|
| 183 |
+
- /url: https://dblp.uni-trier.de/rec/bibtex/journals/corr/abs-1907-10902
|
| 184 |
+
- generic [ref=e124]:
|
| 185 |
+
- link "Takuya Akiba" [ref=e125] [cursor=pointer]:
|
| 186 |
+
- /url: https://dblp.uni-trier.de/search/author?author=Takuya%20Akiba
|
| 187 |
+
- link "Shotaro Sano" [ref=e126] [cursor=pointer]:
|
| 188 |
+
- /url: https://dblp.uni-trier.de/search/author?author=Shotaro%20Sano
|
| 189 |
+
- link "Toshihiko Yanase" [ref=e127] [cursor=pointer]:
|
| 190 |
+
- /url: https://dblp.uni-trier.de/search/author?author=Toshihiko%20Yanase
|
| 191 |
+
- link "Takeru Ohta" [ref=e128] [cursor=pointer]:
|
| 192 |
+
- /url: https://dblp.uni-trier.de/search/author?author=Takeru%20Ohta
|
| 193 |
+
- link "Masanori Koyama" [ref=e129] [cursor=pointer]:
|
| 194 |
+
- /url: https://dblp.uni-trier.de/search/author?author=Masanori%20Koyama
|
| 195 |
+
- button "export BibTeX citation" [ref=e131]
|
| 196 |
+
- generic [ref=e132]:
|
| 197 |
+
- heading "Bookmark" [level=3] [ref=e134]
|
| 198 |
+
- link "BibSonomy" [ref=e135] [cursor=pointer]:
|
| 199 |
+
- /url: "http://www.bibsonomy.org/BibtexHandler?requTask=upload&url=https://arxiv.org/abs/1907.10902&description=Optuna: A Next-generation Hyperparameter Optimization Framework"
|
| 200 |
+
- img "BibSonomy" [ref=e136]
|
| 201 |
+
- link "Reddit" [ref=e137] [cursor=pointer]:
|
| 202 |
+
- /url: "https://reddit.com/submit?url=https://arxiv.org/abs/1907.10902&title=Optuna: A Next-generation Hyperparameter Optimization Framework"
|
| 203 |
+
- img "Reddit" [ref=e138]
|
| 204 |
+
- tablist "arXivLabs tools" [ref=e140]:
|
| 205 |
+
- radio "Bibliographic Tools" [checked] [ref=e141]
|
| 206 |
+
- tab "Bibliographic Tools" [selected] [ref=e142] [cursor=pointer]
|
| 207 |
+
- tabpanel "Bibliographic Tools" [ref=e143]:
|
| 208 |
+
- heading "Bibliographic and Citation Tools" [level=1] [ref=e144]
|
| 209 |
+
- generic [ref=e145]:
|
| 210 |
+
- generic [ref=e146]:
|
| 211 |
+
- generic [ref=e148]:
|
| 212 |
+
- checkbox "Bibliographic Explorer Toggle"
|
| 213 |
+
- generic [ref=e150]: Bibliographic Explorer Toggle
|
| 214 |
+
- generic [ref=e151]:
|
| 215 |
+
- text: Bibliographic Explorer
|
| 216 |
+
- emphasis [ref=e152]:
|
| 217 |
+
- text: (
|
| 218 |
+
- link "What is the Explorer?" [ref=e153] [cursor=pointer]:
|
| 219 |
+
- /url: https://info.arxiv.org/labs/showcase.html#arxiv-bibliographic-explorer
|
| 220 |
+
- text: )
|
| 221 |
+
- generic [ref=e154]:
|
| 222 |
+
- generic [ref=e156]:
|
| 223 |
+
- checkbox "Connected Papers"
|
| 224 |
+
- generic [ref=e158]: Connected Papers Toggle
|
| 225 |
+
- generic [ref=e159]:
|
| 226 |
+
- text: Connected Papers
|
| 227 |
+
- emphasis [ref=e160]:
|
| 228 |
+
- text: (
|
| 229 |
+
- link "What is Connected Papers?" [ref=e161] [cursor=pointer]:
|
| 230 |
+
- /url: https://www.connectedpapers.com/about
|
| 231 |
+
- text: )
|
| 232 |
+
- generic [ref=e162]:
|
| 233 |
+
- generic [ref=e164]:
|
| 234 |
+
- checkbox "Litmaps"
|
| 235 |
+
- generic [ref=e166]: Litmaps Toggle
|
| 236 |
+
- generic [ref=e167]:
|
| 237 |
+
- text: Litmaps
|
| 238 |
+
- emphasis [ref=e168]:
|
| 239 |
+
- text: (
|
| 240 |
+
- link "What is Litmaps?" [ref=e169] [cursor=pointer]:
|
| 241 |
+
- /url: https://www.litmaps.co/
|
| 242 |
+
- text: )
|
| 243 |
+
- generic [ref=e170]:
|
| 244 |
+
- generic [ref=e172]:
|
| 245 |
+
- checkbox "scite Smart Citations"
|
| 246 |
+
- generic [ref=e174]: scite.ai Toggle
|
| 247 |
+
- generic [ref=e175]:
|
| 248 |
+
- text: scite Smart Citations
|
| 249 |
+
- emphasis [ref=e176]:
|
| 250 |
+
- text: (
|
| 251 |
+
- link "What are Smart Citations?" [ref=e177] [cursor=pointer]:
|
| 252 |
+
- /url: https://www.scite.ai/
|
| 253 |
+
- text: )
|
| 254 |
+
- radio "Code, Data, Media" [ref=e181]
|
| 255 |
+
- tab "Code, Data, Media" [ref=e182] [cursor=pointer]
|
| 256 |
+
- radio "Demos" [ref=e183]
|
| 257 |
+
- tab "Demos" [ref=e184] [cursor=pointer]
|
| 258 |
+
- radio "Related Papers" [ref=e185]
|
| 259 |
+
- tab "Related Papers" [ref=e186] [cursor=pointer]
|
| 260 |
+
- radio "About arXivLabs" [ref=e187]
|
| 261 |
+
- tab "About arXivLabs" [ref=e188] [cursor=pointer]
|
| 262 |
+
- generic [ref=e189]:
|
| 263 |
+
- link "Which authors of this paper are endorsers?" [ref=e190] [cursor=pointer]:
|
| 264 |
+
- /url: /auth/show-endorsers/1907.10902
|
| 265 |
+
- text: "|"
|
| 266 |
+
- link "Disable MathJax" [ref=e191] [cursor=pointer]:
|
| 267 |
+
- /url: javascript:setMathjaxCookie()
|
| 268 |
+
- text: (
|
| 269 |
+
- link "What is MathJax?" [ref=e192] [cursor=pointer]:
|
| 270 |
+
- /url: https://info.arxiv.org/help/mathjax.html
|
| 271 |
+
- text: )
|
| 272 |
+
- contentinfo [ref=e193]:
|
| 273 |
+
- navigation "Secondary" [ref=e194]:
|
| 274 |
+
- generic [ref=e196]:
|
| 275 |
+
- list [ref=e198]:
|
| 276 |
+
- listitem [ref=e199]:
|
| 277 |
+
- link "About" [ref=e200] [cursor=pointer]:
|
| 278 |
+
- /url: https://info.arxiv.org/about
|
| 279 |
+
- listitem [ref=e201]:
|
| 280 |
+
- link "Help" [ref=e202] [cursor=pointer]:
|
| 281 |
+
- /url: https://info.arxiv.org/help
|
| 282 |
+
- list [ref=e204]:
|
| 283 |
+
- listitem [ref=e205]:
|
| 284 |
+
- link "Contact" [ref=e207] [cursor=pointer]:
|
| 285 |
+
- /url: https://info.arxiv.org/help/contact.html
|
| 286 |
+
- listitem [ref=e208]:
|
| 287 |
+
- link "Subscribe" [ref=e210] [cursor=pointer]:
|
| 288 |
+
- /url: https://info.arxiv.org/help/subscribe
|
| 289 |
+
- generic [ref=e212]:
|
| 290 |
+
- list [ref=e214]:
|
| 291 |
+
- listitem [ref=e215]:
|
| 292 |
+
- link "Copyright" [ref=e216] [cursor=pointer]:
|
| 293 |
+
- /url: https://info.arxiv.org/help/license/index.html
|
| 294 |
+
- listitem [ref=e217]:
|
| 295 |
+
- link "Privacy Policy" [ref=e218] [cursor=pointer]:
|
| 296 |
+
- /url: https://info.arxiv.org/help/policies/privacy_policy.html
|
| 297 |
+
- list [ref=e220]:
|
| 298 |
+
- listitem [ref=e221]:
|
| 299 |
+
- link "Web Accessibility Assistance" [ref=e222] [cursor=pointer]:
|
| 300 |
+
- /url: https://info.arxiv.org/help/web_accessibility.html
|
| 301 |
+
- listitem [ref=e223]:
|
| 302 |
+
- paragraph [ref=e224]:
|
| 303 |
+
- link "arXiv Operational Status" [ref=e225] [cursor=pointer]:
|
| 304 |
+
- /url: https://status.arxiv.org
|
| 305 |
+
- text: arXiv Operational Status
|
capri-search.yml
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
customers.txt
ADDED
|
@@ -0,0 +1,1463 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
- generic [active] [ref=e1]:
|
| 2 |
+
- generic [ref=e2]:
|
| 3 |
+
- link "Magento Admin Panel" [ref=e3] [cursor=pointer]:
|
| 4 |
+
- /url: http://localhost:7789/admin/admin/
|
| 5 |
+
- img "Magento Admin Panel" [ref=e4]
|
| 6 |
+
- navigation [ref=e5]:
|
| 7 |
+
- menubar [ref=e6]:
|
| 8 |
+
- listitem [ref=e7]:
|
| 9 |
+
- link " Dashboard" [ref=e8] [cursor=pointer]:
|
| 10 |
+
- /url: http://localhost:7789/admin/admin/dashboard/
|
| 11 |
+
- listitem [ref=e9]:
|
| 12 |
+
- link " Sales" [ref=e10] [cursor=pointer]:
|
| 13 |
+
- /url: "#"
|
| 14 |
+
- listitem [ref=e11]:
|
| 15 |
+
- link " Catalog" [ref=e12] [cursor=pointer]:
|
| 16 |
+
- /url: "#"
|
| 17 |
+
- listitem [ref=e13]:
|
| 18 |
+
- link " Customers" [ref=e14] [cursor=pointer]:
|
| 19 |
+
- /url: "#"
|
| 20 |
+
- listitem [ref=e15]:
|
| 21 |
+
- link " Marketing" [ref=e16] [cursor=pointer]:
|
| 22 |
+
- /url: "#"
|
| 23 |
+
- listitem [ref=e17]:
|
| 24 |
+
- link " Content" [ref=e18] [cursor=pointer]:
|
| 25 |
+
- /url: "#"
|
| 26 |
+
- listitem [ref=e19]:
|
| 27 |
+
- link " Reports" [ref=e20] [cursor=pointer]:
|
| 28 |
+
- /url: "#"
|
| 29 |
+
- listitem [ref=e21]:
|
| 30 |
+
- link " Stores" [ref=e22] [cursor=pointer]:
|
| 31 |
+
- /url: "#"
|
| 32 |
+
- listitem [ref=e23]:
|
| 33 |
+
- link " System" [ref=e24] [cursor=pointer]:
|
| 34 |
+
- /url: "#"
|
| 35 |
+
- listitem [ref=e25]:
|
| 36 |
+
- link " Find Partners & Extensions" [ref=e26] [cursor=pointer]:
|
| 37 |
+
- /url: http://localhost:7789/admin/marketplace/index/
|
| 38 |
+
- generic [ref=e27]:
|
| 39 |
+
- banner [ref=e29]:
|
| 40 |
+
- heading "Customers" [level=1] [ref=e32]
|
| 41 |
+
- generic [ref=e33]:
|
| 42 |
+
- link " admin" [ref=e35] [cursor=pointer]:
|
| 43 |
+
- /url: http://localhost:7789/admin/admin/system_account/index/
|
| 44 |
+
- text:
|
| 45 |
+
- generic [ref=e37]: admin
|
| 46 |
+
- link "" [ref=e39] [cursor=pointer]:
|
| 47 |
+
- /url: http://localhost:7789/admin/admin/notification/index/
|
| 48 |
+
- generic:
|
| 49 |
+
- generic:
|
| 50 |
+
- generic:
|
| 51 |
+
- generic [ref=e40] [cursor=pointer]:
|
| 52 |
+
- textbox "" [ref=e41]
|
| 53 |
+
- main [ref=e42]:
|
| 54 |
+
- button "Add New Customer" [ref=e45] [cursor=pointer]
|
| 55 |
+
- generic [ref=e49]:
|
| 56 |
+
- generic [ref=e60]:
|
| 57 |
+
- generic [ref=e61]:
|
| 58 |
+
- generic [ref=e62]:
|
| 59 |
+
- generic [ref=e63]:
|
| 60 |
+
- button " Default View" [ref=e64] [cursor=pointer]:
|
| 61 |
+
- text:
|
| 62 |
+
- generic [ref=e65]: Default View
|
| 63 |
+
- text:
|
| 64 |
+
- generic [ref=e66]:
|
| 65 |
+
- button " Columns" [ref=e67] [cursor=pointer]
|
| 66 |
+
- text:
|
| 67 |
+
- button " Export" [ref=e69] [cursor=pointer]
|
| 68 |
+
- generic [ref=e70]:
|
| 69 |
+
- textbox "Search by keyword" [ref=e71]
|
| 70 |
+
- button "Search" [ref=e72] [cursor=pointer]:
|
| 71 |
+
- button "Filters" [ref=e75] [cursor=pointer]
|
| 72 |
+
- generic [ref=e76]:
|
| 73 |
+
- button "Actions" [ref=e79] [cursor=pointer]
|
| 74 |
+
- generic [ref=e81]:
|
| 75 |
+
- generic [ref=e83]: 70 records found
|
| 76 |
+
- generic [ref=e85]:
|
| 77 |
+
- generic [ref=e86]:
|
| 78 |
+
- textbox "per page" [ref=e88]: "100"
|
| 79 |
+
- button "per page Select" [ref=e89] [cursor=pointer]:
|
| 80 |
+
- generic [ref=e90]: Select
|
| 81 |
+
- text:
|
| 82 |
+
- generic [ref=e91]: per page
|
| 83 |
+
- generic [ref=e92]:
|
| 84 |
+
- button "" [disabled]
|
| 85 |
+
- spinbutton "of 1" [ref=e93]: "1"
|
| 86 |
+
- generic [ref=e94]: of 1
|
| 87 |
+
- button "" [disabled]
|
| 88 |
+
- text: ↓
|
| 89 |
+
- table [ref=e96]:
|
| 90 |
+
- rowgroup [ref=e97]:
|
| 91 |
+
- row "Options ↓ Name Email Group Phone ZIP Country State/Province Customer Since" [ref=e98]:
|
| 92 |
+
- columnheader "Options" [ref=e99]:
|
| 93 |
+
- generic [ref=e100]:
|
| 94 |
+
- checkbox [ref=e101] [cursor=pointer]
|
| 95 |
+
- button "Options" [ref=e133] [cursor=pointer]:
|
| 96 |
+
- generic [ref=e134]: Options
|
| 97 |
+
- columnheader "↓ Name" [ref=e103] [cursor=pointer]:
|
| 98 |
+
- text: ↓
|
| 99 |
+
- generic [ref=e104]: Name
|
| 100 |
+
- columnheader "Email" [ref=e105] [cursor=pointer]:
|
| 101 |
+
- generic [ref=e106]: Email
|
| 102 |
+
- columnheader "Group" [ref=e107] [cursor=pointer]:
|
| 103 |
+
- generic [ref=e108]: Group
|
| 104 |
+
- columnheader "Phone" [ref=e109] [cursor=pointer]:
|
| 105 |
+
- generic [ref=e110]: Phone
|
| 106 |
+
- columnheader "ZIP" [ref=e111] [cursor=pointer]:
|
| 107 |
+
- generic [ref=e112]: ZIP
|
| 108 |
+
- columnheader "Country" [ref=e113] [cursor=pointer]:
|
| 109 |
+
- generic [ref=e114]: Country
|
| 110 |
+
- columnheader "State/Province" [ref=e115] [cursor=pointer]:
|
| 111 |
+
- generic [ref=e116]: State/Province
|
| 112 |
+
- columnheader "Customer Since" [ref=e117] [cursor=pointer]:
|
| 113 |
+
- generic [ref=e118]: Customer Since
|
| 114 |
+
- rowgroup [ref=e119]:
|
| 115 |
+
- row "Adam Garcia gamingpro456@gmail.com General 2065555555 98122 United States Washington Apr 19, 2023 5:46:14 PM" [ref=e135]:
|
| 116 |
+
- cell [ref=e136]:
|
| 117 |
+
- checkbox [ref=e138] [cursor=pointer]
|
| 118 |
+
- cell "Adam Garcia" [ref=e140]:
|
| 119 |
+
- generic [ref=e141]: Adam Garcia
|
| 120 |
+
- cell "gamingpro456@gmail.com" [ref=e142]:
|
| 121 |
+
- generic [ref=e143]: gamingpro456@gmail.com
|
| 122 |
+
- cell "General" [ref=e144]:
|
| 123 |
+
- generic [ref=e145]: General
|
| 124 |
+
- cell "2065555555" [ref=e146]:
|
| 125 |
+
- generic [ref=e147]: "2065555555"
|
| 126 |
+
- cell "98122" [ref=e148]:
|
| 127 |
+
- generic [ref=e149]: "98122"
|
| 128 |
+
- cell "United States" [ref=e150]:
|
| 129 |
+
- generic [ref=e151]: United States
|
| 130 |
+
- cell "Washington" [ref=e152]:
|
| 131 |
+
- generic [ref=e153]: Washington
|
| 132 |
+
- cell "Apr 19, 2023 5:46:14 PM" [ref=e154]:
|
| 133 |
+
- generic [ref=e155]: Apr 19, 2023 5:46:14 PM
|
| 134 |
+
- row "Adam Garcia adam.garcia@gmail.com General 6025551212 85004 United States Arizona Apr 19, 2023 5:46:40 PM" [ref=e156]:
|
| 135 |
+
- cell [ref=e157]:
|
| 136 |
+
- checkbox [ref=e159] [cursor=pointer]
|
| 137 |
+
- cell "Adam Garcia" [ref=e161]:
|
| 138 |
+
- generic [ref=e162]: Adam Garcia
|
| 139 |
+
- cell "adam.garcia@gmail.com" [ref=e163]:
|
| 140 |
+
- generic [ref=e164]: adam.garcia@gmail.com
|
| 141 |
+
- cell "General" [ref=e165]:
|
| 142 |
+
- generic [ref=e166]: General
|
| 143 |
+
- cell "6025551212" [ref=e167]:
|
| 144 |
+
- generic [ref=e168]: "6025551212"
|
| 145 |
+
- cell "85004" [ref=e169]:
|
| 146 |
+
- generic [ref=e170]: "85004"
|
| 147 |
+
- cell "United States" [ref=e171]:
|
| 148 |
+
- generic [ref=e172]: United States
|
| 149 |
+
- cell "Arizona" [ref=e173]:
|
| 150 |
+
- generic [ref=e174]: Arizona
|
| 151 |
+
- cell "Apr 19, 2023 5:46:40 PM" [ref=e175]:
|
| 152 |
+
- generic [ref=e176]: Apr 19, 2023 5:46:40 PM
|
| 153 |
+
- row "Alex Johnson fitnessjunkie22@yahoo.com General 3105555555 90212 United States California Apr 19, 2023 5:46:07 PM" [ref=e177]:
|
| 154 |
+
- cell [ref=e178]:
|
| 155 |
+
- checkbox [ref=e180] [cursor=pointer]
|
| 156 |
+
- cell "Alex Johnson" [ref=e182]:
|
| 157 |
+
- generic [ref=e183]: Alex Johnson
|
| 158 |
+
- cell "fitnessjunkie22@yahoo.com" [ref=e184]:
|
| 159 |
+
- generic [ref=e185]: fitnessjunkie22@yahoo.com
|
| 160 |
+
- cell "General" [ref=e186]:
|
| 161 |
+
- generic [ref=e187]: General
|
| 162 |
+
- cell "3105555555" [ref=e188]:
|
| 163 |
+
- generic [ref=e189]: "3105555555"
|
| 164 |
+
- cell "90212" [ref=e190]:
|
| 165 |
+
- generic [ref=e191]: "90212"
|
| 166 |
+
- cell "United States" [ref=e192]:
|
| 167 |
+
- generic [ref=e193]: United States
|
| 168 |
+
- cell "California" [ref=e194]:
|
| 169 |
+
- generic [ref=e195]: California
|
| 170 |
+
- cell "Apr 19, 2023 5:46:07 PM" [ref=e196]:
|
| 171 |
+
- generic [ref=e197]: Apr 19, 2023 5:46:07 PM
|
| 172 |
+
- row "Alex Martin alex.martin@gmail.com General 2125551212 10001 United States New York Apr 19, 2023 5:46:20 PM" [ref=e198]:
|
| 173 |
+
- cell [ref=e199]:
|
| 174 |
+
- checkbox [ref=e201] [cursor=pointer]
|
| 175 |
+
- cell "Alex Martin" [ref=e203]:
|
| 176 |
+
- generic [ref=e204]: Alex Martin
|
| 177 |
+
- cell "alex.martin@gmail.com" [ref=e205]:
|
| 178 |
+
- generic [ref=e206]: alex.martin@gmail.com
|
| 179 |
+
- cell "General" [ref=e207]:
|
| 180 |
+
- generic [ref=e208]: General
|
| 181 |
+
- cell "2125551212" [ref=e209]:
|
| 182 |
+
- generic [ref=e210]: "2125551212"
|
| 183 |
+
- cell "10001" [ref=e211]:
|
| 184 |
+
- generic [ref=e212]: "10001"
|
| 185 |
+
- cell "United States" [ref=e213]:
|
| 186 |
+
- generic [ref=e214]: United States
|
| 187 |
+
- cell "New York" [ref=e215]:
|
| 188 |
+
- generic [ref=e216]: New York
|
| 189 |
+
- cell "Apr 19, 2023 5:46:20 PM" [ref=e217]:
|
| 190 |
+
- generic [ref=e218]: Apr 19, 2023 5:46:20 PM
|
| 191 |
+
- row "Alexander Thomas alexander.thomas@hotmail.com General 3235551212 90028 United States California Apr 19, 2023 5:46:50 PM" [ref=e219]:
|
| 192 |
+
- cell [ref=e220]:
|
| 193 |
+
- checkbox [ref=e222] [cursor=pointer]
|
| 194 |
+
- cell "Alexander Thomas" [ref=e224]:
|
| 195 |
+
- generic [ref=e225]: Alexander Thomas
|
| 196 |
+
- cell "alexander.thomas@hotmail.com" [ref=e226]:
|
| 197 |
+
- generic [ref=e227]: alexander.thomas@hotmail.com
|
| 198 |
+
- cell "General" [ref=e228]:
|
| 199 |
+
- generic [ref=e229]: General
|
| 200 |
+
- cell "3235551212" [ref=e230]:
|
| 201 |
+
- generic [ref=e231]: "3235551212"
|
| 202 |
+
- cell "90028" [ref=e232]:
|
| 203 |
+
- generic [ref=e233]: "90028"
|
| 204 |
+
- cell "United States" [ref=e234]:
|
| 205 |
+
- generic [ref=e235]: United States
|
| 206 |
+
- cell "California" [ref=e236]:
|
| 207 |
+
- generic [ref=e237]: California
|
| 208 |
+
- cell "Apr 19, 2023 5:46:50 PM" [ref=e238]:
|
| 209 |
+
- generic [ref=e239]: Apr 19, 2023 5:46:50 PM
|
| 210 |
+
- row "Amanda Kim amanda.kim@gmail.com General 2015551234 07030 United States New Jersey Apr 23, 2023 12:13:15 AM" [ref=e240]:
|
| 211 |
+
- cell [ref=e241]:
|
| 212 |
+
- checkbox [ref=e243] [cursor=pointer]
|
| 213 |
+
- cell "Amanda Kim" [ref=e245]:
|
| 214 |
+
- generic [ref=e246]: Amanda Kim
|
| 215 |
+
- cell "amanda.kim@gmail.com" [ref=e247]:
|
| 216 |
+
- generic [ref=e248]: amanda.kim@gmail.com
|
| 217 |
+
- cell "General" [ref=e249]:
|
| 218 |
+
- generic [ref=e250]: General
|
| 219 |
+
- cell "2015551234" [ref=e251]:
|
| 220 |
+
- generic [ref=e252]: "2015551234"
|
| 221 |
+
- cell "07030" [ref=e253]:
|
| 222 |
+
- generic [ref=e254]: "07030"
|
| 223 |
+
- cell "United States" [ref=e255]:
|
| 224 |
+
- generic [ref=e256]: United States
|
| 225 |
+
- cell "New Jersey" [ref=e257]:
|
| 226 |
+
- generic [ref=e258]: New Jersey
|
| 227 |
+
- cell "Apr 23, 2023 12:13:15 AM" [ref=e259]:
|
| 228 |
+
- generic [ref=e260]: Apr 23, 2023 12:13:15 AM
|
| 229 |
+
- row "Anna Nguyen anna.nguyen@yahoo.com General 7135551212 77002 United States Texas Apr 23, 2023 12:13:09 AM" [ref=e261]:
|
| 230 |
+
- cell [ref=e262]:
|
| 231 |
+
- checkbox [ref=e264] [cursor=pointer]
|
| 232 |
+
- cell "Anna Nguyen" [ref=e266]:
|
| 233 |
+
- generic [ref=e267]: Anna Nguyen
|
| 234 |
+
- cell "anna.nguyen@yahoo.com" [ref=e268]:
|
| 235 |
+
- generic [ref=e269]: anna.nguyen@yahoo.com
|
| 236 |
+
- cell "General" [ref=e270]:
|
| 237 |
+
- generic [ref=e271]: General
|
| 238 |
+
- cell "7135551212" [ref=e272]:
|
| 239 |
+
- generic [ref=e273]: "7135551212"
|
| 240 |
+
- cell "77002" [ref=e274]:
|
| 241 |
+
- generic [ref=e275]: "77002"
|
| 242 |
+
- cell "United States" [ref=e276]:
|
| 243 |
+
- generic [ref=e277]: United States
|
| 244 |
+
- cell "Texas" [ref=e278]:
|
| 245 |
+
- generic [ref=e279]: Texas
|
| 246 |
+
- cell "Apr 23, 2023 12:13:09 AM" [ref=e280]:
|
| 247 |
+
- generic [ref=e281]: Apr 23, 2023 12:13:09 AM
|
| 248 |
+
- row "Ava Brown beachlover99@yahoo.com General 3105555555 90265 United States California Apr 19, 2023 5:46:01 PM" [ref=e282]:
|
| 249 |
+
- cell [ref=e283]:
|
| 250 |
+
- checkbox [ref=e285] [cursor=pointer]
|
| 251 |
+
- cell "Ava Brown" [ref=e287]:
|
| 252 |
+
- generic [ref=e288]: Ava Brown
|
| 253 |
+
- cell "beachlover99@yahoo.com" [ref=e289]:
|
| 254 |
+
- generic [ref=e290]: beachlover99@yahoo.com
|
| 255 |
+
- cell "General" [ref=e291]:
|
| 256 |
+
- generic [ref=e292]: General
|
| 257 |
+
- cell "3105555555" [ref=e293]:
|
| 258 |
+
- generic [ref=e294]: "3105555555"
|
| 259 |
+
- cell "90265" [ref=e295]:
|
| 260 |
+
- generic [ref=e296]: "90265"
|
| 261 |
+
- cell "United States" [ref=e297]:
|
| 262 |
+
- generic [ref=e298]: United States
|
| 263 |
+
- cell "California" [ref=e299]:
|
| 264 |
+
- generic [ref=e300]: California
|
| 265 |
+
- cell "Apr 19, 2023 5:46:01 PM" [ref=e301]:
|
| 266 |
+
- generic [ref=e302]: Apr 19, 2023 5:46:01 PM
|
| 267 |
+
- row "Bob Johnson bob123@hotmail.com General 9721234567 75080 United States Texas Apr 19, 2023 5:45:14 PM" [ref=e303]:
|
| 268 |
+
- cell [ref=e304]:
|
| 269 |
+
- checkbox [ref=e306] [cursor=pointer]
|
| 270 |
+
- cell "Bob Johnson" [ref=e308]:
|
| 271 |
+
- generic [ref=e309]: Bob Johnson
|
| 272 |
+
- cell "bob123@hotmail.com" [ref=e310]:
|
| 273 |
+
- generic [ref=e311]: bob123@hotmail.com
|
| 274 |
+
- cell "General" [ref=e312]:
|
| 275 |
+
- generic [ref=e313]: General
|
| 276 |
+
- cell "9721234567" [ref=e314]:
|
| 277 |
+
- generic [ref=e315]: "9721234567"
|
| 278 |
+
- cell "75080" [ref=e316]:
|
| 279 |
+
- generic [ref=e317]: "75080"
|
| 280 |
+
- cell "United States" [ref=e318]:
|
| 281 |
+
- generic [ref=e319]: United States
|
| 282 |
+
- cell "Texas" [ref=e320]:
|
| 283 |
+
- generic [ref=e321]: Texas
|
| 284 |
+
- cell "Apr 19, 2023 5:45:14 PM" [ref=e322]:
|
| 285 |
+
- generic [ref=e323]: Apr 19, 2023 5:45:14 PM
|
| 286 |
+
- row "Bob Jones bbjones@gmail.com General 2141918677 75202 United States Texas Apr 19, 2023 5:45:04 PM" [ref=e324]:
|
| 287 |
+
- cell [ref=e325]:
|
| 288 |
+
- checkbox [ref=e327] [cursor=pointer]
|
| 289 |
+
- cell "Bob Jones" [ref=e329]:
|
| 290 |
+
- generic [ref=e330]: Bob Jones
|
| 291 |
+
- cell "bbjones@gmail.com" [ref=e331]:
|
| 292 |
+
- generic [ref=e332]: bbjones@gmail.com
|
| 293 |
+
- cell "General" [ref=e333]:
|
| 294 |
+
- generic [ref=e334]: General
|
| 295 |
+
- cell "2141918677" [ref=e335]:
|
| 296 |
+
- generic [ref=e336]: "2141918677"
|
| 297 |
+
- cell "75202" [ref=e337]:
|
| 298 |
+
- generic [ref=e338]: "75202"
|
| 299 |
+
- cell "United States" [ref=e339]:
|
| 300 |
+
- generic [ref=e340]: United States
|
| 301 |
+
- cell "Texas" [ref=e341]:
|
| 302 |
+
- generic [ref=e342]: Texas
|
| 303 |
+
- cell "Apr 19, 2023 5:45:04 PM" [ref=e343]:
|
| 304 |
+
- generic [ref=e344]: Apr 19, 2023 5:45:04 PM
|
| 305 |
+
- row "Brian Smith brian.smith@yahoo.com General 7025551212 89109 United States Nevada Apr 19, 2023 5:46:44 PM" [ref=e345]:
|
| 306 |
+
- cell [ref=e346]:
|
| 307 |
+
- checkbox [ref=e348] [cursor=pointer]
|
| 308 |
+
- cell "Brian Smith" [ref=e350]:
|
| 309 |
+
- generic [ref=e351]: Brian Smith
|
| 310 |
+
- cell "brian.smith@yahoo.com" [ref=e352]:
|
| 311 |
+
- generic [ref=e353]: brian.smith@yahoo.com
|
| 312 |
+
- cell "General" [ref=e354]:
|
| 313 |
+
- generic [ref=e355]: General
|
| 314 |
+
- cell "7025551212" [ref=e356]:
|
| 315 |
+
- generic [ref=e357]: "7025551212"
|
| 316 |
+
- cell "89109" [ref=e358]:
|
| 317 |
+
- generic [ref=e359]: "89109"
|
| 318 |
+
- cell "United States" [ref=e360]:
|
| 319 |
+
- generic [ref=e361]: United States
|
| 320 |
+
- cell "Nevada" [ref=e362]:
|
| 321 |
+
- generic [ref=e363]: Nevada
|
| 322 |
+
- cell "Apr 19, 2023 5:46:44 PM" [ref=e364]:
|
| 323 |
+
- generic [ref=e365]: Apr 19, 2023 5:46:44 PM
|
| 324 |
+
- row "Daniel Jackson daniel.jackson@hotmail.com General 2155556789 19102 United States Pennsylvania Apr 19, 2023 5:45:27 PM" [ref=e366]:
|
| 325 |
+
- cell [ref=e367]:
|
| 326 |
+
- checkbox [ref=e369] [cursor=pointer]
|
| 327 |
+
- cell "Daniel Jackson" [ref=e371]:
|
| 328 |
+
- generic [ref=e372]: Daniel Jackson
|
| 329 |
+
- cell "daniel.jackson@hotmail.com" [ref=e373]:
|
| 330 |
+
- generic [ref=e374]: daniel.jackson@hotmail.com
|
| 331 |
+
- cell "General" [ref=e375]:
|
| 332 |
+
- generic [ref=e376]: General
|
| 333 |
+
- cell "2155556789" [ref=e377]:
|
| 334 |
+
- generic [ref=e378]: "2155556789"
|
| 335 |
+
- cell "19102" [ref=e379]:
|
| 336 |
+
- generic [ref=e380]: "19102"
|
| 337 |
+
- cell "United States" [ref=e381]:
|
| 338 |
+
- generic [ref=e382]: United States
|
| 339 |
+
- cell "Pennsylvania" [ref=e383]:
|
| 340 |
+
- generic [ref=e384]: Pennsylvania
|
| 341 |
+
- cell "Apr 19, 2023 5:45:27 PM" [ref=e385]:
|
| 342 |
+
- generic [ref=e386]: Apr 19, 2023 5:45:27 PM
|
| 343 |
+
- row "David Lee david.lee@gmail.com General 6175551212 02108 United States Massachusetts Apr 19, 2023 5:46:30 PM" [ref=e387]:
|
| 344 |
+
- cell [ref=e388]:
|
| 345 |
+
- checkbox [ref=e390] [cursor=pointer]
|
| 346 |
+
- cell "David Lee" [ref=e392]:
|
| 347 |
+
- generic [ref=e393]: David Lee
|
| 348 |
+
- cell "david.lee@gmail.com" [ref=e394]:
|
| 349 |
+
- generic [ref=e395]: david.lee@gmail.com
|
| 350 |
+
- cell "General" [ref=e396]:
|
| 351 |
+
- generic [ref=e397]: General
|
| 352 |
+
- cell "6175551212" [ref=e398]:
|
| 353 |
+
- generic [ref=e399]: "6175551212"
|
| 354 |
+
- cell "02108" [ref=e400]:
|
| 355 |
+
- generic [ref=e401]: "02108"
|
| 356 |
+
- cell "United States" [ref=e402]:
|
| 357 |
+
- generic [ref=e403]: United States
|
| 358 |
+
- cell "Massachusetts" [ref=e404]:
|
| 359 |
+
- generic [ref=e405]: Massachusetts
|
| 360 |
+
- cell "Apr 19, 2023 5:46:30 PM" [ref=e406]:
|
| 361 |
+
- generic [ref=e407]: Apr 19, 2023 5:46:30 PM
|
| 362 |
+
- row "David Smith david.smith@gmail.com General 2145551212 75201 United States Texas Apr 23, 2023 12:12:54 AM" [ref=e408]:
|
| 363 |
+
- cell [ref=e409]:
|
| 364 |
+
- checkbox [ref=e411] [cursor=pointer]
|
| 365 |
+
- cell "David Smith" [ref=e413]:
|
| 366 |
+
- generic [ref=e414]: David Smith
|
| 367 |
+
- cell "david.smith@gmail.com" [ref=e415]:
|
| 368 |
+
- generic [ref=e416]: david.smith@gmail.com
|
| 369 |
+
- cell "General" [ref=e417]:
|
| 370 |
+
- generic [ref=e418]: General
|
| 371 |
+
- cell "2145551212" [ref=e419]:
|
| 372 |
+
- generic [ref=e420]: "2145551212"
|
| 373 |
+
- cell "75201" [ref=e421]:
|
| 374 |
+
- generic [ref=e422]: "75201"
|
| 375 |
+
- cell "United States" [ref=e423]:
|
| 376 |
+
- generic [ref=e424]: United States
|
| 377 |
+
- cell "Texas" [ref=e425]:
|
| 378 |
+
- generic [ref=e426]: Texas
|
| 379 |
+
- cell "Apr 23, 2023 12:12:54 AM" [ref=e427]:
|
| 380 |
+
- generic [ref=e428]: Apr 23, 2023 12:12:54 AM
|
| 381 |
+
- row "Emily Chen emily.chen@hotmail.com General 6175551212 02108 United States Massachusetts Apr 23, 2023 12:13:05 AM" [ref=e429]:
|
| 382 |
+
- cell [ref=e430]:
|
| 383 |
+
- checkbox [ref=e432] [cursor=pointer]
|
| 384 |
+
- cell "Emily Chen" [ref=e434]:
|
| 385 |
+
- generic [ref=e435]: Emily Chen
|
| 386 |
+
- cell "emily.chen@hotmail.com" [ref=e436]:
|
| 387 |
+
- generic [ref=e437]: emily.chen@hotmail.com
|
| 388 |
+
- cell "General" [ref=e438]:
|
| 389 |
+
- generic [ref=e439]: General
|
| 390 |
+
- cell "6175551212" [ref=e440]:
|
| 391 |
+
- generic [ref=e441]: "6175551212"
|
| 392 |
+
- cell "02108" [ref=e442]:
|
| 393 |
+
- generic [ref=e443]: "02108"
|
| 394 |
+
- cell "United States" [ref=e444]:
|
| 395 |
+
- generic [ref=e445]: United States
|
| 396 |
+
- cell "Massachusetts" [ref=e446]:
|
| 397 |
+
- generic [ref=e447]: Massachusetts
|
| 398 |
+
- cell "Apr 23, 2023 12:13:05 AM" [ref=e448]:
|
| 399 |
+
- generic [ref=e449]: Apr 23, 2023 12:13:05 AM
|
| 400 |
+
- row "Emily Wilson emily.wilson@gmail.com General 3125551212 60611 United States Illinois Apr 23, 2023 12:14:24 AM" [ref=e450]:
|
| 401 |
+
- cell [ref=e451]:
|
| 402 |
+
- checkbox [ref=e453] [cursor=pointer]
|
| 403 |
+
- cell "Emily Wilson" [ref=e455]:
|
| 404 |
+
- generic [ref=e456]: Emily Wilson
|
| 405 |
+
- cell "emily.wilson@gmail.com" [ref=e457]:
|
| 406 |
+
- generic [ref=e458]: emily.wilson@gmail.com
|
| 407 |
+
- cell "General" [ref=e459]:
|
| 408 |
+
- generic [ref=e460]: General
|
| 409 |
+
- cell "3125551212" [ref=e461]:
|
| 410 |
+
- generic [ref=e462]: "3125551212"
|
| 411 |
+
- cell "60611" [ref=e463]:
|
| 412 |
+
- generic [ref=e464]: "60611"
|
| 413 |
+
- cell "United States" [ref=e465]:
|
| 414 |
+
- generic [ref=e466]: United States
|
| 415 |
+
- cell "Illinois" [ref=e467]:
|
| 416 |
+
- generic [ref=e468]: Illinois
|
| 417 |
+
- cell "Apr 23, 2023 12:14:24 AM" [ref=e469]:
|
| 418 |
+
- generic [ref=e470]: Apr 23, 2023 12:14:24 AM
|
| 419 |
+
- row "Emma Davis musiclover99@hotmail.com General 5125555555 78701 United States Texas Apr 19, 2023 5:46:10 PM" [ref=e471]:
|
| 420 |
+
- cell [ref=e472]:
|
| 421 |
+
- checkbox [ref=e474] [cursor=pointer]
|
| 422 |
+
- cell "Emma Davis" [ref=e476]:
|
| 423 |
+
- generic [ref=e477]: Emma Davis
|
| 424 |
+
- cell "musiclover99@hotmail.com" [ref=e478]:
|
| 425 |
+
- generic [ref=e479]: musiclover99@hotmail.com
|
| 426 |
+
- cell "General" [ref=e480]:
|
| 427 |
+
- generic [ref=e481]: General
|
| 428 |
+
- cell "5125555555" [ref=e482]:
|
| 429 |
+
- generic [ref=e483]: "5125555555"
|
| 430 |
+
- cell "78701" [ref=e484]:
|
| 431 |
+
- generic [ref=e485]: "78701"
|
| 432 |
+
- cell "United States" [ref=e486]:
|
| 433 |
+
- generic [ref=e487]: United States
|
| 434 |
+
- cell "Texas" [ref=e488]:
|
| 435 |
+
- generic [ref=e489]: Texas
|
| 436 |
+
- cell "Apr 19, 2023 5:46:10 PM" [ref=e490]:
|
| 437 |
+
- generic [ref=e491]: Apr 19, 2023 5:46:10 PM
|
| 438 |
+
- row "Emma Lopez emma.lopez@gmail.com General 6505551212 94010 United States California Apr 23, 2023 12:14:57 AM" [ref=e492]:
|
| 439 |
+
- cell [ref=e493]:
|
| 440 |
+
- checkbox [ref=e495] [cursor=pointer]
|
| 441 |
+
- cell "Emma Lopez" [ref=e497]:
|
| 442 |
+
- generic [ref=e498]: Emma Lopez
|
| 443 |
+
- cell "emma.lopez@gmail.com" [ref=e499]:
|
| 444 |
+
- generic [ref=e500]: emma.lopez@gmail.com
|
| 445 |
+
- cell "General" [ref=e501]:
|
| 446 |
+
- generic [ref=e502]: General
|
| 447 |
+
- cell "6505551212" [ref=e503]:
|
| 448 |
+
- generic [ref=e504]: "6505551212"
|
| 449 |
+
- cell "94010" [ref=e505]:
|
| 450 |
+
- generic [ref=e506]: "94010"
|
| 451 |
+
- cell "United States" [ref=e507]:
|
| 452 |
+
- generic [ref=e508]: United States
|
| 453 |
+
- cell "California" [ref=e509]:
|
| 454 |
+
- generic [ref=e510]: California
|
| 455 |
+
- cell "Apr 23, 2023 12:14:57 AM" [ref=e511]:
|
| 456 |
+
- generic [ref=e512]: Apr 23, 2023 12:14:57 AM
|
| 457 |
+
- row "Ethan Garcia ethan.garcia@yahoo.com General 2145551212 75201 United States Texas Apr 23, 2023 12:13:53 AM" [ref=e513]:
|
| 458 |
+
- cell [ref=e514]:
|
| 459 |
+
- checkbox [ref=e516] [cursor=pointer]
|
| 460 |
+
- cell "Ethan Garcia" [ref=e518]:
|
| 461 |
+
- generic [ref=e519]: Ethan Garcia
|
| 462 |
+
- cell "ethan.garcia@yahoo.com" [ref=e520]:
|
| 463 |
+
- generic [ref=e521]: ethan.garcia@yahoo.com
|
| 464 |
+
- cell "General" [ref=e522]:
|
| 465 |
+
- generic [ref=e523]: General
|
| 466 |
+
- cell "2145551212" [ref=e524]:
|
| 467 |
+
- generic [ref=e525]: "2145551212"
|
| 468 |
+
- cell "75201" [ref=e526]:
|
| 469 |
+
- generic [ref=e527]: "75201"
|
| 470 |
+
- cell "United States" [ref=e528]:
|
| 471 |
+
- generic [ref=e529]: United States
|
| 472 |
+
- cell "Texas" [ref=e530]:
|
| 473 |
+
- generic [ref=e531]: Texas
|
| 474 |
+
- cell "Apr 23, 2023 12:13:53 AM" [ref=e532]:
|
| 475 |
+
- generic [ref=e533]: Apr 23, 2023 12:13:53 AM
|
| 476 |
+
- row "Grace Nguyen avidreader99@yahoo.com General 6175555555 02138 United States Massachusetts Apr 19, 2023 5:45:51 PM" [ref=e534]:
|
| 477 |
+
- cell [ref=e535]:
|
| 478 |
+
- checkbox [ref=e537] [cursor=pointer]
|
| 479 |
+
- cell "Grace Nguyen" [ref=e539]:
|
| 480 |
+
- generic [ref=e540]: Grace Nguyen
|
| 481 |
+
- cell "avidreader99@yahoo.com" [ref=e541]:
|
| 482 |
+
- generic [ref=e542]: avidreader99@yahoo.com
|
| 483 |
+
- cell "General" [ref=e543]:
|
| 484 |
+
- generic [ref=e544]: General
|
| 485 |
+
- cell "6175555555" [ref=e545]:
|
| 486 |
+
- generic [ref=e546]: "6175555555"
|
| 487 |
+
- cell "02138" [ref=e547]:
|
| 488 |
+
- generic [ref=e548]: "02138"
|
| 489 |
+
- cell "United States" [ref=e549]:
|
| 490 |
+
- generic [ref=e550]: United States
|
| 491 |
+
- cell "Massachusetts" [ref=e551]:
|
| 492 |
+
- generic [ref=e552]: Massachusetts
|
| 493 |
+
- cell "Apr 19, 2023 5:45:51 PM" [ref=e553]:
|
| 494 |
+
- generic [ref=e554]: Apr 19, 2023 5:45:51 PM
|
| 495 |
+
- row "Hannah Lim hannah.lim@gmail.com General 7035551212 22030 United States Virginia Apr 23, 2023 12:14:40 AM" [ref=e555]:
|
| 496 |
+
- cell [ref=e556]:
|
| 497 |
+
- checkbox [ref=e558] [cursor=pointer]
|
| 498 |
+
- cell "Hannah Lim" [ref=e560]:
|
| 499 |
+
- generic [ref=e561]: Hannah Lim
|
| 500 |
+
- cell "hannah.lim@gmail.com" [ref=e562]:
|
| 501 |
+
- generic [ref=e563]: hannah.lim@gmail.com
|
| 502 |
+
- cell "General" [ref=e564]:
|
| 503 |
+
- generic [ref=e565]: General
|
| 504 |
+
- cell "7035551212" [ref=e566]:
|
| 505 |
+
- generic [ref=e567]: "7035551212"
|
| 506 |
+
- cell "22030" [ref=e568]:
|
| 507 |
+
- generic [ref=e569]: "22030"
|
| 508 |
+
- cell "United States" [ref=e570]:
|
| 509 |
+
- generic [ref=e571]: United States
|
| 510 |
+
- cell "Virginia" [ref=e572]:
|
| 511 |
+
- generic [ref=e573]: Virginia
|
| 512 |
+
- cell "Apr 23, 2023 12:14:40 AM" [ref=e574]:
|
| 513 |
+
- generic [ref=e575]: Apr 23, 2023 12:14:40 AM
|
| 514 |
+
- row "Isaac Rodriguez isaac.rodriguez@gmail.com General 6025551212 85004 United States Arizona Apr 23, 2023 12:14:45 AM" [ref=e576]:
|
| 515 |
+
- cell [ref=e577]:
|
| 516 |
+
- checkbox [ref=e579] [cursor=pointer]
|
| 517 |
+
- cell "Isaac Rodriguez" [ref=e581]:
|
| 518 |
+
- generic [ref=e582]: Isaac Rodriguez
|
| 519 |
+
- cell "isaac.rodriguez@gmail.com" [ref=e583]:
|
| 520 |
+
- generic [ref=e584]: isaac.rodriguez@gmail.com
|
| 521 |
+
- cell "General" [ref=e585]:
|
| 522 |
+
- generic [ref=e586]: General
|
| 523 |
+
- cell "6025551212" [ref=e587]:
|
| 524 |
+
- generic [ref=e588]: "6025551212"
|
| 525 |
+
- cell "85004" [ref=e589]:
|
| 526 |
+
- generic [ref=e590]: "85004"
|
| 527 |
+
- cell "United States" [ref=e591]:
|
| 528 |
+
- generic [ref=e592]: United States
|
| 529 |
+
- cell "Arizona" [ref=e593]:
|
| 530 |
+
- generic [ref=e594]: Arizona
|
| 531 |
+
- cell "Apr 23, 2023 12:14:45 AM" [ref=e595]:
|
| 532 |
+
- generic [ref=e596]: Apr 23, 2023 12:14:45 AM
|
| 533 |
+
- row "Isabella Santos isabella.santos@gmail.com General 3055551212 33130 United States Florida Apr 23, 2023 12:14:32 AM" [ref=e597]:
|
| 534 |
+
- cell [ref=e598]:
|
| 535 |
+
- checkbox [ref=e600] [cursor=pointer]
|
| 536 |
+
- cell "Isabella Santos" [ref=e602]:
|
| 537 |
+
- generic [ref=e603]: Isabella Santos
|
| 538 |
+
- cell "isabella.santos@gmail.com" [ref=e604]:
|
| 539 |
+
- generic [ref=e605]: isabella.santos@gmail.com
|
| 540 |
+
- cell "General" [ref=e606]:
|
| 541 |
+
- generic [ref=e607]: General
|
| 542 |
+
- cell "3055551212" [ref=e608]:
|
| 543 |
+
- generic [ref=e609]: "3055551212"
|
| 544 |
+
- cell "33130" [ref=e610]:
|
| 545 |
+
- generic [ref=e611]: "33130"
|
| 546 |
+
- cell "United States" [ref=e612]:
|
| 547 |
+
- generic [ref=e613]: United States
|
| 548 |
+
- cell "Florida" [ref=e614]:
|
| 549 |
+
- generic [ref=e615]: Florida
|
| 550 |
+
- cell "Apr 23, 2023 12:14:32 AM" [ref=e616]:
|
| 551 |
+
- generic [ref=e617]: Apr 23, 2023 12:14:32 AM
|
| 552 |
+
- row "Jacob Rivera jacob.rivera@hotmail.com General 6025551212 85004 United States Arizona Apr 23, 2023 12:14:01 AM" [ref=e618]:
|
| 553 |
+
- cell [ref=e619]:
|
| 554 |
+
- checkbox [ref=e621] [cursor=pointer]
|
| 555 |
+
- cell "Jacob Rivera" [ref=e623]:
|
| 556 |
+
- generic [ref=e624]: Jacob Rivera
|
| 557 |
+
- cell "jacob.rivera@hotmail.com" [ref=e625]:
|
| 558 |
+
- generic [ref=e626]: jacob.rivera@hotmail.com
|
| 559 |
+
- cell "General" [ref=e627]:
|
| 560 |
+
- generic [ref=e628]: General
|
| 561 |
+
- cell "6025551212" [ref=e629]:
|
| 562 |
+
- generic [ref=e630]: "6025551212"
|
| 563 |
+
- cell "85004" [ref=e631]:
|
| 564 |
+
- generic [ref=e632]: "85004"
|
| 565 |
+
- cell "United States" [ref=e633]:
|
| 566 |
+
- generic [ref=e634]: United States
|
| 567 |
+
- cell "Arizona" [ref=e635]:
|
| 568 |
+
- generic [ref=e636]: Arizona
|
| 569 |
+
- cell "Apr 23, 2023 12:14:01 AM" [ref=e637]:
|
| 570 |
+
- generic [ref=e638]: Apr 23, 2023 12:14:01 AM
|
| 571 |
+
- row "James Baker james.baker@gmail.com General 2145551212 75201 United States Texas Apr 23, 2023 12:14:28 AM" [ref=e639]:
|
| 572 |
+
- cell [ref=e640]:
|
| 573 |
+
- checkbox [ref=e642] [cursor=pointer]
|
| 574 |
+
- cell "James Baker" [ref=e644]:
|
| 575 |
+
- generic [ref=e645]: James Baker
|
| 576 |
+
- cell "james.baker@gmail.com" [ref=e646]:
|
| 577 |
+
- generic [ref=e647]: james.baker@gmail.com
|
| 578 |
+
- cell "General" [ref=e648]:
|
| 579 |
+
- generic [ref=e649]: General
|
| 580 |
+
- cell "2145551212" [ref=e650]:
|
| 581 |
+
- generic [ref=e651]: "2145551212"
|
| 582 |
+
- cell "75201" [ref=e652]:
|
| 583 |
+
- generic [ref=e653]: "75201"
|
| 584 |
+
- cell "United States" [ref=e654]:
|
| 585 |
+
- generic [ref=e655]: United States
|
| 586 |
+
- cell "Texas" [ref=e656]:
|
| 587 |
+
- generic [ref=e657]: Texas
|
| 588 |
+
- cell "Apr 23, 2023 12:14:28 AM" [ref=e658]:
|
| 589 |
+
- generic [ref=e659]: Apr 23, 2023 12:14:28 AM
|
| 590 |
+
- row "James Kim james.kim@gmail.com General 3125551212 60601 United States Illinois Apr 23, 2023 12:13:29 AM" [ref=e660]:
|
| 591 |
+
- cell [ref=e661]:
|
| 592 |
+
- checkbox [ref=e663] [cursor=pointer]
|
| 593 |
+
- cell "James Kim" [ref=e665]:
|
| 594 |
+
- generic [ref=e666]: James Kim
|
| 595 |
+
- cell "james.kim@gmail.com" [ref=e667]:
|
| 596 |
+
- generic [ref=e668]: james.kim@gmail.com
|
| 597 |
+
- cell "General" [ref=e669]:
|
| 598 |
+
- generic [ref=e670]: General
|
| 599 |
+
- cell "3125551212" [ref=e671]:
|
| 600 |
+
- generic [ref=e672]: "3125551212"
|
| 601 |
+
- cell "60601" [ref=e673]:
|
| 602 |
+
- generic [ref=e674]: "60601"
|
| 603 |
+
- cell "United States" [ref=e675]:
|
| 604 |
+
- generic [ref=e676]: United States
|
| 605 |
+
- cell "Illinois" [ref=e677]:
|
| 606 |
+
- generic [ref=e678]: Illinois
|
| 607 |
+
- cell "Apr 23, 2023 12:13:29 AM" [ref=e679]:
|
| 608 |
+
- generic [ref=e680]: Apr 23, 2023 12:13:29 AM
|
| 609 |
+
- row "Jane Doe jane.doe@hotmail.com General 4123671901 33139 United States Florida Apr 19, 2023 5:45:01 PM" [ref=e681]:
|
| 610 |
+
- cell [ref=e682]:
|
| 611 |
+
- checkbox [ref=e684] [cursor=pointer]
|
| 612 |
+
- cell "Jane Doe" [ref=e686]:
|
| 613 |
+
- generic [ref=e687]: Jane Doe
|
| 614 |
+
- cell "jane.doe@hotmail.com" [ref=e688]:
|
| 615 |
+
- generic [ref=e689]: jane.doe@hotmail.com
|
| 616 |
+
- cell "General" [ref=e690]:
|
| 617 |
+
- generic [ref=e691]: General
|
| 618 |
+
- cell "4123671901" [ref=e692]:
|
| 619 |
+
- generic [ref=e693]: "4123671901"
|
| 620 |
+
- cell "33139" [ref=e694]:
|
| 621 |
+
- generic [ref=e695]: "33139"
|
| 622 |
+
- cell "United States" [ref=e696]:
|
| 623 |
+
- generic [ref=e697]: United States
|
| 624 |
+
- cell "Florida" [ref=e698]:
|
| 625 |
+
- generic [ref=e699]: Florida
|
| 626 |
+
- cell "Apr 19, 2023 5:45:01 PM" [ref=e700]:
|
| 627 |
+
- generic [ref=e701]: Apr 19, 2023 5:45:01 PM
|
| 628 |
+
- row "Jane Doe jane.doe@gmail.com General 2125551212 10001 United States New York Apr 23, 2023 12:13:19 AM" [ref=e702]:
|
| 629 |
+
- cell [ref=e703]:
|
| 630 |
+
- checkbox [ref=e705] [cursor=pointer]
|
| 631 |
+
- cell "Jane Doe" [ref=e707]:
|
| 632 |
+
- generic [ref=e708]: Jane Doe
|
| 633 |
+
- cell "jane.doe@gmail.com" [ref=e709]:
|
| 634 |
+
- generic [ref=e710]: jane.doe@gmail.com
|
| 635 |
+
- cell "General" [ref=e711]:
|
| 636 |
+
- generic [ref=e712]: General
|
| 637 |
+
- cell "2125551212" [ref=e713]:
|
| 638 |
+
- generic [ref=e714]: "2125551212"
|
| 639 |
+
- cell "10001" [ref=e715]:
|
| 640 |
+
- generic [ref=e716]: "10001"
|
| 641 |
+
- cell "United States" [ref=e717]:
|
| 642 |
+
- generic [ref=e718]: United States
|
| 643 |
+
- cell "New York" [ref=e719]:
|
| 644 |
+
- generic [ref=e720]: New York
|
| 645 |
+
- cell "Apr 23, 2023 12:13:19 AM" [ref=e721]:
|
| 646 |
+
- generic [ref=e722]: Apr 23, 2023 12:13:19 AM
|
| 647 |
+
- row "Jane Smith janesmith@gmail.com General 2065554321 98122 United States Washington Apr 19, 2023 5:45:24 PM" [ref=e723]:
|
| 648 |
+
- cell [ref=e724]:
|
| 649 |
+
- checkbox [ref=e726] [cursor=pointer]
|
| 650 |
+
- cell "Jane Smith" [ref=e728]:
|
| 651 |
+
- generic [ref=e729]: Jane Smith
|
| 652 |
+
- cell "janesmith@gmail.com" [ref=e730]:
|
| 653 |
+
- generic [ref=e731]: janesmith@gmail.com
|
| 654 |
+
- cell "General" [ref=e732]:
|
| 655 |
+
- generic [ref=e733]: General
|
| 656 |
+
- cell "2065554321" [ref=e734]:
|
| 657 |
+
- generic [ref=e735]: "2065554321"
|
| 658 |
+
- cell "98122" [ref=e736]:
|
| 659 |
+
- generic [ref=e737]: "98122"
|
| 660 |
+
- cell "United States" [ref=e738]:
|
| 661 |
+
- generic [ref=e739]: United States
|
| 662 |
+
- cell "Washington" [ref=e740]:
|
| 663 |
+
- generic [ref=e741]: Washington
|
| 664 |
+
- cell "Apr 19, 2023 5:45:24 PM" [ref=e742]:
|
| 665 |
+
- generic [ref=e743]: Apr 19, 2023 5:45:24 PM
|
| 666 |
+
- row "Jane Smith janesmith456@yahoo.com General 3105555555 90210 United States California Apr 19, 2023 5:45:41 PM" [ref=e744]:
|
| 667 |
+
- cell [ref=e745]:
|
| 668 |
+
- checkbox [ref=e747] [cursor=pointer]
|
| 669 |
+
- cell "Jane Smith" [ref=e749]:
|
| 670 |
+
- generic [ref=e750]: Jane Smith
|
| 671 |
+
- cell "janesmith456@yahoo.com" [ref=e751]:
|
| 672 |
+
- generic [ref=e752]: janesmith456@yahoo.com
|
| 673 |
+
- cell "General" [ref=e753]:
|
| 674 |
+
- generic [ref=e754]: General
|
| 675 |
+
- cell "3105555555" [ref=e755]:
|
| 676 |
+
- generic [ref=e756]: "3105555555"
|
| 677 |
+
- cell "90210" [ref=e757]:
|
| 678 |
+
- generic [ref=e758]: "90210"
|
| 679 |
+
- cell "United States" [ref=e759]:
|
| 680 |
+
- generic [ref=e760]: United States
|
| 681 |
+
- cell "California" [ref=e761]:
|
| 682 |
+
- generic [ref=e762]: California
|
| 683 |
+
- cell "Apr 19, 2023 5:45:41 PM" [ref=e763]:
|
| 684 |
+
- generic [ref=e764]: Apr 19, 2023 5:45:41 PM
|
| 685 |
+
- row "Jason Miller jason.miller@yahoo.com General 3035551212 80202 United States Colorado Apr 19, 2023 5:46:34 PM" [ref=e765]:
|
| 686 |
+
- cell [ref=e766]:
|
| 687 |
+
- checkbox [ref=e768] [cursor=pointer]
|
| 688 |
+
- cell "Jason Miller" [ref=e770]:
|
| 689 |
+
- generic [ref=e771]: Jason Miller
|
| 690 |
+
- cell "jason.miller@yahoo.com" [ref=e772]:
|
| 691 |
+
- generic [ref=e773]: jason.miller@yahoo.com
|
| 692 |
+
- cell "General" [ref=e774]:
|
| 693 |
+
- generic [ref=e775]: General
|
| 694 |
+
- cell "3035551212" [ref=e776]:
|
| 695 |
+
- generic [ref=e777]: "3035551212"
|
| 696 |
+
- cell "80202" [ref=e778]:
|
| 697 |
+
- generic [ref=e779]: "80202"
|
| 698 |
+
- cell "United States" [ref=e780]:
|
| 699 |
+
- generic [ref=e781]: United States
|
| 700 |
+
- cell "Colorado" [ref=e782]:
|
| 701 |
+
- generic [ref=e783]: Colorado
|
| 702 |
+
- cell "Apr 19, 2023 5:46:34 PM" [ref=e784]:
|
| 703 |
+
- generic [ref=e785]: Apr 19, 2023 5:46:34 PM
|
| 704 |
+
- row "Jennifer White jennifer.white@yahoo.com General 2137418080 90015 United States California Apr 19, 2023 5:46:17 PM" [ref=e786]:
|
| 705 |
+
- cell [ref=e787]:
|
| 706 |
+
- checkbox [ref=e789] [cursor=pointer]
|
| 707 |
+
- cell "Jennifer White" [ref=e791]:
|
| 708 |
+
- generic [ref=e792]: Jennifer White
|
| 709 |
+
- cell "jennifer.white@yahoo.com" [ref=e793]:
|
| 710 |
+
- generic [ref=e794]: jennifer.white@yahoo.com
|
| 711 |
+
- cell "General" [ref=e795]:
|
| 712 |
+
- generic [ref=e796]: General
|
| 713 |
+
- cell "2137418080" [ref=e797]:
|
| 714 |
+
- generic [ref=e798]: "2137418080"
|
| 715 |
+
- cell "90015" [ref=e799]:
|
| 716 |
+
- generic [ref=e800]: "90015"
|
| 717 |
+
- cell "United States" [ref=e801]:
|
| 718 |
+
- generic [ref=e802]: United States
|
| 719 |
+
- cell "California" [ref=e803]:
|
| 720 |
+
- generic [ref=e804]: California
|
| 721 |
+
- cell "Apr 19, 2023 5:46:17 PM" [ref=e805]:
|
| 722 |
+
- generic [ref=e806]: Apr 19, 2023 5:46:17 PM
|
| 723 |
+
- row "Jessica Chang jessica.chang@hotmail.com General 2065551212 98101 United States Washington Apr 23, 2023 12:13:26 AM" [ref=e807]:
|
| 724 |
+
- cell [ref=e808]:
|
| 725 |
+
- checkbox [ref=e810] [cursor=pointer]
|
| 726 |
+
- cell "Jessica Chang" [ref=e812]:
|
| 727 |
+
- generic [ref=e813]: Jessica Chang
|
| 728 |
+
- cell "jessica.chang@hotmail.com" [ref=e814]:
|
| 729 |
+
- generic [ref=e815]: jessica.chang@hotmail.com
|
| 730 |
+
- cell "General" [ref=e816]:
|
| 731 |
+
- generic [ref=e817]: General
|
| 732 |
+
- cell "2065551212" [ref=e818]:
|
| 733 |
+
- generic [ref=e819]: "2065551212"
|
| 734 |
+
- cell "98101" [ref=e820]:
|
| 735 |
+
- generic [ref=e821]: "98101"
|
| 736 |
+
- cell "United States" [ref=e822]:
|
| 737 |
+
- generic [ref=e823]: United States
|
| 738 |
+
- cell "Washington" [ref=e824]:
|
| 739 |
+
- generic [ref=e825]: Washington
|
| 740 |
+
- cell "Apr 23, 2023 12:13:26 AM" [ref=e826]:
|
| 741 |
+
- generic [ref=e827]: Apr 23, 2023 12:13:26 AM
|
| 742 |
+
- row "Jessica Nguyen jessica.nguyen@gmail.com General 2065551212 98101 United States Washington Apr 23, 2023 12:12:58 AM" [ref=e828]:
|
| 743 |
+
- cell [ref=e829]:
|
| 744 |
+
- checkbox [ref=e831] [cursor=pointer]
|
| 745 |
+
- cell "Jessica Nguyen" [ref=e833]:
|
| 746 |
+
- generic [ref=e834]: Jessica Nguyen
|
| 747 |
+
- cell "jessica.nguyen@gmail.com" [ref=e835]:
|
| 748 |
+
- generic [ref=e836]: jessica.nguyen@gmail.com
|
| 749 |
+
- cell "General" [ref=e837]:
|
| 750 |
+
- generic [ref=e838]: General
|
| 751 |
+
- cell "2065551212" [ref=e839]:
|
| 752 |
+
- generic [ref=e840]: "2065551212"
|
| 753 |
+
- cell "98101" [ref=e841]:
|
| 754 |
+
- generic [ref=e842]: "98101"
|
| 755 |
+
- cell "United States" [ref=e843]:
|
| 756 |
+
- generic [ref=e844]: United States
|
| 757 |
+
- cell "Washington" [ref=e845]:
|
| 758 |
+
- generic [ref=e846]: Washington
|
| 759 |
+
- cell "Apr 23, 2023 12:12:58 AM" [ref=e847]:
|
| 760 |
+
- generic [ref=e848]: Apr 23, 2023 12:12:58 AM
|
| 761 |
+
- row "Jessica Wong jessica.wong@gmail.com General 3125551212 60601 United States Illinois Apr 23, 2023 12:13:48 AM" [ref=e849]:
|
| 762 |
+
- cell [ref=e850]:
|
| 763 |
+
- checkbox [ref=e852] [cursor=pointer]
|
| 764 |
+
- cell "Jessica Wong" [ref=e854]:
|
| 765 |
+
- generic [ref=e855]: Jessica Wong
|
| 766 |
+
- cell "jessica.wong@gmail.com" [ref=e856]:
|
| 767 |
+
- generic [ref=e857]: jessica.wong@gmail.com
|
| 768 |
+
- cell "General" [ref=e858]:
|
| 769 |
+
- generic [ref=e859]: General
|
| 770 |
+
- cell "3125551212" [ref=e860]:
|
| 771 |
+
- generic [ref=e861]: "3125551212"
|
| 772 |
+
- cell "60601" [ref=e862]:
|
| 773 |
+
- generic [ref=e863]: "60601"
|
| 774 |
+
- cell "United States" [ref=e864]:
|
| 775 |
+
- generic [ref=e865]: United States
|
| 776 |
+
- cell "Illinois" [ref=e866]:
|
| 777 |
+
- generic [ref=e867]: Illinois
|
| 778 |
+
- cell "Apr 23, 2023 12:13:48 AM" [ref=e868]:
|
| 779 |
+
- generic [ref=e869]: Apr 23, 2023 12:13:48 AM
|
| 780 |
+
- row "John Doe johndoe123@gmail.com General 2125551212 10001 United States New York Apr 19, 2023 5:45:37 PM" [ref=e870]:
|
| 781 |
+
- cell [ref=e871]:
|
| 782 |
+
- checkbox [ref=e873] [cursor=pointer]
|
| 783 |
+
- cell "John Doe" [ref=e875]:
|
| 784 |
+
- generic [ref=e876]: John Doe
|
| 785 |
+
- cell "johndoe123@gmail.com" [ref=e877]:
|
| 786 |
+
- generic [ref=e878]: johndoe123@gmail.com
|
| 787 |
+
- cell "General" [ref=e879]:
|
| 788 |
+
- generic [ref=e880]: General
|
| 789 |
+
- cell "2125551212" [ref=e881]:
|
| 790 |
+
- generic [ref=e882]: "2125551212"
|
| 791 |
+
- cell "10001" [ref=e883]:
|
| 792 |
+
- generic [ref=e884]: "10001"
|
| 793 |
+
- cell "United States" [ref=e885]:
|
| 794 |
+
- generic [ref=e886]: United States
|
| 795 |
+
- cell "New York" [ref=e887]:
|
| 796 |
+
- generic [ref=e888]: New York
|
| 797 |
+
- cell "Apr 19, 2023 5:45:37 PM" [ref=e889]:
|
| 798 |
+
- generic [ref=e890]: Apr 19, 2023 5:45:37 PM
|
| 799 |
+
- row "John Lee john.lee@yahoo.com General 3125556789 60611 United States Illinois Apr 19, 2023 5:45:21 PM" [ref=e891]:
|
| 800 |
+
- cell [ref=e892]:
|
| 801 |
+
- checkbox [ref=e894] [cursor=pointer]
|
| 802 |
+
- cell "John Lee" [ref=e896]:
|
| 803 |
+
- generic [ref=e897]: John Lee
|
| 804 |
+
- cell "john.lee@yahoo.com" [ref=e898]:
|
| 805 |
+
- generic [ref=e899]: john.lee@yahoo.com
|
| 806 |
+
- cell "General" [ref=e900]:
|
| 807 |
+
- generic [ref=e901]: General
|
| 808 |
+
- cell "3125556789" [ref=e902]:
|
| 809 |
+
- generic [ref=e903]: "3125556789"
|
| 810 |
+
- cell "60611" [ref=e904]:
|
| 811 |
+
- generic [ref=e905]: "60611"
|
| 812 |
+
- cell "United States" [ref=e906]:
|
| 813 |
+
- generic [ref=e907]: United States
|
| 814 |
+
- cell "Illinois" [ref=e908]:
|
| 815 |
+
- generic [ref=e909]: Illinois
|
| 816 |
+
- cell "Apr 19, 2023 5:45:21 PM" [ref=e910]:
|
| 817 |
+
- generic [ref=e911]: Apr 19, 2023 5:45:21 PM
|
| 818 |
+
- row "John Smith john.smith.xyz@gmail.com General 2058812302 35213 United States Alabama Apr 19, 2023 5:44:57 PM" [ref=e912]:
|
| 819 |
+
- cell [ref=e913]:
|
| 820 |
+
- checkbox [ref=e915] [cursor=pointer]
|
| 821 |
+
- cell "John Smith" [ref=e917]:
|
| 822 |
+
- generic [ref=e918]: John Smith
|
| 823 |
+
- cell "john.smith.xyz@gmail.com" [ref=e919]:
|
| 824 |
+
- generic [ref=e920]: john.smith.xyz@gmail.com
|
| 825 |
+
- cell "General" [ref=e921]:
|
| 826 |
+
- generic [ref=e922]: General
|
| 827 |
+
- cell "2058812302" [ref=e923]:
|
| 828 |
+
- generic [ref=e924]: "2058812302"
|
| 829 |
+
- cell "35213" [ref=e925]:
|
| 830 |
+
- generic [ref=e926]: "35213"
|
| 831 |
+
- cell "United States" [ref=e927]:
|
| 832 |
+
- generic [ref=e928]: United States
|
| 833 |
+
- cell "Alabama" [ref=e929]:
|
| 834 |
+
- generic [ref=e930]: Alabama
|
| 835 |
+
- cell "Apr 19, 2023 5:44:57 PM" [ref=e931]:
|
| 836 |
+
- generic [ref=e932]: Apr 19, 2023 5:44:57 PM
|
| 837 |
+
- row "John Smith john.smith@yahoo.com General 2145551212 75201 United States Texas Apr 23, 2023 12:13:22 AM" [ref=e933]:
|
| 838 |
+
- cell [ref=e934]:
|
| 839 |
+
- checkbox [ref=e936] [cursor=pointer]
|
| 840 |
+
- cell "John Smith" [ref=e938]:
|
| 841 |
+
- generic [ref=e939]: John Smith
|
| 842 |
+
- cell "john.smith@yahoo.com" [ref=e940]:
|
| 843 |
+
- generic [ref=e941]: john.smith@yahoo.com
|
| 844 |
+
- cell "General" [ref=e942]:
|
| 845 |
+
- generic [ref=e943]: General
|
| 846 |
+
- cell "2145551212" [ref=e944]:
|
| 847 |
+
- generic [ref=e945]: "2145551212"
|
| 848 |
+
- cell "75201" [ref=e946]:
|
| 849 |
+
- generic [ref=e947]: "75201"
|
| 850 |
+
- cell "United States" [ref=e948]:
|
| 851 |
+
- generic [ref=e949]: United States
|
| 852 |
+
- cell "Texas" [ref=e950]:
|
| 853 |
+
- generic [ref=e951]: Texas
|
| 854 |
+
- cell "Apr 23, 2023 12:13:22 AM" [ref=e952]:
|
| 855 |
+
- generic [ref=e953]: Apr 23, 2023 12:13:22 AM
|
| 856 |
+
- row "Julia Williams jla_7781@gmail.com General 4567890123 10065 United States New York Apr 19, 2023 5:45:11 PM" [ref=e954]:
|
| 857 |
+
- cell [ref=e955]:
|
| 858 |
+
- checkbox [ref=e957] [cursor=pointer]
|
| 859 |
+
- cell "Julia Williams" [ref=e959]:
|
| 860 |
+
- generic [ref=e960]: Julia Williams
|
| 861 |
+
- cell "jla_7781@gmail.com" [ref=e961]:
|
| 862 |
+
- generic [ref=e962]: jla_7781@gmail.com
|
| 863 |
+
- cell "General" [ref=e963]:
|
| 864 |
+
- generic [ref=e964]: General
|
| 865 |
+
- cell "4567890123" [ref=e965]:
|
| 866 |
+
- generic [ref=e966]: "4567890123"
|
| 867 |
+
- cell "10065" [ref=e967]:
|
| 868 |
+
- generic [ref=e968]: "10065"
|
| 869 |
+
- cell "United States" [ref=e969]:
|
| 870 |
+
- generic [ref=e970]: United States
|
| 871 |
+
- cell "New York" [ref=e971]:
|
| 872 |
+
- generic [ref=e972]: New York
|
| 873 |
+
- cell "Apr 19, 2023 5:45:11 PM" [ref=e973]:
|
| 874 |
+
- generic [ref=e974]: Apr 19, 2023 5:45:11 PM
|
| 875 |
+
- row "Julie Nguyen julie.nguyen@gmail.com General 3105551212 90210 United States California Apr 23, 2023 12:14:15 AM" [ref=e975]:
|
| 876 |
+
- cell [ref=e976]:
|
| 877 |
+
- checkbox [ref=e978] [cursor=pointer]
|
| 878 |
+
- cell "Julie Nguyen" [ref=e980]:
|
| 879 |
+
- generic [ref=e981]: Julie Nguyen
|
| 880 |
+
- cell "julie.nguyen@gmail.com" [ref=e982]:
|
| 881 |
+
- generic [ref=e983]: julie.nguyen@gmail.com
|
| 882 |
+
- cell "General" [ref=e984]:
|
| 883 |
+
- generic [ref=e985]: General
|
| 884 |
+
- cell "3105551212" [ref=e986]:
|
| 885 |
+
- generic [ref=e987]: "3105551212"
|
| 886 |
+
- cell "90210" [ref=e988]:
|
| 887 |
+
- generic [ref=e989]: "90210"
|
| 888 |
+
- cell "United States" [ref=e990]:
|
| 889 |
+
- generic [ref=e991]: United States
|
| 890 |
+
- cell "California" [ref=e992]:
|
| 891 |
+
- generic [ref=e993]: California
|
| 892 |
+
- cell "Apr 23, 2023 12:14:15 AM" [ref=e994]:
|
| 893 |
+
- generic [ref=e995]: Apr 23, 2023 12:14:15 AM
|
| 894 |
+
- row "Kate Jones kate.jones@gmail.com General 2125551212 10001 United States New York Apr 23, 2023 12:12:51 AM" [ref=e996]:
|
| 895 |
+
- cell [ref=e997]:
|
| 896 |
+
- checkbox [ref=e999] [cursor=pointer]
|
| 897 |
+
- cell "Kate Jones" [ref=e1001]:
|
| 898 |
+
- generic [ref=e1002]: Kate Jones
|
| 899 |
+
- cell "kate.jones@gmail.com" [ref=e1003]:
|
| 900 |
+
- generic [ref=e1004]: kate.jones@gmail.com
|
| 901 |
+
- cell "General" [ref=e1005]:
|
| 902 |
+
- generic [ref=e1006]: General
|
| 903 |
+
- cell "2125551212" [ref=e1007]:
|
| 904 |
+
- generic [ref=e1008]: "2125551212"
|
| 905 |
+
- cell "10001" [ref=e1009]:
|
| 906 |
+
- generic [ref=e1010]: "10001"
|
| 907 |
+
- cell "United States" [ref=e1011]:
|
| 908 |
+
- generic [ref=e1012]: United States
|
| 909 |
+
- cell "New York" [ref=e1013]:
|
| 910 |
+
- generic [ref=e1014]: New York
|
| 911 |
+
- cell "Apr 23, 2023 12:12:51 AM" [ref=e1015]:
|
| 912 |
+
- generic [ref=e1016]: Apr 23, 2023 12:12:51 AM
|
| 913 |
+
- row "Katie Wong katie.wong@hotmail.com General 2065551212 98101 United States Washington Apr 19, 2023 5:46:37 PM" [ref=e1017]:
|
| 914 |
+
- cell [ref=e1018]:
|
| 915 |
+
- checkbox [ref=e1020] [cursor=pointer]
|
| 916 |
+
- cell "Katie Wong" [ref=e1022]:
|
| 917 |
+
- generic [ref=e1023]: Katie Wong
|
| 918 |
+
- cell "katie.wong@hotmail.com" [ref=e1024]:
|
| 919 |
+
- generic [ref=e1025]: katie.wong@hotmail.com
|
| 920 |
+
- cell "General" [ref=e1026]:
|
| 921 |
+
- generic [ref=e1027]: General
|
| 922 |
+
- cell "2065551212" [ref=e1028]:
|
| 923 |
+
- generic [ref=e1029]: "2065551212"
|
| 924 |
+
- cell "98101" [ref=e1030]:
|
| 925 |
+
- generic [ref=e1031]: "98101"
|
| 926 |
+
- cell "United States" [ref=e1032]:
|
| 927 |
+
- generic [ref=e1033]: United States
|
| 928 |
+
- cell "Washington" [ref=e1034]:
|
| 929 |
+
- generic [ref=e1035]: Washington
|
| 930 |
+
- cell "Apr 19, 2023 5:46:37 PM" [ref=e1036]:
|
| 931 |
+
- generic [ref=e1037]: Apr 19, 2023 5:46:37 PM
|
| 932 |
+
- row "Lily Potter harrypotterfan1@gmail.com General 7735555555 60637 United States Illinois Apr 19, 2023 5:45:47 PM" [ref=e1038]:
|
| 933 |
+
- cell [ref=e1039]:
|
| 934 |
+
- checkbox [ref=e1041] [cursor=pointer]
|
| 935 |
+
- cell "Lily Potter" [ref=e1043]:
|
| 936 |
+
- generic [ref=e1044]: Lily Potter
|
| 937 |
+
- cell "harrypotterfan1@gmail.com" [ref=e1045]:
|
| 938 |
+
- generic [ref=e1046]: harrypotterfan1@gmail.com
|
| 939 |
+
- cell "General" [ref=e1047]:
|
| 940 |
+
- generic [ref=e1048]: General
|
| 941 |
+
- cell "7735555555" [ref=e1049]:
|
| 942 |
+
- generic [ref=e1050]: "7735555555"
|
| 943 |
+
- cell "60637" [ref=e1051]:
|
| 944 |
+
- generic [ref=e1052]: "60637"
|
| 945 |
+
- cell "United States" [ref=e1053]:
|
| 946 |
+
- generic [ref=e1054]: United States
|
| 947 |
+
- cell "Illinois" [ref=e1055]:
|
| 948 |
+
- generic [ref=e1056]: Illinois
|
| 949 |
+
- cell "Apr 19, 2023 5:45:47 PM" [ref=e1057]:
|
| 950 |
+
- generic [ref=e1058]: Apr 19, 2023 5:45:47 PM
|
| 951 |
+
- row "Lisa Green lisa.green@hotmail.com General 2145551212 75201 United States Texas Apr 19, 2023 5:46:24 PM" [ref=e1059]:
|
| 952 |
+
- cell [ref=e1060]:
|
| 953 |
+
- checkbox [ref=e1062] [cursor=pointer]
|
| 954 |
+
- cell "Lisa Green" [ref=e1064]:
|
| 955 |
+
- generic [ref=e1065]: Lisa Green
|
| 956 |
+
- cell "lisa.green@hotmail.com" [ref=e1066]:
|
| 957 |
+
- generic [ref=e1067]: lisa.green@hotmail.com
|
| 958 |
+
- cell "General" [ref=e1068]:
|
| 959 |
+
- generic [ref=e1069]: General
|
| 960 |
+
- cell "2145551212" [ref=e1070]:
|
| 961 |
+
- generic [ref=e1071]: "2145551212"
|
| 962 |
+
- cell "75201" [ref=e1072]:
|
| 963 |
+
- generic [ref=e1073]: "75201"
|
| 964 |
+
- cell "United States" [ref=e1074]:
|
| 965 |
+
- generic [ref=e1075]: United States
|
| 966 |
+
- cell "Texas" [ref=e1076]:
|
| 967 |
+
- generic [ref=e1077]: Texas
|
| 968 |
+
- cell "Apr 19, 2023 5:46:24 PM" [ref=e1078]:
|
| 969 |
+
- generic [ref=e1079]: Apr 19, 2023 5:46:24 PM
|
| 970 |
+
- row "Lisa Kim lisa.kim@gmail.com General 7135557890 77005 United States Texas Apr 19, 2023 5:45:31 PM" [ref=e1080]:
|
| 971 |
+
- cell [ref=e1081]:
|
| 972 |
+
- checkbox [ref=e1083] [cursor=pointer]
|
| 973 |
+
- cell "Lisa Kim" [ref=e1085]:
|
| 974 |
+
- generic [ref=e1086]: Lisa Kim
|
| 975 |
+
- cell "lisa.kim@gmail.com" [ref=e1087]:
|
| 976 |
+
- generic [ref=e1088]: lisa.kim@gmail.com
|
| 977 |
+
- cell "General" [ref=e1089]:
|
| 978 |
+
- generic [ref=e1090]: General
|
| 979 |
+
- cell "7135557890" [ref=e1091]:
|
| 980 |
+
- generic [ref=e1092]: "7135557890"
|
| 981 |
+
- cell "77005" [ref=e1093]:
|
| 982 |
+
- generic [ref=e1094]: "77005"
|
| 983 |
+
- cell "United States" [ref=e1095]:
|
| 984 |
+
- generic [ref=e1096]: United States
|
| 985 |
+
- cell "Texas" [ref=e1097]:
|
| 986 |
+
- generic [ref=e1098]: Texas
|
| 987 |
+
- cell "Apr 19, 2023 5:45:31 PM" [ref=e1099]:
|
| 988 |
+
- generic [ref=e1100]: Apr 19, 2023 5:45:31 PM
|
| 989 |
+
- row "Lucy Garcia artsygal123@hotmail.com General 3035555555 80202 United States Colorado Apr 19, 2023 5:45:54 PM" [ref=e1101]:
|
| 990 |
+
- cell [ref=e1102]:
|
| 991 |
+
- checkbox [ref=e1104] [cursor=pointer]
|
| 992 |
+
- cell "Lucy Garcia" [ref=e1106]:
|
| 993 |
+
- generic [ref=e1107]: Lucy Garcia
|
| 994 |
+
- cell "artsygal123@hotmail.com" [ref=e1108]:
|
| 995 |
+
- generic [ref=e1109]: artsygal123@hotmail.com
|
| 996 |
+
- cell "General" [ref=e1110]:
|
| 997 |
+
- generic [ref=e1111]: General
|
| 998 |
+
- cell "3035555555" [ref=e1112]:
|
| 999 |
+
- generic [ref=e1113]: "3035555555"
|
| 1000 |
+
- cell "80202" [ref=e1114]:
|
| 1001 |
+
- generic [ref=e1115]: "80202"
|
| 1002 |
+
- cell "United States" [ref=e1116]:
|
| 1003 |
+
- generic [ref=e1117]: United States
|
| 1004 |
+
- cell "Colorado" [ref=e1118]:
|
| 1005 |
+
- generic [ref=e1119]: Colorado
|
| 1006 |
+
- cell "Apr 19, 2023 5:45:54 PM" [ref=e1120]:
|
| 1007 |
+
- generic [ref=e1121]: Apr 19, 2023 5:45:54 PM
|
| 1008 |
+
- row "Mary Martin marym@gmail.com General 3059876543 33139 United States Florida Apr 19, 2023 5:45:17 PM" [ref=e1122]:
|
| 1009 |
+
- cell [ref=e1123]:
|
| 1010 |
+
- checkbox [ref=e1125] [cursor=pointer]
|
| 1011 |
+
- cell "Mary Martin" [ref=e1127]:
|
| 1012 |
+
- generic [ref=e1128]: Mary Martin
|
| 1013 |
+
- cell "marym@gmail.com" [ref=e1129]:
|
| 1014 |
+
- generic [ref=e1130]: marym@gmail.com
|
| 1015 |
+
- cell "General" [ref=e1131]:
|
| 1016 |
+
- generic [ref=e1132]: General
|
| 1017 |
+
- cell "3059876543" [ref=e1133]:
|
| 1018 |
+
- generic [ref=e1134]: "3059876543"
|
| 1019 |
+
- cell "33139" [ref=e1135]:
|
| 1020 |
+
- generic [ref=e1136]: "33139"
|
| 1021 |
+
- cell "United States" [ref=e1137]:
|
| 1022 |
+
- generic [ref=e1138]: United States
|
| 1023 |
+
- cell "Florida" [ref=e1139]:
|
| 1024 |
+
- generic [ref=e1140]: Florida
|
| 1025 |
+
- cell "Apr 19, 2023 5:45:17 PM" [ref=e1141]:
|
| 1026 |
+
- generic [ref=e1142]: Apr 19, 2023 5:45:17 PM
|
| 1027 |
+
- row "Matt Baker matt.baker@yahoo.com General 4045551234 30308 United States Georgia Apr 19, 2023 5:45:34 PM" [ref=e1143]:
|
| 1028 |
+
- cell [ref=e1144]:
|
| 1029 |
+
- checkbox [ref=e1146] [cursor=pointer]
|
| 1030 |
+
- cell "Matt Baker" [ref=e1148]:
|
| 1031 |
+
- generic [ref=e1149]: Matt Baker
|
| 1032 |
+
- cell "matt.baker@yahoo.com" [ref=e1150]:
|
| 1033 |
+
- generic [ref=e1151]: matt.baker@yahoo.com
|
| 1034 |
+
- cell "General" [ref=e1152]:
|
| 1035 |
+
- generic [ref=e1153]: General
|
| 1036 |
+
- cell "4045551234" [ref=e1154]:
|
| 1037 |
+
- generic [ref=e1155]: "4045551234"
|
| 1038 |
+
- cell "30308" [ref=e1156]:
|
| 1039 |
+
- generic [ref=e1157]: "30308"
|
| 1040 |
+
- cell "United States" [ref=e1158]:
|
| 1041 |
+
- generic [ref=e1159]: United States
|
| 1042 |
+
- cell "Georgia" [ref=e1160]:
|
| 1043 |
+
- generic [ref=e1161]: Georgia
|
| 1044 |
+
- cell "Apr 19, 2023 5:45:34 PM" [ref=e1162]:
|
| 1045 |
+
- generic [ref=e1163]: Apr 19, 2023 5:45:34 PM
|
| 1046 |
+
- row "Matthew Kim matthew.kim@gmail.com General 2015551212 07030 United States New Jersey Apr 23, 2023 12:14:19 AM" [ref=e1164]:
|
| 1047 |
+
- cell [ref=e1165]:
|
| 1048 |
+
- checkbox [ref=e1167] [cursor=pointer]
|
| 1049 |
+
- cell "Matthew Kim" [ref=e1169]:
|
| 1050 |
+
- generic [ref=e1170]: Matthew Kim
|
| 1051 |
+
- cell "matthew.kim@gmail.com" [ref=e1171]:
|
| 1052 |
+
- generic [ref=e1172]: matthew.kim@gmail.com
|
| 1053 |
+
- cell "General" [ref=e1173]:
|
| 1054 |
+
- generic [ref=e1174]: General
|
| 1055 |
+
- cell "2015551212" [ref=e1175]:
|
| 1056 |
+
- generic [ref=e1176]: "2015551212"
|
| 1057 |
+
- cell "07030" [ref=e1177]:
|
| 1058 |
+
- generic [ref=e1178]: "07030"
|
| 1059 |
+
- cell "United States" [ref=e1179]:
|
| 1060 |
+
- generic [ref=e1180]: United States
|
| 1061 |
+
- cell "New Jersey" [ref=e1181]:
|
| 1062 |
+
- generic [ref=e1182]: New Jersey
|
| 1063 |
+
- cell "Apr 23, 2023 12:14:19 AM" [ref=e1183]:
|
| 1064 |
+
- generic [ref=e1184]: Apr 23, 2023 12:14:19 AM
|
| 1065 |
+
- row "Maxwell Baker maxwell.baker@yahoo.com General 3125551212 60601 United States Illinois Apr 23, 2023 12:13:01 AM" [ref=e1185]:
|
| 1066 |
+
- cell [ref=e1186]:
|
| 1067 |
+
- checkbox [ref=e1188] [cursor=pointer]
|
| 1068 |
+
- cell "Maxwell Baker" [ref=e1190]:
|
| 1069 |
+
- generic [ref=e1191]: Maxwell Baker
|
| 1070 |
+
- cell "maxwell.baker@yahoo.com" [ref=e1192]:
|
| 1071 |
+
- generic [ref=e1193]: maxwell.baker@yahoo.com
|
| 1072 |
+
- cell "General" [ref=e1194]:
|
| 1073 |
+
- generic [ref=e1195]: General
|
| 1074 |
+
- cell "3125551212" [ref=e1196]:
|
| 1075 |
+
- generic [ref=e1197]: "3125551212"
|
| 1076 |
+
- cell "60601" [ref=e1198]:
|
| 1077 |
+
- generic [ref=e1199]: "60601"
|
| 1078 |
+
- cell "United States" [ref=e1200]:
|
| 1079 |
+
- generic [ref=e1201]: United States
|
| 1080 |
+
- cell "Illinois" [ref=e1202]:
|
| 1081 |
+
- generic [ref=e1203]: Illinois
|
| 1082 |
+
- cell "Apr 23, 2023 12:13:01 AM" [ref=e1204]:
|
| 1083 |
+
- generic [ref=e1205]: Apr 23, 2023 12:13:01 AM
|
| 1084 |
+
- row "Michael Nguyen michael.nguyen@yahoo.com General 3125551212 60606 United States Illinois Apr 19, 2023 5:46:27 PM" [ref=e1206]:
|
| 1085 |
+
- cell [ref=e1207]:
|
| 1086 |
+
- checkbox [ref=e1209] [cursor=pointer]
|
| 1087 |
+
- cell "Michael Nguyen" [ref=e1211]:
|
| 1088 |
+
- generic [ref=e1212]: Michael Nguyen
|
| 1089 |
+
- cell "michael.nguyen@yahoo.com" [ref=e1213]:
|
| 1090 |
+
- generic [ref=e1214]: michael.nguyen@yahoo.com
|
| 1091 |
+
- cell "General" [ref=e1215]:
|
| 1092 |
+
- generic [ref=e1216]: General
|
| 1093 |
+
- cell "3125551212" [ref=e1217]:
|
| 1094 |
+
- generic [ref=e1218]: "3125551212"
|
| 1095 |
+
- cell "60606" [ref=e1219]:
|
| 1096 |
+
- generic [ref=e1220]: "60606"
|
| 1097 |
+
- cell "United States" [ref=e1221]:
|
| 1098 |
+
- generic [ref=e1222]: United States
|
| 1099 |
+
- cell "Illinois" [ref=e1223]:
|
| 1100 |
+
- generic [ref=e1224]: Illinois
|
| 1101 |
+
- cell "Apr 19, 2023 5:46:27 PM" [ref=e1225]:
|
| 1102 |
+
- generic [ref=e1226]: Apr 19, 2023 5:46:27 PM
|
| 1103 |
+
- row "Natalie Kim natalie.kim@gmail.com General 2015551212 07030 United States New Jersey Apr 23, 2023 12:14:49 AM" [ref=e1227]:
|
| 1104 |
+
- cell [ref=e1228]:
|
| 1105 |
+
- checkbox [ref=e1230] [cursor=pointer]
|
| 1106 |
+
- cell "Natalie Kim" [ref=e1232]:
|
| 1107 |
+
- generic [ref=e1233]: Natalie Kim
|
| 1108 |
+
- cell "natalie.kim@gmail.com" [ref=e1234]:
|
| 1109 |
+
- generic [ref=e1235]: natalie.kim@gmail.com
|
| 1110 |
+
- cell "General" [ref=e1236]:
|
| 1111 |
+
- generic [ref=e1237]: General
|
| 1112 |
+
- cell "2015551212" [ref=e1238]:
|
| 1113 |
+
- generic [ref=e1239]: "2015551212"
|
| 1114 |
+
- cell "07030" [ref=e1240]:
|
| 1115 |
+
- generic [ref=e1241]: "07030"
|
| 1116 |
+
- cell "United States" [ref=e1242]:
|
| 1117 |
+
- generic [ref=e1243]: United States
|
| 1118 |
+
- cell "New Jersey" [ref=e1244]:
|
| 1119 |
+
- generic [ref=e1245]: New Jersey
|
| 1120 |
+
- cell "Apr 23, 2023 12:14:49 AM" [ref=e1246]:
|
| 1121 |
+
- generic [ref=e1247]: Apr 23, 2023 12:14:49 AM
|
| 1122 |
+
- row "Nathan Chen nathan.chen@gmail.com General 3035551212 80202 United States Colorado Apr 23, 2023 12:14:36 AM" [ref=e1248]:
|
| 1123 |
+
- cell [ref=e1249]:
|
| 1124 |
+
- checkbox [ref=e1251] [cursor=pointer]
|
| 1125 |
+
- cell "Nathan Chen" [ref=e1253]:
|
| 1126 |
+
- generic [ref=e1254]: Nathan Chen
|
| 1127 |
+
- cell "nathan.chen@gmail.com" [ref=e1255]:
|
| 1128 |
+
- generic [ref=e1256]: nathan.chen@gmail.com
|
| 1129 |
+
- cell "General" [ref=e1257]:
|
| 1130 |
+
- generic [ref=e1258]: General
|
| 1131 |
+
- cell "3035551212" [ref=e1259]:
|
| 1132 |
+
- generic [ref=e1260]: "3035551212"
|
| 1133 |
+
- cell "80202" [ref=e1261]:
|
| 1134 |
+
- generic [ref=e1262]: "80202"
|
| 1135 |
+
- cell "United States" [ref=e1263]:
|
| 1136 |
+
- generic [ref=e1264]: United States
|
| 1137 |
+
- cell "Colorado" [ref=e1265]:
|
| 1138 |
+
- generic [ref=e1266]: Colorado
|
| 1139 |
+
- cell "Apr 23, 2023 12:14:36 AM" [ref=e1267]:
|
| 1140 |
+
- generic [ref=e1268]: Apr 23, 2023 12:14:36 AM
|
| 1141 |
+
- row "Olivia Jackson olivia.jackson@gmail.com General 3035551212 80202 United States Colorado Apr 23, 2023 12:13:57 AM" [ref=e1269]:
|
| 1142 |
+
- cell [ref=e1270]:
|
| 1143 |
+
- checkbox [ref=e1272] [cursor=pointer]
|
| 1144 |
+
- cell "Olivia Jackson" [ref=e1274]:
|
| 1145 |
+
- generic [ref=e1275]: Olivia Jackson
|
| 1146 |
+
- cell "olivia.jackson@gmail.com" [ref=e1276]:
|
| 1147 |
+
- generic [ref=e1277]: olivia.jackson@gmail.com
|
| 1148 |
+
- cell "General" [ref=e1278]:
|
| 1149 |
+
- generic [ref=e1279]: General
|
| 1150 |
+
- cell "3035551212" [ref=e1280]:
|
| 1151 |
+
- generic [ref=e1281]: "3035551212"
|
| 1152 |
+
- cell "80202" [ref=e1282]:
|
| 1153 |
+
- generic [ref=e1283]: "80202"
|
| 1154 |
+
- cell "United States" [ref=e1284]:
|
| 1155 |
+
- generic [ref=e1285]: United States
|
| 1156 |
+
- cell "Colorado" [ref=e1286]:
|
| 1157 |
+
- generic [ref=e1287]: Colorado
|
| 1158 |
+
- cell "Apr 23, 2023 12:13:57 AM" [ref=e1288]:
|
| 1159 |
+
- generic [ref=e1289]: Apr 23, 2023 12:13:57 AM
|
| 1160 |
+
- row "Olivia Lee soccerfanatic22@gmail.com General 7135555555 77002 United States Texas Apr 19, 2023 5:45:57 PM" [ref=e1290]:
|
| 1161 |
+
- cell [ref=e1291]:
|
| 1162 |
+
- checkbox [ref=e1293] [cursor=pointer]
|
| 1163 |
+
- cell "Olivia Lee" [ref=e1295]:
|
| 1164 |
+
- generic [ref=e1296]: Olivia Lee
|
| 1165 |
+
- cell "soccerfanatic22@gmail.com" [ref=e1297]:
|
| 1166 |
+
- generic [ref=e1298]: soccerfanatic22@gmail.com
|
| 1167 |
+
- cell "General" [ref=e1299]:
|
| 1168 |
+
- generic [ref=e1300]: General
|
| 1169 |
+
- cell "7135555555" [ref=e1301]:
|
| 1170 |
+
- generic [ref=e1302]: "7135555555"
|
| 1171 |
+
- cell "77002" [ref=e1303]:
|
| 1172 |
+
- generic [ref=e1304]: "77002"
|
| 1173 |
+
- cell "United States" [ref=e1305]:
|
| 1174 |
+
- generic [ref=e1306]: United States
|
| 1175 |
+
- cell "Texas" [ref=e1307]:
|
| 1176 |
+
- generic [ref=e1308]: Texas
|
| 1177 |
+
- cell "Apr 19, 2023 5:45:57 PM" [ref=e1309]:
|
| 1178 |
+
- generic [ref=e1310]: Apr 19, 2023 5:45:57 PM
|
| 1179 |
+
- row "Robert Johnson robert.johnson@gmail.com General 6175551212 02108 United States Massachusetts Apr 23, 2023 12:13:36 AM" [ref=e1311]:
|
| 1180 |
+
- cell [ref=e1312]:
|
| 1181 |
+
- checkbox [ref=e1314] [cursor=pointer]
|
| 1182 |
+
- cell "Robert Johnson" [ref=e1316]:
|
| 1183 |
+
- generic [ref=e1317]: Robert Johnson
|
| 1184 |
+
- cell "robert.johnson@gmail.com" [ref=e1318]:
|
| 1185 |
+
- generic [ref=e1319]: robert.johnson@gmail.com
|
| 1186 |
+
- cell "General" [ref=e1320]:
|
| 1187 |
+
- generic [ref=e1321]: General
|
| 1188 |
+
- cell "6175551212" [ref=e1322]:
|
| 1189 |
+
- generic [ref=e1323]: "6175551212"
|
| 1190 |
+
- cell "02108" [ref=e1324]:
|
| 1191 |
+
- generic [ref=e1325]: "02108"
|
| 1192 |
+
- cell "United States" [ref=e1326]:
|
| 1193 |
+
- generic [ref=e1327]: United States
|
| 1194 |
+
- cell "Massachusetts" [ref=e1328]:
|
| 1195 |
+
- generic [ref=e1329]: Massachusetts
|
| 1196 |
+
- cell "Apr 23, 2023 12:13:36 AM" [ref=e1330]:
|
| 1197 |
+
- generic [ref=e1331]: Apr 23, 2023 12:13:36 AM
|
| 1198 |
+
- row "Roberto Lopez roberto.lopez@hotmail.com General 2125551212 10001 United States New York Apr 23, 2023 12:13:12 AM" [ref=e1332]:
|
| 1199 |
+
- cell [ref=e1333]:
|
| 1200 |
+
- checkbox [ref=e1335] [cursor=pointer]
|
| 1201 |
+
- cell "Roberto Lopez" [ref=e1337]:
|
| 1202 |
+
- generic [ref=e1338]: Roberto Lopez
|
| 1203 |
+
- cell "roberto.lopez@hotmail.com" [ref=e1339]:
|
| 1204 |
+
- generic [ref=e1340]: roberto.lopez@hotmail.com
|
| 1205 |
+
- cell "General" [ref=e1341]:
|
| 1206 |
+
- generic [ref=e1342]: General
|
| 1207 |
+
- cell "2125551212" [ref=e1343]:
|
| 1208 |
+
- generic [ref=e1344]: "2125551212"
|
| 1209 |
+
- cell "10001" [ref=e1345]:
|
| 1210 |
+
- generic [ref=e1346]: "10001"
|
| 1211 |
+
- cell "United States" [ref=e1347]:
|
| 1212 |
+
- generic [ref=e1348]: United States
|
| 1213 |
+
- cell "New York" [ref=e1349]:
|
| 1214 |
+
- generic [ref=e1350]: New York
|
| 1215 |
+
- cell "Apr 23, 2023 12:13:12 AM" [ref=e1351]:
|
| 1216 |
+
- generic [ref=e1352]: Apr 23, 2023 12:13:12 AM
|
| 1217 |
+
- row "Ryan Tanaka ryan.tanaka@yahoo.com General 8085551212 96813 United States Hawaii Apr 23, 2023 12:14:10 AM" [ref=e1353]:
|
| 1218 |
+
- cell [ref=e1354]:
|
| 1219 |
+
- checkbox [ref=e1356] [cursor=pointer]
|
| 1220 |
+
- cell "Ryan Tanaka" [ref=e1358]:
|
| 1221 |
+
- generic [ref=e1359]: Ryan Tanaka
|
| 1222 |
+
- cell "ryan.tanaka@yahoo.com" [ref=e1360]:
|
| 1223 |
+
- generic [ref=e1361]: ryan.tanaka@yahoo.com
|
| 1224 |
+
- cell "General" [ref=e1362]:
|
| 1225 |
+
- generic [ref=e1363]: General
|
| 1226 |
+
- cell "8085551212" [ref=e1364]:
|
| 1227 |
+
- generic [ref=e1365]: "8085551212"
|
| 1228 |
+
- cell "96813" [ref=e1366]:
|
| 1229 |
+
- generic [ref=e1367]: "96813"
|
| 1230 |
+
- cell "United States" [ref=e1368]:
|
| 1231 |
+
- generic [ref=e1369]: United States
|
| 1232 |
+
- cell "Hawaii" [ref=e1370]:
|
| 1233 |
+
- generic [ref=e1371]: Hawaii
|
| 1234 |
+
- cell "Apr 23, 2023 12:14:10 AM" [ref=e1372]:
|
| 1235 |
+
- generic [ref=e1373]: Apr 23, 2023 12:14:10 AM
|
| 1236 |
+
- row "Sam Wilson sam.wilson@yahoo.com General 3105551212 90210 United States California Apr 23, 2023 12:12:47 AM" [ref=e1374]:
|
| 1237 |
+
- cell [ref=e1375]:
|
| 1238 |
+
- checkbox [ref=e1377] [cursor=pointer]
|
| 1239 |
+
- cell "Sam Wilson" [ref=e1379]:
|
| 1240 |
+
- generic [ref=e1380]: Sam Wilson
|
| 1241 |
+
- cell "sam.wilson@yahoo.com" [ref=e1381]:
|
| 1242 |
+
- generic [ref=e1382]: sam.wilson@yahoo.com
|
| 1243 |
+
- cell "General" [ref=e1383]:
|
| 1244 |
+
- generic [ref=e1384]: General
|
| 1245 |
+
- cell "3105551212" [ref=e1385]:
|
| 1246 |
+
- generic [ref=e1386]: "3105551212"
|
| 1247 |
+
- cell "90210" [ref=e1387]:
|
| 1248 |
+
- generic [ref=e1388]: "90210"
|
| 1249 |
+
- cell "United States" [ref=e1389]:
|
| 1250 |
+
- generic [ref=e1390]: United States
|
| 1251 |
+
- cell "California" [ref=e1391]:
|
| 1252 |
+
- generic [ref=e1392]: California
|
| 1253 |
+
- cell "Apr 23, 2023 12:12:47 AM" [ref=e1393]:
|
| 1254 |
+
- generic [ref=e1394]: Apr 23, 2023 12:12:47 AM
|
| 1255 |
+
- row "Samantha Jones coolcat321@hotmail.com General 3055551212 33139 United States Florida Apr 19, 2023 5:45:44 PM" [ref=e1395]:
|
| 1256 |
+
- cell [ref=e1396]:
|
| 1257 |
+
- checkbox [ref=e1398] [cursor=pointer]
|
| 1258 |
+
- cell "Samantha Jones" [ref=e1400]:
|
| 1259 |
+
- generic [ref=e1401]: Samantha Jones
|
| 1260 |
+
- cell "coolcat321@hotmail.com" [ref=e1402]:
|
| 1261 |
+
- generic [ref=e1403]: coolcat321@hotmail.com
|
| 1262 |
+
- cell "General" [ref=e1404]:
|
| 1263 |
+
- generic [ref=e1405]: General
|
| 1264 |
+
- cell "3055551212" [ref=e1406]:
|
| 1265 |
+
- generic [ref=e1407]: "3055551212"
|
| 1266 |
+
- cell "33139" [ref=e1408]:
|
| 1267 |
+
- generic [ref=e1409]: "33139"
|
| 1268 |
+
- cell "United States" [ref=e1410]:
|
| 1269 |
+
- generic [ref=e1411]: United States
|
| 1270 |
+
- cell "Florida" [ref=e1412]:
|
| 1271 |
+
- generic [ref=e1413]: Florida
|
| 1272 |
+
- cell "Apr 19, 2023 5:45:44 PM" [ref=e1414]:
|
| 1273 |
+
- generic [ref=e1415]: Apr 19, 2023 5:45:44 PM
|
| 1274 |
+
- row "Samantha Nguyen samantha.nguyen@gmail.com General 2145551212 75201 United States Texas Apr 19, 2023 5:46:47 PM" [ref=e1416]:
|
| 1275 |
+
- cell [ref=e1417]:
|
| 1276 |
+
- checkbox [ref=e1419] [cursor=pointer]
|
| 1277 |
+
- cell "Samantha Nguyen" [ref=e1421]:
|
| 1278 |
+
- generic [ref=e1422]: Samantha Nguyen
|
| 1279 |
+
- cell "samantha.nguyen@gmail.com" [ref=e1423]:
|
| 1280 |
+
- generic [ref=e1424]: samantha.nguyen@gmail.com
|
| 1281 |
+
- cell "General" [ref=e1425]:
|
| 1282 |
+
- generic [ref=e1426]: General
|
| 1283 |
+
- cell "2145551212" [ref=e1427]:
|
| 1284 |
+
- generic [ref=e1428]: "2145551212"
|
| 1285 |
+
- cell "75201" [ref=e1429]:
|
| 1286 |
+
- generic [ref=e1430]: "75201"
|
| 1287 |
+
- cell "United States" [ref=e1431]:
|
| 1288 |
+
- generic [ref=e1432]: United States
|
| 1289 |
+
- cell "Texas" [ref=e1433]:
|
| 1290 |
+
- generic [ref=e1434]: Texas
|
| 1291 |
+
- cell "Apr 19, 2023 5:46:47 PM" [ref=e1435]:
|
| 1292 |
+
- generic [ref=e1436]: Apr 19, 2023 5:46:47 PM
|
| 1293 |
+
- row "Samantha Wu samantha.wu@yahoo.com General 3055551212 33139 United States Florida Apr 23, 2023 12:13:33 AM" [ref=e1437]:
|
| 1294 |
+
- cell [ref=e1438]:
|
| 1295 |
+
- checkbox [ref=e1440] [cursor=pointer]
|
| 1296 |
+
- cell "Samantha Wu" [ref=e1442]:
|
| 1297 |
+
- generic [ref=e1443]: Samantha Wu
|
| 1298 |
+
- cell "samantha.wu@yahoo.com" [ref=e1444]:
|
| 1299 |
+
- generic [ref=e1445]: samantha.wu@yahoo.com
|
| 1300 |
+
- cell "General" [ref=e1446]:
|
| 1301 |
+
- generic [ref=e1447]: General
|
| 1302 |
+
- cell "3055551212" [ref=e1448]:
|
| 1303 |
+
- generic [ref=e1449]: "3055551212"
|
| 1304 |
+
- cell "33139" [ref=e1450]:
|
| 1305 |
+
- generic [ref=e1451]: "33139"
|
| 1306 |
+
- cell "United States" [ref=e1452]:
|
| 1307 |
+
- generic [ref=e1453]: United States
|
| 1308 |
+
- cell "Florida" [ref=e1454]:
|
| 1309 |
+
- generic [ref=e1455]: Florida
|
| 1310 |
+
- cell "Apr 23, 2023 12:13:33 AM" [ref=e1456]:
|
| 1311 |
+
- generic [ref=e1457]: Apr 23, 2023 12:13:33 AM
|
| 1312 |
+
- row "Sarah Miller helloworld@yahoo.com General 5107819902 94602 United States California Apr 19, 2023 5:45:07 PM" [ref=e1458]:
|
| 1313 |
+
- cell [ref=e1459]:
|
| 1314 |
+
- checkbox [ref=e1461] [cursor=pointer]
|
| 1315 |
+
- cell "Sarah Miller" [ref=e1463]:
|
| 1316 |
+
- generic [ref=e1464]: Sarah Miller
|
| 1317 |
+
- cell "helloworld@yahoo.com" [ref=e1465]:
|
| 1318 |
+
- generic [ref=e1466]: helloworld@yahoo.com
|
| 1319 |
+
- cell "General" [ref=e1467]:
|
| 1320 |
+
- generic [ref=e1468]: General
|
| 1321 |
+
- cell "5107819902" [ref=e1469]:
|
| 1322 |
+
- generic [ref=e1470]: "5107819902"
|
| 1323 |
+
- cell "94602" [ref=e1471]:
|
| 1324 |
+
- generic [ref=e1472]: "94602"
|
| 1325 |
+
- cell "United States" [ref=e1473]:
|
| 1326 |
+
- generic [ref=e1474]: United States
|
| 1327 |
+
- cell "California" [ref=e1475]:
|
| 1328 |
+
- generic [ref=e1476]: California
|
| 1329 |
+
- cell "Apr 19, 2023 5:45:07 PM" [ref=e1477]:
|
| 1330 |
+
- generic [ref=e1478]: Apr 19, 2023 5:45:07 PM
|
| 1331 |
+
- row "Sean Miller sean.miller@gmail.com General 8015551212 84101 United States Utah Apr 23, 2023 12:14:53 AM" [ref=e1479]:
|
| 1332 |
+
- cell [ref=e1480]:
|
| 1333 |
+
- checkbox [ref=e1482] [cursor=pointer]
|
| 1334 |
+
- cell "Sean Miller" [ref=e1484]:
|
| 1335 |
+
- generic [ref=e1485]: Sean Miller
|
| 1336 |
+
- cell "sean.miller@gmail.com" [ref=e1486]:
|
| 1337 |
+
- generic [ref=e1487]: sean.miller@gmail.com
|
| 1338 |
+
- cell "General" [ref=e1488]:
|
| 1339 |
+
- generic [ref=e1489]: General
|
| 1340 |
+
- cell "8015551212" [ref=e1490]:
|
| 1341 |
+
- generic [ref=e1491]: "8015551212"
|
| 1342 |
+
- cell "84101" [ref=e1492]:
|
| 1343 |
+
- generic [ref=e1493]: "84101"
|
| 1344 |
+
- cell "United States" [ref=e1494]:
|
| 1345 |
+
- generic [ref=e1495]: United States
|
| 1346 |
+
- cell "Utah" [ref=e1496]:
|
| 1347 |
+
- generic [ref=e1497]: Utah
|
| 1348 |
+
- cell "Apr 23, 2023 12:14:53 AM" [ref=e1498]:
|
| 1349 |
+
- generic [ref=e1499]: Apr 23, 2023 12:14:53 AM
|
| 1350 |
+
- row "Sophia Kim sophia.kim@gmail.com General 4105551212 21201 United States Maryland Apr 23, 2023 12:13:40 AM" [ref=e1500]:
|
| 1351 |
+
- cell [ref=e1501]:
|
| 1352 |
+
- checkbox [ref=e1503] [cursor=pointer]
|
| 1353 |
+
- cell "Sophia Kim" [ref=e1505]:
|
| 1354 |
+
- generic [ref=e1506]: Sophia Kim
|
| 1355 |
+
- cell "sophia.kim@gmail.com" [ref=e1507]:
|
| 1356 |
+
- generic [ref=e1508]: sophia.kim@gmail.com
|
| 1357 |
+
- cell "General" [ref=e1509]:
|
| 1358 |
+
- generic [ref=e1510]: General
|
| 1359 |
+
- cell "4105551212" [ref=e1511]:
|
| 1360 |
+
- generic [ref=e1512]: "4105551212"
|
| 1361 |
+
- cell "21201" [ref=e1513]:
|
| 1362 |
+
- generic [ref=e1514]: "21201"
|
| 1363 |
+
- cell "United States" [ref=e1515]:
|
| 1364 |
+
- generic [ref=e1516]: United States
|
| 1365 |
+
- cell "Maryland" [ref=e1517]:
|
| 1366 |
+
- generic [ref=e1518]: Maryland
|
| 1367 |
+
- cell "Apr 23, 2023 12:13:40 AM" [ref=e1519]:
|
| 1368 |
+
- generic [ref=e1520]: Apr 23, 2023 12:13:40 AM
|
| 1369 |
+
- row "Sophia Young sophia.young@gmail.com General 6175551212 02110 United States Massachusetts Apr 23, 2023 12:14:05 AM" [ref=e1521]:
|
| 1370 |
+
- cell [ref=e1522]:
|
| 1371 |
+
- checkbox [ref=e1524] [cursor=pointer]
|
| 1372 |
+
- cell "Sophia Young" [ref=e1526]:
|
| 1373 |
+
- generic [ref=e1527]: Sophia Young
|
| 1374 |
+
- cell "sophia.young@gmail.com" [ref=e1528]:
|
| 1375 |
+
- generic [ref=e1529]: sophia.young@gmail.com
|
| 1376 |
+
- cell "General" [ref=e1530]:
|
| 1377 |
+
- generic [ref=e1531]: General
|
| 1378 |
+
- cell "6175551212" [ref=e1532]:
|
| 1379 |
+
- generic [ref=e1533]: "6175551212"
|
| 1380 |
+
- cell "02110" [ref=e1534]:
|
| 1381 |
+
- generic [ref=e1535]: "02110"
|
| 1382 |
+
- cell "United States" [ref=e1536]:
|
| 1383 |
+
- generic [ref=e1537]: United States
|
| 1384 |
+
- cell "Massachusetts" [ref=e1538]:
|
| 1385 |
+
- generic [ref=e1539]: Massachusetts
|
| 1386 |
+
- cell "Apr 23, 2023 12:14:05 AM" [ref=e1540]:
|
| 1387 |
+
- generic [ref=e1541]: Apr 23, 2023 12:14:05 AM
|
| 1388 |
+
- row "Sophie Taylor fashionista88@gmail.com General 3055555555 33130 United States Florida Apr 19, 2023 5:46:04 PM" [ref=e1542]:
|
| 1389 |
+
- cell [ref=e1543]:
|
| 1390 |
+
- checkbox [ref=e1545] [cursor=pointer]
|
| 1391 |
+
- cell "Sophie Taylor" [ref=e1547]:
|
| 1392 |
+
- generic [ref=e1548]: Sophie Taylor
|
| 1393 |
+
- cell "fashionista88@gmail.com" [ref=e1549]:
|
| 1394 |
+
- generic [ref=e1550]: fashionista88@gmail.com
|
| 1395 |
+
- cell "General" [ref=e1551]:
|
| 1396 |
+
- generic [ref=e1552]: General
|
| 1397 |
+
- cell "3055555555" [ref=e1553]:
|
| 1398 |
+
- generic [ref=e1554]: "3055555555"
|
| 1399 |
+
- cell "33130" [ref=e1555]:
|
| 1400 |
+
- generic [ref=e1556]: "33130"
|
| 1401 |
+
- cell "United States" [ref=e1557]:
|
| 1402 |
+
- generic [ref=e1558]: United States
|
| 1403 |
+
- cell "Florida" [ref=e1559]:
|
| 1404 |
+
- generic [ref=e1560]: Florida
|
| 1405 |
+
- cell "Apr 19, 2023 5:46:04 PM" [ref=e1561]:
|
| 1406 |
+
- generic [ref=e1562]: Apr 19, 2023 5:46:04 PM
|
| 1407 |
+
- row "Veronica Costello roni_cost@example.com General (555) 229-3326 49628-7978 United States Michigan Apr 19, 2023 12:15:35 PM" [ref=e1563]:
|
| 1408 |
+
- cell [ref=e1564]:
|
| 1409 |
+
- checkbox [ref=e1566] [cursor=pointer]
|
| 1410 |
+
- cell "Veronica Costello" [ref=e1568]:
|
| 1411 |
+
- generic [ref=e1569]: Veronica Costello
|
| 1412 |
+
- cell "roni_cost@example.com" [ref=e1570]:
|
| 1413 |
+
- generic [ref=e1571]: roni_cost@example.com
|
| 1414 |
+
- cell "General" [ref=e1572]:
|
| 1415 |
+
- generic [ref=e1573]: General
|
| 1416 |
+
- cell "(555) 229-3326" [ref=e1574]:
|
| 1417 |
+
- generic [ref=e1575]: (555) 229-3326
|
| 1418 |
+
- cell "49628-7978" [ref=e1576]:
|
| 1419 |
+
- generic [ref=e1577]: 49628-7978
|
| 1420 |
+
- cell "United States" [ref=e1578]:
|
| 1421 |
+
- generic [ref=e1579]: United States
|
| 1422 |
+
- cell "Michigan" [ref=e1580]:
|
| 1423 |
+
- generic [ref=e1581]: Michigan
|
| 1424 |
+
- cell "Apr 19, 2023 12:15:35 PM" [ref=e1582]:
|
| 1425 |
+
- generic [ref=e1583]: Apr 19, 2023 12:15:35 PM
|
| 1426 |
+
- row "William Chang william.chang@hotmail.com General 2065551212 98101 United States Washington Apr 23, 2023 12:13:44 AM" [ref=e1584]:
|
| 1427 |
+
- cell [ref=e1585]:
|
| 1428 |
+
- checkbox [ref=e1587] [cursor=pointer]
|
| 1429 |
+
- cell "William Chang" [ref=e1589]:
|
| 1430 |
+
- generic [ref=e1590]: William Chang
|
| 1431 |
+
- cell "william.chang@hotmail.com" [ref=e1591]:
|
| 1432 |
+
- generic [ref=e1592]: william.chang@hotmail.com
|
| 1433 |
+
- cell "General" [ref=e1593]:
|
| 1434 |
+
- generic [ref=e1594]: General
|
| 1435 |
+
- cell "2065551212" [ref=e1595]:
|
| 1436 |
+
- generic [ref=e1596]: "2065551212"
|
| 1437 |
+
- cell "98101" [ref=e1597]:
|
| 1438 |
+
- generic [ref=e1598]: "98101"
|
| 1439 |
+
- cell "United States" [ref=e1599]:
|
| 1440 |
+
- generic [ref=e1600]: United States
|
| 1441 |
+
- cell "Washington" [ref=e1601]:
|
| 1442 |
+
- generic [ref=e1602]: Washington
|
| 1443 |
+
- cell "Apr 23, 2023 12:13:44 AM" [ref=e1603]:
|
| 1444 |
+
- generic [ref=e1604]: Apr 23, 2023 12:13:44 AM
|
| 1445 |
+
- contentinfo [ref=e122]:
|
| 1446 |
+
- generic [ref=e124]:
|
| 1447 |
+
- paragraph [ref=e125]:
|
| 1448 |
+
- link "" [ref=e126] [cursor=pointer]:
|
| 1449 |
+
- /url: http://magento.com
|
| 1450 |
+
- text: Copyright © 2026 Magento Commerce Inc. All rights reserved.
|
| 1451 |
+
- generic [ref=e127]:
|
| 1452 |
+
- paragraph [ref=e128]:
|
| 1453 |
+
- strong [ref=e129]: Magento
|
| 1454 |
+
- text: ver. 2.4.6
|
| 1455 |
+
- link "Privacy Policy" [ref=e130] [cursor=pointer]:
|
| 1456 |
+
- /url: https://www.adobe.com/privacy/policy.html
|
| 1457 |
+
- text: "|"
|
| 1458 |
+
- link "Account Activity" [ref=e131] [cursor=pointer]:
|
| 1459 |
+
- /url: http://localhost:7789/admin/security/session/activity/
|
| 1460 |
+
- text: "|"
|
| 1461 |
+
- link "Report an Issue" [ref=e132] [cursor=pointer]:
|
| 1462 |
+
- /url: https://github.com/magento/magento2/issues
|
| 1463 |
+
- text: ‹ ›
|
customers_final.yml
ADDED
|
@@ -0,0 +1,1494 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
- generic [active] [ref=e1]:
|
| 2 |
+
- generic [ref=e2]:
|
| 3 |
+
- link "Magento Admin Panel" [ref=e3] [cursor=pointer]:
|
| 4 |
+
- /url: http://localhost:7789/admin/admin/
|
| 5 |
+
- img "Magento Admin Panel" [ref=e4]
|
| 6 |
+
- navigation [ref=e5]:
|
| 7 |
+
- menubar [ref=e6]:
|
| 8 |
+
- listitem [ref=e7]:
|
| 9 |
+
- link " Dashboard" [ref=e8] [cursor=pointer]:
|
| 10 |
+
- /url: http://localhost:7789/admin/admin/dashboard/
|
| 11 |
+
- listitem [ref=e9]:
|
| 12 |
+
- link " Sales" [ref=e10] [cursor=pointer]:
|
| 13 |
+
- /url: "#"
|
| 14 |
+
- listitem [ref=e11]:
|
| 15 |
+
- link " Catalog" [ref=e12] [cursor=pointer]:
|
| 16 |
+
- /url: "#"
|
| 17 |
+
- listitem [ref=e13]:
|
| 18 |
+
- link " Customers" [ref=e14] [cursor=pointer]:
|
| 19 |
+
- /url: "#"
|
| 20 |
+
- listitem [ref=e15]:
|
| 21 |
+
- link " Marketing" [ref=e16] [cursor=pointer]:
|
| 22 |
+
- /url: "#"
|
| 23 |
+
- listitem [ref=e17]:
|
| 24 |
+
- link " Content" [ref=e18] [cursor=pointer]:
|
| 25 |
+
- /url: "#"
|
| 26 |
+
- listitem [ref=e19]:
|
| 27 |
+
- link " Reports" [ref=e20] [cursor=pointer]:
|
| 28 |
+
- /url: "#"
|
| 29 |
+
- listitem [ref=e21]:
|
| 30 |
+
- link " Stores" [ref=e22] [cursor=pointer]:
|
| 31 |
+
- /url: "#"
|
| 32 |
+
- listitem [ref=e23]:
|
| 33 |
+
- link " System" [ref=e24] [cursor=pointer]:
|
| 34 |
+
- /url: "#"
|
| 35 |
+
- listitem [ref=e25]:
|
| 36 |
+
- link " Find Partners & Extensions" [ref=e26] [cursor=pointer]:
|
| 37 |
+
- /url: http://localhost:7789/admin/marketplace/index/
|
| 38 |
+
- generic [ref=e27]:
|
| 39 |
+
- banner [ref=e29]:
|
| 40 |
+
- heading "Customers" [level=1] [ref=e32]
|
| 41 |
+
- generic [ref=e33]:
|
| 42 |
+
- link " admin" [ref=e35] [cursor=pointer]:
|
| 43 |
+
- /url: http://localhost:7789/admin/admin/system_account/index/
|
| 44 |
+
- text:
|
| 45 |
+
- generic [ref=e37]: admin
|
| 46 |
+
- link "" [ref=e39] [cursor=pointer]:
|
| 47 |
+
- /url: http://localhost:7789/admin/admin/notification/index/
|
| 48 |
+
- generic:
|
| 49 |
+
- generic:
|
| 50 |
+
- generic:
|
| 51 |
+
- generic [ref=e40] [cursor=pointer]:
|
| 52 |
+
- textbox "" [ref=e41]
|
| 53 |
+
- main [ref=e42]:
|
| 54 |
+
- generic [ref=e44]:
|
| 55 |
+
- generic:
|
| 56 |
+
- text: Customers
|
| 57 |
+
- button "Add New Customer" [ref=e45] [cursor=pointer]
|
| 58 |
+
- generic [ref=e49]:
|
| 59 |
+
- generic [ref=e1608]:
|
| 60 |
+
- generic [ref=e1610]:
|
| 61 |
+
- button "Actions" [ref=e1612] [cursor=pointer]
|
| 62 |
+
- generic [ref=e1613]: 70 records found (1 selected)
|
| 63 |
+
- generic [ref=e1614]:
|
| 64 |
+
- generic "Search" [ref=e1615] [cursor=pointer]:
|
| 65 |
+
- text:
|
| 66 |
+
- button "product-filters" [ref=e1618] [cursor=pointer]:
|
| 67 |
+
- generic [ref=e1619]:
|
| 68 |
+
- generic [ref=e1620]:
|
| 69 |
+
- button " Default View" [ref=e1621] [cursor=pointer]:
|
| 70 |
+
- text:
|
| 71 |
+
- generic: Default View
|
| 72 |
+
- text:
|
| 73 |
+
- generic [ref=e1622]:
|
| 74 |
+
- button " Columns" [ref=e1623] [cursor=pointer]:
|
| 75 |
+
- text:
|
| 76 |
+
- generic: Columns
|
| 77 |
+
- text:
|
| 78 |
+
- button " Export" [ref=e1625] [cursor=pointer]:
|
| 79 |
+
- text:
|
| 80 |
+
- generic: Export
|
| 81 |
+
- generic [ref=e1626]:
|
| 82 |
+
- generic [ref=e1627]:
|
| 83 |
+
- textbox "per page" [ref=e1629]: "100"
|
| 84 |
+
- button "per page Select" [ref=e1630] [cursor=pointer]:
|
| 85 |
+
- generic [ref=e1631]: Select
|
| 86 |
+
- text:
|
| 87 |
+
- generic [ref=e1632]:
|
| 88 |
+
- button "" [disabled]
|
| 89 |
+
- button "" [disabled]
|
| 90 |
+
- table [ref=e1634]:
|
| 91 |
+
- rowgroup [ref=e1635]:
|
| 92 |
+
- row "- Options ↑ Name Email Group Phone ZIP Country State/Province Customer Since" [ref=e1689]:
|
| 93 |
+
- columnheader "- Options" [ref=e1637]:
|
| 94 |
+
- generic [ref=e1638]:
|
| 95 |
+
- checkbox "-" [ref=e1639] [cursor=pointer]
|
| 96 |
+
- generic [ref=e1640] [cursor=pointer]: "-"
|
| 97 |
+
- button "Options" [ref=e1641] [cursor=pointer]:
|
| 98 |
+
- generic [ref=e1642]: Options
|
| 99 |
+
- columnheader "↑ Name" [ref=e1690] [cursor=pointer]:
|
| 100 |
+
- text: ↑
|
| 101 |
+
- generic [ref=e1644]: Name
|
| 102 |
+
- columnheader "Email" [ref=e1645] [cursor=pointer]:
|
| 103 |
+
- generic [ref=e1646]: Email
|
| 104 |
+
- columnheader "Group" [ref=e1647] [cursor=pointer]:
|
| 105 |
+
- generic [ref=e1648]: Group
|
| 106 |
+
- columnheader "Phone" [ref=e1649] [cursor=pointer]:
|
| 107 |
+
- generic [ref=e1650]: Phone
|
| 108 |
+
- columnheader "ZIP" [ref=e1651] [cursor=pointer]:
|
| 109 |
+
- generic [ref=e1652]: ZIP
|
| 110 |
+
- columnheader "Country" [ref=e1653] [cursor=pointer]:
|
| 111 |
+
- generic [ref=e1654]: Country
|
| 112 |
+
- columnheader "State/Province" [ref=e1655] [cursor=pointer]:
|
| 113 |
+
- generic [ref=e1656]: State/Province
|
| 114 |
+
- columnheader "Customer Since" [ref=e1657] [cursor=pointer]:
|
| 115 |
+
- generic [ref=e1658]: Customer Since
|
| 116 |
+
- rowgroup
|
| 117 |
+
- table [ref=e108]:
|
| 118 |
+
- rowgroup [ref=e109]:
|
| 119 |
+
- row "- Options ↑ Name Email Group Phone ZIP Country State/Province Customer Since" [ref=e1691]:
|
| 120 |
+
- columnheader "- Options" [ref=e1660]:
|
| 121 |
+
- generic [ref=e112]:
|
| 122 |
+
- checkbox "-" [ref=e1661] [cursor=pointer]
|
| 123 |
+
- generic [ref=e114] [cursor=pointer]: "-"
|
| 124 |
+
- button "Options" [ref=e115] [cursor=pointer]:
|
| 125 |
+
- generic [ref=e116]: Options
|
| 126 |
+
- columnheader "↑ Name" [ref=e1692] [cursor=pointer]:
|
| 127 |
+
- text: ↑
|
| 128 |
+
- generic [ref=e118]: Name
|
| 129 |
+
- columnheader "Email" [ref=e119] [cursor=pointer]:
|
| 130 |
+
- generic [ref=e120]: Email
|
| 131 |
+
- columnheader "Group" [ref=e121] [cursor=pointer]:
|
| 132 |
+
- generic [ref=e122]: Group
|
| 133 |
+
- columnheader "Phone" [ref=e123] [cursor=pointer]:
|
| 134 |
+
- generic [ref=e124]: Phone
|
| 135 |
+
- columnheader "ZIP" [ref=e125] [cursor=pointer]:
|
| 136 |
+
- generic [ref=e126]: ZIP
|
| 137 |
+
- columnheader "Country" [ref=e127] [cursor=pointer]:
|
| 138 |
+
- generic [ref=e128]: Country
|
| 139 |
+
- columnheader "State/Province" [ref=e129] [cursor=pointer]:
|
| 140 |
+
- generic [ref=e130]: State/Province
|
| 141 |
+
- columnheader "Customer Since" [ref=e131] [cursor=pointer]:
|
| 142 |
+
- generic [ref=e132]: Customer Since
|
| 143 |
+
- rowgroup [ref=e133]:
|
| 144 |
+
- row "William Chang william.chang@hotmail.com General 2065551212 98101 United States Washington Apr 23, 2023 12:13:44 AM" [ref=e1693]:
|
| 145 |
+
- cell [ref=e135]:
|
| 146 |
+
- checkbox [ref=e137] [cursor=pointer]
|
| 147 |
+
- cell "William Chang" [ref=e1694]:
|
| 148 |
+
- generic [ref=e140]: William Chang
|
| 149 |
+
- cell "william.chang@hotmail.com" [ref=e1695]:
|
| 150 |
+
- generic [ref=e142]: william.chang@hotmail.com
|
| 151 |
+
- cell "General" [ref=e143]:
|
| 152 |
+
- generic [ref=e144]: General
|
| 153 |
+
- cell "2065551212" [ref=e1696]:
|
| 154 |
+
- generic [ref=e146]: "2065551212"
|
| 155 |
+
- cell "98101" [ref=e1697]:
|
| 156 |
+
- generic [ref=e148]: "98101"
|
| 157 |
+
- cell "United States" [ref=e149]:
|
| 158 |
+
- generic [ref=e150]: United States
|
| 159 |
+
- cell "Washington" [ref=e151]:
|
| 160 |
+
- generic [ref=e152]: Washington
|
| 161 |
+
- cell "Apr 23, 2023 12:13:44 AM" [ref=e1698]:
|
| 162 |
+
- generic [ref=e154]: Apr 23, 2023 12:13:44 AM
|
| 163 |
+
- row "Veronica Costello roni_cost@example.com General (555) 229-3326 49628-7978 United States Michigan Apr 19, 2023 12:15:35 PM" [ref=e1699]:
|
| 164 |
+
- cell [ref=e156]:
|
| 165 |
+
- checkbox [ref=e158] [cursor=pointer]
|
| 166 |
+
- cell "Veronica Costello" [ref=e1700]:
|
| 167 |
+
- generic [ref=e161]: Veronica Costello
|
| 168 |
+
- cell "roni_cost@example.com" [ref=e1701]:
|
| 169 |
+
- generic [ref=e163]: roni_cost@example.com
|
| 170 |
+
- cell "General" [ref=e164]:
|
| 171 |
+
- generic [ref=e165]: General
|
| 172 |
+
- cell "(555) 229-3326" [ref=e1702]:
|
| 173 |
+
- generic [ref=e167]: (555) 229-3326
|
| 174 |
+
- cell "49628-7978" [ref=e1703]:
|
| 175 |
+
- generic [ref=e169]: 49628-7978
|
| 176 |
+
- cell "United States" [ref=e170]:
|
| 177 |
+
- generic [ref=e171]: United States
|
| 178 |
+
- cell "Michigan" [ref=e1704]:
|
| 179 |
+
- generic [ref=e173]: Michigan
|
| 180 |
+
- cell "Apr 19, 2023 12:15:35 PM" [ref=e1705]:
|
| 181 |
+
- generic [ref=e175]: Apr 19, 2023 12:15:35 PM
|
| 182 |
+
- row "Sophie Taylor fashionista88@gmail.com General 3055555555 33130 United States Florida Apr 19, 2023 5:46:04 PM" [ref=e1706]:
|
| 183 |
+
- cell [ref=e177]:
|
| 184 |
+
- checkbox [ref=e179] [cursor=pointer]
|
| 185 |
+
- cell "Sophie Taylor" [ref=e1707]:
|
| 186 |
+
- generic [ref=e182]: Sophie Taylor
|
| 187 |
+
- cell "fashionista88@gmail.com" [ref=e1708]:
|
| 188 |
+
- generic [ref=e184]: fashionista88@gmail.com
|
| 189 |
+
- cell "General" [ref=e185]:
|
| 190 |
+
- generic [ref=e186]: General
|
| 191 |
+
- cell "3055555555" [ref=e1709]:
|
| 192 |
+
- generic [ref=e188]: "3055555555"
|
| 193 |
+
- cell "33130" [ref=e1710]:
|
| 194 |
+
- generic [ref=e190]: "33130"
|
| 195 |
+
- cell "United States" [ref=e191]:
|
| 196 |
+
- generic [ref=e192]: United States
|
| 197 |
+
- cell "Florida" [ref=e1711]:
|
| 198 |
+
- generic [ref=e194]: Florida
|
| 199 |
+
- cell "Apr 19, 2023 5:46:04 PM" [ref=e1712]:
|
| 200 |
+
- generic [ref=e196]: Apr 19, 2023 5:46:04 PM
|
| 201 |
+
- row "Sophia Young sophia.young@gmail.com General 6175551212 02110 United States Massachusetts Apr 23, 2023 12:14:05 AM" [ref=e1713]:
|
| 202 |
+
- cell [ref=e198]:
|
| 203 |
+
- checkbox [ref=e200] [cursor=pointer]
|
| 204 |
+
- cell "Sophia Young" [ref=e1714]:
|
| 205 |
+
- generic [ref=e203]: Sophia Young
|
| 206 |
+
- cell "sophia.young@gmail.com" [ref=e1715]:
|
| 207 |
+
- generic [ref=e205]: sophia.young@gmail.com
|
| 208 |
+
- cell "General" [ref=e206]:
|
| 209 |
+
- generic [ref=e207]: General
|
| 210 |
+
- cell "6175551212" [ref=e1716]:
|
| 211 |
+
- generic [ref=e209]: "6175551212"
|
| 212 |
+
- cell "02110" [ref=e1717]:
|
| 213 |
+
- generic [ref=e211]: "02110"
|
| 214 |
+
- cell "United States" [ref=e212]:
|
| 215 |
+
- generic [ref=e213]: United States
|
| 216 |
+
- cell "Massachusetts" [ref=e1718]:
|
| 217 |
+
- generic [ref=e215]: Massachusetts
|
| 218 |
+
- cell "Apr 23, 2023 12:14:05 AM" [ref=e1719]:
|
| 219 |
+
- generic [ref=e217]: Apr 23, 2023 12:14:05 AM
|
| 220 |
+
- row "Sophia Kim sophia.kim@gmail.com General 4105551212 21201 United States Maryland Apr 23, 2023 12:13:40 AM" [ref=e1720]:
|
| 221 |
+
- cell [ref=e219]:
|
| 222 |
+
- checkbox [ref=e221] [cursor=pointer]
|
| 223 |
+
- cell "Sophia Kim" [ref=e1721]:
|
| 224 |
+
- generic [ref=e224]: Sophia Kim
|
| 225 |
+
- cell "sophia.kim@gmail.com" [ref=e1722]:
|
| 226 |
+
- generic [ref=e226]: sophia.kim@gmail.com
|
| 227 |
+
- cell "General" [ref=e227]:
|
| 228 |
+
- generic [ref=e228]: General
|
| 229 |
+
- cell "4105551212" [ref=e1723]:
|
| 230 |
+
- generic [ref=e230]: "4105551212"
|
| 231 |
+
- cell "21201" [ref=e1724]:
|
| 232 |
+
- generic [ref=e232]: "21201"
|
| 233 |
+
- cell "United States" [ref=e233]:
|
| 234 |
+
- generic [ref=e234]: United States
|
| 235 |
+
- cell "Maryland" [ref=e1725]:
|
| 236 |
+
- generic [ref=e236]: Maryland
|
| 237 |
+
- cell "Apr 23, 2023 12:13:40 AM" [ref=e1726]:
|
| 238 |
+
- generic [ref=e238]: Apr 23, 2023 12:13:40 AM
|
| 239 |
+
- row "Sean Miller sean.miller@gmail.com General 8015551212 84101 United States Utah Apr 23, 2023 12:14:53 AM" [ref=e1727]:
|
| 240 |
+
- cell [ref=e240]:
|
| 241 |
+
- checkbox [ref=e242] [cursor=pointer]
|
| 242 |
+
- cell "Sean Miller" [ref=e1728]:
|
| 243 |
+
- generic [ref=e245]: Sean Miller
|
| 244 |
+
- cell "sean.miller@gmail.com" [ref=e1729]:
|
| 245 |
+
- generic [ref=e247]: sean.miller@gmail.com
|
| 246 |
+
- cell "General" [ref=e248]:
|
| 247 |
+
- generic [ref=e249]: General
|
| 248 |
+
- cell "8015551212" [ref=e1730]:
|
| 249 |
+
- generic [ref=e251]: "8015551212"
|
| 250 |
+
- cell "84101" [ref=e1731]:
|
| 251 |
+
- generic [ref=e253]: "84101"
|
| 252 |
+
- cell "United States" [ref=e254]:
|
| 253 |
+
- generic [ref=e255]: United States
|
| 254 |
+
- cell "Utah" [ref=e1732]:
|
| 255 |
+
- generic [ref=e257]: Utah
|
| 256 |
+
- cell "Apr 23, 2023 12:14:53 AM" [ref=e1733]:
|
| 257 |
+
- generic [ref=e259]: Apr 23, 2023 12:14:53 AM
|
| 258 |
+
- row "Sarah Miller helloworld@yahoo.com General 5107819902 94602 United States California Apr 19, 2023 5:45:07 PM" [ref=e1734]:
|
| 259 |
+
- cell [ref=e261]:
|
| 260 |
+
- checkbox [ref=e263] [cursor=pointer]
|
| 261 |
+
- cell "Sarah Miller" [ref=e1735]:
|
| 262 |
+
- generic [ref=e266]: Sarah Miller
|
| 263 |
+
- cell "helloworld@yahoo.com" [ref=e1736]:
|
| 264 |
+
- generic [ref=e268]: helloworld@yahoo.com
|
| 265 |
+
- cell "General" [ref=e269]:
|
| 266 |
+
- generic [ref=e270]: General
|
| 267 |
+
- cell "5107819902" [ref=e1737]:
|
| 268 |
+
- generic [ref=e272]: "5107819902"
|
| 269 |
+
- cell "94602" [ref=e1738]:
|
| 270 |
+
- generic [ref=e274]: "94602"
|
| 271 |
+
- cell "United States" [ref=e275]:
|
| 272 |
+
- generic [ref=e276]: United States
|
| 273 |
+
- cell "California" [ref=e1739]:
|
| 274 |
+
- generic [ref=e278]: California
|
| 275 |
+
- cell "Apr 19, 2023 5:45:07 PM" [ref=e1740]:
|
| 276 |
+
- generic [ref=e280]: Apr 19, 2023 5:45:07 PM
|
| 277 |
+
- row "Samantha Wu samantha.wu@yahoo.com General 3055551212 33139 United States Florida Apr 23, 2023 12:13:33 AM" [ref=e1741]:
|
| 278 |
+
- cell [ref=e282]:
|
| 279 |
+
- checkbox [ref=e284] [cursor=pointer]
|
| 280 |
+
- cell "Samantha Wu" [ref=e1742]:
|
| 281 |
+
- generic [ref=e287]: Samantha Wu
|
| 282 |
+
- cell "samantha.wu@yahoo.com" [ref=e1743]:
|
| 283 |
+
- generic [ref=e289]: samantha.wu@yahoo.com
|
| 284 |
+
- cell "General" [ref=e290]:
|
| 285 |
+
- generic [ref=e291]: General
|
| 286 |
+
- cell "3055551212" [ref=e1744]:
|
| 287 |
+
- generic [ref=e293]: "3055551212"
|
| 288 |
+
- cell "33139" [ref=e1745]:
|
| 289 |
+
- generic [ref=e295]: "33139"
|
| 290 |
+
- cell "United States" [ref=e296]:
|
| 291 |
+
- generic [ref=e297]: United States
|
| 292 |
+
- cell "Florida" [ref=e1746]:
|
| 293 |
+
- generic [ref=e299]: Florida
|
| 294 |
+
- cell "Apr 23, 2023 12:13:33 AM" [ref=e1747]:
|
| 295 |
+
- generic [ref=e301]: Apr 23, 2023 12:13:33 AM
|
| 296 |
+
- row "Samantha Nguyen samantha.nguyen@gmail.com General 2145551212 75201 United States Texas Apr 19, 2023 5:46:47 PM" [ref=e1748]:
|
| 297 |
+
- cell [ref=e303]:
|
| 298 |
+
- checkbox [ref=e305] [cursor=pointer]
|
| 299 |
+
- cell "Samantha Nguyen" [ref=e1749]:
|
| 300 |
+
- generic [ref=e308]: Samantha Nguyen
|
| 301 |
+
- cell "samantha.nguyen@gmail.com" [ref=e1750]:
|
| 302 |
+
- generic [ref=e310]: samantha.nguyen@gmail.com
|
| 303 |
+
- cell "General" [ref=e311]:
|
| 304 |
+
- generic [ref=e312]: General
|
| 305 |
+
- cell "2145551212" [ref=e1751]:
|
| 306 |
+
- generic [ref=e314]: "2145551212"
|
| 307 |
+
- cell "75201" [ref=e1752]:
|
| 308 |
+
- generic [ref=e316]: "75201"
|
| 309 |
+
- cell "United States" [ref=e317]:
|
| 310 |
+
- generic [ref=e318]: United States
|
| 311 |
+
- cell "Texas" [ref=e319]:
|
| 312 |
+
- generic [ref=e320]: Texas
|
| 313 |
+
- cell "Apr 19, 2023 5:46:47 PM" [ref=e1753]:
|
| 314 |
+
- generic [ref=e322]: Apr 19, 2023 5:46:47 PM
|
| 315 |
+
- row "Samantha Jones coolcat321@hotmail.com General 3055551212 33139 United States Florida Apr 19, 2023 5:45:44 PM" [ref=e1754]:
|
| 316 |
+
- cell [ref=e324]:
|
| 317 |
+
- checkbox [ref=e326] [cursor=pointer]
|
| 318 |
+
- cell "Samantha Jones" [ref=e1755]:
|
| 319 |
+
- generic [ref=e329]: Samantha Jones
|
| 320 |
+
- cell "coolcat321@hotmail.com" [ref=e1756]:
|
| 321 |
+
- generic [ref=e331]: coolcat321@hotmail.com
|
| 322 |
+
- cell "General" [ref=e332]:
|
| 323 |
+
- generic [ref=e333]: General
|
| 324 |
+
- cell "3055551212" [ref=e1757]:
|
| 325 |
+
- generic [ref=e335]: "3055551212"
|
| 326 |
+
- cell "33139" [ref=e1758]:
|
| 327 |
+
- generic [ref=e337]: "33139"
|
| 328 |
+
- cell "United States" [ref=e338]:
|
| 329 |
+
- generic [ref=e339]: United States
|
| 330 |
+
- cell "Florida" [ref=e1759]:
|
| 331 |
+
- generic [ref=e341]: Florida
|
| 332 |
+
- cell "Apr 19, 2023 5:45:44 PM" [ref=e1760]:
|
| 333 |
+
- generic [ref=e343]: Apr 19, 2023 5:45:44 PM
|
| 334 |
+
- row "Sam Wilson sam.wilson@yahoo.com General 3105551212 90210 United States California Apr 23, 2023 12:12:47 AM" [ref=e1761]:
|
| 335 |
+
- cell [ref=e345]:
|
| 336 |
+
- checkbox [ref=e347] [cursor=pointer]
|
| 337 |
+
- cell "Sam Wilson" [ref=e1762]:
|
| 338 |
+
- generic [ref=e350]: Sam Wilson
|
| 339 |
+
- cell "sam.wilson@yahoo.com" [ref=e1763]:
|
| 340 |
+
- generic [ref=e352]: sam.wilson@yahoo.com
|
| 341 |
+
- cell "General" [ref=e353]:
|
| 342 |
+
- generic [ref=e354]: General
|
| 343 |
+
- cell "3105551212" [ref=e1764]:
|
| 344 |
+
- generic [ref=e356]: "3105551212"
|
| 345 |
+
- cell "90210" [ref=e1765]:
|
| 346 |
+
- generic [ref=e358]: "90210"
|
| 347 |
+
- cell "United States" [ref=e359]:
|
| 348 |
+
- generic [ref=e360]: United States
|
| 349 |
+
- cell "California" [ref=e1766]:
|
| 350 |
+
- generic [ref=e362]: California
|
| 351 |
+
- cell "Apr 23, 2023 12:12:47 AM" [ref=e1767]:
|
| 352 |
+
- generic [ref=e364]: Apr 23, 2023 12:12:47 AM
|
| 353 |
+
- row "Ryan Tanaka ryan.tanaka@yahoo.com General 8085551212 96813 United States Hawaii Apr 23, 2023 12:14:10 AM" [ref=e1768]:
|
| 354 |
+
- cell [ref=e366]:
|
| 355 |
+
- checkbox [ref=e368] [cursor=pointer]
|
| 356 |
+
- cell "Ryan Tanaka" [ref=e1769]:
|
| 357 |
+
- generic [ref=e371]: Ryan Tanaka
|
| 358 |
+
- cell "ryan.tanaka@yahoo.com" [ref=e1770]:
|
| 359 |
+
- generic [ref=e373]: ryan.tanaka@yahoo.com
|
| 360 |
+
- cell "General" [ref=e374]:
|
| 361 |
+
- generic [ref=e375]: General
|
| 362 |
+
- cell "8085551212" [ref=e1771]:
|
| 363 |
+
- generic [ref=e377]: "8085551212"
|
| 364 |
+
- cell "96813" [ref=e1772]:
|
| 365 |
+
- generic [ref=e379]: "96813"
|
| 366 |
+
- cell "United States" [ref=e380]:
|
| 367 |
+
- generic [ref=e381]: United States
|
| 368 |
+
- cell "Hawaii" [ref=e1773]:
|
| 369 |
+
- generic [ref=e383]: Hawaii
|
| 370 |
+
- cell "Apr 23, 2023 12:14:10 AM" [ref=e1774]:
|
| 371 |
+
- generic [ref=e385]: Apr 23, 2023 12:14:10 AM
|
| 372 |
+
- row "Roberto Lopez roberto.lopez@hotmail.com General 2125551212 10001 United States New York Apr 23, 2023 12:13:12 AM" [ref=e1775]:
|
| 373 |
+
- cell [ref=e387]:
|
| 374 |
+
- checkbox [ref=e389] [cursor=pointer]
|
| 375 |
+
- cell "Roberto Lopez" [ref=e1776]:
|
| 376 |
+
- generic [ref=e392]: Roberto Lopez
|
| 377 |
+
- cell "roberto.lopez@hotmail.com" [ref=e1777]:
|
| 378 |
+
- generic [ref=e394]: roberto.lopez@hotmail.com
|
| 379 |
+
- cell "General" [ref=e395]:
|
| 380 |
+
- generic [ref=e396]: General
|
| 381 |
+
- cell "2125551212" [ref=e1778]:
|
| 382 |
+
- generic [ref=e398]: "2125551212"
|
| 383 |
+
- cell "10001" [ref=e1779]:
|
| 384 |
+
- generic [ref=e400]: "10001"
|
| 385 |
+
- cell "United States" [ref=e401]:
|
| 386 |
+
- generic [ref=e402]: United States
|
| 387 |
+
- cell "New York" [ref=e1780]:
|
| 388 |
+
- generic [ref=e404]: New York
|
| 389 |
+
- cell "Apr 23, 2023 12:13:12 AM" [ref=e1781]:
|
| 390 |
+
- generic [ref=e406]: Apr 23, 2023 12:13:12 AM
|
| 391 |
+
- row "Robert Johnson robert.johnson@gmail.com General 6175551212 02108 United States Massachusetts Apr 23, 2023 12:13:36 AM" [ref=e1782]:
|
| 392 |
+
- cell [ref=e408]:
|
| 393 |
+
- checkbox [ref=e410] [cursor=pointer]
|
| 394 |
+
- cell "Robert Johnson" [ref=e1783]:
|
| 395 |
+
- generic [ref=e413]: Robert Johnson
|
| 396 |
+
- cell "robert.johnson@gmail.com" [ref=e1784]:
|
| 397 |
+
- generic [ref=e415]: robert.johnson@gmail.com
|
| 398 |
+
- cell "General" [ref=e416]:
|
| 399 |
+
- generic [ref=e417]: General
|
| 400 |
+
- cell "6175551212" [ref=e1785]:
|
| 401 |
+
- generic [ref=e419]: "6175551212"
|
| 402 |
+
- cell "02108" [ref=e1786]:
|
| 403 |
+
- generic [ref=e421]: "02108"
|
| 404 |
+
- cell "United States" [ref=e422]:
|
| 405 |
+
- generic [ref=e423]: United States
|
| 406 |
+
- cell "Massachusetts" [ref=e1787]:
|
| 407 |
+
- generic [ref=e425]: Massachusetts
|
| 408 |
+
- cell "Apr 23, 2023 12:13:36 AM" [ref=e1788]:
|
| 409 |
+
- generic [ref=e427]: Apr 23, 2023 12:13:36 AM
|
| 410 |
+
- row "Olivia Lee soccerfanatic22@gmail.com General 7135555555 77002 United States Texas Apr 19, 2023 5:45:57 PM" [ref=e1789]:
|
| 411 |
+
- cell [ref=e429]:
|
| 412 |
+
- checkbox [ref=e431] [cursor=pointer]
|
| 413 |
+
- cell "Olivia Lee" [ref=e1790]:
|
| 414 |
+
- generic [ref=e434]: Olivia Lee
|
| 415 |
+
- cell "soccerfanatic22@gmail.com" [ref=e1791]:
|
| 416 |
+
- generic [ref=e436]: soccerfanatic22@gmail.com
|
| 417 |
+
- cell "General" [ref=e437]:
|
| 418 |
+
- generic [ref=e438]: General
|
| 419 |
+
- cell "7135555555" [ref=e1792]:
|
| 420 |
+
- generic [ref=e440]: "7135555555"
|
| 421 |
+
- cell "77002" [ref=e1793]:
|
| 422 |
+
- generic [ref=e442]: "77002"
|
| 423 |
+
- cell "United States" [ref=e443]:
|
| 424 |
+
- generic [ref=e444]: United States
|
| 425 |
+
- cell "Texas" [ref=e1794]:
|
| 426 |
+
- generic [ref=e446]: Texas
|
| 427 |
+
- cell "Apr 19, 2023 5:45:57 PM" [ref=e1795]:
|
| 428 |
+
- generic [ref=e448]: Apr 19, 2023 5:45:57 PM
|
| 429 |
+
- row "Olivia Jackson olivia.jackson@gmail.com General 3035551212 80202 United States Colorado Apr 23, 2023 12:13:57 AM" [ref=e1796]:
|
| 430 |
+
- cell [ref=e450]:
|
| 431 |
+
- checkbox [ref=e452] [cursor=pointer]
|
| 432 |
+
- cell "Olivia Jackson" [ref=e1797]:
|
| 433 |
+
- generic [ref=e455]: Olivia Jackson
|
| 434 |
+
- cell "olivia.jackson@gmail.com" [ref=e1798]:
|
| 435 |
+
- generic [ref=e457]: olivia.jackson@gmail.com
|
| 436 |
+
- cell "General" [ref=e458]:
|
| 437 |
+
- generic [ref=e459]: General
|
| 438 |
+
- cell "3035551212" [ref=e1799]:
|
| 439 |
+
- generic [ref=e461]: "3035551212"
|
| 440 |
+
- cell "80202" [ref=e1800]:
|
| 441 |
+
- generic [ref=e463]: "80202"
|
| 442 |
+
- cell "United States" [ref=e464]:
|
| 443 |
+
- generic [ref=e465]: United States
|
| 444 |
+
- cell "Colorado" [ref=e1801]:
|
| 445 |
+
- generic [ref=e467]: Colorado
|
| 446 |
+
- cell "Apr 23, 2023 12:13:57 AM" [ref=e1802]:
|
| 447 |
+
- generic [ref=e469]: Apr 23, 2023 12:13:57 AM
|
| 448 |
+
- row "Nathan Chen nathan.chen@gmail.com General 3035551212 80202 United States Colorado Apr 23, 2023 12:14:36 AM" [ref=e1803]:
|
| 449 |
+
- cell [ref=e471]:
|
| 450 |
+
- checkbox [ref=e473] [cursor=pointer]
|
| 451 |
+
- cell "Nathan Chen" [ref=e1804]:
|
| 452 |
+
- generic [ref=e476]: Nathan Chen
|
| 453 |
+
- cell "nathan.chen@gmail.com" [ref=e1805]:
|
| 454 |
+
- generic [ref=e478]: nathan.chen@gmail.com
|
| 455 |
+
- cell "General" [ref=e479]:
|
| 456 |
+
- generic [ref=e480]: General
|
| 457 |
+
- cell "3035551212" [ref=e1806]:
|
| 458 |
+
- generic [ref=e482]: "3035551212"
|
| 459 |
+
- cell "80202" [ref=e1807]:
|
| 460 |
+
- generic [ref=e484]: "80202"
|
| 461 |
+
- cell "United States" [ref=e485]:
|
| 462 |
+
- generic [ref=e486]: United States
|
| 463 |
+
- cell "Colorado" [ref=e1808]:
|
| 464 |
+
- generic [ref=e488]: Colorado
|
| 465 |
+
- cell "Apr 23, 2023 12:14:36 AM" [ref=e1809]:
|
| 466 |
+
- generic [ref=e490]: Apr 23, 2023 12:14:36 AM
|
| 467 |
+
- row "Natalie Kim natalie.kim@gmail.com General 2015551212 07030 United States New Jersey Apr 23, 2023 12:14:49 AM" [ref=e1810]:
|
| 468 |
+
- cell [ref=e492]:
|
| 469 |
+
- checkbox [ref=e494] [cursor=pointer]
|
| 470 |
+
- cell "Natalie Kim" [ref=e1811]:
|
| 471 |
+
- generic [ref=e497]: Natalie Kim
|
| 472 |
+
- cell "natalie.kim@gmail.com" [ref=e1812]:
|
| 473 |
+
- generic [ref=e499]: natalie.kim@gmail.com
|
| 474 |
+
- cell "General" [ref=e500]:
|
| 475 |
+
- generic [ref=e501]: General
|
| 476 |
+
- cell "2015551212" [ref=e1813]:
|
| 477 |
+
- generic [ref=e503]: "2015551212"
|
| 478 |
+
- cell "07030" [ref=e1814]:
|
| 479 |
+
- generic [ref=e505]: "07030"
|
| 480 |
+
- cell "United States" [ref=e506]:
|
| 481 |
+
- generic [ref=e507]: United States
|
| 482 |
+
- cell "New Jersey" [ref=e1815]:
|
| 483 |
+
- generic [ref=e509]: New Jersey
|
| 484 |
+
- cell "Apr 23, 2023 12:14:49 AM" [ref=e1816]:
|
| 485 |
+
- generic [ref=e511]: Apr 23, 2023 12:14:49 AM
|
| 486 |
+
- row "Michael Nguyen michael.nguyen@yahoo.com General 3125551212 60606 United States Illinois Apr 19, 2023 5:46:27 PM" [ref=e1817]:
|
| 487 |
+
- cell [ref=e513]:
|
| 488 |
+
- checkbox [ref=e515] [cursor=pointer]
|
| 489 |
+
- cell "Michael Nguyen" [ref=e1818]:
|
| 490 |
+
- generic [ref=e518]: Michael Nguyen
|
| 491 |
+
- cell "michael.nguyen@yahoo.com" [ref=e1819]:
|
| 492 |
+
- generic [ref=e520]: michael.nguyen@yahoo.com
|
| 493 |
+
- cell "General" [ref=e521]:
|
| 494 |
+
- generic [ref=e522]: General
|
| 495 |
+
- cell "3125551212" [ref=e1820]:
|
| 496 |
+
- generic [ref=e524]: "3125551212"
|
| 497 |
+
- cell "60606" [ref=e1821]:
|
| 498 |
+
- generic [ref=e526]: "60606"
|
| 499 |
+
- cell "United States" [ref=e527]:
|
| 500 |
+
- generic [ref=e528]: United States
|
| 501 |
+
- cell "Illinois" [ref=e1822]:
|
| 502 |
+
- generic [ref=e530]: Illinois
|
| 503 |
+
- cell "Apr 19, 2023 5:46:27 PM" [ref=e1823]:
|
| 504 |
+
- generic [ref=e532]: Apr 19, 2023 5:46:27 PM
|
| 505 |
+
- row "Maxwell Baker maxwell.baker@yahoo.com General 3125551212 60601 United States Illinois Apr 23, 2023 12:13:01 AM" [ref=e1824]:
|
| 506 |
+
- cell [ref=e534]:
|
| 507 |
+
- checkbox [ref=e536] [cursor=pointer]
|
| 508 |
+
- cell "Maxwell Baker" [ref=e1825]:
|
| 509 |
+
- generic [ref=e539]: Maxwell Baker
|
| 510 |
+
- cell "maxwell.baker@yahoo.com" [ref=e1826]:
|
| 511 |
+
- generic [ref=e541]: maxwell.baker@yahoo.com
|
| 512 |
+
- cell "General" [ref=e542]:
|
| 513 |
+
- generic [ref=e543]: General
|
| 514 |
+
- cell "3125551212" [ref=e1827]:
|
| 515 |
+
- generic [ref=e545]: "3125551212"
|
| 516 |
+
- cell "60601" [ref=e1828]:
|
| 517 |
+
- generic [ref=e547]: "60601"
|
| 518 |
+
- cell "United States" [ref=e548]:
|
| 519 |
+
- generic [ref=e549]: United States
|
| 520 |
+
- cell "Illinois" [ref=e1829]:
|
| 521 |
+
- generic [ref=e551]: Illinois
|
| 522 |
+
- cell "Apr 23, 2023 12:13:01 AM" [ref=e1830]:
|
| 523 |
+
- generic [ref=e553]: Apr 23, 2023 12:13:01 AM
|
| 524 |
+
- row "Matthew Kim matthew.kim@gmail.com General 2015551212 07030 United States New Jersey Apr 23, 2023 12:14:19 AM" [ref=e1831]:
|
| 525 |
+
- cell [ref=e555]:
|
| 526 |
+
- checkbox [ref=e557] [cursor=pointer]
|
| 527 |
+
- cell "Matthew Kim" [ref=e1832]:
|
| 528 |
+
- generic [ref=e560]: Matthew Kim
|
| 529 |
+
- cell "matthew.kim@gmail.com" [ref=e1833]:
|
| 530 |
+
- generic [ref=e562]: matthew.kim@gmail.com
|
| 531 |
+
- cell "General" [ref=e563]:
|
| 532 |
+
- generic [ref=e564]: General
|
| 533 |
+
- cell "2015551212" [ref=e1834]:
|
| 534 |
+
- generic [ref=e566]: "2015551212"
|
| 535 |
+
- cell "07030" [ref=e1835]:
|
| 536 |
+
- generic [ref=e568]: "07030"
|
| 537 |
+
- cell "United States" [ref=e569]:
|
| 538 |
+
- generic [ref=e570]: United States
|
| 539 |
+
- cell "New Jersey" [ref=e1836]:
|
| 540 |
+
- generic [ref=e572]: New Jersey
|
| 541 |
+
- cell "Apr 23, 2023 12:14:19 AM" [ref=e1837]:
|
| 542 |
+
- generic [ref=e574]: Apr 23, 2023 12:14:19 AM
|
| 543 |
+
- row "Matt Baker matt.baker@yahoo.com General 4045551234 30308 United States Georgia Apr 19, 2023 5:45:34 PM" [ref=e1838]:
|
| 544 |
+
- cell [ref=e576]:
|
| 545 |
+
- checkbox [ref=e578] [cursor=pointer]
|
| 546 |
+
- cell "Matt Baker" [ref=e1839]:
|
| 547 |
+
- generic [ref=e581]: Matt Baker
|
| 548 |
+
- cell "matt.baker@yahoo.com" [ref=e1840]:
|
| 549 |
+
- generic [ref=e583]: matt.baker@yahoo.com
|
| 550 |
+
- cell "General" [ref=e584]:
|
| 551 |
+
- generic [ref=e585]: General
|
| 552 |
+
- cell "4045551234" [ref=e1841]:
|
| 553 |
+
- generic [ref=e587]: "4045551234"
|
| 554 |
+
- cell "30308" [ref=e1842]:
|
| 555 |
+
- generic [ref=e589]: "30308"
|
| 556 |
+
- cell "United States" [ref=e590]:
|
| 557 |
+
- generic [ref=e591]: United States
|
| 558 |
+
- cell "Georgia" [ref=e1843]:
|
| 559 |
+
- generic [ref=e593]: Georgia
|
| 560 |
+
- cell "Apr 19, 2023 5:45:34 PM" [ref=e1844]:
|
| 561 |
+
- generic [ref=e595]: Apr 19, 2023 5:45:34 PM
|
| 562 |
+
- row "Mary Martin marym@gmail.com General 3059876543 33139 United States Florida Apr 19, 2023 5:45:17 PM" [ref=e1845]:
|
| 563 |
+
- cell [ref=e597]:
|
| 564 |
+
- checkbox [ref=e599] [cursor=pointer]
|
| 565 |
+
- cell "Mary Martin" [ref=e1846]:
|
| 566 |
+
- generic [ref=e602]: Mary Martin
|
| 567 |
+
- cell "marym@gmail.com" [ref=e1847]:
|
| 568 |
+
- generic [ref=e604]: marym@gmail.com
|
| 569 |
+
- cell "General" [ref=e605]:
|
| 570 |
+
- generic [ref=e606]: General
|
| 571 |
+
- cell "3059876543" [ref=e1848]:
|
| 572 |
+
- generic [ref=e608]: "3059876543"
|
| 573 |
+
- cell "33139" [ref=e1849]:
|
| 574 |
+
- generic [ref=e610]: "33139"
|
| 575 |
+
- cell "United States" [ref=e611]:
|
| 576 |
+
- generic [ref=e612]: United States
|
| 577 |
+
- cell "Florida" [ref=e613]:
|
| 578 |
+
- generic [ref=e614]: Florida
|
| 579 |
+
- cell "Apr 19, 2023 5:45:17 PM" [ref=e1850]:
|
| 580 |
+
- generic [ref=e616]: Apr 19, 2023 5:45:17 PM
|
| 581 |
+
- row "Lucy Garcia artsygal123@hotmail.com General 3035555555 80202 United States Colorado Apr 19, 2023 5:45:54 PM" [ref=e1851]:
|
| 582 |
+
- cell [ref=e618]:
|
| 583 |
+
- checkbox [ref=e620] [cursor=pointer]
|
| 584 |
+
- cell "Lucy Garcia" [ref=e1852]:
|
| 585 |
+
- generic [ref=e623]: Lucy Garcia
|
| 586 |
+
- cell "artsygal123@hotmail.com" [ref=e1853]:
|
| 587 |
+
- generic [ref=e625]: artsygal123@hotmail.com
|
| 588 |
+
- cell "General" [ref=e626]:
|
| 589 |
+
- generic [ref=e627]: General
|
| 590 |
+
- cell "3035555555" [ref=e1854]:
|
| 591 |
+
- generic [ref=e629]: "3035555555"
|
| 592 |
+
- cell "80202" [ref=e1855]:
|
| 593 |
+
- generic [ref=e631]: "80202"
|
| 594 |
+
- cell "United States" [ref=e632]:
|
| 595 |
+
- generic [ref=e633]: United States
|
| 596 |
+
- cell "Colorado" [ref=e1856]:
|
| 597 |
+
- generic [ref=e635]: Colorado
|
| 598 |
+
- cell "Apr 19, 2023 5:45:54 PM" [ref=e1857]:
|
| 599 |
+
- generic [ref=e637]: Apr 19, 2023 5:45:54 PM
|
| 600 |
+
- row "Lisa Kim lisa.kim@gmail.com General 7135557890 77005 United States Texas Apr 19, 2023 5:45:31 PM" [ref=e1858]:
|
| 601 |
+
- cell [ref=e639]:
|
| 602 |
+
- checkbox [ref=e641] [cursor=pointer]
|
| 603 |
+
- cell "Lisa Kim" [ref=e1859]:
|
| 604 |
+
- generic [ref=e644]: Lisa Kim
|
| 605 |
+
- cell "lisa.kim@gmail.com" [ref=e1860]:
|
| 606 |
+
- generic [ref=e646]: lisa.kim@gmail.com
|
| 607 |
+
- cell "General" [ref=e647]:
|
| 608 |
+
- generic [ref=e648]: General
|
| 609 |
+
- cell "7135557890" [ref=e1861]:
|
| 610 |
+
- generic [ref=e650]: "7135557890"
|
| 611 |
+
- cell "77005" [ref=e1862]:
|
| 612 |
+
- generic [ref=e652]: "77005"
|
| 613 |
+
- cell "United States" [ref=e653]:
|
| 614 |
+
- generic [ref=e654]: United States
|
| 615 |
+
- cell "Texas" [ref=e655]:
|
| 616 |
+
- generic [ref=e656]: Texas
|
| 617 |
+
- cell "Apr 19, 2023 5:45:31 PM" [ref=e1863]:
|
| 618 |
+
- generic [ref=e658]: Apr 19, 2023 5:45:31 PM
|
| 619 |
+
- row "Lisa Green lisa.green@hotmail.com General 2145551212 75201 United States Texas Apr 19, 2023 5:46:24 PM" [ref=e1864]:
|
| 620 |
+
- cell [ref=e660]:
|
| 621 |
+
- checkbox [ref=e662] [cursor=pointer]
|
| 622 |
+
- cell "Lisa Green" [ref=e1865]:
|
| 623 |
+
- generic [ref=e665]: Lisa Green
|
| 624 |
+
- cell "lisa.green@hotmail.com" [ref=e1866]:
|
| 625 |
+
- generic [ref=e667]: lisa.green@hotmail.com
|
| 626 |
+
- cell "General" [ref=e668]:
|
| 627 |
+
- generic [ref=e669]: General
|
| 628 |
+
- cell "2145551212" [ref=e1867]:
|
| 629 |
+
- generic [ref=e671]: "2145551212"
|
| 630 |
+
- cell "75201" [ref=e1868]:
|
| 631 |
+
- generic [ref=e673]: "75201"
|
| 632 |
+
- cell "United States" [ref=e674]:
|
| 633 |
+
- generic [ref=e675]: United States
|
| 634 |
+
- cell "Texas" [ref=e1869]:
|
| 635 |
+
- generic [ref=e677]: Texas
|
| 636 |
+
- cell "Apr 19, 2023 5:46:24 PM" [ref=e1870]:
|
| 637 |
+
- generic [ref=e679]: Apr 19, 2023 5:46:24 PM
|
| 638 |
+
- row "Lily Potter harrypotterfan1@gmail.com General 7735555555 60637 United States Illinois Apr 19, 2023 5:45:47 PM" [ref=e1871]:
|
| 639 |
+
- cell [ref=e681]:
|
| 640 |
+
- checkbox [ref=e683] [cursor=pointer]
|
| 641 |
+
- cell "Lily Potter" [ref=e1872]:
|
| 642 |
+
- generic [ref=e686]: Lily Potter
|
| 643 |
+
- cell "harrypotterfan1@gmail.com" [ref=e1873]:
|
| 644 |
+
- generic [ref=e688]: harrypotterfan1@gmail.com
|
| 645 |
+
- cell "General" [ref=e689]:
|
| 646 |
+
- generic [ref=e690]: General
|
| 647 |
+
- cell "7735555555" [ref=e1874]:
|
| 648 |
+
- generic [ref=e692]: "7735555555"
|
| 649 |
+
- cell "60637" [ref=e1875]:
|
| 650 |
+
- generic [ref=e694]: "60637"
|
| 651 |
+
- cell "United States" [ref=e695]:
|
| 652 |
+
- generic [ref=e696]: United States
|
| 653 |
+
- cell "Illinois" [ref=e1876]:
|
| 654 |
+
- generic [ref=e698]: Illinois
|
| 655 |
+
- cell "Apr 19, 2023 5:45:47 PM" [ref=e1877]:
|
| 656 |
+
- generic [ref=e700]: Apr 19, 2023 5:45:47 PM
|
| 657 |
+
- row "Katie Wong katie.wong@hotmail.com General 2065551212 98101 United States Washington Apr 19, 2023 5:46:37 PM" [ref=e1878]:
|
| 658 |
+
- cell [ref=e702]:
|
| 659 |
+
- checkbox [ref=e704] [cursor=pointer]
|
| 660 |
+
- cell "Katie Wong" [ref=e1879]:
|
| 661 |
+
- generic [ref=e707]: Katie Wong
|
| 662 |
+
- cell "katie.wong@hotmail.com" [ref=e1880]:
|
| 663 |
+
- generic [ref=e709]: katie.wong@hotmail.com
|
| 664 |
+
- cell "General" [ref=e710]:
|
| 665 |
+
- generic [ref=e711]: General
|
| 666 |
+
- cell "2065551212" [ref=e1881]:
|
| 667 |
+
- generic [ref=e713]: "2065551212"
|
| 668 |
+
- cell "98101" [ref=e1882]:
|
| 669 |
+
- generic [ref=e715]: "98101"
|
| 670 |
+
- cell "United States" [ref=e716]:
|
| 671 |
+
- generic [ref=e717]: United States
|
| 672 |
+
- cell "Washington" [ref=e1883]:
|
| 673 |
+
- generic [ref=e719]: Washington
|
| 674 |
+
- cell "Apr 19, 2023 5:46:37 PM" [ref=e1884]:
|
| 675 |
+
- generic [ref=e721]: Apr 19, 2023 5:46:37 PM
|
| 676 |
+
- row "Kate Jones kate.jones@gmail.com General 2125551212 10001 United States New York Apr 23, 2023 12:12:51 AM" [ref=e1885]:
|
| 677 |
+
- cell [ref=e723]:
|
| 678 |
+
- checkbox [ref=e725] [cursor=pointer]
|
| 679 |
+
- cell "Kate Jones" [ref=e1886]:
|
| 680 |
+
- generic [ref=e728]: Kate Jones
|
| 681 |
+
- cell "kate.jones@gmail.com" [ref=e1887]:
|
| 682 |
+
- generic [ref=e730]: kate.jones@gmail.com
|
| 683 |
+
- cell "General" [ref=e731]:
|
| 684 |
+
- generic [ref=e732]: General
|
| 685 |
+
- cell "2125551212" [ref=e1888]:
|
| 686 |
+
- generic [ref=e734]: "2125551212"
|
| 687 |
+
- cell "10001" [ref=e1889]:
|
| 688 |
+
- generic [ref=e736]: "10001"
|
| 689 |
+
- cell "United States" [ref=e737]:
|
| 690 |
+
- generic [ref=e738]: United States
|
| 691 |
+
- cell "New York" [ref=e1890]:
|
| 692 |
+
- generic [ref=e740]: New York
|
| 693 |
+
- cell "Apr 23, 2023 12:12:51 AM" [ref=e1891]:
|
| 694 |
+
- generic [ref=e742]: Apr 23, 2023 12:12:51 AM
|
| 695 |
+
- row "Julie Nguyen julie.nguyen@gmail.com General 3105551212 90210 United States California Apr 23, 2023 12:14:15 AM" [ref=e1892]:
|
| 696 |
+
- cell [ref=e744]:
|
| 697 |
+
- checkbox [ref=e746] [cursor=pointer]
|
| 698 |
+
- cell "Julie Nguyen" [ref=e1893]:
|
| 699 |
+
- generic [ref=e749]: Julie Nguyen
|
| 700 |
+
- cell "julie.nguyen@gmail.com" [ref=e1894]:
|
| 701 |
+
- generic [ref=e751]: julie.nguyen@gmail.com
|
| 702 |
+
- cell "General" [ref=e752]:
|
| 703 |
+
- generic [ref=e753]: General
|
| 704 |
+
- cell "3105551212" [ref=e1895]:
|
| 705 |
+
- generic [ref=e755]: "3105551212"
|
| 706 |
+
- cell "90210" [ref=e756]:
|
| 707 |
+
- generic [ref=e757]: "90210"
|
| 708 |
+
- cell "United States" [ref=e758]:
|
| 709 |
+
- generic [ref=e759]: United States
|
| 710 |
+
- cell "California" [ref=e760]:
|
| 711 |
+
- generic [ref=e761]: California
|
| 712 |
+
- cell "Apr 23, 2023 12:14:15 AM" [ref=e1896]:
|
| 713 |
+
- generic [ref=e763]: Apr 23, 2023 12:14:15 AM
|
| 714 |
+
- row "Julia Williams jla_7781@gmail.com General 4567890123 10065 United States New York Apr 19, 2023 5:45:11 PM" [ref=e1897]:
|
| 715 |
+
- cell [ref=e765]:
|
| 716 |
+
- checkbox [ref=e767] [cursor=pointer]
|
| 717 |
+
- cell "Julia Williams" [ref=e1898]:
|
| 718 |
+
- generic [ref=e770]: Julia Williams
|
| 719 |
+
- cell "jla_7781@gmail.com" [ref=e1899]:
|
| 720 |
+
- generic [ref=e772]: jla_7781@gmail.com
|
| 721 |
+
- cell "General" [ref=e773]:
|
| 722 |
+
- generic [ref=e774]: General
|
| 723 |
+
- cell "4567890123" [ref=e1900]:
|
| 724 |
+
- generic [ref=e776]: "4567890123"
|
| 725 |
+
- cell "10065" [ref=e1901]:
|
| 726 |
+
- generic [ref=e778]: "10065"
|
| 727 |
+
- cell "United States" [ref=e779]:
|
| 728 |
+
- generic [ref=e780]: United States
|
| 729 |
+
- cell "New York" [ref=e1902]:
|
| 730 |
+
- generic [ref=e782]: New York
|
| 731 |
+
- cell "Apr 19, 2023 5:45:11 PM" [ref=e1903]:
|
| 732 |
+
- generic [ref=e784]: Apr 19, 2023 5:45:11 PM
|
| 733 |
+
- row "John Smith john.smith.xyz@gmail.com General 2058812302 35213 United States Alabama Apr 19, 2023 5:44:57 PM" [ref=e1904]:
|
| 734 |
+
- cell [ref=e786]:
|
| 735 |
+
- checkbox [ref=e788] [cursor=pointer]
|
| 736 |
+
- cell "John Smith" [ref=e1905]:
|
| 737 |
+
- generic [ref=e791]: John Smith
|
| 738 |
+
- cell "john.smith.xyz@gmail.com" [ref=e1906]:
|
| 739 |
+
- generic [ref=e793]: john.smith.xyz@gmail.com
|
| 740 |
+
- cell "General" [ref=e794]:
|
| 741 |
+
- generic [ref=e795]: General
|
| 742 |
+
- cell "2058812302" [ref=e1907]:
|
| 743 |
+
- generic [ref=e797]: "2058812302"
|
| 744 |
+
- cell "35213" [ref=e1908]:
|
| 745 |
+
- generic [ref=e799]: "35213"
|
| 746 |
+
- cell "United States" [ref=e800]:
|
| 747 |
+
- generic [ref=e801]: United States
|
| 748 |
+
- cell "Alabama" [ref=e1909]:
|
| 749 |
+
- generic [ref=e803]: Alabama
|
| 750 |
+
- cell "Apr 19, 2023 5:44:57 PM" [ref=e1910]:
|
| 751 |
+
- generic [ref=e805]: Apr 19, 2023 5:44:57 PM
|
| 752 |
+
- row "John Smith john.smith@yahoo.com General 2145551212 75201 United States Texas Apr 23, 2023 12:13:22 AM" [ref=e1911]:
|
| 753 |
+
- cell [ref=e807]:
|
| 754 |
+
- checkbox [ref=e809] [cursor=pointer]
|
| 755 |
+
- cell "John Smith" [ref=e1912]:
|
| 756 |
+
- generic [ref=e812]: John Smith
|
| 757 |
+
- cell "john.smith@yahoo.com" [ref=e1913]:
|
| 758 |
+
- generic [ref=e814]: john.smith@yahoo.com
|
| 759 |
+
- cell "General" [ref=e815]:
|
| 760 |
+
- generic [ref=e816]: General
|
| 761 |
+
- cell "2145551212" [ref=e1914]:
|
| 762 |
+
- generic [ref=e818]: "2145551212"
|
| 763 |
+
- cell "75201" [ref=e1915]:
|
| 764 |
+
- generic [ref=e820]: "75201"
|
| 765 |
+
- cell "United States" [ref=e821]:
|
| 766 |
+
- generic [ref=e822]: United States
|
| 767 |
+
- cell "Texas" [ref=e1916]:
|
| 768 |
+
- generic [ref=e824]: Texas
|
| 769 |
+
- cell "Apr 23, 2023 12:13:22 AM" [ref=e1917]:
|
| 770 |
+
- generic [ref=e826]: Apr 23, 2023 12:13:22 AM
|
| 771 |
+
- row "John Lee john.lee@yahoo.com General 3125556789 60611 United States Illinois Apr 19, 2023 5:45:21 PM" [ref=e1918]:
|
| 772 |
+
- cell [ref=e828]:
|
| 773 |
+
- checkbox [ref=e830] [cursor=pointer]
|
| 774 |
+
- cell "John Lee" [ref=e1919]:
|
| 775 |
+
- generic [ref=e833]: John Lee
|
| 776 |
+
- cell "john.lee@yahoo.com" [ref=e1920]:
|
| 777 |
+
- generic [ref=e835]: john.lee@yahoo.com
|
| 778 |
+
- cell "General" [ref=e836]:
|
| 779 |
+
- generic [ref=e837]: General
|
| 780 |
+
- cell "3125556789" [ref=e1921]:
|
| 781 |
+
- generic [ref=e839]: "3125556789"
|
| 782 |
+
- cell "60611" [ref=e1922]:
|
| 783 |
+
- generic [ref=e841]: "60611"
|
| 784 |
+
- cell "United States" [ref=e842]:
|
| 785 |
+
- generic [ref=e843]: United States
|
| 786 |
+
- cell "Illinois" [ref=e1923]:
|
| 787 |
+
- generic [ref=e845]: Illinois
|
| 788 |
+
- cell "Apr 19, 2023 5:45:21 PM" [ref=e1924]:
|
| 789 |
+
- generic [ref=e847]: Apr 19, 2023 5:45:21 PM
|
| 790 |
+
- row "John Doe johndoe123@gmail.com General 2125551212 10001 United States New York Apr 19, 2023 5:45:37 PM" [ref=e1925]:
|
| 791 |
+
- cell [ref=e849]:
|
| 792 |
+
- checkbox [ref=e851] [cursor=pointer]
|
| 793 |
+
- cell "John Doe" [ref=e1926]:
|
| 794 |
+
- generic [ref=e854]: John Doe
|
| 795 |
+
- cell "johndoe123@gmail.com" [ref=e1927]:
|
| 796 |
+
- generic [ref=e856]: johndoe123@gmail.com
|
| 797 |
+
- cell "General" [ref=e857]:
|
| 798 |
+
- generic [ref=e858]: General
|
| 799 |
+
- cell "2125551212" [ref=e1928]:
|
| 800 |
+
- generic [ref=e860]: "2125551212"
|
| 801 |
+
- cell "10001" [ref=e1929]:
|
| 802 |
+
- generic [ref=e862]: "10001"
|
| 803 |
+
- cell "United States" [ref=e863]:
|
| 804 |
+
- generic [ref=e864]: United States
|
| 805 |
+
- cell "New York" [ref=e1930]:
|
| 806 |
+
- generic [ref=e866]: New York
|
| 807 |
+
- cell "Apr 19, 2023 5:45:37 PM" [ref=e1931]:
|
| 808 |
+
- generic [ref=e868]: Apr 19, 2023 5:45:37 PM
|
| 809 |
+
- row "Jessica Wong jessica.wong@gmail.com General 3125551212 60601 United States Illinois Apr 23, 2023 12:13:48 AM" [ref=e1932]:
|
| 810 |
+
- cell [ref=e870]:
|
| 811 |
+
- checkbox [ref=e872] [cursor=pointer]
|
| 812 |
+
- cell "Jessica Wong" [ref=e1933]:
|
| 813 |
+
- generic [ref=e875]: Jessica Wong
|
| 814 |
+
- cell "jessica.wong@gmail.com" [ref=e1934]:
|
| 815 |
+
- generic [ref=e877]: jessica.wong@gmail.com
|
| 816 |
+
- cell "General" [ref=e878]:
|
| 817 |
+
- generic [ref=e879]: General
|
| 818 |
+
- cell "3125551212" [ref=e1935]:
|
| 819 |
+
- generic [ref=e881]: "3125551212"
|
| 820 |
+
- cell "60601" [ref=e1936]:
|
| 821 |
+
- generic [ref=e883]: "60601"
|
| 822 |
+
- cell "United States" [ref=e884]:
|
| 823 |
+
- generic [ref=e885]: United States
|
| 824 |
+
- cell "Illinois" [ref=e1937]:
|
| 825 |
+
- generic [ref=e887]: Illinois
|
| 826 |
+
- cell "Apr 23, 2023 12:13:48 AM" [ref=e1938]:
|
| 827 |
+
- generic [ref=e889]: Apr 23, 2023 12:13:48 AM
|
| 828 |
+
- row "Jessica Nguyen jessica.nguyen@gmail.com General 2065551212 98101 United States Washington Apr 23, 2023 12:12:58 AM" [ref=e1939]:
|
| 829 |
+
- cell [ref=e891]:
|
| 830 |
+
- checkbox [ref=e893] [cursor=pointer]
|
| 831 |
+
- cell "Jessica Nguyen" [ref=e1940]:
|
| 832 |
+
- generic [ref=e896]: Jessica Nguyen
|
| 833 |
+
- cell "jessica.nguyen@gmail.com" [ref=e1941]:
|
| 834 |
+
- generic [ref=e898]: jessica.nguyen@gmail.com
|
| 835 |
+
- cell "General" [ref=e899]:
|
| 836 |
+
- generic [ref=e900]: General
|
| 837 |
+
- cell "2065551212" [ref=e1942]:
|
| 838 |
+
- generic [ref=e902]: "2065551212"
|
| 839 |
+
- cell "98101" [ref=e1943]:
|
| 840 |
+
- generic [ref=e904]: "98101"
|
| 841 |
+
- cell "United States" [ref=e905]:
|
| 842 |
+
- generic [ref=e906]: United States
|
| 843 |
+
- cell "Washington" [ref=e1944]:
|
| 844 |
+
- generic [ref=e908]: Washington
|
| 845 |
+
- cell "Apr 23, 2023 12:12:58 AM" [ref=e1945]:
|
| 846 |
+
- generic [ref=e910]: Apr 23, 2023 12:12:58 AM
|
| 847 |
+
- row "Jessica Chang jessica.chang@hotmail.com General 2065551212 98101 United States Washington Apr 23, 2023 12:13:26 AM" [ref=e1946]:
|
| 848 |
+
- cell [ref=e912]:
|
| 849 |
+
- checkbox [ref=e914] [cursor=pointer]
|
| 850 |
+
- cell "Jessica Chang" [ref=e1947]:
|
| 851 |
+
- generic [ref=e917]: Jessica Chang
|
| 852 |
+
- cell "jessica.chang@hotmail.com" [ref=e1948]:
|
| 853 |
+
- generic [ref=e919]: jessica.chang@hotmail.com
|
| 854 |
+
- cell "General" [ref=e920]:
|
| 855 |
+
- generic [ref=e921]: General
|
| 856 |
+
- cell "2065551212" [ref=e1949]:
|
| 857 |
+
- generic [ref=e923]: "2065551212"
|
| 858 |
+
- cell "98101" [ref=e1950]:
|
| 859 |
+
- generic [ref=e925]: "98101"
|
| 860 |
+
- cell "United States" [ref=e926]:
|
| 861 |
+
- generic [ref=e927]: United States
|
| 862 |
+
- cell "Washington" [ref=e1951]:
|
| 863 |
+
- generic [ref=e929]: Washington
|
| 864 |
+
- cell "Apr 23, 2023 12:13:26 AM" [ref=e1952]:
|
| 865 |
+
- generic [ref=e931]: Apr 23, 2023 12:13:26 AM
|
| 866 |
+
- row "Jennifer White jennifer.white@yahoo.com General 2137418080 90015 United States California Apr 19, 2023 5:46:17 PM" [ref=e1953]:
|
| 867 |
+
- cell [ref=e933]:
|
| 868 |
+
- checkbox [ref=e935] [cursor=pointer]
|
| 869 |
+
- cell "Jennifer White" [ref=e1954]:
|
| 870 |
+
- generic [ref=e938]: Jennifer White
|
| 871 |
+
- cell "jennifer.white@yahoo.com" [ref=e1955]:
|
| 872 |
+
- generic [ref=e940]: jennifer.white@yahoo.com
|
| 873 |
+
- cell "General" [ref=e941]:
|
| 874 |
+
- generic [ref=e942]: General
|
| 875 |
+
- cell "2137418080" [ref=e1956]:
|
| 876 |
+
- generic [ref=e944]: "2137418080"
|
| 877 |
+
- cell "90015" [ref=e1957]:
|
| 878 |
+
- generic [ref=e946]: "90015"
|
| 879 |
+
- cell "United States" [ref=e947]:
|
| 880 |
+
- generic [ref=e948]: United States
|
| 881 |
+
- cell "California" [ref=e1958]:
|
| 882 |
+
- generic [ref=e950]: California
|
| 883 |
+
- cell "Apr 19, 2023 5:46:17 PM" [ref=e1959]:
|
| 884 |
+
- generic [ref=e952]: Apr 19, 2023 5:46:17 PM
|
| 885 |
+
- row "Jason Miller jason.miller@yahoo.com General 3035551212 80202 United States Colorado Apr 19, 2023 5:46:34 PM" [ref=e1960]:
|
| 886 |
+
- cell [ref=e954]:
|
| 887 |
+
- checkbox [ref=e956] [cursor=pointer]
|
| 888 |
+
- cell "Jason Miller" [ref=e1961]:
|
| 889 |
+
- generic [ref=e959]: Jason Miller
|
| 890 |
+
- cell "jason.miller@yahoo.com" [ref=e1962]:
|
| 891 |
+
- generic [ref=e961]: jason.miller@yahoo.com
|
| 892 |
+
- cell "General" [ref=e962]:
|
| 893 |
+
- generic [ref=e963]: General
|
| 894 |
+
- cell "3035551212" [ref=e1963]:
|
| 895 |
+
- generic [ref=e965]: "3035551212"
|
| 896 |
+
- cell "80202" [ref=e1964]:
|
| 897 |
+
- generic [ref=e967]: "80202"
|
| 898 |
+
- cell "United States" [ref=e968]:
|
| 899 |
+
- generic [ref=e969]: United States
|
| 900 |
+
- cell "Colorado" [ref=e1965]:
|
| 901 |
+
- generic [ref=e971]: Colorado
|
| 902 |
+
- cell "Apr 19, 2023 5:46:34 PM" [ref=e1966]:
|
| 903 |
+
- generic [ref=e973]: Apr 19, 2023 5:46:34 PM
|
| 904 |
+
- row "Jane Smith janesmith@gmail.com General 2065554321 98122 United States Washington Apr 19, 2023 5:45:24 PM" [ref=e1967]:
|
| 905 |
+
- cell [ref=e975]:
|
| 906 |
+
- checkbox [ref=e977] [cursor=pointer]
|
| 907 |
+
- cell "Jane Smith" [ref=e1968]:
|
| 908 |
+
- generic [ref=e980]: Jane Smith
|
| 909 |
+
- cell "janesmith@gmail.com" [ref=e1969]:
|
| 910 |
+
- generic [ref=e982]: janesmith@gmail.com
|
| 911 |
+
- cell "General" [ref=e983]:
|
| 912 |
+
- generic [ref=e984]: General
|
| 913 |
+
- cell "2065554321" [ref=e1970]:
|
| 914 |
+
- generic [ref=e986]: "2065554321"
|
| 915 |
+
- cell "98122" [ref=e1971]:
|
| 916 |
+
- generic [ref=e988]: "98122"
|
| 917 |
+
- cell "United States" [ref=e989]:
|
| 918 |
+
- generic [ref=e990]: United States
|
| 919 |
+
- cell "Washington" [ref=e1972]:
|
| 920 |
+
- generic [ref=e992]: Washington
|
| 921 |
+
- cell "Apr 19, 2023 5:45:24 PM" [ref=e1973]:
|
| 922 |
+
- generic [ref=e994]: Apr 19, 2023 5:45:24 PM
|
| 923 |
+
- row "Jane Smith janesmith456@yahoo.com General 3105555555 90210 United States California Apr 19, 2023 5:45:41 PM" [ref=e1974]:
|
| 924 |
+
- cell [ref=e996]:
|
| 925 |
+
- checkbox [ref=e998] [cursor=pointer]
|
| 926 |
+
- cell "Jane Smith" [ref=e1975]:
|
| 927 |
+
- generic [ref=e1001]: Jane Smith
|
| 928 |
+
- cell "janesmith456@yahoo.com" [ref=e1976]:
|
| 929 |
+
- generic [ref=e1003]: janesmith456@yahoo.com
|
| 930 |
+
- cell "General" [ref=e1004]:
|
| 931 |
+
- generic [ref=e1005]: General
|
| 932 |
+
- cell "3105555555" [ref=e1977]:
|
| 933 |
+
- generic [ref=e1007]: "3105555555"
|
| 934 |
+
- cell "90210" [ref=e1978]:
|
| 935 |
+
- generic [ref=e1009]: "90210"
|
| 936 |
+
- cell "United States" [ref=e1010]:
|
| 937 |
+
- generic [ref=e1011]: United States
|
| 938 |
+
- cell "California" [ref=e1979]:
|
| 939 |
+
- generic [ref=e1013]: California
|
| 940 |
+
- cell "Apr 19, 2023 5:45:41 PM" [ref=e1980]:
|
| 941 |
+
- generic [ref=e1015]: Apr 19, 2023 5:45:41 PM
|
| 942 |
+
- row " Jane Doe jane.doe@hotmail.com General 4123671901 33139 United States Florida Apr 19, 2023 5:45:01 PM" [ref=e1981]:
|
| 943 |
+
- cell "" [ref=e1982]:
|
| 944 |
+
- generic [ref=e1018]:
|
| 945 |
+
- checkbox "" [checked] [ref=e1983] [cursor=pointer]
|
| 946 |
+
- generic [ref=e1020] [cursor=pointer]:
|
| 947 |
+
- cell "Jane Doe" [ref=e1984]:
|
| 948 |
+
- generic [ref=e1022]: Jane Doe
|
| 949 |
+
- cell "jane.doe@hotmail.com" [ref=e1985]:
|
| 950 |
+
- generic [ref=e1024]: jane.doe@hotmail.com
|
| 951 |
+
- cell "General" [ref=e1025]:
|
| 952 |
+
- generic [ref=e1026]: General
|
| 953 |
+
- cell "4123671901" [ref=e1986]:
|
| 954 |
+
- generic [ref=e1028]: "4123671901"
|
| 955 |
+
- cell "33139" [ref=e1987]:
|
| 956 |
+
- generic [ref=e1030]: "33139"
|
| 957 |
+
- cell "United States" [ref=e1031]:
|
| 958 |
+
- generic [ref=e1032]: United States
|
| 959 |
+
- cell "Florida" [ref=e1988]:
|
| 960 |
+
- generic [ref=e1034]: Florida
|
| 961 |
+
- cell "Apr 19, 2023 5:45:01 PM" [ref=e1989]:
|
| 962 |
+
- generic [ref=e1036]: Apr 19, 2023 5:45:01 PM
|
| 963 |
+
- row "Jane Doe jane.doe@gmail.com General 2125551212 10001 United States New York Apr 23, 2023 12:13:19 AM" [ref=e1990]:
|
| 964 |
+
- cell [ref=e1038]:
|
| 965 |
+
- checkbox [ref=e1040] [cursor=pointer]
|
| 966 |
+
- cell "Jane Doe" [ref=e1991]:
|
| 967 |
+
- generic [ref=e1043]: Jane Doe
|
| 968 |
+
- cell "jane.doe@gmail.com" [ref=e1992]:
|
| 969 |
+
- generic [ref=e1045]: jane.doe@gmail.com
|
| 970 |
+
- cell "General" [ref=e1046]:
|
| 971 |
+
- generic [ref=e1047]: General
|
| 972 |
+
- cell "2125551212" [ref=e1993]:
|
| 973 |
+
- generic [ref=e1049]: "2125551212"
|
| 974 |
+
- cell "10001" [ref=e1994]:
|
| 975 |
+
- generic [ref=e1051]: "10001"
|
| 976 |
+
- cell "United States" [ref=e1052]:
|
| 977 |
+
- generic [ref=e1053]: United States
|
| 978 |
+
- cell "New York" [ref=e1995]:
|
| 979 |
+
- generic [ref=e1055]: New York
|
| 980 |
+
- cell "Apr 23, 2023 12:13:19 AM" [ref=e1996]:
|
| 981 |
+
- generic [ref=e1057]: Apr 23, 2023 12:13:19 AM
|
| 982 |
+
- row "James Kim james.kim@gmail.com General 3125551212 60601 United States Illinois Apr 23, 2023 12:13:29 AM" [ref=e1997]:
|
| 983 |
+
- cell [ref=e1059]:
|
| 984 |
+
- checkbox [ref=e1061] [cursor=pointer]
|
| 985 |
+
- cell "James Kim" [ref=e1998]:
|
| 986 |
+
- generic [ref=e1064]: James Kim
|
| 987 |
+
- cell "james.kim@gmail.com" [ref=e1999]:
|
| 988 |
+
- generic [ref=e1066]: james.kim@gmail.com
|
| 989 |
+
- cell "General" [ref=e1067]:
|
| 990 |
+
- generic [ref=e1068]: General
|
| 991 |
+
- cell "3125551212" [ref=e2000]:
|
| 992 |
+
- generic [ref=e1070]: "3125551212"
|
| 993 |
+
- cell "60601" [ref=e2001]:
|
| 994 |
+
- generic [ref=e1072]: "60601"
|
| 995 |
+
- cell "United States" [ref=e1073]:
|
| 996 |
+
- generic [ref=e1074]: United States
|
| 997 |
+
- cell "Illinois" [ref=e2002]:
|
| 998 |
+
- generic [ref=e1076]: Illinois
|
| 999 |
+
- cell "Apr 23, 2023 12:13:29 AM" [ref=e2003]:
|
| 1000 |
+
- generic [ref=e1078]: Apr 23, 2023 12:13:29 AM
|
| 1001 |
+
- row "James Baker james.baker@gmail.com General 2145551212 75201 United States Texas Apr 23, 2023 12:14:28 AM" [ref=e2004]:
|
| 1002 |
+
- cell [ref=e1080]:
|
| 1003 |
+
- checkbox [ref=e1082] [cursor=pointer]
|
| 1004 |
+
- cell "James Baker" [ref=e2005]:
|
| 1005 |
+
- generic [ref=e1085]: James Baker
|
| 1006 |
+
- cell "james.baker@gmail.com" [ref=e2006]:
|
| 1007 |
+
- generic [ref=e1087]: james.baker@gmail.com
|
| 1008 |
+
- cell "General" [ref=e1088]:
|
| 1009 |
+
- generic [ref=e1089]: General
|
| 1010 |
+
- cell "2145551212" [ref=e2007]:
|
| 1011 |
+
- generic [ref=e1091]: "2145551212"
|
| 1012 |
+
- cell "75201" [ref=e2008]:
|
| 1013 |
+
- generic [ref=e1093]: "75201"
|
| 1014 |
+
- cell "United States" [ref=e1094]:
|
| 1015 |
+
- generic [ref=e1095]: United States
|
| 1016 |
+
- cell "Texas" [ref=e1096]:
|
| 1017 |
+
- generic [ref=e1097]: Texas
|
| 1018 |
+
- cell "Apr 23, 2023 12:14:28 AM" [ref=e2009]:
|
| 1019 |
+
- generic [ref=e1099]: Apr 23, 2023 12:14:28 AM
|
| 1020 |
+
- row "Jacob Rivera jacob.rivera@hotmail.com General 6025551212 85004 United States Arizona Apr 23, 2023 12:14:01 AM" [ref=e2010]:
|
| 1021 |
+
- cell [ref=e1101]:
|
| 1022 |
+
- checkbox [ref=e1103] [cursor=pointer]
|
| 1023 |
+
- cell "Jacob Rivera" [ref=e2011]:
|
| 1024 |
+
- generic [ref=e1106]: Jacob Rivera
|
| 1025 |
+
- cell "jacob.rivera@hotmail.com" [ref=e2012]:
|
| 1026 |
+
- generic [ref=e1108]: jacob.rivera@hotmail.com
|
| 1027 |
+
- cell "General" [ref=e1109]:
|
| 1028 |
+
- generic [ref=e1110]: General
|
| 1029 |
+
- cell "6025551212" [ref=e2013]:
|
| 1030 |
+
- generic [ref=e1112]: "6025551212"
|
| 1031 |
+
- cell "85004" [ref=e2014]:
|
| 1032 |
+
- generic [ref=e1114]: "85004"
|
| 1033 |
+
- cell "United States" [ref=e1115]:
|
| 1034 |
+
- generic [ref=e1116]: United States
|
| 1035 |
+
- cell "Arizona" [ref=e2015]:
|
| 1036 |
+
- generic [ref=e1118]: Arizona
|
| 1037 |
+
- cell "Apr 23, 2023 12:14:01 AM" [ref=e2016]:
|
| 1038 |
+
- generic [ref=e1120]: Apr 23, 2023 12:14:01 AM
|
| 1039 |
+
- row "Isabella Santos isabella.santos@gmail.com General 3055551212 33130 United States Florida Apr 23, 2023 12:14:32 AM" [ref=e2017]:
|
| 1040 |
+
- cell [ref=e1122]:
|
| 1041 |
+
- checkbox [ref=e1124] [cursor=pointer]
|
| 1042 |
+
- cell "Isabella Santos" [ref=e2018]:
|
| 1043 |
+
- generic [ref=e1127]: Isabella Santos
|
| 1044 |
+
- cell "isabella.santos@gmail.com" [ref=e2019]:
|
| 1045 |
+
- generic [ref=e1129]: isabella.santos@gmail.com
|
| 1046 |
+
- cell "General" [ref=e1130]:
|
| 1047 |
+
- generic [ref=e1131]: General
|
| 1048 |
+
- cell "3055551212" [ref=e2020]:
|
| 1049 |
+
- generic [ref=e1133]: "3055551212"
|
| 1050 |
+
- cell "33130" [ref=e2021]:
|
| 1051 |
+
- generic [ref=e1135]: "33130"
|
| 1052 |
+
- cell "United States" [ref=e1136]:
|
| 1053 |
+
- generic [ref=e1137]: United States
|
| 1054 |
+
- cell "Florida" [ref=e1138]:
|
| 1055 |
+
- generic [ref=e1139]: Florida
|
| 1056 |
+
- cell "Apr 23, 2023 12:14:32 AM" [ref=e2022]:
|
| 1057 |
+
- generic [ref=e1141]: Apr 23, 2023 12:14:32 AM
|
| 1058 |
+
- row "Isaac Rodriguez isaac.rodriguez@gmail.com General 6025551212 85004 United States Arizona Apr 23, 2023 12:14:45 AM" [ref=e2023]:
|
| 1059 |
+
- cell [ref=e1143]:
|
| 1060 |
+
- checkbox [ref=e1145] [cursor=pointer]
|
| 1061 |
+
- cell "Isaac Rodriguez" [ref=e2024]:
|
| 1062 |
+
- generic [ref=e1148]: Isaac Rodriguez
|
| 1063 |
+
- cell "isaac.rodriguez@gmail.com" [ref=e2025]:
|
| 1064 |
+
- generic [ref=e1150]: isaac.rodriguez@gmail.com
|
| 1065 |
+
- cell "General" [ref=e1151]:
|
| 1066 |
+
- generic [ref=e1152]: General
|
| 1067 |
+
- cell "6025551212" [ref=e2026]:
|
| 1068 |
+
- generic [ref=e1154]: "6025551212"
|
| 1069 |
+
- cell "85004" [ref=e2027]:
|
| 1070 |
+
- generic [ref=e1156]: "85004"
|
| 1071 |
+
- cell "United States" [ref=e1157]:
|
| 1072 |
+
- generic [ref=e1158]: United States
|
| 1073 |
+
- cell "Arizona" [ref=e2028]:
|
| 1074 |
+
- generic [ref=e1160]: Arizona
|
| 1075 |
+
- cell "Apr 23, 2023 12:14:45 AM" [ref=e2029]:
|
| 1076 |
+
- generic [ref=e1162]: Apr 23, 2023 12:14:45 AM
|
| 1077 |
+
- row "Hannah Lim hannah.lim@gmail.com General 7035551212 22030 United States Virginia Apr 23, 2023 12:14:40 AM" [ref=e2030]:
|
| 1078 |
+
- cell [ref=e1164]:
|
| 1079 |
+
- checkbox [ref=e1166] [cursor=pointer]
|
| 1080 |
+
- cell "Hannah Lim" [ref=e2031]:
|
| 1081 |
+
- generic [ref=e1169]: Hannah Lim
|
| 1082 |
+
- cell "hannah.lim@gmail.com" [ref=e2032]:
|
| 1083 |
+
- generic [ref=e1171]: hannah.lim@gmail.com
|
| 1084 |
+
- cell "General" [ref=e1172]:
|
| 1085 |
+
- generic [ref=e1173]: General
|
| 1086 |
+
- cell "7035551212" [ref=e2033]:
|
| 1087 |
+
- generic [ref=e1175]: "7035551212"
|
| 1088 |
+
- cell "22030" [ref=e2034]:
|
| 1089 |
+
- generic [ref=e1177]: "22030"
|
| 1090 |
+
- cell "United States" [ref=e1178]:
|
| 1091 |
+
- generic [ref=e1179]: United States
|
| 1092 |
+
- cell "Virginia" [ref=e2035]:
|
| 1093 |
+
- generic [ref=e1181]: Virginia
|
| 1094 |
+
- cell "Apr 23, 2023 12:14:40 AM" [ref=e2036]:
|
| 1095 |
+
- generic [ref=e1183]: Apr 23, 2023 12:14:40 AM
|
| 1096 |
+
- row "Grace Nguyen avidreader99@yahoo.com General 6175555555 02138 United States Massachusetts Apr 19, 2023 5:45:51 PM" [ref=e2037]:
|
| 1097 |
+
- cell [ref=e1185]:
|
| 1098 |
+
- checkbox [ref=e1187] [cursor=pointer]
|
| 1099 |
+
- cell "Grace Nguyen" [ref=e2038]:
|
| 1100 |
+
- generic [ref=e1190]: Grace Nguyen
|
| 1101 |
+
- cell "avidreader99@yahoo.com" [ref=e2039]:
|
| 1102 |
+
- generic [ref=e1192]: avidreader99@yahoo.com
|
| 1103 |
+
- cell "General" [ref=e1193]:
|
| 1104 |
+
- generic [ref=e1194]: General
|
| 1105 |
+
- cell "6175555555" [ref=e2040]:
|
| 1106 |
+
- generic [ref=e1196]: "6175555555"
|
| 1107 |
+
- cell "02138" [ref=e2041]:
|
| 1108 |
+
- generic [ref=e1198]: "02138"
|
| 1109 |
+
- cell "United States" [ref=e1199]:
|
| 1110 |
+
- generic [ref=e1200]: United States
|
| 1111 |
+
- cell "Massachusetts" [ref=e2042]:
|
| 1112 |
+
- generic [ref=e1202]: Massachusetts
|
| 1113 |
+
- cell "Apr 19, 2023 5:45:51 PM" [ref=e2043]:
|
| 1114 |
+
- generic [ref=e1204]: Apr 19, 2023 5:45:51 PM
|
| 1115 |
+
- row "Ethan Garcia ethan.garcia@yahoo.com General 2145551212 75201 United States Texas Apr 23, 2023 12:13:53 AM" [ref=e2044]:
|
| 1116 |
+
- cell [ref=e1206]:
|
| 1117 |
+
- checkbox [ref=e1208] [cursor=pointer]
|
| 1118 |
+
- cell "Ethan Garcia" [ref=e2045]:
|
| 1119 |
+
- generic [ref=e1211]: Ethan Garcia
|
| 1120 |
+
- cell "ethan.garcia@yahoo.com" [ref=e2046]:
|
| 1121 |
+
- generic [ref=e1213]: ethan.garcia@yahoo.com
|
| 1122 |
+
- cell "General" [ref=e1214]:
|
| 1123 |
+
- generic [ref=e1215]: General
|
| 1124 |
+
- cell "2145551212" [ref=e2047]:
|
| 1125 |
+
- generic [ref=e1217]: "2145551212"
|
| 1126 |
+
- cell "75201" [ref=e2048]:
|
| 1127 |
+
- generic [ref=e1219]: "75201"
|
| 1128 |
+
- cell "United States" [ref=e1220]:
|
| 1129 |
+
- generic [ref=e1221]: United States
|
| 1130 |
+
- cell "Texas" [ref=e2049]:
|
| 1131 |
+
- generic [ref=e1223]: Texas
|
| 1132 |
+
- cell "Apr 23, 2023 12:13:53 AM" [ref=e2050]:
|
| 1133 |
+
- generic [ref=e1225]: Apr 23, 2023 12:13:53 AM
|
| 1134 |
+
- row "Emma Lopez emma.lopez@gmail.com General 6505551212 94010 United States California Apr 23, 2023 12:14:57 AM" [ref=e2051]:
|
| 1135 |
+
- cell [ref=e1227]:
|
| 1136 |
+
- checkbox [ref=e1229] [cursor=pointer]
|
| 1137 |
+
- cell "Emma Lopez" [ref=e2052]:
|
| 1138 |
+
- generic [ref=e1232]: Emma Lopez
|
| 1139 |
+
- cell "emma.lopez@gmail.com" [ref=e2053]:
|
| 1140 |
+
- generic [ref=e1234]: emma.lopez@gmail.com
|
| 1141 |
+
- cell "General" [ref=e1235]:
|
| 1142 |
+
- generic [ref=e1236]: General
|
| 1143 |
+
- cell "6505551212" [ref=e2054]:
|
| 1144 |
+
- generic [ref=e1238]: "6505551212"
|
| 1145 |
+
- cell "94010" [ref=e2055]:
|
| 1146 |
+
- generic [ref=e1240]: "94010"
|
| 1147 |
+
- cell "United States" [ref=e1241]:
|
| 1148 |
+
- generic [ref=e1242]: United States
|
| 1149 |
+
- cell "California" [ref=e2056]:
|
| 1150 |
+
- generic [ref=e1244]: California
|
| 1151 |
+
- cell "Apr 23, 2023 12:14:57 AM" [ref=e2057]:
|
| 1152 |
+
- generic [ref=e1246]: Apr 23, 2023 12:14:57 AM
|
| 1153 |
+
- row "Emma Davis musiclover99@hotmail.com General 5125555555 78701 United States Texas Apr 19, 2023 5:46:10 PM" [ref=e2058]:
|
| 1154 |
+
- cell [ref=e1248]:
|
| 1155 |
+
- checkbox [ref=e1250] [cursor=pointer]
|
| 1156 |
+
- cell "Emma Davis" [ref=e2059]:
|
| 1157 |
+
- generic [ref=e1253]: Emma Davis
|
| 1158 |
+
- cell "musiclover99@hotmail.com" [ref=e2060]:
|
| 1159 |
+
- generic [ref=e1255]: musiclover99@hotmail.com
|
| 1160 |
+
- cell "General" [ref=e1256]:
|
| 1161 |
+
- generic [ref=e1257]: General
|
| 1162 |
+
- cell "5125555555" [ref=e2061]:
|
| 1163 |
+
- generic [ref=e1259]: "5125555555"
|
| 1164 |
+
- cell "78701" [ref=e2062]:
|
| 1165 |
+
- generic [ref=e1261]: "78701"
|
| 1166 |
+
- cell "United States" [ref=e1262]:
|
| 1167 |
+
- generic [ref=e1263]: United States
|
| 1168 |
+
- cell "Texas" [ref=e2063]:
|
| 1169 |
+
- generic [ref=e1265]: Texas
|
| 1170 |
+
- cell "Apr 19, 2023 5:46:10 PM" [ref=e2064]:
|
| 1171 |
+
- generic [ref=e1267]: Apr 19, 2023 5:46:10 PM
|
| 1172 |
+
- row "Emily Wilson emily.wilson@gmail.com General 3125551212 60611 United States Illinois Apr 23, 2023 12:14:24 AM" [ref=e2065]:
|
| 1173 |
+
- cell [ref=e1269]:
|
| 1174 |
+
- checkbox [ref=e1271] [cursor=pointer]
|
| 1175 |
+
- cell "Emily Wilson" [ref=e2066]:
|
| 1176 |
+
- generic [ref=e1274]: Emily Wilson
|
| 1177 |
+
- cell "emily.wilson@gmail.com" [ref=e2067]:
|
| 1178 |
+
- generic [ref=e1276]: emily.wilson@gmail.com
|
| 1179 |
+
- cell "General" [ref=e1277]:
|
| 1180 |
+
- generic [ref=e1278]: General
|
| 1181 |
+
- cell "3125551212" [ref=e2068]:
|
| 1182 |
+
- generic [ref=e1280]: "3125551212"
|
| 1183 |
+
- cell "60611" [ref=e2069]:
|
| 1184 |
+
- generic [ref=e1282]: "60611"
|
| 1185 |
+
- cell "United States" [ref=e1283]:
|
| 1186 |
+
- generic [ref=e1284]: United States
|
| 1187 |
+
- cell "Illinois" [ref=e2070]:
|
| 1188 |
+
- generic [ref=e1286]: Illinois
|
| 1189 |
+
- cell "Apr 23, 2023 12:14:24 AM" [ref=e2071]:
|
| 1190 |
+
- generic [ref=e1288]: Apr 23, 2023 12:14:24 AM
|
| 1191 |
+
- row "Emily Chen emily.chen@hotmail.com General 6175551212 02108 United States Massachusetts Apr 23, 2023 12:13:05 AM" [ref=e2072]:
|
| 1192 |
+
- cell [ref=e1290]:
|
| 1193 |
+
- checkbox [ref=e1292] [cursor=pointer]
|
| 1194 |
+
- cell "Emily Chen" [ref=e2073]:
|
| 1195 |
+
- generic [ref=e1295]: Emily Chen
|
| 1196 |
+
- cell "emily.chen@hotmail.com" [ref=e2074]:
|
| 1197 |
+
- generic [ref=e1297]: emily.chen@hotmail.com
|
| 1198 |
+
- cell "General" [ref=e1298]:
|
| 1199 |
+
- generic [ref=e1299]: General
|
| 1200 |
+
- cell "6175551212" [ref=e2075]:
|
| 1201 |
+
- generic [ref=e1301]: "6175551212"
|
| 1202 |
+
- cell "02108" [ref=e2076]:
|
| 1203 |
+
- generic [ref=e1303]: "02108"
|
| 1204 |
+
- cell "United States" [ref=e1304]:
|
| 1205 |
+
- generic [ref=e1305]: United States
|
| 1206 |
+
- cell "Massachusetts" [ref=e2077]:
|
| 1207 |
+
- generic [ref=e1307]: Massachusetts
|
| 1208 |
+
- cell "Apr 23, 2023 12:13:05 AM" [ref=e2078]:
|
| 1209 |
+
- generic [ref=e1309]: Apr 23, 2023 12:13:05 AM
|
| 1210 |
+
- row "David Smith david.smith@gmail.com General 2145551212 75201 United States Texas Apr 23, 2023 12:12:54 AM" [ref=e2079]:
|
| 1211 |
+
- cell [ref=e1311]:
|
| 1212 |
+
- checkbox [ref=e1313] [cursor=pointer]
|
| 1213 |
+
- cell "David Smith" [ref=e2080]:
|
| 1214 |
+
- generic [ref=e1316]: David Smith
|
| 1215 |
+
- cell "david.smith@gmail.com" [ref=e2081]:
|
| 1216 |
+
- generic [ref=e1318]: david.smith@gmail.com
|
| 1217 |
+
- cell "General" [ref=e1319]:
|
| 1218 |
+
- generic [ref=e1320]: General
|
| 1219 |
+
- cell "2145551212" [ref=e2082]:
|
| 1220 |
+
- generic [ref=e1322]: "2145551212"
|
| 1221 |
+
- cell "75201" [ref=e2083]:
|
| 1222 |
+
- generic [ref=e1324]: "75201"
|
| 1223 |
+
- cell "United States" [ref=e1325]:
|
| 1224 |
+
- generic [ref=e1326]: United States
|
| 1225 |
+
- cell "Texas" [ref=e2084]:
|
| 1226 |
+
- generic [ref=e1328]: Texas
|
| 1227 |
+
- cell "Apr 23, 2023 12:12:54 AM" [ref=e2085]:
|
| 1228 |
+
- generic [ref=e1330]: Apr 23, 2023 12:12:54 AM
|
| 1229 |
+
- row "David Lee david.lee@gmail.com General 6175551212 02108 United States Massachusetts Apr 19, 2023 5:46:30 PM" [ref=e2086]:
|
| 1230 |
+
- cell [ref=e1332]:
|
| 1231 |
+
- checkbox [ref=e1334] [cursor=pointer]
|
| 1232 |
+
- cell "David Lee" [ref=e2087]:
|
| 1233 |
+
- generic [ref=e1337]: David Lee
|
| 1234 |
+
- cell "david.lee@gmail.com" [ref=e2088]:
|
| 1235 |
+
- generic [ref=e1339]: david.lee@gmail.com
|
| 1236 |
+
- cell "General" [ref=e1340]:
|
| 1237 |
+
- generic [ref=e1341]: General
|
| 1238 |
+
- cell "6175551212" [ref=e2089]:
|
| 1239 |
+
- generic [ref=e1343]: "6175551212"
|
| 1240 |
+
- cell "02108" [ref=e2090]:
|
| 1241 |
+
- generic [ref=e1345]: "02108"
|
| 1242 |
+
- cell "United States" [ref=e1346]:
|
| 1243 |
+
- generic [ref=e1347]: United States
|
| 1244 |
+
- cell "Massachusetts" [ref=e2091]:
|
| 1245 |
+
- generic [ref=e1349]: Massachusetts
|
| 1246 |
+
- cell "Apr 19, 2023 5:46:30 PM" [ref=e2092]:
|
| 1247 |
+
- generic [ref=e1351]: Apr 19, 2023 5:46:30 PM
|
| 1248 |
+
- row "Daniel Jackson daniel.jackson@hotmail.com General 2155556789 19102 United States Pennsylvania Apr 19, 2023 5:45:27 PM" [ref=e2093]:
|
| 1249 |
+
- cell [ref=e1353]:
|
| 1250 |
+
- checkbox [ref=e1355] [cursor=pointer]
|
| 1251 |
+
- cell "Daniel Jackson" [ref=e2094]:
|
| 1252 |
+
- generic [ref=e1358]: Daniel Jackson
|
| 1253 |
+
- cell "daniel.jackson@hotmail.com" [ref=e2095]:
|
| 1254 |
+
- generic [ref=e1360]: daniel.jackson@hotmail.com
|
| 1255 |
+
- cell "General" [ref=e1361]:
|
| 1256 |
+
- generic [ref=e1362]: General
|
| 1257 |
+
- cell "2155556789" [ref=e2096]:
|
| 1258 |
+
- generic [ref=e1364]: "2155556789"
|
| 1259 |
+
- cell "19102" [ref=e2097]:
|
| 1260 |
+
- generic [ref=e1366]: "19102"
|
| 1261 |
+
- cell "United States" [ref=e1367]:
|
| 1262 |
+
- generic [ref=e1368]: United States
|
| 1263 |
+
- cell "Pennsylvania" [ref=e2098]:
|
| 1264 |
+
- generic [ref=e1370]: Pennsylvania
|
| 1265 |
+
- cell "Apr 19, 2023 5:45:27 PM" [ref=e2099]:
|
| 1266 |
+
- generic [ref=e1372]: Apr 19, 2023 5:45:27 PM
|
| 1267 |
+
- row "Brian Smith brian.smith@yahoo.com General 7025551212 89109 United States Nevada Apr 19, 2023 5:46:44 PM" [ref=e2100]:
|
| 1268 |
+
- cell [ref=e1374]:
|
| 1269 |
+
- checkbox [ref=e1376] [cursor=pointer]
|
| 1270 |
+
- cell "Brian Smith" [ref=e2101]:
|
| 1271 |
+
- generic [ref=e1379]: Brian Smith
|
| 1272 |
+
- cell "brian.smith@yahoo.com" [ref=e2102]:
|
| 1273 |
+
- generic [ref=e1381]: brian.smith@yahoo.com
|
| 1274 |
+
- cell "General" [ref=e1382]:
|
| 1275 |
+
- generic [ref=e1383]: General
|
| 1276 |
+
- cell "7025551212" [ref=e2103]:
|
| 1277 |
+
- generic [ref=e1385]: "7025551212"
|
| 1278 |
+
- cell "89109" [ref=e2104]:
|
| 1279 |
+
- generic [ref=e1387]: "89109"
|
| 1280 |
+
- cell "United States" [ref=e1388]:
|
| 1281 |
+
- generic [ref=e1389]: United States
|
| 1282 |
+
- cell "Nevada" [ref=e2105]:
|
| 1283 |
+
- generic [ref=e1391]: Nevada
|
| 1284 |
+
- cell "Apr 19, 2023 5:46:44 PM" [ref=e2106]:
|
| 1285 |
+
- generic [ref=e1393]: Apr 19, 2023 5:46:44 PM
|
| 1286 |
+
- row "Bob Jones bbjones@gmail.com General 2141918677 75202 United States Texas Apr 19, 2023 5:45:04 PM" [ref=e2107]:
|
| 1287 |
+
- cell [ref=e1395]:
|
| 1288 |
+
- checkbox [ref=e1397] [cursor=pointer]
|
| 1289 |
+
- cell "Bob Jones" [ref=e2108]:
|
| 1290 |
+
- generic [ref=e1400]: Bob Jones
|
| 1291 |
+
- cell "bbjones@gmail.com" [ref=e2109]:
|
| 1292 |
+
- generic [ref=e1402]: bbjones@gmail.com
|
| 1293 |
+
- cell "General" [ref=e1403]:
|
| 1294 |
+
- generic [ref=e1404]: General
|
| 1295 |
+
- cell "2141918677" [ref=e2110]:
|
| 1296 |
+
- generic [ref=e1406]: "2141918677"
|
| 1297 |
+
- cell "75202" [ref=e2111]:
|
| 1298 |
+
- generic [ref=e1408]: "75202"
|
| 1299 |
+
- cell "United States" [ref=e1409]:
|
| 1300 |
+
- generic [ref=e1410]: United States
|
| 1301 |
+
- cell "Texas" [ref=e2112]:
|
| 1302 |
+
- generic [ref=e1412]: Texas
|
| 1303 |
+
- cell "Apr 19, 2023 5:45:04 PM" [ref=e2113]:
|
| 1304 |
+
- generic [ref=e1414]: Apr 19, 2023 5:45:04 PM
|
| 1305 |
+
- row "Bob Johnson bob123@hotmail.com General 9721234567 75080 United States Texas Apr 19, 2023 5:45:14 PM" [ref=e2114]:
|
| 1306 |
+
- cell [ref=e1416]:
|
| 1307 |
+
- checkbox [ref=e1418] [cursor=pointer]
|
| 1308 |
+
- cell "Bob Johnson" [ref=e2115]:
|
| 1309 |
+
- generic [ref=e1421]: Bob Johnson
|
| 1310 |
+
- cell "bob123@hotmail.com" [ref=e2116]:
|
| 1311 |
+
- generic [ref=e1423]: bob123@hotmail.com
|
| 1312 |
+
- cell "General" [ref=e1424]:
|
| 1313 |
+
- generic [ref=e1425]: General
|
| 1314 |
+
- cell "9721234567" [ref=e2117]:
|
| 1315 |
+
- generic [ref=e1427]: "9721234567"
|
| 1316 |
+
- cell "75080" [ref=e2118]:
|
| 1317 |
+
- generic [ref=e1429]: "75080"
|
| 1318 |
+
- cell "United States" [ref=e1430]:
|
| 1319 |
+
- generic [ref=e1431]: United States
|
| 1320 |
+
- cell "Texas" [ref=e1432]:
|
| 1321 |
+
- generic [ref=e1433]: Texas
|
| 1322 |
+
- cell "Apr 19, 2023 5:45:14 PM" [ref=e2119]:
|
| 1323 |
+
- generic [ref=e1435]: Apr 19, 2023 5:45:14 PM
|
| 1324 |
+
- row "Ava Brown beachlover99@yahoo.com General 3105555555 90265 United States California Apr 19, 2023 5:46:01 PM" [ref=e2120]:
|
| 1325 |
+
- cell [ref=e1437]:
|
| 1326 |
+
- checkbox [ref=e1439] [cursor=pointer]
|
| 1327 |
+
- cell "Ava Brown" [ref=e2121]:
|
| 1328 |
+
- generic [ref=e1442]: Ava Brown
|
| 1329 |
+
- cell "beachlover99@yahoo.com" [ref=e2122]:
|
| 1330 |
+
- generic [ref=e1444]: beachlover99@yahoo.com
|
| 1331 |
+
- cell "General" [ref=e1445]:
|
| 1332 |
+
- generic [ref=e1446]: General
|
| 1333 |
+
- cell "3105555555" [ref=e2123]:
|
| 1334 |
+
- generic [ref=e1448]: "3105555555"
|
| 1335 |
+
- cell "90265" [ref=e2124]:
|
| 1336 |
+
- generic [ref=e1450]: "90265"
|
| 1337 |
+
- cell "United States" [ref=e1451]:
|
| 1338 |
+
- generic [ref=e1452]: United States
|
| 1339 |
+
- cell "California" [ref=e2125]:
|
| 1340 |
+
- generic [ref=e1454]: California
|
| 1341 |
+
- cell "Apr 19, 2023 5:46:01 PM" [ref=e2126]:
|
| 1342 |
+
- generic [ref=e1456]: Apr 19, 2023 5:46:01 PM
|
| 1343 |
+
- row "Anna Nguyen anna.nguyen@yahoo.com General 7135551212 77002 United States Texas Apr 23, 2023 12:13:09 AM" [ref=e2127]:
|
| 1344 |
+
- cell [ref=e1458]:
|
| 1345 |
+
- checkbox [ref=e1460] [cursor=pointer]
|
| 1346 |
+
- cell "Anna Nguyen" [ref=e2128]:
|
| 1347 |
+
- generic [ref=e1463]: Anna Nguyen
|
| 1348 |
+
- cell "anna.nguyen@yahoo.com" [ref=e2129]:
|
| 1349 |
+
- generic [ref=e1465]: anna.nguyen@yahoo.com
|
| 1350 |
+
- cell "General" [ref=e1466]:
|
| 1351 |
+
- generic [ref=e1467]: General
|
| 1352 |
+
- cell "7135551212" [ref=e2130]:
|
| 1353 |
+
- generic [ref=e1469]: "7135551212"
|
| 1354 |
+
- cell "77002" [ref=e2131]:
|
| 1355 |
+
- generic [ref=e1471]: "77002"
|
| 1356 |
+
- cell "United States" [ref=e1472]:
|
| 1357 |
+
- generic [ref=e1473]: United States
|
| 1358 |
+
- cell "Texas" [ref=e2132]:
|
| 1359 |
+
- generic [ref=e1475]: Texas
|
| 1360 |
+
- cell "Apr 23, 2023 12:13:09 AM" [ref=e2133]:
|
| 1361 |
+
- generic [ref=e1477]: Apr 23, 2023 12:13:09 AM
|
| 1362 |
+
- row "Amanda Kim amanda.kim@gmail.com General 2015551234 07030 United States New Jersey Apr 23, 2023 12:13:15 AM" [ref=e2134]:
|
| 1363 |
+
- cell [ref=e1479]:
|
| 1364 |
+
- checkbox [ref=e1481] [cursor=pointer]
|
| 1365 |
+
- cell "Amanda Kim" [ref=e2135]:
|
| 1366 |
+
- generic [ref=e1484]: Amanda Kim
|
| 1367 |
+
- cell "amanda.kim@gmail.com" [ref=e2136]:
|
| 1368 |
+
- generic [ref=e1486]: amanda.kim@gmail.com
|
| 1369 |
+
- cell "General" [ref=e1487]:
|
| 1370 |
+
- generic [ref=e1488]: General
|
| 1371 |
+
- cell "2015551234" [ref=e2137]:
|
| 1372 |
+
- generic [ref=e1490]: "2015551234"
|
| 1373 |
+
- cell "07030" [ref=e2138]:
|
| 1374 |
+
- generic [ref=e1492]: "07030"
|
| 1375 |
+
- cell "United States" [ref=e1493]:
|
| 1376 |
+
- generic [ref=e1494]: United States
|
| 1377 |
+
- cell "New Jersey" [ref=e2139]:
|
| 1378 |
+
- generic [ref=e1496]: New Jersey
|
| 1379 |
+
- cell "Apr 23, 2023 12:13:15 AM" [ref=e2140]:
|
| 1380 |
+
- generic [ref=e1498]: Apr 23, 2023 12:13:15 AM
|
| 1381 |
+
- row "Alexander Thomas alexander.thomas@hotmail.com General 3235551212 90028 United States California Apr 19, 2023 5:46:50 PM" [ref=e2141]:
|
| 1382 |
+
- cell [ref=e1500]:
|
| 1383 |
+
- checkbox [ref=e1502] [cursor=pointer]
|
| 1384 |
+
- cell "Alexander Thomas" [ref=e2142]:
|
| 1385 |
+
- generic [ref=e1505]: Alexander Thomas
|
| 1386 |
+
- cell "alexander.thomas@hotmail.com" [ref=e2143]:
|
| 1387 |
+
- generic [ref=e1507]: alexander.thomas@hotmail.com
|
| 1388 |
+
- cell "General" [ref=e1508]:
|
| 1389 |
+
- generic [ref=e1509]: General
|
| 1390 |
+
- cell "3235551212" [ref=e2144]:
|
| 1391 |
+
- generic [ref=e1511]: "3235551212"
|
| 1392 |
+
- cell "90028" [ref=e2145]:
|
| 1393 |
+
- generic [ref=e1513]: "90028"
|
| 1394 |
+
- cell "United States" [ref=e1514]:
|
| 1395 |
+
- generic [ref=e1515]: United States
|
| 1396 |
+
- cell "California" [ref=e2146]:
|
| 1397 |
+
- generic [ref=e1517]: California
|
| 1398 |
+
- cell "Apr 19, 2023 5:46:50 PM" [ref=e2147]:
|
| 1399 |
+
- generic [ref=e1519]: Apr 19, 2023 5:46:50 PM
|
| 1400 |
+
- row "Alex Martin alex.martin@gmail.com General 2125551212 10001 United States New York Apr 19, 2023 5:46:20 PM" [ref=e2148]:
|
| 1401 |
+
- cell [ref=e1521]:
|
| 1402 |
+
- checkbox [ref=e1523] [cursor=pointer]
|
| 1403 |
+
- cell "Alex Martin" [ref=e2149]:
|
| 1404 |
+
- generic [ref=e1526]: Alex Martin
|
| 1405 |
+
- cell "alex.martin@gmail.com" [ref=e2150]:
|
| 1406 |
+
- generic [ref=e1528]: alex.martin@gmail.com
|
| 1407 |
+
- cell "General" [ref=e1529]:
|
| 1408 |
+
- generic [ref=e1530]: General
|
| 1409 |
+
- cell "2125551212" [ref=e2151]:
|
| 1410 |
+
- generic [ref=e1532]: "2125551212"
|
| 1411 |
+
- cell "10001" [ref=e2152]:
|
| 1412 |
+
- generic [ref=e1534]: "10001"
|
| 1413 |
+
- cell "United States" [ref=e1535]:
|
| 1414 |
+
- generic [ref=e1536]: United States
|
| 1415 |
+
- cell "New York" [ref=e2153]:
|
| 1416 |
+
- generic [ref=e1538]: New York
|
| 1417 |
+
- cell "Apr 19, 2023 5:46:20 PM" [ref=e2154]:
|
| 1418 |
+
- generic [ref=e1540]: Apr 19, 2023 5:46:20 PM
|
| 1419 |
+
- row "Alex Johnson fitnessjunkie22@yahoo.com General 3105555555 90212 United States California Apr 19, 2023 5:46:07 PM" [ref=e2155]:
|
| 1420 |
+
- cell [ref=e1542]:
|
| 1421 |
+
- checkbox [ref=e1544] [cursor=pointer]
|
| 1422 |
+
- cell "Alex Johnson" [ref=e2156]:
|
| 1423 |
+
- generic [ref=e1547]: Alex Johnson
|
| 1424 |
+
- cell "fitnessjunkie22@yahoo.com" [ref=e2157]:
|
| 1425 |
+
- generic [ref=e1549]: fitnessjunkie22@yahoo.com
|
| 1426 |
+
- cell "General" [ref=e1550]:
|
| 1427 |
+
- generic [ref=e1551]: General
|
| 1428 |
+
- cell "3105555555" [ref=e2158]:
|
| 1429 |
+
- generic [ref=e1553]: "3105555555"
|
| 1430 |
+
- cell "90212" [ref=e2159]:
|
| 1431 |
+
- generic [ref=e1555]: "90212"
|
| 1432 |
+
- cell "United States" [ref=e1556]:
|
| 1433 |
+
- generic [ref=e1557]: United States
|
| 1434 |
+
- cell "California" [ref=e2160]:
|
| 1435 |
+
- generic [ref=e1559]: California
|
| 1436 |
+
- cell "Apr 19, 2023 5:46:07 PM" [ref=e2161]:
|
| 1437 |
+
- generic [ref=e1561]: Apr 19, 2023 5:46:07 PM
|
| 1438 |
+
- row "Adam Garcia gamingpro456@gmail.com General 2065555555 98122 United States Washington Apr 19, 2023 5:46:14 PM" [ref=e2162]:
|
| 1439 |
+
- cell [ref=e1563]:
|
| 1440 |
+
- checkbox [ref=e1565] [cursor=pointer]
|
| 1441 |
+
- cell "Adam Garcia" [ref=e2163]:
|
| 1442 |
+
- generic [ref=e1568]: Adam Garcia
|
| 1443 |
+
- cell "gamingpro456@gmail.com" [ref=e2164]:
|
| 1444 |
+
- generic [ref=e1570]: gamingpro456@gmail.com
|
| 1445 |
+
- cell "General" [ref=e1571]:
|
| 1446 |
+
- generic [ref=e1572]: General
|
| 1447 |
+
- cell "2065555555" [ref=e2165]:
|
| 1448 |
+
- generic [ref=e1574]: "2065555555"
|
| 1449 |
+
- cell "98122" [ref=e2166]:
|
| 1450 |
+
- generic [ref=e1576]: "98122"
|
| 1451 |
+
- cell "United States" [ref=e1577]:
|
| 1452 |
+
- generic [ref=e1578]: United States
|
| 1453 |
+
- cell "Washington" [ref=e2167]:
|
| 1454 |
+
- generic [ref=e1580]: Washington
|
| 1455 |
+
- cell "Apr 19, 2023 5:46:14 PM" [ref=e2168]:
|
| 1456 |
+
- generic [ref=e1582]: Apr 19, 2023 5:46:14 PM
|
| 1457 |
+
- row "Adam Garcia adam.garcia@gmail.com General 6025551212 85004 United States Arizona Apr 19, 2023 5:46:40 PM" [ref=e2169]:
|
| 1458 |
+
- cell [ref=e1584]:
|
| 1459 |
+
- checkbox [ref=e1586] [cursor=pointer]
|
| 1460 |
+
- cell "Adam Garcia" [ref=e2170]:
|
| 1461 |
+
- generic [ref=e1589]: Adam Garcia
|
| 1462 |
+
- cell "adam.garcia@gmail.com" [ref=e2171]:
|
| 1463 |
+
- generic [ref=e1591]: adam.garcia@gmail.com
|
| 1464 |
+
- cell "General" [ref=e1592]:
|
| 1465 |
+
- generic [ref=e1593]: General
|
| 1466 |
+
- cell "6025551212" [ref=e2172]:
|
| 1467 |
+
- generic [ref=e1595]: "6025551212"
|
| 1468 |
+
- cell "85004" [ref=e2173]:
|
| 1469 |
+
- generic [ref=e1597]: "85004"
|
| 1470 |
+
- cell "United States" [ref=e1598]:
|
| 1471 |
+
- generic [ref=e1599]: United States
|
| 1472 |
+
- cell "Arizona" [ref=e2174]:
|
| 1473 |
+
- generic [ref=e1601]: Arizona
|
| 1474 |
+
- cell "Apr 19, 2023 5:46:40 PM" [ref=e2175]:
|
| 1475 |
+
- generic [ref=e1603]: Apr 19, 2023 5:46:40 PM
|
| 1476 |
+
- contentinfo [ref=e60]:
|
| 1477 |
+
- generic [ref=e62]:
|
| 1478 |
+
- paragraph [ref=e63]:
|
| 1479 |
+
- link "" [ref=e64] [cursor=pointer]:
|
| 1480 |
+
- /url: http://magento.com
|
| 1481 |
+
- text: Copyright © 2026 Magento Commerce Inc. All rights reserved.
|
| 1482 |
+
- generic [ref=e65]:
|
| 1483 |
+
- paragraph [ref=e66]:
|
| 1484 |
+
- strong [ref=e67]: Magento
|
| 1485 |
+
- text: ver. 2.4.6
|
| 1486 |
+
- link "Privacy Policy" [ref=e68] [cursor=pointer]:
|
| 1487 |
+
- /url: https://www.adobe.com/privacy/policy.html
|
| 1488 |
+
- text: "|"
|
| 1489 |
+
- link "Account Activity" [ref=e69] [cursor=pointer]:
|
| 1490 |
+
- /url: http://localhost:7789/admin/security/session/activity/
|
| 1491 |
+
- text: "|"
|
| 1492 |
+
- link "Report an Issue" [ref=e70] [cursor=pointer]:
|
| 1493 |
+
- /url: https://github.com/magento/magento2/issues
|
| 1494 |
+
- text: ‹ ›
|
docs/installation_and_docker_usage.md
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Installation and Docker Task Usage Guideline
|
| 2 |
+
|
| 3 |
+
## Overview
|
| 4 |
+
|
| 5 |
+
The MCPMark setup supports installation through either pip or MCPMark Docker (recommended) after cloning the code repository.
|
| 6 |
+
|
| 7 |
+
### Pip Installtion
|
| 8 |
+
```bash
|
| 9 |
+
pip install -e .
|
| 10 |
+
```
|
| 11 |
+
|
| 12 |
+
The MCPMark Docker setup provides a simple way to run evaluation tasks in isolated containers. PostgreSQL is automatically handled when needed.
|
| 13 |
+
|
| 14 |
+
## 1. Quick Start
|
| 15 |
+
|
| 16 |
+
### 1.1 Docker Image
|
| 17 |
+
|
| 18 |
+
The official Docker image is automatically pulled from Docker Hub on first use.
|
| 19 |
+
The image is hosted at: https://hub.docker.com/r/evalsysorg/mcpmark
|
| 20 |
+
|
| 21 |
+
**Image Management:**
|
| 22 |
+
- The scripts automatically download the image when it's not found locally
|
| 23 |
+
- To manually update to the latest version:
|
| 24 |
+
```bash
|
| 25 |
+
docker pull evalsysorg/mcpmark:latest
|
| 26 |
+
```
|
| 27 |
+
- For local development/testing, you can build your own docker:
|
| 28 |
+
```bash
|
| 29 |
+
# Creates evalsysorg/mcpmark:latest locally
|
| 30 |
+
./build-docker.sh
|
| 31 |
+
```
|
| 32 |
+
|
| 33 |
+
## 2. Running MCP Experiments
|
| 34 |
+
|
| 35 |
+
### 2.1 Running Individual MCP Experiment
|
| 36 |
+
|
| 37 |
+
The `run-task.sh` script provides simplified Docker usage:
|
| 38 |
+
|
| 39 |
+
```bash
|
| 40 |
+
# Run filesystem tasks (filesystem is the default mcp service)
|
| 41 |
+
./run-task.sh --models MODEL_NAME --k K
|
| 42 |
+
|
| 43 |
+
# Run github/notion/postgres/playwright/playwright_webarena with specific task
|
| 44 |
+
./run-task.sh --mcp MCPSERVICE --models MODEL_NAME --exp-name EXPNAME --tasks TASK --k K
|
| 45 |
+
```
|
| 46 |
+
|
| 47 |
+
where *MODEL_NAME* refers to the model choice from the supported models (see [Introduction Page](./introduction.md) for more information), *EXPNAME* refers to customized experiment name, *TASK* refers to specific task or task group (see `tasks/<mcp>/<task_suite>/...` for more information), *K* refers to the time of independent experiments.
|
| 48 |
+
|
| 49 |
+
|
| 50 |
+
Additionally, the `run-benchmark.sh` script evaluates models across all MCP services:
|
| 51 |
+
|
| 52 |
+
```bash
|
| 53 |
+
# Run all services with Docker (recommended)
|
| 54 |
+
./run-benchmark.sh --models MODEL --exp-name EXPNAME --docker
|
| 55 |
+
|
| 56 |
+
# Run specific services
|
| 57 |
+
./run-benchmark.sh --models MODEL --exp-name EXPNAME --mcps MCPSERVICES --docker
|
| 58 |
+
|
| 59 |
+
# Run with parallel execution for faster results
|
| 60 |
+
./run-benchmark.sh --models MODEL --exp-name EXPNAME --docker --parallel
|
| 61 |
+
|
| 62 |
+
# Run locally without Docker
|
| 63 |
+
./run-benchmark.sh --models MODEL --exp-name EXPNAME --mcps MCPSERVICES
|
| 64 |
+
```
|
| 65 |
+
|
| 66 |
+
Here *MCPSERVICES* refers to group of MCP services, separated by comma (e.g. *filesystem,postgres*)
|
| 67 |
+
|
| 68 |
+
The benchmark script:
|
| 69 |
+
- Runs all or selected MCP services automatically
|
| 70 |
+
- Supports progress tracking and timing
|
| 71 |
+
- Generates summary reports and logs
|
| 72 |
+
- Supports parallel service execution
|
| 73 |
+
- Continues running even if some services fail
|
| 74 |
+
- Automatically generates performance dashboards
|
| 75 |
+
|
| 76 |
+
### Manual Docker Commands
|
| 77 |
+
|
| 78 |
+
#### For Non-Postgres Services
|
| 79 |
+
Suppose Notion is the service:
|
| 80 |
+
```bash
|
| 81 |
+
# Build the image first
|
| 82 |
+
./build-docker.sh
|
| 83 |
+
|
| 84 |
+
# Run a task
|
| 85 |
+
docker run --rm \
|
| 86 |
+
-v $(pwd)/results:/app/results \
|
| 87 |
+
-v $(pwd)/.mcp_env:/app/.mcp_env:ro \
|
| 88 |
+
-v $(pwd)/notion_state.json:/app/notion_state.json:ro \
|
| 89 |
+
evalsysorg/mcpmark:latest \
|
| 90 |
+
python3 -m pipeline --mcp notion --models MODEL --exp-name EXPNAME --tasks TASK --k K
|
| 91 |
+
```
|
| 92 |
+
|
| 93 |
+
#### For Postgres Service
|
| 94 |
+
```bash
|
| 95 |
+
# The run-task.sh script handles postgres automatically, but if doing manually:
|
| 96 |
+
|
| 97 |
+
# Start postgres container
|
| 98 |
+
docker run -d \
|
| 99 |
+
--name mcp-postgres \
|
| 100 |
+
--network mcp-network \
|
| 101 |
+
-e POSTGRES_DATABASE=postgres \
|
| 102 |
+
-e POSTGRES_USER=postgres \
|
| 103 |
+
-e POSTGRES_PASSWORD=123456 \
|
| 104 |
+
ghcr.io/cloudnative-pg/postgresql:17-bookworm
|
| 105 |
+
|
| 106 |
+
# Run postgres task
|
| 107 |
+
docker run --rm \
|
| 108 |
+
--network mcp-network \
|
| 109 |
+
-e POSTGRES_HOST=mcp-postgres \
|
| 110 |
+
-v $(pwd)/results:/app/results \
|
| 111 |
+
-v $(pwd)/.mcp_env:/app/.mcp_env:ro \
|
| 112 |
+
evalsysorg/mcpmark:latest \
|
| 113 |
+
python3 -m pipeline --mcp postgres --models MODEL --exp-name EXPNAME --tasks TASK --k K
|
| 114 |
+
|
| 115 |
+
# Stop and remove postgres when done
|
| 116 |
+
docker stop mcp-postgres && docker rm mcp-postgres
|
| 117 |
+
```
|
| 118 |
+
|
| 119 |
+
## Script Usage
|
| 120 |
+
|
| 121 |
+
### Benchmark Runner (`run-benchmark.sh`)
|
| 122 |
+
|
| 123 |
+
```
|
| 124 |
+
./run-benchmark.sh --models MODELS --exp-name NAME [OPTIONS]
|
| 125 |
+
|
| 126 |
+
Required Options:
|
| 127 |
+
--models MODELS Comma-separated list of models to evaluate
|
| 128 |
+
--exp-name NAME Experiment name for organizing results
|
| 129 |
+
|
| 130 |
+
Optional Options:
|
| 131 |
+
--docker Run tasks in Docker containers (recommended)
|
| 132 |
+
--mcps SERVICES Comma-separated list of services to test
|
| 133 |
+
Default: filesystem,notion,github,postgres,playwright
|
| 134 |
+
--parallel Run services in parallel (experimental)
|
| 135 |
+
--timeout SECONDS Timeout per task in seconds (default: 300)
|
| 136 |
+
```
|
| 137 |
+
|
| 138 |
+
### Individual Task Runner (`run-task.sh`)
|
| 139 |
+
|
| 140 |
+
```
|
| 141 |
+
./run-task.sh [--mcp SERVICE] [PIPELINE_ARGS]
|
| 142 |
+
|
| 143 |
+
Options:
|
| 144 |
+
--mcp SERVICE MCP service (notion|github|filesystem|playwright|postgres)
|
| 145 |
+
Default: filesystem
|
| 146 |
+
|
| 147 |
+
Environment Variables:
|
| 148 |
+
DOCKER_MEMORY_LIMIT Memory limit for container (default: 4g)
|
| 149 |
+
DOCKER_CPU_LIMIT CPU limit for container (default: 2)
|
| 150 |
+
DOCKER_IMAGE_VERSION Docker image tag to use (default: latest)
|
| 151 |
+
|
| 152 |
+
All other arguments are passed directly to the pipeline command.
|
| 153 |
+
|
| 154 |
+
Pipeline arguments (see python3 -m pipeline --help):
|
| 155 |
+
--mcp {notion,github,filesystem,playwright,postgres,playwright_webarena}
|
| 156 |
+
MCP service to use (default: filesystem)
|
| 157 |
+
--models MODELS Comma-separated list of models to evaluate (e.g., 'o3,k2,gpt-4.1')
|
| 158 |
+
--tasks TASKS Tasks to run: "all", a category name, or "category/task_name"
|
| 159 |
+
--exp-name EXP_NAME Experiment name; results are saved under results/<exp-name>/ (default: YYYY-MM-DD-HH-MM-SS)
|
| 160 |
+
--k K Number of evaluation runs for pass@k metrics (default: 1)
|
| 161 |
+
--timeout TIMEOUT Timeout in seconds for each task
|
| 162 |
+
--output-dir OUTPUT_DIR
|
| 163 |
+
Directory to save results
|
| 164 |
+
```
|
| 165 |
+
|
| 166 |
+
## Docker Benefits
|
| 167 |
+
|
| 168 |
+
1. **Efficiency**: Only starts necessary containers
|
| 169 |
+
2. **Isolation**: Each task runs in a fresh container
|
| 170 |
+
3. **Resource Management**: Automatic cleanup of containers and networks
|
| 171 |
+
4. **Smart Dependencies**: PostgreSQL only starts for postgres service
|
| 172 |
+
5. **Parallel Support**: Can run multiple services simultaneously for faster benchmarks
|
| 173 |
+
6. **Comprehensive Testing**: Benchmark script runs all services with one command
|
| 174 |
+
7. **Progress Tracking**: Colored output with timing and status information
|
| 175 |
+
8. **Automatic Reporting**: Generates summary reports and performance dashboards
|
| 176 |
+
|
| 177 |
+
## Common Troubleshooting
|
| 178 |
+
|
| 179 |
+
### Permission Issues
|
| 180 |
+
```bash
|
| 181 |
+
chmod +x run-task.sh
|
| 182 |
+
```
|
| 183 |
+
|
| 184 |
+
### Docker Build Issues
|
| 185 |
+
```bash
|
| 186 |
+
# Force rebuild with no cache
|
| 187 |
+
./run-task.sh --build --mcp MCPSERVICE --models MODEL_NAME --exp-name EXPNAME --tasks TASK
|
| 188 |
+
```
|
| 189 |
+
|
| 190 |
+
### PostgreSQL Connection Issues
|
| 191 |
+
```bash
|
| 192 |
+
# Check if postgres is running
|
| 193 |
+
docker ps | grep postgres
|
| 194 |
+
|
| 195 |
+
# View postgres logs
|
| 196 |
+
docker logs mcp-postgres-task
|
| 197 |
+
```
|
| 198 |
+
|
| 199 |
+
### Cleanup Stuck Resources
|
| 200 |
+
```bash
|
| 201 |
+
# Stop all containers
|
| 202 |
+
docker stop $(docker ps -q)
|
| 203 |
+
|
| 204 |
+
# Remove task network
|
| 205 |
+
docker network rm mcp-task-network
|
| 206 |
+
|
| 207 |
+
# Remove postgres data volume (careful!)
|
| 208 |
+
docker volume rm mcp-postgres-data
|
| 209 |
+
```
|
| 210 |
+
|
| 211 |
+
## Environment Variables
|
| 212 |
+
|
| 213 |
+
Create `.mcp_env` file with your credentials:
|
| 214 |
+
```env
|
| 215 |
+
# Service credentials
|
| 216 |
+
SOURCE_NOTION_API_KEY=your-key
|
| 217 |
+
EVAL_NOTION_API_KEY=your-key
|
| 218 |
+
GITHUB_TOKEN=your-token
|
| 219 |
+
POSTGRES_PASSWORD=your-password
|
| 220 |
+
|
| 221 |
+
# Model API keys
|
| 222 |
+
OPENAI_API_KEY=your-key
|
| 223 |
+
ANTHROPIC_API_KEY=your-key
|
| 224 |
+
# ... etc
|
| 225 |
+
```
|
| 226 |
+
|
| 227 |
+
Please refer to [Quick Start](./quickstart.md) for setting up API key for specific model.
|
| 228 |
+
|
| 229 |
+
## Docker Compose Files
|
| 230 |
+
|
| 231 |
+
- `docker-compose.yml` - Full stack with postgres (for development/testing)
|
| 232 |
+
|
| 233 |
+
## Notes
|
| 234 |
+
|
| 235 |
+
- Results are saved under `./results/<exp-name>/`.
|
| 236 |
+
- Each task runs in an ephemeral container.
|
| 237 |
+
- Docker image is shared across all tasks.
|
| 238 |
+
- PostgreSQL data persists in Docker volume.
|
docs/introduction.md
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# MCPMark
|
| 2 |
+
MCPMark is a comprehensive evaluation suite for evaluating the agentic ability of frontier models.
|
| 3 |
+
|
| 4 |
+
MCPMark includes Model Context Protocol (MCP) service in following environments
|
| 5 |
+
- Notion
|
| 6 |
+
- Github
|
| 7 |
+
- Filesystem
|
| 8 |
+
- Postgres
|
| 9 |
+
- Playwright
|
| 10 |
+
- Playwright-WebArena
|
| 11 |
+
|
| 12 |
+
### General Procedure
|
| 13 |
+
MCPMark is designed to run agentic tasks in complex environment **safely**. Specifically, it sets up an isolated environment for the experiment, completing the task, and then destroy the environment without affecting existing user profile or information.
|
| 14 |
+
|
| 15 |
+
### How to Use MCPMark
|
| 16 |
+
1. MCPMark Installation.
|
| 17 |
+
2. Authorize service (for Github and Notion).
|
| 18 |
+
3. Configure the environment variables in `.mcp_env`.
|
| 19 |
+
4. Run MCPMark experiment.
|
| 20 |
+
|
| 21 |
+
Please refer to [Quick Start](./quickstart.md) for details regarding how to start a sample filesystem experiment in properly, and [Task Page](./datasets/task.md) for task details. Please visit [Installation and Docker Uusage](./installation_and_docker_usage.md) information of full MCPMark setup.
|
| 22 |
+
|
| 23 |
+
### Running MCPMark
|
| 24 |
+
|
| 25 |
+
MCPMark supports the following mode to run experiments (suppose the experiment is named as new_exp, and the model used are o3 and gpt-4.1 and the environment is notion), with K repetive experiments.
|
| 26 |
+
|
| 27 |
+
#### MCPMark in Pip Installation
|
| 28 |
+
```bash
|
| 29 |
+
# Evaluate ALL tasks
|
| 30 |
+
python -m pipeline --exp-name new_exp --mcp notion --tasks all --models o3 --k K
|
| 31 |
+
|
| 32 |
+
# Evaluate a single task group (online_resume)
|
| 33 |
+
python -m pipeline --exp-name new_exp --mcp notion --tasks online_resume --models o3 --k K
|
| 34 |
+
|
| 35 |
+
# Evaluate one specific task (task_1 in online_resume)
|
| 36 |
+
python -m pipeline --exp-name new_exp --mcp notion --tasks online_resume/task_1 --models o3 --k K
|
| 37 |
+
|
| 38 |
+
# Evaluate multiple models
|
| 39 |
+
python -m pipeline --exp-name new_exp --mcp notion --tasks all --models o3,gpt-4.1 --k K
|
| 40 |
+
```
|
| 41 |
+
|
| 42 |
+
#### MCPMark in Docker Installation
|
| 43 |
+
```bash
|
| 44 |
+
# Run all tasks for one service
|
| 45 |
+
./run-task.sh --mcp notion --models o3 --exp-name new_exp --tasks all
|
| 46 |
+
|
| 47 |
+
# Run comprehensive benchmark across all services
|
| 48 |
+
./run-benchmark.sh --models o3,gpt-4.1 --exp-name new_exp --docker
|
| 49 |
+
```
|
| 50 |
+
|
| 51 |
+
#### Experiment Auto-Resume
|
| 52 |
+
For re-run experiments, only unfinished tasks will be executed. Tasks that previously failed due to pipeline errors (such as State Duplication Error or MCP Network Error) will also be retried automatically.
|
| 53 |
+
|
| 54 |
+
### Results
|
| 55 |
+
The experiment results are written to `./results/` (JSON + CSV).
|
| 56 |
+
|
| 57 |
+
#### Reult Aggregation (for K > 1)
|
| 58 |
+
MCP supports aggreated metrics of pass@1, pass@K, pass^K, avg@K.
|
| 59 |
+
```bash
|
| 60 |
+
python -m src.aggregators.aggregate_results --exp-name new_exp
|
| 61 |
+
```
|
| 62 |
+
|
| 63 |
+
### Model Support
|
| 64 |
+
MCPMark supports the following models with according providers (model codes in the brackets).
|
| 65 |
+
#### OpenAI
|
| 66 |
+
- GPT-5 (gpt-5)
|
| 67 |
+
- o3 (o3)
|
| 68 |
+
|
| 69 |
+
#### Anthropic
|
| 70 |
+
- Claude-4.1-Opus (claude-4.1-opus)
|
| 71 |
+
- Claude-4-Sonnet (claude-4-sonnet)
|
| 72 |
+
|
| 73 |
+
#### Google
|
| 74 |
+
- Gemini-2.5-Pro (gemini-2.5-pro)
|
| 75 |
+
|
| 76 |
+
#### Grok
|
| 77 |
+
- Grok-4 (grok-4)
|
| 78 |
+
|
| 79 |
+
#### Deepseek
|
| 80 |
+
- DeepSeek-Chat (deepseek-chat)
|
| 81 |
+
|
| 82 |
+
#### Alibaba
|
| 83 |
+
- Qwen3-Coder (qwen-3-coder)
|
| 84 |
+
|
| 85 |
+
#### Kimi
|
| 86 |
+
- Kimi-K2 (k2)
|
| 87 |
+
|
| 88 |
+
### Want to contribute?
|
| 89 |
+
Visit [Contributing Page](./contributing) to learn how to make contribution to MCPMark.
|
docs/quickstart.md
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Quick Start
|
| 2 |
+
To quickly experience MCPMark, we recommend firstly preparing the environment, and then execute the Postgres tasks.
|
| 3 |
+
|
| 4 |
+
### 1. Clone MCPMark
|
| 5 |
+
```bash
|
| 6 |
+
git clone https://github.com/eval-sys/mcpmark.git
|
| 7 |
+
|
| 8 |
+
cd mcpmark
|
| 9 |
+
```
|
| 10 |
+
|
| 11 |
+
### 2. Setup Environment Variables
|
| 12 |
+
To setup the model access in environment variable, edit the `.mcp_env` file in `mcpmark/`.
|
| 13 |
+
|
| 14 |
+
```env
|
| 15 |
+
# Model Providers (set only those you need)
|
| 16 |
+
## Google Gemini
|
| 17 |
+
GEMINI_BASE_URL="https://your-gemini-base-url.com/v1"
|
| 18 |
+
GEMINI_API_KEY="your-gemini-api-key"
|
| 19 |
+
|
| 20 |
+
## DeepSeek
|
| 21 |
+
DEEPSEEK_BASE_URL="https://your-deepseek-base-url.com/v1"
|
| 22 |
+
DEEPSEEK_API_KEY="your-deepseek-api-key"
|
| 23 |
+
|
| 24 |
+
## OpenAI
|
| 25 |
+
OPENAI_BASE_URL="https://your-openai-base-url.com/v1"
|
| 26 |
+
OPENAI_API_KEY="your-openai-api-key"
|
| 27 |
+
|
| 28 |
+
## Anthropic
|
| 29 |
+
ANTHROPIC_BASE_URL="https://your-anthropic-base-url.com/v1"
|
| 30 |
+
ANTHROPIC_API_KEY="your-anthropic-api-key"
|
| 31 |
+
|
| 32 |
+
## Moonshot
|
| 33 |
+
MOONSHOT_BASE_URL="https://your-moonshot-base-url.com/v1"
|
| 34 |
+
MOONSHOT_API_KEY="your-moonshot-api-key"
|
| 35 |
+
|
| 36 |
+
## xAI
|
| 37 |
+
XAI_BASE_URL="https://your-xai-base-url.com/v1"
|
| 38 |
+
XAI_API_KEY="your-xai-api-key"
|
| 39 |
+
```
|
| 40 |
+
|
| 41 |
+
### 3. Run Quick Example in MCPMark
|
| 42 |
+
Suppose you are running the employee query task with gemini-2.5-flash, and name your experiment as test-run-1, you can use the following command to test the `size_classification` task in `file_property`, which categorizes files by their sizes.
|
| 43 |
+
|
| 44 |
+
```bash
|
| 45 |
+
python -m pipeline
|
| 46 |
+
--exp-name test-run-1
|
| 47 |
+
--mcp filesystem
|
| 48 |
+
--tasks file_property/size_classification
|
| 49 |
+
--models gemini-2.5-flash
|
| 50 |
+
```
|
| 51 |
+
|
| 52 |
+
Here is the expected output (the verification may encounter failure due to model choices).
|
| 53 |
+
[](https://postimg.cc/Yj8nPZkQ)
|
| 54 |
+
|
| 55 |
+
The reuslts are saved under `restuls/{exp_name}/{mcp}_{model}/{tasks}`, if `exp-name` is not specified, the default name would be timestamp of the experiment (but specifying the `exp-name` is useful for resuming experiments).
|
| 56 |
+
|
| 57 |
+
For other MCP services, please refers to the [Installation and Docker Usage Page](./installation_and_docker_usage.md) for detailed instruction.
|
| 58 |
+
|
| 59 |
+
|
final-customers.yml
ADDED
|
@@ -0,0 +1,1494 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
- generic [active] [ref=e1]:
|
| 2 |
+
- generic [ref=e2]:
|
| 3 |
+
- link "Magento Admin Panel" [ref=e3] [cursor=pointer]:
|
| 4 |
+
- /url: http://localhost:7787/admin/admin/
|
| 5 |
+
- img "Magento Admin Panel" [ref=e4]
|
| 6 |
+
- navigation [ref=e5]:
|
| 7 |
+
- menubar [ref=e6]:
|
| 8 |
+
- listitem [ref=e7]:
|
| 9 |
+
- link " Dashboard" [ref=e8] [cursor=pointer]:
|
| 10 |
+
- /url: http://localhost:7787/admin/admin/dashboard/
|
| 11 |
+
- listitem [ref=e9]:
|
| 12 |
+
- link " Sales" [ref=e10] [cursor=pointer]:
|
| 13 |
+
- /url: "#"
|
| 14 |
+
- listitem [ref=e11]:
|
| 15 |
+
- link " Catalog" [ref=e12] [cursor=pointer]:
|
| 16 |
+
- /url: "#"
|
| 17 |
+
- listitem [ref=e13]:
|
| 18 |
+
- link " Customers" [ref=e14] [cursor=pointer]:
|
| 19 |
+
- /url: "#"
|
| 20 |
+
- listitem [ref=e15]:
|
| 21 |
+
- link " Marketing" [ref=e16] [cursor=pointer]:
|
| 22 |
+
- /url: "#"
|
| 23 |
+
- listitem [ref=e17]:
|
| 24 |
+
- link " Content" [ref=e18] [cursor=pointer]:
|
| 25 |
+
- /url: "#"
|
| 26 |
+
- listitem [ref=e19]:
|
| 27 |
+
- link " Reports" [ref=e20] [cursor=pointer]:
|
| 28 |
+
- /url: "#"
|
| 29 |
+
- listitem [ref=e21]:
|
| 30 |
+
- link " Stores" [ref=e22] [cursor=pointer]:
|
| 31 |
+
- /url: "#"
|
| 32 |
+
- listitem [ref=e23]:
|
| 33 |
+
- link " System" [ref=e24] [cursor=pointer]:
|
| 34 |
+
- /url: "#"
|
| 35 |
+
- listitem [ref=e25]:
|
| 36 |
+
- link " Find Partners & Extensions" [ref=e26] [cursor=pointer]:
|
| 37 |
+
- /url: http://localhost:7787/admin/marketplace/index/
|
| 38 |
+
- generic [ref=e27]:
|
| 39 |
+
- generic [ref=e31]:
|
| 40 |
+
- generic [ref=e32]:
|
| 41 |
+
- 'button "System Messages: 1" [ref=e33] [cursor=pointer]':
|
| 42 |
+
- generic [ref=e34]: "System Messages: 1"
|
| 43 |
+
- generic [ref=e36]:
|
| 44 |
+
- text: One or more
|
| 45 |
+
- link "indexers are invalid" [ref=e37] [cursor=pointer]:
|
| 46 |
+
- /url: http://localhost:7787/admin/indexer/indexer/list/
|
| 47 |
+
- text: . Make sure your
|
| 48 |
+
- link "Magento cron job" [ref=e38] [cursor=pointer]:
|
| 49 |
+
- /url: https://devdocs.magento.com/guides/v2.4/config-guide/cli/config-cli-subcommands-cron.html#create-or-remove-the-magento-crontab
|
| 50 |
+
- text: is running.
|
| 51 |
+
- text:
|
| 52 |
+
- banner [ref=e39]:
|
| 53 |
+
- heading "Customers" [level=1] [ref=e42]
|
| 54 |
+
- generic [ref=e43]:
|
| 55 |
+
- link " admin" [ref=e45] [cursor=pointer]:
|
| 56 |
+
- /url: http://localhost:7787/admin/admin/system_account/index/
|
| 57 |
+
- text:
|
| 58 |
+
- generic [ref=e47]: admin
|
| 59 |
+
- link "" [ref=e49] [cursor=pointer]:
|
| 60 |
+
- /url: http://localhost:7787/admin/admin/notification/index/
|
| 61 |
+
- generic:
|
| 62 |
+
- generic:
|
| 63 |
+
- generic:
|
| 64 |
+
- generic [ref=e50] [cursor=pointer]:
|
| 65 |
+
- textbox "" [ref=e51]
|
| 66 |
+
- main [ref=e52]:
|
| 67 |
+
- button "Add New Customer" [ref=e55] [cursor=pointer]
|
| 68 |
+
- generic [ref=e58]:
|
| 69 |
+
- text:
|
| 70 |
+
- generic [ref=e59]: You saved the customer.
|
| 71 |
+
- generic [ref=e63]:
|
| 72 |
+
- generic [ref=e74]:
|
| 73 |
+
- generic [ref=e75]:
|
| 74 |
+
- generic [ref=e76]:
|
| 75 |
+
- generic [ref=e77]:
|
| 76 |
+
- button " Default View" [ref=e78] [cursor=pointer]:
|
| 77 |
+
- text:
|
| 78 |
+
- generic [ref=e79]: Default View
|
| 79 |
+
- text:
|
| 80 |
+
- generic [ref=e80]:
|
| 81 |
+
- button " Columns" [ref=e81] [cursor=pointer]
|
| 82 |
+
- text:
|
| 83 |
+
- button " Export" [ref=e83] [cursor=pointer]
|
| 84 |
+
- generic [ref=e84]:
|
| 85 |
+
- textbox "Search by keyword" [ref=e85]
|
| 86 |
+
- button "Search" [ref=e86] [cursor=pointer]:
|
| 87 |
+
- button "Filters" [ref=e89] [cursor=pointer]
|
| 88 |
+
- generic [ref=e90]:
|
| 89 |
+
- button "Actions" [ref=e93] [cursor=pointer]
|
| 90 |
+
- generic [ref=e95]:
|
| 91 |
+
- generic [ref=e97]: 71 records found
|
| 92 |
+
- generic [ref=e99]:
|
| 93 |
+
- generic [ref=e100]:
|
| 94 |
+
- textbox "per page" [ref=e102]: "100"
|
| 95 |
+
- button "per page Select" [ref=e103] [cursor=pointer]:
|
| 96 |
+
- generic [ref=e104]: Select
|
| 97 |
+
- text:
|
| 98 |
+
- generic [ref=e105]: per page
|
| 99 |
+
- generic [ref=e106]:
|
| 100 |
+
- button "" [disabled]
|
| 101 |
+
- spinbutton "of 1" [ref=e107]: "1"
|
| 102 |
+
- generic [ref=e108]: of 1
|
| 103 |
+
- button "" [disabled]
|
| 104 |
+
- text: ↓
|
| 105 |
+
- table [ref=e110]:
|
| 106 |
+
- rowgroup [ref=e111]:
|
| 107 |
+
- row "Options ↓ Name Email Group Phone ZIP Country State/Province Customer Since" [ref=e112]:
|
| 108 |
+
- columnheader "Options" [ref=e113]:
|
| 109 |
+
- generic [ref=e114]:
|
| 110 |
+
- checkbox [ref=e115] [cursor=pointer]
|
| 111 |
+
- button "Options" [ref=e117] [cursor=pointer]:
|
| 112 |
+
- generic [ref=e118]: Options
|
| 113 |
+
- columnheader "↓ Name" [ref=e119] [cursor=pointer]:
|
| 114 |
+
- text: ↓
|
| 115 |
+
- generic [ref=e120]: Name
|
| 116 |
+
- columnheader "Email" [ref=e121] [cursor=pointer]:
|
| 117 |
+
- generic [ref=e122]: Email
|
| 118 |
+
- columnheader "Group" [ref=e123] [cursor=pointer]:
|
| 119 |
+
- generic [ref=e124]: Group
|
| 120 |
+
- columnheader "Phone" [ref=e125] [cursor=pointer]:
|
| 121 |
+
- generic [ref=e126]: Phone
|
| 122 |
+
- columnheader "ZIP" [ref=e127] [cursor=pointer]:
|
| 123 |
+
- generic [ref=e128]: ZIP
|
| 124 |
+
- columnheader "Country" [ref=e129] [cursor=pointer]:
|
| 125 |
+
- generic [ref=e130]: Country
|
| 126 |
+
- columnheader "State/Province" [ref=e131] [cursor=pointer]:
|
| 127 |
+
- generic [ref=e132]: State/Province
|
| 128 |
+
- columnheader "Customer Since" [ref=e133] [cursor=pointer]:
|
| 129 |
+
- generic [ref=e134]: Customer Since
|
| 130 |
+
- rowgroup [ref=e135]:
|
| 131 |
+
- row "Adam Garcia gamingpro456@gmail.com General 2065555555 98122 United States Washington Apr 19, 2023 5:46:14 PM" [ref=e136]:
|
| 132 |
+
- cell [ref=e137]:
|
| 133 |
+
- checkbox [ref=e139] [cursor=pointer]
|
| 134 |
+
- cell "Adam Garcia" [ref=e141]:
|
| 135 |
+
- generic [ref=e142]: Adam Garcia
|
| 136 |
+
- cell "gamingpro456@gmail.com" [ref=e143]:
|
| 137 |
+
- generic [ref=e144]: gamingpro456@gmail.com
|
| 138 |
+
- cell "General" [ref=e145]:
|
| 139 |
+
- generic [ref=e146]: General
|
| 140 |
+
- cell "2065555555" [ref=e147]:
|
| 141 |
+
- generic [ref=e148]: "2065555555"
|
| 142 |
+
- cell "98122" [ref=e149]:
|
| 143 |
+
- generic [ref=e150]: "98122"
|
| 144 |
+
- cell "United States" [ref=e151]:
|
| 145 |
+
- generic [ref=e152]: United States
|
| 146 |
+
- cell "Washington" [ref=e153]:
|
| 147 |
+
- generic [ref=e154]: Washington
|
| 148 |
+
- cell "Apr 19, 2023 5:46:14 PM" [ref=e155]:
|
| 149 |
+
- generic [ref=e156]: Apr 19, 2023 5:46:14 PM
|
| 150 |
+
- row "Adam Garcia adam.garcia@gmail.com General 6025551212 85004 United States Arizona Apr 19, 2023 5:46:40 PM" [ref=e157]:
|
| 151 |
+
- cell [ref=e158]:
|
| 152 |
+
- checkbox [ref=e160] [cursor=pointer]
|
| 153 |
+
- cell "Adam Garcia" [ref=e162]:
|
| 154 |
+
- generic [ref=e163]: Adam Garcia
|
| 155 |
+
- cell "adam.garcia@gmail.com" [ref=e164]:
|
| 156 |
+
- generic [ref=e165]: adam.garcia@gmail.com
|
| 157 |
+
- cell "General" [ref=e166]:
|
| 158 |
+
- generic [ref=e167]: General
|
| 159 |
+
- cell "6025551212" [ref=e168]:
|
| 160 |
+
- generic [ref=e169]: "6025551212"
|
| 161 |
+
- cell "85004" [ref=e170]:
|
| 162 |
+
- generic [ref=e171]: "85004"
|
| 163 |
+
- cell "United States" [ref=e172]:
|
| 164 |
+
- generic [ref=e173]: United States
|
| 165 |
+
- cell "Arizona" [ref=e174]:
|
| 166 |
+
- generic [ref=e175]: Arizona
|
| 167 |
+
- cell "Apr 19, 2023 5:46:40 PM" [ref=e176]:
|
| 168 |
+
- generic [ref=e177]: Apr 19, 2023 5:46:40 PM
|
| 169 |
+
- row "Alex Johnson fitnessjunkie22@yahoo.com General 3105555555 90212 United States California Apr 19, 2023 5:46:07 PM" [ref=e178]:
|
| 170 |
+
- cell [ref=e179]:
|
| 171 |
+
- checkbox [ref=e181] [cursor=pointer]
|
| 172 |
+
- cell "Alex Johnson" [ref=e183]:
|
| 173 |
+
- generic [ref=e184]: Alex Johnson
|
| 174 |
+
- cell "fitnessjunkie22@yahoo.com" [ref=e185]:
|
| 175 |
+
- generic [ref=e186]: fitnessjunkie22@yahoo.com
|
| 176 |
+
- cell "General" [ref=e187]:
|
| 177 |
+
- generic [ref=e188]: General
|
| 178 |
+
- cell "3105555555" [ref=e189]:
|
| 179 |
+
- generic [ref=e190]: "3105555555"
|
| 180 |
+
- cell "90212" [ref=e191]:
|
| 181 |
+
- generic [ref=e192]: "90212"
|
| 182 |
+
- cell "United States" [ref=e193]:
|
| 183 |
+
- generic [ref=e194]: United States
|
| 184 |
+
- cell "California" [ref=e195]:
|
| 185 |
+
- generic [ref=e196]: California
|
| 186 |
+
- cell "Apr 19, 2023 5:46:07 PM" [ref=e197]:
|
| 187 |
+
- generic [ref=e198]: Apr 19, 2023 5:46:07 PM
|
| 188 |
+
- row "Alex Martin alex.martin@gmail.com General 2125551212 10001 United States New York Apr 19, 2023 5:46:20 PM" [ref=e199]:
|
| 189 |
+
- cell [ref=e200]:
|
| 190 |
+
- checkbox [ref=e202] [cursor=pointer]
|
| 191 |
+
- cell "Alex Martin" [ref=e204]:
|
| 192 |
+
- generic [ref=e205]: Alex Martin
|
| 193 |
+
- cell "alex.martin@gmail.com" [ref=e206]:
|
| 194 |
+
- generic [ref=e207]: alex.martin@gmail.com
|
| 195 |
+
- cell "General" [ref=e208]:
|
| 196 |
+
- generic [ref=e209]: General
|
| 197 |
+
- cell "2125551212" [ref=e210]:
|
| 198 |
+
- generic [ref=e211]: "2125551212"
|
| 199 |
+
- cell "10001" [ref=e212]:
|
| 200 |
+
- generic [ref=e213]: "10001"
|
| 201 |
+
- cell "United States" [ref=e214]:
|
| 202 |
+
- generic [ref=e215]: United States
|
| 203 |
+
- cell "New York" [ref=e216]:
|
| 204 |
+
- generic [ref=e217]: New York
|
| 205 |
+
- cell "Apr 19, 2023 5:46:20 PM" [ref=e218]:
|
| 206 |
+
- generic [ref=e219]: Apr 19, 2023 5:46:20 PM
|
| 207 |
+
- row "Alexander Thomas alexander.thomas@hotmail.com General 3235551212 90028 United States California Apr 19, 2023 5:46:50 PM" [ref=e220]:
|
| 208 |
+
- cell [ref=e221]:
|
| 209 |
+
- checkbox [ref=e223] [cursor=pointer]
|
| 210 |
+
- cell "Alexander Thomas" [ref=e225]:
|
| 211 |
+
- generic [ref=e226]: Alexander Thomas
|
| 212 |
+
- cell "alexander.thomas@hotmail.com" [ref=e227]:
|
| 213 |
+
- generic [ref=e228]: alexander.thomas@hotmail.com
|
| 214 |
+
- cell "General" [ref=e229]:
|
| 215 |
+
- generic [ref=e230]: General
|
| 216 |
+
- cell "3235551212" [ref=e231]:
|
| 217 |
+
- generic [ref=e232]: "3235551212"
|
| 218 |
+
- cell "90028" [ref=e233]:
|
| 219 |
+
- generic [ref=e234]: "90028"
|
| 220 |
+
- cell "United States" [ref=e235]:
|
| 221 |
+
- generic [ref=e236]: United States
|
| 222 |
+
- cell "California" [ref=e237]:
|
| 223 |
+
- generic [ref=e238]: California
|
| 224 |
+
- cell "Apr 19, 2023 5:46:50 PM" [ref=e239]:
|
| 225 |
+
- generic [ref=e240]: Apr 19, 2023 5:46:50 PM
|
| 226 |
+
- row "Amanda Kim amanda.kim@gmail.com General 2015551234 07030 United States New Jersey Apr 23, 2023 12:13:15 AM" [ref=e241]:
|
| 227 |
+
- cell [ref=e242]:
|
| 228 |
+
- checkbox [ref=e244] [cursor=pointer]
|
| 229 |
+
- cell "Amanda Kim" [ref=e246]:
|
| 230 |
+
- generic [ref=e247]: Amanda Kim
|
| 231 |
+
- cell "amanda.kim@gmail.com" [ref=e248]:
|
| 232 |
+
- generic [ref=e249]: amanda.kim@gmail.com
|
| 233 |
+
- cell "General" [ref=e250]:
|
| 234 |
+
- generic [ref=e251]: General
|
| 235 |
+
- cell "2015551234" [ref=e252]:
|
| 236 |
+
- generic [ref=e253]: "2015551234"
|
| 237 |
+
- cell "07030" [ref=e254]:
|
| 238 |
+
- generic [ref=e255]: "07030"
|
| 239 |
+
- cell "United States" [ref=e256]:
|
| 240 |
+
- generic [ref=e257]: United States
|
| 241 |
+
- cell "New Jersey" [ref=e258]:
|
| 242 |
+
- generic [ref=e259]: New Jersey
|
| 243 |
+
- cell "Apr 23, 2023 12:13:15 AM" [ref=e260]:
|
| 244 |
+
- generic [ref=e261]: Apr 23, 2023 12:13:15 AM
|
| 245 |
+
- row "Anna Nguyen anna.nguyen@yahoo.com General 7135551212 77002 United States Texas Apr 23, 2023 12:13:09 AM" [ref=e262]:
|
| 246 |
+
- cell [ref=e263]:
|
| 247 |
+
- checkbox [ref=e265] [cursor=pointer]
|
| 248 |
+
- cell "Anna Nguyen" [ref=e267]:
|
| 249 |
+
- generic [ref=e268]: Anna Nguyen
|
| 250 |
+
- cell "anna.nguyen@yahoo.com" [ref=e269]:
|
| 251 |
+
- generic [ref=e270]: anna.nguyen@yahoo.com
|
| 252 |
+
- cell "General" [ref=e271]:
|
| 253 |
+
- generic [ref=e272]: General
|
| 254 |
+
- cell "7135551212" [ref=e273]:
|
| 255 |
+
- generic [ref=e274]: "7135551212"
|
| 256 |
+
- cell "77002" [ref=e275]:
|
| 257 |
+
- generic [ref=e276]: "77002"
|
| 258 |
+
- cell "United States" [ref=e277]:
|
| 259 |
+
- generic [ref=e278]: United States
|
| 260 |
+
- cell "Texas" [ref=e279]:
|
| 261 |
+
- generic [ref=e280]: Texas
|
| 262 |
+
- cell "Apr 23, 2023 12:13:09 AM" [ref=e281]:
|
| 263 |
+
- generic [ref=e282]: Apr 23, 2023 12:13:09 AM
|
| 264 |
+
- row "Ava Brown beachlover99@yahoo.com General 3105555555 90265 United States California Apr 19, 2023 5:46:01 PM" [ref=e283]:
|
| 265 |
+
- cell [ref=e284]:
|
| 266 |
+
- checkbox [ref=e286] [cursor=pointer]
|
| 267 |
+
- cell "Ava Brown" [ref=e288]:
|
| 268 |
+
- generic [ref=e289]: Ava Brown
|
| 269 |
+
- cell "beachlover99@yahoo.com" [ref=e290]:
|
| 270 |
+
- generic [ref=e291]: beachlover99@yahoo.com
|
| 271 |
+
- cell "General" [ref=e292]:
|
| 272 |
+
- generic [ref=e293]: General
|
| 273 |
+
- cell "3105555555" [ref=e294]:
|
| 274 |
+
- generic [ref=e295]: "3105555555"
|
| 275 |
+
- cell "90265" [ref=e296]:
|
| 276 |
+
- generic [ref=e297]: "90265"
|
| 277 |
+
- cell "United States" [ref=e298]:
|
| 278 |
+
- generic [ref=e299]: United States
|
| 279 |
+
- cell "California" [ref=e300]:
|
| 280 |
+
- generic [ref=e301]: California
|
| 281 |
+
- cell "Apr 19, 2023 5:46:01 PM" [ref=e302]:
|
| 282 |
+
- generic [ref=e303]: Apr 19, 2023 5:46:01 PM
|
| 283 |
+
- row "Bob Johnson bob123@hotmail.com General 9721234567 75080 United States Texas Apr 19, 2023 5:45:14 PM" [ref=e304]:
|
| 284 |
+
- cell [ref=e305]:
|
| 285 |
+
- checkbox [ref=e307] [cursor=pointer]
|
| 286 |
+
- cell "Bob Johnson" [ref=e309]:
|
| 287 |
+
- generic [ref=e310]: Bob Johnson
|
| 288 |
+
- cell "bob123@hotmail.com" [ref=e311]:
|
| 289 |
+
- generic [ref=e312]: bob123@hotmail.com
|
| 290 |
+
- cell "General" [ref=e313]:
|
| 291 |
+
- generic [ref=e314]: General
|
| 292 |
+
- cell "9721234567" [ref=e315]:
|
| 293 |
+
- generic [ref=e316]: "9721234567"
|
| 294 |
+
- cell "75080" [ref=e317]:
|
| 295 |
+
- generic [ref=e318]: "75080"
|
| 296 |
+
- cell "United States" [ref=e319]:
|
| 297 |
+
- generic [ref=e320]: United States
|
| 298 |
+
- cell "Texas" [ref=e321]:
|
| 299 |
+
- generic [ref=e322]: Texas
|
| 300 |
+
- cell "Apr 19, 2023 5:45:14 PM" [ref=e323]:
|
| 301 |
+
- generic [ref=e324]: Apr 19, 2023 5:45:14 PM
|
| 302 |
+
- row "Bob Jones bbjones@gmail.com General 2141918677 75202 United States Texas Apr 19, 2023 5:45:04 PM" [ref=e325]:
|
| 303 |
+
- cell [ref=e326]:
|
| 304 |
+
- checkbox [ref=e328] [cursor=pointer]
|
| 305 |
+
- cell "Bob Jones" [ref=e330]:
|
| 306 |
+
- generic [ref=e331]: Bob Jones
|
| 307 |
+
- cell "bbjones@gmail.com" [ref=e332]:
|
| 308 |
+
- generic [ref=e333]: bbjones@gmail.com
|
| 309 |
+
- cell "General" [ref=e334]:
|
| 310 |
+
- generic [ref=e335]: General
|
| 311 |
+
- cell "2141918677" [ref=e336]:
|
| 312 |
+
- generic [ref=e337]: "2141918677"
|
| 313 |
+
- cell "75202" [ref=e338]:
|
| 314 |
+
- generic [ref=e339]: "75202"
|
| 315 |
+
- cell "United States" [ref=e340]:
|
| 316 |
+
- generic [ref=e341]: United States
|
| 317 |
+
- cell "Texas" [ref=e342]:
|
| 318 |
+
- generic [ref=e343]: Texas
|
| 319 |
+
- cell "Apr 19, 2023 5:45:04 PM" [ref=e344]:
|
| 320 |
+
- generic [ref=e345]: Apr 19, 2023 5:45:04 PM
|
| 321 |
+
- row "Brian Smith brian.smith@yahoo.com General 7025551212 89109 United States Nevada Apr 19, 2023 5:46:44 PM" [ref=e346]:
|
| 322 |
+
- cell [ref=e347]:
|
| 323 |
+
- checkbox [ref=e349] [cursor=pointer]
|
| 324 |
+
- cell "Brian Smith" [ref=e351]:
|
| 325 |
+
- generic [ref=e352]: Brian Smith
|
| 326 |
+
- cell "brian.smith@yahoo.com" [ref=e353]:
|
| 327 |
+
- generic [ref=e354]: brian.smith@yahoo.com
|
| 328 |
+
- cell "General" [ref=e355]:
|
| 329 |
+
- generic [ref=e356]: General
|
| 330 |
+
- cell "7025551212" [ref=e357]:
|
| 331 |
+
- generic [ref=e358]: "7025551212"
|
| 332 |
+
- cell "89109" [ref=e359]:
|
| 333 |
+
- generic [ref=e360]: "89109"
|
| 334 |
+
- cell "United States" [ref=e361]:
|
| 335 |
+
- generic [ref=e362]: United States
|
| 336 |
+
- cell "Nevada" [ref=e363]:
|
| 337 |
+
- generic [ref=e364]: Nevada
|
| 338 |
+
- cell "Apr 19, 2023 5:46:44 PM" [ref=e365]:
|
| 339 |
+
- generic [ref=e366]: Apr 19, 2023 5:46:44 PM
|
| 340 |
+
- row "Daniel Jackson daniel.jackson@hotmail.com General 2155556789 19102 United States Pennsylvania Apr 19, 2023 5:45:27 PM" [ref=e367]:
|
| 341 |
+
- cell [ref=e368]:
|
| 342 |
+
- checkbox [ref=e370] [cursor=pointer]
|
| 343 |
+
- cell "Daniel Jackson" [ref=e372]:
|
| 344 |
+
- generic [ref=e373]: Daniel Jackson
|
| 345 |
+
- cell "daniel.jackson@hotmail.com" [ref=e374]:
|
| 346 |
+
- generic [ref=e375]: daniel.jackson@hotmail.com
|
| 347 |
+
- cell "General" [ref=e376]:
|
| 348 |
+
- generic [ref=e377]: General
|
| 349 |
+
- cell "2155556789" [ref=e378]:
|
| 350 |
+
- generic [ref=e379]: "2155556789"
|
| 351 |
+
- cell "19102" [ref=e380]:
|
| 352 |
+
- generic [ref=e381]: "19102"
|
| 353 |
+
- cell "United States" [ref=e382]:
|
| 354 |
+
- generic [ref=e383]: United States
|
| 355 |
+
- cell "Pennsylvania" [ref=e384]:
|
| 356 |
+
- generic [ref=e385]: Pennsylvania
|
| 357 |
+
- cell "Apr 19, 2023 5:45:27 PM" [ref=e386]:
|
| 358 |
+
- generic [ref=e387]: Apr 19, 2023 5:45:27 PM
|
| 359 |
+
- row "David Lee david.lee@gmail.com General 6175551212 02108 United States Massachusetts Apr 19, 2023 5:46:30 PM" [ref=e388]:
|
| 360 |
+
- cell [ref=e389]:
|
| 361 |
+
- checkbox [ref=e391] [cursor=pointer]
|
| 362 |
+
- cell "David Lee" [ref=e393]:
|
| 363 |
+
- generic [ref=e394]: David Lee
|
| 364 |
+
- cell "david.lee@gmail.com" [ref=e395]:
|
| 365 |
+
- generic [ref=e396]: david.lee@gmail.com
|
| 366 |
+
- cell "General" [ref=e397]:
|
| 367 |
+
- generic [ref=e398]: General
|
| 368 |
+
- cell "6175551212" [ref=e399]:
|
| 369 |
+
- generic [ref=e400]: "6175551212"
|
| 370 |
+
- cell "02108" [ref=e401]:
|
| 371 |
+
- generic [ref=e402]: "02108"
|
| 372 |
+
- cell "United States" [ref=e403]:
|
| 373 |
+
- generic [ref=e404]: United States
|
| 374 |
+
- cell "Massachusetts" [ref=e405]:
|
| 375 |
+
- generic [ref=e406]: Massachusetts
|
| 376 |
+
- cell "Apr 19, 2023 5:46:30 PM" [ref=e407]:
|
| 377 |
+
- generic [ref=e408]: Apr 19, 2023 5:46:30 PM
|
| 378 |
+
- row "David Smith david.smith@gmail.com General 2145551212 75201 United States Texas Apr 23, 2023 12:12:54 AM" [ref=e409]:
|
| 379 |
+
- cell [ref=e410]:
|
| 380 |
+
- checkbox [ref=e412] [cursor=pointer]
|
| 381 |
+
- cell "David Smith" [ref=e414]:
|
| 382 |
+
- generic [ref=e415]: David Smith
|
| 383 |
+
- cell "david.smith@gmail.com" [ref=e416]:
|
| 384 |
+
- generic [ref=e417]: david.smith@gmail.com
|
| 385 |
+
- cell "General" [ref=e418]:
|
| 386 |
+
- generic [ref=e419]: General
|
| 387 |
+
- cell "2145551212" [ref=e420]:
|
| 388 |
+
- generic [ref=e421]: "2145551212"
|
| 389 |
+
- cell "75201" [ref=e422]:
|
| 390 |
+
- generic [ref=e423]: "75201"
|
| 391 |
+
- cell "United States" [ref=e424]:
|
| 392 |
+
- generic [ref=e425]: United States
|
| 393 |
+
- cell "Texas" [ref=e426]:
|
| 394 |
+
- generic [ref=e427]: Texas
|
| 395 |
+
- cell "Apr 23, 2023 12:12:54 AM" [ref=e428]:
|
| 396 |
+
- generic [ref=e429]: Apr 23, 2023 12:12:54 AM
|
| 397 |
+
- row "Emily Chen emily.chen@hotmail.com General 6175551212 02108 United States Massachusetts Apr 23, 2023 12:13:05 AM" [ref=e430]:
|
| 398 |
+
- cell [ref=e431]:
|
| 399 |
+
- checkbox [ref=e433] [cursor=pointer]
|
| 400 |
+
- cell "Emily Chen" [ref=e435]:
|
| 401 |
+
- generic [ref=e436]: Emily Chen
|
| 402 |
+
- cell "emily.chen@hotmail.com" [ref=e437]:
|
| 403 |
+
- generic [ref=e438]: emily.chen@hotmail.com
|
| 404 |
+
- cell "General" [ref=e439]:
|
| 405 |
+
- generic [ref=e440]: General
|
| 406 |
+
- cell "6175551212" [ref=e441]:
|
| 407 |
+
- generic [ref=e442]: "6175551212"
|
| 408 |
+
- cell "02108" [ref=e443]:
|
| 409 |
+
- generic [ref=e444]: "02108"
|
| 410 |
+
- cell "United States" [ref=e445]:
|
| 411 |
+
- generic [ref=e446]: United States
|
| 412 |
+
- cell "Massachusetts" [ref=e447]:
|
| 413 |
+
- generic [ref=e448]: Massachusetts
|
| 414 |
+
- cell "Apr 23, 2023 12:13:05 AM" [ref=e449]:
|
| 415 |
+
- generic [ref=e450]: Apr 23, 2023 12:13:05 AM
|
| 416 |
+
- row "Emily Wilson emily.wilson@gmail.com General 3125551212 60611 United States Illinois Apr 23, 2023 12:14:24 AM" [ref=e451]:
|
| 417 |
+
- cell [ref=e452]:
|
| 418 |
+
- checkbox [ref=e454] [cursor=pointer]
|
| 419 |
+
- cell "Emily Wilson" [ref=e456]:
|
| 420 |
+
- generic [ref=e457]: Emily Wilson
|
| 421 |
+
- cell "emily.wilson@gmail.com" [ref=e458]:
|
| 422 |
+
- generic [ref=e459]: emily.wilson@gmail.com
|
| 423 |
+
- cell "General" [ref=e460]:
|
| 424 |
+
- generic [ref=e461]: General
|
| 425 |
+
- cell "3125551212" [ref=e462]:
|
| 426 |
+
- generic [ref=e463]: "3125551212"
|
| 427 |
+
- cell "60611" [ref=e464]:
|
| 428 |
+
- generic [ref=e465]: "60611"
|
| 429 |
+
- cell "United States" [ref=e466]:
|
| 430 |
+
- generic [ref=e467]: United States
|
| 431 |
+
- cell "Illinois" [ref=e468]:
|
| 432 |
+
- generic [ref=e469]: Illinois
|
| 433 |
+
- cell "Apr 23, 2023 12:14:24 AM" [ref=e470]:
|
| 434 |
+
- generic [ref=e471]: Apr 23, 2023 12:14:24 AM
|
| 435 |
+
- row "Emma Davis musiclover99@hotmail.com General 5125555555 78701 United States Texas Apr 19, 2023 5:46:10 PM" [ref=e472]:
|
| 436 |
+
- cell [ref=e473]:
|
| 437 |
+
- checkbox [ref=e475] [cursor=pointer]
|
| 438 |
+
- cell "Emma Davis" [ref=e477]:
|
| 439 |
+
- generic [ref=e478]: Emma Davis
|
| 440 |
+
- cell "musiclover99@hotmail.com" [ref=e479]:
|
| 441 |
+
- generic [ref=e480]: musiclover99@hotmail.com
|
| 442 |
+
- cell "General" [ref=e481]:
|
| 443 |
+
- generic [ref=e482]: General
|
| 444 |
+
- cell "5125555555" [ref=e483]:
|
| 445 |
+
- generic [ref=e484]: "5125555555"
|
| 446 |
+
- cell "78701" [ref=e485]:
|
| 447 |
+
- generic [ref=e486]: "78701"
|
| 448 |
+
- cell "United States" [ref=e487]:
|
| 449 |
+
- generic [ref=e488]: United States
|
| 450 |
+
- cell "Texas" [ref=e489]:
|
| 451 |
+
- generic [ref=e490]: Texas
|
| 452 |
+
- cell "Apr 19, 2023 5:46:10 PM" [ref=e491]:
|
| 453 |
+
- generic [ref=e492]: Apr 19, 2023 5:46:10 PM
|
| 454 |
+
- row "Emma Lopez emma.lopez@gmail.com General 6505551212 94010 United States California Apr 23, 2023 12:14:57 AM" [ref=e493]:
|
| 455 |
+
- cell [ref=e494]:
|
| 456 |
+
- checkbox [ref=e496] [cursor=pointer]
|
| 457 |
+
- cell "Emma Lopez" [ref=e498]:
|
| 458 |
+
- generic [ref=e499]: Emma Lopez
|
| 459 |
+
- cell "emma.lopez@gmail.com" [ref=e500]:
|
| 460 |
+
- generic [ref=e501]: emma.lopez@gmail.com
|
| 461 |
+
- cell "General" [ref=e502]:
|
| 462 |
+
- generic [ref=e503]: General
|
| 463 |
+
- cell "6505551212" [ref=e504]:
|
| 464 |
+
- generic [ref=e505]: "6505551212"
|
| 465 |
+
- cell "94010" [ref=e506]:
|
| 466 |
+
- generic [ref=e507]: "94010"
|
| 467 |
+
- cell "United States" [ref=e508]:
|
| 468 |
+
- generic [ref=e509]: United States
|
| 469 |
+
- cell "California" [ref=e510]:
|
| 470 |
+
- generic [ref=e511]: California
|
| 471 |
+
- cell "Apr 23, 2023 12:14:57 AM" [ref=e512]:
|
| 472 |
+
- generic [ref=e513]: Apr 23, 2023 12:14:57 AM
|
| 473 |
+
- row "Ethan Garcia ethan.garcia@yahoo.com General 2145551212 75201 United States Texas Apr 23, 2023 12:13:53 AM" [ref=e514]:
|
| 474 |
+
- cell [ref=e515]:
|
| 475 |
+
- checkbox [ref=e517] [cursor=pointer]
|
| 476 |
+
- cell "Ethan Garcia" [ref=e519]:
|
| 477 |
+
- generic [ref=e520]: Ethan Garcia
|
| 478 |
+
- cell "ethan.garcia@yahoo.com" [ref=e521]:
|
| 479 |
+
- generic [ref=e522]: ethan.garcia@yahoo.com
|
| 480 |
+
- cell "General" [ref=e523]:
|
| 481 |
+
- generic [ref=e524]: General
|
| 482 |
+
- cell "2145551212" [ref=e525]:
|
| 483 |
+
- generic [ref=e526]: "2145551212"
|
| 484 |
+
- cell "75201" [ref=e527]:
|
| 485 |
+
- generic [ref=e528]: "75201"
|
| 486 |
+
- cell "United States" [ref=e529]:
|
| 487 |
+
- generic [ref=e530]: United States
|
| 488 |
+
- cell "Texas" [ref=e531]:
|
| 489 |
+
- generic [ref=e532]: Texas
|
| 490 |
+
- cell "Apr 23, 2023 12:13:53 AM" [ref=e533]:
|
| 491 |
+
- generic [ref=e534]: Apr 23, 2023 12:13:53 AM
|
| 492 |
+
- row "Grace Nguyen avidreader99@yahoo.com General 6175555555 02138 United States Massachusetts Apr 19, 2023 5:45:51 PM" [ref=e535]:
|
| 493 |
+
- cell [ref=e536]:
|
| 494 |
+
- checkbox [ref=e538] [cursor=pointer]
|
| 495 |
+
- cell "Grace Nguyen" [ref=e540]:
|
| 496 |
+
- generic [ref=e541]: Grace Nguyen
|
| 497 |
+
- cell "avidreader99@yahoo.com" [ref=e542]:
|
| 498 |
+
- generic [ref=e543]: avidreader99@yahoo.com
|
| 499 |
+
- cell "General" [ref=e544]:
|
| 500 |
+
- generic [ref=e545]: General
|
| 501 |
+
- cell "6175555555" [ref=e546]:
|
| 502 |
+
- generic [ref=e547]: "6175555555"
|
| 503 |
+
- cell "02138" [ref=e548]:
|
| 504 |
+
- generic [ref=e549]: "02138"
|
| 505 |
+
- cell "United States" [ref=e550]:
|
| 506 |
+
- generic [ref=e551]: United States
|
| 507 |
+
- cell "Massachusetts" [ref=e552]:
|
| 508 |
+
- generic [ref=e553]: Massachusetts
|
| 509 |
+
- cell "Apr 19, 2023 5:45:51 PM" [ref=e554]:
|
| 510 |
+
- generic [ref=e555]: Apr 19, 2023 5:45:51 PM
|
| 511 |
+
- row "Hannah Lim hannah.lim@gmail.com General 7035551212 22030 United States Virginia Apr 23, 2023 12:14:40 AM" [ref=e556]:
|
| 512 |
+
- cell [ref=e557]:
|
| 513 |
+
- checkbox [ref=e559] [cursor=pointer]
|
| 514 |
+
- cell "Hannah Lim" [ref=e561]:
|
| 515 |
+
- generic [ref=e562]: Hannah Lim
|
| 516 |
+
- cell "hannah.lim@gmail.com" [ref=e563]:
|
| 517 |
+
- generic [ref=e564]: hannah.lim@gmail.com
|
| 518 |
+
- cell "General" [ref=e565]:
|
| 519 |
+
- generic [ref=e566]: General
|
| 520 |
+
- cell "7035551212" [ref=e567]:
|
| 521 |
+
- generic [ref=e568]: "7035551212"
|
| 522 |
+
- cell "22030" [ref=e569]:
|
| 523 |
+
- generic [ref=e570]: "22030"
|
| 524 |
+
- cell "United States" [ref=e571]:
|
| 525 |
+
- generic [ref=e572]: United States
|
| 526 |
+
- cell "Virginia" [ref=e573]:
|
| 527 |
+
- generic [ref=e574]: Virginia
|
| 528 |
+
- cell "Apr 23, 2023 12:14:40 AM" [ref=e575]:
|
| 529 |
+
- generic [ref=e576]: Apr 23, 2023 12:14:40 AM
|
| 530 |
+
- row "Isaac Rodriguez isaac.rodriguez@gmail.com General 6025551212 85004 United States Arizona Apr 23, 2023 12:14:45 AM" [ref=e577]:
|
| 531 |
+
- cell [ref=e578]:
|
| 532 |
+
- checkbox [ref=e580] [cursor=pointer]
|
| 533 |
+
- cell "Isaac Rodriguez" [ref=e582]:
|
| 534 |
+
- generic [ref=e583]: Isaac Rodriguez
|
| 535 |
+
- cell "isaac.rodriguez@gmail.com" [ref=e584]:
|
| 536 |
+
- generic [ref=e585]: isaac.rodriguez@gmail.com
|
| 537 |
+
- cell "General" [ref=e586]:
|
| 538 |
+
- generic [ref=e587]: General
|
| 539 |
+
- cell "6025551212" [ref=e588]:
|
| 540 |
+
- generic [ref=e589]: "6025551212"
|
| 541 |
+
- cell "85004" [ref=e590]:
|
| 542 |
+
- generic [ref=e591]: "85004"
|
| 543 |
+
- cell "United States" [ref=e592]:
|
| 544 |
+
- generic [ref=e593]: United States
|
| 545 |
+
- cell "Arizona" [ref=e594]:
|
| 546 |
+
- generic [ref=e595]: Arizona
|
| 547 |
+
- cell "Apr 23, 2023 12:14:45 AM" [ref=e596]:
|
| 548 |
+
- generic [ref=e597]: Apr 23, 2023 12:14:45 AM
|
| 549 |
+
- row "Isabella Romano isabella.romano16@premium.eu Premium Europe 3 Jun 7, 2026 4:36:29 AM" [ref=e598]:
|
| 550 |
+
- cell [ref=e599]:
|
| 551 |
+
- checkbox [ref=e601] [cursor=pointer]
|
| 552 |
+
- cell "Isabella Romano" [ref=e603]:
|
| 553 |
+
- generic [ref=e604]: Isabella Romano
|
| 554 |
+
- cell "isabella.romano16@premium.eu" [ref=e605]:
|
| 555 |
+
- generic [ref=e606]: isabella.romano16@premium.eu
|
| 556 |
+
- cell "Premium Europe 3" [ref=e607]:
|
| 557 |
+
- generic [ref=e608]: Premium Europe 3
|
| 558 |
+
- cell [ref=e609]
|
| 559 |
+
- cell [ref=e610]
|
| 560 |
+
- cell [ref=e611]
|
| 561 |
+
- cell [ref=e612]
|
| 562 |
+
- cell "Jun 7, 2026 4:36:29 AM" [ref=e613]:
|
| 563 |
+
- generic [ref=e614]: Jun 7, 2026 4:36:29 AM
|
| 564 |
+
- row "Isabella Santos isabella.santos@gmail.com General 3055551212 33130 United States Florida Apr 23, 2023 12:14:32 AM" [ref=e615]:
|
| 565 |
+
- cell [ref=e616]:
|
| 566 |
+
- checkbox [ref=e618] [cursor=pointer]
|
| 567 |
+
- cell "Isabella Santos" [ref=e620]:
|
| 568 |
+
- generic [ref=e621]: Isabella Santos
|
| 569 |
+
- cell "isabella.santos@gmail.com" [ref=e622]:
|
| 570 |
+
- generic [ref=e623]: isabella.santos@gmail.com
|
| 571 |
+
- cell "General" [ref=e624]:
|
| 572 |
+
- generic [ref=e625]: General
|
| 573 |
+
- cell "3055551212" [ref=e626]:
|
| 574 |
+
- generic [ref=e627]: "3055551212"
|
| 575 |
+
- cell "33130" [ref=e628]:
|
| 576 |
+
- generic [ref=e629]: "33130"
|
| 577 |
+
- cell "United States" [ref=e630]:
|
| 578 |
+
- generic [ref=e631]: United States
|
| 579 |
+
- cell "Florida" [ref=e632]:
|
| 580 |
+
- generic [ref=e633]: Florida
|
| 581 |
+
- cell "Apr 23, 2023 12:14:32 AM" [ref=e634]:
|
| 582 |
+
- generic [ref=e635]: Apr 23, 2023 12:14:32 AM
|
| 583 |
+
- row "Jacob Rivera jacob.rivera@hotmail.com General 6025551212 85004 United States Arizona Apr 23, 2023 12:14:01 AM" [ref=e636]:
|
| 584 |
+
- cell [ref=e637]:
|
| 585 |
+
- checkbox [ref=e639] [cursor=pointer]
|
| 586 |
+
- cell "Jacob Rivera" [ref=e641]:
|
| 587 |
+
- generic [ref=e642]: Jacob Rivera
|
| 588 |
+
- cell "jacob.rivera@hotmail.com" [ref=e643]:
|
| 589 |
+
- generic [ref=e644]: jacob.rivera@hotmail.com
|
| 590 |
+
- cell "General" [ref=e645]:
|
| 591 |
+
- generic [ref=e646]: General
|
| 592 |
+
- cell "6025551212" [ref=e647]:
|
| 593 |
+
- generic [ref=e648]: "6025551212"
|
| 594 |
+
- cell "85004" [ref=e649]:
|
| 595 |
+
- generic [ref=e650]: "85004"
|
| 596 |
+
- cell "United States" [ref=e651]:
|
| 597 |
+
- generic [ref=e652]: United States
|
| 598 |
+
- cell "Arizona" [ref=e653]:
|
| 599 |
+
- generic [ref=e654]: Arizona
|
| 600 |
+
- cell "Apr 23, 2023 12:14:01 AM" [ref=e655]:
|
| 601 |
+
- generic [ref=e656]: Apr 23, 2023 12:14:01 AM
|
| 602 |
+
- row "James Baker james.baker@gmail.com General 2145551212 75201 United States Texas Apr 23, 2023 12:14:28 AM" [ref=e657]:
|
| 603 |
+
- cell [ref=e658]:
|
| 604 |
+
- checkbox [ref=e660] [cursor=pointer]
|
| 605 |
+
- cell "James Baker" [ref=e662]:
|
| 606 |
+
- generic [ref=e663]: James Baker
|
| 607 |
+
- cell "james.baker@gmail.com" [ref=e664]:
|
| 608 |
+
- generic [ref=e665]: james.baker@gmail.com
|
| 609 |
+
- cell "General" [ref=e666]:
|
| 610 |
+
- generic [ref=e667]: General
|
| 611 |
+
- cell "2145551212" [ref=e668]:
|
| 612 |
+
- generic [ref=e669]: "2145551212"
|
| 613 |
+
- cell "75201" [ref=e670]:
|
| 614 |
+
- generic [ref=e671]: "75201"
|
| 615 |
+
- cell "United States" [ref=e672]:
|
| 616 |
+
- generic [ref=e673]: United States
|
| 617 |
+
- cell "Texas" [ref=e674]:
|
| 618 |
+
- generic [ref=e675]: Texas
|
| 619 |
+
- cell "Apr 23, 2023 12:14:28 AM" [ref=e676]:
|
| 620 |
+
- generic [ref=e677]: Apr 23, 2023 12:14:28 AM
|
| 621 |
+
- row "James Kim james.kim@gmail.com General 3125551212 60601 United States Illinois Apr 23, 2023 12:13:29 AM" [ref=e678]:
|
| 622 |
+
- cell [ref=e679]:
|
| 623 |
+
- checkbox [ref=e681] [cursor=pointer]
|
| 624 |
+
- cell "James Kim" [ref=e683]:
|
| 625 |
+
- generic [ref=e684]: James Kim
|
| 626 |
+
- cell "james.kim@gmail.com" [ref=e685]:
|
| 627 |
+
- generic [ref=e686]: james.kim@gmail.com
|
| 628 |
+
- cell "General" [ref=e687]:
|
| 629 |
+
- generic [ref=e688]: General
|
| 630 |
+
- cell "3125551212" [ref=e689]:
|
| 631 |
+
- generic [ref=e690]: "3125551212"
|
| 632 |
+
- cell "60601" [ref=e691]:
|
| 633 |
+
- generic [ref=e692]: "60601"
|
| 634 |
+
- cell "United States" [ref=e693]:
|
| 635 |
+
- generic [ref=e694]: United States
|
| 636 |
+
- cell "Illinois" [ref=e695]:
|
| 637 |
+
- generic [ref=e696]: Illinois
|
| 638 |
+
- cell "Apr 23, 2023 12:13:29 AM" [ref=e697]:
|
| 639 |
+
- generic [ref=e698]: Apr 23, 2023 12:13:29 AM
|
| 640 |
+
- row "Jane Doe jane.doe@hotmail.com General 4123671901 33139 United States Florida Apr 19, 2023 5:45:01 PM" [ref=e699]:
|
| 641 |
+
- cell [ref=e700]:
|
| 642 |
+
- checkbox [ref=e702] [cursor=pointer]
|
| 643 |
+
- cell "Jane Doe" [ref=e704]:
|
| 644 |
+
- generic [ref=e705]: Jane Doe
|
| 645 |
+
- cell "jane.doe@hotmail.com" [ref=e706]:
|
| 646 |
+
- generic [ref=e707]: jane.doe@hotmail.com
|
| 647 |
+
- cell "General" [ref=e708]:
|
| 648 |
+
- generic [ref=e709]: General
|
| 649 |
+
- cell "4123671901" [ref=e710]:
|
| 650 |
+
- generic [ref=e711]: "4123671901"
|
| 651 |
+
- cell "33139" [ref=e712]:
|
| 652 |
+
- generic [ref=e713]: "33139"
|
| 653 |
+
- cell "United States" [ref=e714]:
|
| 654 |
+
- generic [ref=e715]: United States
|
| 655 |
+
- cell "Florida" [ref=e716]:
|
| 656 |
+
- generic [ref=e717]: Florida
|
| 657 |
+
- cell "Apr 19, 2023 5:45:01 PM" [ref=e718]:
|
| 658 |
+
- generic [ref=e719]: Apr 19, 2023 5:45:01 PM
|
| 659 |
+
- row "Jane Doe jane.doe@gmail.com General 2125551212 10001 United States New York Apr 23, 2023 12:13:19 AM" [ref=e720]:
|
| 660 |
+
- cell [ref=e721]:
|
| 661 |
+
- checkbox [ref=e723] [cursor=pointer]
|
| 662 |
+
- cell "Jane Doe" [ref=e725]:
|
| 663 |
+
- generic [ref=e726]: Jane Doe
|
| 664 |
+
- cell "jane.doe@gmail.com" [ref=e727]:
|
| 665 |
+
- generic [ref=e728]: jane.doe@gmail.com
|
| 666 |
+
- cell "General" [ref=e729]:
|
| 667 |
+
- generic [ref=e730]: General
|
| 668 |
+
- cell "2125551212" [ref=e731]:
|
| 669 |
+
- generic [ref=e732]: "2125551212"
|
| 670 |
+
- cell "10001" [ref=e733]:
|
| 671 |
+
- generic [ref=e734]: "10001"
|
| 672 |
+
- cell "United States" [ref=e735]:
|
| 673 |
+
- generic [ref=e736]: United States
|
| 674 |
+
- cell "New York" [ref=e737]:
|
| 675 |
+
- generic [ref=e738]: New York
|
| 676 |
+
- cell "Apr 23, 2023 12:13:19 AM" [ref=e739]:
|
| 677 |
+
- generic [ref=e740]: Apr 23, 2023 12:13:19 AM
|
| 678 |
+
- row "Jane Smith janesmith@gmail.com General 2065554321 98122 United States Washington Apr 19, 2023 5:45:24 PM" [ref=e741]:
|
| 679 |
+
- cell [ref=e742]:
|
| 680 |
+
- checkbox [ref=e744] [cursor=pointer]
|
| 681 |
+
- cell "Jane Smith" [ref=e746]:
|
| 682 |
+
- generic [ref=e747]: Jane Smith
|
| 683 |
+
- cell "janesmith@gmail.com" [ref=e748]:
|
| 684 |
+
- generic [ref=e749]: janesmith@gmail.com
|
| 685 |
+
- cell "General" [ref=e750]:
|
| 686 |
+
- generic [ref=e751]: General
|
| 687 |
+
- cell "2065554321" [ref=e752]:
|
| 688 |
+
- generic [ref=e753]: "2065554321"
|
| 689 |
+
- cell "98122" [ref=e754]:
|
| 690 |
+
- generic [ref=e755]: "98122"
|
| 691 |
+
- cell "United States" [ref=e756]:
|
| 692 |
+
- generic [ref=e757]: United States
|
| 693 |
+
- cell "Washington" [ref=e758]:
|
| 694 |
+
- generic [ref=e759]: Washington
|
| 695 |
+
- cell "Apr 19, 2023 5:45:24 PM" [ref=e760]:
|
| 696 |
+
- generic [ref=e761]: Apr 19, 2023 5:45:24 PM
|
| 697 |
+
- row "Jane Smith janesmith456@yahoo.com General 3105555555 90210 United States California Apr 19, 2023 5:45:41 PM" [ref=e762]:
|
| 698 |
+
- cell [ref=e763]:
|
| 699 |
+
- checkbox [ref=e765] [cursor=pointer]
|
| 700 |
+
- cell "Jane Smith" [ref=e767]:
|
| 701 |
+
- generic [ref=e768]: Jane Smith
|
| 702 |
+
- cell "janesmith456@yahoo.com" [ref=e769]:
|
| 703 |
+
- generic [ref=e770]: janesmith456@yahoo.com
|
| 704 |
+
- cell "General" [ref=e771]:
|
| 705 |
+
- generic [ref=e772]: General
|
| 706 |
+
- cell "3105555555" [ref=e773]:
|
| 707 |
+
- generic [ref=e774]: "3105555555"
|
| 708 |
+
- cell "90210" [ref=e775]:
|
| 709 |
+
- generic [ref=e776]: "90210"
|
| 710 |
+
- cell "United States" [ref=e777]:
|
| 711 |
+
- generic [ref=e778]: United States
|
| 712 |
+
- cell "California" [ref=e779]:
|
| 713 |
+
- generic [ref=e780]: California
|
| 714 |
+
- cell "Apr 19, 2023 5:45:41 PM" [ref=e781]:
|
| 715 |
+
- generic [ref=e782]: Apr 19, 2023 5:45:41 PM
|
| 716 |
+
- row "Jason Miller jason.miller@yahoo.com General 3035551212 80202 United States Colorado Apr 19, 2023 5:46:34 PM" [ref=e783]:
|
| 717 |
+
- cell [ref=e784]:
|
| 718 |
+
- checkbox [ref=e786] [cursor=pointer]
|
| 719 |
+
- cell "Jason Miller" [ref=e788]:
|
| 720 |
+
- generic [ref=e789]: Jason Miller
|
| 721 |
+
- cell "jason.miller@yahoo.com" [ref=e790]:
|
| 722 |
+
- generic [ref=e791]: jason.miller@yahoo.com
|
| 723 |
+
- cell "General" [ref=e792]:
|
| 724 |
+
- generic [ref=e793]: General
|
| 725 |
+
- cell "3035551212" [ref=e794]:
|
| 726 |
+
- generic [ref=e795]: "3035551212"
|
| 727 |
+
- cell "80202" [ref=e796]:
|
| 728 |
+
- generic [ref=e797]: "80202"
|
| 729 |
+
- cell "United States" [ref=e798]:
|
| 730 |
+
- generic [ref=e799]: United States
|
| 731 |
+
- cell "Colorado" [ref=e800]:
|
| 732 |
+
- generic [ref=e801]: Colorado
|
| 733 |
+
- cell "Apr 19, 2023 5:46:34 PM" [ref=e802]:
|
| 734 |
+
- generic [ref=e803]: Apr 19, 2023 5:46:34 PM
|
| 735 |
+
- row "Jennifer White jennifer.white@yahoo.com General 2137418080 90015 United States California Apr 19, 2023 5:46:17 PM" [ref=e804]:
|
| 736 |
+
- cell [ref=e805]:
|
| 737 |
+
- checkbox [ref=e807] [cursor=pointer]
|
| 738 |
+
- cell "Jennifer White" [ref=e809]:
|
| 739 |
+
- generic [ref=e810]: Jennifer White
|
| 740 |
+
- cell "jennifer.white@yahoo.com" [ref=e811]:
|
| 741 |
+
- generic [ref=e812]: jennifer.white@yahoo.com
|
| 742 |
+
- cell "General" [ref=e813]:
|
| 743 |
+
- generic [ref=e814]: General
|
| 744 |
+
- cell "2137418080" [ref=e815]:
|
| 745 |
+
- generic [ref=e816]: "2137418080"
|
| 746 |
+
- cell "90015" [ref=e817]:
|
| 747 |
+
- generic [ref=e818]: "90015"
|
| 748 |
+
- cell "United States" [ref=e819]:
|
| 749 |
+
- generic [ref=e820]: United States
|
| 750 |
+
- cell "California" [ref=e821]:
|
| 751 |
+
- generic [ref=e822]: California
|
| 752 |
+
- cell "Apr 19, 2023 5:46:17 PM" [ref=e823]:
|
| 753 |
+
- generic [ref=e824]: Apr 19, 2023 5:46:17 PM
|
| 754 |
+
- row "Jessica Chang jessica.chang@hotmail.com General 2065551212 98101 United States Washington Apr 23, 2023 12:13:26 AM" [ref=e825]:
|
| 755 |
+
- cell [ref=e826]:
|
| 756 |
+
- checkbox [ref=e828] [cursor=pointer]
|
| 757 |
+
- cell "Jessica Chang" [ref=e830]:
|
| 758 |
+
- generic [ref=e831]: Jessica Chang
|
| 759 |
+
- cell "jessica.chang@hotmail.com" [ref=e832]:
|
| 760 |
+
- generic [ref=e833]: jessica.chang@hotmail.com
|
| 761 |
+
- cell "General" [ref=e834]:
|
| 762 |
+
- generic [ref=e835]: General
|
| 763 |
+
- cell "2065551212" [ref=e836]:
|
| 764 |
+
- generic [ref=e837]: "2065551212"
|
| 765 |
+
- cell "98101" [ref=e838]:
|
| 766 |
+
- generic [ref=e839]: "98101"
|
| 767 |
+
- cell "United States" [ref=e840]:
|
| 768 |
+
- generic [ref=e841]: United States
|
| 769 |
+
- cell "Washington" [ref=e842]:
|
| 770 |
+
- generic [ref=e843]: Washington
|
| 771 |
+
- cell "Apr 23, 2023 12:13:26 AM" [ref=e844]:
|
| 772 |
+
- generic [ref=e845]: Apr 23, 2023 12:13:26 AM
|
| 773 |
+
- row "Jessica Nguyen jessica.nguyen@gmail.com General 2065551212 98101 United States Washington Apr 23, 2023 12:12:58 AM" [ref=e846]:
|
| 774 |
+
- cell [ref=e847]:
|
| 775 |
+
- checkbox [ref=e849] [cursor=pointer]
|
| 776 |
+
- cell "Jessica Nguyen" [ref=e851]:
|
| 777 |
+
- generic [ref=e852]: Jessica Nguyen
|
| 778 |
+
- cell "jessica.nguyen@gmail.com" [ref=e853]:
|
| 779 |
+
- generic [ref=e854]: jessica.nguyen@gmail.com
|
| 780 |
+
- cell "General" [ref=e855]:
|
| 781 |
+
- generic [ref=e856]: General
|
| 782 |
+
- cell "2065551212" [ref=e857]:
|
| 783 |
+
- generic [ref=e858]: "2065551212"
|
| 784 |
+
- cell "98101" [ref=e859]:
|
| 785 |
+
- generic [ref=e860]: "98101"
|
| 786 |
+
- cell "United States" [ref=e861]:
|
| 787 |
+
- generic [ref=e862]: United States
|
| 788 |
+
- cell "Washington" [ref=e863]:
|
| 789 |
+
- generic [ref=e864]: Washington
|
| 790 |
+
- cell "Apr 23, 2023 12:12:58 AM" [ref=e865]:
|
| 791 |
+
- generic [ref=e866]: Apr 23, 2023 12:12:58 AM
|
| 792 |
+
- row "Jessica Wong jessica.wong@gmail.com General 3125551212 60601 United States Illinois Apr 23, 2023 12:13:48 AM" [ref=e867]:
|
| 793 |
+
- cell [ref=e868]:
|
| 794 |
+
- checkbox [ref=e870] [cursor=pointer]
|
| 795 |
+
- cell "Jessica Wong" [ref=e872]:
|
| 796 |
+
- generic [ref=e873]: Jessica Wong
|
| 797 |
+
- cell "jessica.wong@gmail.com" [ref=e874]:
|
| 798 |
+
- generic [ref=e875]: jessica.wong@gmail.com
|
| 799 |
+
- cell "General" [ref=e876]:
|
| 800 |
+
- generic [ref=e877]: General
|
| 801 |
+
- cell "3125551212" [ref=e878]:
|
| 802 |
+
- generic [ref=e879]: "3125551212"
|
| 803 |
+
- cell "60601" [ref=e880]:
|
| 804 |
+
- generic [ref=e881]: "60601"
|
| 805 |
+
- cell "United States" [ref=e882]:
|
| 806 |
+
- generic [ref=e883]: United States
|
| 807 |
+
- cell "Illinois" [ref=e884]:
|
| 808 |
+
- generic [ref=e885]: Illinois
|
| 809 |
+
- cell "Apr 23, 2023 12:13:48 AM" [ref=e886]:
|
| 810 |
+
- generic [ref=e887]: Apr 23, 2023 12:13:48 AM
|
| 811 |
+
- row "John Doe johndoe123@gmail.com General 2125551212 10001 United States New York Apr 19, 2023 5:45:37 PM" [ref=e888]:
|
| 812 |
+
- cell [ref=e889]:
|
| 813 |
+
- checkbox [ref=e891] [cursor=pointer]
|
| 814 |
+
- cell "John Doe" [ref=e893]:
|
| 815 |
+
- generic [ref=e894]: John Doe
|
| 816 |
+
- cell "johndoe123@gmail.com" [ref=e895]:
|
| 817 |
+
- generic [ref=e896]: johndoe123@gmail.com
|
| 818 |
+
- cell "General" [ref=e897]:
|
| 819 |
+
- generic [ref=e898]: General
|
| 820 |
+
- cell "2125551212" [ref=e899]:
|
| 821 |
+
- generic [ref=e900]: "2125551212"
|
| 822 |
+
- cell "10001" [ref=e901]:
|
| 823 |
+
- generic [ref=e902]: "10001"
|
| 824 |
+
- cell "United States" [ref=e903]:
|
| 825 |
+
- generic [ref=e904]: United States
|
| 826 |
+
- cell "New York" [ref=e905]:
|
| 827 |
+
- generic [ref=e906]: New York
|
| 828 |
+
- cell "Apr 19, 2023 5:45:37 PM" [ref=e907]:
|
| 829 |
+
- generic [ref=e908]: Apr 19, 2023 5:45:37 PM
|
| 830 |
+
- row "John Lee john.lee@yahoo.com General 3125556789 60611 United States Illinois Apr 19, 2023 5:45:21 PM" [ref=e909]:
|
| 831 |
+
- cell [ref=e910]:
|
| 832 |
+
- checkbox [ref=e912] [cursor=pointer]
|
| 833 |
+
- cell "John Lee" [ref=e914]:
|
| 834 |
+
- generic [ref=e915]: John Lee
|
| 835 |
+
- cell "john.lee@yahoo.com" [ref=e916]:
|
| 836 |
+
- generic [ref=e917]: john.lee@yahoo.com
|
| 837 |
+
- cell "General" [ref=e918]:
|
| 838 |
+
- generic [ref=e919]: General
|
| 839 |
+
- cell "3125556789" [ref=e920]:
|
| 840 |
+
- generic [ref=e921]: "3125556789"
|
| 841 |
+
- cell "60611" [ref=e922]:
|
| 842 |
+
- generic [ref=e923]: "60611"
|
| 843 |
+
- cell "United States" [ref=e924]:
|
| 844 |
+
- generic [ref=e925]: United States
|
| 845 |
+
- cell "Illinois" [ref=e926]:
|
| 846 |
+
- generic [ref=e927]: Illinois
|
| 847 |
+
- cell "Apr 19, 2023 5:45:21 PM" [ref=e928]:
|
| 848 |
+
- generic [ref=e929]: Apr 19, 2023 5:45:21 PM
|
| 849 |
+
- row "John Smith john.smith.xyz@gmail.com General 2058812302 35213 United States Alabama Apr 19, 2023 5:44:57 PM" [ref=e930]:
|
| 850 |
+
- cell [ref=e931]:
|
| 851 |
+
- checkbox [ref=e933] [cursor=pointer]
|
| 852 |
+
- cell "John Smith" [ref=e935]:
|
| 853 |
+
- generic [ref=e936]: John Smith
|
| 854 |
+
- cell "john.smith.xyz@gmail.com" [ref=e937]:
|
| 855 |
+
- generic [ref=e938]: john.smith.xyz@gmail.com
|
| 856 |
+
- cell "General" [ref=e939]:
|
| 857 |
+
- generic [ref=e940]: General
|
| 858 |
+
- cell "2058812302" [ref=e941]:
|
| 859 |
+
- generic [ref=e942]: "2058812302"
|
| 860 |
+
- cell "35213" [ref=e943]:
|
| 861 |
+
- generic [ref=e944]: "35213"
|
| 862 |
+
- cell "United States" [ref=e945]:
|
| 863 |
+
- generic [ref=e946]: United States
|
| 864 |
+
- cell "Alabama" [ref=e947]:
|
| 865 |
+
- generic [ref=e948]: Alabama
|
| 866 |
+
- cell "Apr 19, 2023 5:44:57 PM" [ref=e949]:
|
| 867 |
+
- generic [ref=e950]: Apr 19, 2023 5:44:57 PM
|
| 868 |
+
- row "John Smith john.smith@yahoo.com General 2145551212 75201 United States Texas Apr 23, 2023 12:13:22 AM" [ref=e951]:
|
| 869 |
+
- cell [ref=e952]:
|
| 870 |
+
- checkbox [ref=e954] [cursor=pointer]
|
| 871 |
+
- cell "John Smith" [ref=e956]:
|
| 872 |
+
- generic [ref=e957]: John Smith
|
| 873 |
+
- cell "john.smith@yahoo.com" [ref=e958]:
|
| 874 |
+
- generic [ref=e959]: john.smith@yahoo.com
|
| 875 |
+
- cell "General" [ref=e960]:
|
| 876 |
+
- generic [ref=e961]: General
|
| 877 |
+
- cell "2145551212" [ref=e962]:
|
| 878 |
+
- generic [ref=e963]: "2145551212"
|
| 879 |
+
- cell "75201" [ref=e964]:
|
| 880 |
+
- generic [ref=e965]: "75201"
|
| 881 |
+
- cell "United States" [ref=e966]:
|
| 882 |
+
- generic [ref=e967]: United States
|
| 883 |
+
- cell "Texas" [ref=e968]:
|
| 884 |
+
- generic [ref=e969]: Texas
|
| 885 |
+
- cell "Apr 23, 2023 12:13:22 AM" [ref=e970]:
|
| 886 |
+
- generic [ref=e971]: Apr 23, 2023 12:13:22 AM
|
| 887 |
+
- row "Julia Williams jla_7781@gmail.com General 4567890123 10065 United States New York Apr 19, 2023 5:45:11 PM" [ref=e972]:
|
| 888 |
+
- cell [ref=e973]:
|
| 889 |
+
- checkbox [ref=e975] [cursor=pointer]
|
| 890 |
+
- cell "Julia Williams" [ref=e977]:
|
| 891 |
+
- generic [ref=e978]: Julia Williams
|
| 892 |
+
- cell "jla_7781@gmail.com" [ref=e979]:
|
| 893 |
+
- generic [ref=e980]: jla_7781@gmail.com
|
| 894 |
+
- cell "General" [ref=e981]:
|
| 895 |
+
- generic [ref=e982]: General
|
| 896 |
+
- cell "4567890123" [ref=e983]:
|
| 897 |
+
- generic [ref=e984]: "4567890123"
|
| 898 |
+
- cell "10065" [ref=e985]:
|
| 899 |
+
- generic [ref=e986]: "10065"
|
| 900 |
+
- cell "United States" [ref=e987]:
|
| 901 |
+
- generic [ref=e988]: United States
|
| 902 |
+
- cell "New York" [ref=e989]:
|
| 903 |
+
- generic [ref=e990]: New York
|
| 904 |
+
- cell "Apr 19, 2023 5:45:11 PM" [ref=e991]:
|
| 905 |
+
- generic [ref=e992]: Apr 19, 2023 5:45:11 PM
|
| 906 |
+
- row "Julie Nguyen julie.nguyen@gmail.com General 3105551212 90210 United States California Apr 23, 2023 12:14:15 AM" [ref=e993]:
|
| 907 |
+
- cell [ref=e994]:
|
| 908 |
+
- checkbox [ref=e996] [cursor=pointer]
|
| 909 |
+
- cell "Julie Nguyen" [ref=e998]:
|
| 910 |
+
- generic [ref=e999]: Julie Nguyen
|
| 911 |
+
- cell "julie.nguyen@gmail.com" [ref=e1000]:
|
| 912 |
+
- generic [ref=e1001]: julie.nguyen@gmail.com
|
| 913 |
+
- cell "General" [ref=e1002]:
|
| 914 |
+
- generic [ref=e1003]: General
|
| 915 |
+
- cell "3105551212" [ref=e1004]:
|
| 916 |
+
- generic [ref=e1005]: "3105551212"
|
| 917 |
+
- cell "90210" [ref=e1006]:
|
| 918 |
+
- generic [ref=e1007]: "90210"
|
| 919 |
+
- cell "United States" [ref=e1008]:
|
| 920 |
+
- generic [ref=e1009]: United States
|
| 921 |
+
- cell "California" [ref=e1010]:
|
| 922 |
+
- generic [ref=e1011]: California
|
| 923 |
+
- cell "Apr 23, 2023 12:14:15 AM" [ref=e1012]:
|
| 924 |
+
- generic [ref=e1013]: Apr 23, 2023 12:14:15 AM
|
| 925 |
+
- row "Kate Jones kate.jones@gmail.com General 2125551212 10001 United States New York Apr 23, 2023 12:12:51 AM" [ref=e1014]:
|
| 926 |
+
- cell [ref=e1015]:
|
| 927 |
+
- checkbox [ref=e1017] [cursor=pointer]
|
| 928 |
+
- cell "Kate Jones" [ref=e1019]:
|
| 929 |
+
- generic [ref=e1020]: Kate Jones
|
| 930 |
+
- cell "kate.jones@gmail.com" [ref=e1021]:
|
| 931 |
+
- generic [ref=e1022]: kate.jones@gmail.com
|
| 932 |
+
- cell "General" [ref=e1023]:
|
| 933 |
+
- generic [ref=e1024]: General
|
| 934 |
+
- cell "2125551212" [ref=e1025]:
|
| 935 |
+
- generic [ref=e1026]: "2125551212"
|
| 936 |
+
- cell "10001" [ref=e1027]:
|
| 937 |
+
- generic [ref=e1028]: "10001"
|
| 938 |
+
- cell "United States" [ref=e1029]:
|
| 939 |
+
- generic [ref=e1030]: United States
|
| 940 |
+
- cell "New York" [ref=e1031]:
|
| 941 |
+
- generic [ref=e1032]: New York
|
| 942 |
+
- cell "Apr 23, 2023 12:12:51 AM" [ref=e1033]:
|
| 943 |
+
- generic [ref=e1034]: Apr 23, 2023 12:12:51 AM
|
| 944 |
+
- row "Katie Wong katie.wong@hotmail.com General 2065551212 98101 United States Washington Apr 19, 2023 5:46:37 PM" [ref=e1035]:
|
| 945 |
+
- cell [ref=e1036]:
|
| 946 |
+
- checkbox [ref=e1038] [cursor=pointer]
|
| 947 |
+
- cell "Katie Wong" [ref=e1040]:
|
| 948 |
+
- generic [ref=e1041]: Katie Wong
|
| 949 |
+
- cell "katie.wong@hotmail.com" [ref=e1042]:
|
| 950 |
+
- generic [ref=e1043]: katie.wong@hotmail.com
|
| 951 |
+
- cell "General" [ref=e1044]:
|
| 952 |
+
- generic [ref=e1045]: General
|
| 953 |
+
- cell "2065551212" [ref=e1046]:
|
| 954 |
+
- generic [ref=e1047]: "2065551212"
|
| 955 |
+
- cell "98101" [ref=e1048]:
|
| 956 |
+
- generic [ref=e1049]: "98101"
|
| 957 |
+
- cell "United States" [ref=e1050]:
|
| 958 |
+
- generic [ref=e1051]: United States
|
| 959 |
+
- cell "Washington" [ref=e1052]:
|
| 960 |
+
- generic [ref=e1053]: Washington
|
| 961 |
+
- cell "Apr 19, 2023 5:46:37 PM" [ref=e1054]:
|
| 962 |
+
- generic [ref=e1055]: Apr 19, 2023 5:46:37 PM
|
| 963 |
+
- row "Lily Potter harrypotterfan1@gmail.com General 7735555555 60637 United States Illinois Apr 19, 2023 5:45:47 PM" [ref=e1056]:
|
| 964 |
+
- cell [ref=e1057]:
|
| 965 |
+
- checkbox [ref=e1059] [cursor=pointer]
|
| 966 |
+
- cell "Lily Potter" [ref=e1061]:
|
| 967 |
+
- generic [ref=e1062]: Lily Potter
|
| 968 |
+
- cell "harrypotterfan1@gmail.com" [ref=e1063]:
|
| 969 |
+
- generic [ref=e1064]: harrypotterfan1@gmail.com
|
| 970 |
+
- cell "General" [ref=e1065]:
|
| 971 |
+
- generic [ref=e1066]: General
|
| 972 |
+
- cell "7735555555" [ref=e1067]:
|
| 973 |
+
- generic [ref=e1068]: "7735555555"
|
| 974 |
+
- cell "60637" [ref=e1069]:
|
| 975 |
+
- generic [ref=e1070]: "60637"
|
| 976 |
+
- cell "United States" [ref=e1071]:
|
| 977 |
+
- generic [ref=e1072]: United States
|
| 978 |
+
- cell "Illinois" [ref=e1073]:
|
| 979 |
+
- generic [ref=e1074]: Illinois
|
| 980 |
+
- cell "Apr 19, 2023 5:45:47 PM" [ref=e1075]:
|
| 981 |
+
- generic [ref=e1076]: Apr 19, 2023 5:45:47 PM
|
| 982 |
+
- row "Lisa Green lisa.green@hotmail.com General 2145551212 75201 United States Texas Apr 19, 2023 5:46:24 PM" [ref=e1077]:
|
| 983 |
+
- cell [ref=e1078]:
|
| 984 |
+
- checkbox [ref=e1080] [cursor=pointer]
|
| 985 |
+
- cell "Lisa Green" [ref=e1082]:
|
| 986 |
+
- generic [ref=e1083]: Lisa Green
|
| 987 |
+
- cell "lisa.green@hotmail.com" [ref=e1084]:
|
| 988 |
+
- generic [ref=e1085]: lisa.green@hotmail.com
|
| 989 |
+
- cell "General" [ref=e1086]:
|
| 990 |
+
- generic [ref=e1087]: General
|
| 991 |
+
- cell "2145551212" [ref=e1088]:
|
| 992 |
+
- generic [ref=e1089]: "2145551212"
|
| 993 |
+
- cell "75201" [ref=e1090]:
|
| 994 |
+
- generic [ref=e1091]: "75201"
|
| 995 |
+
- cell "United States" [ref=e1092]:
|
| 996 |
+
- generic [ref=e1093]: United States
|
| 997 |
+
- cell "Texas" [ref=e1094]:
|
| 998 |
+
- generic [ref=e1095]: Texas
|
| 999 |
+
- cell "Apr 19, 2023 5:46:24 PM" [ref=e1096]:
|
| 1000 |
+
- generic [ref=e1097]: Apr 19, 2023 5:46:24 PM
|
| 1001 |
+
- row "Lisa Kim lisa.kim@gmail.com General 7135557890 77005 United States Texas Apr 19, 2023 5:45:31 PM" [ref=e1098]:
|
| 1002 |
+
- cell [ref=e1099]:
|
| 1003 |
+
- checkbox [ref=e1101] [cursor=pointer]
|
| 1004 |
+
- cell "Lisa Kim" [ref=e1103]:
|
| 1005 |
+
- generic [ref=e1104]: Lisa Kim
|
| 1006 |
+
- cell "lisa.kim@gmail.com" [ref=e1105]:
|
| 1007 |
+
- generic [ref=e1106]: lisa.kim@gmail.com
|
| 1008 |
+
- cell "General" [ref=e1107]:
|
| 1009 |
+
- generic [ref=e1108]: General
|
| 1010 |
+
- cell "7135557890" [ref=e1109]:
|
| 1011 |
+
- generic [ref=e1110]: "7135557890"
|
| 1012 |
+
- cell "77005" [ref=e1111]:
|
| 1013 |
+
- generic [ref=e1112]: "77005"
|
| 1014 |
+
- cell "United States" [ref=e1113]:
|
| 1015 |
+
- generic [ref=e1114]: United States
|
| 1016 |
+
- cell "Texas" [ref=e1115]:
|
| 1017 |
+
- generic [ref=e1116]: Texas
|
| 1018 |
+
- cell "Apr 19, 2023 5:45:31 PM" [ref=e1117]:
|
| 1019 |
+
- generic [ref=e1118]: Apr 19, 2023 5:45:31 PM
|
| 1020 |
+
- row "Lucy Garcia artsygal123@hotmail.com General 3035555555 80202 United States Colorado Apr 19, 2023 5:45:54 PM" [ref=e1119]:
|
| 1021 |
+
- cell [ref=e1120]:
|
| 1022 |
+
- checkbox [ref=e1122] [cursor=pointer]
|
| 1023 |
+
- cell "Lucy Garcia" [ref=e1124]:
|
| 1024 |
+
- generic [ref=e1125]: Lucy Garcia
|
| 1025 |
+
- cell "artsygal123@hotmail.com" [ref=e1126]:
|
| 1026 |
+
- generic [ref=e1127]: artsygal123@hotmail.com
|
| 1027 |
+
- cell "General" [ref=e1128]:
|
| 1028 |
+
- generic [ref=e1129]: General
|
| 1029 |
+
- cell "3035555555" [ref=e1130]:
|
| 1030 |
+
- generic [ref=e1131]: "3035555555"
|
| 1031 |
+
- cell "80202" [ref=e1132]:
|
| 1032 |
+
- generic [ref=e1133]: "80202"
|
| 1033 |
+
- cell "United States" [ref=e1134]:
|
| 1034 |
+
- generic [ref=e1135]: United States
|
| 1035 |
+
- cell "Colorado" [ref=e1136]:
|
| 1036 |
+
- generic [ref=e1137]: Colorado
|
| 1037 |
+
- cell "Apr 19, 2023 5:45:54 PM" [ref=e1138]:
|
| 1038 |
+
- generic [ref=e1139]: Apr 19, 2023 5:45:54 PM
|
| 1039 |
+
- row "Mary Martin marym@gmail.com General 3059876543 33139 United States Florida Apr 19, 2023 5:45:17 PM" [ref=e1140]:
|
| 1040 |
+
- cell [ref=e1141]:
|
| 1041 |
+
- checkbox [ref=e1143] [cursor=pointer]
|
| 1042 |
+
- cell "Mary Martin" [ref=e1145]:
|
| 1043 |
+
- generic [ref=e1146]: Mary Martin
|
| 1044 |
+
- cell "marym@gmail.com" [ref=e1147]:
|
| 1045 |
+
- generic [ref=e1148]: marym@gmail.com
|
| 1046 |
+
- cell "General" [ref=e1149]:
|
| 1047 |
+
- generic [ref=e1150]: General
|
| 1048 |
+
- cell "3059876543" [ref=e1151]:
|
| 1049 |
+
- generic [ref=e1152]: "3059876543"
|
| 1050 |
+
- cell "33139" [ref=e1153]:
|
| 1051 |
+
- generic [ref=e1154]: "33139"
|
| 1052 |
+
- cell "United States" [ref=e1155]:
|
| 1053 |
+
- generic [ref=e1156]: United States
|
| 1054 |
+
- cell "Florida" [ref=e1157]:
|
| 1055 |
+
- generic [ref=e1158]: Florida
|
| 1056 |
+
- cell "Apr 19, 2023 5:45:17 PM" [ref=e1159]:
|
| 1057 |
+
- generic [ref=e1160]: Apr 19, 2023 5:45:17 PM
|
| 1058 |
+
- row "Matt Baker matt.baker@yahoo.com General 4045551234 30308 United States Georgia Apr 19, 2023 5:45:34 PM" [ref=e1161]:
|
| 1059 |
+
- cell [ref=e1162]:
|
| 1060 |
+
- checkbox [ref=e1164] [cursor=pointer]
|
| 1061 |
+
- cell "Matt Baker" [ref=e1166]:
|
| 1062 |
+
- generic [ref=e1167]: Matt Baker
|
| 1063 |
+
- cell "matt.baker@yahoo.com" [ref=e1168]:
|
| 1064 |
+
- generic [ref=e1169]: matt.baker@yahoo.com
|
| 1065 |
+
- cell "General" [ref=e1170]:
|
| 1066 |
+
- generic [ref=e1171]: General
|
| 1067 |
+
- cell "4045551234" [ref=e1172]:
|
| 1068 |
+
- generic [ref=e1173]: "4045551234"
|
| 1069 |
+
- cell "30308" [ref=e1174]:
|
| 1070 |
+
- generic [ref=e1175]: "30308"
|
| 1071 |
+
- cell "United States" [ref=e1176]:
|
| 1072 |
+
- generic [ref=e1177]: United States
|
| 1073 |
+
- cell "Georgia" [ref=e1178]:
|
| 1074 |
+
- generic [ref=e1179]: Georgia
|
| 1075 |
+
- cell "Apr 19, 2023 5:45:34 PM" [ref=e1180]:
|
| 1076 |
+
- generic [ref=e1181]: Apr 19, 2023 5:45:34 PM
|
| 1077 |
+
- row "Matthew Kim matthew.kim@gmail.com General 2015551212 07030 United States New Jersey Apr 23, 2023 12:14:19 AM" [ref=e1182]:
|
| 1078 |
+
- cell [ref=e1183]:
|
| 1079 |
+
- checkbox [ref=e1185] [cursor=pointer]
|
| 1080 |
+
- cell "Matthew Kim" [ref=e1187]:
|
| 1081 |
+
- generic [ref=e1188]: Matthew Kim
|
| 1082 |
+
- cell "matthew.kim@gmail.com" [ref=e1189]:
|
| 1083 |
+
- generic [ref=e1190]: matthew.kim@gmail.com
|
| 1084 |
+
- cell "General" [ref=e1191]:
|
| 1085 |
+
- generic [ref=e1192]: General
|
| 1086 |
+
- cell "2015551212" [ref=e1193]:
|
| 1087 |
+
- generic [ref=e1194]: "2015551212"
|
| 1088 |
+
- cell "07030" [ref=e1195]:
|
| 1089 |
+
- generic [ref=e1196]: "07030"
|
| 1090 |
+
- cell "United States" [ref=e1197]:
|
| 1091 |
+
- generic [ref=e1198]: United States
|
| 1092 |
+
- cell "New Jersey" [ref=e1199]:
|
| 1093 |
+
- generic [ref=e1200]: New Jersey
|
| 1094 |
+
- cell "Apr 23, 2023 12:14:19 AM" [ref=e1201]:
|
| 1095 |
+
- generic [ref=e1202]: Apr 23, 2023 12:14:19 AM
|
| 1096 |
+
- row "Maxwell Baker maxwell.baker@yahoo.com General 3125551212 60601 United States Illinois Apr 23, 2023 12:13:01 AM" [ref=e1203]:
|
| 1097 |
+
- cell [ref=e1204]:
|
| 1098 |
+
- checkbox [ref=e1206] [cursor=pointer]
|
| 1099 |
+
- cell "Maxwell Baker" [ref=e1208]:
|
| 1100 |
+
- generic [ref=e1209]: Maxwell Baker
|
| 1101 |
+
- cell "maxwell.baker@yahoo.com" [ref=e1210]:
|
| 1102 |
+
- generic [ref=e1211]: maxwell.baker@yahoo.com
|
| 1103 |
+
- cell "General" [ref=e1212]:
|
| 1104 |
+
- generic [ref=e1213]: General
|
| 1105 |
+
- cell "3125551212" [ref=e1214]:
|
| 1106 |
+
- generic [ref=e1215]: "3125551212"
|
| 1107 |
+
- cell "60601" [ref=e1216]:
|
| 1108 |
+
- generic [ref=e1217]: "60601"
|
| 1109 |
+
- cell "United States" [ref=e1218]:
|
| 1110 |
+
- generic [ref=e1219]: United States
|
| 1111 |
+
- cell "Illinois" [ref=e1220]:
|
| 1112 |
+
- generic [ref=e1221]: Illinois
|
| 1113 |
+
- cell "Apr 23, 2023 12:13:01 AM" [ref=e1222]:
|
| 1114 |
+
- generic [ref=e1223]: Apr 23, 2023 12:13:01 AM
|
| 1115 |
+
- row "Michael Nguyen michael.nguyen@yahoo.com General 3125551212 60606 United States Illinois Apr 19, 2023 5:46:27 PM" [ref=e1224]:
|
| 1116 |
+
- cell [ref=e1225]:
|
| 1117 |
+
- checkbox [ref=e1227] [cursor=pointer]
|
| 1118 |
+
- cell "Michael Nguyen" [ref=e1229]:
|
| 1119 |
+
- generic [ref=e1230]: Michael Nguyen
|
| 1120 |
+
- cell "michael.nguyen@yahoo.com" [ref=e1231]:
|
| 1121 |
+
- generic [ref=e1232]: michael.nguyen@yahoo.com
|
| 1122 |
+
- cell "General" [ref=e1233]:
|
| 1123 |
+
- generic [ref=e1234]: General
|
| 1124 |
+
- cell "3125551212" [ref=e1235]:
|
| 1125 |
+
- generic [ref=e1236]: "3125551212"
|
| 1126 |
+
- cell "60606" [ref=e1237]:
|
| 1127 |
+
- generic [ref=e1238]: "60606"
|
| 1128 |
+
- cell "United States" [ref=e1239]:
|
| 1129 |
+
- generic [ref=e1240]: United States
|
| 1130 |
+
- cell "Illinois" [ref=e1241]:
|
| 1131 |
+
- generic [ref=e1242]: Illinois
|
| 1132 |
+
- cell "Apr 19, 2023 5:46:27 PM" [ref=e1243]:
|
| 1133 |
+
- generic [ref=e1244]: Apr 19, 2023 5:46:27 PM
|
| 1134 |
+
- row "Natalie Kim natalie.kim@gmail.com General 2015551212 07030 United States New Jersey Apr 23, 2023 12:14:49 AM" [ref=e1245]:
|
| 1135 |
+
- cell [ref=e1246]:
|
| 1136 |
+
- checkbox [ref=e1248] [cursor=pointer]
|
| 1137 |
+
- cell "Natalie Kim" [ref=e1250]:
|
| 1138 |
+
- generic [ref=e1251]: Natalie Kim
|
| 1139 |
+
- cell "natalie.kim@gmail.com" [ref=e1252]:
|
| 1140 |
+
- generic [ref=e1253]: natalie.kim@gmail.com
|
| 1141 |
+
- cell "General" [ref=e1254]:
|
| 1142 |
+
- generic [ref=e1255]: General
|
| 1143 |
+
- cell "2015551212" [ref=e1256]:
|
| 1144 |
+
- generic [ref=e1257]: "2015551212"
|
| 1145 |
+
- cell "07030" [ref=e1258]:
|
| 1146 |
+
- generic [ref=e1259]: "07030"
|
| 1147 |
+
- cell "United States" [ref=e1260]:
|
| 1148 |
+
- generic [ref=e1261]: United States
|
| 1149 |
+
- cell "New Jersey" [ref=e1262]:
|
| 1150 |
+
- generic [ref=e1263]: New Jersey
|
| 1151 |
+
- cell "Apr 23, 2023 12:14:49 AM" [ref=e1264]:
|
| 1152 |
+
- generic [ref=e1265]: Apr 23, 2023 12:14:49 AM
|
| 1153 |
+
- row "Nathan Chen nathan.chen@gmail.com General 3035551212 80202 United States Colorado Apr 23, 2023 12:14:36 AM" [ref=e1266]:
|
| 1154 |
+
- cell [ref=e1267]:
|
| 1155 |
+
- checkbox [ref=e1269] [cursor=pointer]
|
| 1156 |
+
- cell "Nathan Chen" [ref=e1271]:
|
| 1157 |
+
- generic [ref=e1272]: Nathan Chen
|
| 1158 |
+
- cell "nathan.chen@gmail.com" [ref=e1273]:
|
| 1159 |
+
- generic [ref=e1274]: nathan.chen@gmail.com
|
| 1160 |
+
- cell "General" [ref=e1275]:
|
| 1161 |
+
- generic [ref=e1276]: General
|
| 1162 |
+
- cell "3035551212" [ref=e1277]:
|
| 1163 |
+
- generic [ref=e1278]: "3035551212"
|
| 1164 |
+
- cell "80202" [ref=e1279]:
|
| 1165 |
+
- generic [ref=e1280]: "80202"
|
| 1166 |
+
- cell "United States" [ref=e1281]:
|
| 1167 |
+
- generic [ref=e1282]: United States
|
| 1168 |
+
- cell "Colorado" [ref=e1283]:
|
| 1169 |
+
- generic [ref=e1284]: Colorado
|
| 1170 |
+
- cell "Apr 23, 2023 12:14:36 AM" [ref=e1285]:
|
| 1171 |
+
- generic [ref=e1286]: Apr 23, 2023 12:14:36 AM
|
| 1172 |
+
- row "Olivia Jackson olivia.jackson@gmail.com General 3035551212 80202 United States Colorado Apr 23, 2023 12:13:57 AM" [ref=e1287]:
|
| 1173 |
+
- cell [ref=e1288]:
|
| 1174 |
+
- checkbox [ref=e1290] [cursor=pointer]
|
| 1175 |
+
- cell "Olivia Jackson" [ref=e1292]:
|
| 1176 |
+
- generic [ref=e1293]: Olivia Jackson
|
| 1177 |
+
- cell "olivia.jackson@gmail.com" [ref=e1294]:
|
| 1178 |
+
- generic [ref=e1295]: olivia.jackson@gmail.com
|
| 1179 |
+
- cell "General" [ref=e1296]:
|
| 1180 |
+
- generic [ref=e1297]: General
|
| 1181 |
+
- cell "3035551212" [ref=e1298]:
|
| 1182 |
+
- generic [ref=e1299]: "3035551212"
|
| 1183 |
+
- cell "80202" [ref=e1300]:
|
| 1184 |
+
- generic [ref=e1301]: "80202"
|
| 1185 |
+
- cell "United States" [ref=e1302]:
|
| 1186 |
+
- generic [ref=e1303]: United States
|
| 1187 |
+
- cell "Colorado" [ref=e1304]:
|
| 1188 |
+
- generic [ref=e1305]: Colorado
|
| 1189 |
+
- cell "Apr 23, 2023 12:13:57 AM" [ref=e1306]:
|
| 1190 |
+
- generic [ref=e1307]: Apr 23, 2023 12:13:57 AM
|
| 1191 |
+
- row "Olivia Lee soccerfanatic22@gmail.com General 7135555555 77002 United States Texas Apr 19, 2023 5:45:57 PM" [ref=e1308]:
|
| 1192 |
+
- cell [ref=e1309]:
|
| 1193 |
+
- checkbox [ref=e1311] [cursor=pointer]
|
| 1194 |
+
- cell "Olivia Lee" [ref=e1313]:
|
| 1195 |
+
- generic [ref=e1314]: Olivia Lee
|
| 1196 |
+
- cell "soccerfanatic22@gmail.com" [ref=e1315]:
|
| 1197 |
+
- generic [ref=e1316]: soccerfanatic22@gmail.com
|
| 1198 |
+
- cell "General" [ref=e1317]:
|
| 1199 |
+
- generic [ref=e1318]: General
|
| 1200 |
+
- cell "7135555555" [ref=e1319]:
|
| 1201 |
+
- generic [ref=e1320]: "7135555555"
|
| 1202 |
+
- cell "77002" [ref=e1321]:
|
| 1203 |
+
- generic [ref=e1322]: "77002"
|
| 1204 |
+
- cell "United States" [ref=e1323]:
|
| 1205 |
+
- generic [ref=e1324]: United States
|
| 1206 |
+
- cell "Texas" [ref=e1325]:
|
| 1207 |
+
- generic [ref=e1326]: Texas
|
| 1208 |
+
- cell "Apr 19, 2023 5:45:57 PM" [ref=e1327]:
|
| 1209 |
+
- generic [ref=e1328]: Apr 19, 2023 5:45:57 PM
|
| 1210 |
+
- row "Robert Johnson robert.johnson@gmail.com General 6175551212 02108 United States Massachusetts Apr 23, 2023 12:13:36 AM" [ref=e1329]:
|
| 1211 |
+
- cell [ref=e1330]:
|
| 1212 |
+
- checkbox [ref=e1332] [cursor=pointer]
|
| 1213 |
+
- cell "Robert Johnson" [ref=e1334]:
|
| 1214 |
+
- generic [ref=e1335]: Robert Johnson
|
| 1215 |
+
- cell "robert.johnson@gmail.com" [ref=e1336]:
|
| 1216 |
+
- generic [ref=e1337]: robert.johnson@gmail.com
|
| 1217 |
+
- cell "General" [ref=e1338]:
|
| 1218 |
+
- generic [ref=e1339]: General
|
| 1219 |
+
- cell "6175551212" [ref=e1340]:
|
| 1220 |
+
- generic [ref=e1341]: "6175551212"
|
| 1221 |
+
- cell "02108" [ref=e1342]:
|
| 1222 |
+
- generic [ref=e1343]: "02108"
|
| 1223 |
+
- cell "United States" [ref=e1344]:
|
| 1224 |
+
- generic [ref=e1345]: United States
|
| 1225 |
+
- cell "Massachusetts" [ref=e1346]:
|
| 1226 |
+
- generic [ref=e1347]: Massachusetts
|
| 1227 |
+
- cell "Apr 23, 2023 12:13:36 AM" [ref=e1348]:
|
| 1228 |
+
- generic [ref=e1349]: Apr 23, 2023 12:13:36 AM
|
| 1229 |
+
- row "Roberto Lopez roberto.lopez@hotmail.com General 2125551212 10001 United States New York Apr 23, 2023 12:13:12 AM" [ref=e1350]:
|
| 1230 |
+
- cell [ref=e1351]:
|
| 1231 |
+
- checkbox [ref=e1353] [cursor=pointer]
|
| 1232 |
+
- cell "Roberto Lopez" [ref=e1355]:
|
| 1233 |
+
- generic [ref=e1356]: Roberto Lopez
|
| 1234 |
+
- cell "roberto.lopez@hotmail.com" [ref=e1357]:
|
| 1235 |
+
- generic [ref=e1358]: roberto.lopez@hotmail.com
|
| 1236 |
+
- cell "General" [ref=e1359]:
|
| 1237 |
+
- generic [ref=e1360]: General
|
| 1238 |
+
- cell "2125551212" [ref=e1361]:
|
| 1239 |
+
- generic [ref=e1362]: "2125551212"
|
| 1240 |
+
- cell "10001" [ref=e1363]:
|
| 1241 |
+
- generic [ref=e1364]: "10001"
|
| 1242 |
+
- cell "United States" [ref=e1365]:
|
| 1243 |
+
- generic [ref=e1366]: United States
|
| 1244 |
+
- cell "New York" [ref=e1367]:
|
| 1245 |
+
- generic [ref=e1368]: New York
|
| 1246 |
+
- cell "Apr 23, 2023 12:13:12 AM" [ref=e1369]:
|
| 1247 |
+
- generic [ref=e1370]: Apr 23, 2023 12:13:12 AM
|
| 1248 |
+
- row "Ryan Tanaka ryan.tanaka@yahoo.com General 8085551212 96813 United States Hawaii Apr 23, 2023 12:14:10 AM" [ref=e1371]:
|
| 1249 |
+
- cell [ref=e1372]:
|
| 1250 |
+
- checkbox [ref=e1374] [cursor=pointer]
|
| 1251 |
+
- cell "Ryan Tanaka" [ref=e1376]:
|
| 1252 |
+
- generic [ref=e1377]: Ryan Tanaka
|
| 1253 |
+
- cell "ryan.tanaka@yahoo.com" [ref=e1378]:
|
| 1254 |
+
- generic [ref=e1379]: ryan.tanaka@yahoo.com
|
| 1255 |
+
- cell "General" [ref=e1380]:
|
| 1256 |
+
- generic [ref=e1381]: General
|
| 1257 |
+
- cell "8085551212" [ref=e1382]:
|
| 1258 |
+
- generic [ref=e1383]: "8085551212"
|
| 1259 |
+
- cell "96813" [ref=e1384]:
|
| 1260 |
+
- generic [ref=e1385]: "96813"
|
| 1261 |
+
- cell "United States" [ref=e1386]:
|
| 1262 |
+
- generic [ref=e1387]: United States
|
| 1263 |
+
- cell "Hawaii" [ref=e1388]:
|
| 1264 |
+
- generic [ref=e1389]: Hawaii
|
| 1265 |
+
- cell "Apr 23, 2023 12:14:10 AM" [ref=e1390]:
|
| 1266 |
+
- generic [ref=e1391]: Apr 23, 2023 12:14:10 AM
|
| 1267 |
+
- row "Sam Wilson sam.wilson@yahoo.com General 3105551212 90210 United States California Apr 23, 2023 12:12:47 AM" [ref=e1392]:
|
| 1268 |
+
- cell [ref=e1393]:
|
| 1269 |
+
- checkbox [ref=e1395] [cursor=pointer]
|
| 1270 |
+
- cell "Sam Wilson" [ref=e1397]:
|
| 1271 |
+
- generic [ref=e1398]: Sam Wilson
|
| 1272 |
+
- cell "sam.wilson@yahoo.com" [ref=e1399]:
|
| 1273 |
+
- generic [ref=e1400]: sam.wilson@yahoo.com
|
| 1274 |
+
- cell "General" [ref=e1401]:
|
| 1275 |
+
- generic [ref=e1402]: General
|
| 1276 |
+
- cell "3105551212" [ref=e1403]:
|
| 1277 |
+
- generic [ref=e1404]: "3105551212"
|
| 1278 |
+
- cell "90210" [ref=e1405]:
|
| 1279 |
+
- generic [ref=e1406]: "90210"
|
| 1280 |
+
- cell "United States" [ref=e1407]:
|
| 1281 |
+
- generic [ref=e1408]: United States
|
| 1282 |
+
- cell "California" [ref=e1409]:
|
| 1283 |
+
- generic [ref=e1410]: California
|
| 1284 |
+
- cell "Apr 23, 2023 12:12:47 AM" [ref=e1411]:
|
| 1285 |
+
- generic [ref=e1412]: Apr 23, 2023 12:12:47 AM
|
| 1286 |
+
- row "Samantha Jones coolcat321@hotmail.com General 3055551212 33139 United States Florida Apr 19, 2023 5:45:44 PM" [ref=e1413]:
|
| 1287 |
+
- cell [ref=e1414]:
|
| 1288 |
+
- checkbox [ref=e1416] [cursor=pointer]
|
| 1289 |
+
- cell "Samantha Jones" [ref=e1418]:
|
| 1290 |
+
- generic [ref=e1419]: Samantha Jones
|
| 1291 |
+
- cell "coolcat321@hotmail.com" [ref=e1420]:
|
| 1292 |
+
- generic [ref=e1421]: coolcat321@hotmail.com
|
| 1293 |
+
- cell "General" [ref=e1422]:
|
| 1294 |
+
- generic [ref=e1423]: General
|
| 1295 |
+
- cell "3055551212" [ref=e1424]:
|
| 1296 |
+
- generic [ref=e1425]: "3055551212"
|
| 1297 |
+
- cell "33139" [ref=e1426]:
|
| 1298 |
+
- generic [ref=e1427]: "33139"
|
| 1299 |
+
- cell "United States" [ref=e1428]:
|
| 1300 |
+
- generic [ref=e1429]: United States
|
| 1301 |
+
- cell "Florida" [ref=e1430]:
|
| 1302 |
+
- generic [ref=e1431]: Florida
|
| 1303 |
+
- cell "Apr 19, 2023 5:45:44 PM" [ref=e1432]:
|
| 1304 |
+
- generic [ref=e1433]: Apr 19, 2023 5:45:44 PM
|
| 1305 |
+
- row "Samantha Nguyen samantha.nguyen@gmail.com General 2145551212 75201 United States Texas Apr 19, 2023 5:46:47 PM" [ref=e1434]:
|
| 1306 |
+
- cell [ref=e1435]:
|
| 1307 |
+
- checkbox [ref=e1437] [cursor=pointer]
|
| 1308 |
+
- cell "Samantha Nguyen" [ref=e1439]:
|
| 1309 |
+
- generic [ref=e1440]: Samantha Nguyen
|
| 1310 |
+
- cell "samantha.nguyen@gmail.com" [ref=e1441]:
|
| 1311 |
+
- generic [ref=e1442]: samantha.nguyen@gmail.com
|
| 1312 |
+
- cell "General" [ref=e1443]:
|
| 1313 |
+
- generic [ref=e1444]: General
|
| 1314 |
+
- cell "2145551212" [ref=e1445]:
|
| 1315 |
+
- generic [ref=e1446]: "2145551212"
|
| 1316 |
+
- cell "75201" [ref=e1447]:
|
| 1317 |
+
- generic [ref=e1448]: "75201"
|
| 1318 |
+
- cell "United States" [ref=e1449]:
|
| 1319 |
+
- generic [ref=e1450]: United States
|
| 1320 |
+
- cell "Texas" [ref=e1451]:
|
| 1321 |
+
- generic [ref=e1452]: Texas
|
| 1322 |
+
- cell "Apr 19, 2023 5:46:47 PM" [ref=e1453]:
|
| 1323 |
+
- generic [ref=e1454]: Apr 19, 2023 5:46:47 PM
|
| 1324 |
+
- row "Samantha Wu samantha.wu@yahoo.com General 3055551212 33139 United States Florida Apr 23, 2023 12:13:33 AM" [ref=e1455]:
|
| 1325 |
+
- cell [ref=e1456]:
|
| 1326 |
+
- checkbox [ref=e1458] [cursor=pointer]
|
| 1327 |
+
- cell "Samantha Wu" [ref=e1460]:
|
| 1328 |
+
- generic [ref=e1461]: Samantha Wu
|
| 1329 |
+
- cell "samantha.wu@yahoo.com" [ref=e1462]:
|
| 1330 |
+
- generic [ref=e1463]: samantha.wu@yahoo.com
|
| 1331 |
+
- cell "General" [ref=e1464]:
|
| 1332 |
+
- generic [ref=e1465]: General
|
| 1333 |
+
- cell "3055551212" [ref=e1466]:
|
| 1334 |
+
- generic [ref=e1467]: "3055551212"
|
| 1335 |
+
- cell "33139" [ref=e1468]:
|
| 1336 |
+
- generic [ref=e1469]: "33139"
|
| 1337 |
+
- cell "United States" [ref=e1470]:
|
| 1338 |
+
- generic [ref=e1471]: United States
|
| 1339 |
+
- cell "Florida" [ref=e1472]:
|
| 1340 |
+
- generic [ref=e1473]: Florida
|
| 1341 |
+
- cell "Apr 23, 2023 12:13:33 AM" [ref=e1474]:
|
| 1342 |
+
- generic [ref=e1475]: Apr 23, 2023 12:13:33 AM
|
| 1343 |
+
- row "Sarah Miller helloworld@yahoo.com General 5107819902 94602 United States California Apr 19, 2023 5:45:07 PM" [ref=e1476]:
|
| 1344 |
+
- cell [ref=e1477]:
|
| 1345 |
+
- checkbox [ref=e1479] [cursor=pointer]
|
| 1346 |
+
- cell "Sarah Miller" [ref=e1481]:
|
| 1347 |
+
- generic [ref=e1482]: Sarah Miller
|
| 1348 |
+
- cell "helloworld@yahoo.com" [ref=e1483]:
|
| 1349 |
+
- generic [ref=e1484]: helloworld@yahoo.com
|
| 1350 |
+
- cell "General" [ref=e1485]:
|
| 1351 |
+
- generic [ref=e1486]: General
|
| 1352 |
+
- cell "5107819902" [ref=e1487]:
|
| 1353 |
+
- generic [ref=e1488]: "5107819902"
|
| 1354 |
+
- cell "94602" [ref=e1489]:
|
| 1355 |
+
- generic [ref=e1490]: "94602"
|
| 1356 |
+
- cell "United States" [ref=e1491]:
|
| 1357 |
+
- generic [ref=e1492]: United States
|
| 1358 |
+
- cell "California" [ref=e1493]:
|
| 1359 |
+
- generic [ref=e1494]: California
|
| 1360 |
+
- cell "Apr 19, 2023 5:45:07 PM" [ref=e1495]:
|
| 1361 |
+
- generic [ref=e1496]: Apr 19, 2023 5:45:07 PM
|
| 1362 |
+
- row "Sean Miller sean.miller@gmail.com General 8015551212 84101 United States Utah Apr 23, 2023 12:14:53 AM" [ref=e1497]:
|
| 1363 |
+
- cell [ref=e1498]:
|
| 1364 |
+
- checkbox [ref=e1500] [cursor=pointer]
|
| 1365 |
+
- cell "Sean Miller" [ref=e1502]:
|
| 1366 |
+
- generic [ref=e1503]: Sean Miller
|
| 1367 |
+
- cell "sean.miller@gmail.com" [ref=e1504]:
|
| 1368 |
+
- generic [ref=e1505]: sean.miller@gmail.com
|
| 1369 |
+
- cell "General" [ref=e1506]:
|
| 1370 |
+
- generic [ref=e1507]: General
|
| 1371 |
+
- cell "8015551212" [ref=e1508]:
|
| 1372 |
+
- generic [ref=e1509]: "8015551212"
|
| 1373 |
+
- cell "84101" [ref=e1510]:
|
| 1374 |
+
- generic [ref=e1511]: "84101"
|
| 1375 |
+
- cell "United States" [ref=e1512]:
|
| 1376 |
+
- generic [ref=e1513]: United States
|
| 1377 |
+
- cell "Utah" [ref=e1514]:
|
| 1378 |
+
- generic [ref=e1515]: Utah
|
| 1379 |
+
- cell "Apr 23, 2023 12:14:53 AM" [ref=e1516]:
|
| 1380 |
+
- generic [ref=e1517]: Apr 23, 2023 12:14:53 AM
|
| 1381 |
+
- row "Sophia Kim sophia.kim@gmail.com General 4105551212 21201 United States Maryland Apr 23, 2023 12:13:40 AM" [ref=e1518]:
|
| 1382 |
+
- cell [ref=e1519]:
|
| 1383 |
+
- checkbox [ref=e1521] [cursor=pointer]
|
| 1384 |
+
- cell "Sophia Kim" [ref=e1523]:
|
| 1385 |
+
- generic [ref=e1524]: Sophia Kim
|
| 1386 |
+
- cell "sophia.kim@gmail.com" [ref=e1525]:
|
| 1387 |
+
- generic [ref=e1526]: sophia.kim@gmail.com
|
| 1388 |
+
- cell "General" [ref=e1527]:
|
| 1389 |
+
- generic [ref=e1528]: General
|
| 1390 |
+
- cell "4105551212" [ref=e1529]:
|
| 1391 |
+
- generic [ref=e1530]: "4105551212"
|
| 1392 |
+
- cell "21201" [ref=e1531]:
|
| 1393 |
+
- generic [ref=e1532]: "21201"
|
| 1394 |
+
- cell "United States" [ref=e1533]:
|
| 1395 |
+
- generic [ref=e1534]: United States
|
| 1396 |
+
- cell "Maryland" [ref=e1535]:
|
| 1397 |
+
- generic [ref=e1536]: Maryland
|
| 1398 |
+
- cell "Apr 23, 2023 12:13:40 AM" [ref=e1537]:
|
| 1399 |
+
- generic [ref=e1538]: Apr 23, 2023 12:13:40 AM
|
| 1400 |
+
- row "Sophia Young sophia.young@gmail.com General 6175551212 02110 United States Massachusetts Apr 23, 2023 12:14:05 AM" [ref=e1539]:
|
| 1401 |
+
- cell [ref=e1540]:
|
| 1402 |
+
- checkbox [ref=e1542] [cursor=pointer]
|
| 1403 |
+
- cell "Sophia Young" [ref=e1544]:
|
| 1404 |
+
- generic [ref=e1545]: Sophia Young
|
| 1405 |
+
- cell "sophia.young@gmail.com" [ref=e1546]:
|
| 1406 |
+
- generic [ref=e1547]: sophia.young@gmail.com
|
| 1407 |
+
- cell "General" [ref=e1548]:
|
| 1408 |
+
- generic [ref=e1549]: General
|
| 1409 |
+
- cell "6175551212" [ref=e1550]:
|
| 1410 |
+
- generic [ref=e1551]: "6175551212"
|
| 1411 |
+
- cell "02110" [ref=e1552]:
|
| 1412 |
+
- generic [ref=e1553]: "02110"
|
| 1413 |
+
- cell "United States" [ref=e1554]:
|
| 1414 |
+
- generic [ref=e1555]: United States
|
| 1415 |
+
- cell "Massachusetts" [ref=e1556]:
|
| 1416 |
+
- generic [ref=e1557]: Massachusetts
|
| 1417 |
+
- cell "Apr 23, 2023 12:14:05 AM" [ref=e1558]:
|
| 1418 |
+
- generic [ref=e1559]: Apr 23, 2023 12:14:05 AM
|
| 1419 |
+
- row "Sophie Taylor fashionista88@gmail.com General 3055555555 33130 United States Florida Apr 19, 2023 5:46:04 PM" [ref=e1560]:
|
| 1420 |
+
- cell [ref=e1561]:
|
| 1421 |
+
- checkbox [ref=e1563] [cursor=pointer]
|
| 1422 |
+
- cell "Sophie Taylor" [ref=e1565]:
|
| 1423 |
+
- generic [ref=e1566]: Sophie Taylor
|
| 1424 |
+
- cell "fashionista88@gmail.com" [ref=e1567]:
|
| 1425 |
+
- generic [ref=e1568]: fashionista88@gmail.com
|
| 1426 |
+
- cell "General" [ref=e1569]:
|
| 1427 |
+
- generic [ref=e1570]: General
|
| 1428 |
+
- cell "3055555555" [ref=e1571]:
|
| 1429 |
+
- generic [ref=e1572]: "3055555555"
|
| 1430 |
+
- cell "33130" [ref=e1573]:
|
| 1431 |
+
- generic [ref=e1574]: "33130"
|
| 1432 |
+
- cell "United States" [ref=e1575]:
|
| 1433 |
+
- generic [ref=e1576]: United States
|
| 1434 |
+
- cell "Florida" [ref=e1577]:
|
| 1435 |
+
- generic [ref=e1578]: Florida
|
| 1436 |
+
- cell "Apr 19, 2023 5:46:04 PM" [ref=e1579]:
|
| 1437 |
+
- generic [ref=e1580]: Apr 19, 2023 5:46:04 PM
|
| 1438 |
+
- row "Veronica Costello roni_cost@example.com General (555) 229-3326 49628-7978 United States Michigan Apr 19, 2023 12:15:35 PM" [ref=e1581]:
|
| 1439 |
+
- cell [ref=e1582]:
|
| 1440 |
+
- checkbox [ref=e1584] [cursor=pointer]
|
| 1441 |
+
- cell "Veronica Costello" [ref=e1586]:
|
| 1442 |
+
- generic [ref=e1587]: Veronica Costello
|
| 1443 |
+
- cell "roni_cost@example.com" [ref=e1588]:
|
| 1444 |
+
- generic [ref=e1589]: roni_cost@example.com
|
| 1445 |
+
- cell "General" [ref=e1590]:
|
| 1446 |
+
- generic [ref=e1591]: General
|
| 1447 |
+
- cell "(555) 229-3326" [ref=e1592]:
|
| 1448 |
+
- generic [ref=e1593]: (555) 229-3326
|
| 1449 |
+
- cell "49628-7978" [ref=e1594]:
|
| 1450 |
+
- generic [ref=e1595]: 49628-7978
|
| 1451 |
+
- cell "United States" [ref=e1596]:
|
| 1452 |
+
- generic [ref=e1597]: United States
|
| 1453 |
+
- cell "Michigan" [ref=e1598]:
|
| 1454 |
+
- generic [ref=e1599]: Michigan
|
| 1455 |
+
- cell "Apr 19, 2023 12:15:35 PM" [ref=e1600]:
|
| 1456 |
+
- generic [ref=e1601]: Apr 19, 2023 12:15:35 PM
|
| 1457 |
+
- row "William Chang william.chang@hotmail.com General 2065551212 98101 United States Washington Apr 23, 2023 12:13:44 AM" [ref=e1602]:
|
| 1458 |
+
- cell [ref=e1603]:
|
| 1459 |
+
- checkbox [ref=e1605] [cursor=pointer]
|
| 1460 |
+
- cell "William Chang" [ref=e1607]:
|
| 1461 |
+
- generic [ref=e1608]: William Chang
|
| 1462 |
+
- cell "william.chang@hotmail.com" [ref=e1609]:
|
| 1463 |
+
- generic [ref=e1610]: william.chang@hotmail.com
|
| 1464 |
+
- cell "General" [ref=e1611]:
|
| 1465 |
+
- generic [ref=e1612]: General
|
| 1466 |
+
- cell "2065551212" [ref=e1613]:
|
| 1467 |
+
- generic [ref=e1614]: "2065551212"
|
| 1468 |
+
- cell "98101" [ref=e1615]:
|
| 1469 |
+
- generic [ref=e1616]: "98101"
|
| 1470 |
+
- cell "United States" [ref=e1617]:
|
| 1471 |
+
- generic [ref=e1618]: United States
|
| 1472 |
+
- cell "Washington" [ref=e1619]:
|
| 1473 |
+
- generic [ref=e1620]: Washington
|
| 1474 |
+
- cell "Apr 23, 2023 12:13:44 AM" [ref=e1621]:
|
| 1475 |
+
- generic [ref=e1622]: Apr 23, 2023 12:13:44 AM
|
| 1476 |
+
- contentinfo [ref=e1623]:
|
| 1477 |
+
- generic [ref=e1625]:
|
| 1478 |
+
- paragraph [ref=e1626]:
|
| 1479 |
+
- link "" [ref=e1627] [cursor=pointer]:
|
| 1480 |
+
- /url: http://magento.com
|
| 1481 |
+
- text: Copyright © 2026 Magento Commerce Inc. All rights reserved.
|
| 1482 |
+
- generic [ref=e1628]:
|
| 1483 |
+
- paragraph [ref=e1629]:
|
| 1484 |
+
- strong [ref=e1630]: Magento
|
| 1485 |
+
- text: ver. 2.4.6
|
| 1486 |
+
- link "Privacy Policy" [ref=e1631] [cursor=pointer]:
|
| 1487 |
+
- /url: https://www.adobe.com/privacy/policy.html
|
| 1488 |
+
- text: "|"
|
| 1489 |
+
- link "Account Activity" [ref=e1632] [cursor=pointer]:
|
| 1490 |
+
- /url: http://localhost:7787/admin/security/session/activity/
|
| 1491 |
+
- text: "|"
|
| 1492 |
+
- link "Report an Issue" [ref=e1633] [cursor=pointer]:
|
| 1493 |
+
- /url: https://github.com/magento/magento2/issues
|
| 1494 |
+
- text: ‹ ›
|
fitness-search.yml
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
- generic [ref=e1]:
|
| 2 |
+
- generic [ref=e2]:
|
| 3 |
+
- link "Magento Admin Panel" [ref=e3] [cursor=pointer]:
|
| 4 |
+
- /url: http://localhost:7789/admin/admin/
|
| 5 |
+
- img "Magento Admin Panel" [ref=e4]
|
| 6 |
+
- navigation [ref=e5]:
|
| 7 |
+
- menubar [ref=e6]:
|
| 8 |
+
- listitem [ref=e7]:
|
| 9 |
+
- link " Dashboard" [ref=e8] [cursor=pointer]:
|
| 10 |
+
- /url: http://localhost:7789/admin/admin/dashboard/
|
| 11 |
+
- listitem [ref=e9]:
|
| 12 |
+
- link " Sales" [ref=e10] [cursor=pointer]:
|
| 13 |
+
- /url: "#"
|
| 14 |
+
- listitem [ref=e11]:
|
| 15 |
+
- link " Catalog" [ref=e12] [cursor=pointer]:
|
| 16 |
+
- /url: "#"
|
| 17 |
+
- listitem [ref=e13]:
|
| 18 |
+
- link " Customers" [ref=e14] [cursor=pointer]:
|
| 19 |
+
- /url: "#"
|
| 20 |
+
- listitem [ref=e15]:
|
| 21 |
+
- link " Marketing" [ref=e16] [cursor=pointer]:
|
| 22 |
+
- /url: "#"
|
| 23 |
+
- listitem [ref=e17]:
|
| 24 |
+
- link " Content" [ref=e18] [cursor=pointer]:
|
| 25 |
+
- /url: "#"
|
| 26 |
+
- listitem [ref=e19]:
|
| 27 |
+
- link " Reports" [ref=e20] [cursor=pointer]:
|
| 28 |
+
- /url: "#"
|
| 29 |
+
- listitem [ref=e21]:
|
| 30 |
+
- link " Stores" [ref=e22] [cursor=pointer]:
|
| 31 |
+
- /url: "#"
|
| 32 |
+
- listitem [ref=e23]:
|
| 33 |
+
- link " System" [ref=e24] [cursor=pointer]:
|
| 34 |
+
- /url: "#"
|
| 35 |
+
- listitem [ref=e25]:
|
| 36 |
+
- link " Find Partners & Extensions" [ref=e26] [cursor=pointer]:
|
| 37 |
+
- /url: http://localhost:7789/admin/marketplace/index/
|
| 38 |
+
- generic [ref=e27]:
|
| 39 |
+
- banner [ref=e29]:
|
| 40 |
+
- heading "Products" [level=1] [ref=e32]
|
| 41 |
+
- generic [ref=e33]:
|
| 42 |
+
- link " admin" [ref=e35] [cursor=pointer]:
|
| 43 |
+
- /url: http://localhost:7789/admin/admin/system_account/index/
|
| 44 |
+
- text:
|
| 45 |
+
- generic [ref=e37]: admin
|
| 46 |
+
- link "" [ref=e39] [cursor=pointer]:
|
| 47 |
+
- /url: http://localhost:7789/admin/admin/notification/index/
|
| 48 |
+
- generic:
|
| 49 |
+
- generic
|
| 50 |
+
- main [ref=e42]:
|
| 51 |
+
- generic "Add Product" [ref=e45]:
|
| 52 |
+
- button "Add Product" [ref=e46] [cursor=pointer]
|
| 53 |
+
- button "Add product of type" [ref=e47] [cursor=pointer]
|
| 54 |
+
- generic [ref=e51]:
|
| 55 |
+
- generic [ref=e52]:
|
| 56 |
+
- generic [ref=e53]
|
| 57 |
+
- generic [ref=e66]
|
| 58 |
+
- text: ↓
|
| 59 |
+
- table [ref=e87]:
|
| 60 |
+
- rowgroup [ref=e88]
|
| 61 |
+
- rowgroup [ref=e124]
|
| 62 |
+
- contentinfo [ref=e7275]:
|
| 63 |
+
- generic [ref=e7277]:
|
| 64 |
+
- paragraph [ref=e7278]:
|
| 65 |
+
- link "" [ref=e7279] [cursor=pointer]:
|
| 66 |
+
- /url: http://magento.com
|
| 67 |
+
- text: Copyright © 2026 Magento Commerce Inc. All rights reserved.
|
| 68 |
+
- generic [ref=e7280]:
|
| 69 |
+
- paragraph [ref=e7281]
|
| 70 |
+
- link "Privacy Policy" [ref=e7283] [cursor=pointer]:
|
| 71 |
+
- /url: https://www.adobe.com/privacy/policy.html
|
| 72 |
+
- text: "|"
|
| 73 |
+
- link "Account Activity" [ref=e7284] [cursor=pointer]:
|
| 74 |
+
- /url: http://localhost:7789/admin/security/session/activity/
|
| 75 |
+
- text: "|"
|
| 76 |
+
- link "Report an Issue" [ref=e7285] [cursor=pointer]:
|
| 77 |
+
- /url: https://github.com/magento/magento2/issues
|
| 78 |
+
- text: ‹ ›
|
form_snapshot.yml
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
- generic [active] [ref=e1]:
|
| 2 |
+
- navigation:
|
| 3 |
+
- link "Jump to main content" [ref=e2] [cursor=pointer]:
|
| 4 |
+
- /url: "#main"
|
| 5 |
+
- link "Jump to sidebar" [ref=e3] [cursor=pointer]:
|
| 6 |
+
- /url: "#sidebar"
|
| 7 |
+
- navigation [ref=e4]:
|
| 8 |
+
- generic [ref=e5]:
|
| 9 |
+
- link "Home" [ref=e7] [cursor=pointer]:
|
| 10 |
+
- /url: /
|
| 11 |
+
- text: Postmill
|
| 12 |
+
- list [ref=e9]:
|
| 13 |
+
- listitem [ref=e10]:
|
| 14 |
+
- link "Forums" [ref=e11] [cursor=pointer]:
|
| 15 |
+
- /url: /forums
|
| 16 |
+
- listitem [ref=e12]:
|
| 17 |
+
- link "Wiki" [ref=e13] [cursor=pointer]:
|
| 18 |
+
- /url: /wiki
|
| 19 |
+
- generic [ref=e15]:
|
| 20 |
+
- img [ref=e18]
|
| 21 |
+
- searchbox "Search query" [ref=e20]
|
| 22 |
+
- list [ref=e21]:
|
| 23 |
+
- listitem [ref=e22]:
|
| 24 |
+
- link "Notifications (0)" [ref=e23] [cursor=pointer]:
|
| 25 |
+
- /url: /notifications
|
| 26 |
+
- img [ref=e25]
|
| 27 |
+
- listitem [ref=e27]:
|
| 28 |
+
- link "Submit" [ref=e28] [cursor=pointer]:
|
| 29 |
+
- /url: /submit/Music
|
| 30 |
+
- img [ref=e30]
|
| 31 |
+
- text: Submit
|
| 32 |
+
- listitem [ref=e32]:
|
| 33 |
+
- button "forum_reporter_177" [ref=e33] [cursor=pointer]:
|
| 34 |
+
- img [ref=e35]
|
| 35 |
+
- strong [ref=e37]: forum_reporter_177
|
| 36 |
+
- generic [ref=e39]:
|
| 37 |
+
- main [ref=e40]:
|
| 38 |
+
- heading "Create submission" [level=1] [ref=e41]
|
| 39 |
+
- generic [ref=e42]:
|
| 40 |
+
- generic [ref=e43]:
|
| 41 |
+
- radio "URL" [checked] [ref=e44]
|
| 42 |
+
- generic [ref=e45] [cursor=pointer]: URL
|
| 43 |
+
- radio "Image" [ref=e46]
|
| 44 |
+
- generic [ref=e47] [cursor=pointer]: Image
|
| 45 |
+
- textbox "URL" [ref=e51]
|
| 46 |
+
- generic [ref=e53]:
|
| 47 |
+
- generic [ref=e54]: Title *
|
| 48 |
+
- textbox "Title This field is required." [ref=e55]
|
| 49 |
+
- generic [ref=e56]:
|
| 50 |
+
- generic [ref=e57]:
|
| 51 |
+
- generic [ref=e58]: Body
|
| 52 |
+
- textbox "Body" [ref=e60]
|
| 53 |
+
- generic [ref=e61]:
|
| 54 |
+
- checkbox "Formatting help +" [ref=e62]
|
| 55 |
+
- text: Markdown allowed.
|
| 56 |
+
- generic [ref=e63] [cursor=pointer]: Formatting help +
|
| 57 |
+
- generic [ref=e65]:
|
| 58 |
+
- generic [ref=e66]: Forum *
|
| 59 |
+
- generic [ref=e67]:
|
| 60 |
+
- combobox [ref=e68]
|
| 61 |
+
- combobox "Music" [ref=e71] [cursor=pointer]:
|
| 62 |
+
- textbox "Music" [ref=e72]:
|
| 63 |
+
- generic [ref=e74]: Music
|
| 64 |
+
- button "Create submission" [ref=e76] [cursor=pointer]
|
| 65 |
+
- complementary [ref=e77]:
|
| 66 |
+
- generic [ref=e78]:
|
| 67 |
+
- heading "Music" [level=1] [ref=e79]:
|
| 68 |
+
- link "Music" [ref=e80] [cursor=pointer]:
|
| 69 |
+
- /url: /f/Music
|
| 70 |
+
- button "Subscribe No subscribers" [ref=e83]:
|
| 71 |
+
- generic [ref=e84] [cursor=pointer]: Subscribe
|
| 72 |
+
- generic "No subscribers" [ref=e85] [cursor=pointer]: "0"
|
| 73 |
+
- paragraph [ref=e87]: t5_2qh1u
|
| 74 |
+
- separator [ref=e88]
|
| 75 |
+
- list [ref=e89]:
|
| 76 |
+
- listitem [ref=e90]:
|
| 77 |
+
- text: Created
|
| 78 |
+
- time [ref=e91]: 4 years ago
|
| 79 |
+
- listitem [ref=e92]:
|
| 80 |
+
- link "Subscribe via RSS" [ref=e93] [cursor=pointer]:
|
| 81 |
+
- /url: /f/Music/new.atom
|
| 82 |
+
- img [ref=e95]
|
| 83 |
+
- text: Subscribe via RSS
|
| 84 |
+
- group [ref=e97]:
|
| 85 |
+
- generic "Hide this forum" [ref=e98] [cursor=pointer]
|
| 86 |
+
- generic [ref=e99]:
|
| 87 |
+
- heading "Toolbox" [level=1] [ref=e100]
|
| 88 |
+
- list [ref=e101]:
|
| 89 |
+
- listitem [ref=e102]:
|
| 90 |
+
- link "Bans" [ref=e103] [cursor=pointer]:
|
| 91 |
+
- /url: /f/Music/bans
|
| 92 |
+
- listitem [ref=e104]:
|
| 93 |
+
- link "Moderation log" [ref=e105] [cursor=pointer]:
|
| 94 |
+
- /url: /f/Music/moderation_log
|
| 95 |
+
- contentinfo [ref=e106]:
|
| 96 |
+
- paragraph [ref=e107]:
|
| 97 |
+
- generic [ref=e108]:
|
| 98 |
+
- text: Running
|
| 99 |
+
- link "Postmill" [ref=e109] [cursor=pointer]:
|
| 100 |
+
- /url: https://postmill.xyz/
|
forums.yml
ADDED
|
@@ -0,0 +1,412 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
- generic [active] [ref=e1]:
|
| 2 |
+
- navigation:
|
| 3 |
+
- link "Jump to main content" [ref=e2] [cursor=pointer]:
|
| 4 |
+
- /url: "#main"
|
| 5 |
+
- link "Jump to sidebar" [ref=e3] [cursor=pointer]:
|
| 6 |
+
- /url: "#sidebar"
|
| 7 |
+
- navigation [ref=e4]:
|
| 8 |
+
- generic [ref=e5]:
|
| 9 |
+
- link "Home" [ref=e7] [cursor=pointer]:
|
| 10 |
+
- /url: /
|
| 11 |
+
- text: Postmill
|
| 12 |
+
- list [ref=e9]:
|
| 13 |
+
- listitem [ref=e10]:
|
| 14 |
+
- link "Forums" [ref=e11] [cursor=pointer]:
|
| 15 |
+
- /url: /forums
|
| 16 |
+
- listitem [ref=e12]:
|
| 17 |
+
- link "Wiki" [ref=e13] [cursor=pointer]:
|
| 18 |
+
- /url: /wiki
|
| 19 |
+
- generic [ref=e15]:
|
| 20 |
+
- img [ref=e18]
|
| 21 |
+
- searchbox "Search query" [ref=e20]
|
| 22 |
+
- list [ref=e21]:
|
| 23 |
+
- listitem [ref=e22]:
|
| 24 |
+
- link "Notifications (0)" [ref=e23] [cursor=pointer]:
|
| 25 |
+
- /url: /notifications
|
| 26 |
+
- img [ref=e25]
|
| 27 |
+
- listitem [ref=e27]:
|
| 28 |
+
- link "Submit" [ref=e28] [cursor=pointer]:
|
| 29 |
+
- /url: /submit
|
| 30 |
+
- img [ref=e30]
|
| 31 |
+
- text: Submit
|
| 32 |
+
- listitem [ref=e32]:
|
| 33 |
+
- button "forum_keyword_174" [ref=e33] [cursor=pointer]:
|
| 34 |
+
- img [ref=e35]
|
| 35 |
+
- strong [ref=e37]: forum_keyword_174
|
| 36 |
+
- main [ref=e40]:
|
| 37 |
+
- navigation [ref=e41]:
|
| 38 |
+
- list [ref=e42]:
|
| 39 |
+
- listitem [ref=e43]:
|
| 40 |
+
- link "Forums" [ref=e44] [cursor=pointer]:
|
| 41 |
+
- /url: /forums
|
| 42 |
+
- listitem [ref=e45]:
|
| 43 |
+
- link "Tags" [ref=e46] [cursor=pointer]:
|
| 44 |
+
- /url: /tags
|
| 45 |
+
- listitem [ref=e47]:
|
| 46 |
+
- link "Alphabetical" [ref=e48] [cursor=pointer]:
|
| 47 |
+
- /url: /forums/all
|
| 48 |
+
- list [ref=e49]:
|
| 49 |
+
- listitem [ref=e50]:
|
| 50 |
+
- 'button "Sort by: Submissions" [ref=e51] [cursor=pointer]':
|
| 51 |
+
- img [ref=e53]
|
| 52 |
+
- text: Submissions
|
| 53 |
+
- text: •
|
| 54 |
+
- generic [ref=e56]:
|
| 55 |
+
- heading "List of forums" [level=1] [ref=e57]
|
| 56 |
+
- link "Create forum" [ref=e59] [cursor=pointer]:
|
| 57 |
+
- /url: /create_forum
|
| 58 |
+
- generic [ref=e60]:
|
| 59 |
+
- article [ref=e61]:
|
| 60 |
+
- generic [ref=e62]:
|
| 61 |
+
- heading "AskReddit — AskReddit" [level=2] [ref=e63]:
|
| 62 |
+
- link "AskReddit — AskReddit" [ref=e64] [cursor=pointer]:
|
| 63 |
+
- /url: /f/AskReddit
|
| 64 |
+
- generic [ref=e66]: /f/AskReddit
|
| 65 |
+
- generic [ref=e67]: AskReddit
|
| 66 |
+
- paragraph [ref=e68]: AskReddit
|
| 67 |
+
- generic [ref=e70]:
|
| 68 |
+
- button "Subscribe No subscribers" [ref=e72]:
|
| 69 |
+
- generic [ref=e73] [cursor=pointer]: Subscribe
|
| 70 |
+
- generic "No subscribers" [ref=e74] [cursor=pointer]: "0"
|
| 71 |
+
- paragraph [ref=e75]: 10,041 submissions
|
| 72 |
+
- article [ref=e76]:
|
| 73 |
+
- generic [ref=e77]:
|
| 74 |
+
- heading "relationship_advice — relationship_advice" [level=2] [ref=e78]:
|
| 75 |
+
- link "relationship_advice — relationship_advice" [ref=e79] [cursor=pointer]:
|
| 76 |
+
- /url: /f/relationship_advice
|
| 77 |
+
- generic [ref=e81]: /f/relationship_advice
|
| 78 |
+
- generic [ref=e82]: relationship_advice
|
| 79 |
+
- paragraph [ref=e83]: relationship_advice
|
| 80 |
+
- generic [ref=e85]:
|
| 81 |
+
- button "Subscribe No subscribers" [ref=e87]:
|
| 82 |
+
- generic [ref=e88] [cursor=pointer]: Subscribe
|
| 83 |
+
- generic "No subscribers" [ref=e89] [cursor=pointer]: "0"
|
| 84 |
+
- paragraph [ref=e90]: 5,718 submissions
|
| 85 |
+
- article [ref=e91]:
|
| 86 |
+
- generic [ref=e92]:
|
| 87 |
+
- heading "worldnews — worldnews" [level=2] [ref=e93]:
|
| 88 |
+
- link "worldnews — worldnews" [ref=e94] [cursor=pointer]:
|
| 89 |
+
- /url: /f/worldnews
|
| 90 |
+
- generic [ref=e96]: /f/worldnews
|
| 91 |
+
- generic [ref=e97]: worldnews
|
| 92 |
+
- paragraph [ref=e98]: worldnews
|
| 93 |
+
- generic [ref=e100]:
|
| 94 |
+
- button "Subscribe No subscribers" [ref=e102]:
|
| 95 |
+
- generic [ref=e103] [cursor=pointer]: Subscribe
|
| 96 |
+
- generic "No subscribers" [ref=e104] [cursor=pointer]: "0"
|
| 97 |
+
- paragraph [ref=e105]: 3,464 submissions
|
| 98 |
+
- article [ref=e106]:
|
| 99 |
+
- generic [ref=e107]:
|
| 100 |
+
- heading "news — news" [level=2] [ref=e108]:
|
| 101 |
+
- link "news — news" [ref=e109] [cursor=pointer]:
|
| 102 |
+
- /url: /f/news
|
| 103 |
+
- generic [ref=e111]: /f/news
|
| 104 |
+
- generic [ref=e112]: news
|
| 105 |
+
- paragraph [ref=e113]: news
|
| 106 |
+
- generic [ref=e115]:
|
| 107 |
+
- button "Subscribe No subscribers" [ref=e117]:
|
| 108 |
+
- generic [ref=e118] [cursor=pointer]: Subscribe
|
| 109 |
+
- generic "No subscribers" [ref=e119] [cursor=pointer]: "0"
|
| 110 |
+
- paragraph [ref=e120]: 3,322 submissions
|
| 111 |
+
- article [ref=e121]:
|
| 112 |
+
- generic [ref=e122]:
|
| 113 |
+
- heading "movies — movies" [level=2] [ref=e123]:
|
| 114 |
+
- link "movies — movies" [ref=e124] [cursor=pointer]:
|
| 115 |
+
- /url: /f/movies
|
| 116 |
+
- generic [ref=e126]: /f/movies
|
| 117 |
+
- generic [ref=e127]: movies
|
| 118 |
+
- paragraph [ref=e128]: movies
|
| 119 |
+
- generic [ref=e130]:
|
| 120 |
+
- button "Subscribe No subscribers" [ref=e132]:
|
| 121 |
+
- generic [ref=e133] [cursor=pointer]: Subscribe
|
| 122 |
+
- generic "No subscribers" [ref=e134] [cursor=pointer]: "0"
|
| 123 |
+
- paragraph [ref=e135]: 3,261 submissions
|
| 124 |
+
- article [ref=e136]:
|
| 125 |
+
- generic [ref=e137]:
|
| 126 |
+
- heading "memes — memes" [level=2] [ref=e138]:
|
| 127 |
+
- link "memes — memes" [ref=e139] [cursor=pointer]:
|
| 128 |
+
- /url: /f/memes
|
| 129 |
+
- generic [ref=e141]: /f/memes
|
| 130 |
+
- generic [ref=e142]: memes
|
| 131 |
+
- paragraph [ref=e143]: memes
|
| 132 |
+
- generic [ref=e145]:
|
| 133 |
+
- button "Subscribe No subscribers" [ref=e147]:
|
| 134 |
+
- generic [ref=e148] [cursor=pointer]: Subscribe
|
| 135 |
+
- generic "No subscribers" [ref=e149] [cursor=pointer]: "0"
|
| 136 |
+
- paragraph [ref=e150]: 3,129 submissions
|
| 137 |
+
- article [ref=e151]:
|
| 138 |
+
- generic [ref=e152]:
|
| 139 |
+
- heading "wallstreetbets — wallstreetbets" [level=2] [ref=e153]:
|
| 140 |
+
- link "wallstreetbets — wallstreetbets" [ref=e154] [cursor=pointer]:
|
| 141 |
+
- /url: /f/wallstreetbets
|
| 142 |
+
- generic [ref=e156]: /f/wallstreetbets
|
| 143 |
+
- generic [ref=e157]: wallstreetbets
|
| 144 |
+
- paragraph [ref=e158]: wallstreetbets
|
| 145 |
+
- generic [ref=e160]:
|
| 146 |
+
- button "Subscribe No subscribers" [ref=e162]:
|
| 147 |
+
- generic [ref=e163] [cursor=pointer]: Subscribe
|
| 148 |
+
- generic "No subscribers" [ref=e164] [cursor=pointer]: "0"
|
| 149 |
+
- paragraph [ref=e165]: 3,089 submissions
|
| 150 |
+
- article [ref=e166]:
|
| 151 |
+
- generic [ref=e167]:
|
| 152 |
+
- heading "gaming — gaming" [level=2] [ref=e168]:
|
| 153 |
+
- link "gaming — gaming" [ref=e169] [cursor=pointer]:
|
| 154 |
+
- /url: /f/gaming
|
| 155 |
+
- generic [ref=e171]: /f/gaming
|
| 156 |
+
- generic [ref=e172]: gaming
|
| 157 |
+
- paragraph [ref=e173]: gaming
|
| 158 |
+
- generic [ref=e175]:
|
| 159 |
+
- button "Subscribe No subscribers" [ref=e177]:
|
| 160 |
+
- generic [ref=e178] [cursor=pointer]: Subscribe
|
| 161 |
+
- generic "No subscribers" [ref=e179] [cursor=pointer]: "0"
|
| 162 |
+
- paragraph [ref=e180]: 2,572 submissions
|
| 163 |
+
- article [ref=e181]:
|
| 164 |
+
- generic [ref=e182]:
|
| 165 |
+
- heading "technology — technology" [level=2] [ref=e183]:
|
| 166 |
+
- link "technology — technology" [ref=e184] [cursor=pointer]:
|
| 167 |
+
- /url: /f/technology
|
| 168 |
+
- generic [ref=e186]: /f/technology
|
| 169 |
+
- generic [ref=e187]: technology
|
| 170 |
+
- paragraph [ref=e188]: technology
|
| 171 |
+
- generic [ref=e190]:
|
| 172 |
+
- button "Subscribe No subscribers" [ref=e192]:
|
| 173 |
+
- generic [ref=e193] [cursor=pointer]: Subscribe
|
| 174 |
+
- generic "No subscribers" [ref=e194] [cursor=pointer]: "0"
|
| 175 |
+
- paragraph [ref=e195]: 2,472 submissions
|
| 176 |
+
- article [ref=e196]:
|
| 177 |
+
- generic [ref=e197]:
|
| 178 |
+
- heading "pics — pics" [level=2] [ref=e198]:
|
| 179 |
+
- link "pics — pics" [ref=e199] [cursor=pointer]:
|
| 180 |
+
- /url: /f/pics
|
| 181 |
+
- generic [ref=e201]: /f/pics
|
| 182 |
+
- generic [ref=e202]: pics
|
| 183 |
+
- paragraph [ref=e203]: pics
|
| 184 |
+
- generic [ref=e205]:
|
| 185 |
+
- button "Subscribe No subscribers" [ref=e207]:
|
| 186 |
+
- generic [ref=e208] [cursor=pointer]: Subscribe
|
| 187 |
+
- generic "No subscribers" [ref=e209] [cursor=pointer]: "0"
|
| 188 |
+
- paragraph [ref=e210]: 2,450 submissions
|
| 189 |
+
- article [ref=e211]:
|
| 190 |
+
- generic [ref=e212]:
|
| 191 |
+
- heading "funny — funny" [level=2] [ref=e213]:
|
| 192 |
+
- link "funny — funny" [ref=e214] [cursor=pointer]:
|
| 193 |
+
- /url: /f/funny
|
| 194 |
+
- generic [ref=e216]: /f/funny
|
| 195 |
+
- generic [ref=e217]: funny
|
| 196 |
+
- paragraph [ref=e218]: funny
|
| 197 |
+
- generic [ref=e220]:
|
| 198 |
+
- button "Subscribe No subscribers" [ref=e222]:
|
| 199 |
+
- generic [ref=e223] [cursor=pointer]: Subscribe
|
| 200 |
+
- generic "No subscribers" [ref=e224] [cursor=pointer]: "0"
|
| 201 |
+
- paragraph [ref=e225]: 2,407 submissions
|
| 202 |
+
- article [ref=e226]:
|
| 203 |
+
- generic [ref=e227]:
|
| 204 |
+
- heading "television — television" [level=2] [ref=e228]:
|
| 205 |
+
- link "television — television" [ref=e229] [cursor=pointer]:
|
| 206 |
+
- /url: /f/television
|
| 207 |
+
- generic [ref=e231]: /f/television
|
| 208 |
+
- generic [ref=e232]: television
|
| 209 |
+
- paragraph [ref=e233]: television
|
| 210 |
+
- generic [ref=e235]:
|
| 211 |
+
- button "Subscribe No subscribers" [ref=e237]:
|
| 212 |
+
- generic [ref=e238] [cursor=pointer]: Subscribe
|
| 213 |
+
- generic "No subscribers" [ref=e239] [cursor=pointer]: "0"
|
| 214 |
+
- paragraph [ref=e240]: 2,389 submissions
|
| 215 |
+
- article [ref=e241]:
|
| 216 |
+
- generic [ref=e242]:
|
| 217 |
+
- heading "mildlyinteresting — mildlyinteresting" [level=2] [ref=e243]:
|
| 218 |
+
- link "mildlyinteresting — mildlyinteresting" [ref=e244] [cursor=pointer]:
|
| 219 |
+
- /url: /f/mildlyinteresting
|
| 220 |
+
- generic [ref=e246]: /f/mildlyinteresting
|
| 221 |
+
- generic [ref=e247]: mildlyinteresting
|
| 222 |
+
- paragraph [ref=e248]: mildlyinteresting
|
| 223 |
+
- generic [ref=e250]:
|
| 224 |
+
- button "Subscribe No subscribers" [ref=e252]:
|
| 225 |
+
- generic [ref=e253] [cursor=pointer]: Subscribe
|
| 226 |
+
- generic "No subscribers" [ref=e254] [cursor=pointer]: "0"
|
| 227 |
+
- paragraph [ref=e255]: 2,211 submissions
|
| 228 |
+
- article [ref=e256]:
|
| 229 |
+
- generic [ref=e257]:
|
| 230 |
+
- heading "Showerthoughts — Showerthoughts" [level=2] [ref=e258]:
|
| 231 |
+
- link "Showerthoughts — Showerthoughts" [ref=e259] [cursor=pointer]:
|
| 232 |
+
- /url: /f/Showerthoughts
|
| 233 |
+
- generic [ref=e261]: /f/Showerthoughts
|
| 234 |
+
- generic [ref=e262]: Showerthoughts
|
| 235 |
+
- paragraph [ref=e263]: Showerthoughts
|
| 236 |
+
- generic [ref=e265]:
|
| 237 |
+
- button "Subscribe No subscribers" [ref=e267]:
|
| 238 |
+
- generic [ref=e268] [cursor=pointer]: Subscribe
|
| 239 |
+
- generic "No subscribers" [ref=e269] [cursor=pointer]: "0"
|
| 240 |
+
- paragraph [ref=e270]: 2,175 submissions
|
| 241 |
+
- article [ref=e271]:
|
| 242 |
+
- generic [ref=e272]:
|
| 243 |
+
- heading "todayilearned — todayilearned" [level=2] [ref=e273]:
|
| 244 |
+
- link "todayilearned — todayilearned" [ref=e274] [cursor=pointer]:
|
| 245 |
+
- /url: /f/todayilearned
|
| 246 |
+
- generic [ref=e276]: /f/todayilearned
|
| 247 |
+
- generic [ref=e277]: todayilearned
|
| 248 |
+
- paragraph [ref=e278]: todayilearned
|
| 249 |
+
- generic [ref=e280]:
|
| 250 |
+
- button "Subscribe No subscribers" [ref=e282]:
|
| 251 |
+
- generic [ref=e283] [cursor=pointer]: Subscribe
|
| 252 |
+
- generic "No subscribers" [ref=e284] [cursor=pointer]: "0"
|
| 253 |
+
- paragraph [ref=e285]: 2,111 submissions
|
| 254 |
+
- article [ref=e286]:
|
| 255 |
+
- generic [ref=e287]:
|
| 256 |
+
- heading "personalfinance — personalfinance" [level=2] [ref=e288]:
|
| 257 |
+
- link "personalfinance — personalfinance" [ref=e289] [cursor=pointer]:
|
| 258 |
+
- /url: /f/personalfinance
|
| 259 |
+
- generic [ref=e291]: /f/personalfinance
|
| 260 |
+
- generic [ref=e292]: personalfinance
|
| 261 |
+
- paragraph [ref=e293]: personalfinance
|
| 262 |
+
- generic [ref=e295]:
|
| 263 |
+
- button "Subscribe No subscribers" [ref=e297]:
|
| 264 |
+
- generic [ref=e298] [cursor=pointer]: Subscribe
|
| 265 |
+
- generic "No subscribers" [ref=e299] [cursor=pointer]: "0"
|
| 266 |
+
- paragraph [ref=e300]: 1,957 submissions
|
| 267 |
+
- article [ref=e301]:
|
| 268 |
+
- generic [ref=e302]:
|
| 269 |
+
- heading "LifeProTips — LifeProTips" [level=2] [ref=e303]:
|
| 270 |
+
- link "LifeProTips — LifeProTips" [ref=e304] [cursor=pointer]:
|
| 271 |
+
- /url: /f/LifeProTips
|
| 272 |
+
- generic [ref=e306]: /f/LifeProTips
|
| 273 |
+
- generic [ref=e307]: LifeProTips
|
| 274 |
+
- paragraph [ref=e308]: LifeProTips
|
| 275 |
+
- generic [ref=e310]:
|
| 276 |
+
- button "Subscribe No subscribers" [ref=e312]:
|
| 277 |
+
- generic [ref=e313] [cursor=pointer]: Subscribe
|
| 278 |
+
- generic "No subscribers" [ref=e314] [cursor=pointer]: "0"
|
| 279 |
+
- paragraph [ref=e315]: 1,953 submissions
|
| 280 |
+
- article [ref=e316]:
|
| 281 |
+
- generic [ref=e317]:
|
| 282 |
+
- heading "Futurology — Futurology" [level=2] [ref=e318]:
|
| 283 |
+
- link "Futurology — Futurology" [ref=e319] [cursor=pointer]:
|
| 284 |
+
- /url: /f/Futurology
|
| 285 |
+
- generic [ref=e321]: /f/Futurology
|
| 286 |
+
- generic [ref=e322]: Futurology
|
| 287 |
+
- paragraph [ref=e323]: Futurology
|
| 288 |
+
- generic [ref=e325]:
|
| 289 |
+
- button "Subscribe No subscribers" [ref=e327]:
|
| 290 |
+
- generic [ref=e328] [cursor=pointer]: Subscribe
|
| 291 |
+
- generic "No subscribers" [ref=e329] [cursor=pointer]: "0"
|
| 292 |
+
- paragraph [ref=e330]: 1,902 submissions
|
| 293 |
+
- article [ref=e331]:
|
| 294 |
+
- generic [ref=e332]:
|
| 295 |
+
- heading "Music — Music" [level=2] [ref=e333]:
|
| 296 |
+
- link "Music — Music" [ref=e334] [cursor=pointer]:
|
| 297 |
+
- /url: /f/Music
|
| 298 |
+
- generic [ref=e336]: /f/Music
|
| 299 |
+
- generic [ref=e337]: Music
|
| 300 |
+
- paragraph [ref=e338]: Music
|
| 301 |
+
- generic [ref=e340]:
|
| 302 |
+
- button "Subscribe No subscribers" [ref=e342]:
|
| 303 |
+
- generic [ref=e343] [cursor=pointer]: Subscribe
|
| 304 |
+
- generic "No subscribers" [ref=e344] [cursor=pointer]: "0"
|
| 305 |
+
- paragraph [ref=e345]: 1,869 submissions
|
| 306 |
+
- article [ref=e346]:
|
| 307 |
+
- generic [ref=e347]:
|
| 308 |
+
- heading "explainlikeimfive — explainlikeimfive" [level=2] [ref=e348]:
|
| 309 |
+
- link "explainlikeimfive — explainlikeimfive" [ref=e349] [cursor=pointer]:
|
| 310 |
+
- /url: /f/explainlikeimfive
|
| 311 |
+
- generic [ref=e351]: /f/explainlikeimfive
|
| 312 |
+
- generic [ref=e352]: explainlikeimfive
|
| 313 |
+
- paragraph [ref=e353]: explainlikeimfive
|
| 314 |
+
- generic [ref=e355]:
|
| 315 |
+
- button "Subscribe No subscribers" [ref=e357]:
|
| 316 |
+
- generic [ref=e358] [cursor=pointer]: Subscribe
|
| 317 |
+
- generic "No subscribers" [ref=e359] [cursor=pointer]: "0"
|
| 318 |
+
- paragraph [ref=e360]: 1,818 submissions
|
| 319 |
+
- article [ref=e361]:
|
| 320 |
+
- generic [ref=e362]:
|
| 321 |
+
- heading "books — books" [level=2] [ref=e363]:
|
| 322 |
+
- link "books — books" [ref=e364] [cursor=pointer]:
|
| 323 |
+
- /url: /f/books
|
| 324 |
+
- generic [ref=e366]: /f/books
|
| 325 |
+
- generic [ref=e367]: books
|
| 326 |
+
- paragraph [ref=e368]: books
|
| 327 |
+
- generic [ref=e370]:
|
| 328 |
+
- button "Subscribe No subscribers" [ref=e372]:
|
| 329 |
+
- generic [ref=e373] [cursor=pointer]: Subscribe
|
| 330 |
+
- generic "No subscribers" [ref=e374] [cursor=pointer]: "0"
|
| 331 |
+
- paragraph [ref=e375]: 1,796 submissions
|
| 332 |
+
- article [ref=e376]:
|
| 333 |
+
- generic [ref=e377]:
|
| 334 |
+
- heading "science — science" [level=2] [ref=e378]:
|
| 335 |
+
- link "science — science" [ref=e379] [cursor=pointer]:
|
| 336 |
+
- /url: /f/science
|
| 337 |
+
- generic [ref=e381]: /f/science
|
| 338 |
+
- generic [ref=e382]: science
|
| 339 |
+
- paragraph [ref=e383]: science
|
| 340 |
+
- generic [ref=e385]:
|
| 341 |
+
- button "Subscribe No subscribers" [ref=e387]:
|
| 342 |
+
- generic [ref=e388] [cursor=pointer]: Subscribe
|
| 343 |
+
- generic "No subscribers" [ref=e389] [cursor=pointer]: "0"
|
| 344 |
+
- paragraph [ref=e390]: 1,792 submissions
|
| 345 |
+
- article [ref=e391]:
|
| 346 |
+
- generic [ref=e392]:
|
| 347 |
+
- heading "Jokes — Jokes" [level=2] [ref=e393]:
|
| 348 |
+
- link "Jokes — Jokes" [ref=e394] [cursor=pointer]:
|
| 349 |
+
- /url: /f/Jokes
|
| 350 |
+
- generic [ref=e396]: /f/Jokes
|
| 351 |
+
- generic [ref=e397]: Jokes
|
| 352 |
+
- paragraph [ref=e398]: Jokes
|
| 353 |
+
- generic [ref=e400]:
|
| 354 |
+
- button "Subscribe No subscribers" [ref=e402]:
|
| 355 |
+
- generic [ref=e403] [cursor=pointer]: Subscribe
|
| 356 |
+
- generic "No subscribers" [ref=e404] [cursor=pointer]: "0"
|
| 357 |
+
- paragraph [ref=e405]: 1,758 submissions
|
| 358 |
+
- article [ref=e406]:
|
| 359 |
+
- generic [ref=e407]:
|
| 360 |
+
- heading "tifu — tifu" [level=2] [ref=e408]:
|
| 361 |
+
- link "tifu — tifu" [ref=e409] [cursor=pointer]:
|
| 362 |
+
- /url: /f/tifu
|
| 363 |
+
- generic [ref=e411]: /f/tifu
|
| 364 |
+
- generic [ref=e412]: tifu
|
| 365 |
+
- paragraph [ref=e413]: tifu
|
| 366 |
+
- generic [ref=e415]:
|
| 367 |
+
- button "Subscribe No subscribers" [ref=e417]:
|
| 368 |
+
- generic [ref=e418] [cursor=pointer]: Subscribe
|
| 369 |
+
- generic "No subscribers" [ref=e419] [cursor=pointer]: "0"
|
| 370 |
+
- paragraph [ref=e420]: 1,678 submissions
|
| 371 |
+
- article [ref=e421]:
|
| 372 |
+
- generic [ref=e422]:
|
| 373 |
+
- heading "space — space" [level=2] [ref=e423]:
|
| 374 |
+
- link "space — space" [ref=e424] [cursor=pointer]:
|
| 375 |
+
- /url: /f/space
|
| 376 |
+
- generic [ref=e426]: /f/space
|
| 377 |
+
- generic [ref=e427]: space
|
| 378 |
+
- paragraph [ref=e428]: space
|
| 379 |
+
- generic [ref=e430]:
|
| 380 |
+
- button "Subscribe No subscribers" [ref=e432]:
|
| 381 |
+
- generic [ref=e433] [cursor=pointer]: Subscribe
|
| 382 |
+
- generic "No subscribers" [ref=e434] [cursor=pointer]: "0"
|
| 383 |
+
- paragraph [ref=e435]: 1,671 submissions
|
| 384 |
+
- navigation [ref=e436]:
|
| 385 |
+
- list [ref=e437]:
|
| 386 |
+
- listitem [ref=e439]:
|
| 387 |
+
- button "Previous" [disabled] [ref=e440]
|
| 388 |
+
- listitem [ref=e441]:
|
| 389 |
+
- link "Page 1" [ref=e442] [cursor=pointer]:
|
| 390 |
+
- /url: /forums
|
| 391 |
+
- text: "1"
|
| 392 |
+
- listitem [ref=e443]:
|
| 393 |
+
- link "Page 2" [ref=e444] [cursor=pointer]:
|
| 394 |
+
- /url: /forums/by_submissions/2
|
| 395 |
+
- text: "2"
|
| 396 |
+
- listitem [ref=e445]:
|
| 397 |
+
- link "Page 3" [ref=e446] [cursor=pointer]:
|
| 398 |
+
- /url: /forums/by_submissions/3
|
| 399 |
+
- text: "3"
|
| 400 |
+
- listitem [ref=e447]:
|
| 401 |
+
- link "Page 4" [ref=e448] [cursor=pointer]:
|
| 402 |
+
- /url: /forums/by_submissions/4
|
| 403 |
+
- text: "4"
|
| 404 |
+
- listitem [ref=e449]:
|
| 405 |
+
- link "Next" [ref=e450] [cursor=pointer]:
|
| 406 |
+
- /url: /forums/by_submissions/2
|
| 407 |
+
- contentinfo [ref=e452]:
|
| 408 |
+
- paragraph [ref=e453]:
|
| 409 |
+
- generic [ref=e454]:
|
| 410 |
+
- text: Running
|
| 411 |
+
- link "Postmill" [ref=e455] [cursor=pointer]:
|
| 412 |
+
- /url: https://postmill.xyz/
|
homepage.yml
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
- generic [active] [ref=e1]:
|
| 2 |
+
- navigation:
|
| 3 |
+
- link "Jump to main content" [ref=e2] [cursor=pointer]:
|
| 4 |
+
- /url: "#main"
|
| 5 |
+
- link "Jump to sidebar" [ref=e3] [cursor=pointer]:
|
| 6 |
+
- /url: "#sidebar"
|
| 7 |
+
- navigation [ref=e4]:
|
| 8 |
+
- generic [ref=e5]:
|
| 9 |
+
- link "Home" [ref=e7] [cursor=pointer]:
|
| 10 |
+
- /url: /
|
| 11 |
+
- text: Postmill
|
| 12 |
+
- list [ref=e9]:
|
| 13 |
+
- listitem [ref=e10]:
|
| 14 |
+
- link "Forums" [ref=e11] [cursor=pointer]:
|
| 15 |
+
- /url: /forums
|
| 16 |
+
- listitem [ref=e12]:
|
| 17 |
+
- link "Wiki" [ref=e13] [cursor=pointer]:
|
| 18 |
+
- /url: /wiki
|
| 19 |
+
- generic [ref=e15]:
|
| 20 |
+
- img [ref=e18]
|
| 21 |
+
- searchbox "Search query" [ref=e20]
|
| 22 |
+
- list [ref=e21]:
|
| 23 |
+
- listitem [ref=e22]:
|
| 24 |
+
- link "Log in" [ref=e23] [cursor=pointer]:
|
| 25 |
+
- /url: /login
|
| 26 |
+
- listitem [ref=e24]:
|
| 27 |
+
- link "Sign up" [ref=e25] [cursor=pointer]:
|
| 28 |
+
- /url: /registration
|
| 29 |
+
- generic [ref=e26]:
|
| 30 |
+
- main [ref=e27]:
|
| 31 |
+
- navigation [ref=e28]:
|
| 32 |
+
- list [ref=e29]:
|
| 33 |
+
- listitem [ref=e30]:
|
| 34 |
+
- link "Submissions" [ref=e31] [cursor=pointer]:
|
| 35 |
+
- /url: /
|
| 36 |
+
- listitem [ref=e32]:
|
| 37 |
+
- link "Comments" [ref=e33] [cursor=pointer]:
|
| 38 |
+
- /url: /comments
|
| 39 |
+
- list [ref=e34]:
|
| 40 |
+
- listitem [ref=e35]:
|
| 41 |
+
- 'button "Filter on: Featured" [ref=e36] [cursor=pointer]':
|
| 42 |
+
- img [ref=e38]
|
| 43 |
+
- text: Featured
|
| 44 |
+
- text: •
|
| 45 |
+
- listitem [ref=e41]:
|
| 46 |
+
- 'button "Sort by: Hot" [ref=e42] [cursor=pointer]':
|
| 47 |
+
- img [ref=e44]
|
| 48 |
+
- text: Hot
|
| 49 |
+
- text: •
|
| 50 |
+
- complementary [ref=e47]:
|
| 51 |
+
- generic [ref=e48]:
|
| 52 |
+
- heading "Featured forums" [level=1] [ref=e49]
|
| 53 |
+
- paragraph [ref=e50]: There are no featured forums to display.
|
| 54 |
+
- contentinfo [ref=e51]:
|
| 55 |
+
- paragraph [ref=e52]:
|
| 56 |
+
- generic [ref=e53]:
|
| 57 |
+
- text: Running
|
| 58 |
+
- link "Postmill" [ref=e54] [cursor=pointer]:
|
| 59 |
+
- /url: https://postmill.xyz/
|
login-page.yml
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
- generic [ref=e2]:
|
| 2 |
+
- link "Magento Admin Panel" [ref=e4] [cursor=pointer]:
|
| 3 |
+
- /url: http://localhost:7787/admin/admin/
|
| 4 |
+
- img "Magento Admin Panel" [ref=e5]
|
| 5 |
+
- group "Welcome, please sign in" [ref=e8]:
|
| 6 |
+
- generic [ref=e9]: Welcome, please sign in
|
| 7 |
+
- generic [ref=e10]:
|
| 8 |
+
- generic [ref=e12]: Username *
|
| 9 |
+
- textbox "Username *" [ref=e14]:
|
| 10 |
+
- /placeholder: user name
|
| 11 |
+
- text: admin
|
| 12 |
+
- generic [ref=e15]:
|
| 13 |
+
- generic [ref=e17]: Password *
|
| 14 |
+
- textbox "Password *" [active] [ref=e19]:
|
| 15 |
+
- /placeholder: password
|
| 16 |
+
- text: admin1234
|
| 17 |
+
- generic [ref=e20]:
|
| 18 |
+
- button "Sign in" [ref=e22] [cursor=pointer]
|
| 19 |
+
- link "Forgot your password?" [ref=e24] [cursor=pointer]:
|
| 20 |
+
- /url: http://localhost:7787/admin/admin/auth/forgotpassword/
|
| 21 |
+
- generic [ref=e25]:
|
| 22 |
+
- link "Magento":
|
| 23 |
+
- /url: http://magento.com
|
| 24 |
+
- text: Copyright © 2026 Magento Commerce Inc. All rights reserved.
|
login.png
ADDED
|
new-customer.yml
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
- generic [active] [ref=e1]:
|
| 2 |
+
- generic [ref=e2]:
|
| 3 |
+
- link "Magento Admin Panel" [ref=e3] [cursor=pointer]:
|
| 4 |
+
- /url: http://localhost:7787/admin/admin/
|
| 5 |
+
- img "Magento Admin Panel" [ref=e4]
|
| 6 |
+
- navigation [ref=e5]:
|
| 7 |
+
- menubar [ref=e6]:
|
| 8 |
+
- listitem [ref=e7]:
|
| 9 |
+
- link " Dashboard" [ref=e8] [cursor=pointer]:
|
| 10 |
+
- /url: http://localhost:7787/admin/admin/dashboard/
|
| 11 |
+
- listitem [ref=e9]:
|
| 12 |
+
- link " Sales" [ref=e10] [cursor=pointer]:
|
| 13 |
+
- /url: "#"
|
| 14 |
+
- listitem [ref=e11]:
|
| 15 |
+
- link " Catalog" [ref=e12] [cursor=pointer]:
|
| 16 |
+
- /url: "#"
|
| 17 |
+
- listitem [ref=e13]:
|
| 18 |
+
- link " Customers" [ref=e14] [cursor=pointer]:
|
| 19 |
+
- /url: "#"
|
| 20 |
+
- listitem [ref=e15]:
|
| 21 |
+
- link " Marketing" [ref=e16] [cursor=pointer]:
|
| 22 |
+
- /url: "#"
|
| 23 |
+
- listitem [ref=e17]:
|
| 24 |
+
- link " Content" [ref=e18] [cursor=pointer]:
|
| 25 |
+
- /url: "#"
|
| 26 |
+
- listitem [ref=e19]:
|
| 27 |
+
- link " Reports" [ref=e20] [cursor=pointer]:
|
| 28 |
+
- /url: "#"
|
| 29 |
+
- listitem [ref=e21]:
|
| 30 |
+
- link " Stores" [ref=e22] [cursor=pointer]:
|
| 31 |
+
- /url: "#"
|
| 32 |
+
- listitem [ref=e23]:
|
| 33 |
+
- link " System" [ref=e24] [cursor=pointer]:
|
| 34 |
+
- /url: "#"
|
| 35 |
+
- listitem [ref=e25]:
|
| 36 |
+
- link " Find Partners & Extensions" [ref=e26] [cursor=pointer]:
|
| 37 |
+
- /url: http://localhost:7787/admin/marketplace/index/
|
| 38 |
+
- text:
|
| 39 |
+
- generic [ref=e27]:
|
| 40 |
+
- generic [ref=e31]:
|
| 41 |
+
- generic [ref=e32]:
|
| 42 |
+
- 'button "System Messages: 1" [ref=e33] [cursor=pointer]':
|
| 43 |
+
- generic [ref=e34]: "System Messages: 1"
|
| 44 |
+
- generic [ref=e36]:
|
| 45 |
+
- text: One or more
|
| 46 |
+
- link "indexers are invalid" [ref=e37] [cursor=pointer]:
|
| 47 |
+
- /url: http://localhost:7787/admin/indexer/indexer/list/
|
| 48 |
+
- text: . Make sure your
|
| 49 |
+
- link "Magento cron job" [ref=e38] [cursor=pointer]:
|
| 50 |
+
- /url: https://devdocs.magento.com/guides/v2.4/config-guide/cli/config-cli-subcommands-cron.html#create-or-remove-the-magento-crontab
|
| 51 |
+
- text: is running.
|
| 52 |
+
- text:
|
| 53 |
+
- banner [ref=e39]:
|
| 54 |
+
- heading "New Customer" [level=1] [ref=e42]
|
| 55 |
+
- generic [ref=e43]:
|
| 56 |
+
- link " admin" [ref=e45] [cursor=pointer]:
|
| 57 |
+
- /url: http://localhost:7787/admin/admin/system_account/index/
|
| 58 |
+
- text:
|
| 59 |
+
- generic [ref=e47]: admin
|
| 60 |
+
- link "" [ref=e49] [cursor=pointer]:
|
| 61 |
+
- /url: http://localhost:7787/admin/admin/notification/index/
|
| 62 |
+
- generic:
|
| 63 |
+
- generic:
|
| 64 |
+
- generic:
|
| 65 |
+
- generic [ref=e50] [cursor=pointer]:
|
| 66 |
+
- textbox "" [ref=e51]
|
| 67 |
+
- main [ref=e52]:
|
| 68 |
+
- generic [ref=e54]:
|
| 69 |
+
- button " Back" [ref=e55] [cursor=pointer]
|
| 70 |
+
- button "Reset" [ref=e56] [cursor=pointer]
|
| 71 |
+
- button "Save and Continue Edit" [ref=e57] [cursor=pointer]
|
| 72 |
+
- button "Save Customer" [ref=e58] [cursor=pointer]
|
| 73 |
+
- generic [ref=e59]:
|
| 74 |
+
- generic [ref=e65]:
|
| 75 |
+
- strong [ref=e67]: Account Information
|
| 76 |
+
- group [ref=e69]:
|
| 77 |
+
- generic [ref=e70]:
|
| 78 |
+
- generic [ref=e73] [cursor=pointer]: Associate to Website *
|
| 79 |
+
- generic [ref=e74]:
|
| 80 |
+
- combobox "notice-T62JVND" [ref=e75]:
|
| 81 |
+
- option "Main Website" [selected]
|
| 82 |
+
- link " What is this?" [ref=e77] [cursor=pointer]:
|
| 83 |
+
- /url: https://docs.magento.com/user-guide/configuration/scope.html
|
| 84 |
+
- text:
|
| 85 |
+
- generic [ref=e78]: What is this?
|
| 86 |
+
- group [ref=e79]:
|
| 87 |
+
- generic [ref=e81]:
|
| 88 |
+
- generic [ref=e82]:
|
| 89 |
+
- generic [ref=e85] [cursor=pointer]: Group *
|
| 90 |
+
- combobox "notice-AHHX1RX" [ref=e87]:
|
| 91 |
+
- option "General" [selected]
|
| 92 |
+
- option "Premium Europe 3"
|
| 93 |
+
- option "Retailer"
|
| 94 |
+
- option "Wholesale"
|
| 95 |
+
- generic [ref=e88]:
|
| 96 |
+
- generic [ref=e91] [cursor=pointer]: Disable Automatic Group Change Based on VAT ID
|
| 97 |
+
- generic [ref=e93]:
|
| 98 |
+
- checkbox "Disable Automatic Group Change Based on VAT ID Disable Automatic Group Change Based on VAT ID" [ref=e94] [cursor=pointer]
|
| 99 |
+
- generic [ref=e95] [cursor=pointer]: Disable Automatic Group Change Based on VAT ID
|
| 100 |
+
- generic [ref=e96]:
|
| 101 |
+
- generic [ref=e99] [cursor=pointer]: Name Prefix
|
| 102 |
+
- textbox "Name Prefix" [ref=e101]
|
| 103 |
+
- generic [ref=e102]:
|
| 104 |
+
- generic [ref=e105] [cursor=pointer]: First Name *
|
| 105 |
+
- textbox "First Name *" [ref=e107]
|
| 106 |
+
- generic [ref=e108]:
|
| 107 |
+
- generic [ref=e111] [cursor=pointer]: Middle Name/Initial
|
| 108 |
+
- textbox "Middle Name/Initial" [ref=e113]
|
| 109 |
+
- generic [ref=e114]:
|
| 110 |
+
- generic [ref=e117] [cursor=pointer]: Last Name *
|
| 111 |
+
- textbox "Last Name *" [ref=e119]
|
| 112 |
+
- generic [ref=e120]:
|
| 113 |
+
- generic [ref=e123] [cursor=pointer]: Name Suffix
|
| 114 |
+
- textbox "Name Suffix" [ref=e125]
|
| 115 |
+
- generic [ref=e126]:
|
| 116 |
+
- generic [ref=e129] [cursor=pointer]: Email *
|
| 117 |
+
- textbox "Email *" [ref=e131]
|
| 118 |
+
- generic [ref=e132]:
|
| 119 |
+
- generic [ref=e135] [cursor=pointer]: Allow remote shopping assistance
|
| 120 |
+
- generic [ref=e137]:
|
| 121 |
+
- checkbox "Allow remote shopping assistance No" [ref=e138]
|
| 122 |
+
- generic [ref=e140] [cursor=pointer]: "No"
|
| 123 |
+
- generic [ref=e141]:
|
| 124 |
+
- generic [ref=e144] [cursor=pointer]: Date of Birth
|
| 125 |
+
- generic [ref=e145]:
|
| 126 |
+
- textbox "Date of Birth" [ref=e146]
|
| 127 |
+
- button "undefined " [ref=e147] [cursor=pointer]:
|
| 128 |
+
- generic [ref=e148]: undefined
|
| 129 |
+
- text:
|
| 130 |
+
- generic [ref=e149]:
|
| 131 |
+
- generic [ref=e152] [cursor=pointer]: Tax/VAT Number
|
| 132 |
+
- textbox "Tax/VAT Number" [ref=e154]
|
| 133 |
+
- generic [ref=e155]:
|
| 134 |
+
- generic [ref=e158] [cursor=pointer]: Gender
|
| 135 |
+
- combobox "notice-RGC1RR4" [ref=e160]:
|
| 136 |
+
- option [selected]
|
| 137 |
+
- option "Male"
|
| 138 |
+
- option "Female"
|
| 139 |
+
- option "Not Specified"
|
| 140 |
+
- generic [ref=e161]:
|
| 141 |
+
- generic [ref=e164] [cursor=pointer]: Send Welcome Email From
|
| 142 |
+
- combobox "notice-JXR6GV7" [ref=e166]:
|
| 143 |
+
- option "Default Store View" [selected]
|
| 144 |
+
- generic [ref=e169]:
|
| 145 |
+
- strong [ref=e171]: Customer Information
|
| 146 |
+
- list [ref=e172]:
|
| 147 |
+
- listitem [ref=e173]:
|
| 148 |
+
- link "Account Information" [ref=e174] [cursor=pointer]:
|
| 149 |
+
- /url: "#"
|
| 150 |
+
- text: Account Information
|
| 151 |
+
- generic:
|
| 152 |
+
- contentinfo [ref=e175]:
|
| 153 |
+
- generic [ref=e177]:
|
| 154 |
+
- paragraph [ref=e178]:
|
| 155 |
+
- link "" [ref=e179] [cursor=pointer]:
|
| 156 |
+
- /url: http://magento.com
|
| 157 |
+
- text: Copyright © 2026 Magento Commerce Inc. All rights reserved.
|
| 158 |
+
- generic [ref=e180]:
|
| 159 |
+
- paragraph [ref=e181]:
|
| 160 |
+
- strong [ref=e182]: Magento
|
| 161 |
+
- text: ver. 2.4.6
|
| 162 |
+
- link "Privacy Policy" [ref=e183] [cursor=pointer]:
|
| 163 |
+
- /url: https://www.adobe.com/privacy/policy.html
|
| 164 |
+
- text: "|"
|
| 165 |
+
- link "Account Activity" [ref=e184] [cursor=pointer]:
|
| 166 |
+
- /url: http://localhost:7787/admin/security/session/activity/
|
| 167 |
+
- text: "|"
|
| 168 |
+
- link "Report an Issue" [ref=e185] [cursor=pointer]:
|
| 169 |
+
- /url: https://github.com/magento/magento2/issues
|
| 170 |
+
- text: ‹ ›
|
page1-snapshot.yml
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
- generic [active] [ref=e1]:
|
| 2 |
+
- heading "Movies Forum" [level=1] [ref=e2]
|
| 3 |
+
- navigation [ref=e3]:
|
| 4 |
+
- link "Page 1" [ref=e4] [cursor=pointer]:
|
| 5 |
+
- /url: forum_p1.html
|
| 6 |
+
- link "Page 2" [ref=e5] [cursor=pointer]:
|
| 7 |
+
- /url: forum_p2.html
|
| 8 |
+
- link "Page 3" [ref=e6] [cursor=pointer]:
|
| 9 |
+
- /url: forum_p3.html
|
| 10 |
+
- link "Page 4" [ref=e7] [cursor=pointer]:
|
| 11 |
+
- /url: forum_p4.html
|
| 12 |
+
- link "Page 5" [ref=e8] [cursor=pointer]:
|
| 13 |
+
- /url: forum_p5.html
|
| 14 |
+
- link "+ New post" [ref=e9] [cursor=pointer]:
|
| 15 |
+
- /url: submit.html
|
| 16 |
+
- table [ref=e10]:
|
| 17 |
+
- rowgroup [ref=e11]:
|
| 18 |
+
- row "Title Author Upvotes Comments Type" [ref=e12]:
|
| 19 |
+
- columnheader "Title" [ref=e13]
|
| 20 |
+
- columnheader "Author" [ref=e14]
|
| 21 |
+
- columnheader "Upvotes" [ref=e15]
|
| 22 |
+
- columnheader "Comments" [ref=e16]
|
| 23 |
+
- columnheader "Type" [ref=e17]
|
| 24 |
+
- row "Schema kernel dataset system 2012 Eve 774 177" [ref=e18]:
|
| 25 |
+
- cell "Schema kernel dataset system 2012" [ref=e19]
|
| 26 |
+
- cell "Eve" [ref=e20]
|
| 27 |
+
- cell "774" [ref=e21]
|
| 28 |
+
- cell "177" [ref=e22]
|
| 29 |
+
- cell [ref=e23]
|
| 30 |
+
- row "Cache matrix system parser? Ivy 772 145" [ref=e24]:
|
| 31 |
+
- cell "Cache matrix system parser?" [ref=e25]
|
| 32 |
+
- cell "Ivy" [ref=e26]
|
| 33 |
+
- cell "772" [ref=e27]
|
| 34 |
+
- cell "145" [ref=e28]
|
| 35 |
+
- cell [ref=e29]
|
| 36 |
+
- row "Gradient cache parser tensor 2003 Alice 406 55" [ref=e30]:
|
| 37 |
+
- cell "Gradient cache parser tensor 2003" [ref=e31]
|
| 38 |
+
- cell "Alice" [ref=e32]
|
| 39 |
+
- cell "406" [ref=e33]
|
| 40 |
+
- cell "55" [ref=e34]
|
| 41 |
+
- cell [ref=e35]
|
| 42 |
+
- row "Parser cache system module 2015 Charlie 34 136" [ref=e36]:
|
| 43 |
+
- cell "Parser cache system module 2015" [ref=e37]
|
| 44 |
+
- cell "Charlie" [ref=e38]
|
| 45 |
+
- cell "34" [ref=e39]
|
| 46 |
+
- cell "136" [ref=e40]
|
| 47 |
+
- cell [ref=e41]
|
| 48 |
+
- row "Cache socket kernel cache 2007 Henry 472 200" [ref=e42]:
|
| 49 |
+
- cell "Cache socket kernel cache 2007" [ref=e43]
|
| 50 |
+
- cell "Henry" [ref=e44]
|
| 51 |
+
- cell "472" [ref=e45]
|
| 52 |
+
- cell "200" [ref=e46]
|
| 53 |
+
- cell [ref=e47]
|
| 54 |
+
- row "Logging thread parser tensor? Diana 476 12 IMAGE" [ref=e48]:
|
| 55 |
+
- cell "Logging thread parser tensor?" [ref=e49]
|
| 56 |
+
- cell "Diana" [ref=e50]
|
| 57 |
+
- cell "476" [ref=e51]
|
| 58 |
+
- cell "12" [ref=e52]
|
| 59 |
+
- cell "IMAGE" [ref=e53]
|
page2-main-text.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
"/f/news\nSubmissions\nComments\n Hot \nCourt ruling: High earners can't prevent media accessing their tax data. yle.fi\n\nSubmitted by FINCoffeeDaddy t3_zrh5fp 3 years ago\n\n80 comments\n3396\nRussian founder of cryptocurrency exchange arrested in Miami, accused of dealing with dirty money as part of \"high-tech axis of crypto crime\" cbsnews.com\n\nSubmitted by Clem_Doore t3_10g3zis 3 years ago\n\n127 comments\n3327\n11 East Cleveland officers indicted; videos show them beating, kicking suspects, destroying evidence news5cleveland.com\n\nSubmitted by eastbayted t3_11mi1ad 3 years ago\n\n204 comments\n3312\nIndia blocks BBC documentary on Modi’s role in religious riots | News aljazeera.com\n\nSubmitted by huge_throbbing_pp t3_10j7akj 3 years ago\n\n94 comments\n3243\n5 Connecticut police officers charged after Black man left paralyzed following ride in police van cbsnews.com\n\nSubmitted by AudibleNod t3_z76zxx 4 years ago\n\n150 comments\n3243\n3 White Georgia jail guards arrested in violent assault of Black inmate cbsnews.com\n\nSubmitted by AudibleNod t3_z2aiyk 4 years ago\n\n156 comments\n3215\nShell paid zero windfall tax in UK despite record global profits theguardian.com\n\nSubmitted by hugglenugget t3_yesrv3 4 years ago\n\n133 comments\n3181\nGunmen attack major Shiite holy site in Iran, killing 15 apnews.com\n\nSubmitted by marketrent t3_yhgl0e 4 years ago\n\n198 comments\n3171\n4-year-old whale of one of the world's rarest species is \"likely to die\" after becoming heavily entangled, NOAA says - CBS News cbsnews.com\n\nSubmitted by Simple_Opossum t3_10fadkv 3 years ago\n\n173 comments\n3140\nTexas veteran who entered Senate chamber in military gear on January 6 found guilty | CNN Politics cnn.com\n\nSubmitted by BitterFuture t3_yx77wx 4 years ago\n\n163 comments\n3130\nU.S. Astronaut James McDivitt, commander of Apollo 9, dies at age 93 cbsnews.com\n\nSubmitted by latchkey_adult t3_y7q5ig 4 years ago\n\n45 comments\n3113\nTax Filing Websites Have Been Sending Users’ Financial Information to Facebook themarkup.org\n\nSubmitted by phunky_1 t3_z23c6t 4 years ago\n\n207 comments\n3103\nTikTok confirms employees improperly accessed journalists' user data in hunt for leaks cbc.ca\n\nSubmitted by j1ggy t3_zsv4i2 3 years ago\n\n88 comments\n3084\nLamar Johnson freed 28 years after wrongful murder conviction bbc.com\n\nSubmitted by CommanderMcBragg t3_112zoac 3 years ago\n\n146 comments\n3082\nExclusive: Hyundai to divest Alabama subsidiary following child labor revelations reuters.com\n\nSubmitted by strawberries6 t3_11dfxup 3 years ago\n\n116 comments\n3081\nLance Reddick, 'The Wire' and 'John Wick' star, dies at 60 apnews.com\n\nSubmitted by d01100100 t3_11u6rgq 3 years ago\n\n149 comments\n3074\nSenate confirms first inspector general for Pentagon in 7 years federaltimes.com\n\nSubmitted by Darth__Monday t3_z9lklw 4 years ago\n\n104 comments\n3068\nUS approved 192 licenses for exports to blacklisted Chinese firms early 2022 reuters.com\n\nSubmitted by Neo2199 t3_11i2aqq 3 years ago\n\n55 comments\n3065\nN.Y. case against Trump over hush money to porn star goes to grand jury Monday reuters.com\n\nSubmitted by TheSausageKing t3_10q04h9 3 years ago\n\n94 comments\n3033\nEx-Bucks County D.A.R.E. Police Officer James Carey Pleads No Contest to Sexually Assaulting 5 Teen Boys nbcphiladelphia.com\n\nSubmitted by ninjascotsman t3_yf6qjw 4 years ago\n\n186 comments\n2983\nSheriffs Offered Caribbean Cruises and Florida Retreats as Part of Jail Telecom Contracts theappeal.org\n\nSubmitted by 1angrylittlevoice t3_y80vgo 4 years ago\n\n109 comments\n2979\nBanksy artwork appears on damaged building in Ukraine theguardian.com\n\nSubmitted by dutchgypsy t3_ysrowv 4 years ago\n\n187 comments\n2970\nPolice Captain Criminally Charged 1 Day after Retirement kwch.com\n\nSubmitted by JustZonesing t3_121zf3s 3 years ago\n\n123 comments\n2948\nBlack-naped pheasant-pigeon sighted in PNG for first time in 140 years bbc.com\n\nSubmitted by Newgripper1221 t3_yztc9x 4 years ago\n\n101 comments\n2941\nDOJ sues pharma giant AmerisourceBergen Corp. for allegedly helping to fuel the opioid epidemic cbsnews.com\n\nSubmitted by alwaysrm4hope t3_zz1nyv 3 years ago\n\n95 comments\n2926\nMore"
|
pixi.lock
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
registration-page.png
ADDED
|
runs/realweb3.log
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
runs/realweb4.log
ADDED
|
@@ -0,0 +1,1478 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Loaded 4 DeepSeek key(s): ...6eda, ...5ffa, ...2aca, ...6ec1
|
| 2 |
+
|
| 3 |
+
=== Building 400 task(s) ===
|
| 4 |
+
✓ synth_web_search_fact_01: built
|
| 5 |
+
✓ synth_web_search_fact_02: built
|
| 6 |
+
✓ synth_web_table_extract_03: built
|
| 7 |
+
✓ synth_web_search_fact_04: built
|
| 8 |
+
✓ synth_web_search_fact_05: built
|
| 9 |
+
✓ synth_web_table_extract_06: built
|
| 10 |
+
✓ synth_web_search_fact_07: built
|
| 11 |
+
✓ synth_web_search_fact_08: built
|
| 12 |
+
✓ synth_web_table_extract_09: built
|
| 13 |
+
✓ synth_web_search_fact_10: built
|
| 14 |
+
✓ synth_web_search_fact_11: built
|
| 15 |
+
✓ synth_web_table_extract_12: built
|
| 16 |
+
✓ synth_web_search_fact_13: built
|
| 17 |
+
✓ synth_web_search_fact_14: built
|
| 18 |
+
✓ synth_web_table_extract_15: built
|
| 19 |
+
✓ synth_web_search_fact_16: built
|
| 20 |
+
✓ synth_web_search_fact_17: built
|
| 21 |
+
✓ synth_web_table_extract_18: built
|
| 22 |
+
✓ synth_web_search_fact_19: built
|
| 23 |
+
✓ synth_web_search_fact_20: built
|
| 24 |
+
✓ synth_web_table_extract_21: built
|
| 25 |
+
✓ synth_web_search_fact_22: built
|
| 26 |
+
✓ synth_web_search_fact_23: built
|
| 27 |
+
✓ synth_web_table_extract_24: built
|
| 28 |
+
✓ synth_web_search_fact_25: built
|
| 29 |
+
✓ synth_web_search_fact_26: built
|
| 30 |
+
✓ synth_web_table_extract_27: built
|
| 31 |
+
✓ synth_web_search_fact_28: built
|
| 32 |
+
✓ synth_web_search_fact_29: built
|
| 33 |
+
✓ synth_web_table_extract_30: built
|
| 34 |
+
✓ synth_web_search_fact_31: built
|
| 35 |
+
✓ synth_web_search_fact_32: built
|
| 36 |
+
✓ synth_web_table_extract_33: built
|
| 37 |
+
✓ synth_web_search_fact_34: built
|
| 38 |
+
✓ synth_web_search_fact_35: built
|
| 39 |
+
✓ synth_web_table_extract_36: built
|
| 40 |
+
✓ synth_web_search_fact_37: built
|
| 41 |
+
✓ synth_web_search_fact_38: built
|
| 42 |
+
✓ synth_web_table_extract_39: built
|
| 43 |
+
✓ synth_web_search_fact_40: built
|
| 44 |
+
✓ synth_web_search_fact_41: built
|
| 45 |
+
✓ synth_web_table_extract_42: built
|
| 46 |
+
✓ synth_web_search_fact_43: built
|
| 47 |
+
✓ synth_web_search_fact_44: built
|
| 48 |
+
✓ synth_web_table_extract_45: built
|
| 49 |
+
✓ synth_web_search_fact_46: built
|
| 50 |
+
✓ synth_web_search_fact_47: built
|
| 51 |
+
✓ synth_web_table_extract_48: built
|
| 52 |
+
✓ synth_web_search_fact_49: built
|
| 53 |
+
✓ synth_web_search_fact_50: built
|
| 54 |
+
✓ synth_web_table_extract_51: built
|
| 55 |
+
✓ synth_web_search_fact_52: built
|
| 56 |
+
✓ synth_web_search_fact_53: built
|
| 57 |
+
✓ synth_web_table_extract_54: built
|
| 58 |
+
✓ synth_web_search_fact_55: built
|
| 59 |
+
✓ synth_web_search_fact_56: built
|
| 60 |
+
✓ synth_web_table_extract_57: built
|
| 61 |
+
✓ synth_web_search_fact_58: built
|
| 62 |
+
✓ synth_web_search_fact_59: built
|
| 63 |
+
✓ synth_web_table_extract_60: built
|
| 64 |
+
✓ synth_web_search_fact_61: built
|
| 65 |
+
✓ synth_web_search_fact_62: built
|
| 66 |
+
✓ synth_web_table_extract_63: built
|
| 67 |
+
✓ synth_web_search_fact_64: built
|
| 68 |
+
✓ synth_web_search_fact_65: built
|
| 69 |
+
✓ synth_web_table_extract_66: built
|
| 70 |
+
✓ synth_web_search_fact_67: built
|
| 71 |
+
✓ synth_web_search_fact_68: built
|
| 72 |
+
✓ synth_web_table_extract_69: built
|
| 73 |
+
✓ synth_web_search_fact_70: built
|
| 74 |
+
✓ synth_web_search_fact_71: built
|
| 75 |
+
✓ synth_web_table_extract_72: built
|
| 76 |
+
✓ synth_web_search_fact_73: built
|
| 77 |
+
✓ synth_web_search_fact_74: built
|
| 78 |
+
✓ synth_web_table_extract_75: built
|
| 79 |
+
✓ synth_web_search_fact_76: built
|
| 80 |
+
✓ synth_web_search_fact_77: built
|
| 81 |
+
✓ synth_web_table_extract_78: built
|
| 82 |
+
✓ synth_web_search_fact_79: built
|
| 83 |
+
✓ synth_web_search_fact_80: built
|
| 84 |
+
✓ synth_web_table_extract_81: built
|
| 85 |
+
✓ synth_web_search_fact_82: built
|
| 86 |
+
✓ synth_web_search_fact_83: built
|
| 87 |
+
✓ synth_web_table_extract_84: built
|
| 88 |
+
✓ synth_web_search_fact_85: built
|
| 89 |
+
✓ synth_web_search_fact_86: built
|
| 90 |
+
✓ synth_web_table_extract_87: built
|
| 91 |
+
✓ synth_web_search_fact_88: built
|
| 92 |
+
✓ synth_web_search_fact_89: built
|
| 93 |
+
✓ synth_web_table_extract_90: built
|
| 94 |
+
✓ synth_web_search_fact_91: built
|
| 95 |
+
✓ synth_web_search_fact_92: built
|
| 96 |
+
✓ synth_web_table_extract_93: built
|
| 97 |
+
✓ synth_web_search_fact_94: built
|
| 98 |
+
✓ synth_web_search_fact_95: built
|
| 99 |
+
✓ synth_web_table_extract_96: built
|
| 100 |
+
✓ synth_web_search_fact_97: built
|
| 101 |
+
✓ synth_web_search_fact_98: built
|
| 102 |
+
✓ synth_web_table_extract_99: built
|
| 103 |
+
✓ synth_web_search_fact_100: built
|
| 104 |
+
✓ synth_web_search_fact_101: built
|
| 105 |
+
✓ synth_web_table_extract_102: built
|
| 106 |
+
✓ synth_web_search_fact_103: built
|
| 107 |
+
✓ synth_web_search_fact_104: built
|
| 108 |
+
✓ synth_web_table_extract_105: built
|
| 109 |
+
✓ synth_web_search_fact_106: built
|
| 110 |
+
✓ synth_web_search_fact_107: built
|
| 111 |
+
✓ synth_web_table_extract_108: built
|
| 112 |
+
✓ synth_web_search_fact_109: built
|
| 113 |
+
✓ synth_web_search_fact_110: built
|
| 114 |
+
✓ synth_web_table_extract_111: built
|
| 115 |
+
✓ synth_web_search_fact_112: built
|
| 116 |
+
✓ synth_web_search_fact_113: built
|
| 117 |
+
✓ synth_web_table_extract_114: built
|
| 118 |
+
✓ synth_web_search_fact_115: built
|
| 119 |
+
✓ synth_web_search_fact_116: built
|
| 120 |
+
✓ synth_web_table_extract_117: built
|
| 121 |
+
✓ synth_web_search_fact_118: built
|
| 122 |
+
✓ synth_web_search_fact_119: built
|
| 123 |
+
✓ synth_web_table_extract_120: built
|
| 124 |
+
✓ synth_web_search_fact_121: built
|
| 125 |
+
✓ synth_web_search_fact_122: built
|
| 126 |
+
✓ synth_web_table_extract_123: built
|
| 127 |
+
✓ synth_web_search_fact_124: built
|
| 128 |
+
✓ synth_web_search_fact_125: built
|
| 129 |
+
✓ synth_web_table_extract_126: built
|
| 130 |
+
✓ synth_web_search_fact_127: built
|
| 131 |
+
✓ synth_web_search_fact_128: built
|
| 132 |
+
✓ synth_web_table_extract_129: built
|
| 133 |
+
✓ synth_web_search_fact_130: built
|
| 134 |
+
✓ synth_web_search_fact_131: built
|
| 135 |
+
✓ synth_web_table_extract_132: built
|
| 136 |
+
✓ synth_web_search_fact_133: built
|
| 137 |
+
✓ synth_web_search_fact_134: built
|
| 138 |
+
✓ synth_web_table_extract_135: built
|
| 139 |
+
✓ synth_web_search_fact_136: built
|
| 140 |
+
✓ synth_web_search_fact_137: built
|
| 141 |
+
✓ synth_web_table_extract_138: built
|
| 142 |
+
✓ synth_web_search_fact_139: built
|
| 143 |
+
✓ synth_web_search_fact_140: built
|
| 144 |
+
✓ synth_web_table_extract_141: built
|
| 145 |
+
✓ synth_web_search_fact_142: built
|
| 146 |
+
✓ synth_web_search_fact_143: built
|
| 147 |
+
✓ synth_web_table_extract_144: built
|
| 148 |
+
✓ synth_web_search_fact_145: built
|
| 149 |
+
✓ synth_web_search_fact_146: built
|
| 150 |
+
✓ synth_web_table_extract_147: built
|
| 151 |
+
✓ synth_web_search_fact_148: built
|
| 152 |
+
✓ synth_web_search_fact_149: built
|
| 153 |
+
✓ synth_web_table_extract_150: built
|
| 154 |
+
✓ synth_web_search_fact_151: built
|
| 155 |
+
✓ synth_web_search_fact_152: built
|
| 156 |
+
✓ synth_web_table_extract_153: built
|
| 157 |
+
✓ synth_web_search_fact_154: built
|
| 158 |
+
✓ synth_web_search_fact_155: built
|
| 159 |
+
✓ synth_web_table_extract_156: built
|
| 160 |
+
✓ synth_web_search_fact_157: built
|
| 161 |
+
✓ synth_web_search_fact_158: built
|
| 162 |
+
✓ synth_web_table_extract_159: built
|
| 163 |
+
✓ synth_web_search_fact_160: built
|
| 164 |
+
✓ synth_web_search_fact_161: built
|
| 165 |
+
✓ synth_web_table_extract_162: built
|
| 166 |
+
✓ synth_web_search_fact_163: built
|
| 167 |
+
✓ synth_web_search_fact_164: built
|
| 168 |
+
✓ synth_web_table_extract_165: built
|
| 169 |
+
✓ synth_web_search_fact_166: built
|
| 170 |
+
✓ synth_web_search_fact_167: built
|
| 171 |
+
✓ synth_web_table_extract_168: built
|
| 172 |
+
✓ synth_web_search_fact_169: built
|
| 173 |
+
✓ synth_web_search_fact_170: built
|
| 174 |
+
✓ synth_web_table_extract_171: built
|
| 175 |
+
✓ synth_web_search_fact_172: built
|
| 176 |
+
✓ synth_web_search_fact_173: built
|
| 177 |
+
✓ synth_web_table_extract_174: built
|
| 178 |
+
✓ synth_web_search_fact_175: built
|
| 179 |
+
✓ synth_web_search_fact_176: built
|
| 180 |
+
✓ synth_web_table_extract_177: built
|
| 181 |
+
✓ synth_web_search_fact_178: built
|
| 182 |
+
✓ synth_web_search_fact_179: built
|
| 183 |
+
✓ synth_web_table_extract_180: built
|
| 184 |
+
✓ synth_web_search_fact_181: built
|
| 185 |
+
✓ synth_web_search_fact_182: built
|
| 186 |
+
✓ synth_web_table_extract_183: built
|
| 187 |
+
✓ synth_web_search_fact_184: built
|
| 188 |
+
✓ synth_web_search_fact_185: built
|
| 189 |
+
✓ synth_web_table_extract_186: built
|
| 190 |
+
✓ synth_web_search_fact_187: built
|
| 191 |
+
✓ synth_web_search_fact_188: built
|
| 192 |
+
✓ synth_web_table_extract_189: built
|
| 193 |
+
✓ synth_web_search_fact_190: built
|
| 194 |
+
✓ synth_web_search_fact_191: built
|
| 195 |
+
✓ synth_web_table_extract_192: built
|
| 196 |
+
✓ synth_web_search_fact_193: built
|
| 197 |
+
✓ synth_web_search_fact_194: built
|
| 198 |
+
✓ synth_web_table_extract_195: built
|
| 199 |
+
✓ synth_web_search_fact_196: built
|
| 200 |
+
✓ synth_web_search_fact_197: built
|
| 201 |
+
✓ synth_web_table_extract_198: built
|
| 202 |
+
✓ synth_web_search_fact_199: built
|
| 203 |
+
✓ synth_web_search_fact_200: built
|
| 204 |
+
✓ synth_web_table_extract_201: built
|
| 205 |
+
✓ synth_web_search_fact_202: built
|
| 206 |
+
✓ synth_web_search_fact_203: built
|
| 207 |
+
✓ synth_web_table_extract_204: built
|
| 208 |
+
✓ synth_web_search_fact_205: built
|
| 209 |
+
✓ synth_web_search_fact_206: built
|
| 210 |
+
✓ synth_web_table_extract_207: built
|
| 211 |
+
✓ synth_web_search_fact_208: built
|
| 212 |
+
✓ synth_web_search_fact_209: built
|
| 213 |
+
✓ synth_web_table_extract_210: built
|
| 214 |
+
✓ synth_web_search_fact_211: built
|
| 215 |
+
✓ synth_web_search_fact_212: built
|
| 216 |
+
✓ synth_web_table_extract_213: built
|
| 217 |
+
✓ synth_web_search_fact_214: built
|
| 218 |
+
✓ synth_web_search_fact_215: built
|
| 219 |
+
✓ synth_web_table_extract_216: built
|
| 220 |
+
✓ synth_web_search_fact_217: built
|
| 221 |
+
✓ synth_web_search_fact_218: built
|
| 222 |
+
✓ synth_web_table_extract_219: built
|
| 223 |
+
✓ synth_web_search_fact_220: built
|
| 224 |
+
✓ synth_web_search_fact_221: built
|
| 225 |
+
✓ synth_web_table_extract_222: built
|
| 226 |
+
✓ synth_web_search_fact_223: built
|
| 227 |
+
✓ synth_web_search_fact_224: built
|
| 228 |
+
✓ synth_web_table_extract_225: built
|
| 229 |
+
✓ synth_web_search_fact_226: built
|
| 230 |
+
✓ synth_web_search_fact_227: built
|
| 231 |
+
✓ synth_web_table_extract_228: built
|
| 232 |
+
✓ synth_web_search_fact_229: built
|
| 233 |
+
✓ synth_web_search_fact_230: built
|
| 234 |
+
✓ synth_web_table_extract_231: built
|
| 235 |
+
✓ synth_web_search_fact_232: built
|
| 236 |
+
✓ synth_web_search_fact_233: built
|
| 237 |
+
✓ synth_web_table_extract_234: built
|
| 238 |
+
✓ synth_web_search_fact_235: built
|
| 239 |
+
✓ synth_web_search_fact_236: built
|
| 240 |
+
✓ synth_web_table_extract_237: built
|
| 241 |
+
✓ synth_web_search_fact_238: built
|
| 242 |
+
✓ synth_web_search_fact_239: built
|
| 243 |
+
✓ synth_web_table_extract_240: built
|
| 244 |
+
✓ synth_web_search_fact_241: built
|
| 245 |
+
✓ synth_web_search_fact_242: built
|
| 246 |
+
✓ synth_web_table_extract_243: built
|
| 247 |
+
✓ synth_web_search_fact_244: built
|
| 248 |
+
✓ synth_web_search_fact_245: built
|
| 249 |
+
✓ synth_web_table_extract_246: built
|
| 250 |
+
✓ synth_web_search_fact_247: built
|
| 251 |
+
✓ synth_web_search_fact_248: built
|
| 252 |
+
✓ synth_web_table_extract_249: built
|
| 253 |
+
✓ synth_web_search_fact_250: built
|
| 254 |
+
✓ synth_web_search_fact_251: built
|
| 255 |
+
✓ synth_web_table_extract_252: built
|
| 256 |
+
✓ synth_web_search_fact_253: built
|
| 257 |
+
✓ synth_web_search_fact_254: built
|
| 258 |
+
✓ synth_web_table_extract_255: built
|
| 259 |
+
✓ synth_web_search_fact_256: built
|
| 260 |
+
✓ synth_web_search_fact_257: built
|
| 261 |
+
✓ synth_web_table_extract_258: built
|
| 262 |
+
✓ synth_web_search_fact_259: built
|
| 263 |
+
✓ synth_web_search_fact_260: built
|
| 264 |
+
✓ synth_web_table_extract_261: built
|
| 265 |
+
✓ synth_web_search_fact_262: built
|
| 266 |
+
✓ synth_web_search_fact_263: built
|
| 267 |
+
✓ synth_web_table_extract_264: built
|
| 268 |
+
✓ synth_web_search_fact_265: built
|
| 269 |
+
✓ synth_web_search_fact_266: built
|
| 270 |
+
✓ synth_web_table_extract_267: built
|
| 271 |
+
✓ synth_web_search_fact_268: built
|
| 272 |
+
✓ synth_web_search_fact_269: built
|
| 273 |
+
✓ synth_web_table_extract_270: built
|
| 274 |
+
✓ synth_web_search_fact_271: built
|
| 275 |
+
✓ synth_web_search_fact_272: built
|
| 276 |
+
✓ synth_web_table_extract_273: built
|
| 277 |
+
✓ synth_web_search_fact_274: built
|
| 278 |
+
✓ synth_web_search_fact_275: built
|
| 279 |
+
✓ synth_web_table_extract_276: built
|
| 280 |
+
✓ synth_web_search_fact_277: built
|
| 281 |
+
✓ synth_web_search_fact_278: built
|
| 282 |
+
✓ synth_web_table_extract_279: built
|
| 283 |
+
✓ synth_web_search_fact_280: built
|
| 284 |
+
✓ synth_web_search_fact_281: built
|
| 285 |
+
✓ synth_web_table_extract_282: built
|
| 286 |
+
✓ synth_web_search_fact_283: built
|
| 287 |
+
✓ synth_web_search_fact_284: built
|
| 288 |
+
✓ synth_web_table_extract_285: built
|
| 289 |
+
✓ synth_web_search_fact_286: built
|
| 290 |
+
✓ synth_web_search_fact_287: built
|
| 291 |
+
✓ synth_web_table_extract_288: built
|
| 292 |
+
✓ synth_web_search_fact_289: built
|
| 293 |
+
✓ synth_web_search_fact_290: built
|
| 294 |
+
✓ synth_web_table_extract_291: built
|
| 295 |
+
✓ synth_web_search_fact_292: built
|
| 296 |
+
✓ synth_web_search_fact_293: built
|
| 297 |
+
✓ synth_web_table_extract_294: built
|
| 298 |
+
✓ synth_web_search_fact_295: built
|
| 299 |
+
✓ synth_web_search_fact_296: built
|
| 300 |
+
✓ synth_web_table_extract_297: built
|
| 301 |
+
✓ synth_web_search_fact_298: built
|
| 302 |
+
✓ synth_web_search_fact_299: built
|
| 303 |
+
✓ synth_web_table_extract_300: built
|
| 304 |
+
✓ synth_web_search_fact_301: built
|
| 305 |
+
✓ synth_web_search_fact_302: built
|
| 306 |
+
✓ synth_web_table_extract_303: built
|
| 307 |
+
✓ synth_web_search_fact_304: built
|
| 308 |
+
✓ synth_web_search_fact_305: built
|
| 309 |
+
✓ synth_web_table_extract_306: built
|
| 310 |
+
✓ synth_web_search_fact_307: built
|
| 311 |
+
✓ synth_web_search_fact_308: built
|
| 312 |
+
✓ synth_web_table_extract_309: built
|
| 313 |
+
✓ synth_web_search_fact_310: built
|
| 314 |
+
✓ synth_web_search_fact_311: built
|
| 315 |
+
✓ synth_web_table_extract_312: built
|
| 316 |
+
✓ synth_web_search_fact_313: built
|
| 317 |
+
✓ synth_web_search_fact_314: built
|
| 318 |
+
✓ synth_web_table_extract_315: built
|
| 319 |
+
✓ synth_web_search_fact_316: built
|
| 320 |
+
✓ synth_web_search_fact_317: built
|
| 321 |
+
✓ synth_web_table_extract_318: built
|
| 322 |
+
✓ synth_web_search_fact_319: built
|
| 323 |
+
✓ synth_web_search_fact_320: built
|
| 324 |
+
✓ synth_web_table_extract_321: built
|
| 325 |
+
✓ synth_web_search_fact_322: built
|
| 326 |
+
✓ synth_web_search_fact_323: built
|
| 327 |
+
✓ synth_web_table_extract_324: built
|
| 328 |
+
✓ synth_web_search_fact_325: built
|
| 329 |
+
✓ synth_web_search_fact_326: built
|
| 330 |
+
✓ synth_web_table_extract_327: built
|
| 331 |
+
✓ synth_web_search_fact_328: built
|
| 332 |
+
✓ synth_web_search_fact_329: built
|
| 333 |
+
✓ synth_web_table_extract_330: built
|
| 334 |
+
✓ synth_web_search_fact_331: built
|
| 335 |
+
✓ synth_web_search_fact_332: built
|
| 336 |
+
✓ synth_web_table_extract_333: built
|
| 337 |
+
✓ synth_web_search_fact_334: built
|
| 338 |
+
✓ synth_web_search_fact_335: built
|
| 339 |
+
✓ synth_web_table_extract_336: built
|
| 340 |
+
✓ synth_web_search_fact_337: built
|
| 341 |
+
✓ synth_web_search_fact_338: built
|
| 342 |
+
✓ synth_web_table_extract_339: built
|
| 343 |
+
✓ synth_web_search_fact_340: built
|
| 344 |
+
✓ synth_web_search_fact_341: built
|
| 345 |
+
✓ synth_web_table_extract_342: built
|
| 346 |
+
✓ synth_web_search_fact_343: built
|
| 347 |
+
✓ synth_web_search_fact_344: built
|
| 348 |
+
✓ synth_web_table_extract_345: built
|
| 349 |
+
✓ synth_web_search_fact_346: built
|
| 350 |
+
✓ synth_web_search_fact_347: built
|
| 351 |
+
✓ synth_web_table_extract_348: built
|
| 352 |
+
✓ synth_web_search_fact_349: built
|
| 353 |
+
✓ synth_web_search_fact_350: built
|
| 354 |
+
✓ synth_web_table_extract_351: built
|
| 355 |
+
✓ synth_web_search_fact_352: built
|
| 356 |
+
✓ synth_web_search_fact_353: built
|
| 357 |
+
✓ synth_web_table_extract_354: built
|
| 358 |
+
✓ synth_web_search_fact_355: built
|
| 359 |
+
✓ synth_web_search_fact_356: built
|
| 360 |
+
✓ synth_web_table_extract_357: built
|
| 361 |
+
✓ synth_web_search_fact_358: built
|
| 362 |
+
✓ synth_web_search_fact_359: built
|
| 363 |
+
✓ synth_web_table_extract_360: built
|
| 364 |
+
✓ synth_web_search_fact_361: built
|
| 365 |
+
✓ synth_web_search_fact_362: built
|
| 366 |
+
✓ synth_web_table_extract_363: built
|
| 367 |
+
✓ synth_web_search_fact_364: built
|
| 368 |
+
✓ synth_web_search_fact_365: built
|
| 369 |
+
✓ synth_web_table_extract_366: built
|
| 370 |
+
✓ synth_web_search_fact_367: built
|
| 371 |
+
✓ synth_web_search_fact_368: built
|
| 372 |
+
✓ synth_web_table_extract_369: built
|
| 373 |
+
✓ synth_web_search_fact_370: built
|
| 374 |
+
✓ synth_web_search_fact_371: built
|
| 375 |
+
✓ synth_web_table_extract_372: built
|
| 376 |
+
✓ synth_web_search_fact_373: built
|
| 377 |
+
✓ synth_web_search_fact_374: built
|
| 378 |
+
✓ synth_web_table_extract_375: built
|
| 379 |
+
✓ synth_web_search_fact_376: built
|
| 380 |
+
✓ synth_web_search_fact_377: built
|
| 381 |
+
✓ synth_web_table_extract_378: built
|
| 382 |
+
✓ synth_web_search_fact_379: built
|
| 383 |
+
✓ synth_web_search_fact_380: built
|
| 384 |
+
✓ synth_web_table_extract_381: built
|
| 385 |
+
✓ synth_web_search_fact_382: built
|
| 386 |
+
✓ synth_web_search_fact_383: built
|
| 387 |
+
✓ synth_web_table_extract_384: built
|
| 388 |
+
✓ synth_web_search_fact_385: built
|
| 389 |
+
✓ synth_web_search_fact_386: built
|
| 390 |
+
✓ synth_web_table_extract_387: built
|
| 391 |
+
✓ synth_web_search_fact_388: built
|
| 392 |
+
✓ synth_web_search_fact_389: built
|
| 393 |
+
✓ synth_web_table_extract_390: built
|
| 394 |
+
✓ synth_web_search_fact_391: built
|
| 395 |
+
✓ synth_web_search_fact_392: built
|
| 396 |
+
✓ synth_web_table_extract_393: built
|
| 397 |
+
✓ synth_web_search_fact_394: built
|
| 398 |
+
✓ synth_web_search_fact_395: built
|
| 399 |
+
✓ synth_web_table_extract_396: built
|
| 400 |
+
✓ synth_web_search_fact_397: built
|
| 401 |
+
✓ synth_web_search_fact_398: built
|
| 402 |
+
✓ synth_web_table_extract_399: built
|
| 403 |
+
✓ synth_web_search_fact_400: built
|
| 404 |
+
Serving pages at http://127.0.0.1:55275/ (400 task(s))
|
| 405 |
+
|
| 406 |
+
=== Real-web tasks: 400 rollouts @ 6 workers ===
|
| 407 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1312.6114"}[0m
|
| 408 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 409 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/2111.06377"}[0m
|
| 410 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 411 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 412 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 413 |
+
| 2013
|
| 414 |
+
|
|
| 415 |
+
|
|
| 416 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 417 |
+
| Token usage: Total: 18,495 | Input: 18,330 | Output: 165 | Reasoning: 74
|
| 418 |
+
| Turns: 3
|
| 419 |
+
[web 1/400] PASS synth_web_search_fact_01 run-1 turns=3
|
| 420 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 421 |
+
| cs.CV
|
| 422 |
+
|
|
| 423 |
+
|
|
| 424 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 425 |
+
| Token usage: Total: 18,673 | Input: 18,453 | Output: 220 | Reasoning: 128
|
| 426 |
+
| Turns: 3
|
| 427 |
+
[web 2/400] PASS synth_web_search_fact_04 run-1 turns=3
|
| 428 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 429 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1608.06993"}[0m
|
| 430 |
+
| I can see 10 rows on page 1 with 10 pages total. I need to check all pages to find the row with the most views. Let me navigate through each page.
|
| 431 |
+
| [1mbrowser_click[0m [2;37m{"target": "ref=e145","element": "Page 2 button"}[0m
|
| 432 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 433 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1506.01497"}[0m
|
| 434 |
+
| I don't see "Kubernetes Operators" on page 1. Let me check other pages. I'll start with page 2.
|
| 435 |
+
| [1mbrowser_click[0m [2;37m{"target": "ref=e145","element": "Page 2 button"}[0m
|
| 436 |
+
| [1mbrowser_click[0m [2;37m{"target": "[ref=e145]","element": "Page 2 button"}[0m
|
| 437 |
+
| Densely Connected Convolutional Networks
|
| 438 |
+
|
|
| 439 |
+
|
|
| 440 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 441 |
+
| Token usage: Total: 18,644 | Input: 18,446 | Output: 198 | Reasoning: 102
|
| 442 |
+
| Turns: 3
|
| 443 |
+
[web 3/400] PASS synth_web_search_fact_07 run-1 turns=3
|
| 444 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 445 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 446 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/search/"}[0m
|
| 447 |
+
| [1mbrowser_click[0m [2;37m{"target": "e145","element": "Page 2 button"}[0m
|
| 448 |
+
| Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
|
| 449 |
+
|
|
| 450 |
+
|
|
| 451 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 452 |
+
| Token usage: Total: 18,537 | Input: 18,284 | Output: 253 | Reasoning: 149
|
| 453 |
+
| Turns: 3
|
| 454 |
+
[web 4/400] PASS synth_web_search_fact_08 run-1 turns=3
|
| 455 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 456 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 457 |
+
| [1mbrowser_fill_form[0m [2;37m{"fields": [{"target": "[ref=e44]","name": "search term","type": "textbox","value": "Adam: A Method for Stochastic Optimization"}]}[0m
|
| 458 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 459 |
+
| Still not on page 2. Let me continue to page 3.
|
| 460 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 461 |
+
| [1mbrowser_click[0m [2;37m{"target": "e146","element": "Page 3 button"}[0m
|
| 462 |
+
| [1mbrowser_type[0m [2;37m{"target": "[ref=e22]","text": "Adam: A Method for Stochastic Optimization"}[0m
|
| 463 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1411.4038"}[0m
|
| 464 |
+
| Let me use a programmatic approach to extract data from all pages efficiently.
|
| 465 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n // Collect all data across pages\n const allRows = [];\n \n for (let pageNum = 1; pageNum <= 10; p...[0m
|
| 466 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 467 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 468 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 469 |
+
| 2014
|
| 470 |
+
|
|
| 471 |
+
|
|
| 472 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 473 |
+
| Token usage: Total: 18,243 | Input: 18,030 | Output: 213 | Reasoning: 122
|
| 474 |
+
| Turns: 3
|
| 475 |
+
[web 5/400] PASS synth_web_search_fact_10 run-1 turns=3
|
| 476 |
+
| I need to check all pages. Let me navigate through all pages to find the row with the highest likes.
|
| 477 |
+
| [1mbrowser_click[0m [2;37m{"target": "ref=e145","element": "Page 2 button"}[0m
|
| 478 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/search/?query=%22Adam%3A+A+Method+for+Stochastic+Optimization%22&searchtype=all"}[0m
|
| 479 |
+
| Let me try a simpler approach - extract data page by page.
|
| 480 |
+
| Let me use JavaScript to search for "Kubernetes Operators" efficiently.
|
| 481 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n const rows = [];\n const rowElements = document.querySelectorAll('table tbody tr, table tr');\n for (const ...[0m
|
| 482 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 483 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n const rows = document.querySelectorAll('table tr');\n for (const row of rows) {\n const cells = row.querySelect...[0m
|
| 484 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"2\")","element": "Page 2 button"}[0m
|
| 485 |
+
| Page 1 data collected. Now let me go to page 2.
|
| 486 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1506.01497"}[0m
|
| 487 |
+
| Let me go to page 4.
|
| 488 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"Next\")","element": "Next button"}[0m
|
| 489 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 490 |
+
| [1mbrowser_click[0m [2;37m{"element": "Page 4 button","target": "e147"}[0m
|
| 491 |
+
| [1mbrowser_wait_for[0m [2;37m{"time": 3}[0m
|
| 492 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 493 |
+
| 4
|
| 494 |
+
|
|
| 495 |
+
|
|
| 496 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 497 |
+
| Token usage: Total: 18,463 | Input: 18,278 | Output: 185 | Reasoning: 95
|
| 498 |
+
| Turns: 3
|
| 499 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n const rows = [];\n const rowElements = document.querySelectorAll('table tbody tr, table tr');\n for (const ...[0m
|
| 500 |
+
| Page 2 high is 945. Let me continue through the rest.
|
| 501 |
+
[web 6/400] PASS synth_web_search_fact_11 run-1 turns=3
|
| 502 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n const rows = document.querySelectorAll('table tr');\n for (const row of rows) {\n const cells = row.querySelect...[0m
|
| 503 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"3\")","element": "Page 3 button"}[0m
|
| 504 |
+
| Page 2 max: 16,234. Going to page 3.
|
| 505 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 506 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1412.6980"}[0m
|
| 507 |
+
| Let me try a faster approach - checking if there's an API I can query.
|
| 508 |
+
| [1mbrowser_network_requests[0m [2;37m{"static": false,"filter": "api"}[0m
|
| 509 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"Next\")","element": "Next button"}[0m
|
| 510 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 511 |
+
| [1mbrowser_network_requests[0m [2;37m{"static": false}[0m
|
| 512 |
+
| Diederik P. Kingma
|
| 513 |
+
|
|
| 514 |
+
|
|
| 515 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 516 |
+
| Token usage: Total: 106,823 | Input: 105,877 | Output: 946 | Reasoning: 430
|
| 517 |
+
| Turns: 11
|
| 518 |
+
[web 7/400] PASS synth_web_search_fact_05 run-1 turns=11
|
| 519 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 520 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n const rows = [];\n const rowElements = document.querySelectorAll('table tbody tr, table tr');\n for (const ...[0m
|
| 521 |
+
| Page 4.
|
| 522 |
+
| Let me use a script to search all pages programmatically.
|
| 523 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "async () => {\n // Function to check current page\n function checkPage() {\n const rows = document.querySelectorAll('tabl...[0m
|
| 524 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"Next\")","element": "Next button"}[0m
|
| 525 |
+
| [1mbrowser_wait_for[0m [2;37m{"time": 2}[0m
|
| 526 |
+
| Let me use a faster approach to collect all data across pages.
|
| 527 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "async () => {\n const allData = [];\n // First collect current page data\n const rows = document.querySelectorAll('table tb...[0m
|
| 528 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1608.06993"}[0m
|
| 529 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 530 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n const rows = [];\n const rowElements = document.querySelectorAll('table tbody tr, table tr');\n for (const ...[0m
|
| 531 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 532 |
+
| Page 5.
|
| 533 |
+
| Densely Connected Convolutional Networks
|
| 534 |
+
|
|
| 535 |
+
|
|
| 536 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 537 |
+
| Token usage: Total: 18,648 | Input: 18,462 | Output: 186 | Reasoning: 90
|
| 538 |
+
| Turns: 3
|
| 539 |
+
[web 8/400] PASS synth_web_search_fact_13 run-1 turns=3
|
| 540 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"Next\")","element": "Next button"}[0m
|
| 541 |
+
Tool call 'browser_navigate' timed out after 60 seconds
|
| 542 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://www.google.com"}[0m
|
| 543 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "async () => {\n function checkPage() {\n const rows = document.querySelectorAll('table tr');\n for (const row of rows) ...[0m
|
| 544 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/search/?query=Deep+contextualized+word+representations&searchtype=all"}[0m
|
| 545 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n const rows = [];\n const rowElements = document.querySelectorAll('table tbody tr, table tr');\n for (const ...[0m
|
| 546 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 547 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1804.02767"}[0m
|
| 548 |
+
| The script found "756". Let me verify by checking which page we're on.
|
| 549 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 550 |
+
| Page 6.
|
| 551 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 552 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"Next\")","element": "Next button"}[0m
|
| 553 |
+
| 756
|
| 554 |
+
|
|
| 555 |
+
|
|
| 556 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 557 |
+
| Token usage: Total: 168,408 | Input: 166,285 | Output: 2,123 | Reasoning: 649
|
| 558 |
+
| Turns: 16
|
| 559 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://www.bing.com/search?q=Deep+contextualized+word+representations+arxiv"}[0m
|
| 560 |
+
[web 9/400] PASS synth_web_table_extract_03 run-1 turns=16
|
| 561 |
+
| I need to check all pages to find the smallest rating. Let me go through each page. First, let me see the data on page 1 (already loaded). Smallest so far is 4.1 on page 1. Let me check the remaining pages.
|
| 562 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n const allData = [];\n \n for (let pageNum = 1; pageNum <= 10; pageNum++) {\n // Get current page data\n ...[0m
|
| 563 |
+
| [1mbrowser_click[0m [2;37m{"target": "e145","element": "Page 2 button"}[0m
|
| 564 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 565 |
+
| cs.CV
|
| 566 |
+
|
|
| 567 |
+
|
|
| 568 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 569 |
+
| Token usage: Total: 18,025 | Input: 17,771 | Output: 254 | Reasoning: 162
|
| 570 |
+
| Turns: 3
|
| 571 |
+
[web 10/400] PASS synth_web_search_fact_14 run-1 turns=3
|
| 572 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 573 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n const rows = [];\n const rowElements = document.querySelectorAll('table tbody tr, table tr');\n for (const ...[0m
|
| 574 |
+
| 16,234
|
| 575 |
+
|
|
| 576 |
+
|
|
| 577 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 578 |
+
| Token usage: Total: 89,045 | Input: 86,970 | Output: 2,075 | Reasoning: 832
|
| 579 |
+
| Turns: 10
|
| 580 |
+
[web 11/400] FAIL synth_web_table_extract_09 run-1 turns=10
|
| 581 |
+
| Page 7.
|
| 582 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 583 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"Next\")","element": "Next button"}[0m
|
| 584 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1802.05365"}[0m
|
| 585 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1607.08022"}[0m
|
| 586 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 587 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 588 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/2006.11239"}[0m
|
| 589 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 590 |
+
| Page 2 has 4.0. Let me continue checking remaining pages efficiently. Let me use JavaScript to collect all data across pages.
|
| 591 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n const rows = [];\n const rowElements = document.querySelectorAll('table tbody tr, table tr');\n for (const ...[0m
|
| 592 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 593 |
+
| Matthew E. Peters
|
| 594 |
+
|
|
| 595 |
+
|
|
| 596 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 597 |
+
| Token usage: Total: 61,625 | Input: 60,968 | Output: 657 | Reasoning: 317
|
| 598 |
+
| Turns: 8
|
| 599 |
+
[web 12/400] PASS synth_web_search_fact_02 run-1 turns=8
|
| 600 |
+
| Dmitry Ulyanov
|
| 601 |
+
|
|
| 602 |
+
|
|
| 603 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 604 |
+
| Token usage: Total: 18,311 | Input: 18,103 | Output: 208 | Reasoning: 113
|
| 605 |
+
| Turns: 3
|
| 606 |
+
[web 13/400] PASS synth_web_search_fact_16 run-1 turns=3
|
| 607 |
+
| Page 8.
|
| 608 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"Next\")","element": "Next button"}[0m
|
| 609 |
+
| I see 10 rows per page, 97 total records over 10 pages. Let me count across all pages. Starting with page 1, I need to check all pages. Let me click through each page.
|
| 610 |
+
| [1mbrowser_click[0m [2;37m{"target": "ref=e145","element": "Page 2 button"}[0m
|
| 611 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "async () => {\n const allData = [];\n // We're on page 2, let's collect from pages 1-10\n for (let page = 1; page <= 10; pa...[0m
|
| 612 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/search/"}[0m
|
| 613 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n const rows = [];\n const rowElements = document.querySelectorAll('table tbody tr, table tr');\n for (const ...[0m
|
| 614 |
+
| The abstract text from the arXiv page is:
|
| 615 |
+
|
|
| 616 |
+
| We present high quality image synthesis results using diffusion probabilistic models, a class of latent variable models inspired by considerations from nonequilibrium thermodynamics. Our best results are obtained by training on a weighted variational bound designed according to a novel connection between diffusion probabilistic models and denoising score matching with Langevin dynamics, and our models naturally admit a progressive lossy decompression scheme that can be interpreted as a generalization of autoregressive decoding. On the unconditional CIFAR10 dataset, we obtain an Inception score of 9.46 and a state-of-the-art FID score of 3.17. On 256x256 LSUN, we obtain sample quality similar to ProgressiveGAN. Our implementation is available at [this https URL](https://github.com/hojonathanho/diffusion).
|
| 617 |
+
|
|
| 618 |
+
|
|
| 619 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 620 |
+
| Token usage: Total: 18,534 | Input: 18,027 | Output: 507 | Reasoning: 250
|
| 621 |
+
| Turns: 3
|
| 622 |
+
[web 14/400] FAIL synth_web_search_fact_17 run-1 turns=3
|
| 623 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 624 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 625 |
+
| Page 9.
|
| 626 |
+
| Let me use JavaScript to extract all the data efficiently.
|
| 627 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"Next\")","element": "Next button"}[0m
|
| 628 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n // Get current page data\n const rows = document.querySelectorAll('table tbody tr');\n const results = [];\n row...[0m
|
| 629 |
+
| [1mbrowser_wait_for[0m [2;37m{"time": 2}[0m
|
| 630 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1512.02325"}[0m
|
| 631 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 632 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1301.3781"}[0m
|
| 633 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 634 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n const rows = [];\n const rowElements = document.querySelectorAll('table tbody tr, table tr');\n for (const ...[0m
|
| 635 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 636 |
+
| 2015
|
| 637 |
+
|
|
| 638 |
+
|
|
| 639 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 640 |
+
| Token usage: Total: 29,362 | Input: 29,008 | Output: 354 | Reasoning: 181
|
| 641 |
+
| Turns: 5
|
| 642 |
+
[web 15/400] PASS synth_web_search_fact_19 run-1 turns=5
|
| 643 |
+
| Page 10.
|
| 644 |
+
| Now let me use Playwright code to navigate through all pages and collect all data.
|
| 645 |
+
| Tomas Mikolov
|
| 646 |
+
|
|
| 647 |
+
|
|
| 648 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 649 |
+
| Token usage: Total: 18,176 | Input: 18,002 | Output: 174 | Reasoning: 80
|
| 650 |
+
| Turns: 3
|
| 651 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"Next\")","element": "Next button"}[0m
|
| 652 |
+
[web 16/400] PASS synth_web_search_fact_20 run-1 turns=3
|
| 653 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n const rows = [];\n const rowElements = document.querySelectorAll('table tbody tr, table tr');\n for (const ...[0m
|
| 654 |
+
| Let me navigate through all pages to count rows where Likes >= 734. Starting with page 2:
|
| 655 |
+
| [1mbrowser_click[0m [2;37m{"target": "[ref=e145]","element": "Page 2 button"}[0m
|
| 656 |
+
| Looking at all 97 records, I found the smallest rating is **4.0** for "Distributed Systems Design" with Views of **6,789**.
|
| 657 |
+
|
|
| 658 |
+
| 6,789
|
| 659 |
+
|
|
| 660 |
+
|
|
| 661 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 662 |
+
| Token usage: Total: 54,727 | Input: 52,121 | Output: 2,606 | Reasoning: 1,949
|
| 663 |
+
| Turns: 7
|
| 664 |
+
[web 17/400] FAIL synth_web_table_extract_12 run-1 turns=7
|
| 665 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 666 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n let totalCount = 0;\n const allData = [];\n \n for (let pageNum = 1; pageNum <= 10; pageNum++) {\n // W...[0m
|
| 667 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 668 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 669 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/2111.06377"}[0m
|
| 670 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 671 |
+
| I've now gone through all 10 pages. Let me summarize the maximum views across pages:
|
| 672 |
+
|
|
| 673 |
+
| - Page 1: 15,432 (rating 4.9)
|
| 674 |
+
| - Page 2: **16,234** (rating 4.9) ← highest
|
| 675 |
+
| - Page 3: 14,567 (rating 4.9)
|
| 676 |
+
| - Page 4: 15,123 (rating 4.9)
|
| 677 |
+
| - Page 5: 14,234 (rating 4.9)
|
| 678 |
+
| - Page 6: 13,567 (rating 4.8)
|
| 679 |
+
| - Page 7: 15,432 (rating 4.9)
|
| 680 |
+
| - Page 8: 12,345 (rating 4.8)
|
| 681 |
+
| - Page 9: 15,123 (rating 4.9)
|
| 682 |
+
| - Page 10: 12,234 (rating 4.8)
|
| 683 |
+
|
|
| 684 |
+
| The row with the most views is "Performance Monitoring & Optimization" with 16,234 views.
|
| 685 |
+
|
|
| 686 |
+
| 4.9
|
| 687 |
+
|
|
| 688 |
+
|
|
| 689 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 690 |
+
| Token usage: Total: 360,952 | Input: 356,379 | Output: 4,573 | Reasoning: 1,327
|
| 691 |
+
| Turns: 26
|
| 692 |
+
[web 18/400] PASS synth_web_table_extract_06 run-1 turns=26
|
| 693 |
+
| Let me use JavaScript to efficiently iterate through all pages and count:
|
| 694 |
+
| [1mbrowser_click[0m [2;37m{"target": "ref=e145","element": "Page 2 button"}[0m
|
| 695 |
+
| Kaiming He
|
| 696 |
+
|
|
| 697 |
+
|
|
| 698 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 699 |
+
| Token usage: Total: 18,640 | Input: 18,442 | Output: 198 | Reasoning: 105
|
| 700 |
+
| Turns: 3
|
| 701 |
+
[web 19/400] PASS synth_web_search_fact_23 run-1 turns=3
|
| 702 |
+
| [1mbrowser_click[0m [2;37m{"target": "e145","element": "Page 2 button"}[0m
|
| 703 |
+
| I've extracted data from all 10 pages. Let me verify the count:
|
| 704 |
+
|
|
| 705 |
+
| - Page 1: 5 rows (89, 102, 78, 71, 94)
|
| 706 |
+
| - Page 2: 5 rows (69, 82, 108, 73, 87)
|
| 707 |
+
| - Page 3: 6 rows (79, 74, 97, 91, 70, 83)
|
| 708 |
+
| - Page 4: 5 rows (75, 88, 103, 68, 80)
|
| 709 |
+
| - Page 5: 5 rows (76, 89, 95, 77, 72)
|
| 710 |
+
| - Page 6: 4 rows (81, 95, 73, 79)
|
| 711 |
+
| - Page 7: 5 rows (87, 74, 103, 69, 82)
|
| 712 |
+
| - Page 8: 5 rows (71, 89, 78, 75, 91)
|
| 713 |
+
| - Page 9: 5 rows (70, 83, 75, 88, 103)
|
| 714 |
+
| - Page 10: 4 rows (68, 80, 76, 89)
|
| 715 |
+
|
|
| 716 |
+
| Total: 49
|
| 717 |
+
|
|
| 718 |
+
| 49
|
| 719 |
+
|
|
| 720 |
+
|
|
| 721 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 722 |
+
| Token usage: Total: 41,426 | Input: 39,349 | Output: 2,077 | Reasoning: 1,115
|
| 723 |
+
| Turns: 6
|
| 724 |
+
[web 20/400] PASS synth_web_table_extract_15 run-1 turns=6
|
| 725 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n let totalCount = 0;\n \n // Loop through all 10 pages\n for (let pageNum = 1; pageNum <= 10; pageNum++) {\...[0m
|
| 726 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 727 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 728 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1409.0473"}[0m
|
| 729 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 730 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 731 |
+
| Let me verify by checking the last page manually. First, navigate back to page 1:
|
| 732 |
+
| [1mbrowser_click[0m [2;37m{"target": "e146","element": "Page 3 button"}[0m
|
| 733 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1801.04381"}[0m
|
| 734 |
+
| Neural Machine Translation by Jointly Learning to Align and Translate
|
| 735 |
+
|
|
| 736 |
+
|
|
| 737 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 738 |
+
| Token usage: Total: 18,858 | Input: 18,626 | Output: 232 | Reasoning: 130
|
| 739 |
+
| Turns: 3
|
| 740 |
+
[web 21/400] PASS synth_web_search_fact_25 run-1 turns=3
|
| 741 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 742 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 743 |
+
| [1mbrowser_click[0m [2;37m{"target": "e145","element": "Page 2 button"}[0m
|
| 744 |
+
| [1mbrowser_wait_for[0m [2;37m{"time": 1}[0m
|
| 745 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 746 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 747 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 748 |
+
| MobileNetV2: Inverted Residuals and Linear Bottlenecks
|
| 749 |
+
|
|
| 750 |
+
|
|
| 751 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 752 |
+
| Token usage: Total: 18,787 | Input: 18,561 | Output: 226 | Reasoning: 123
|
| 753 |
+
| Turns: 3
|
| 754 |
+
[web 22/400] PASS synth_web_search_fact_26 run-1 turns=3
|
| 755 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 756 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 757 |
+
| [1mbrowser_click[0m [2;37m{"target": "[ref=e153]","element": "Page 10 button"}[0m
|
| 758 |
+
| [1mbrowser_click[0m [2;37m{"target": "e146","element": "Page 3 button"}[0m
|
| 759 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/2104.14294"}[0m
|
| 760 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 761 |
+
| [1mbrowser_click[0m [2;37m{"target": "ref=e154","element": "Next page button"}[0m
|
| 762 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 763 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n // First, go to page 10 to verify\n await page.locator('button:has-text(\"10\")').click();\n await page.wai...[0m
|
| 764 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "async () => {\n // We'll go through all pages and collect all data\n const allRows = [];\n const totalPages = 10;\n \n fo...[0m
|
| 765 |
+
| [1mbrowser_click[0m [2;37m{"target": "button \"Next\"","element": "Next page button"}[0m
|
| 766 |
+
| 7
|
| 767 |
+
|
|
| 768 |
+
|
|
| 769 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 770 |
+
| Token usage: Total: 18,582 | Input: 18,373 | Output: 209 | Reasoning: 119
|
| 771 |
+
| Turns: 3
|
| 772 |
+
[web 23/400] PASS synth_web_search_fact_28 run-1 turns=3
|
| 773 |
+
| [1mbrowser_click[0m [2;37m{"target": "e147","element": "Page 4 button"}[0m
|
| 774 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 775 |
+
| Let me re-run the count with per-page output to verify:
|
| 776 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n // Go back to page 1\n await page.locator('button:has-text(\"1\")').click();\n await page.waitForTimeout(50...[0m
|
| 777 |
+
| [1mbrowser_click[0m [2;37m{"target": "e148","element": "Page 5 button"}[0m
|
| 778 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 779 |
+
| [1mbrowser_click[0m [2;37m{"target": "e149","element": "Page 6 button"}[0m
|
| 780 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n let totalQualifying = 0;\n let totalRows = 0;\n \n while (true) {\n // Get all rows in the table body\n...[0m
|
| 781 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 782 |
+
| Let me verify by checking the current page state:
|
| 783 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 784 |
+
| [1mbrowser_click[0m [2;37m{"target": "e150","element": "Page 7 button"}[0m
|
| 785 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 786 |
+
| The smallest Views value across all 97 records is **6,789** (from "Distributed Systems Design"), and its corresponding Rating is **4.0**.
|
| 787 |
+
|
|
| 788 |
+
| 4.0
|
| 789 |
+
|
|
| 790 |
+
|
|
| 791 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 792 |
+
| Token usage: Total: 82,145 | Input: 79,297 | Output: 2,848 | Reasoning: 2,168
|
| 793 |
+
| Turns: 9
|
| 794 |
+
[web 24/400] PASS synth_web_table_extract_21 run-1 turns=9
|
| 795 |
+
| [1mbrowser_click[0m [2;37m{"target": "e151","element": "Page 8 button"}[0m
|
| 796 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 797 |
+
Tool call 'browser_navigate' timed out after 60 seconds
|
| 798 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://www.google.com/search?q=Empirical+Evaluation+of+Gated+Recurrent+Neural+Networks+on+Sequence+Modeling+arxiv"}[0m
|
| 799 |
+
| Let me run a more careful verification:
|
| 800 |
+
| [1mbrowser_click[0m [2;37m{"target": "e152","element": "Page 9 button"}[0m
|
| 801 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 802 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 803 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 804 |
+
| [1mbrowser_click[0m [2;37m{"target": "e153","element": "Page 10 button"}[0m
|
| 805 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 806 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n // Go back to page 1 first\n await page.click('button:has-text(\"1\")');\n await page.waitForTimeout(500);\...[0m
|
| 807 |
+
| [1mbrowser_click[0m [2;37m{"target": "ref=e145","element": "Page 2 button"}[0m
|
| 808 |
+
| 34
|
| 809 |
+
|
|
| 810 |
+
|
|
| 811 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 812 |
+
| Token usage: Total: 334,757 | Input: 332,736 | Output: 2,021 | Reasoning: 1,060
|
| 813 |
+
| Turns: 21
|
| 814 |
+
[web 25/400] PASS synth_web_table_extract_24 run-1 turns=21
|
| 815 |
+
| [1mbrowser_click[0m [2;37m{"target": "button \"2\"","element": "Page 2 button"}[0m
|
| 816 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n // Go back to page 1\n await page.getByTestId('page-1-button').click();\n await page.waitForTimeout(500);\n...[0m
|
| 817 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1512.03385"}[0m
|
| 818 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 819 |
+
| 56
|
| 820 |
+
|
|
| 821 |
+
|
|
| 822 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 823 |
+
| Token usage: Total: 60,609 | Input: 58,106 | Output: 2,503 | Reasoning: 1,604
|
| 824 |
+
| Turns: 8
|
| 825 |
+
[web 26/400] PASS synth_web_table_extract_27 run-1 turns=8
|
| 826 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n // Look through all pages for \"Event-Driven Architecture\"\n let found = null;\n for (let pageNum = 1; pag...[0m
|
| 827 |
+
| 4
|
| 828 |
+
|
|
| 829 |
+
|
|
| 830 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 831 |
+
| Token usage: Total: 18,136 | Input: 17,970 | Output: 166 | Reasoning: 76
|
| 832 |
+
| Turns: 3
|
| 833 |
+
[web 27/400] PASS synth_web_search_fact_31 run-1 turns=3
|
| 834 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1701.06538"}[0m
|
| 835 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 836 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/search/?searchtype=all&query=Empirical+Evaluation+of+Gated+Recurrent+Neural+Networks+on+Sequence+Modeling"}[0m
|
| 837 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n let totalCount = 0;\n \n for (let pageNum = 1; pageNum <= 10; pageNum++) {\n await page.waitForSelector(...[0m
|
| 838 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 839 |
+
| 2017
|
| 840 |
+
|
|
| 841 |
+
|
|
| 842 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 843 |
+
| Token usage: Total: 18,625 | Input: 18,440 | Output: 185 | Reasoning: 94
|
| 844 |
+
| Turns: 3
|
| 845 |
+
[web 28/400] PASS synth_web_search_fact_32 run-1 turns=3
|
| 846 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 847 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 848 |
+
| [1mbrowser_click[0m [2;37m{"target": "ref=e151","element": "arXiv:1412.3555 link for the paper \"Empirical Evaluation of Gated Recurrent Neural Networks on Sequence M...[0m
|
| 849 |
+
| 50
|
| 850 |
+
|
|
| 851 |
+
|
|
| 852 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 853 |
+
| Token usage: Total: 157,700 | Input: 154,435 | Output: 3,265 | Reasoning: 1,292
|
| 854 |
+
| Turns: 15
|
| 855 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n // Navigate back to page 1 first\n await page.goto('https://eval-web.mcpmark.ai/extraction');\n await page....[0m
|
| 856 |
+
[web 29/400] PASS synth_web_table_extract_18 run-1 turns=15
|
| 857 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1608.06993"}[0m
|
| 858 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1412.3555"}[0m
|
| 859 |
+
Tool call 'browser_navigate' timed out after 60 seconds
|
| 860 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://www.google.com/search?q=MobileNetV2+Inverted+Residuals+and+Linear+Bottlenecks+arxiv"}[0m
|
| 861 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 862 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 863 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 864 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n // Let's try to find the row by iterating through all pages or searching the DOM\n // First, let's check if all da...[0m
|
| 865 |
+
| 2014
|
| 866 |
+
|
|
| 867 |
+
|
|
| 868 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 869 |
+
| Token usage: Total: 58,052 | Input: 57,450 | Output: 602 | Reasoning: 229
|
| 870 |
+
| Turns: 7
|
| 871 |
+
[web 30/400] PASS synth_web_search_fact_22 run-1 turns=7
|
| 872 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1602.07360"}[0m
|
| 873 |
+
| Densely Connected Convolutional Networks
|
| 874 |
+
|
|
| 875 |
+
|
|
| 876 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 877 |
+
| Token usage: Total: 18,635 | Input: 18,452 | Output: 183 | Reasoning: 87
|
| 878 |
+
| Turns: 3
|
| 879 |
+
[web 31/400] PASS synth_web_search_fact_34 run-1 turns=3
|
| 880 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n const buttons = document.querySelectorAll('button');\n for (const btn of buttons) {\n if (btn.textContent.trim(...[0m
|
| 881 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 882 |
+
| [1mbrowser_wait_for[0m [2;37m{"time": 0.5}[0m
|
| 883 |
+
| 2016
|
| 884 |
+
|
|
| 885 |
+
|
|
| 886 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 887 |
+
| Token usage: Total: 18,917 | Input: 18,665 | Output: 252 | Reasoning: 161
|
| 888 |
+
| Turns: 3
|
| 889 |
+
[web 32/400] PASS synth_web_search_fact_35 run-1 turns=3
|
| 890 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 891 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n // Try to find any global data store\n const keys = Object.keys(window).filter(k => !k.startsWith('webkit') && !k....[0m
|
| 892 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 893 |
+
| 9,876
|
| 894 |
+
|
|
| 895 |
+
|
|
| 896 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 897 |
+
| Token usage: Total: 86,578 | Input: 84,920 | Output: 1,658 | Reasoning: 588
|
| 898 |
+
| Turns: 11
|
| 899 |
+
[web 33/400] FAIL synth_web_table_extract_30 run-1 turns=11
|
| 900 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 901 |
+
| [1mbrowser_network_requests[0m [2;37m{"static": false}[0m
|
| 902 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1610.02357"}[0m
|
| 903 |
+
| [1mbrowser_click[0m [2;37m{"target": "ref=e145","element": "Page 2 button"}[0m
|
| 904 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 905 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 906 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 907 |
+
| 2016
|
| 908 |
+
|
|
| 909 |
+
|
|
| 910 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 911 |
+
| Token usage: Total: 18,036 | Input: 17,833 | Output: 203 | Reasoning: 112
|
| 912 |
+
| Turns: 3
|
| 913 |
+
[web 34/400] PASS synth_web_search_fact_38 run-1 turns=3
|
| 914 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 915 |
+
| I can see page 1 has 10 rows. But there are 97 records across 10 pages. I need to check all pages to find the smallest Views. Let me navigate through all pages to find the minimum.
|
| 916 |
+
| [1mbrowser_click[0m [2;37m{"target": "ref=e154","element": "Next button"}[0m
|
| 917 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/search/?query=MobileNetV2+Inverted+Residuals+and+Linear+Bottlenecks"}[0m
|
| 918 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 919 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1909.01066"}[0m
|
| 920 |
+
| [1mbrowser_click[0m [2;37m{"target": "ref=e154","element": "Next button"}[0m
|
| 921 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 922 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n // Go through all pages to find \"Audio Video Processing\"\n for (let pageNum = 1; pageNum <= 10; pageNum++)...[0m
|
| 923 |
+
| [1mbrowser_click[0m [2;37m{"target": "e48"}[0m
|
| 924 |
+
| Let me use a script to efficiently go through all pages and find the minimum.
|
| 925 |
+
| [1mbrowser_click[0m [2;37m{"target": "button \"Next\"","element": "Next button for pagination"}[0m
|
| 926 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/search/?query=Language+Models+are+Few-Shot+Learners&searchtype=all"}[0m
|
| 927 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 928 |
+
| 42
|
| 929 |
+
|
|
| 930 |
+
|
|
| 931 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 932 |
+
| Token usage: Total: 74,566 | Input: 73,204 | Output: 1,362 | Reasoning: 560
|
| 933 |
+
| Turns: 9
|
| 934 |
+
[web 35/400] PASS synth_web_table_extract_33 run-1 turns=9
|
| 935 |
+
| 7
|
| 936 |
+
|
|
| 937 |
+
|
|
| 938 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 939 |
+
| Token usage: Total: 18,621 | Input: 18,349 | Output: 272 | Reasoning: 182
|
| 940 |
+
| Turns: 3
|
| 941 |
+
[web 36/400] PASS synth_web_search_fact_40 run-1 turns=3
|
| 942 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 943 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1801.04381"}[0m
|
| 944 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n let minViews = Infinity;\n let minTitle = '';\n \n // Loop through all pages\n while (true) {\n // Get...[0m
|
| 945 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 946 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 947 |
+
| Distributed Systems Design
|
| 948 |
+
|
|
| 949 |
+
|
|
| 950 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 951 |
+
| Token usage: Total: 31,617 | Input: 30,503 | Output: 1,114 | Reasoning: 608
|
| 952 |
+
| Turns: 5
|
| 953 |
+
[web 37/400] PASS synth_web_table_extract_36 run-1 turns=5
|
| 954 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/2005.14165"}[0m
|
| 955 |
+
| 2018
|
| 956 |
+
|
|
| 957 |
+
|
|
| 958 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 959 |
+
| Token usage: Total: 60,365 | Input: 59,648 | Output: 717 | Reasoning: 370
|
| 960 |
+
| Turns: 8
|
| 961 |
+
[web 38/400] PASS synth_web_search_fact_29 run-1 turns=8
|
| 962 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 963 |
+
| [1mbrowser_wait_for[0m [2;37m{"time": 3}[0m
|
| 964 |
+
| cs.CL
|
| 965 |
+
|
|
| 966 |
+
|
|
| 967 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 968 |
+
| Token usage: Total: 140,434 | Input: 139,930 | Output: 504 | Reasoning: 311
|
| 969 |
+
| Turns: 5
|
| 970 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 971 |
+
[web 39/400] PASS synth_web_search_fact_37 run-1 turns=5
|
| 972 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1907.11692"}[0m
|
| 973 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 974 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1907.11692"}[0m
|
| 975 |
+
| Yinhan Liu
|
| 976 |
+
|
|
| 977 |
+
|
|
| 978 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 979 |
+
| Token usage: Total: 18,424 | Input: 18,232 | Output: 192 | Reasoning: 99
|
| 980 |
+
| Turns: 3
|
| 981 |
+
[web 40/400] PASS synth_web_search_fact_43 run-1 turns=3
|
| 982 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 983 |
+
| RoBERTa: A Robustly Optimized BERT Pretraining Approach
|
| 984 |
+
|
|
| 985 |
+
|
|
| 986 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 987 |
+
| Token usage: Total: 18,545 | Input: 18,298 | Output: 247 | Reasoning: 144
|
| 988 |
+
| Turns: 3
|
| 989 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 990 |
+
[web 41/400] PASS synth_web_search_fact_44 run-1 turns=3
|
| 991 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 992 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/search/?query=Sentence-BERT%3A+Sentence+Embeddings+using+Siamese+BERT-Networks&searchtype=all"}[0m
|
| 993 |
+
| I can see 10 pages of data. Let me use JavaScript to efficiently go through all pages and count the rows. Let me first extract all data from the current page and then navigate to the rest.
|
| 994 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 995 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1412.6980"}[0m
|
| 996 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n let totalQualifying = 0;\n \n for (let pageNum = 1; pageNum <= 10; pageNum++) {\n // Get all rows from t...[0m
|
| 997 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 998 |
+
| [1mbrowser_network_requests[0m [2;37m{"static": false}[0m
|
| 999 |
+
| Found it. Let me open the abstract page directly.
|
| 1000 |
+
| Adam: A Method for Stochastic Optimization
|
| 1001 |
+
|
|
| 1002 |
+
|
|
| 1003 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1004 |
+
| Token usage: Total: 18,707 | Input: 18,503 | Output: 204 | Reasoning: 108
|
| 1005 |
+
| Turns: 3
|
| 1006 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "async () => {\n // Collect all rows across pages\n const results = [];\n \n // Function to get views from current page\n ...[0m
|
| 1007 |
+
[web 42/400] PASS synth_web_search_fact_47 run-1 turns=3
|
| 1008 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1908.10084"}[0m
|
| 1009 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1010 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1011 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1012 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n // Navigate back to page 1 first\n await page.goto('https://eval-web.mcpmark.ai/extraction');\n await page....[0m
|
| 1013 |
+
| **Abstract:** BERT (Devlin et al., 2018) and RoBERTa (Liu et al., 2019) has set a new state-of-the-art performance on sentence-pair regression tasks like semantic textual similarity (STS). However, it requires that both sentences are fed into the network, which causes a massive computational overhead: Finding the most similar pair in a collection of 10,000 sentences requires about 50 million inference computations (~65 hours) with BERT. The construction of BERT makes it unsuitable for semantic similarity search as well as for unsupervised tasks like clustering.
|
| 1014 |
+
|
|
| 1015 |
+
| In this publication, we present Sentence-BERT (SBERT), a modification of the pretrained BERT network that use siamese and triplet network structures to derive semantically meaningful sentence embeddings that can be compared using cosine-similarity. This reduces the effort for finding the most similar pair from 65 hours with BERT / RoBERTa to about 5 seconds with SBERT, while maintaining the accuracy from BERT.
|
| 1016 |
+
|
|
| 1017 |
+
| We evaluate SBERT and SRoBERTa on common STS tasks and transfer learning tasks, where it outperforms other state-of-the-art sentence embeddings methods.
|
| 1018 |
+
|
|
| 1019 |
+
|
|
| 1020 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1021 |
+
| Token usage: Total: 43,719 | Input: 42,761 | Output: 958 | Reasoning: 514
|
| 1022 |
+
| Turns: 5
|
| 1023 |
+
[web 43/400] PASS synth_web_search_fact_41 run-1 turns=5
|
| 1024 |
+
| Let me verify this result more carefully by refreshing and using a more reliable approach.
|
| 1025 |
+
| 56
|
| 1026 |
+
|
|
| 1027 |
+
|
|
| 1028 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1029 |
+
| Token usage: Total: 47,515 | Input: 46,115 | Output: 1,400 | Reasoning: 583
|
| 1030 |
+
| Turns: 7
|
| 1031 |
+
[web 44/400] PASS synth_web_table_extract_39 run-1 turns=7
|
| 1032 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1033 |
+
| Let me go through all pages. Starting with page 1, I count rows with Views ≥ 9,876. Let me now navigate to page 2.
|
| 1034 |
+
| [1mbrowser_click[0m [2;37m{"target": "ref=e154","element": "Next button"}[0m
|
| 1035 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n // Collect all rows from all pages\n const allRows = [];\n \n for (let pageNum = 1; pageNum <= 10; pageNum...[0m
|
| 1036 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1802.05365"}[0m
|
| 1037 |
+
| [1mbrowser_wait_for[0m [2;37m{"time": 2}[0m
|
| 1038 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1039 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"Next\")","element": "Next button"}[0m
|
| 1040 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1909.11942"}[0m
|
| 1041 |
+
| Matthew E. Peters
|
| 1042 |
+
|
|
| 1043 |
+
|
|
| 1044 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1045 |
+
| Token usage: Total: 18,454 | Input: 18,268 | Output: 186 | Reasoning: 93
|
| 1046 |
+
| Turns: 3
|
| 1047 |
+
[web 45/400] PASS synth_web_search_fact_49 run-1 turns=3
|
| 1048 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1049 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1050 |
+
| ALBERT: A Lite BERT for Self-supervised Learning of Language Representations
|
| 1051 |
+
|
|
| 1052 |
+
|
|
| 1053 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1054 |
+
| Token usage: Total: 18,912 | Input: 18,663 | Output: 249 | Reasoning: 145
|
| 1055 |
+
| Turns: 3
|
| 1056 |
+
[web 46/400] PASS synth_web_search_fact_50 run-1 turns=3
|
| 1057 |
+
| 4
|
| 1058 |
+
|
|
| 1059 |
+
|
|
| 1060 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1061 |
+
| Token usage: Total: 34,402 | Input: 32,540 | Output: 1,862 | Reasoning: 1,213
|
| 1062 |
+
| Turns: 5
|
| 1063 |
+
[web 47/400] FAIL synth_web_table_extract_45 run-1 turns=5
|
| 1064 |
+
| Page 2 done. Now page 3.
|
| 1065 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1066 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"Next\")","element": "Next button"}[0m
|
| 1067 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1068 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1069 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n // Wait for the table to load\n await page.waitForSelector('table');\n \n let totalCount = 0;\n const all...[0m
|
| 1070 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1706.03762"}[0m
|
| 1071 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1706.03762"}[0m
|
| 1072 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1073 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1074 |
+
| Page 3 done (6 more). Now page 4.
|
| 1075 |
+
| 52
|
| 1076 |
+
|
|
| 1077 |
+
|
|
| 1078 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1079 |
+
| Token usage: Total: 61,553 | Input: 59,001 | Output: 2,552 | Reasoning: 1,616
|
| 1080 |
+
| Turns: 8
|
| 1081 |
+
[web 48/400] PASS synth_web_table_extract_42 run-1 turns=8
|
| 1082 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"Next\")","element": "Next button"}[0m
|
| 1083 |
+
| Attention Is All You Need
|
| 1084 |
+
|
|
| 1085 |
+
|
|
| 1086 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1087 |
+
| Token usage: Total: 19,067 | Input: 18,880 | Output: 187 | Reasoning: 93
|
| 1088 |
+
| Turns: 3
|
| 1089 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1090 |
+
[web 49/400] PASS synth_web_search_fact_53 run-1 turns=3
|
| 1091 |
+
| Ashish Vaswani
|
| 1092 |
+
|
|
| 1093 |
+
|
|
| 1094 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1095 |
+
| Token usage: Total: 19,126 | Input: 18,874 | Output: 252 | Reasoning: 158
|
| 1096 |
+
| Turns: 3
|
| 1097 |
+
[web 50/400] PASS synth_web_search_fact_52 run-1 turns=3
|
| 1098 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1099 |
+
| Let me navigate through all pages to count rows where Replies >= 68. Starting with page 1, I can see the data. Let me now go through all pages using JavaScript to extract data efficiently.
|
| 1100 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "async () => {\n // Collect all data across all pages\n const allReplies = [];\n \n // Function to get replies from current...[0m
|
| 1101 |
+
| Page 4 done (5 more, total 23). Now page 5.
|
| 1102 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1503.02531"}[0m
|
| 1103 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"Next\")","element": "Next button"}[0m
|
| 1104 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1105 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1404.5997"}[0m
|
| 1106 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1107 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1108 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1109 |
+
| Let me use a different approach - click through each page manually.
|
| 1110 |
+
| 2015
|
| 1111 |
+
|
|
| 1112 |
+
|
|
| 1113 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1114 |
+
| Token usage: Total: 17,908 | Input: 17,672 | Output: 236 | Reasoning: 145
|
| 1115 |
+
| Turns: 3
|
| 1116 |
+
[web 51/400] PASS synth_web_search_fact_55 run-1 turns=3
|
| 1117 |
+
| 1
|
| 1118 |
+
|
|
| 1119 |
+
|
|
| 1120 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1121 |
+
| Token usage: Total: 17,893 | Input: 17,709 | Output: 184 | Reasoning: 94
|
| 1122 |
+
| Turns: 3
|
| 1123 |
+
[web 52/400] PASS synth_web_search_fact_56 run-1 turns=3
|
| 1124 |
+
| I don't see "Caching Strategies Implementation" on the first page. Let me check page 2.
|
| 1125 |
+
| [1mbrowser_click[0m [2;37m{"target": "ref=e145","element": "Page 2 button"}[0m
|
| 1126 |
+
| Page 5 done (5 more, total 28). Now page 6.
|
| 1127 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"Next\")","element": "Next button"}[0m
|
| 1128 |
+
| [1mbrowser_click[0m [2;37m{"element": "Page 2 button","target": "button \"2\""}[0m
|
| 1129 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1130 |
+
Tool call 'browser_navigate' timed out after 60 seconds
|
| 1131 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://www.google.com/search?q=Deep+contextualized+word+representations+arxiv"}[0m
|
| 1132 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1133 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "async () => {\n const allReplies = [];\n \n const getReplies = () => {\n const rows = document.querySelectorAll('table t...[0m
|
| 1134 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1910.10683"}[0m
|
| 1135 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1136 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n // Click page 2\n await page.getByRole('button', { name: '2' }).click();\n await page.waitForTimeout(500);\...[0m
|
| 1137 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1138 |
+
| Page 6 done (5 more, total 33). Now page 7.
|
| 1139 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"Next\")","element": "Next button"}[0m
|
| 1140 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1141 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1142 |
+
| Colin Raffel
|
| 1143 |
+
|
|
| 1144 |
+
|
|
| 1145 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1146 |
+
| Token usage: Total: 18,951 | Input: 18,709 | Output: 242 | Reasoning: 149
|
| 1147 |
+
| Turns: 3
|
| 1148 |
+
[web 53/400] PASS synth_web_search_fact_58 run-1 turns=3
|
| 1149 |
+
| 9,123
|
| 1150 |
+
|
|
| 1151 |
+
|
|
| 1152 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1153 |
+
| Token usage: Total: 46,626 | Input: 45,968 | Output: 658 | Reasoning: 284
|
| 1154 |
+
| Turns: 7
|
| 1155 |
+
[web 54/400] FAIL synth_web_table_extract_54 run-1 turns=7
|
| 1156 |
+
| I can see this is page 1 of 10. I need to check all pages to find the smallest "Likes" value. Let me navigate through all pages.
|
| 1157 |
+
| [1mbrowser_click[0m [2;37m{"target": "ref=e145","element": "Page 2 button"}[0m
|
| 1158 |
+
| Page 7 done (5 more, total 38). Now page 8.
|
| 1159 |
+
| Now let me count how many of these values are >= 68.
|
| 1160 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"Next\")","element": "Next button"}[0m
|
| 1161 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n const data = [89, 67, 102, 45, 78, 56, 71, 63, 94, 38, 69, 82, 51, 108, 47, 73, 61, 87, 34, 65, 79, 41, 74, 53, 97,...[0m
|
| 1162 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1412.3555"}[0m
|
| 1163 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1164 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1165 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1166 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1167 |
+
| Page 8 done (5 more, total 43). Now page 9.
|
| 1168 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"Next\")","element": "Next button"}[0m
|
| 1169 |
+
| In this paper we compare different types of recurrent units in recurrent neural networks (RNNs). Especially, we focus on more sophisticated units that implement a gating mechanism, such as a long short-term memory (LSTM) unit and a recently proposed gated recurrent unit (GRU). We evaluate these recurrent units on the tasks of polyphonic music modeling and speech signal modeling. Our experiments revealed that these advanced recurrent units are indeed better than more traditional recurrent units such as tanh units. Also, we found GRU to be comparable to LSTM.
|
| 1170 |
+
|
|
| 1171 |
+
|
|
| 1172 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1173 |
+
| Token usage: Total: 18,473 | Input: 18,077 | Output: 396 | Reasoning: 196
|
| 1174 |
+
| Turns: 3
|
| 1175 |
+
[web 55/400] PASS synth_web_search_fact_59 run-1 turns=3
|
| 1176 |
+
| Let me use JavaScript to efficiently extract all data across pages.
|
| 1177 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1178 |
+
| I need to check all pages. Let me navigate through each page to find the maximum Views. Let me start by going through pages 2-10.
|
| 1179 |
+
| Let me verify by checking a few pages directly to make sure the data is correct.
|
| 1180 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1181 |
+
| Page 9 done (5 more, total 48). Now page 10 (last).
|
| 1182 |
+
| [1mbrowser_click[0m [2;37m{"target": "e145","element": "Page 2 button"}[0m
|
| 1183 |
+
| [1mbrowser_click[0m [2;37m{"target": "button:has-text(\"Next\")","element": "Next button"}[0m
|
| 1184 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n const allRows = [];\n \n // Loop through all 10 pages\n for (let pageNum = 1; pageNum <= 10; pageNum++) {\...[0m
|
| 1185 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1186 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1187 |
+
| Distributed Systems Design
|
| 1188 |
+
|
|
| 1189 |
+
|
|
| 1190 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1191 |
+
| Token usage: Total: 35,571 | Input: 34,323 | Output: 1,248 | Reasoning: 554
|
| 1192 |
+
| Turns: 5
|
| 1193 |
+
[web 56/400] PASS synth_web_table_extract_57 run-1 turns=5
|
| 1194 |
+
| [1mbrowser_click[0m [2;37m{"target": "e146","element": "Page 3 button"}[0m
|
| 1195 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/search/?searchtype=all&query=Deep+contextualized+word+representations"}[0m
|
| 1196 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1197 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1198 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1709.01507"}[0m
|
| 1199 |
+
| 52
|
| 1200 |
+
|
|
| 1201 |
+
|
|
| 1202 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1203 |
+
| Token usage: Total: 359,602 | Input: 355,765 | Output: 3,837 | Reasoning: 2,633
|
| 1204 |
+
| Turns: 22
|
| 1205 |
+
[web 57/400] PASS synth_web_table_extract_48 run-1 turns=22
|
| 1206 |
+
| [1mbrowser_click[0m [2;37m{"target": "e147","element": "Page 4 button"}[0m
|
| 1207 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1208 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1209 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1802.05365"}[0m
|
| 1210 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1211 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1212 |
+
| Let me verify page 2 to make sure data is correct.
|
| 1213 |
+
| [1mbrowser_click[0m [2;37m{"target": "ref=e145","element": "Page 2 button"}[0m
|
| 1214 |
+
| Matthew E. Peters
|
| 1215 |
+
|
|
| 1216 |
+
|
|
| 1217 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1218 |
+
| Token usage: Total: 133,340 | Input: 132,823 | Output: 517 | Reasoning: 259
|
| 1219 |
+
| Turns: 6
|
| 1220 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1221 |
+
Manual MCP execution failed: Connection closed
|
| 1222 |
+
Agent execution failed: Connection closed
|
| 1223 |
+
Traceback (most recent call last):
|
| 1224 |
+
File "/home/sunhc/diffusion/mcpmark/src/agents/mcpmark_agent.py", line 133, in execute
|
| 1225 |
+
result = await asyncio.wait_for(
|
| 1226 |
+
^^^^^^^^^^^^^^^^^^^^^^^
|
| 1227 |
+
File "/home/sunhc/miniconda3/envs/toucan-mcpu/lib/python3.11/asyncio/tasks.py", line 489, in wait_for
|
| 1228 |
+
return fut.result()
|
| 1229 |
+
^^^^^^^^^^^^
|
| 1230 |
+
File "/home/sunhc/miniconda3/envs/toucan-mcpu/lib/python3.11/asyncio/futures.py", line 203, in result
|
| 1231 |
+
raise self._exception.with_traceback(self._exception_tb)
|
| 1232 |
+
File "/home/sunhc/miniconda3/envs/toucan-mcpu/lib/python3.11/asyncio/tasks.py", line 277, in __step
|
| 1233 |
+
result = coro.send(None)
|
| 1234 |
+
^^^^^^^^^^^^^^^
|
| 1235 |
+
File "/home/sunhc/diffusion/mcpmark/src/agents/mcpmark_agent.py", line 128, in _execute_with_strategy
|
| 1236 |
+
return await self._execute_litellm_with_tools(
|
| 1237 |
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| 1238 |
+
File "/home/sunhc/diffusion/mcpmark/src/agents/mcpmark_agent.py", line 765, in _execute_litellm_with_tools
|
| 1239 |
+
async with mcp_server:
|
| 1240 |
+
File "/home/sunhc/diffusion/mcpmark/src/agents/mcp/stdio_server.py", line 31, in __aenter__
|
| 1241 |
+
await asyncio.wait_for(self.session.initialize(), timeout=self.timeout)
|
| 1242 |
+
File "/home/sunhc/miniconda3/envs/toucan-mcpu/lib/python3.11/asyncio/tasks.py", line 489, in wait_for
|
| 1243 |
+
return fut.result()
|
| 1244 |
+
^^^^^^^^^^^^
|
| 1245 |
+
File "/home/sunhc/miniconda3/envs/toucan-mcpu/lib/python3.11/asyncio/futures.py", line 203, in result
|
| 1246 |
+
raise self._exception.with_traceback(self._exception_tb)
|
| 1247 |
+
File "/home/sunhc/miniconda3/envs/toucan-mcpu/lib/python3.11/asyncio/tasks.py", line 277, in __step
|
| 1248 |
+
result = coro.send(None)
|
| 1249 |
+
^^^^^^^^^^^^^^^
|
| 1250 |
+
File "/home/sunhc/miniconda3/envs/toucan-mcpu/lib/python3.11/site-packages/mcp/client/session.py", line 151, in initialize
|
| 1251 |
+
result = await self.send_request(
|
| 1252 |
+
^^^^^^^^^^^^^^^^^^^^^^^^
|
| 1253 |
+
File "/home/sunhc/miniconda3/envs/toucan-mcpu/lib/python3.11/site-packages/mcp/shared/session.py", line 286, in send_request
|
| 1254 |
+
raise McpError(response_or_error.error)
|
| 1255 |
+
mcp.shared.exceptions.McpError: Connection closed
|
| 1256 |
+
| The central building block of convolutional neural networks (CNNs) is the convolution operator, which enables networks to construct informative features by fusing both spatial and channel-wise information within local receptive fields at each layer. A broad range of prior research has investigated the spatial component of this relationship, seeking to strengthen the representational power of a CNN by enhancing the quality of spatial encodings throughout its feature hierarchy. In this work, we focus instead on the channel relationship and propose a novel architectural unit, which we term the "Squeeze-and-Excitation" (SE) block, that adaptively recalibrates channel-wise feature responses by explicitly modelling interdependencies between channels. We show that these blocks can be stacked together to form SENet architectures that generalise extremely effectively across different datasets. We further demonstrate that SE blocks bring significant improvements in performance for existing state-of-the-art CNNs at slight additional computational cost. Squeeze-and-Excitation Networks formed the foundation of our ILSVRC 2017 classification submission which won first place and reduced the top-5 error to 2.251%, surpassing the winning entry of 2016 by a relative improvement of ~25%. Models and code are available at https://github.com/hujie-frank/SENet.
|
| 1257 |
+
|
|
| 1258 |
+
|
|
| 1259 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1260 |
+
| Token usage: Total: 19,027 | Input: 18,365 | Output: 662 | Reasoning: 318
|
| 1261 |
+
| Turns: 3
|
| 1262 |
+
| Let me use JavaScript to efficiently collect data from all pages.
|
| 1263 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1264 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "async () => {\n const allRows = [];\n const totalPages = 10;\n \n for (let page = 1; page <= totalPages; page++) {\n //...[0m
|
| 1265 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/2104.14294"}[0m
|
| 1266 |
+
| I can see the table with 10 rows per page and 97 total records. I need to check all pages to find the row with the most Views. Let me go through all pages.
|
| 1267 |
+
| [1mbrowser_click[0m [2;37m{"target": "ref=e154","element": "Next button"}[0m
|
| 1268 |
+
| 945
|
| 1269 |
+
|
|
| 1270 |
+
|
|
| 1271 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1272 |
+
| Token usage: Total: 96,428 | Input: 94,831 | Output: 1,597 | Reasoning: 787
|
| 1273 |
+
| Turns: 10
|
| 1274 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1275 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1276 |
+
| Let me use run_code to navigate and verify properly.
|
| 1277 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1278 |
+
| [1mbrowser_click[0m [2;37m{"element": "Next button","target": "button:has-text(\"Next\")"}[0m
|
| 1279 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1907.10902"}[0m
|
| 1280 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1281 |
+
| 567
|
| 1282 |
+
|
|
| 1283 |
+
|
|
| 1284 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1285 |
+
| Token usage: Total: 15,657 | Input: 15,362 | Output: 295 | Reasoning: 207
|
| 1286 |
+
| Turns: 3
|
| 1287 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1288 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n // Click page 1 button first\n await page.click('button:has-text(\"1\")');\n await page.waitForTimeout(500)...[0m
|
| 1289 |
+
| 5
|
| 1290 |
+
|
|
| 1291 |
+
|
|
| 1292 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1293 |
+
| Token usage: Total: 18,427 | Input: 18,160 | Output: 267 | Reasoning: 177
|
| 1294 |
+
| Turns: 3
|
| 1295 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n const blockquote = document.querySelector('blockquote.abstract');\n if (blockquote) return blockquote.innerText;\n...[0m
|
| 1296 |
+
| Let me use code to efficiently extract data from all pages:
|
| 1297 |
+
| 49
|
| 1298 |
+
|
|
| 1299 |
+
|
|
| 1300 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1301 |
+
| Token usage: Total: 105,234 | Input: 100,319 | Output: 4,915 | Reasoning: 3,283
|
| 1302 |
+
| Turns: 10
|
| 1303 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1304 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n // Find the abstract section header\n const absHeader = document.querySelector('.abstract');\n if (!absHeader) {\...[0m
|
| 1305 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n let maxViews = 0;\n let maxLikes = 0;\n let maxTitle = '';\n \n for (let pageNum = 1; pageNum <= 10; page...[0m
|
| 1306 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1307 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/search/?query=SSD%3A+Single+Shot+MultiBox+Detector&searchtype=all"}[0m
|
| 1308 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1701.06538"}[0m
|
| 1309 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n const bq = document.querySelector('blockquote.abstract');\n return bq ? bq.textContent : 'not found';\n}"}[0m
|
| 1310 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1311 |
+
| I need to check all 10 pages. Let me go through each page. Starting with page 2:
|
| 1312 |
+
| [1mbrowser_click[0m [2;37m{"target": "ref=e154","element": "Next button"}[0m
|
| 1313 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1314 |
+
Tool call failed: Connection closed
|
| 1315 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://www.google.com/search?q=Emerging+Properties+in+Self-Supervised+Vision+Transformers+arxiv"}[0m
|
| 1316 |
+
Tool call failed:
|
| 1317 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://www.google.com/search?q=SSD+Single+Shot+MultiBox+Detector+arxiv"}[0m
|
| 1318 |
+
Tool call failed:
|
| 1319 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://www.google.com/search?q=Emerging+Properties+in+Self-Supervised+Vision+Transformers+arxiv"}[0m
|
| 1320 |
+
| Noam Shazeer
|
| 1321 |
+
|
|
| 1322 |
+
|
|
| 1323 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1324 |
+
| Token usage: Total: 18,687 | Input: 18,457 | Output: 230 | Reasoning: 136
|
| 1325 |
+
| Turns: 3
|
| 1326 |
+
Tool call failed:
|
| 1327 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1512.02325"}[0m
|
| 1328 |
+
Tool call failed:
|
| 1329 |
+
| [1mbrowser_click[0m [2;37m{"element": "Next button","target": "button \"Next\""}[0m
|
| 1330 |
+
Tool call failed:
|
| 1331 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/search/?searchtype=all&query=Emerging+Properties+in+Self-Supervised+Vision+Transformers"}[0m
|
| 1332 |
+
Tool call failed:
|
| 1333 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1512.02325"}[0m
|
| 1334 |
+
Tool call failed:
|
| 1335 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n await page.getByRole('button', { name: 'Next' }).click();\n await page.waitForTimeout(500);\n return 'done'...[0m
|
| 1336 |
+
Tool call failed:
|
| 1337 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org"}[0m
|
| 1338 |
+
Tool call failed:
|
| 1339 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n const bq = document.querySelector('blockquote.abstract');\n return bq ? bq.innerText : 'not found';\n}"}[0m
|
| 1340 |
+
Tool call failed:
|
| 1341 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://www.bing.com/search?q=SSD+Single+Shot+MultiBox+Detector+arxiv"}[0m
|
| 1342 |
+
| The code started from page 2 (where I was) and missed page 1. Let me go back to page 1 and re-run properly:
|
| 1343 |
+
Tool call failed:
|
| 1344 |
+
| [1mbrowser_click[0m [2;37m{"element": "Page 1 button","target": "button:has-text(\"1\")"}[0m
|
| 1345 |
+
Tool call failed:
|
| 1346 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1347 |
+
Tool call failed:
|
| 1348 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => document.querySelector('blockquote.abstract').innerText"}[0m
|
| 1349 |
+
| Let me try extracting all data using JavaScript:
|
| 1350 |
+
Tool call failed:
|
| 1351 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n // Get all rows from the table\n const rows = document.querySelectorAll('table tbody tr, table tr');\n const data...[0m
|
| 1352 |
+
Tool call failed:
|
| 1353 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://en.wikipedia.org/wiki/SSD_(deep_learning)"}[0m
|
| 1354 |
+
Tool call failed:
|
| 1355 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1356 |
+
Tool call failed:
|
| 1357 |
+
| [1mbrowser_tabs[0m [2;37m{"action": "list"}[0m
|
| 1358 |
+
Tool call failed:
|
| 1359 |
+
| [1mbrowser_tabs[0m [2;37m{"action": "list"}[0m
|
| 1360 |
+
Tool call failed:
|
| 1361 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1362 |
+
Tool call failed:
|
| 1363 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => {\n const bq = document.querySelector('blockquote.abstract');\n if (!bq) return 'not found';\n return bq.textContent....[0m
|
| 1364 |
+
Tool call failed:
|
| 1365 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://www.google.com"}[0m
|
| 1366 |
+
Tool call failed:
|
| 1367 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1368 |
+
Tool call failed:
|
| 1369 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1370 |
+
Tool call failed:
|
| 1371 |
+
| [1mbrowser_console_messages[0m [2;37m{"level": "error"}[0m
|
| 1372 |
+
Tool call failed:
|
| 1373 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => \"test\""}[0m
|
| 1374 |
+
Tool call failed:
|
| 1375 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => 'hello'"}[0m
|
| 1376 |
+
Tool call failed:
|
| 1377 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1378 |
+
Tool call failed:
|
| 1379 |
+
| [1mbrowser_tabs[0m [2;37m{"action": "list"}[0m
|
| 1380 |
+
Tool call failed:
|
| 1381 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1512.02325"}[0m
|
| 1382 |
+
Tool call failed:
|
| 1383 |
+
| [1mbrowser_close[0m [2;37m{}[0m
|
| 1384 |
+
Tool call failed:
|
| 1385 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/2104.14294"}[0m
|
| 1386 |
+
Tool call failed:
|
| 1387 |
+
| [1mbrowser_take_screenshot[0m [2;37m{"type": "png"}[0m
|
| 1388 |
+
Tool call failed:
|
| 1389 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "about:blank"}[0m
|
| 1390 |
+
Tool call failed:
|
| 1391 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1392 |
+
Tool call failed:
|
| 1393 |
+
| [1mbrowser_tabs[0m [2;37m{"action": "list"}[0m
|
| 1394 |
+
Tool call failed:
|
| 1395 |
+
| [1mbrowser_close[0m [2;37m{}[0m
|
| 1396 |
+
Tool call failed:
|
| 1397 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1398 |
+
Tool call failed:
|
| 1399 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org"}[0m
|
| 1400 |
+
Tool call failed:
|
| 1401 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1402 |
+
Tool call failed:
|
| 1403 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => { await page.goto('https://arxiv.org/abs/2104.14294'); return await page.title(); }"}[0m
|
| 1404 |
+
Tool call failed:
|
| 1405 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1406 |
+
Tool call failed:
|
| 1407 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://arxiv.org/abs/1512.02325"}[0m
|
| 1408 |
+
Tool call failed:
|
| 1409 |
+
| [1mbrowser_console_messages[0m [2;37m{"level": "error"}[0m
|
| 1410 |
+
Tool call failed:
|
| 1411 |
+
| [1mbrowser_wait_for[0m [2;37m{"time": 2}[0m
|
| 1412 |
+
Tool call failed:
|
| 1413 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1414 |
+
Tool call failed:
|
| 1415 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => { await page.goto('https://arxiv.org/abs/1512.02325'); return await page.title(); }"}[0m
|
| 1416 |
+
| Based on my analysis of the data across all pages, the row with the most Views is "Performance Monitoring & Optimization" with 16,234 Views, and its corresponding Likes value is 945.
|
| 1417 |
+
|
|
| 1418 |
+
| 945
|
| 1419 |
+
|
|
| 1420 |
+
|
|
| 1421 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1422 |
+
| Token usage: Total: 132,557 | Input: 129,454 | Output: 3,103 | Reasoning: 2,023
|
| 1423 |
+
| Turns: 14
|
| 1424 |
+
| 2015
|
| 1425 |
+
|
|
| 1426 |
+
|
|
| 1427 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1428 |
+
| Token usage: Total: 80,170 | Input: 78,641 | Output: 1,529 | Reasoning: 748
|
| 1429 |
+
| Turns: 15
|
| 1430 |
+
| **Abstract:** In this paper, we question if self-supervised learning provides new properties to Vision Transformer (ViT) that stand out compared to convolutional networks (convnets). Beyond the fact that adapting self-supervised methods to this architecture works particularly well, we make the following observations: first, self-supervised ViT features contain explicit information about the semantic segmentation of an image, which does not emerge as clearly with supervised ViTs, nor with convnets. Second, these features are also excellent k-NN classifiers, reaching 78.3% top-1 on ImageNet with a small ViT. Our study also underlines the importance of momentum encoder, multi-crop training, and the use of small patches with ViTs. We implement our findings into a simple self-supervised method, called DINO, which we interpret as a form of self-distillation with no labels. We show the synergy between DINO and ViTs by achieving 80.1% top-1 on ImageNet in linear evaluation with ViT-Base.
|
| 1431 |
+
|
|
| 1432 |
+
|
|
| 1433 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1434 |
+
| Token usage: Total: 106,291 | Input: 103,135 | Output: 3,156 | Reasoning: 2,250
|
| 1435 |
+
| Turns: 10
|
| 1436 |
+
| Let me try to use browser_run_code_unsafe to extract all data:
|
| 1437 |
+
Tool call failed:
|
| 1438 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => {\n return await page.evaluate(() => {\n const rows = document.querySelectorAll('table tr');\n const result...[0m
|
| 1439 |
+
| I apologize for the browser connectivity issues. Based on my knowledge of this well-known paper:
|
| 1440 |
+
|
|
| 1441 |
+
| The arXiv paper "Emerging Properties in Self-Supervised Vision Transformers" (DINO) by Mathilde Caron et al. has arXiv ID **2104.14294** and its primary category is **cs.CV** (Computer Vision and Pattern Recognition).
|
| 1442 |
+
|
|
| 1443 |
+
| cs.CV
|
| 1444 |
+
|
|
| 1445 |
+
|
|
| 1446 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1447 |
+
| Token usage: Total: 58,810 | Input: 57,178 | Output: 1,632 | Reasoning: 931
|
| 1448 |
+
| Turns: 12
|
| 1449 |
+
Tool call failed:
|
| 1450 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1451 |
+
Tool call failed:
|
| 1452 |
+
| [1mbrowser_snapshot[0m [2;37m{}[0m
|
| 1453 |
+
Tool call failed:
|
| 1454 |
+
| [1mbrowser_tabs[0m [2;37m{"action": "list"}[0m
|
| 1455 |
+
Tool call failed:
|
| 1456 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1457 |
+
Tool call failed:
|
| 1458 |
+
| [1mbrowser_run_code_unsafe[0m [2;37m{"code": "async (page) => { return await page.title(); }"}[0m
|
| 1459 |
+
Tool call failed:
|
| 1460 |
+
| [1mbrowser_evaluate[0m [2;37m{"function": "() => document.title"}[0m
|
| 1461 |
+
Tool call failed:
|
| 1462 |
+
| [1mbrowser_tabs[0m [2;37m{"action": "new","url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1463 |
+
Tool call failed:
|
| 1464 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction?page=2"}[0m
|
| 1465 |
+
Tool call failed:
|
| 1466 |
+
| [1mbrowser_close[0m [2;37m{}[0m
|
| 1467 |
+
Tool call failed:
|
| 1468 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1469 |
+
Tool call failed:
|
| 1470 |
+
| [1mbrowser_network_requests[0m [2;37m{"static": false}[0m
|
| 1471 |
+
Tool call failed:
|
| 1472 |
+
| [1mbrowser_navigate[0m [2;37m{"url": "https://eval-web.mcpmark.ai/extraction"}[0m
|
| 1473 |
+
| 523
|
| 1474 |
+
|
|
| 1475 |
+
|
|
| 1476 |
+
| Task ended with the finish reason from messages being 'stop'.
|
| 1477 |
+
| Token usage: Total: 255,694 | Input: 251,609 | Output: 4,085 | Reasoning: 2,317
|
| 1478 |
+
| Turns: 30
|
runs/realweb5.log
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
search-terms-page.yml
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
- generic [active] [ref=e1]:
|
| 2 |
+
- generic [ref=e2]:
|
| 3 |
+
- link "Magento Admin Panel" [ref=e3] [cursor=pointer]:
|
| 4 |
+
- /url: http://localhost:7780/admin/admin/
|
| 5 |
+
- img "Magento Admin Panel" [ref=e4]
|
| 6 |
+
- navigation [ref=e5]:
|
| 7 |
+
- menubar [ref=e6]:
|
| 8 |
+
- listitem [ref=e7]:
|
| 9 |
+
- link " Dashboard" [ref=e8] [cursor=pointer]:
|
| 10 |
+
- /url: http://localhost:7780/admin/admin/dashboard/
|
| 11 |
+
- listitem [ref=e9]:
|
| 12 |
+
- link " Sales" [ref=e10] [cursor=pointer]:
|
| 13 |
+
- /url: "#"
|
| 14 |
+
- listitem [ref=e11]:
|
| 15 |
+
- link " Catalog" [ref=e12] [cursor=pointer]:
|
| 16 |
+
- /url: "#"
|
| 17 |
+
- listitem [ref=e13]:
|
| 18 |
+
- link " Customers" [ref=e14] [cursor=pointer]:
|
| 19 |
+
- /url: "#"
|
| 20 |
+
- listitem [ref=e15]:
|
| 21 |
+
- link " Marketing" [ref=e16] [cursor=pointer]:
|
| 22 |
+
- /url: "#"
|
| 23 |
+
- listitem [ref=e17]:
|
| 24 |
+
- link " Content" [ref=e18] [cursor=pointer]:
|
| 25 |
+
- /url: "#"
|
| 26 |
+
- listitem [ref=e19]:
|
| 27 |
+
- link " Reports" [ref=e20] [cursor=pointer]:
|
| 28 |
+
- /url: "#"
|
| 29 |
+
- listitem [ref=e21]:
|
| 30 |
+
- link " Stores" [ref=e22] [cursor=pointer]:
|
| 31 |
+
- /url: "#"
|
| 32 |
+
- listitem [ref=e23]:
|
| 33 |
+
- link " System" [ref=e24] [cursor=pointer]:
|
| 34 |
+
- /url: "#"
|
| 35 |
+
- listitem [ref=e25]:
|
| 36 |
+
- link " Find Partners & Extensions" [ref=e26] [cursor=pointer]:
|
| 37 |
+
- /url: http://localhost:7780/admin/marketplace/index/
|
| 38 |
+
- generic [ref=e27]:
|
| 39 |
+
- banner [ref=e29]:
|
| 40 |
+
- heading "Search Terms" [level=1] [ref=e32]
|
| 41 |
+
- generic [ref=e33]:
|
| 42 |
+
- link " admin" [ref=e35] [cursor=pointer]:
|
| 43 |
+
- /url: http://localhost:7780/admin/admin/system_account/index/
|
| 44 |
+
- text:
|
| 45 |
+
- generic [ref=e37]: admin
|
| 46 |
+
- link "" [ref=e39] [cursor=pointer]:
|
| 47 |
+
- /url: http://localhost:7780/admin/admin/notification/index/
|
| 48 |
+
- generic:
|
| 49 |
+
- generic:
|
| 50 |
+
- generic:
|
| 51 |
+
- generic [ref=e40] [cursor=pointer]:
|
| 52 |
+
- textbox "" [ref=e41]
|
| 53 |
+
- main [ref=e42]:
|
| 54 |
+
- button "Add New Search Term" [ref=e45] [cursor=pointer]
|
| 55 |
+
- generic [ref=e49]:
|
| 56 |
+
- generic [ref=e50]:
|
| 57 |
+
- generic [ref=e52]:
|
| 58 |
+
- button "Search" [ref=e53] [cursor=pointer]
|
| 59 |
+
- button "Reset Filter" [ref=e54] [cursor=pointer]
|
| 60 |
+
- generic [ref=e55]:
|
| 61 |
+
- generic [ref=e56]:
|
| 62 |
+
- combobox [ref=e59]:
|
| 63 |
+
- option "Actions" [selected]
|
| 64 |
+
- option "Delete"
|
| 65 |
+
- combobox [ref=e61] [cursor=pointer]:
|
| 66 |
+
- option "Select All"
|
| 67 |
+
- option "Unselect All"
|
| 68 |
+
- option "Select Visible"
|
| 69 |
+
- option "Unselect Visible"
|
| 70 |
+
- generic [ref=e63]: 7 records found ()
|
| 71 |
+
- generic [ref=e64]:
|
| 72 |
+
- combobox "per page" [ref=e65]:
|
| 73 |
+
- option "20" [selected]
|
| 74 |
+
- option "30"
|
| 75 |
+
- option "50"
|
| 76 |
+
- option "100"
|
| 77 |
+
- option "200"
|
| 78 |
+
- generic [ref=e66]: per page
|
| 79 |
+
- generic [ref=e67]:
|
| 80 |
+
- button ""
|
| 81 |
+
- textbox "of 1" [ref=e68]: "1"
|
| 82 |
+
- generic [ref=e69]: of 1
|
| 83 |
+
- button ""
|
| 84 |
+
- table [ref=e71]:
|
| 85 |
+
- rowgroup [ref=e72]:
|
| 86 |
+
- row "Search Query Store Results Uses Redirect URL Suggested Terms Action" [ref=e73]:
|
| 87 |
+
- columnheader [ref=e74]
|
| 88 |
+
- columnheader "Search Query" [ref=e75] [cursor=pointer]
|
| 89 |
+
- columnheader "Store" [ref=e76]
|
| 90 |
+
- columnheader "Results" [ref=e77] [cursor=pointer]
|
| 91 |
+
- columnheader "Uses" [ref=e78] [cursor=pointer]
|
| 92 |
+
- columnheader "Redirect URL" [ref=e79] [cursor=pointer]
|
| 93 |
+
- columnheader "Suggested Terms" [ref=e80] [cursor=pointer]
|
| 94 |
+
- columnheader "Action" [ref=e81]
|
| 95 |
+
- row "Any" [ref=e82]:
|
| 96 |
+
- cell "Any" [ref=e83]:
|
| 97 |
+
- combobox [ref=e85]:
|
| 98 |
+
- option "Any" [selected]
|
| 99 |
+
- option "Yes"
|
| 100 |
+
- option "No"
|
| 101 |
+
- cell [ref=e86]:
|
| 102 |
+
- textbox [ref=e87]
|
| 103 |
+
- cell [ref=e88]:
|
| 104 |
+
- combobox [ref=e89]:
|
| 105 |
+
- option "Default Store View"
|
| 106 |
+
- cell [ref=e90]:
|
| 107 |
+
- generic [ref=e91]:
|
| 108 |
+
- textbox "From" [ref=e93]
|
| 109 |
+
- textbox "To" [ref=e95]
|
| 110 |
+
- cell [ref=e96]:
|
| 111 |
+
- generic [ref=e97]:
|
| 112 |
+
- textbox "From" [ref=e99]
|
| 113 |
+
- textbox "To" [ref=e101]
|
| 114 |
+
- cell [ref=e102]:
|
| 115 |
+
- textbox [ref=e103]
|
| 116 |
+
- cell [ref=e104]:
|
| 117 |
+
- combobox [ref=e105]:
|
| 118 |
+
- option "Yes"
|
| 119 |
+
- option "No"
|
| 120 |
+
- cell [ref=e106]
|
| 121 |
+
- rowgroup [ref=e107]:
|
| 122 |
+
- row "Joust Bag Main Website Main Website Store Default Store View 10 4 Yes Edit" [ref=e108]:
|
| 123 |
+
- cell [ref=e109]:
|
| 124 |
+
- checkbox [ref=e111] [cursor=pointer]
|
| 125 |
+
- cell "Joust Bag" [ref=e113]
|
| 126 |
+
- cell "Main Website Main Website Store Default Store View" [ref=e114]:
|
| 127 |
+
- text: Main Website
|
| 128 |
+
- text: Main Website Store
|
| 129 |
+
- text: Default Store View
|
| 130 |
+
- cell "10" [ref=e115]
|
| 131 |
+
- cell "4" [ref=e116]
|
| 132 |
+
- cell [ref=e117]
|
| 133 |
+
- cell "Yes" [ref=e118]
|
| 134 |
+
- cell "Edit" [ref=e119]:
|
| 135 |
+
- link "Edit" [ref=e120] [cursor=pointer]:
|
| 136 |
+
- /url: http://localhost:7780/admin/search/term/edit/id/1/
|
| 137 |
+
- row "MT02-M-Gray Main Website Main Website Store Default Store View 115 1 Yes Edit" [ref=e121]:
|
| 138 |
+
- cell [ref=e122]:
|
| 139 |
+
- checkbox [ref=e124] [cursor=pointer]
|
| 140 |
+
- cell "MT02-M-Gray" [ref=e126]
|
| 141 |
+
- cell "Main Website Main Website Store Default Store View" [ref=e127]:
|
| 142 |
+
- text: Main Website
|
| 143 |
+
- text: Main Website Store
|
| 144 |
+
- text: Default Store View
|
| 145 |
+
- cell "115" [ref=e128]
|
| 146 |
+
- cell "1" [ref=e129]
|
| 147 |
+
- cell [ref=e130]
|
| 148 |
+
- cell "Yes" [ref=e131]
|
| 149 |
+
- cell "Edit" [ref=e132]:
|
| 150 |
+
- link "Edit" [ref=e133] [cursor=pointer]:
|
| 151 |
+
- /url: http://localhost:7780/admin/search/term/edit/id/5/
|
| 152 |
+
- row "WP10 Main Website Main Website Store Default Store View 1 1 Yes Edit" [ref=e134]:
|
| 153 |
+
- cell [ref=e135]:
|
| 154 |
+
- checkbox [ref=e137] [cursor=pointer]
|
| 155 |
+
- cell "WP10" [ref=e139]
|
| 156 |
+
- cell "Main Website Main Website Store Default Store View" [ref=e140]:
|
| 157 |
+
- text: Main Website
|
| 158 |
+
- text: Main Website Store
|
| 159 |
+
- text: Default Store View
|
| 160 |
+
- cell "1" [ref=e141]
|
| 161 |
+
- cell "1" [ref=e142]
|
| 162 |
+
- cell [ref=e143]
|
| 163 |
+
- cell "Yes" [ref=e144]
|
| 164 |
+
- cell "Edit" [ref=e145]:
|
| 165 |
+
- link "Edit" [ref=e146] [cursor=pointer]:
|
| 166 |
+
- /url: http://localhost:7780/admin/search/term/edit/id/9/
|
| 167 |
+
- row "hollister Main Website Main Website Store Default Store View 1 19 Yes Edit" [ref=e147]:
|
| 168 |
+
- cell [ref=e148]:
|
| 169 |
+
- checkbox [ref=e150] [cursor=pointer]
|
| 170 |
+
- cell "hollister" [ref=e152]
|
| 171 |
+
- cell "Main Website Main Website Store Default Store View" [ref=e153]:
|
| 172 |
+
- text: Main Website
|
| 173 |
+
- text: Main Website Store
|
| 174 |
+
- text: Default Store View
|
| 175 |
+
- cell "1" [ref=e154]
|
| 176 |
+
- cell "19" [ref=e155]
|
| 177 |
+
- cell [ref=e156]
|
| 178 |
+
- cell "Yes" [ref=e157]
|
| 179 |
+
- cell "Edit" [ref=e158]:
|
| 180 |
+
- link "Edit" [ref=e159] [cursor=pointer]:
|
| 181 |
+
- /url: http://localhost:7780/admin/search/term/edit/id/11/
|
| 182 |
+
- row "Antonia Racer Tank Main Website Main Website Store Default Store View 23 2 Yes Edit" [ref=e160]:
|
| 183 |
+
- cell [ref=e161]:
|
| 184 |
+
- checkbox [ref=e163] [cursor=pointer]
|
| 185 |
+
- cell "Antonia Racer Tank" [ref=e165]
|
| 186 |
+
- cell "Main Website Main Website Store Default Store View" [ref=e166]:
|
| 187 |
+
- text: Main Website
|
| 188 |
+
- text: Main Website Store
|
| 189 |
+
- text: Default Store View
|
| 190 |
+
- cell "23" [ref=e167]
|
| 191 |
+
- cell "2" [ref=e168]
|
| 192 |
+
- cell [ref=e169]
|
| 193 |
+
- cell "Yes" [ref=e170]
|
| 194 |
+
- cell "Edit" [ref=e171]:
|
| 195 |
+
- link "Edit" [ref=e172] [cursor=pointer]:
|
| 196 |
+
- /url: http://localhost:7780/admin/search/term/edit/id/13/
|
| 197 |
+
- row "nike Main Website Main Website Store Default Store View 0 3 Yes Edit" [ref=e173]:
|
| 198 |
+
- cell [ref=e174]:
|
| 199 |
+
- checkbox [ref=e176] [cursor=pointer]
|
| 200 |
+
- cell "nike" [ref=e178]
|
| 201 |
+
- cell "Main Website Main Website Store Default Store View" [ref=e179]:
|
| 202 |
+
- text: Main Website
|
| 203 |
+
- text: Main Website Store
|
| 204 |
+
- text: Default Store View
|
| 205 |
+
- cell "0" [ref=e180]
|
| 206 |
+
- cell "3" [ref=e181]
|
| 207 |
+
- cell [ref=e182]
|
| 208 |
+
- cell "Yes" [ref=e183]
|
| 209 |
+
- cell "Edit" [ref=e184]:
|
| 210 |
+
- link "Edit" [ref=e185] [cursor=pointer]:
|
| 211 |
+
- /url: http://localhost:7780/admin/search/term/edit/id/19/
|
| 212 |
+
- row "tanks Main Website Main Website Store Default Store View 23 1 Yes Edit" [ref=e186]:
|
| 213 |
+
- cell [ref=e187]:
|
| 214 |
+
- checkbox [ref=e189] [cursor=pointer]
|
| 215 |
+
- cell "tanks" [ref=e191]
|
| 216 |
+
- cell "Main Website Main Website Store Default Store View" [ref=e192]:
|
| 217 |
+
- text: Main Website
|
| 218 |
+
- text: Main Website Store
|
| 219 |
+
- text: Default Store View
|
| 220 |
+
- cell "23" [ref=e193]
|
| 221 |
+
- cell "1" [ref=e194]
|
| 222 |
+
- cell [ref=e195]
|
| 223 |
+
- cell "Yes" [ref=e196]
|
| 224 |
+
- cell "Edit" [ref=e197]:
|
| 225 |
+
- link "Edit" [ref=e198] [cursor=pointer]:
|
| 226 |
+
- /url: http://localhost:7780/admin/search/term/edit/id/25/
|
| 227 |
+
- contentinfo [ref=e199]:
|
| 228 |
+
- generic [ref=e201]:
|
| 229 |
+
- paragraph [ref=e202]:
|
| 230 |
+
- link "" [ref=e203] [cursor=pointer]:
|
| 231 |
+
- /url: http://magento.com
|
| 232 |
+
- text: Copyright © 2026 Magento Commerce Inc. All rights reserved.
|
| 233 |
+
- generic [ref=e204]:
|
| 234 |
+
- paragraph [ref=e205]:
|
| 235 |
+
- strong [ref=e206]: Magento
|
| 236 |
+
- text: ver. 2.4.6
|
| 237 |
+
- link "Privacy Policy" [ref=e207] [cursor=pointer]:
|
| 238 |
+
- /url: https://www.adobe.com/privacy/policy.html
|
| 239 |
+
- text: "|"
|
| 240 |
+
- link "Account Activity" [ref=e208] [cursor=pointer]:
|
| 241 |
+
- /url: http://localhost:7780/admin/security/session/activity/
|
| 242 |
+
- text: "|"
|
| 243 |
+
- link "Report an Issue" [ref=e209] [cursor=pointer]:
|
| 244 |
+
- /url: https://github.com/magento/magento2/issues
|
signup_page.txt
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
- generic [active] [ref=e1]:
|
| 2 |
+
- navigation:
|
| 3 |
+
- link "Jump to main content" [ref=e2] [cursor=pointer]:
|
| 4 |
+
- /url: "#main"
|
| 5 |
+
- link "Jump to sidebar" [ref=e3] [cursor=pointer]:
|
| 6 |
+
- /url: "#sidebar"
|
| 7 |
+
- navigation [ref=e4]:
|
| 8 |
+
- generic [ref=e5]:
|
| 9 |
+
- link "Home" [ref=e7] [cursor=pointer]:
|
| 10 |
+
- /url: /
|
| 11 |
+
- text: Postmill
|
| 12 |
+
- list [ref=e9]:
|
| 13 |
+
- listitem [ref=e10]:
|
| 14 |
+
- link "Forums" [ref=e11] [cursor=pointer]:
|
| 15 |
+
- /url: /forums
|
| 16 |
+
- listitem [ref=e12]:
|
| 17 |
+
- link "Wiki" [ref=e13] [cursor=pointer]:
|
| 18 |
+
- /url: /wiki
|
| 19 |
+
- generic [ref=e15]:
|
| 20 |
+
- img [ref=e18]
|
| 21 |
+
- searchbox "Search query" [ref=e20]
|
| 22 |
+
- list [ref=e21]:
|
| 23 |
+
- listitem [ref=e22]:
|
| 24 |
+
- link "Log in" [ref=e23] [cursor=pointer]:
|
| 25 |
+
- /url: /login
|
| 26 |
+
- listitem [ref=e24]:
|
| 27 |
+
- link "Sign up" [ref=e25] [cursor=pointer]:
|
| 28 |
+
- /url: /registration
|
| 29 |
+
- main [ref=e27]:
|
| 30 |
+
- heading "Sign up" [level=1] [ref=e28]
|
| 31 |
+
- generic [ref=e29]:
|
| 32 |
+
- generic [ref=e30]:
|
| 33 |
+
- generic [ref=e31]:
|
| 34 |
+
- generic [ref=e32]: Username *
|
| 35 |
+
- textbox "Username This field is required." [ref=e33]
|
| 36 |
+
- paragraph [ref=e35]: Allowed characters are A-Z, a-z, 0-9 and underscore.
|
| 37 |
+
- generic [ref=e36]:
|
| 38 |
+
- generic [ref=e37]:
|
| 39 |
+
- generic [ref=e38]: Password *
|
| 40 |
+
- generic [ref=e39]:
|
| 41 |
+
- textbox "Password This field is required." [ref=e40]
|
| 42 |
+
- textbox "Password (repeat)" [ref=e41]:
|
| 43 |
+
- /placeholder: (repeat)
|
| 44 |
+
- paragraph [ref=e43]: Minimum of 8 characters.
|
| 45 |
+
- generic [ref=e44]:
|
| 46 |
+
- generic [ref=e45]:
|
| 47 |
+
- generic [ref=e46]: Email address
|
| 48 |
+
- textbox "Email address" [ref=e47]
|
| 49 |
+
- paragraph [ref=e49]: Providing an email address is optional. We will only use it for resetting passwords.
|
| 50 |
+
- button "Sign up" [ref=e51] [cursor=pointer]
|
| 51 |
+
- contentinfo [ref=e52]:
|
| 52 |
+
- paragraph [ref=e53]:
|
| 53 |
+
- generic [ref=e54]:
|
| 54 |
+
- text: Running
|
| 55 |
+
- link "Postmill" [ref=e55] [cursor=pointer]:
|
| 56 |
+
- /url: https://postmill.xyz/
|
src/errors.py
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""
|
| 3 |
+
Simple Error Handling for MCPMark
|
| 4 |
+
==================================
|
| 5 |
+
|
| 6 |
+
Provides basic error standardization and retry logic.
|
| 7 |
+
"""
|
| 8 |
+
|
| 9 |
+
from typing import Optional
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
"""Retryable error detection via minimal substring matching (lower-case)."""
|
| 13 |
+
|
| 14 |
+
# Keep this list short and generic; aim to catch API/infrastructure issues only.
|
| 15 |
+
RETRYABLE_PATTERNS = {
|
| 16 |
+
"ratelimit", # e.g., RateLimitError, too many requests
|
| 17 |
+
# "connection", # connection refused/reset/error
|
| 18 |
+
"agent execution failed",
|
| 19 |
+
"unavailable", # service unavailable
|
| 20 |
+
# "execution timed out", # timeout
|
| 21 |
+
"internal server error", # 500s
|
| 22 |
+
"network error", # generic network issue
|
| 23 |
+
"quota", # budget/quota exceeded
|
| 24 |
+
# "llm provider not provided", # litellm error
|
| 25 |
+
# pipeline infra signals
|
| 26 |
+
"account balance",
|
| 27 |
+
"mcp network error",
|
| 28 |
+
"state duplication error",
|
| 29 |
+
"thought_signature",
|
| 30 |
+
"overloaded."
|
| 31 |
+
}
|
| 32 |
+
|
| 33 |
+
|
| 34 |
+
def is_retryable_error(error: str) -> bool:
|
| 35 |
+
"""Return True if the error string contains any retryable pattern."""
|
| 36 |
+
error_lower = str(error or "").lower()
|
| 37 |
+
return any(pattern in error_lower for pattern in RETRYABLE_PATTERNS)
|
| 38 |
+
|
| 39 |
+
|
| 40 |
+
def standardize_error_message(error: str, mcp_service: Optional[str] = None) -> str:
|
| 41 |
+
"""Standardize error messages for consistent reporting."""
|
| 42 |
+
error_str = str(error).strip()
|
| 43 |
+
|
| 44 |
+
# Common standardizations
|
| 45 |
+
if "timeout" in error_str.lower():
|
| 46 |
+
base_msg = "Operation timed out"
|
| 47 |
+
elif (
|
| 48 |
+
"connection refused" in error_str.lower() or "econnrefused" in error_str.lower()
|
| 49 |
+
):
|
| 50 |
+
base_msg = "Connection refused"
|
| 51 |
+
elif "not found" in error_str.lower():
|
| 52 |
+
base_msg = "Resource not found"
|
| 53 |
+
elif "already exists" in error_str.lower():
|
| 54 |
+
base_msg = "Resource already exists"
|
| 55 |
+
else:
|
| 56 |
+
# Return original message if no standardization applies
|
| 57 |
+
return error_str
|
| 58 |
+
|
| 59 |
+
# Add MCP service prefix if provided
|
| 60 |
+
if mcp_service:
|
| 61 |
+
return f"{mcp_service.title()} {base_msg}"
|
| 62 |
+
|
| 63 |
+
return base_msg
|
src/evaluator.py
ADDED
|
@@ -0,0 +1,442 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import time
|
| 2 |
+
import json
|
| 3 |
+
import shutil
|
| 4 |
+
|
| 5 |
+
from datetime import datetime
|
| 6 |
+
from pathlib import Path
|
| 7 |
+
from typing import List, Optional
|
| 8 |
+
|
| 9 |
+
from src.logger import get_logger
|
| 10 |
+
from src.factory import MCPServiceFactory
|
| 11 |
+
from src.model_config import ModelConfig
|
| 12 |
+
from src.results_reporter import EvaluationReport, ResultsReporter, TaskResult
|
| 13 |
+
from src.errors import is_retryable_error
|
| 14 |
+
from src.agents import AGENT_REGISTRY
|
| 15 |
+
|
| 16 |
+
# Initialize logger
|
| 17 |
+
logger = get_logger(__name__)
|
| 18 |
+
|
| 19 |
+
|
| 20 |
+
class MCPEvaluator:
|
| 21 |
+
def __init__(
|
| 22 |
+
self,
|
| 23 |
+
mcp_service: str,
|
| 24 |
+
model: str,
|
| 25 |
+
timeout: int = 300,
|
| 26 |
+
exp_name: str = "test-run",
|
| 27 |
+
output_dir: Path = None,
|
| 28 |
+
reasoning_effort: str = "default",
|
| 29 |
+
agent_name: str = "mcpmark",
|
| 30 |
+
task_suite: str = "standard",
|
| 31 |
+
compaction_token: int = 0,
|
| 32 |
+
summarize_tool_response: bool = False,
|
| 33 |
+
):
|
| 34 |
+
# Main configuration
|
| 35 |
+
self.mcp_service = mcp_service
|
| 36 |
+
self.timeout = timeout
|
| 37 |
+
self.agent_name = (agent_name or "mcpmark").lower()
|
| 38 |
+
self.task_suite = (task_suite or "standard").lower()
|
| 39 |
+
if self.agent_name not in AGENT_REGISTRY:
|
| 40 |
+
raise ValueError(f"Unsupported agent '{agent_name}'. Available: {sorted(AGENT_REGISTRY)}")
|
| 41 |
+
|
| 42 |
+
# Initialize model configuration
|
| 43 |
+
self.reasoning_effort = reasoning_effort
|
| 44 |
+
self.model_name = model
|
| 45 |
+
|
| 46 |
+
model_config = ModelConfig(self.model_name)
|
| 47 |
+
self.api_key = model_config.api_key
|
| 48 |
+
self.base_url = model_config.base_url
|
| 49 |
+
self.litellm_input_model_name = model_config.litellm_input_model_name
|
| 50 |
+
self.extra_body = model_config.extra_body
|
| 51 |
+
|
| 52 |
+
# Track the actual model name from LiteLLM responses
|
| 53 |
+
self.litellm_run_model_name = None
|
| 54 |
+
|
| 55 |
+
# Initialize managers using the factory pattern (simplified)
|
| 56 |
+
self.task_manager = MCPServiceFactory.create_task_manager(
|
| 57 |
+
mcp_service, task_suite=self.task_suite
|
| 58 |
+
)
|
| 59 |
+
self.state_manager = MCPServiceFactory.create_state_manager(mcp_service)
|
| 60 |
+
|
| 61 |
+
# Obtain static service configuration from state manager (e.g., notion_key)
|
| 62 |
+
self.service_config = self.state_manager.get_service_config_for_agent()
|
| 63 |
+
|
| 64 |
+
# Initialize agent for LLM and MCP server management. The agent will
|
| 65 |
+
# automatically refresh its service configuration from the state
|
| 66 |
+
# manager before each execution, so per-task manual updates are no
|
| 67 |
+
# longer needed.
|
| 68 |
+
agent_cls = AGENT_REGISTRY[self.agent_name]
|
| 69 |
+
self.agent = agent_cls(
|
| 70 |
+
litellm_input_model_name=self.litellm_input_model_name,
|
| 71 |
+
api_key=self.api_key,
|
| 72 |
+
base_url=self.base_url,
|
| 73 |
+
mcp_service=mcp_service,
|
| 74 |
+
timeout=timeout,
|
| 75 |
+
service_config=self.service_config,
|
| 76 |
+
service_config_provider=self.state_manager.get_service_config_for_agent,
|
| 77 |
+
reasoning_effort=self.reasoning_effort,
|
| 78 |
+
compaction_token=compaction_token,
|
| 79 |
+
extra_body=self.extra_body,
|
| 80 |
+
summarize_tool_response=summarize_tool_response,
|
| 81 |
+
)
|
| 82 |
+
|
| 83 |
+
# Initialize results reporter
|
| 84 |
+
self.results_reporter = ResultsReporter()
|
| 85 |
+
|
| 86 |
+
# Output directory handling
|
| 87 |
+
if self.reasoning_effort != "default":
|
| 88 |
+
model_slug = self.model_name.replace(".", "-") + "-" + self.reasoning_effort
|
| 89 |
+
else:
|
| 90 |
+
model_slug = self.model_name.replace(".", "-")
|
| 91 |
+
|
| 92 |
+
service_for_dir = "playwright" if mcp_service == "playwright_webarena" else mcp_service
|
| 93 |
+
suite_suffix = "" if self.task_suite in ("standard", "", None) else f"-{self.task_suite}"
|
| 94 |
+
service_dir_name = f"{service_for_dir}{suite_suffix}"
|
| 95 |
+
self.base_experiment_dir = output_dir / f"{model_slug}__{service_dir_name}" / exp_name
|
| 96 |
+
self.base_experiment_dir.mkdir(parents=True, exist_ok=True)
|
| 97 |
+
|
| 98 |
+
def _format_duration(self, seconds: float) -> str:
|
| 99 |
+
"""Format duration: <1s as ms, otherwise seconds."""
|
| 100 |
+
return f"{(seconds * 1000):.2f}ms" if seconds < 1 else f"{seconds:.2f}s"
|
| 101 |
+
|
| 102 |
+
def _get_task_output_dir(self, task) -> Path:
|
| 103 |
+
"""Return the directory path for storing this task's reports using '__' separator."""
|
| 104 |
+
# Use category_id and task_id with '__' separator
|
| 105 |
+
category_id = task.category_id if task.category_id else "uncategorized"
|
| 106 |
+
task_id = str(task.task_id)
|
| 107 |
+
|
| 108 |
+
return self.base_experiment_dir / f"{category_id}__{task_id}"
|
| 109 |
+
|
| 110 |
+
# ------------------------------------------------------------------
|
| 111 |
+
# Resuming helpers
|
| 112 |
+
# ------------------------------------------------------------------
|
| 113 |
+
|
| 114 |
+
def _load_latest_task_result(self, task) -> Optional[TaskResult]:
|
| 115 |
+
"""Return the most recent TaskResult for *task* if it has been run before."""
|
| 116 |
+
task_dir = self._get_task_output_dir(task)
|
| 117 |
+
if not task_dir.exists():
|
| 118 |
+
return None
|
| 119 |
+
|
| 120 |
+
meta_path = task_dir / "meta.json"
|
| 121 |
+
if not meta_path.exists():
|
| 122 |
+
return None
|
| 123 |
+
|
| 124 |
+
try:
|
| 125 |
+
with meta_path.open("r", encoding="utf-8") as f:
|
| 126 |
+
meta_data = json.load(f)
|
| 127 |
+
|
| 128 |
+
return TaskResult(
|
| 129 |
+
task_name=meta_data["task_name"],
|
| 130 |
+
success=meta_data["execution_result"]["success"],
|
| 131 |
+
error_message=meta_data["execution_result"].get("error_message"),
|
| 132 |
+
verification_error=meta_data["execution_result"].get("verification_error"),
|
| 133 |
+
verification_output=meta_data["execution_result"].get("verification_output"),
|
| 134 |
+
category_id=task.category_id,
|
| 135 |
+
task_id=task.task_id,
|
| 136 |
+
model_output=None,
|
| 137 |
+
token_usage=meta_data.get("token_usage", {}),
|
| 138 |
+
turn_count=meta_data.get("turn_count"),
|
| 139 |
+
agent_execution_time=meta_data.get("agent_execution_time", 0.0),
|
| 140 |
+
task_execution_time=meta_data.get("task_execution_time", 0.0),
|
| 141 |
+
)
|
| 142 |
+
except Exception as exc:
|
| 143 |
+
logger.warning("Failed to load existing result for %s: %s", task.name, exc)
|
| 144 |
+
return None
|
| 145 |
+
|
| 146 |
+
def _gather_all_task_results(self) -> List[TaskResult]:
|
| 147 |
+
"""Scan *all* task sub-directories and collect the latest TaskResult from each."""
|
| 148 |
+
results: list[TaskResult] = []
|
| 149 |
+
if not self.base_experiment_dir.exists():
|
| 150 |
+
return results
|
| 151 |
+
|
| 152 |
+
for task_dir in self.base_experiment_dir.iterdir():
|
| 153 |
+
if not task_dir.is_dir():
|
| 154 |
+
continue
|
| 155 |
+
meta_path = task_dir / "meta.json"
|
| 156 |
+
if not meta_path.exists():
|
| 157 |
+
continue
|
| 158 |
+
try:
|
| 159 |
+
with meta_path.open("r", encoding="utf-8") as f:
|
| 160 |
+
meta_data = json.load(f)
|
| 161 |
+
|
| 162 |
+
category_id, task_id = task_dir.name.split("__", 1)
|
| 163 |
+
|
| 164 |
+
result = TaskResult(
|
| 165 |
+
task_name=meta_data["task_name"],
|
| 166 |
+
success=meta_data["execution_result"]["success"],
|
| 167 |
+
error_message=meta_data["execution_result"].get("error_message"),
|
| 168 |
+
verification_error=meta_data["execution_result"].get("verification_error"),
|
| 169 |
+
verification_output=meta_data["execution_result"].get("verification_output"),
|
| 170 |
+
category_id=category_id,
|
| 171 |
+
task_id=task_id,
|
| 172 |
+
model_output=None,
|
| 173 |
+
token_usage=meta_data.get("token_usage", {}),
|
| 174 |
+
turn_count=meta_data.get("turn_count"),
|
| 175 |
+
agent_execution_time=meta_data.get("agent_execution_time", 0.0),
|
| 176 |
+
task_execution_time=meta_data.get("task_execution_time", 0.0),
|
| 177 |
+
)
|
| 178 |
+
results.append(result)
|
| 179 |
+
except Exception as exc:
|
| 180 |
+
logger.warning(
|
| 181 |
+
"Failed to parse existing report in %s: %s", task_dir, exc
|
| 182 |
+
)
|
| 183 |
+
return results
|
| 184 |
+
|
| 185 |
+
def _run_single_task(self, task) -> TaskResult:
|
| 186 |
+
"""
|
| 187 |
+
Runs a single task, including setup, agent execution, verification, and cleanup.
|
| 188 |
+
"""
|
| 189 |
+
# Track overall task start time
|
| 190 |
+
task_start_time = time.time()
|
| 191 |
+
|
| 192 |
+
# ------------------------------------------------------------------
|
| 193 |
+
# Stage 1: Set up the initial state for the task
|
| 194 |
+
# ------------------------------------------------------------------
|
| 195 |
+
setup_start_time = time.time()
|
| 196 |
+
logger.info(
|
| 197 |
+
"\n┌─ Stage 1: Setup ─────────────────────────────────────────────────────"
|
| 198 |
+
)
|
| 199 |
+
setup_success = self.state_manager.set_up(task)
|
| 200 |
+
setup_time = time.time() - setup_start_time
|
| 201 |
+
|
| 202 |
+
if not setup_success:
|
| 203 |
+
logger.error(f"| State setup failed for task: {task.name}")
|
| 204 |
+
task_total_time = time.time() - task_start_time
|
| 205 |
+
return TaskResult(
|
| 206 |
+
task_name=task.name,
|
| 207 |
+
success=False,
|
| 208 |
+
error_message="State Duplication Error",
|
| 209 |
+
verification_error=None,
|
| 210 |
+
verification_output=None,
|
| 211 |
+
category_id=task.category_id,
|
| 212 |
+
task_id=task.task_id,
|
| 213 |
+
agent_execution_time=0.0,
|
| 214 |
+
task_execution_time=task_total_time,
|
| 215 |
+
)
|
| 216 |
+
display_time = self._format_duration(setup_time)
|
| 217 |
+
logger.info(f"└─ Completed in {display_time}\n")
|
| 218 |
+
|
| 219 |
+
# ------------------------------------------------------------------
|
| 220 |
+
# Stage 2: Execute the task using the agent
|
| 221 |
+
# ------------------------------------------------------------------
|
| 222 |
+
logger.info(
|
| 223 |
+
"┌─ Stage 2: Execute ───────────────────────────────────────────────────"
|
| 224 |
+
)
|
| 225 |
+
|
| 226 |
+
agent_execution_start_time = time.time()
|
| 227 |
+
|
| 228 |
+
# Get task instruction from task manager
|
| 229 |
+
task_instruction = self.task_manager.get_task_instruction(task)
|
| 230 |
+
|
| 231 |
+
# Prepare task_output_dir and tool call log file
|
| 232 |
+
task_output_dir = self._get_task_output_dir(task)
|
| 233 |
+
task_output_dir.mkdir(parents=True, exist_ok=True)
|
| 234 |
+
execution_log_path = task_output_dir / "execution.log"
|
| 235 |
+
|
| 236 |
+
# Remove existing execution.log to ensure clean start
|
| 237 |
+
if execution_log_path.exists():
|
| 238 |
+
execution_log_path.unlink()
|
| 239 |
+
|
| 240 |
+
# Execute with agent
|
| 241 |
+
agent_result = self.agent.execute_sync(
|
| 242 |
+
task_instruction, str(execution_log_path)
|
| 243 |
+
)
|
| 244 |
+
|
| 245 |
+
agent_execution_time = time.time() - agent_execution_start_time
|
| 246 |
+
|
| 247 |
+
# Extract actual model name from LiteLLM response
|
| 248 |
+
if agent_result.get("litellm_run_model_name"):
|
| 249 |
+
self.litellm_run_model_name = agent_result["litellm_run_model_name"]
|
| 250 |
+
|
| 251 |
+
# Write messages.json to task_output_dir
|
| 252 |
+
messages_path = task_output_dir / "messages.json"
|
| 253 |
+
self.results_reporter.save_messages_json(
|
| 254 |
+
agent_result.get("output", []), messages_path
|
| 255 |
+
)
|
| 256 |
+
|
| 257 |
+
# Set service-specific environment variables for verification scripts
|
| 258 |
+
self.state_manager.set_verification_environment(str(messages_path))
|
| 259 |
+
logger.info(f"└─ Completed in {self._format_duration(agent_execution_time)}\n")
|
| 260 |
+
|
| 261 |
+
# ------------------------------------------------------------------
|
| 262 |
+
# Stage 3: Verify
|
| 263 |
+
# ------------------------------------------------------------------
|
| 264 |
+
logger.info(
|
| 265 |
+
"┌─ Stage 3: Verify ────────────────────────────────────────────────────"
|
| 266 |
+
)
|
| 267 |
+
verify_start_time = time.time()
|
| 268 |
+
try:
|
| 269 |
+
result = self.task_manager.execute_task(task, agent_result)
|
| 270 |
+
finally:
|
| 271 |
+
# Clean up environment variables
|
| 272 |
+
import os
|
| 273 |
+
|
| 274 |
+
os.environ.pop("MCP_MESSAGES", None)
|
| 275 |
+
os.environ.pop("MCP_GITHUB_TOKEN", None)
|
| 276 |
+
|
| 277 |
+
verify_time = time.time() - verify_start_time
|
| 278 |
+
logger.info(f"└─ Completed in {self._format_duration(verify_time)}\n")
|
| 279 |
+
|
| 280 |
+
# ------------------------------------------------------------------
|
| 281 |
+
# Stage 4: Clean up
|
| 282 |
+
# ------------------------------------------------------------------
|
| 283 |
+
logger.info(
|
| 284 |
+
"┌─ Stage 4: Cleanup ───────────────────────────────────────────────────"
|
| 285 |
+
)
|
| 286 |
+
cleanup_start_time = time.time()
|
| 287 |
+
self.state_manager.clean_up(task)
|
| 288 |
+
cleanup_time = time.time() - cleanup_start_time
|
| 289 |
+
logger.info(f"└─ Completed in {self._format_duration(cleanup_time)}\n")
|
| 290 |
+
|
| 291 |
+
# Calculate total task execution time
|
| 292 |
+
task_total_time = time.time() - task_start_time
|
| 293 |
+
|
| 294 |
+
# Add timing information to the result
|
| 295 |
+
result.agent_execution_time = agent_execution_time
|
| 296 |
+
result.task_execution_time = task_total_time
|
| 297 |
+
|
| 298 |
+
return result
|
| 299 |
+
|
| 300 |
+
def run_evaluation(self, task_filter: str) -> EvaluationReport:
|
| 301 |
+
"""
|
| 302 |
+
Runs the full evaluation for the specified tasks.
|
| 303 |
+
"""
|
| 304 |
+
tasks = self.task_manager.filter_tasks(task_filter)
|
| 305 |
+
|
| 306 |
+
results = []
|
| 307 |
+
|
| 308 |
+
for task in tasks:
|
| 309 |
+
# --------------------------------------------------------------
|
| 310 |
+
# Resume check
|
| 311 |
+
# --------------------------------------------------------------
|
| 312 |
+
existing_result = self._load_latest_task_result(task)
|
| 313 |
+
|
| 314 |
+
# Decide whether to skip or retry this task
|
| 315 |
+
retry_due_to_error = (
|
| 316 |
+
existing_result is not None
|
| 317 |
+
and not existing_result.success
|
| 318 |
+
and is_retryable_error(existing_result.error_message)
|
| 319 |
+
)
|
| 320 |
+
|
| 321 |
+
if existing_result and not retry_due_to_error:
|
| 322 |
+
# Existing result is either successful or failed with a non-retryable error – skip.
|
| 323 |
+
logger.info(
|
| 324 |
+
"↩️ Skipping already-completed task (resume): %s", task.name
|
| 325 |
+
)
|
| 326 |
+
results.append(existing_result)
|
| 327 |
+
continue
|
| 328 |
+
|
| 329 |
+
if retry_due_to_error:
|
| 330 |
+
# Clean previous artifacts so that new results fully replace them.
|
| 331 |
+
task_output_dir = self._get_task_output_dir(task)
|
| 332 |
+
if task_output_dir.exists():
|
| 333 |
+
shutil.rmtree(task_output_dir)
|
| 334 |
+
logger.info(
|
| 335 |
+
"🔄 Retrying task due to pipeline error (%s): %s",
|
| 336 |
+
existing_result.error_message,
|
| 337 |
+
task.name,
|
| 338 |
+
)
|
| 339 |
+
|
| 340 |
+
# --------------------------------------------------------------
|
| 341 |
+
# Execute new task
|
| 342 |
+
# --------------------------------------------------------------
|
| 343 |
+
task_start = time.time()
|
| 344 |
+
task_result = self._run_single_task(task)
|
| 345 |
+
task_end = time.time()
|
| 346 |
+
|
| 347 |
+
results.append(task_result)
|
| 348 |
+
|
| 349 |
+
# Prepare directory & save
|
| 350 |
+
task_output_dir = self._get_task_output_dir(task)
|
| 351 |
+
task_output_dir.mkdir(parents=True, exist_ok=True)
|
| 352 |
+
|
| 353 |
+
# Save messages.json (conversation trajectory)
|
| 354 |
+
messages_path = task_output_dir / "messages.json"
|
| 355 |
+
|
| 356 |
+
if not messages_path.exists(): # 已经写过就跳过
|
| 357 |
+
messages = (
|
| 358 |
+
task_result.model_output
|
| 359 |
+
if getattr(task_result, "model_output", None)
|
| 360 |
+
else []
|
| 361 |
+
)
|
| 362 |
+
self.results_reporter.save_messages_json(messages, messages_path)
|
| 363 |
+
|
| 364 |
+
# Save meta.json (all other metadata)
|
| 365 |
+
meta_path = task_output_dir / "meta.json"
|
| 366 |
+
model_config = {
|
| 367 |
+
"mcp_service": self.mcp_service,
|
| 368 |
+
"model_name": self.model_name,
|
| 369 |
+
"litellm_run_model_name": self.litellm_run_model_name,
|
| 370 |
+
"reasoning_effort": self.reasoning_effort,
|
| 371 |
+
"timeout": self.timeout,
|
| 372 |
+
"agent_name": self.agent_name,
|
| 373 |
+
}
|
| 374 |
+
self.results_reporter.save_meta_json(
|
| 375 |
+
task_result,
|
| 376 |
+
model_config,
|
| 377 |
+
datetime.fromtimestamp(task_start),
|
| 378 |
+
datetime.fromtimestamp(task_end),
|
| 379 |
+
meta_path,
|
| 380 |
+
)
|
| 381 |
+
|
| 382 |
+
# --------------------------------------------------------------
|
| 383 |
+
# Aggregate results – combine current `results` with any previously
|
| 384 |
+
# saved TaskResults that ALSO match the current task_filter.
|
| 385 |
+
# --------------------------------------------------------------
|
| 386 |
+
|
| 387 |
+
# Helper: determine if a TaskResult matches the filter string
|
| 388 |
+
def _matches_filter(tr: TaskResult, flt: str) -> bool:
|
| 389 |
+
if flt.lower() == "all":
|
| 390 |
+
return True
|
| 391 |
+
if "/" in flt:
|
| 392 |
+
# specific task (category_id/task_id)
|
| 393 |
+
category_id, task_id = flt.split("/", 1)
|
| 394 |
+
return tr.category_id == category_id and str(tr.task_id) == task_id
|
| 395 |
+
# category level
|
| 396 |
+
return tr.category_id == flt
|
| 397 |
+
|
| 398 |
+
# Pull existing reports from disk and merge
|
| 399 |
+
existing_results = [
|
| 400 |
+
r
|
| 401 |
+
for r in self._gather_all_task_results()
|
| 402 |
+
if _matches_filter(r, task_filter)
|
| 403 |
+
]
|
| 404 |
+
|
| 405 |
+
# Merge, giving preference to fresh `results` (avoids duplicates)
|
| 406 |
+
merged: dict[str, TaskResult] = {r.task_name: r for r in existing_results}
|
| 407 |
+
merged.update({r.task_name: r for r in results}) # overwrite with latest run
|
| 408 |
+
|
| 409 |
+
final_results = list(merged.values())
|
| 410 |
+
|
| 411 |
+
aggregated_report = EvaluationReport(
|
| 412 |
+
model_name=self.model_name,
|
| 413 |
+
model_config={
|
| 414 |
+
"mcp_service": self.mcp_service,
|
| 415 |
+
"model_name": self.model_name,
|
| 416 |
+
"litellm_run_model_name": self.litellm_run_model_name,
|
| 417 |
+
"reasoning_effort": self.reasoning_effort,
|
| 418 |
+
"timeout": self.timeout,
|
| 419 |
+
"agent_name": self.agent_name,
|
| 420 |
+
},
|
| 421 |
+
total_tasks=len(final_results),
|
| 422 |
+
successful_tasks=sum(1 for r in final_results if r.success),
|
| 423 |
+
failed_tasks=sum(1 for r in final_results if not r.success),
|
| 424 |
+
task_results=final_results,
|
| 425 |
+
tasks_filter=task_filter,
|
| 426 |
+
)
|
| 427 |
+
|
| 428 |
+
# Save model-level summary
|
| 429 |
+
summary_path = self.base_experiment_dir / "summary.json"
|
| 430 |
+
self.results_reporter.save_model_summary(aggregated_report, summary_path)
|
| 431 |
+
|
| 432 |
+
logger.info(
|
| 433 |
+
"\n============================================================"
|
| 434 |
+
"\nResults Summary"
|
| 435 |
+
"\n============================================================"
|
| 436 |
+
)
|
| 437 |
+
logger.info(
|
| 438 |
+
f"✓ Tasks passed: {aggregated_report.successful_tasks}/{aggregated_report.total_tasks} ({aggregated_report.success_rate:.1f}%)"
|
| 439 |
+
)
|
| 440 |
+
logger.info(f"⏱ Total time: {aggregated_report.total_task_execution_time:.1f}s")
|
| 441 |
+
|
| 442 |
+
return aggregated_report
|
src/factory.py
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""
|
| 3 |
+
MCP Service Factory for MCPMark
|
| 4 |
+
=================================
|
| 5 |
+
|
| 6 |
+
This module provides a simplified factory pattern for creating service-specific managers
|
| 7 |
+
with centralized configuration management.
|
| 8 |
+
|
| 9 |
+
Features:
|
| 10 |
+
- Dynamic service loading from definitions
|
| 11 |
+
- Centralized configuration
|
| 12 |
+
- Simplified service registration
|
| 13 |
+
"""
|
| 14 |
+
|
| 15 |
+
import importlib
|
| 16 |
+
from dataclasses import dataclass
|
| 17 |
+
from typing import Dict, Type
|
| 18 |
+
|
| 19 |
+
from src.base.login_helper import BaseLoginHelper
|
| 20 |
+
from src.base.state_manager import BaseStateManager
|
| 21 |
+
from src.base.task_manager import BaseTaskManager
|
| 22 |
+
from src.config.config_schema import ConfigRegistry
|
| 23 |
+
from src.services import get_service_definition, get_supported_mcp_services
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
@dataclass
|
| 27 |
+
class ServiceComponents:
|
| 28 |
+
"""All components required for an MCP service."""
|
| 29 |
+
|
| 30 |
+
task_manager_class: Type[BaseTaskManager]
|
| 31 |
+
state_manager_class: Type[BaseStateManager]
|
| 32 |
+
login_helper_class: Type[BaseLoginHelper]
|
| 33 |
+
config_mapping: Dict[str, Dict[str, str]]
|
| 34 |
+
|
| 35 |
+
|
| 36 |
+
def import_class(module_path: str):
|
| 37 |
+
"""Dynamically import a class from module path string."""
|
| 38 |
+
if not module_path:
|
| 39 |
+
return None
|
| 40 |
+
module_name, class_name = module_path.rsplit(".", 1)
|
| 41 |
+
module = importlib.import_module(module_name)
|
| 42 |
+
return getattr(module, class_name)
|
| 43 |
+
|
| 44 |
+
|
| 45 |
+
def apply_config_mapping(config: dict, mapping: dict) -> dict:
|
| 46 |
+
"""Apply config mapping to transform config keys to constructor params."""
|
| 47 |
+
if not mapping:
|
| 48 |
+
return {}
|
| 49 |
+
|
| 50 |
+
result = {}
|
| 51 |
+
for param_name, config_key in mapping.items():
|
| 52 |
+
if config_key in config:
|
| 53 |
+
result[param_name] = config[config_key]
|
| 54 |
+
return result
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
class ServiceRegistry:
|
| 58 |
+
"""Central registry that loads MCP services from definitions."""
|
| 59 |
+
|
| 60 |
+
# Cache for loaded components
|
| 61 |
+
_components_cache: Dict[str, ServiceComponents] = {}
|
| 62 |
+
|
| 63 |
+
@classmethod
|
| 64 |
+
def get_components(cls, service_name: str) -> ServiceComponents:
|
| 65 |
+
"""Get MCP service components from definition."""
|
| 66 |
+
if service_name in cls._components_cache:
|
| 67 |
+
return cls._components_cache[service_name]
|
| 68 |
+
|
| 69 |
+
definition = get_service_definition(service_name)
|
| 70 |
+
|
| 71 |
+
# Import classes dynamically
|
| 72 |
+
components = ServiceComponents(
|
| 73 |
+
task_manager_class=import_class(definition["components"]["task_manager"]),
|
| 74 |
+
state_manager_class=import_class(definition["components"]["state_manager"]),
|
| 75 |
+
login_helper_class=import_class(definition["components"]["login_helper"]),
|
| 76 |
+
config_mapping=definition.get("config_mapping", {}),
|
| 77 |
+
)
|
| 78 |
+
|
| 79 |
+
cls._components_cache[service_name] = components
|
| 80 |
+
return components
|
| 81 |
+
|
| 82 |
+
|
| 83 |
+
class GenericServiceFactory:
|
| 84 |
+
"""Generic factory that works with any MCP service."""
|
| 85 |
+
|
| 86 |
+
def __init__(self, components: ServiceComponents, service_name: str):
|
| 87 |
+
self.components = components
|
| 88 |
+
self.service_name = service_name
|
| 89 |
+
|
| 90 |
+
def create_task_manager(self, **kwargs) -> BaseTaskManager:
|
| 91 |
+
"""Create task manager instance."""
|
| 92 |
+
return self.components.task_manager_class(**kwargs)
|
| 93 |
+
|
| 94 |
+
def create_state_manager(self, config) -> BaseStateManager:
|
| 95 |
+
"""Create state manager with config mapping."""
|
| 96 |
+
mapping = self.components.config_mapping.get("state_manager", {})
|
| 97 |
+
# Handle both dict and config schema objects
|
| 98 |
+
config_dict = config.get_all() if hasattr(config, "get_all") else config
|
| 99 |
+
kwargs = apply_config_mapping(config_dict, mapping)
|
| 100 |
+
return self.components.state_manager_class(**kwargs)
|
| 101 |
+
|
| 102 |
+
def create_login_helper(self, config) -> BaseLoginHelper:
|
| 103 |
+
"""Create login helper with config mapping."""
|
| 104 |
+
mapping = self.components.config_mapping.get("login_helper", {})
|
| 105 |
+
# Handle both dict and config schema objects
|
| 106 |
+
config_dict = config.get_all() if hasattr(config, "get_all") else config
|
| 107 |
+
kwargs = apply_config_mapping(config_dict, mapping)
|
| 108 |
+
|
| 109 |
+
# Special handling for GitHub login helper - it needs a single token
|
| 110 |
+
if self.service_name == "github" and "token" in kwargs:
|
| 111 |
+
tokens_list = kwargs["token"]
|
| 112 |
+
if isinstance(tokens_list, list) and tokens_list:
|
| 113 |
+
kwargs["token"] = tokens_list[0] # Use first token for login helper
|
| 114 |
+
|
| 115 |
+
return self.components.login_helper_class(**kwargs)
|
| 116 |
+
|
| 117 |
+
|
| 118 |
+
class MCPServiceFactory:
|
| 119 |
+
"""Main factory interface."""
|
| 120 |
+
|
| 121 |
+
@classmethod
|
| 122 |
+
def create_service_config(cls, service_name: str):
|
| 123 |
+
"""Create MCP service configuration (backward compatible)."""
|
| 124 |
+
config = ConfigRegistry.get_config(service_name)
|
| 125 |
+
|
| 126 |
+
# Create a backward-compatible ServiceConfig-like object
|
| 127 |
+
class ServiceConfigCompat:
|
| 128 |
+
def __init__(self, service_name: str, config_dict: dict):
|
| 129 |
+
self.service_name = service_name
|
| 130 |
+
self.config = config_dict
|
| 131 |
+
self.api_key = config_dict.get("api_key")
|
| 132 |
+
|
| 133 |
+
return ServiceConfigCompat(service_name, config.get_all())
|
| 134 |
+
|
| 135 |
+
@classmethod
|
| 136 |
+
def create_task_manager(cls, service_name: str, **kwargs) -> BaseTaskManager:
|
| 137 |
+
"""Create task manager for the specified MCP service."""
|
| 138 |
+
components = ServiceRegistry.get_components(service_name)
|
| 139 |
+
return components.task_manager_class(**kwargs)
|
| 140 |
+
|
| 141 |
+
@classmethod
|
| 142 |
+
def create_state_manager(cls, service_name: str, **kwargs) -> BaseStateManager:
|
| 143 |
+
"""Create state manager for the specified MCP service."""
|
| 144 |
+
components = ServiceRegistry.get_components(service_name)
|
| 145 |
+
config = ConfigRegistry.get_config(service_name).get_all()
|
| 146 |
+
|
| 147 |
+
# Use provided kwargs or apply config mapping
|
| 148 |
+
if not kwargs:
|
| 149 |
+
mapping = components.config_mapping.get("state_manager", {})
|
| 150 |
+
kwargs = apply_config_mapping(config, mapping)
|
| 151 |
+
|
| 152 |
+
return components.state_manager_class(**kwargs)
|
| 153 |
+
|
| 154 |
+
@classmethod
|
| 155 |
+
def create_login_helper(cls, service_name: str, **kwargs) -> BaseLoginHelper:
|
| 156 |
+
"""Create login helper for the specified MCP service."""
|
| 157 |
+
components = ServiceRegistry.get_components(service_name)
|
| 158 |
+
config = ConfigRegistry.get_config(service_name).get_all()
|
| 159 |
+
|
| 160 |
+
# Use provided kwargs or apply config mapping
|
| 161 |
+
if not kwargs:
|
| 162 |
+
mapping = components.config_mapping.get("login_helper", {})
|
| 163 |
+
kwargs = apply_config_mapping(config, mapping)
|
| 164 |
+
|
| 165 |
+
# Special handling for GitHub login helper - it needs a single token
|
| 166 |
+
if service_name == "github" and "token" in kwargs:
|
| 167 |
+
tokens_list = kwargs["token"]
|
| 168 |
+
if isinstance(tokens_list, list) and tokens_list:
|
| 169 |
+
kwargs["token"] = tokens_list[0] # Use first token for login helper
|
| 170 |
+
|
| 171 |
+
return components.login_helper_class(**kwargs)
|
| 172 |
+
|
| 173 |
+
@classmethod
|
| 174 |
+
def get_supported_mcp_services(cls) -> list:
|
| 175 |
+
"""Get list of supported MCP services."""
|
| 176 |
+
return get_supported_mcp_services()
|
| 177 |
+
|
| 178 |
+
@classmethod
|
| 179 |
+
def get_config_info(cls, service_name: str) -> dict:
|
| 180 |
+
"""Get detailed configuration information for debugging."""
|
| 181 |
+
config = ConfigRegistry.get_config(service_name)
|
| 182 |
+
return config.get_debug_info()
|
| 183 |
+
|
| 184 |
+
@classmethod
|
| 185 |
+
def export_config_template(cls, service_name: str, output_path: str) -> None:
|
| 186 |
+
"""Export a configuration template for an MCP service."""
|
| 187 |
+
from pathlib import Path
|
| 188 |
+
|
| 189 |
+
ConfigRegistry.export_template(service_name, Path(output_path))
|
src/logger.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""Logger configuration for MCPMark."""
|
| 3 |
+
|
| 4 |
+
import logging
|
| 5 |
+
import sys
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
def get_logger(name: str) -> logging.Logger:
|
| 9 |
+
"""Get a configured logger instance."""
|
| 10 |
+
logger = logging.getLogger(name)
|
| 11 |
+
|
| 12 |
+
if not logger.handlers:
|
| 13 |
+
handler = logging.StreamHandler(sys.stdout)
|
| 14 |
+
formatter = logging.Formatter("%(message)s")
|
| 15 |
+
handler.setFormatter(formatter)
|
| 16 |
+
logger.addHandler(handler)
|
| 17 |
+
logger.setLevel(logging.INFO)
|
| 18 |
+
|
| 19 |
+
return logger
|
src/model_config.py
ADDED
|
@@ -0,0 +1,257 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""
|
| 3 |
+
Model Configuration for MCPMark
|
| 4 |
+
================================
|
| 5 |
+
|
| 6 |
+
This module provides configuration management for different LLM models,
|
| 7 |
+
automatically detecting the required API keys and base URLs based on the model name.
|
| 8 |
+
"""
|
| 9 |
+
|
| 10 |
+
import os
|
| 11 |
+
from typing import Dict, List
|
| 12 |
+
|
| 13 |
+
from src.logger import get_logger
|
| 14 |
+
|
| 15 |
+
# Initialize logger
|
| 16 |
+
logger = get_logger(__name__)
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
class ModelConfig:
|
| 20 |
+
"""
|
| 21 |
+
Configuration container for a specific model.
|
| 22 |
+
It loads the necessary API key and base URL from environment variables.
|
| 23 |
+
"""
|
| 24 |
+
|
| 25 |
+
# Model configuration mapping
|
| 26 |
+
MODEL_CONFIGS = {
|
| 27 |
+
# OpenAI models
|
| 28 |
+
"gpt-4o": {
|
| 29 |
+
"provider": "openai",
|
| 30 |
+
"api_key_var": "OPENAI_API_KEY",
|
| 31 |
+
"litellm_input_model_name": "openai/gpt-4o",
|
| 32 |
+
},
|
| 33 |
+
"gpt-4.1": {
|
| 34 |
+
"provider": "openai",
|
| 35 |
+
"api_key_var": "OPENAI_API_KEY",
|
| 36 |
+
"litellm_input_model_name": "openai/gpt-4.1",
|
| 37 |
+
},
|
| 38 |
+
"gpt-4.1-mini": {
|
| 39 |
+
"provider": "openai",
|
| 40 |
+
"api_key_var": "OPENAI_API_KEY",
|
| 41 |
+
"litellm_input_model_name": "openai/gpt-4.1-mini",
|
| 42 |
+
},
|
| 43 |
+
"gpt-4.1-nano": {
|
| 44 |
+
"provider": "openai",
|
| 45 |
+
"api_key_var": "OPENAI_API_KEY",
|
| 46 |
+
"litellm_input_model_name": "openai/gpt-4.1-nano",
|
| 47 |
+
},
|
| 48 |
+
"gpt-5.2": {
|
| 49 |
+
"provider": "openai",
|
| 50 |
+
"api_key_var": "OPENAI_API_KEY",
|
| 51 |
+
"litellm_input_model_name": "openai/gpt-5.2",
|
| 52 |
+
},
|
| 53 |
+
"gpt-5": {
|
| 54 |
+
"provider": "openai",
|
| 55 |
+
"api_key_var": "OPENAI_API_KEY",
|
| 56 |
+
"litellm_input_model_name": "openai/gpt-5",
|
| 57 |
+
},
|
| 58 |
+
"gpt-5-mini": {
|
| 59 |
+
"provider": "openai",
|
| 60 |
+
"api_key_var": "OPENAI_API_KEY",
|
| 61 |
+
"litellm_input_model_name": "openai/gpt-5-mini",
|
| 62 |
+
},
|
| 63 |
+
"gpt-5-nano": {
|
| 64 |
+
"provider": "openai",
|
| 65 |
+
"api_key_var": "OPENAI_API_KEY",
|
| 66 |
+
"litellm_input_model_name": "openai/gpt-5-nano",
|
| 67 |
+
},
|
| 68 |
+
"o3": {
|
| 69 |
+
"provider": "openai",
|
| 70 |
+
"api_key_var": "OPENAI_API_KEY",
|
| 71 |
+
"litellm_input_model_name": "openai/o3",
|
| 72 |
+
},
|
| 73 |
+
"o4-mini": {
|
| 74 |
+
"provider": "openai",
|
| 75 |
+
"api_key_var": "OPENAI_API_KEY",
|
| 76 |
+
"litellm_input_model_name": "openai/o4-mini",
|
| 77 |
+
},
|
| 78 |
+
"gpt-oss-120b": {
|
| 79 |
+
"provider": "openai",
|
| 80 |
+
"api_key_var": "OPENROUTER_API_KEY",
|
| 81 |
+
"litellm_input_model_name": "openrouter/openai/gpt-oss-120b",
|
| 82 |
+
},
|
| 83 |
+
# DeepSeek models (dimcode OpenAI-compatible endpoint)
|
| 84 |
+
"deepseek-v4-pro": {
|
| 85 |
+
"provider": "openai",
|
| 86 |
+
"api_key_var": "DEEPSEEK_API_KEY",
|
| 87 |
+
"base_url_var": "DEEPSEEK_BASE_URL",
|
| 88 |
+
"litellm_input_model_name": "openai/deepseek-v4-pro",
|
| 89 |
+
# litellm's openai provider rejects a TOP-LEVEL reasoning_effort, so
|
| 90 |
+
# both the thinking toggle and reasoning_effort ride in extra_body
|
| 91 |
+
# (forwarded verbatim into the request JSON the dimcode endpoint reads).
|
| 92 |
+
"extra_body": {"thinking": {"type": "enabled"}, "reasoning_effort": "high"},
|
| 93 |
+
},
|
| 94 |
+
# Anthropic models
|
| 95 |
+
"claude-3.7-sonnet": {
|
| 96 |
+
"provider": "anthropic",
|
| 97 |
+
"api_key_var": "ANTHROPIC_API_KEY",
|
| 98 |
+
"litellm_input_model_name": "anthropic/claude-3-7-sonnet-20250219",
|
| 99 |
+
},
|
| 100 |
+
"claude-sonnet-4": {
|
| 101 |
+
"provider": "anthropic",
|
| 102 |
+
"api_key_var": "ANTHROPIC_API_KEY",
|
| 103 |
+
"litellm_input_model_name": "anthropic/claude-sonnet-4-20250514",
|
| 104 |
+
},
|
| 105 |
+
"claude-sonnet-4.5": {
|
| 106 |
+
"provider": "anthropic",
|
| 107 |
+
"api_key_var": "ANTHROPIC_API_KEY",
|
| 108 |
+
"litellm_input_model_name": "anthropic/claude-sonnet-4-5-20250929",
|
| 109 |
+
},
|
| 110 |
+
"claude-opus-4": {
|
| 111 |
+
"provider": "anthropic",
|
| 112 |
+
"api_key_var": "ANTHROPIC_API_KEY",
|
| 113 |
+
"litellm_input_model_name": "anthropic/claude-opus-4-20250514",
|
| 114 |
+
},
|
| 115 |
+
"claude-opus-4.1": {
|
| 116 |
+
"provider": "anthropic",
|
| 117 |
+
"api_key_var": "ANTHROPIC_API_KEY",
|
| 118 |
+
"litellm_input_model_name": "anthropic/claude-opus-4-1-20250805",
|
| 119 |
+
},
|
| 120 |
+
"claude-opus-4.5": {
|
| 121 |
+
"provider": "anthropic",
|
| 122 |
+
"api_key_var": "ANTHROPIC_API_KEY",
|
| 123 |
+
"litellm_input_model_name": "anthropic/claude-opus-4-5-20251101",
|
| 124 |
+
},
|
| 125 |
+
# Google models
|
| 126 |
+
"gemini-2.5-pro": {
|
| 127 |
+
"provider": "google",
|
| 128 |
+
"api_key_var": "GEMINI_API_KEY",
|
| 129 |
+
"litellm_input_model_name": "gemini/gemini-2.5-pro",
|
| 130 |
+
},
|
| 131 |
+
"gemini-2.5-flash": {
|
| 132 |
+
"provider": "google",
|
| 133 |
+
"api_key_var": "GEMINI_API_KEY",
|
| 134 |
+
"litellm_input_model_name": "gemini/gemini-2.5-flash",
|
| 135 |
+
},
|
| 136 |
+
"gemini-3-pro": {
|
| 137 |
+
"provider": "google",
|
| 138 |
+
"api_key_var": "GEMINI_API_KEY",
|
| 139 |
+
"litellm_input_model_name": "gemini/gemini-3-pro-preview",
|
| 140 |
+
},
|
| 141 |
+
# Moonshot models
|
| 142 |
+
"kimi-k2-0711": {
|
| 143 |
+
"provider": "moonshot",
|
| 144 |
+
"api_key_var": "MOONSHOT_API_KEY",
|
| 145 |
+
"litellm_input_model_name": "moonshot/kimi-k2-0711-preview",
|
| 146 |
+
},
|
| 147 |
+
"kimi-k2-0905": {
|
| 148 |
+
"provider": "moonshot",
|
| 149 |
+
"api_key_var": "MOONSHOT_API_KEY",
|
| 150 |
+
"litellm_input_model_name": "moonshot/kimi-k2-0905-preview",
|
| 151 |
+
},
|
| 152 |
+
"kimi-k2-thinking": {
|
| 153 |
+
"provider": "moonshot",
|
| 154 |
+
"api_key_var": "OPENROUTER_API_KEY",
|
| 155 |
+
"litellm_input_model_name": "openrouter/moonshotai/kimi-k2-thinking",
|
| 156 |
+
},
|
| 157 |
+
# Grok models
|
| 158 |
+
"grok-4": {
|
| 159 |
+
"provider": "xai",
|
| 160 |
+
"api_key_var": "GROK_API_KEY",
|
| 161 |
+
"litellm_input_model_name": "xai/grok-4-0709",
|
| 162 |
+
},
|
| 163 |
+
"grok-code-fast-1": {
|
| 164 |
+
"provider": "xai",
|
| 165 |
+
"api_key_var": "GROK_API_KEY",
|
| 166 |
+
"litellm_input_model_name": "xai/grok-code-fast-1",
|
| 167 |
+
},
|
| 168 |
+
# Qwen models
|
| 169 |
+
"qwen-3-coder-plus": {
|
| 170 |
+
"provider": "qwen",
|
| 171 |
+
"api_key_var": "DASHSCOPE_API_KEY",
|
| 172 |
+
"litellm_input_model_name": "dashscope/qwen3-coder-plus",
|
| 173 |
+
},
|
| 174 |
+
"qwen-3-max": {
|
| 175 |
+
"provider": "qwen",
|
| 176 |
+
"api_key_var": "DASHSCOPE_API_KEY",
|
| 177 |
+
"litellm_input_model_name": "dashscope/qwen3-max-preview",
|
| 178 |
+
},
|
| 179 |
+
# Zhipu
|
| 180 |
+
"glm-4.5": {
|
| 181 |
+
"provider": "zhipu",
|
| 182 |
+
"api_key_var": "OPENROUTER_API_KEY",
|
| 183 |
+
"litellm_input_model_name": "openrouter/z-ai/glm-4.5",
|
| 184 |
+
}
|
| 185 |
+
}
|
| 186 |
+
|
| 187 |
+
def __init__(self, model_name: str):
|
| 188 |
+
"""
|
| 189 |
+
Initializes the model configuration.
|
| 190 |
+
|
| 191 |
+
Args:
|
| 192 |
+
model_name: The name of the model (e.g., 'gpt-4o', 'deepseek-chat').
|
| 193 |
+
|
| 194 |
+
Raises:
|
| 195 |
+
ValueError: If the model is not supported or environment variables are missing.
|
| 196 |
+
"""
|
| 197 |
+
self.short_model_name = model_name
|
| 198 |
+
model_info = self._get_model_info(model_name)
|
| 199 |
+
|
| 200 |
+
# Load API key, base URL and LiteLLM model name from environment variables
|
| 201 |
+
if "base_url_var" in model_info:
|
| 202 |
+
self.base_url = os.getenv(model_info["base_url_var"])
|
| 203 |
+
else:
|
| 204 |
+
self.base_url = None
|
| 205 |
+
|
| 206 |
+
self.api_key = os.getenv(model_info["api_key_var"])
|
| 207 |
+
if not self.api_key:
|
| 208 |
+
raise ValueError(
|
| 209 |
+
f"Missing required environment variable: {model_info['api_key_var']}"
|
| 210 |
+
)
|
| 211 |
+
|
| 212 |
+
self.litellm_input_model_name = model_info.get("litellm_input_model_name", model_name)
|
| 213 |
+
|
| 214 |
+
# Optional extra request-body fields forwarded to litellm (e.g. DeepSeek
|
| 215 |
+
# `thinking` toggle). None when the model has no extras.
|
| 216 |
+
self.extra_body = model_info.get("extra_body")
|
| 217 |
+
|
| 218 |
+
def _get_model_info(self, model_name: str) -> Dict[str, str]:
|
| 219 |
+
"""
|
| 220 |
+
Retrieves the configuration details for a given model name.
|
| 221 |
+
For unsupported models, defaults to using OPENAI_BASE_URL and OPENAI_API_KEY.
|
| 222 |
+
"""
|
| 223 |
+
if model_name not in self.MODEL_CONFIGS:
|
| 224 |
+
logger.warning(
|
| 225 |
+
f"Model '{model_name}' not in supported list. Using default OpenAI configuration."
|
| 226 |
+
)
|
| 227 |
+
# Return default configuration for unsupported models
|
| 228 |
+
return {
|
| 229 |
+
"provider": "openai",
|
| 230 |
+
"api_key_var": "OPENAI_API_KEY",
|
| 231 |
+
"litellm_input_model_name": model_name,
|
| 232 |
+
}
|
| 233 |
+
return self.MODEL_CONFIGS[model_name]
|
| 234 |
+
|
| 235 |
+
@classmethod
|
| 236 |
+
def get_supported_models(cls) -> List[str]:
|
| 237 |
+
"""Returns a list of all supported model names."""
|
| 238 |
+
return list(cls.MODEL_CONFIGS.keys())
|
| 239 |
+
|
| 240 |
+
|
| 241 |
+
def main():
|
| 242 |
+
"""Example usage of the ModelConfig class."""
|
| 243 |
+
logger.info("Supported models: %s", ModelConfig.get_supported_models())
|
| 244 |
+
|
| 245 |
+
try:
|
| 246 |
+
# Example: Create a model config for DeepSeek
|
| 247 |
+
model_config = ModelConfig("deepseek-chat")
|
| 248 |
+
logger.info("✅ DeepSeek model config created successfully.")
|
| 249 |
+
logger.info("Short model name: %s", model_config.short_model_name)
|
| 250 |
+
logger.info("API key loaded: %s", bool(model_config.api_key))
|
| 251 |
+
|
| 252 |
+
except ValueError as e:
|
| 253 |
+
logger.error("⚠️ Configuration error: %s", e)
|
| 254 |
+
|
| 255 |
+
|
| 256 |
+
if __name__ == "__main__":
|
| 257 |
+
main()
|
stores-menu.yml
ADDED
|
@@ -0,0 +1,327 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
- generic [ref=e1]:
|
| 2 |
+
- generic [ref=e2]:
|
| 3 |
+
- link "Magento Admin Panel" [ref=e3] [cursor=pointer]:
|
| 4 |
+
- /url: http://localhost:7787/admin/admin/
|
| 5 |
+
- img "Magento Admin Panel" [ref=e4]
|
| 6 |
+
- navigation [ref=e5]:
|
| 7 |
+
- menubar [ref=e6]:
|
| 8 |
+
- listitem [ref=e7]:
|
| 9 |
+
- link " Dashboard" [ref=e8] [cursor=pointer]:
|
| 10 |
+
- /url: http://localhost:7787/admin/admin/dashboard/
|
| 11 |
+
- listitem [ref=e9]:
|
| 12 |
+
- link " Sales" [ref=e10] [cursor=pointer]:
|
| 13 |
+
- /url: "#"
|
| 14 |
+
- listitem [ref=e11]:
|
| 15 |
+
- link " Catalog" [ref=e12] [cursor=pointer]:
|
| 16 |
+
- /url: "#"
|
| 17 |
+
- listitem [ref=e13]:
|
| 18 |
+
- link " Customers" [ref=e14] [cursor=pointer]:
|
| 19 |
+
- /url: "#"
|
| 20 |
+
- listitem [ref=e15]:
|
| 21 |
+
- link " Marketing" [ref=e16] [cursor=pointer]:
|
| 22 |
+
- /url: "#"
|
| 23 |
+
- listitem [ref=e17]:
|
| 24 |
+
- link " Content" [ref=e18] [cursor=pointer]:
|
| 25 |
+
- /url: "#"
|
| 26 |
+
- listitem [ref=e19]:
|
| 27 |
+
- link " Reports" [ref=e20] [cursor=pointer]:
|
| 28 |
+
- /url: "#"
|
| 29 |
+
- listitem [ref=e21]:
|
| 30 |
+
- link " Stores" [active] [ref=e22] [cursor=pointer]:
|
| 31 |
+
- /url: "#"
|
| 32 |
+
- generic " Stores Stores " [ref=e236]:
|
| 33 |
+
- strong [ref=e237]: Stores
|
| 34 |
+
- link "" [ref=e238] [cursor=pointer]:
|
| 35 |
+
- /url: "#"
|
| 36 |
+
- menu [ref=e239]:
|
| 37 |
+
- listitem [ref=e240]:
|
| 38 |
+
- menu [ref=e241]:
|
| 39 |
+
- listitem [ref=e242]:
|
| 40 |
+
- text: Settings
|
| 41 |
+
- menu [ref=e244]:
|
| 42 |
+
- listitem [ref=e245]:
|
| 43 |
+
- link "All Stores" [ref=e246] [cursor=pointer]:
|
| 44 |
+
- /url: http://localhost:7787/admin/admin/system_store/
|
| 45 |
+
- listitem [ref=e247]:
|
| 46 |
+
- link "Configuration" [ref=e248] [cursor=pointer]:
|
| 47 |
+
- /url: http://localhost:7787/admin/admin/system_config/
|
| 48 |
+
- listitem [ref=e249]:
|
| 49 |
+
- link "Terms and Conditions" [ref=e250] [cursor=pointer]:
|
| 50 |
+
- /url: http://localhost:7787/admin/checkout/agreement/
|
| 51 |
+
- listitem [ref=e251]:
|
| 52 |
+
- link "Order Status" [ref=e252] [cursor=pointer]:
|
| 53 |
+
- /url: http://localhost:7787/admin/sales/order_status/
|
| 54 |
+
- listitem [ref=e253]:
|
| 55 |
+
- text: Inventory
|
| 56 |
+
- menu [ref=e255]:
|
| 57 |
+
- listitem [ref=e256]:
|
| 58 |
+
- link "Sources" [ref=e257] [cursor=pointer]:
|
| 59 |
+
- /url: http://localhost:7787/admin/inventory/source/index/
|
| 60 |
+
- listitem [ref=e258]:
|
| 61 |
+
- link "Stocks" [ref=e259] [cursor=pointer]:
|
| 62 |
+
- /url: http://localhost:7787/admin/inventory/stock/index/
|
| 63 |
+
- listitem [ref=e260]:
|
| 64 |
+
- text: Taxes
|
| 65 |
+
- menu [ref=e262]:
|
| 66 |
+
- listitem [ref=e263]:
|
| 67 |
+
- link "Tax Rules" [ref=e264] [cursor=pointer]:
|
| 68 |
+
- /url: http://localhost:7787/admin/tax/rule/
|
| 69 |
+
- listitem [ref=e265]:
|
| 70 |
+
- link "Tax Zones and Rates" [ref=e266] [cursor=pointer]:
|
| 71 |
+
- /url: http://localhost:7787/admin/tax/rate/
|
| 72 |
+
- listitem [ref=e267]:
|
| 73 |
+
- menu [ref=e268]:
|
| 74 |
+
- listitem [ref=e269]:
|
| 75 |
+
- text: Currency
|
| 76 |
+
- menu [ref=e271]:
|
| 77 |
+
- listitem [ref=e272]:
|
| 78 |
+
- link "Currency Rates" [ref=e273] [cursor=pointer]:
|
| 79 |
+
- /url: http://localhost:7787/admin/admin/system_currency/
|
| 80 |
+
- listitem [ref=e274]:
|
| 81 |
+
- link "Currency Symbols" [ref=e275] [cursor=pointer]:
|
| 82 |
+
- /url: http://localhost:7787/admin/admin/system_currencysymbol/
|
| 83 |
+
- listitem [ref=e276]:
|
| 84 |
+
- text: Attributes
|
| 85 |
+
- menu [ref=e278]:
|
| 86 |
+
- listitem [ref=e279]:
|
| 87 |
+
- link "Product" [ref=e280] [cursor=pointer]:
|
| 88 |
+
- /url: http://localhost:7787/admin/catalog/product_attribute/
|
| 89 |
+
- listitem [ref=e281]:
|
| 90 |
+
- link "Attribute Set" [ref=e282] [cursor=pointer]:
|
| 91 |
+
- /url: http://localhost:7787/admin/catalog/product_set/
|
| 92 |
+
- listitem [ref=e283]:
|
| 93 |
+
- link "Rating" [ref=e284] [cursor=pointer]:
|
| 94 |
+
- /url: http://localhost:7787/admin/review/rating/
|
| 95 |
+
- listitem
|
| 96 |
+
- listitem [ref=e23]:
|
| 97 |
+
- link " System" [ref=e24] [cursor=pointer]:
|
| 98 |
+
- /url: "#"
|
| 99 |
+
- listitem [ref=e25]:
|
| 100 |
+
- link " Find Partners & Extensions" [ref=e26] [cursor=pointer]:
|
| 101 |
+
- /url: http://localhost:7787/admin/marketplace/index/
|
| 102 |
+
- generic [ref=e27]:
|
| 103 |
+
- banner [ref=e29]:
|
| 104 |
+
- heading "Dashboard" [level=1] [ref=e32]
|
| 105 |
+
- generic [ref=e33]:
|
| 106 |
+
- link " admin" [ref=e35] [cursor=pointer]:
|
| 107 |
+
- /url: http://localhost:7787/admin/admin/system_account/index/
|
| 108 |
+
- text:
|
| 109 |
+
- generic [ref=e37]: admin
|
| 110 |
+
- link "" [ref=e39] [cursor=pointer]:
|
| 111 |
+
- /url: http://localhost:7787/admin/admin/notification/index/
|
| 112 |
+
- generic:
|
| 113 |
+
- generic:
|
| 114 |
+
- generic:
|
| 115 |
+
- generic [ref=e40] [cursor=pointer]:
|
| 116 |
+
- textbox "" [ref=e41]
|
| 117 |
+
- main [ref=e42]:
|
| 118 |
+
- generic [ref=e43]:
|
| 119 |
+
- generic [ref=e44]:
|
| 120 |
+
- generic [ref=e45]: "Scope:"
|
| 121 |
+
- button "All Store Views" [ref=e47] [cursor=pointer]
|
| 122 |
+
- link " What is this?" [ref=e48] [cursor=pointer]:
|
| 123 |
+
- /url: https://docs.magento.com/user-guide/configuration/scope.html
|
| 124 |
+
- text:
|
| 125 |
+
- generic [ref=e49]: What is this?
|
| 126 |
+
- button "Reload Data" [ref=e52] [cursor=pointer]
|
| 127 |
+
- generic [ref=e55]:
|
| 128 |
+
- generic [ref=e56]:
|
| 129 |
+
- generic [ref=e57]:
|
| 130 |
+
- generic [ref=e58]: Advanced Reporting
|
| 131 |
+
- generic [ref=e59]: Gain new insights and take command of your business' performance, using our dynamic product, order, and customer reports tailored to your customer data.
|
| 132 |
+
- link "Go to Advanced Reporting " [ref=e61] [cursor=pointer]:
|
| 133 |
+
- /url: http://localhost:7787/admin/analytics/reports/show/
|
| 134 |
+
- generic [ref=e62]:
|
| 135 |
+
- generic [ref=e63]:
|
| 136 |
+
- generic [ref=e65]:
|
| 137 |
+
- text: Chart is disabled. To enable the chart, click
|
| 138 |
+
- link "here" [ref=e66] [cursor=pointer]:
|
| 139 |
+
- /url: http://localhost:7787/admin/admin/system_config/edit/section/admin/#admin_dashboard-link
|
| 140 |
+
- text: .
|
| 141 |
+
- list [ref=e68]:
|
| 142 |
+
- listitem [ref=e69]:
|
| 143 |
+
- generic [ref=e70]: Revenue
|
| 144 |
+
- strong [ref=e71]: $0.00
|
| 145 |
+
- listitem [ref=e72]:
|
| 146 |
+
- generic [ref=e73]: Tax
|
| 147 |
+
- strong [ref=e74]: $0.00
|
| 148 |
+
- listitem [ref=e75]:
|
| 149 |
+
- generic [ref=e76]: Shipping
|
| 150 |
+
- strong [ref=e77]: $0.00
|
| 151 |
+
- listitem [ref=e78]:
|
| 152 |
+
- generic [ref=e79]: Quantity
|
| 153 |
+
- strong [ref=e80]: "0"
|
| 154 |
+
- generic [ref=e81]:
|
| 155 |
+
- tablist [ref=e83]:
|
| 156 |
+
- tab "The information in this tab has been changed. This tab contains invalid data. Please resolve this before saving. Loading... Bestsellers" [expanded] [selected] [ref=e84]:
|
| 157 |
+
- link "The information in this tab has been changed. This tab contains invalid data. Please resolve this before saving. Loading... Bestsellers" [ref=e85] [cursor=pointer]:
|
| 158 |
+
- /url: "#grid_tab_ordered_products_content"
|
| 159 |
+
- generic [ref=e86]:
|
| 160 |
+
- generic "The information in this tab has been changed."
|
| 161 |
+
- generic "This tab contains invalid data. Please resolve this before saving."
|
| 162 |
+
- generic "Loading..."
|
| 163 |
+
- text: Bestsellers
|
| 164 |
+
- tab "The information in this tab has been changed. This tab contains invalid data. Please resolve this before saving. Loading... Most Viewed Products" [ref=e87]:
|
| 165 |
+
- link "The information in this tab has been changed. This tab contains invalid data. Please resolve this before saving. Loading... Most Viewed Products" [ref=e88] [cursor=pointer]:
|
| 166 |
+
- /url: http://localhost:7787/admin/admin/dashboard/productsViewed/
|
| 167 |
+
- generic [ref=e89]:
|
| 168 |
+
- generic "The information in this tab has been changed."
|
| 169 |
+
- generic "This tab contains invalid data. Please resolve this before saving."
|
| 170 |
+
- generic "Loading..."
|
| 171 |
+
- text: Most Viewed Products
|
| 172 |
+
- tab "The information in this tab has been changed. This tab contains invalid data. Please resolve this before saving. Loading... New Customers" [ref=e90]:
|
| 173 |
+
- link "The information in this tab has been changed. This tab contains invalid data. Please resolve this before saving. Loading... New Customers" [ref=e91] [cursor=pointer]:
|
| 174 |
+
- /url: http://localhost:7787/admin/admin/dashboard/customersNewest/
|
| 175 |
+
- generic [ref=e92]:
|
| 176 |
+
- generic "The information in this tab has been changed."
|
| 177 |
+
- generic "This tab contains invalid data. Please resolve this before saving."
|
| 178 |
+
- generic "Loading..."
|
| 179 |
+
- text: New Customers
|
| 180 |
+
- tab "The information in this tab has been changed. This tab contains invalid data. Please resolve this before saving. Loading... Customers" [ref=e93]:
|
| 181 |
+
- link "The information in this tab has been changed. This tab contains invalid data. Please resolve this before saving. Loading... Customers" [ref=e94] [cursor=pointer]:
|
| 182 |
+
- /url: http://localhost:7787/admin/admin/dashboard/customersMost/
|
| 183 |
+
- generic [ref=e95]:
|
| 184 |
+
- generic "The information in this tab has been changed."
|
| 185 |
+
- generic "This tab contains invalid data. Please resolve this before saving."
|
| 186 |
+
- generic "Loading..."
|
| 187 |
+
- text: Customers
|
| 188 |
+
- tabpanel "The information in this tab has been changed. This tab contains invalid data. Please resolve this before saving. Loading... Bestsellers" [ref=e97]:
|
| 189 |
+
- table [ref=e99]:
|
| 190 |
+
- rowgroup [ref=e100]:
|
| 191 |
+
- row "Product Price Quantity" [ref=e101]:
|
| 192 |
+
- columnheader "Product" [ref=e102]
|
| 193 |
+
- columnheader "Price" [ref=e103]
|
| 194 |
+
- columnheader "Quantity" [ref=e104]
|
| 195 |
+
- rowgroup [ref=e105]:
|
| 196 |
+
- row "Sprite Stasis Ball 65 cm $27.00 6" [ref=e106]:
|
| 197 |
+
- cell "Sprite Stasis Ball 65 cm" [ref=e107]
|
| 198 |
+
- cell "$27.00" [ref=e108]
|
| 199 |
+
- cell "6" [ref=e109]
|
| 200 |
+
- row "Quest Lumaflex™ Band $19.00 6" [ref=e110]:
|
| 201 |
+
- cell "Quest Lumaflex™ Band" [ref=e111]
|
| 202 |
+
- cell "$19.00" [ref=e112]
|
| 203 |
+
- cell "6" [ref=e113]
|
| 204 |
+
- row "Sprite Yoga Strap 6 foot $14.00 6" [ref=e114]:
|
| 205 |
+
- cell "Sprite Yoga Strap 6 foot" [ref=e115]
|
| 206 |
+
- cell "$14.00" [ref=e116]
|
| 207 |
+
- cell "6" [ref=e117]
|
| 208 |
+
- row "Sprite Stasis Ball 55 cm $23.00 5" [ref=e118]:
|
| 209 |
+
- cell "Sprite Stasis Ball 55 cm" [ref=e119]
|
| 210 |
+
- cell "$23.00" [ref=e120]
|
| 211 |
+
- cell "5" [ref=e121]
|
| 212 |
+
- row "Overnight Duffle $45.00 5" [ref=e122]:
|
| 213 |
+
- cell "Overnight Duffle" [ref=e123]
|
| 214 |
+
- cell "$45.00" [ref=e124]
|
| 215 |
+
- cell "5" [ref=e125]
|
| 216 |
+
- generic [ref=e126]:
|
| 217 |
+
- generic [ref=e127]:
|
| 218 |
+
- generic [ref=e128]: Lifetime Sales
|
| 219 |
+
- strong [ref=e130]: $0.00
|
| 220 |
+
- generic [ref=e131]:
|
| 221 |
+
- generic [ref=e132]: Average Order
|
| 222 |
+
- strong [ref=e134]: $0.00
|
| 223 |
+
- generic [ref=e135]:
|
| 224 |
+
- generic [ref=e136]: Last Orders
|
| 225 |
+
- table [ref=e138]:
|
| 226 |
+
- rowgroup [ref=e139]:
|
| 227 |
+
- row "Customer Items Total" [ref=e140]:
|
| 228 |
+
- columnheader "Customer" [ref=e141]
|
| 229 |
+
- columnheader "Items" [ref=e142]
|
| 230 |
+
- columnheader "Total" [ref=e143]
|
| 231 |
+
- rowgroup [ref=e144]:
|
| 232 |
+
- row "Sarah Miller 5 $194.40" [ref=e145]:
|
| 233 |
+
- cell "Sarah Miller" [ref=e146]
|
| 234 |
+
- cell "5" [ref=e147]
|
| 235 |
+
- cell "$194.40" [ref=e148]
|
| 236 |
+
- row "Grace Nguyen 4 $190.00" [ref=e149]:
|
| 237 |
+
- cell "Grace Nguyen" [ref=e150]
|
| 238 |
+
- cell "4" [ref=e151]
|
| 239 |
+
- cell "$190.00" [ref=e152]
|
| 240 |
+
- row "Matt Baker 3 $151.40" [ref=e153]:
|
| 241 |
+
- cell "Matt Baker" [ref=e154]
|
| 242 |
+
- cell "3" [ref=e155]
|
| 243 |
+
- cell "$151.40" [ref=e156]
|
| 244 |
+
- row "Lily Potter 4 $188.20" [ref=e157]:
|
| 245 |
+
- cell "Lily Potter" [ref=e158]
|
| 246 |
+
- cell "4" [ref=e159]
|
| 247 |
+
- cell "$188.20" [ref=e160]
|
| 248 |
+
- row "Ava Brown 2 $83.40" [ref=e161]:
|
| 249 |
+
- cell "Ava Brown" [ref=e162]
|
| 250 |
+
- cell "2" [ref=e163]
|
| 251 |
+
- cell "$83.40" [ref=e164]
|
| 252 |
+
- generic [ref=e165]:
|
| 253 |
+
- generic [ref=e166]: Last Search Terms
|
| 254 |
+
- table [ref=e168]:
|
| 255 |
+
- rowgroup [ref=e169]:
|
| 256 |
+
- row "Search Term Results Uses" [ref=e170]:
|
| 257 |
+
- columnheader "Search Term" [ref=e171]
|
| 258 |
+
- columnheader "Results" [ref=e172]
|
| 259 |
+
- columnheader "Uses" [ref=e173]
|
| 260 |
+
- rowgroup [ref=e174]:
|
| 261 |
+
- row "tanks 23 1" [ref=e175]:
|
| 262 |
+
- cell "tanks" [ref=e176]
|
| 263 |
+
- cell "23" [ref=e177]
|
| 264 |
+
- cell "1" [ref=e178]
|
| 265 |
+
- row "nike 0 3" [ref=e179]:
|
| 266 |
+
- cell "nike" [ref=e180]
|
| 267 |
+
- cell "0" [ref=e181]
|
| 268 |
+
- cell "3" [ref=e182]
|
| 269 |
+
- row "Joust Bag 10 4" [ref=e183]:
|
| 270 |
+
- cell "Joust Bag" [ref=e184]
|
| 271 |
+
- cell "10" [ref=e185]
|
| 272 |
+
- cell "4" [ref=e186]
|
| 273 |
+
- row "hollister 1 19" [ref=e187]:
|
| 274 |
+
- cell "hollister" [ref=e188]
|
| 275 |
+
- cell "1" [ref=e189]
|
| 276 |
+
- cell "19" [ref=e190]
|
| 277 |
+
- row "Antonia Racer Tank 23 2" [ref=e191]:
|
| 278 |
+
- cell "Antonia Racer Tank" [ref=e192]
|
| 279 |
+
- cell "23" [ref=e193]
|
| 280 |
+
- cell "2" [ref=e194]
|
| 281 |
+
- generic [ref=e195]:
|
| 282 |
+
- generic [ref=e196]: Top Search Terms
|
| 283 |
+
- table [ref=e198]:
|
| 284 |
+
- rowgroup [ref=e199]:
|
| 285 |
+
- row "Search Term Results Uses" [ref=e200]:
|
| 286 |
+
- columnheader "Search Term" [ref=e201]
|
| 287 |
+
- columnheader "Results" [ref=e202]
|
| 288 |
+
- columnheader "Uses" [ref=e203]
|
| 289 |
+
- rowgroup [ref=e204]:
|
| 290 |
+
- row "hollister 1 19" [ref=e205]:
|
| 291 |
+
- cell "hollister" [ref=e206]
|
| 292 |
+
- cell "1" [ref=e207]
|
| 293 |
+
- cell "19" [ref=e208]
|
| 294 |
+
- row "Joust Bag 10 4" [ref=e209]:
|
| 295 |
+
- cell "Joust Bag" [ref=e210]
|
| 296 |
+
- cell "10" [ref=e211]
|
| 297 |
+
- cell "4" [ref=e212]
|
| 298 |
+
- row "Antonia Racer Tank 23 2" [ref=e213]:
|
| 299 |
+
- cell "Antonia Racer Tank" [ref=e214]
|
| 300 |
+
- cell "23" [ref=e215]
|
| 301 |
+
- cell "2" [ref=e216]
|
| 302 |
+
- row "tanks 23 1" [ref=e217]:
|
| 303 |
+
- cell "tanks" [ref=e218]
|
| 304 |
+
- cell "23" [ref=e219]
|
| 305 |
+
- cell "1" [ref=e220]
|
| 306 |
+
- row "WP10 1 1" [ref=e221]:
|
| 307 |
+
- cell "WP10" [ref=e222]
|
| 308 |
+
- cell "1" [ref=e223]
|
| 309 |
+
- cell "1" [ref=e224]
|
| 310 |
+
- contentinfo [ref=e225]:
|
| 311 |
+
- generic [ref=e227]:
|
| 312 |
+
- paragraph [ref=e228]:
|
| 313 |
+
- link "" [ref=e229] [cursor=pointer]:
|
| 314 |
+
- /url: http://magento.com
|
| 315 |
+
- text: Copyright © 2026 Magento Commerce Inc. All rights reserved.
|
| 316 |
+
- generic [ref=e230]:
|
| 317 |
+
- paragraph [ref=e231]:
|
| 318 |
+
- strong [ref=e232]: Magento
|
| 319 |
+
- text: ver. 2.4.6
|
| 320 |
+
- link "Privacy Policy" [ref=e233] [cursor=pointer]:
|
| 321 |
+
- /url: https://www.adobe.com/privacy/policy.html
|
| 322 |
+
- text: "|"
|
| 323 |
+
- link "Account Activity" [ref=e234] [cursor=pointer]:
|
| 324 |
+
- /url: http://localhost:7787/admin/security/session/activity/
|
| 325 |
+
- text: "|"
|
| 326 |
+
- link "Report an Issue" [ref=e235] [cursor=pointer]:
|
| 327 |
+
- /url: https://github.com/magento/magento2/issues
|
synth/README.md
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Synthetic filesystem-task generator
|
| 2 |
+
|
| 3 |
+
Mass-produce MCPMark **filesystem** benchmark tasks (test environment +
|
| 4 |
+
`description.md` + `verify.py` + `meta.json`) with deterministic, *self-checked*
|
| 5 |
+
verifiers. An LLM (DeepSeek via `.mcp_env`, by default) only makes file content
|
| 6 |
+
and names realistic; it never writes the verification logic.
|
| 7 |
+
|
| 8 |
+
## Why it is reliable
|
| 9 |
+
|
| 10 |
+
Two verifier strategies, both checked by a built-in oracle at generation time:
|
| 11 |
+
|
| 12 |
+
- **Recomputable** — `verify.py` re-derives the correct answer from the resulting
|
| 13 |
+
files (e.g. recompute the 10 smallest files, regroup by content hash). No stored
|
| 14 |
+
answer key, so the model cannot shortcut it.
|
| 15 |
+
- **Planted ground truth** — for computation/semantic tasks the generator controls
|
| 16 |
+
the data and labels it (e.g. `category: personal|work`, song `rating`/`year`),
|
| 17 |
+
so the answer is exactly computable without LLM judgement.
|
| 18 |
+
|
| 19 |
+
Every task is validated before it is written: the oracle solves it and `verify.py`
|
| 20 |
+
**must** exit 0 on the correct answer **and** non-zero on the untouched
|
| 21 |
+
environment. Tasks that fail this self-check are discarded.
|
| 22 |
+
|
| 23 |
+
## Usage
|
| 24 |
+
|
| 25 |
+
```bash
|
| 26 |
+
# from repo root, inside the mcpmark conda env
|
| 27 |
+
conda run -n mcpmark python -m synth.generate --n 13 --seed 1 # LLM content
|
| 28 |
+
conda run -n mcpmark python -m synth.generate --n 13 --no-llm # offline
|
| 29 |
+
conda run -n mcpmark python -m synth.generate --n 4 --types music_report,budget_computation
|
| 30 |
+
```
|
| 31 |
+
|
| 32 |
+
Each task gets a unique `category_id` like `synth_music_report_01`. Run them with
|
| 33 |
+
the normal pipeline (`synth` is a substring filter that matches them all):
|
| 34 |
+
|
| 35 |
+
```bash
|
| 36 |
+
conda run -n mcpmark python -m pipeline --mcp filesystem --k 1 \
|
| 37 |
+
--models deepseek-v3.2-instruct --tasks synth --exp-name synth-run
|
| 38 |
+
```
|
| 39 |
+
|
| 40 |
+
## Coverage (8 benchmark categories)
|
| 41 |
+
|
| 42 |
+
| Generator key | Benchmark category | Verifier |
|
| 43 |
+
|----------------------|---------------------------|---------------|
|
| 44 |
+
| `size_classification`| file_property | recomputable |
|
| 45 |
+
| `extension_grouping` | file_property (variant) | recomputable |
|
| 46 |
+
| `smallest_merge` | file_context | recomputable |
|
| 47 |
+
| `duplicate_finder` | file_context | recomputable |
|
| 48 |
+
| `uppercase` | file_context | planted |
|
| 49 |
+
| `pattern_matching` | file_context | recomputable |
|
| 50 |
+
| `file_splitting` | file_context | recomputable |
|
| 51 |
+
| `structure_mirror` | folder_structure | recomputable |
|
| 52 |
+
| `author_folders` | papers | recomputable |
|
| 53 |
+
| `gradebased_score` | student_database | recomputable |
|
| 54 |
+
| `music_report` | desktop | planted |
|
| 55 |
+
| `budget_computation` | desktop_template | planted |
|
| 56 |
+
| `clause_lookup` | legal_document | planted |
|
| 57 |
+
|
| 58 |
+
Not covered: `threestudio` / `votenet` — these run on real 3D ML codebases and
|
| 59 |
+
cannot be faithfully synthesized (only loose structural analogs would be possible).
|
| 60 |
+
|
| 61 |
+
Each subtask folder has its own `README.md` with task details, a worked example,
|
| 62 |
+
and a sample trajectory — see e.g.
|
| 63 |
+
[`generators/filesystem/duplicate_finder/README.md`](generators/filesystem/duplicate_finder/README.md).
|
| 64 |
+
Note these tasks **reorganize files** (move/group); they never delete or rewrite
|
| 65 |
+
file contents, and any output folder (e.g. `duplicates/`) is created by the
|
| 66 |
+
evaluated model, not the generator.
|
| 67 |
+
|
| 68 |
+
## Inspect a trajectory
|
| 69 |
+
|
| 70 |
+
Every pipeline run saves the agent trajectory to
|
| 71 |
+
`results/<exp>/<model>__filesystem/run-<k>/<task>/messages.json`. Render it as a
|
| 72 |
+
readable timeline (👤 instruction, 💬 thoughts, 🔧 tool calls, 📤 results):
|
| 73 |
+
|
| 74 |
+
```bash
|
| 75 |
+
conda run -n mcpmark python -m synth.trace results/<exp> --list # list all
|
| 76 |
+
conda run -n mcpmark python -m synth.trace results/<exp>/<model>__filesystem/run-1/<task>
|
| 77 |
+
```
|
| 78 |
+
|
| 79 |
+
## Add a new task type
|
| 80 |
+
|
| 81 |
+
Create `generators/filesystem/<your_subtask>/__init__.py` with a `Generator`
|
| 82 |
+
subclass, then add it to the `REGISTRY` tuple in `generators/filesystem/__init__.py`.
|
| 83 |
+
Implement four methods:
|
| 84 |
+
|
| 85 |
+
- `build(env_dir, llm, rng) -> spec` — write the initial files, return a spec dict.
|
| 86 |
+
- `description(spec) -> str` — the instructions the model sees. **Be precise**: the
|
| 87 |
+
verifier is exact, so any output-format ambiguity will fail otherwise-correct work.
|
| 88 |
+
- `verify_src(spec) -> str` — a self-contained `verify.py` (stdlib only). Read the
|
| 89 |
+
test dir from `os.environ["FILESYSTEM_TEST_DIR"]`; `sys.exit(0)` on pass, non-zero
|
| 90 |
+
on fail. Use `_render_verify(body, consts)` to inject constants safely.
|
| 91 |
+
- `solve(work_dir, spec)` — the oracle: perform the correct solution in place. This
|
| 92 |
+
both powers the self-check and forces you to prove the task is solvable.
|
| 93 |
+
|
| 94 |
+
## Files
|
| 95 |
+
|
| 96 |
+
```
|
| 97 |
+
synth/
|
| 98 |
+
├── generate.py # CLI: build tasks + oracle self-check
|
| 99 |
+
├── trace.py # CLI: render a saved trajectory
|
| 100 |
+
├── llm.py # LiteLLM wrapper (DeepSeek default) + offline fallback
|
| 101 |
+
└── generators/ # organized by MCP service → subtask
|
| 102 |
+
├── __init__.py # merges per-service REGISTRYs
|
| 103 |
+
└── filesystem/ # the filesystem service
|
| 104 |
+
├── __init__.py # filesystem REGISTRY
|
| 105 |
+
├── base.py # Generator base class + shared helpers
|
| 106 |
+
├── duplicate_finder/__init__.py # one folder per subtask
|
| 107 |
+
├── smallest_merge/__init__.py
|
| 108 |
+
├── size_classification/__init__.py
|
| 109 |
+
├── extension_grouping/__init__.py
|
| 110 |
+
├── uppercase/__init__.py
|
| 111 |
+
├── pattern_matching/__init__.py
|
| 112 |
+
├── file_splitting/__init__.py
|
| 113 |
+
├── structure_mirror/__init__.py
|
| 114 |
+
├── author_folders/__init__.py
|
| 115 |
+
├── gradebased_score/__init__.py
|
| 116 |
+
├── music_report/__init__.py
|
| 117 |
+
├── budget_computation/__init__.py
|
| 118 |
+
└── clause_lookup/__init__.py
|
| 119 |
+
```
|
| 120 |
+
|
| 121 |
+
Each subtask folder holds its `Generator` (and is the natural place to later add
|
| 122 |
+
per-task templates/fixtures). Generated tasks land in the project's existing
|
| 123 |
+
`tasks/` and `test_environments/`; trajectories land in `results/`.
|
| 124 |
+
|
| 125 |
+
To add a new MCP service, create `generators/<service>/` with its own `base.py`
|
| 126 |
+
and subtask folders, then merge its `REGISTRY` in `generators/__init__.py`.
|
synth/__init__.py
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Synthetic filesystem-task data pipeline for MCPMark.
|
| 2 |
+
|
| 3 |
+
Generates benchmark-style filesystem tasks (test environment + description.md +
|
| 4 |
+
verify.py + meta.json) with deterministic, *recomputable* verifiers. An LLM is
|
| 5 |
+
used only to make file content/names realistic and diverse; it never authors the
|
| 6 |
+
verification logic. Every generated task is validated with a built-in oracle:
|
| 7 |
+
the pipeline solves it programmatically and asserts ``verify.py`` exits 0.
|
| 8 |
+
"""
|
synth/generate.py
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Synthesize MCPMark filesystem tasks.
|
| 2 |
+
|
| 3 |
+
Usage (from repo root, inside the mcpmark conda env):
|
| 4 |
+
|
| 5 |
+
python -m synth.generate --n 8 --seed 1
|
| 6 |
+
python -m synth.generate --n 4 --types smallest_merge,duplicate_finder
|
| 7 |
+
python -m synth.generate --n 4 --no-llm # offline, no API calls
|
| 8 |
+
|
| 9 |
+
For each task it:
|
| 10 |
+
1. builds a test environment under test_environments/<category>/
|
| 11 |
+
2. writes tasks/filesystem/<suite>/<category>/<task_id>/{meta.json,description.md,verify.py}
|
| 12 |
+
3. self-checks: solves the task with a built-in oracle and asserts verify.py
|
| 13 |
+
exits 0 on the correct answer and non-zero on the untouched environment.
|
| 14 |
+
|
| 15 |
+
Run a generated task with the normal pipeline, e.g.:
|
| 16 |
+
|
| 17 |
+
python -m pipeline --mcp filesystem --k 1 --models deepseek-v3.2-instruct \\
|
| 18 |
+
--tasks synth_size_classification_01 --exp-name synth-run
|
| 19 |
+
"""
|
| 20 |
+
|
| 21 |
+
import argparse
|
| 22 |
+
import datetime
|
| 23 |
+
import json
|
| 24 |
+
import random
|
| 25 |
+
import shutil
|
| 26 |
+
import subprocess
|
| 27 |
+
import sys
|
| 28 |
+
import tempfile
|
| 29 |
+
from pathlib import Path
|
| 30 |
+
|
| 31 |
+
from synth.generators import REGISTRY
|
| 32 |
+
from synth.llm import LLMClient
|
| 33 |
+
|
| 34 |
+
REPO_ROOT = Path(__file__).resolve().parent.parent
|
| 35 |
+
|
| 36 |
+
|
| 37 |
+
def _state_content(env_dir: Path) -> str:
|
| 38 |
+
"""A short relative listing of the test environment for meta.json."""
|
| 39 |
+
items = sorted(
|
| 40 |
+
str(p.relative_to(env_dir)) + ("/" if p.is_dir() else "")
|
| 41 |
+
for p in env_dir.rglob("*")
|
| 42 |
+
)
|
| 43 |
+
return "\n".join(items[:40])
|
| 44 |
+
|
| 45 |
+
|
| 46 |
+
def write_task(gen, spec, category, task_id, suite, tasks_root, author, env_dir):
|
| 47 |
+
task_dir = tasks_root / "filesystem" / suite / category / task_id
|
| 48 |
+
task_dir.mkdir(parents=True, exist_ok=True)
|
| 49 |
+
|
| 50 |
+
(task_dir / "description.md").write_text(gen.description(spec), encoding="utf-8")
|
| 51 |
+
(task_dir / "verify.py").write_text(gen.verify_src(spec), encoding="utf-8")
|
| 52 |
+
|
| 53 |
+
meta = {
|
| 54 |
+
"task_id": task_id,
|
| 55 |
+
"task_name": gen.CATEGORY_NAME,
|
| 56 |
+
"category_id": category,
|
| 57 |
+
"category_name": gen.CATEGORY_NAME,
|
| 58 |
+
"description": gen.description(spec).split("\n\n")[1].strip()[:200],
|
| 59 |
+
"author": author,
|
| 60 |
+
"created_at": datetime.date.today().isoformat(),
|
| 61 |
+
"difficulty": gen.DIFFICULTY,
|
| 62 |
+
"tags": gen.TAGS,
|
| 63 |
+
"mcp": ["filesystem"],
|
| 64 |
+
"meta_data": {
|
| 65 |
+
"stateType": "synthetic",
|
| 66 |
+
"stateContent": _state_content(env_dir),
|
| 67 |
+
"stateUrl": None,
|
| 68 |
+
"stateOriginalUrl": None,
|
| 69 |
+
},
|
| 70 |
+
}
|
| 71 |
+
(task_dir / "meta.json").write_text(json.dumps(meta, indent=2), encoding="utf-8")
|
| 72 |
+
return task_dir
|
| 73 |
+
|
| 74 |
+
|
| 75 |
+
def self_check(gen, spec, env_dir) -> tuple[bool, str]:
|
| 76 |
+
"""Solve in a temp copy and confirm verify.py accepts it (and rejects unsolved)."""
|
| 77 |
+
verify_src = gen.verify_src(spec)
|
| 78 |
+
tmp = Path(tempfile.mkdtemp(prefix="synth_check_"))
|
| 79 |
+
try:
|
| 80 |
+
# Negative check: untouched environment should fail verification.
|
| 81 |
+
neg = tmp / "neg"
|
| 82 |
+
shutil.copytree(env_dir, neg)
|
| 83 |
+
vfile = tmp / "verify.py"
|
| 84 |
+
vfile.write_text(verify_src, encoding="utf-8")
|
| 85 |
+
neg_rc = _run_verify(vfile, neg)
|
| 86 |
+
if neg_rc == 0:
|
| 87 |
+
return False, "verifier passes on the UNSOLVED environment (too weak)"
|
| 88 |
+
|
| 89 |
+
# Positive check: oracle solution should pass verification.
|
| 90 |
+
pos = tmp / "pos"
|
| 91 |
+
shutil.copytree(env_dir, pos)
|
| 92 |
+
gen.solve(pos, spec)
|
| 93 |
+
pos_rc = _run_verify(vfile, pos)
|
| 94 |
+
if pos_rc != 0:
|
| 95 |
+
return False, "verifier REJECTS the oracle solution (rc=%d)" % pos_rc
|
| 96 |
+
return True, "oracle passes, unsolved fails"
|
| 97 |
+
finally:
|
| 98 |
+
shutil.rmtree(tmp, ignore_errors=True)
|
| 99 |
+
|
| 100 |
+
|
| 101 |
+
def _run_verify(verify_file: Path, test_dir: Path) -> int:
|
| 102 |
+
proc = subprocess.run(
|
| 103 |
+
[sys.executable, str(verify_file)],
|
| 104 |
+
env={"FILESYSTEM_TEST_DIR": str(test_dir), "PATH": __import__("os").environ.get("PATH", "")},
|
| 105 |
+
capture_output=True,
|
| 106 |
+
text=True,
|
| 107 |
+
)
|
| 108 |
+
return proc.returncode
|
| 109 |
+
|
| 110 |
+
|
| 111 |
+
def main():
|
| 112 |
+
ap = argparse.ArgumentParser(description="Synthesize MCPMark filesystem tasks.")
|
| 113 |
+
ap.add_argument("--n", type=int, default=4, help="number of tasks to generate")
|
| 114 |
+
ap.add_argument(
|
| 115 |
+
"--types",
|
| 116 |
+
default=",".join(REGISTRY),
|
| 117 |
+
help="comma-separated task types (default: all): " + ", ".join(REGISTRY),
|
| 118 |
+
)
|
| 119 |
+
ap.add_argument("--suite", default="standard", choices=["standard", "easy"])
|
| 120 |
+
ap.add_argument(
|
| 121 |
+
"--difficulty",
|
| 122 |
+
default="medium",
|
| 123 |
+
choices=["easy", "medium", "hard", "none", "all"],
|
| 124 |
+
help="difficulty tier for generators that support it (e.g. duplicate_finder)",
|
| 125 |
+
)
|
| 126 |
+
ap.add_argument("--seed", type=int, default=1)
|
| 127 |
+
ap.add_argument("--author", default="synth-pipeline")
|
| 128 |
+
ap.add_argument("--no-llm", action="store_true", help="offline content, no API calls")
|
| 129 |
+
ap.add_argument("--model", default="deepseek/deepseek-chat")
|
| 130 |
+
ap.add_argument("--tasks-dir", default=str(REPO_ROOT / "tasks"))
|
| 131 |
+
ap.add_argument("--env-dir", default=str(REPO_ROOT / "test_environments"))
|
| 132 |
+
ap.add_argument("--prefix", default="synth", help="category-id prefix")
|
| 133 |
+
args = ap.parse_args()
|
| 134 |
+
|
| 135 |
+
types = [t.strip() for t in args.types.split(",") if t.strip()]
|
| 136 |
+
for t in types:
|
| 137 |
+
if t not in REGISTRY:
|
| 138 |
+
ap.error(f"unknown type '{t}'. Choices: {', '.join(REGISTRY)}")
|
| 139 |
+
|
| 140 |
+
rng = random.Random(args.seed)
|
| 141 |
+
llm = LLMClient(model=args.model, enabled=not args.no_llm, seed=args.seed)
|
| 142 |
+
print(f"LLM content generation: {'ON (' + args.model + ')' if llm.enabled else 'OFF (offline)'}")
|
| 143 |
+
|
| 144 |
+
tasks_root = Path(args.tasks_dir)
|
| 145 |
+
env_root = Path(args.env_dir)
|
| 146 |
+
|
| 147 |
+
ok_count, fail_count = 0, 0
|
| 148 |
+
for i in range(args.n):
|
| 149 |
+
key = types[i % len(types)]
|
| 150 |
+
gen = REGISTRY[key](difficulty=args.difficulty)
|
| 151 |
+
category = f"{args.prefix}_{key}_{i + 1:02d}"
|
| 152 |
+
env_dir = env_root / category
|
| 153 |
+
if env_dir.exists():
|
| 154 |
+
shutil.rmtree(env_dir)
|
| 155 |
+
env_dir.mkdir(parents=True, exist_ok=True)
|
| 156 |
+
|
| 157 |
+
spec = gen.build(env_dir, llm, rng)
|
| 158 |
+
passed, detail = self_check(gen, spec, env_dir)
|
| 159 |
+
if not passed:
|
| 160 |
+
fail_count += 1
|
| 161 |
+
print(f" ✗ {category}: SELF-CHECK FAILED — {detail}")
|
| 162 |
+
shutil.rmtree(env_dir, ignore_errors=True)
|
| 163 |
+
continue
|
| 164 |
+
|
| 165 |
+
task_dir = write_task(
|
| 166 |
+
gen, spec, category, key, args.suite, tasks_root, args.author, env_dir
|
| 167 |
+
)
|
| 168 |
+
ok_count += 1
|
| 169 |
+
rel = task_dir.relative_to(REPO_ROOT)
|
| 170 |
+
n_items = sum(1 for _ in env_dir.rglob("*") if _.is_file())
|
| 171 |
+
print(f" ✓ {category}: {n_items} files | {detail}")
|
| 172 |
+
print(f" task: {rel}")
|
| 173 |
+
|
| 174 |
+
print(f"\nGenerated {ok_count}/{args.n} tasks ({fail_count} failed self-check).")
|
| 175 |
+
if ok_count:
|
| 176 |
+
print("Run one with:")
|
| 177 |
+
print(
|
| 178 |
+
" python -m pipeline --mcp filesystem --k 1 "
|
| 179 |
+
"--models deepseek-v3.2-instruct "
|
| 180 |
+
f"--tasks {args.prefix}_{types[0]}_01 --exp-name synth-run"
|
| 181 |
+
)
|
| 182 |
+
|
| 183 |
+
|
| 184 |
+
if __name__ == "__main__":
|
| 185 |
+
main()
|
synth/generators/__init__.py
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Synthetic task generators, organized by MCP service then subtask.
|
| 2 |
+
|
| 3 |
+
Layout: generators/<service>/<subtask>/__init__.py defines one Generator.
|
| 4 |
+
Add a new service by importing its REGISTRY and merging it below.
|
| 5 |
+
"""
|
| 6 |
+
from .filesystem import REGISTRY as FILESYSTEM_REGISTRY
|
| 7 |
+
|
| 8 |
+
REGISTRY = {**FILESYSTEM_REGISTRY}
|
synth/generators/filesystem/__init__.py
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Filesystem-service task generators (one subpackage per subtask)."""
|
| 2 |
+
from .base import Generator
|
| 3 |
+
from .size_classification import SizeClassification
|
| 4 |
+
from .extension_grouping import ExtensionGrouping
|
| 5 |
+
from .smallest_merge import SmallestMerge
|
| 6 |
+
from .duplicate_finder import DuplicateFinder
|
| 7 |
+
from .uppercase import Uppercase
|
| 8 |
+
from .pattern_matching import PatternMatching
|
| 9 |
+
from .file_splitting import FileSplitting
|
| 10 |
+
from .structure_mirror import StructureMirror
|
| 11 |
+
from .author_folders import AuthorFolders
|
| 12 |
+
from .gradebased_score import GradeBasedScore
|
| 13 |
+
from .music_report import MusicReport
|
| 14 |
+
from .budget_computation import BudgetComputation
|
| 15 |
+
from .clause_lookup import ClauseLookup
|
| 16 |
+
|
| 17 |
+
REGISTRY = {
|
| 18 |
+
g.KEY: g
|
| 19 |
+
for g in (
|
| 20 |
+
SizeClassification,
|
| 21 |
+
ExtensionGrouping,
|
| 22 |
+
SmallestMerge,
|
| 23 |
+
DuplicateFinder,
|
| 24 |
+
Uppercase,
|
| 25 |
+
PatternMatching,
|
| 26 |
+
FileSplitting,
|
| 27 |
+
StructureMirror,
|
| 28 |
+
AuthorFolders,
|
| 29 |
+
GradeBasedScore,
|
| 30 |
+
MusicReport,
|
| 31 |
+
BudgetComputation,
|
| 32 |
+
ClauseLookup,
|
| 33 |
+
)
|
| 34 |
+
}
|
synth/generators/filesystem/author_folders/__init__.py
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""`author_folders` task generator."""
|
| 2 |
+
import json
|
| 3 |
+
import random
|
| 4 |
+
import shutil
|
| 5 |
+
from collections import defaultdict
|
| 6 |
+
from pathlib import Path
|
| 7 |
+
|
| 8 |
+
from ..base import (
|
| 9 |
+
Generator, _VERIFY_HEADER, _render_verify, pad_to, _write, _para,
|
| 10 |
+
_AUTHORS, _SONG_TITLES, _STUDENTS, _WORDS,
|
| 11 |
+
)
|
| 12 |
+
|
| 13 |
+
|
| 14 |
+
class AuthorFolders(Generator):
|
| 15 |
+
KEY = "author_folders"
|
| 16 |
+
CATEGORY_NAME = "Author Folders"
|
| 17 |
+
DIFFICULTY = "L2"
|
| 18 |
+
TAGS = ["papers", "organization"]
|
| 19 |
+
|
| 20 |
+
def build(self, env_dir, llm, rng):
|
| 21 |
+
authors = rng.sample(_AUTHORS, rng.randint(3, 4))
|
| 22 |
+
files = []
|
| 23 |
+
for i in range(rng.randint(7, 10)):
|
| 24 |
+
author = rng.choice(authors)
|
| 25 |
+
name = f"paper_{i + 1:02d}.txt"
|
| 26 |
+
body = f"Author: {author}\nTitle: " + " ".join(
|
| 27 |
+
rng.choice(_WORDS) for _ in range(4)).title() + "\n"
|
| 28 |
+
_write(env_dir / name, body)
|
| 29 |
+
files.append(name)
|
| 30 |
+
return {"files": files, "authors": authors}
|
| 31 |
+
|
| 32 |
+
def description(self, spec):
|
| 33 |
+
return (
|
| 34 |
+
"Please use FileSystem tools to finish the following task:\n\n"
|
| 35 |
+
"### Task: Organize papers by author\n\n"
|
| 36 |
+
"Each `.txt` file in the test directory is a paper whose **first line** "
|
| 37 |
+
"is `Author: <Name>`.\n\n"
|
| 38 |
+
"- For each distinct author, create a folder in the test directory root "
|
| 39 |
+
"named **exactly** the author's name (e.g. `Ada Lovelace`).\n"
|
| 40 |
+
"- Move each paper into its author's folder.\n"
|
| 41 |
+
"- No loose paper files should remain in the root. Do not modify files."
|
| 42 |
+
)
|
| 43 |
+
|
| 44 |
+
def verify_src(self, spec):
|
| 45 |
+
body = '''
|
| 46 |
+
C = json.loads(__CONSTS__)
|
| 47 |
+
|
| 48 |
+
|
| 49 |
+
def main():
|
| 50 |
+
t = get_test_dir()
|
| 51 |
+
loose = [f.name for f in t.iterdir() if f.is_file() and f.name not in SYSTEM_FILES]
|
| 52 |
+
if loose:
|
| 53 |
+
fail(f"papers still in root: {loose}")
|
| 54 |
+
ok("no loose papers in root")
|
| 55 |
+
|
| 56 |
+
located = {}
|
| 57 |
+
for d in t.iterdir():
|
| 58 |
+
if d.is_dir():
|
| 59 |
+
for f in d.iterdir():
|
| 60 |
+
if f.is_file() and f.name not in SYSTEM_FILES:
|
| 61 |
+
located[f.name] = (d.name, f)
|
| 62 |
+
for name in C["files"]:
|
| 63 |
+
if name not in located:
|
| 64 |
+
fail(f"paper missing after move: {name}")
|
| 65 |
+
folder, f = located[name]
|
| 66 |
+
first = f.read_text(encoding="utf-8").splitlines()[0]
|
| 67 |
+
author = first.split("Author:", 1)[1].strip() if "Author:" in first else ""
|
| 68 |
+
if folder != author:
|
| 69 |
+
fail(f"{name} is in '{folder}', but its author is '{author}'")
|
| 70 |
+
ok(f"all {len(C['files'])} papers filed under the correct author")
|
| 71 |
+
print("\\U0001f389 All checks passed!")
|
| 72 |
+
sys.exit(0)
|
| 73 |
+
|
| 74 |
+
|
| 75 |
+
if __name__ == "__main__":
|
| 76 |
+
main()
|
| 77 |
+
'''
|
| 78 |
+
return _render_verify(body, {"files": spec["files"]})
|
| 79 |
+
|
| 80 |
+
def solve(self, work_dir, spec):
|
| 81 |
+
for name in spec["files"]:
|
| 82 |
+
f = work_dir / name
|
| 83 |
+
first = f.read_text(encoding="utf-8").splitlines()[0]
|
| 84 |
+
author = first.split("Author:", 1)[1].strip()
|
| 85 |
+
(work_dir / author).mkdir(exist_ok=True)
|
| 86 |
+
shutil.move(str(f), str(work_dir / author / name))
|
synth/generators/filesystem/base.py
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Task-type generators for synthetic filesystem benchmarks.
|
| 2 |
+
|
| 3 |
+
Each generator produces a self-consistent task:
|
| 4 |
+
|
| 5 |
+
* ``build(env_dir, llm, rng)`` writes the initial files into the test
|
| 6 |
+
environment and returns a ``spec`` dict describing what it created.
|
| 7 |
+
* ``description(spec)`` renders the natural-language ``description.md`` the model
|
| 8 |
+
will see.
|
| 9 |
+
* ``verify_src(spec)`` renders a self-contained ``verify.py`` whose checks
|
| 10 |
+
*recompute* the correct answer from the resulting files (no external answer
|
| 11 |
+
key), using only the standard library.
|
| 12 |
+
* ``solve(work_dir, spec)`` is the oracle: it performs the correct solution
|
| 13 |
+
in-place so the pipeline can prove ``verify.py`` accepts the intended answer.
|
| 14 |
+
|
| 15 |
+
The description and the verifier are written together so they always agree.
|
| 16 |
+
"""
|
| 17 |
+
|
| 18 |
+
import json
|
| 19 |
+
import random
|
| 20 |
+
import shutil
|
| 21 |
+
from collections import defaultdict
|
| 22 |
+
from pathlib import Path
|
| 23 |
+
from typing import Dict, List
|
| 24 |
+
|
| 25 |
+
# --------------------------------------------------------------------------- #
|
| 26 |
+
# Shared helpers
|
| 27 |
+
# --------------------------------------------------------------------------- #
|
| 28 |
+
|
| 29 |
+
_FILLER = " lorem ipsum dolor sit amet consectetur adipiscing elit"
|
| 30 |
+
|
| 31 |
+
|
| 32 |
+
def _ascii_filler(n: int) -> str:
|
| 33 |
+
if n <= 0:
|
| 34 |
+
return ""
|
| 35 |
+
return (_FILLER * (n // len(_FILLER) + 1))[:n]
|
| 36 |
+
|
| 37 |
+
|
| 38 |
+
def pad_to(body: str, target_bytes: int) -> str:
|
| 39 |
+
"""Return text whose UTF-8 size is exactly ``target_bytes``."""
|
| 40 |
+
b = body.encode("utf-8")
|
| 41 |
+
if len(b) > target_bytes:
|
| 42 |
+
return b[:target_bytes].decode("utf-8", errors="ignore")
|
| 43 |
+
return body + _ascii_filler(target_bytes - len(b.decode("utf-8").encode("utf-8")))
|
| 44 |
+
|
| 45 |
+
|
| 46 |
+
def _write(path: Path, content: str) -> None:
|
| 47 |
+
path.parent.mkdir(parents=True, exist_ok=True)
|
| 48 |
+
path.write_text(content, encoding="utf-8")
|
| 49 |
+
|
| 50 |
+
|
| 51 |
+
# Header shared by every generated verify.py.
|
| 52 |
+
_VERIFY_HEADER = '''#!/usr/bin/env python3
|
| 53 |
+
"""Auto-generated verifier (synthetic task). Recomputes the answer; do not edit."""
|
| 54 |
+
import json
|
| 55 |
+
import os
|
| 56 |
+
import sys
|
| 57 |
+
from pathlib import Path
|
| 58 |
+
|
| 59 |
+
SYSTEM_FILES = {".DS_Store", "Thumbs.db", ".DS_Store?", "._.DS_Store"}
|
| 60 |
+
|
| 61 |
+
|
| 62 |
+
def get_test_dir() -> Path:
|
| 63 |
+
d = os.environ.get("FILESYSTEM_TEST_DIR")
|
| 64 |
+
if not d:
|
| 65 |
+
raise ValueError("FILESYSTEM_TEST_DIR environment variable is required")
|
| 66 |
+
return Path(d)
|
| 67 |
+
|
| 68 |
+
|
| 69 |
+
def fail(msg):
|
| 70 |
+
print("\\u274c " + msg)
|
| 71 |
+
sys.exit(1)
|
| 72 |
+
|
| 73 |
+
|
| 74 |
+
def ok(msg):
|
| 75 |
+
print("\\u2705 " + msg)
|
| 76 |
+
'''
|
| 77 |
+
|
| 78 |
+
|
| 79 |
+
class Generator:
|
| 80 |
+
KEY = "base"
|
| 81 |
+
CATEGORY_NAME = "Base"
|
| 82 |
+
DIFFICULTY = "L2"
|
| 83 |
+
TAGS: List[str] = []
|
| 84 |
+
|
| 85 |
+
def __init__(self, difficulty: str = "medium"):
|
| 86 |
+
# Generators that support difficulty tiers read self.difficulty; the rest
|
| 87 |
+
# simply ignore it.
|
| 88 |
+
self.difficulty = difficulty
|
| 89 |
+
|
| 90 |
+
def build(self, env_dir: Path, llm, rng: random.Random) -> Dict:
|
| 91 |
+
raise NotImplementedError
|
| 92 |
+
|
| 93 |
+
def description(self, spec: Dict) -> str:
|
| 94 |
+
raise NotImplementedError
|
| 95 |
+
|
| 96 |
+
def verify_src(self, spec: Dict) -> str:
|
| 97 |
+
raise NotImplementedError
|
| 98 |
+
|
| 99 |
+
def solve(self, work_dir: Path, spec: Dict) -> None:
|
| 100 |
+
raise NotImplementedError
|
| 101 |
+
|
| 102 |
+
|
| 103 |
+
def _render_verify(body: str, consts: dict) -> str:
|
| 104 |
+
return _VERIFY_HEADER + body.replace("__CONSTS__", json.dumps(json.dumps(consts)))
|
| 105 |
+
|
| 106 |
+
|
| 107 |
+
_AUTHORS = ["Ada Lovelace", "Alan Turing", "Grace Hopper", "Donald Knuth", "Barbara Liskov"]
|
| 108 |
+
_SONG_TITLES = [
|
| 109 |
+
"Blue Horizon", "Midnight Drive", "Paper Moon", "Echoes", "Golden Hour",
|
| 110 |
+
"Silent Tide", "Neon Rain", "Wandering", "Afterglow", "Velvet Sky",
|
| 111 |
+
"Lighthouse", "Crossroads",
|
| 112 |
+
]
|
| 113 |
+
_STUDENTS = [
|
| 114 |
+
"Liam Carter", "Olivia Reed", "Noah Patel", "Emma Davies", "Mason Cole",
|
| 115 |
+
"Ava Brooks", "Lucas Gray", "Mia Foster", "Ethan Ward", "Sofia Bennett",
|
| 116 |
+
]
|
| 117 |
+
_WORDS = (
|
| 118 |
+
"system module config network buffer kernel thread cache socket render "
|
| 119 |
+
"matrix tensor sample dataset gradient logging parser schema invoice client"
|
| 120 |
+
).split()
|
| 121 |
+
|
| 122 |
+
|
| 123 |
+
def _para(rng: random.Random, n_lines: int, inject=None) -> list:
|
| 124 |
+
lines = []
|
| 125 |
+
for _ in range(n_lines):
|
| 126 |
+
line = " ".join(rng.choice(_WORDS) for _ in range(rng.randint(4, 9))).capitalize() + "."
|
| 127 |
+
lines.append(line)
|
| 128 |
+
if inject:
|
| 129 |
+
# inject is a list of (index, text); replace those lines
|
| 130 |
+
for idx, text in inject:
|
| 131 |
+
lines[idx % len(lines)] = text
|
| 132 |
+
return lines
|
synth/generators/filesystem/budget_computation/__init__.py
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""`budget_computation` task generator."""
|
| 2 |
+
import json
|
| 3 |
+
import random
|
| 4 |
+
import shutil
|
| 5 |
+
from collections import defaultdict
|
| 6 |
+
from pathlib import Path
|
| 7 |
+
|
| 8 |
+
from ..base import (
|
| 9 |
+
Generator, _VERIFY_HEADER, _render_verify, pad_to, _write, _para,
|
| 10 |
+
_AUTHORS, _SONG_TITLES, _STUDENTS, _WORDS,
|
| 11 |
+
)
|
| 12 |
+
|
| 13 |
+
|
| 14 |
+
class BudgetComputation(Generator):
|
| 15 |
+
KEY = "budget_computation"
|
| 16 |
+
CATEGORY_NAME = "Budget Computation"
|
| 17 |
+
DIFFICULTY = "L3"
|
| 18 |
+
TAGS = ["desktop", "computation"]
|
| 19 |
+
|
| 20 |
+
OUT = "total_budget.txt"
|
| 21 |
+
|
| 22 |
+
def build(self, env_dir, llm, rng):
|
| 23 |
+
files = []
|
| 24 |
+
for i in range(rng.randint(6, 9)):
|
| 25 |
+
cat = rng.choice(["personal", "personal", "work"])
|
| 26 |
+
amount = round(rng.uniform(5, 500), 2)
|
| 27 |
+
name = f"expense_{i + 1:02d}.txt"
|
| 28 |
+
body = f"item: {rng.choice(_WORDS)}\ncategory: {cat}\namount: {amount}\n"
|
| 29 |
+
_write(env_dir / name, body)
|
| 30 |
+
files.append(name)
|
| 31 |
+
return {"files": files, "out": self.OUT}
|
| 32 |
+
|
| 33 |
+
def description(self, spec):
|
| 34 |
+
return (
|
| 35 |
+
"Please use FileSystem tools to finish the following task:\n\n"
|
| 36 |
+
"### Task: Compute the personal budget\n\n"
|
| 37 |
+
"Each `expense_*.txt` file has a `category:` (either `personal` or "
|
| 38 |
+
"`work`) and an `amount:` line.\n\n"
|
| 39 |
+
"1. Consider only files whose category is **personal**.\n"
|
| 40 |
+
"2. For each such file write a line `<filename>;<amount>` "
|
| 41 |
+
"(amount with 2 decimal places), sorted by filename ascending.\n"
|
| 42 |
+
"3. Add a final line containing **only** the total of all personal "
|
| 43 |
+
"amounts (2 decimal places) — just the number, with no label or prefix.\n"
|
| 44 |
+
f"4. Write everything to `{self.OUT}` in the root. No other text."
|
| 45 |
+
)
|
| 46 |
+
|
| 47 |
+
def verify_src(self, spec):
|
| 48 |
+
body = '''
|
| 49 |
+
C = json.loads(__CONSTS__)
|
| 50 |
+
|
| 51 |
+
|
| 52 |
+
def parse(f):
|
| 53 |
+
d = {}
|
| 54 |
+
for line in f.read_text(encoding="utf-8").splitlines():
|
| 55 |
+
if ":" in line:
|
| 56 |
+
k, v = line.split(":", 1)
|
| 57 |
+
d[k.strip()] = v.strip()
|
| 58 |
+
return d
|
| 59 |
+
|
| 60 |
+
|
| 61 |
+
def expected(t):
|
| 62 |
+
entries = []
|
| 63 |
+
for name in sorted(C["files"]):
|
| 64 |
+
d = parse(t / name)
|
| 65 |
+
if d.get("category") == "personal":
|
| 66 |
+
entries.append((name, float(d["amount"])))
|
| 67 |
+
lines = [f"{n};{a:.2f}" for n, a in entries]
|
| 68 |
+
lines.append(f"{sum(a for _, a in entries):.2f}")
|
| 69 |
+
return "\\n".join(lines)
|
| 70 |
+
|
| 71 |
+
|
| 72 |
+
def main():
|
| 73 |
+
t = get_test_dir()
|
| 74 |
+
out = t / C["out"]
|
| 75 |
+
if not out.is_file():
|
| 76 |
+
fail(f"output file not found: {C['out']}")
|
| 77 |
+
got = out.read_text(encoding="utf-8").strip()
|
| 78 |
+
exp = expected(t).strip()
|
| 79 |
+
if got != exp:
|
| 80 |
+
print("--- expected ---"); print(exp)
|
| 81 |
+
print("--- got ---"); print(got)
|
| 82 |
+
fail("total_budget.txt does not match expected personal expenses")
|
| 83 |
+
ok("personal budget computed correctly")
|
| 84 |
+
print("\\U0001f389 All checks passed!")
|
| 85 |
+
sys.exit(0)
|
| 86 |
+
|
| 87 |
+
|
| 88 |
+
if __name__ == "__main__":
|
| 89 |
+
main()
|
| 90 |
+
'''
|
| 91 |
+
return _render_verify(body, {"files": spec["files"], "out": spec["out"]})
|
| 92 |
+
|
| 93 |
+
def solve(self, work_dir, spec):
|
| 94 |
+
entries = []
|
| 95 |
+
for name in sorted(spec["files"]):
|
| 96 |
+
d = {}
|
| 97 |
+
for line in (work_dir / name).read_text(encoding="utf-8").splitlines():
|
| 98 |
+
if ":" in line:
|
| 99 |
+
k, v = line.split(":", 1)
|
| 100 |
+
d[k.strip()] = v.strip()
|
| 101 |
+
if d.get("category") == "personal":
|
| 102 |
+
entries.append((name, float(d["amount"])))
|
| 103 |
+
lines = [f"{n};{a:.2f}" for n, a in entries]
|
| 104 |
+
lines.append(f"{sum(a for _, a in entries):.2f}")
|
| 105 |
+
_write(work_dir / spec["out"], "\n".join(lines) + "\n")
|
synth/generators/filesystem/clause_lookup/__init__.py
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""`clause_lookup` task generator."""
|
| 2 |
+
import json
|
| 3 |
+
import random
|
| 4 |
+
import shutil
|
| 5 |
+
from collections import defaultdict
|
| 6 |
+
from pathlib import Path
|
| 7 |
+
|
| 8 |
+
from ..base import (
|
| 9 |
+
Generator, _VERIFY_HEADER, _render_verify, pad_to, _write, _para,
|
| 10 |
+
_AUTHORS, _SONG_TITLES, _STUDENTS, _WORDS,
|
| 11 |
+
)
|
| 12 |
+
|
| 13 |
+
|
| 14 |
+
class ClauseLookup(Generator):
|
| 15 |
+
KEY = "clause_lookup"
|
| 16 |
+
CATEGORY_NAME = "Clause Lookup"
|
| 17 |
+
DIFFICULTY = "L2"
|
| 18 |
+
TAGS = ["legal document", "extraction"]
|
| 19 |
+
|
| 20 |
+
OUT = "answer.txt"
|
| 21 |
+
|
| 22 |
+
def build(self, env_dir, llm, rng):
|
| 23 |
+
n = rng.randint(3, 4)
|
| 24 |
+
days = rng.choice([15, 30, 45, 60, 90])
|
| 25 |
+
target = rng.randint(0, n - 1)
|
| 26 |
+
files = []
|
| 27 |
+
for i in range(n):
|
| 28 |
+
lines = _para(rng, rng.randint(3, 5))
|
| 29 |
+
if i == target:
|
| 30 |
+
lines.insert(rng.randint(0, len(lines)),
|
| 31 |
+
f"Termination notice period: {days} days.")
|
| 32 |
+
name = f"contract_{i + 1:02d}.txt"
|
| 33 |
+
_write(env_dir / name, "\n".join(lines) + "\n")
|
| 34 |
+
files.append(name)
|
| 35 |
+
return {"files": files, "out": self.OUT, "days": days}
|
| 36 |
+
|
| 37 |
+
def description(self, spec):
|
| 38 |
+
return (
|
| 39 |
+
"Please use FileSystem tools to finish the following task:\n\n"
|
| 40 |
+
"### Task: Look up a contract clause\n\n"
|
| 41 |
+
"The test directory contains several contract files. Exactly one of them "
|
| 42 |
+
"states a **termination notice period** in the form "
|
| 43 |
+
"`Termination notice period: N days.`\n\n"
|
| 44 |
+
f"Find that number N and write **only the integer** (e.g. `30`) to "
|
| 45 |
+
f"`{self.OUT}` in the test directory root."
|
| 46 |
+
)
|
| 47 |
+
|
| 48 |
+
def verify_src(self, spec):
|
| 49 |
+
body = '''
|
| 50 |
+
import re
|
| 51 |
+
C = json.loads(__CONSTS__)
|
| 52 |
+
|
| 53 |
+
|
| 54 |
+
def expected(t):
|
| 55 |
+
pat = re.compile(r"Termination notice period:\\s*(\\d+)\\s*days")
|
| 56 |
+
for name in C["files"]:
|
| 57 |
+
m = pat.search((t / name).read_text(encoding="utf-8"))
|
| 58 |
+
if m:
|
| 59 |
+
return m.group(1)
|
| 60 |
+
return None
|
| 61 |
+
|
| 62 |
+
|
| 63 |
+
def main():
|
| 64 |
+
t = get_test_dir()
|
| 65 |
+
out = t / C["out"]
|
| 66 |
+
if not out.is_file():
|
| 67 |
+
fail(f"output file not found: {C['out']}")
|
| 68 |
+
exp = expected(t)
|
| 69 |
+
if exp is None:
|
| 70 |
+
fail("could not locate the planted clause (environment corrupted)")
|
| 71 |
+
got = out.read_text(encoding="utf-8").strip()
|
| 72 |
+
if got != exp:
|
| 73 |
+
fail(f"answer is '{got}', expected '{exp}'")
|
| 74 |
+
ok(f"correct termination notice period: {exp} days")
|
| 75 |
+
print("\\U0001f389 All checks passed!")
|
| 76 |
+
sys.exit(0)
|
| 77 |
+
|
| 78 |
+
|
| 79 |
+
if __name__ == "__main__":
|
| 80 |
+
main()
|
| 81 |
+
'''
|
| 82 |
+
return _render_verify(body, {"files": spec["files"], "out": spec["out"]})
|
| 83 |
+
|
| 84 |
+
def solve(self, work_dir, spec):
|
| 85 |
+
_write(work_dir / spec["out"], str(spec["days"]) + "\n")
|
synth/generators/filesystem/duplicate_finder/README.md
ADDED
|
@@ -0,0 +1,240 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# duplicate_finder
|
| 2 |
+
|
| 3 |
+
合成版的 filesystem 子任务,对应 MCPMark 真实任务 `file_context/duplicates_searching`。
|
| 4 |
+
|
| 5 |
+
---
|
| 6 |
+
|
| 7 |
+
## 1. 这个子任务是什么
|
| 8 |
+
|
| 9 |
+
**任务**:测试目录里有若干文本文件,其中一些**内容完全相同**。要求:
|
| 10 |
+
|
| 11 |
+
1. 在测试目录根下建一个 `duplicates/` 目录;
|
| 12 |
+
2. 一个文件若与**至少一个其他文件逐字节相同**,就算重复——把这一组的**所有副本**都移进 `duplicates/`;
|
| 13 |
+
3. 内容唯一的文件留在原地;
|
| 14 |
+
4. 不得改名、改内容、删除。
|
| 15 |
+
|
| 16 |
+
**它真正考模型的两件事**:
|
| 17 |
+
|
| 18 |
+
- 会不会**真的逐字节比对内容**(而不是凭文件名、凭"看起来像"、凭语义相似就判重);
|
| 19 |
+
- 会不会把一组重复的**所有副本**都移走(而不是留一份)。
|
| 20 |
+
|
| 21 |
+
> ⚠️ 这是**整理归类**,不是去重:文件被**原样移动**(`move_file`),内容一个字都不改、也不删任何文件。"重复"指的是文件之间内容相同(用来判断该不该移走),不是要删除重复内容。`duplicates/` 目录由被测模型自己创建,初始环境里没有它。
|
| 22 |
+
|
| 23 |
+
### 举例
|
| 24 |
+
|
| 25 |
+
```
|
| 26 |
+
初始状态(散落在测试目录根):
|
| 27 |
+
greeting_0.txt 内容 = "Hello" ┐
|
| 28 |
+
greeting_1.txt 内容 = "Hello" ├ 三个文件内容相同 → 重复组
|
| 29 |
+
greeting_2.txt 内容 = "Hello" ┘
|
| 30 |
+
refund_3.txt 内容 = "Refund OK" ← 内容唯一
|
| 31 |
+
|
| 32 |
+
模型完成后:
|
| 33 |
+
refund_3.txt 内容 = "Refund OK" ← 唯一的,留原地
|
| 34 |
+
duplicates/
|
| 35 |
+
├── greeting_0.txt 内容 = "Hello" ┐
|
| 36 |
+
├── greeting_1.txt 内容 = "Hello" ├ 整组移入,内容不变
|
| 37 |
+
└── greeting_2.txt 内容 = "Hello" ┘
|
| 38 |
+
```
|
| 39 |
+
|
| 40 |
+
### 难度分档(`--difficulty`)
|
| 41 |
+
|
| 42 |
+
| 档位 | 结构 | 特点 |
|
| 43 |
+
|------|------|------|
|
| 44 |
+
| `easy` | 2 组重复 + 3 唯一,无陷阱 | 简单 |
|
| 45 |
+
| `medium` | 3 组(2~3 副本)+ 3 唯一 + **2 个陷阱** | 中等(默认)|
|
| 46 |
+
| `hard` | 4 组(2~4 副本)+ 4 唯一 + **3 个陷阱** + 长文本 | 难 |
|
| 47 |
+
| `none` | 全部唯一,无重复 | 边界:`duplicates/` 应为空 |
|
| 48 |
+
| `all` | 单组全副本 | 边界:全部移走 |
|
| 49 |
+
|
| 50 |
+
### 核心机制:近似重复陷阱(near-duplicate)
|
| 51 |
+
|
| 52 |
+
`medium`/`hard` 会埋入"看起来几乎一样、但不是字节相同"的陷阱文件(`_mutate`):尾部多一个空格、多一个换行、首字母大小写翻转等。按"逐字节相同"的规则,它们是**唯一的、应留在原地**。
|
| 53 |
+
|
| 54 |
+
- 真做字节比对的模型 → 正确留下;
|
| 55 |
+
- 偷懒按相似度/文件名判断的模型 → 误移进 `duplicates/` → 被 verifier 抓出失败。
|
| 56 |
+
|
| 57 |
+
这就是任务区分度的来源。`hard` 还用 `_lengthen` 把内容拉长到 ~1KB,迫使模型完整比对而非只看开头。
|
| 58 |
+
|
| 59 |
+
---
|
| 60 |
+
|
| 61 |
+
## 2. 合成数据的思路
|
| 62 |
+
|
| 63 |
+
造 benchmark,难点不是"造任务",而是**造出能被可靠判定对错的任务**。本子任务遵循全套设计原则:
|
| 64 |
+
|
| 65 |
+
### ① LLM 只造内容,不碰判定逻辑
|
| 66 |
+
|
| 67 |
+
- **LLM 负责**:文件名、正文(这里是"客服邮件模板"风格的真实文本)——制造多样性;
|
| 68 |
+
- **确定性代码负责**:哪些文件重复、放几份、陷阱怎么造、以及全部验证逻辑。
|
| 69 |
+
|
| 70 |
+
即使 LLM 胡说,也只影响"像不像真的",不影响任务正确性。无 API key 时自动降级为离线文本(`--no-llm`)。
|
| 71 |
+
|
| 72 |
+
### ② Verifier 可重算(recomputable),不存标准答案
|
| 73 |
+
|
| 74 |
+
`verify.py` **不记录**"哪些文件是重复的",而是**从结果文件现场重算**:读出每个文件(无论在 root 还是 `duplicates/`)的内容字节 → 按内容重新分组 → 判定"组内 >1 个就必须在 `duplicates/`,唯一就必须在 root"。
|
| 75 |
+
|
| 76 |
+
```python
|
| 77 |
+
groups = {} # 按内容字节重新分组
|
| 78 |
+
for name in FILES:
|
| 79 |
+
groups.setdefault(content[name], []).append(name)
|
| 80 |
+
for name in FILES:
|
| 81 |
+
is_dup = len(groups[content[name]]) > 1
|
| 82 |
+
if is_dup and loc[name] != "dup": fail(...) # 重复的没移走
|
| 83 |
+
if not is_dup and loc[name] != "root": fail(...) # 唯一的被误移
|
| 84 |
+
```
|
| 85 |
+
|
| 86 |
+
因为答案是 verifier 自己从内容推出来的,模型蒙不过去;近似重复陷阱天然会各自成单独组、被判为"应留原地",所以**加陷阱完全安全,verifier 一行都不用改**。
|
| 87 |
+
|
| 88 |
+
> 注:唯一"种入"的信息是原始文件名清单 `FILES`,只用于查完整性(确认没文件凭空消失),不参与对错判定。
|
| 89 |
+
|
| 90 |
+
### ③ Oracle 闭环自检:出厂前保证验证器正确
|
| 91 |
+
|
| 92 |
+
每个生成器都配一个 `solve()`(标准解程序)。生成时自动做两个检查:
|
| 93 |
+
|
| 94 |
+
- **正检**:用 oracle 解出正确答案 → `verify.py` 必须返回 PASS;
|
| 95 |
+
- **负检**:在未解的原始环境上跑 `verify.py` → 必须返回 FAIL。
|
| 96 |
+
|
| 97 |
+
任一不满足就**丢弃该任务、不落盘**。这保证了:每个合成任务都可解、且其验证器正确。
|
| 98 |
+
|
| 99 |
+
```
|
| 100 |
+
生成环境 → oracle 自动解 → verify 必过 + 未解必挂 → 才算合格任务
|
| 101 |
+
```
|
| 102 |
+
|
| 103 |
+
---
|
| 104 |
+
|
| 105 |
+
## 3. 怎么生��� + 跑出轨迹
|
| 106 |
+
|
| 107 |
+
> 均在 `mcpmark` conda 环境、仓库根目录下执行。模型这里用 DeepSeek(key 写在根目录 `.mcp_env`)。
|
| 108 |
+
|
| 109 |
+
### ① 生成任务
|
| 110 |
+
|
| 111 |
+
```bash
|
| 112 |
+
conda run -n mcpmark python -m synth.generate \
|
| 113 |
+
--n 1 --types duplicate_finder --difficulty hard --seed 7 --prefix demo
|
| 114 |
+
```
|
| 115 |
+
|
| 116 |
+
产出两处:
|
| 117 |
+
- 任务定义:`tasks/filesystem/standard/demo_duplicate_finder_01/duplicate_finder/`(`description.md` / `verify.py` / `meta.json`)
|
| 118 |
+
- 测试环境:`test_environments/demo_duplicate_finder_01/`(模型要操作的初始文件)
|
| 119 |
+
|
| 120 |
+
常用参数:`--n` 数量、`--difficulty easy|medium|hard|none|all`、`--seed` 复现、`--no-llm` 离线、`--prefix` category 前缀。
|
| 121 |
+
|
| 122 |
+
### ② 跑任务(自动产生并保存轨迹)
|
| 123 |
+
|
| 124 |
+
```bash
|
| 125 |
+
conda run -n mcpmark python -m pipeline --mcp filesystem --k 1 \
|
| 126 |
+
--models deepseek-v3.2-instruct \
|
| 127 |
+
--tasks demo_duplicate_finder_01 --exp-name traj
|
| 128 |
+
```
|
| 129 |
+
|
| 130 |
+
四个阶段:Setup(备份隔离环境)→ Execute(起 filesystem MCP server,模型操作)→ Verify(跑 `verify.py`)→ Cleanup(删备份)。
|
| 131 |
+
|
| 132 |
+
轨迹**自动保存**,无需开关,落到:
|
| 133 |
+
```
|
| 134 |
+
results/traj/deepseek-v3-2-instruct__filesystem/run-1/<task>/
|
| 135 |
+
├── messages.json # 完整轨迹(思考 + 工具调用 + 工具返回)
|
| 136 |
+
├── execution.log # 框架运行日志
|
| 137 |
+
└── meta.json # 成功与否 / token / 轮数 / 耗时
|
| 138 |
+
```
|
| 139 |
+
|
| 140 |
+
### ③ 查看轨迹
|
| 141 |
+
|
| 142 |
+
```bash
|
| 143 |
+
# 列出某次实验下所有轨迹
|
| 144 |
+
conda run -n mcpmark python -m synth.trace results/traj --list
|
| 145 |
+
|
| 146 |
+
# 渲染单条(👤指令 / 💬思考 / 🔧工具调用 / 📤结果 + 结果footer)
|
| 147 |
+
conda run -n mcpmark python -m synth.trace \
|
| 148 |
+
results/traj/deepseek-v3-2-instruct__filesystem/run-1/demo_duplicate_finder_01__duplicate_finder
|
| 149 |
+
```
|
| 150 |
+
|
| 151 |
+
### 轨迹示例
|
| 152 |
+
|
| 153 |
+
下面是一条真实轨迹(`medium` 难度,模型被陷阱骗而失败),经 `synth.trace` 渲染后的样子:
|
| 154 |
+
|
| 155 |
+
```
|
| 156 |
+
========================================================================
|
| 157 |
+
Trajectory: demo_duplicate_finder_01__duplicate_finder (37 messages)
|
| 158 |
+
========================================================================
|
| 159 |
+
|
| 160 |
+
#0 👤 USER (task instruction)
|
| 161 |
+
Please use FileSystem tools to finish the following task:
|
| 162 |
+
### Task: Move duplicate-content files
|
| 163 |
+
1. Create a `duplicates/` directory in the test directory root.
|
| 164 |
+
2. A file is a duplicate if its content is byte-for-byte identical to at
|
| 165 |
+
least one other file. Move every such file (all copies) into `duplicates/`.
|
| 166 |
+
3. Files with unique content must stay where they are.
|
| 167 |
+
|
| 168 |
+
#1 💬 ASSISTANT
|
| 169 |
+
Let me start by exploring the test directory structure.
|
| 170 |
+
|
| 171 |
+
#2 🔧 TOOL CALL → list_allowed_directories
|
| 172 |
+
args: {}
|
| 173 |
+
#3 📤 OUTPUT: Allowed directories:
|
| 174 |
+
/home/zsb/mcpmark/.mcpmark_backups/backup_filesystem_demo_duplicate_finder_01_...
|
| 175 |
+
|
| 176 |
+
#4 🔧 TOOL CALL → list_directory
|
| 177 |
+
args: {'path': '/home/.../backup_filesystem_demo_duplicate_finder_01_...'}
|
| 178 |
+
#5 📤 OUTPUT: [FILE] cancellation_acknowledgment_10.txt
|
| 179 |
+
[FILE] cancellation_acknowledgment_4.txt
|
| 180 |
+
[FILE] order_confirmation_3.txt
|
| 181 |
+
... (13 files)
|
| 182 |
+
|
| 183 |
+
#6 💬 ASSISTANT
|
| 184 |
+
Great, I can see 13 text files. Let me read all of them to find duplicates.
|
| 185 |
+
|
| 186 |
+
#7 🔧 TOOL CALL → read_multiple_files
|
| 187 |
+
args: {'paths': "[... 13 paths ...]"}
|
| 188 |
+
#8 📤 OUTPUT: .../cancellation_acknowledgment_10.txt:
|
| 189 |
+
Thanks for reporting the bug. Our team is investigating ...
|
| 190 |
+
---
|
| 191 |
+
.../order_confirmation_3.txt: ...
|
| 192 |
+
|
| 193 |
+
#9 💬 ASSISTANT
|
| 194 |
+
Let me analyze the content carefully:
|
| 195 |
+
**Unique content files (no duplicates):** 1. cancellation_acknowledgment_10 ...
|
| 196 |
+
**Duplicate groups:** welcome_email_0 / _6 / _12, refund_request_1 / _7, ...
|
| 197 |
+
(← 凭一次读取直接下结论分组,没有逐字节复核陷阱文件)
|
| 198 |
+
|
| 199 |
+
#10 🔧 TOOL CALL → create_directory
|
| 200 |
+
args: {'path': '.../duplicates'}
|
| 201 |
+
#11 📤 OUTPUT: Successfully created directory .../duplicates
|
| 202 |
+
|
| 203 |
+
#12 💬 ASSISTANT
|
| 204 |
+
Now move all duplicate files. Let me move them all at once.
|
| 205 |
+
|
| 206 |
+
#13..#21 🔧 TOOL CALL → move_file (×9,把判定为重复的文件批量移入 duplicates/)
|
| 207 |
+
#22..#30 📤 OUTPUT: Successfully moved ...
|
| 208 |
+
|
| 209 |
+
#31 💬 ASSISTANT
|
| 210 |
+
Let me verify the final state of both directories.
|
| 211 |
+
#32 🔧 TOOL CALL → list_directory (root)
|
| 212 |
+
#33 🔧 TOOL CALL → list_directory (duplicates)
|
| 213 |
+
#34 📤 OUTPUT: [FILE] cancellation_acknowledgment_10.txt [DIR] duplicates ...
|
| 214 |
+
#35 📤 OUTPUT: [FILE] ... welcome_email_12.txt ... (← 陷阱文件被错误移了进来)
|
| 215 |
+
|
| 216 |
+
#36 💬 ASSISTANT
|
| 217 |
+
Task completed. Created duplicates/ and moved the duplicate groups ...
|
| 218 |
+
|
| 219 |
+
------------------------------------------------------------------------
|
| 220 |
+
result: ✗ FAILED | turns=7 | tokens=42034 | tool_calls=15 | time=20.2s
|
| 221 |
+
verify: ✅ all original files accounted for | ❌ welcome_email_12.txt is unique but was moved into duplicates/
|
| 222 |
+
```
|
| 223 |
+
|
| 224 |
+
**怎么读这条轨迹**:模型在 `#9` 只读了一遍就凭"看起来一样"分组,没有逐字节复核;于是把近似重复陷阱 `welcome_email_12.txt`(与 welcome_email 组只差一个尾部字节)误判为重复、移进了 `duplicates/`。`verify.py` 按字节重算后精确抓出 → `❌ FAILED`。
|
| 225 |
+
|
| 226 |
+
> 对照:认真比对的轨迹会在 `#9` 附近出现 “some files have trailing newlines/spaces that matter” 并逐个 `read_text_file` 复核,最终 `✅ PASSED`。**模型有没有真比对,看轨迹一目了然**——这正是「陷阱 + 轨迹」的价值。
|
| 227 |
+
|
| 228 |
+
---
|
| 229 |
+
|
| 230 |
+
## 4. 文件
|
| 231 |
+
|
| 232 |
+
```
|
| 233 |
+
duplicate_finder/
|
| 234 |
+
└── __init__.py # DuplicateFinder 生成器:build / description / verify_src / solve
|
| 235 |
+
```
|
| 236 |
+
|
| 237 |
+
- `build(env_dir, llm, rng)`:按难度造重复结构 + 陷阱,写入测试环境;
|
| 238 |
+
- `description(spec)`:给模型看的指令(固定、精确,定义"逐字节相同"与"全部移走");
|
| 239 |
+
- `verify_src(spec)`:生成自包含的可重算 `verify.py`;
|
| 240 |
+
- `solve(work_dir, spec)`:oracle 标准解,供闭环自检。
|
synth/generators/filesystem/duplicate_finder/__init__.py
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""`duplicate_finder` task generator."""
|
| 2 |
+
import json
|
| 3 |
+
import random
|
| 4 |
+
import shutil
|
| 5 |
+
from collections import defaultdict
|
| 6 |
+
from pathlib import Path
|
| 7 |
+
|
| 8 |
+
from ..base import (
|
| 9 |
+
Generator, _VERIFY_HEADER, _render_verify, pad_to, _write, _para,
|
| 10 |
+
_AUTHORS, _SONG_TITLES, _STUDENTS, _WORDS,
|
| 11 |
+
)
|
| 12 |
+
|
| 13 |
+
|
| 14 |
+
class DuplicateFinder(Generator):
|
| 15 |
+
KEY = "duplicate_finder"
|
| 16 |
+
CATEGORY_NAME = "Duplicate Finder"
|
| 17 |
+
DIFFICULTY = "L3"
|
| 18 |
+
TAGS = ["file content", "deduplication"]
|
| 19 |
+
|
| 20 |
+
DUP_DIR = "duplicates"
|
| 21 |
+
|
| 22 |
+
# difficulty -> structure: number of duplicate groups, copies-per-group range,
|
| 23 |
+
# number of unique singletons, number of near-duplicate traps, long content?
|
| 24 |
+
CONFIG = {
|
| 25 |
+
"easy": dict(groups=2, copies=(2, 2), uniques=3, near=0, long=False),
|
| 26 |
+
"medium": dict(groups=3, copies=(2, 3), uniques=3, near=2, long=False),
|
| 27 |
+
"hard": dict(groups=4, copies=(2, 4), uniques=4, near=3, long=True),
|
| 28 |
+
# edge cases:
|
| 29 |
+
"none": dict(groups=0, copies=(0, 0), uniques=6, near=0, long=False),
|
| 30 |
+
"all": dict(groups=1, copies=(6, 6), uniques=0, near=0, long=False),
|
| 31 |
+
}
|
| 32 |
+
|
| 33 |
+
def _lengthen(self, body, rng):
|
| 34 |
+
out = body.rstrip()
|
| 35 |
+
target = rng.randint(800, 1500)
|
| 36 |
+
while len(out) < target:
|
| 37 |
+
out += " " + " ".join(rng.choice(_WORDS) for _ in range(8)).capitalize() + "."
|
| 38 |
+
return out
|
| 39 |
+
|
| 40 |
+
def _mutate(self, base, i):
|
| 41 |
+
"""A tiny, easy-to-miss change so the file is NOT byte-identical."""
|
| 42 |
+
b = base.rstrip()
|
| 43 |
+
variants = [
|
| 44 |
+
b + " " * (i + 1), # trailing spaces
|
| 45 |
+
b + "\n", # extra newline
|
| 46 |
+
(b[0].swapcase() + b[1:]) if b else b + ".", # flip first letter
|
| 47 |
+
b.replace(" ", " ", 1) if " " in b else b + " ", # double one space
|
| 48 |
+
]
|
| 49 |
+
return variants[i % len(variants)]
|
| 50 |
+
|
| 51 |
+
def build(self, env_dir, llm, rng):
|
| 52 |
+
cfg = self.CONFIG.get(self.difficulty, self.CONFIG["medium"])
|
| 53 |
+
n_bodies = max(cfg["groups"] + cfg["uniques"], 1)
|
| 54 |
+
snippets = llm.gen_snippets("customer support email templates", n_bodies)
|
| 55 |
+
bodies = [s["content"].rstrip() for s in snippets]
|
| 56 |
+
if cfg["long"]:
|
| 57 |
+
bodies = [self._lengthen(b, rng) for b in bodies]
|
| 58 |
+
name_pool = [s["filename"] for s in snippets] or ["doc"]
|
| 59 |
+
|
| 60 |
+
group_bodies = bodies[: cfg["groups"]]
|
| 61 |
+
unique_bodies = bodies[cfg["groups"]: cfg["groups"] + cfg["uniques"]]
|
| 62 |
+
|
| 63 |
+
files, seen, ni = [], set(), 0
|
| 64 |
+
|
| 65 |
+
def add(content):
|
| 66 |
+
nonlocal ni
|
| 67 |
+
name = f"{name_pool[ni % len(name_pool)]}_{ni}.txt"
|
| 68 |
+
ni += 1
|
| 69 |
+
_write(env_dir / name, content)
|
| 70 |
+
files.append(name)
|
| 71 |
+
seen.add(content)
|
| 72 |
+
|
| 73 |
+
# duplicate groups: every copy is byte-identical
|
| 74 |
+
for b in group_bodies:
|
| 75 |
+
for _ in range(rng.randint(*cfg["copies"])):
|
| 76 |
+
add(b)
|
| 77 |
+
# unique singletons: stay in the root
|
| 78 |
+
for b in unique_bodies:
|
| 79 |
+
add(b)
|
| 80 |
+
# near-duplicate traps: look almost identical to a real group but differ by a
|
| 81 |
+
# byte, so by the byte-for-byte rule they are UNIQUE and must stay in the root.
|
| 82 |
+
pool = group_bodies or unique_bodies or ["placeholder text"]
|
| 83 |
+
for i in range(cfg["near"]):
|
| 84 |
+
trap = self._mutate(rng.choice(pool), i)
|
| 85 |
+
guard = 0
|
| 86 |
+
while trap in seen and guard < 6: # guarantee genuine uniqueness
|
| 87 |
+
trap += " "
|
| 88 |
+
guard += 1
|
| 89 |
+
add(trap)
|
| 90 |
+
|
| 91 |
+
rng.shuffle(files)
|
| 92 |
+
return {"files": files, "dup_dir": self.DUP_DIR, "difficulty": self.difficulty}
|
| 93 |
+
|
| 94 |
+
def description(self, spec):
|
| 95 |
+
return (
|
| 96 |
+
"Please use FileSystem tools to finish the following task:\n\n"
|
| 97 |
+
"### Task: Move duplicate-content files\n\n"
|
| 98 |
+
"Some text files in the test directory have **identical content**.\n\n"
|
| 99 |
+
f"1. Create a `{self.DUP_DIR}/` directory in the test directory root.\n"
|
| 100 |
+
"2. A file is a **duplicate** if its content is byte-for-byte identical "
|
| 101 |
+
"to at least one other file. Move **every** such file (all copies) into "
|
| 102 |
+
f"`{self.DUP_DIR}/`.\n"
|
| 103 |
+
"3. Files with unique content must stay where they are.\n\n"
|
| 104 |
+
"Do not modify, rename, or delete any file."
|
| 105 |
+
)
|
| 106 |
+
|
| 107 |
+
def verify_src(self, spec):
|
| 108 |
+
consts = {"FILES": spec["files"], "DUP_DIR": spec["dup_dir"]}
|
| 109 |
+
return _VERIFY_HEADER + f'''
|
| 110 |
+
|
| 111 |
+
C = json.loads({json.dumps(json.dumps(consts))})
|
| 112 |
+
|
| 113 |
+
|
| 114 |
+
def main():
|
| 115 |
+
t = get_test_dir()
|
| 116 |
+
dup = t / C["DUP_DIR"]
|
| 117 |
+
if not dup.is_dir():
|
| 118 |
+
fail(f"missing directory: {{C['DUP_DIR']}}")
|
| 119 |
+
|
| 120 |
+
# Locate every original file and read its content.
|
| 121 |
+
loc, content = {{}}, {{}}
|
| 122 |
+
for f in t.iterdir():
|
| 123 |
+
if f.is_file() and f.name not in SYSTEM_FILES:
|
| 124 |
+
loc[f.name] = "root"
|
| 125 |
+
content[f.name] = f.read_bytes()
|
| 126 |
+
for f in dup.iterdir():
|
| 127 |
+
if f.is_file() and f.name not in SYSTEM_FILES:
|
| 128 |
+
loc[f.name] = "dup"
|
| 129 |
+
content[f.name] = f.read_bytes()
|
| 130 |
+
|
| 131 |
+
for name in C["FILES"]:
|
| 132 |
+
if name not in loc:
|
| 133 |
+
fail(f"file missing after task: {{name}}")
|
| 134 |
+
ok("all original files accounted for")
|
| 135 |
+
|
| 136 |
+
# Recompute duplicate groups from content.
|
| 137 |
+
groups = {{}}
|
| 138 |
+
for name in C["FILES"]:
|
| 139 |
+
groups.setdefault(content[name], []).append(name)
|
| 140 |
+
|
| 141 |
+
for name in C["FILES"]:
|
| 142 |
+
is_dup = len(groups[content[name]]) > 1
|
| 143 |
+
if is_dup and loc[name] != "dup":
|
| 144 |
+
fail(f"{{name}} has duplicate content but is not in {{C['DUP_DIR']}}/")
|
| 145 |
+
if not is_dup and loc[name] != "root":
|
| 146 |
+
fail(f"{{name}} is unique but was moved into {{C['DUP_DIR']}}/")
|
| 147 |
+
ok("duplicates and unique files are correctly placed")
|
| 148 |
+
print("\\U0001f389 All checks passed!")
|
| 149 |
+
sys.exit(0)
|
| 150 |
+
|
| 151 |
+
|
| 152 |
+
if __name__ == "__main__":
|
| 153 |
+
main()
|
| 154 |
+
'''
|
| 155 |
+
|
| 156 |
+
def solve(self, work_dir, spec):
|
| 157 |
+
dup = work_dir / spec["dup_dir"]
|
| 158 |
+
dup.mkdir(exist_ok=True)
|
| 159 |
+
groups = defaultdict(list)
|
| 160 |
+
for name in spec["files"]:
|
| 161 |
+
groups[(work_dir / name).read_bytes()].append(name)
|
| 162 |
+
for names in groups.values():
|
| 163 |
+
if len(names) > 1:
|
| 164 |
+
for name in names:
|
| 165 |
+
shutil.move(str(work_dir / name), str(dup / name))
|
synth/generators/filesystem/extension_grouping/__init__.py
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""`extension_grouping` task generator."""
|
| 2 |
+
import json
|
| 3 |
+
import random
|
| 4 |
+
import shutil
|
| 5 |
+
from collections import defaultdict
|
| 6 |
+
from pathlib import Path
|
| 7 |
+
|
| 8 |
+
from ..base import (
|
| 9 |
+
Generator, _VERIFY_HEADER, _render_verify, pad_to, _write, _para,
|
| 10 |
+
_AUTHORS, _SONG_TITLES, _STUDENTS, _WORDS,
|
| 11 |
+
)
|
| 12 |
+
|
| 13 |
+
|
| 14 |
+
class ExtensionGrouping(Generator):
|
| 15 |
+
KEY = "extension_grouping"
|
| 16 |
+
CATEGORY_NAME = "Extension Grouping"
|
| 17 |
+
DIFFICULTY = "L2"
|
| 18 |
+
TAGS = ["file organization", "file property"]
|
| 19 |
+
|
| 20 |
+
EXTS = [".txt", ".md", ".csv", ".json", ".log"]
|
| 21 |
+
|
| 22 |
+
def _folder(self, name: str) -> str:
|
| 23 |
+
return Path(name).suffix.lower().lstrip(".") + "_files"
|
| 24 |
+
|
| 25 |
+
def build(self, env_dir, llm, rng):
|
| 26 |
+
snippets = llm.gen_snippets("a software project's working files", 9)
|
| 27 |
+
files = []
|
| 28 |
+
for i, snip in enumerate(snippets):
|
| 29 |
+
ext = self.EXTS[i % len(self.EXTS)]
|
| 30 |
+
name = snip["filename"] + ext
|
| 31 |
+
body = snip["content"]
|
| 32 |
+
if ext == ".csv":
|
| 33 |
+
body = "name,value\n" + body.replace(" ", ",")[:60]
|
| 34 |
+
elif ext == ".json":
|
| 35 |
+
body = json.dumps({"note": body[:60]})
|
| 36 |
+
_write(env_dir / name, body)
|
| 37 |
+
files.append(name)
|
| 38 |
+
return {"files": files}
|
| 39 |
+
|
| 40 |
+
def description(self, spec):
|
| 41 |
+
return (
|
| 42 |
+
"Please use FileSystem tools to finish the following task:\n\n"
|
| 43 |
+
"### Task: Group files by extension\n\n"
|
| 44 |
+
"For every distinct file extension present in the test directory, create "
|
| 45 |
+
"a folder named `<ext>_files` (the extension lowercased, without the dot — "
|
| 46 |
+
"for example `.txt` files go into `txt_files/`, `.md` into `md_files/`).\n\n"
|
| 47 |
+
"- Move every file into the folder matching its extension.\n"
|
| 48 |
+
"- After you are done, the test directory root must contain only those "
|
| 49 |
+
"folders and no loose files.\n"
|
| 50 |
+
"- Do not rename or modify any file."
|
| 51 |
+
)
|
| 52 |
+
|
| 53 |
+
def verify_src(self, spec):
|
| 54 |
+
consts = {"FILES": spec["files"]}
|
| 55 |
+
return _VERIFY_HEADER + f'''
|
| 56 |
+
|
| 57 |
+
C = json.loads({json.dumps(json.dumps(consts))})
|
| 58 |
+
|
| 59 |
+
|
| 60 |
+
def folder_for(name):
|
| 61 |
+
suffix = name.rsplit(".", 1)[-1].lower() if "." in name else ""
|
| 62 |
+
return suffix + "_files"
|
| 63 |
+
|
| 64 |
+
|
| 65 |
+
def main():
|
| 66 |
+
t = get_test_dir()
|
| 67 |
+
|
| 68 |
+
loose = [f.name for f in t.iterdir() if f.is_file() and f.name not in SYSTEM_FILES]
|
| 69 |
+
if loose:
|
| 70 |
+
fail(f"files still in root: {{loose}}")
|
| 71 |
+
ok("root has no loose files")
|
| 72 |
+
|
| 73 |
+
located = {{}}
|
| 74 |
+
for d in t.iterdir():
|
| 75 |
+
if d.is_dir():
|
| 76 |
+
for f in d.iterdir():
|
| 77 |
+
if f.is_file() and f.name not in SYSTEM_FILES:
|
| 78 |
+
located.setdefault(f.name, []).append(d.name)
|
| 79 |
+
|
| 80 |
+
for name in C["FILES"]:
|
| 81 |
+
where = located.get(name)
|
| 82 |
+
if not where:
|
| 83 |
+
fail(f"file missing after grouping: {{name}}")
|
| 84 |
+
if len(where) > 1:
|
| 85 |
+
fail(f"file duplicated across folders: {{name}} -> {{where}}")
|
| 86 |
+
expected = folder_for(name)
|
| 87 |
+
if where[0] != expected:
|
| 88 |
+
fail(f"{{name}} is in {{where[0]}}, expected {{expected}}")
|
| 89 |
+
ok(f"all {{len(C['FILES'])}} files grouped correctly by extension")
|
| 90 |
+
print("\\U0001f389 All checks passed!")
|
| 91 |
+
sys.exit(0)
|
| 92 |
+
|
| 93 |
+
|
| 94 |
+
if __name__ == "__main__":
|
| 95 |
+
main()
|
| 96 |
+
'''
|
| 97 |
+
|
| 98 |
+
def solve(self, work_dir, spec):
|
| 99 |
+
for name in spec["files"]:
|
| 100 |
+
folder = self._folder(name)
|
| 101 |
+
(work_dir / folder).mkdir(exist_ok=True)
|
| 102 |
+
shutil.move(str(work_dir / name), str(work_dir / folder / name))
|
synth/generators/filesystem/file_splitting/__init__.py
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""`file_splitting` task generator."""
|
| 2 |
+
import json
|
| 3 |
+
import random
|
| 4 |
+
import shutil
|
| 5 |
+
from collections import defaultdict
|
| 6 |
+
from pathlib import Path
|
| 7 |
+
|
| 8 |
+
from ..base import (
|
| 9 |
+
Generator, _VERIFY_HEADER, _render_verify, pad_to, _write, _para,
|
| 10 |
+
_AUTHORS, _SONG_TITLES, _STUDENTS, _WORDS,
|
| 11 |
+
)
|
| 12 |
+
|
| 13 |
+
|
| 14 |
+
class FileSplitting(Generator):
|
| 15 |
+
KEY = "file_splitting"
|
| 16 |
+
CATEGORY_NAME = "File Splitting"
|
| 17 |
+
DIFFICULTY = "L2"
|
| 18 |
+
TAGS = ["file content", "split"]
|
| 19 |
+
|
| 20 |
+
SRC = "combined.txt"
|
| 21 |
+
DELIM = "-----"
|
| 22 |
+
OUT_DIR = "parts"
|
| 23 |
+
|
| 24 |
+
def build(self, env_dir, llm, rng):
|
| 25 |
+
k = rng.randint(3, 5)
|
| 26 |
+
sections = []
|
| 27 |
+
for _ in range(k):
|
| 28 |
+
sections.append("\n".join(_para(rng, rng.randint(2, 4))))
|
| 29 |
+
content = ("\n" + self.DELIM + "\n").join(sections)
|
| 30 |
+
_write(env_dir / self.SRC, content + "\n")
|
| 31 |
+
return {"src": self.SRC, "delim": self.DELIM, "out_dir": self.OUT_DIR, "k": k}
|
| 32 |
+
|
| 33 |
+
def description(self, spec):
|
| 34 |
+
return (
|
| 35 |
+
"Please use FileSystem tools to finish the following task:\n\n"
|
| 36 |
+
"### Task: Split a combined file into parts\n\n"
|
| 37 |
+
f"The file `{self.SRC}` contains several sections separated by lines that "
|
| 38 |
+
f"consist of exactly `{self.DELIM}`.\n\n"
|
| 39 |
+
f"1. Create a folder named `{self.OUT_DIR}/` in the test directory root.\n"
|
| 40 |
+
f"2. Write each section, in order, to `{self.OUT_DIR}/part_1.txt`, "
|
| 41 |
+
f"`{self.OUT_DIR}/part_2.txt`, … (1-based).\n"
|
| 42 |
+
"3. Each part file contains only that section's text (no delimiter "
|
| 43 |
+
"lines). Do not modify the original file."
|
| 44 |
+
)
|
| 45 |
+
|
| 46 |
+
def verify_src(self, spec):
|
| 47 |
+
body = '''
|
| 48 |
+
C = json.loads(__CONSTS__)
|
| 49 |
+
|
| 50 |
+
|
| 51 |
+
def main():
|
| 52 |
+
t = get_test_dir()
|
| 53 |
+
src = t / C["src"]
|
| 54 |
+
if not src.is_file():
|
| 55 |
+
fail(f"source file missing: {C['src']}")
|
| 56 |
+
sections = src.read_text(encoding="utf-8").split("\\n" + C["delim"] + "\\n")
|
| 57 |
+
pdir = t / C["out_dir"]
|
| 58 |
+
if not pdir.is_dir():
|
| 59 |
+
fail(f"missing directory: {C['out_dir']}")
|
| 60 |
+
for i, sec in enumerate(sections, 1):
|
| 61 |
+
pf = pdir / f"part_{i}.txt"
|
| 62 |
+
if not pf.is_file():
|
| 63 |
+
fail(f"missing part file: part_{i}.txt")
|
| 64 |
+
if pf.read_text(encoding="utf-8").strip() != sec.strip():
|
| 65 |
+
fail(f"part_{i}.txt content does not match section {i}")
|
| 66 |
+
extra = [p.name for p in pdir.iterdir() if p.is_file() and p.name not in
|
| 67 |
+
{f"part_{i}.txt" for i in range(1, len(sections) + 1)}]
|
| 68 |
+
if extra:
|
| 69 |
+
fail(f"unexpected files in {C['out_dir']}: {extra}")
|
| 70 |
+
ok(f"file correctly split into {len(sections)} parts")
|
| 71 |
+
print("\\U0001f389 All checks passed!")
|
| 72 |
+
sys.exit(0)
|
| 73 |
+
|
| 74 |
+
|
| 75 |
+
if __name__ == "__main__":
|
| 76 |
+
main()
|
| 77 |
+
'''
|
| 78 |
+
return _render_verify(body, {"src": spec["src"], "delim": spec["delim"], "out_dir": spec["out_dir"]})
|
| 79 |
+
|
| 80 |
+
def solve(self, work_dir, spec):
|
| 81 |
+
src = work_dir / spec["src"]
|
| 82 |
+
sections = src.read_text(encoding="utf-8").split("\n" + spec["delim"] + "\n")
|
| 83 |
+
pdir = work_dir / spec["out_dir"]
|
| 84 |
+
pdir.mkdir(exist_ok=True)
|
| 85 |
+
for i, sec in enumerate(sections, 1):
|
| 86 |
+
_write(pdir / f"part_{i}.txt", sec.strip() + "\n")
|
synth/generators/filesystem/gradebased_score/__init__.py
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""`gradebased_score` task generator."""
|
| 2 |
+
import json
|
| 3 |
+
import random
|
| 4 |
+
import shutil
|
| 5 |
+
from collections import defaultdict
|
| 6 |
+
from pathlib import Path
|
| 7 |
+
|
| 8 |
+
from ..base import (
|
| 9 |
+
Generator, _VERIFY_HEADER, _render_verify, pad_to, _write, _para,
|
| 10 |
+
_AUTHORS, _SONG_TITLES, _STUDENTS, _WORDS,
|
| 11 |
+
)
|
| 12 |
+
|
| 13 |
+
|
| 14 |
+
class GradeBasedScore(Generator):
|
| 15 |
+
KEY = "gradebased_score"
|
| 16 |
+
CATEGORY_NAME = "Grade-based Score"
|
| 17 |
+
DIFFICULTY = "L3"
|
| 18 |
+
TAGS = ["database", "filtering"]
|
| 19 |
+
|
| 20 |
+
CSV = "students.csv"
|
| 21 |
+
OUT = "top_students.txt"
|
| 22 |
+
THRESHOLD = 210
|
| 23 |
+
|
| 24 |
+
def build(self, env_dir, llm, rng):
|
| 25 |
+
names = rng.sample(_STUDENTS, rng.randint(6, 8))
|
| 26 |
+
rows = []
|
| 27 |
+
for nm in names:
|
| 28 |
+
rows.append((nm, rng.randint(40, 100), rng.randint(40, 100), rng.randint(40, 100)))
|
| 29 |
+
lines = ["name,math,english,science"]
|
| 30 |
+
for nm, m, e, s in rows:
|
| 31 |
+
lines.append(f"{nm},{m},{e},{s}")
|
| 32 |
+
_write(env_dir / self.CSV, "\n".join(lines) + "\n")
|
| 33 |
+
return {"csv": self.CSV, "out": self.OUT, "threshold": self.THRESHOLD}
|
| 34 |
+
|
| 35 |
+
def description(self, spec):
|
| 36 |
+
return (
|
| 37 |
+
"Please use FileSystem tools to finish the following task:\n\n"
|
| 38 |
+
"### Task: List top students\n\n"
|
| 39 |
+
f"`{self.CSV}` has columns `name,math,english,science`.\n\n"
|
| 40 |
+
f"1. Compute each student's total = math + english + science.\n"
|
| 41 |
+
f"2. Select students whose total is **>= {self.THRESHOLD}**.\n"
|
| 42 |
+
"3. Sort them by total **descending**; break ties by name ascending.\n"
|
| 43 |
+
f"4. Write the selected students' names (one per line, names only) to "
|
| 44 |
+
f"`{self.OUT}` in the test directory root. Do not modify `{self.CSV}`."
|
| 45 |
+
)
|
| 46 |
+
|
| 47 |
+
def verify_src(self, spec):
|
| 48 |
+
body = '''
|
| 49 |
+
import csv as _csv
|
| 50 |
+
C = json.loads(__CONSTS__)
|
| 51 |
+
|
| 52 |
+
|
| 53 |
+
def expected(t):
|
| 54 |
+
rows = []
|
| 55 |
+
with open(t / C["csv"], newline="", encoding="utf-8") as fh:
|
| 56 |
+
for r in _csv.DictReader(fh):
|
| 57 |
+
total = int(r["math"]) + int(r["english"]) + int(r["science"])
|
| 58 |
+
if total >= C["threshold"]:
|
| 59 |
+
rows.append((total, r["name"]))
|
| 60 |
+
rows.sort(key=lambda x: (-x[0], x[1]))
|
| 61 |
+
return "\\n".join(n for _, n in rows)
|
| 62 |
+
|
| 63 |
+
|
| 64 |
+
def main():
|
| 65 |
+
t = get_test_dir()
|
| 66 |
+
out = t / C["out"]
|
| 67 |
+
if not out.is_file():
|
| 68 |
+
fail(f"output file not found: {C['out']}")
|
| 69 |
+
got = out.read_text(encoding="utf-8").strip()
|
| 70 |
+
exp = expected(t).strip()
|
| 71 |
+
if got != exp:
|
| 72 |
+
print("--- expected ---"); print(exp)
|
| 73 |
+
print("--- got ---"); print(got)
|
| 74 |
+
fail("top_students.txt does not match expected selection/order")
|
| 75 |
+
ok("top students correctly selected and ordered")
|
| 76 |
+
print("\\U0001f389 All checks passed!")
|
| 77 |
+
sys.exit(0)
|
| 78 |
+
|
| 79 |
+
|
| 80 |
+
if __name__ == "__main__":
|
| 81 |
+
main()
|
| 82 |
+
'''
|
| 83 |
+
return _render_verify(body, {"csv": spec["csv"], "out": spec["out"], "threshold": spec["threshold"]})
|
| 84 |
+
|
| 85 |
+
def solve(self, work_dir, spec):
|
| 86 |
+
import csv as _csv
|
| 87 |
+
rows = []
|
| 88 |
+
with open(work_dir / spec["csv"], newline="", encoding="utf-8") as fh:
|
| 89 |
+
for r in _csv.DictReader(fh):
|
| 90 |
+
total = int(r["math"]) + int(r["english"]) + int(r["science"])
|
| 91 |
+
if total >= spec["threshold"]:
|
| 92 |
+
rows.append((total, r["name"]))
|
| 93 |
+
rows.sort(key=lambda x: (-x[0], x[1]))
|
| 94 |
+
_write(work_dir / spec["out"], "\n".join(n for _, n in rows) + "\n")
|