Spaces:
Running
Running
Deploy ENCODE backend (allowlisted runtime)
Browse files- .dockerignore +20 -0
- .gitattributes +2 -32
- Dockerfile +41 -0
- README.md +110 -6
- artifacts/part_a_canonical/algorithm_components.jsonl +0 -0
- artifacts/part_a_canonical/build_report.md +56 -0
- artifacts/part_a_canonical/canonical_phenotypes.jsonl +3 -0
- artifacts/part_a_canonical/cipher_links.jsonl +0 -0
- artifacts/part_a_canonical/code_descriptions.jsonl +0 -0
- artifacts/part_a_canonical/code_descriptions_report.md +32 -0
- artifacts/part_a_canonical/embedding_documents.jsonl +3 -0
- artifacts/part_a_canonical/loinc_terms.jsonl +3 -0
- artifacts/part_a_canonical/med_ingredient_map.jsonl +0 -0
- artifacts/part_a_canonical/rxcui_ingredient_map.jsonl +0 -0
- artifacts/part_a_embeddings/code.npy +3 -0
- artifacts/part_a_embeddings/code_meta.json +0 -0
- artifacts/part_a_embeddings/config.json +10 -0
- artifacts/part_a_embeddings/metadata.npy +3 -0
- artifacts/part_a_embeddings/metadata_ids.json +1 -0
- artifacts/vidul/BGE_FT_VA/config.json +31 -0
.dockerignore
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
**
|
| 2 |
+
!Dockerfile
|
| 3 |
+
!README.md
|
| 4 |
+
!src/
|
| 5 |
+
!src/**
|
| 6 |
+
src/frontend/demo/
|
| 7 |
+
!artifacts/
|
| 8 |
+
artifacts/**
|
| 9 |
+
!artifacts/part_a_embeddings/
|
| 10 |
+
!artifacts/part_a_embeddings/**
|
| 11 |
+
!artifacts/part_a_canonical/
|
| 12 |
+
!artifacts/part_a_canonical/canonical_phenotypes.jsonl
|
| 13 |
+
!artifacts/part_a_canonical/code_descriptions.jsonl
|
| 14 |
+
!artifacts/part_a_canonical/algorithm_components.jsonl
|
| 15 |
+
!artifacts/part_a_canonical/cipher_links.jsonl
|
| 16 |
+
!artifacts/part_a_canonical/med_ingredient_map.jsonl
|
| 17 |
+
!artifacts/part_a_canonical/rxcui_ingredient_map.jsonl
|
| 18 |
+
!artifacts/part_a_canonical/loinc_terms.jsonl
|
| 19 |
+
!artifacts/vidul/
|
| 20 |
+
!artifacts/vidul/**
|
.gitattributes
CHANGED
|
@@ -1,35 +1,5 @@
|
|
| 1 |
-
*.7z filter=lfs diff=lfs merge=lfs -text
|
| 2 |
-
*.arrow filter=lfs diff=lfs merge=lfs -text
|
| 3 |
-
*.bin filter=lfs diff=lfs merge=lfs -text
|
| 4 |
-
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
| 5 |
-
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
| 6 |
-
*.ftz filter=lfs diff=lfs merge=lfs -text
|
| 7 |
-
*.gz filter=lfs diff=lfs merge=lfs -text
|
| 8 |
-
*.h5 filter=lfs diff=lfs merge=lfs -text
|
| 9 |
-
*.joblib filter=lfs diff=lfs merge=lfs -text
|
| 10 |
-
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
| 11 |
-
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
| 12 |
-
*.model filter=lfs diff=lfs merge=lfs -text
|
| 13 |
-
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 14 |
*.npy filter=lfs diff=lfs merge=lfs -text
|
| 15 |
-
*.npz filter=lfs diff=lfs merge=lfs -text
|
| 16 |
-
*.onnx filter=lfs diff=lfs merge=lfs -text
|
| 17 |
-
*.ot filter=lfs diff=lfs merge=lfs -text
|
| 18 |
-
*.parquet filter=lfs diff=lfs merge=lfs -text
|
| 19 |
-
*.pb filter=lfs diff=lfs merge=lfs -text
|
| 20 |
-
*.pickle filter=lfs diff=lfs merge=lfs -text
|
| 21 |
-
*.pkl filter=lfs diff=lfs merge=lfs -text
|
| 22 |
-
*.pt filter=lfs diff=lfs merge=lfs -text
|
| 23 |
-
*.pth filter=lfs diff=lfs merge=lfs -text
|
| 24 |
-
*.rar filter=lfs diff=lfs merge=lfs -text
|
| 25 |
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 26 |
-
|
| 27 |
-
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
| 28 |
-
*.tar filter=lfs diff=lfs merge=lfs -text
|
| 29 |
-
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 30 |
-
*.tgz filter=lfs diff=lfs merge=lfs -text
|
| 31 |
-
*.wasm filter=lfs diff=lfs merge=lfs -text
|
| 32 |
-
*.xz filter=lfs diff=lfs merge=lfs -text
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
-
*.
|
| 35 |
-
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
*.npy filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
*.faiss filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
artifacts/part_a_canonical/*.jsonl filter=lfs diff=lfs merge=lfs -text
|
|
|
Dockerfile
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM python:3.12-slim
|
| 2 |
+
|
| 3 |
+
RUN useradd -m -u 1000 user
|
| 4 |
+
USER user
|
| 5 |
+
|
| 6 |
+
ENV HOME=/home/user \
|
| 7 |
+
PATH=/home/user/.local/bin:$PATH \
|
| 8 |
+
PYTHONDONTWRITEBYTECODE=1 \
|
| 9 |
+
PYTHONUNBUFFERED=1 \
|
| 10 |
+
PIP_NO_CACHE_DIR=1 \
|
| 11 |
+
ENCODE_DEVICE=cpu \
|
| 12 |
+
ENCODE_VIDUL_ROOT=/home/user/app/artifacts/vidul \
|
| 13 |
+
ENCODE_PARTA_MODEL=/home/user/app/artifacts/vidul/BGE_FT_VA \
|
| 14 |
+
ENCODE_ANNOT_DIR=/tmp/encode-annotations \
|
| 15 |
+
OMP_NUM_THREADS=2 \
|
| 16 |
+
OPENBLAS_NUM_THREADS=2 \
|
| 17 |
+
MKL_NUM_THREADS=2 \
|
| 18 |
+
TOKENIZERS_PARALLELISM=false \
|
| 19 |
+
HF_HUB_DISABLE_TELEMETRY=1
|
| 20 |
+
|
| 21 |
+
WORKDIR $HOME/app
|
| 22 |
+
|
| 23 |
+
COPY --chown=user src/requirements.txt ./requirements.txt
|
| 24 |
+
RUN python -m pip install --no-cache-dir --upgrade pip && \
|
| 25 |
+
python -m pip install --no-cache-dir \
|
| 26 |
+
--index-url https://download.pytorch.org/whl/cpu "torch==2.13.0" && \
|
| 27 |
+
python -m pip install --no-cache-dir -r requirements.txt
|
| 28 |
+
|
| 29 |
+
COPY --chown=user artifacts/vidul ./artifacts/vidul
|
| 30 |
+
|
| 31 |
+
COPY --chown=user src ./src
|
| 32 |
+
COPY --chown=user artifacts/part_a_embeddings ./artifacts/part_a_embeddings
|
| 33 |
+
COPY --chown=user artifacts/part_a_canonical ./artifacts/part_a_canonical
|
| 34 |
+
|
| 35 |
+
EXPOSE 7860
|
| 36 |
+
STOPSIGNAL SIGTERM
|
| 37 |
+
|
| 38 |
+
HEALTHCHECK --interval=30s --timeout=3s --start-period=10s --retries=3 \
|
| 39 |
+
CMD python -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:7860/healthz', timeout=2).read()"
|
| 40 |
+
|
| 41 |
+
CMD ["uvicorn", "src.backend.app:app", "--host", "0.0.0.0", "--port", "7860", "--workers", "1"]
|
README.md
CHANGED
|
@@ -1,10 +1,114 @@
|
|
| 1 |
---
|
| 2 |
-
title: ENCODE
|
| 3 |
-
emoji:
|
| 4 |
-
colorFrom:
|
| 5 |
-
colorTo:
|
| 6 |
sdk: docker
|
| 7 |
-
|
|
|
|
|
|
|
|
|
|
| 8 |
---
|
| 9 |
|
| 10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
title: ENCODE Clinical Code Search
|
| 3 |
+
emoji: 🩺
|
| 4 |
+
colorFrom: blue
|
| 5 |
+
colorTo: indigo
|
| 6 |
sdk: docker
|
| 7 |
+
app_port: 7860
|
| 8 |
+
suggested_hardware: cpu-basic
|
| 9 |
+
startup_duration_timeout: 30m
|
| 10 |
+
short_description: CPU clinical-code and phenotype retrieval with BGE_FT_VA
|
| 11 |
---
|
| 12 |
|
| 13 |
+
# ENCODE
|
| 14 |
+
|
| 15 |
+
ENCODE is a CPU-only FastAPI application packaged as a Hugging Face Docker
|
| 16 |
+
Space. The runtime uses Vidul's `BGE_FT_VA` weights and prebuilt dense indexes.
|
| 17 |
+
|
| 18 |
+
The exact proposed fresh-history file set is listed in
|
| 19 |
+
[COMMIT_CONTENTS.md](COMMIT_CONTENTS.md).
|
| 20 |
+
|
| 21 |
+
## Current retrieval path
|
| 22 |
+
|
| 23 |
+
- Medical-code search reproduces Vidul's original convention: mean pooling,
|
| 24 |
+
`passage: ` query prefix, normalized vectors, and exact FAISS inner-product
|
| 25 |
+
search. Diagnosis, medication, NDC, lab, and procedure indexes load lazily.
|
| 26 |
+
- Phenotype discovery uses the same fine-tuned weights with the CLS-pooling
|
| 27 |
+
convention recorded beside its prebuilt metadata and code-evidence vectors.
|
| 28 |
+
- Ranking is dense retrieval only. Canonical sidecars supply source-grounded
|
| 29 |
+
display metadata and do not change result order.
|
| 30 |
+
|
| 31 |
+
## Medication mapping coverage
|
| 32 |
+
|
| 33 |
+
The packaged RxNorm sidecars remain the first source for medication ingredient
|
| 34 |
+
graphs. When a medication is missing there, ENCODE can supplement the graph
|
| 35 |
+
from the public RxNAV/RxNorm API:
|
| 36 |
+
|
| 37 |
+
- NDC package codes use RxNAV's NDC-status mapping.
|
| 38 |
+
- VA-local drug results use RxNAV exact-or-normalized name matching only.
|
| 39 |
+
- Ambiguous, approximate, unavailable, and failed lookups produce no graph
|
| 40 |
+
rather than a best-guess relationship.
|
| 41 |
+
|
| 42 |
+
Every live graph identifies its source as `RxNAV / RxNorm live lookup`. Only the
|
| 43 |
+
selected medication identifier or display name is sent to RxNAV; no patient or
|
| 44 |
+
annotation data is sent there.
|
| 45 |
+
|
| 46 |
+
## Repository contents
|
| 47 |
+
|
| 48 |
+
```text
|
| 49 |
+
Dockerfile CPU-only Space image
|
| 50 |
+
src/backend/ FastAPI and retrieval engines
|
| 51 |
+
src/frontend/ Static browser UI
|
| 52 |
+
tests/ Focused retrieval tests
|
| 53 |
+
artifacts/part_a_embeddings/ Runtime phenotype vectors
|
| 54 |
+
artifacts/part_a_canonical/ Runtime phenotype/detail records
|
| 55 |
+
artifacts/vidul/ Vidul model and original FAISS indexes
|
| 56 |
+
```
|
| 57 |
+
|
| 58 |
+
Raw VA inputs, source ZIP archives, LOINC/RxNorm archives, prior experiment
|
| 59 |
+
outputs, model-training
|
| 60 |
+
artifacts, profiling output, generated demos, retired scripts, and historical
|
| 61 |
+
docs are intentionally excluded by `.gitignore`. Large runtime files are marked
|
| 62 |
+
for Git LFS in `.gitattributes`.
|
| 63 |
+
|
| 64 |
+
## Run locally
|
| 65 |
+
|
| 66 |
+
```bash
|
| 67 |
+
docker build -t encode-space .
|
| 68 |
+
docker run --rm --memory=16g --cpus=2 -p 7860:7860 encode-space
|
| 69 |
+
```
|
| 70 |
+
|
| 71 |
+
Open <http://localhost:7860>. The readiness endpoint is
|
| 72 |
+
<http://localhost:7860/healthz>.
|
| 73 |
+
|
| 74 |
+
## Push to a Hugging Face Space
|
| 75 |
+
|
| 76 |
+
Install Git LFS before staging the repository:
|
| 77 |
+
|
| 78 |
+
```bash
|
| 79 |
+
git lfs install
|
| 80 |
+
git add -A
|
| 81 |
+
git commit -m "Prepare ENCODE CPU Space"
|
| 82 |
+
git remote add space https://huggingface.co/spaces/OWNER/SPACE_NAME
|
| 83 |
+
git push space HEAD:main
|
| 84 |
+
```
|
| 85 |
+
|
| 86 |
+
Replace `OWNER/SPACE_NAME` with the target Space. Hugging Face reads the YAML
|
| 87 |
+
metadata at the top of this file and exposes the container on port 7860. The
|
| 88 |
+
image runs one Uvicorn worker so model and index memory are not duplicated.
|
| 89 |
+
|
| 90 |
+
## Deploy the Netlify Drop frontend
|
| 91 |
+
|
| 92 |
+
The static frontend uses same-origin `/api/*` requests. Netlify proxies those
|
| 93 |
+
requests to the Hugging Face Space, so the browser does not need a separate CORS
|
| 94 |
+
configuration. First deploy the backend and substitute its public origin below:
|
| 95 |
+
|
| 96 |
+
```bash
|
| 97 |
+
ENCODE_BACKEND_ORIGIN=https://OWNER-SPACE.hf.space \
|
| 98 |
+
sh deploy/netlify-build.sh --package dist/netlify
|
| 99 |
+
```
|
| 100 |
+
|
| 101 |
+
Drag the resulting `dist/netlify` folder into Netlify Drop. For a Netlify
|
| 102 |
+
site connected to this repository, set `ENCODE_BACKEND_ORIGIN` to that same
|
| 103 |
+
origin; `netlify.toml` runs the equivalent build automatically. The build
|
| 104 |
+
rejects non-Hugging Face origins and packages redirects plus security headers.
|
| 105 |
+
|
| 106 |
+
The Hugging Face container still serves the UI directly for local use and
|
| 107 |
+
backwards compatibility; Netlify is the public static frontend in the split
|
| 108 |
+
deployment.
|
| 109 |
+
|
| 110 |
+
## Persistence
|
| 111 |
+
|
| 112 |
+
Submitted annotations default to `/tmp/encode-annotations` and are ephemeral.
|
| 113 |
+
For durable writes, attach a Hugging Face Storage Bucket at `/data` and set the
|
| 114 |
+
Space variable `ENCODE_ANNOT_DIR=/data/annotations`.
|
artifacts/part_a_canonical/algorithm_components.jsonl
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
artifacts/part_a_canonical/build_report.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# ENCODE Part A Canonical Data Build Report
|
| 2 |
+
|
| 3 |
+
Generated by `scripts/build_part_a_canonical.py`.
|
| 4 |
+
|
| 5 |
+
## Inputs
|
| 6 |
+
|
| 7 |
+
- `Data source/all_phenotypes.zip`
|
| 8 |
+
- `Data source/VA_CDW_Code_dimensions_tables (1).zip`
|
| 9 |
+
|
| 10 |
+
## Output Contract
|
| 11 |
+
|
| 12 |
+
- Schema version: `encode_part_a_v1`
|
| 13 |
+
- Canonical phenotype records: `canonical_phenotypes.jsonl`
|
| 14 |
+
- Embedding documents: `embedding_documents.jsonl`
|
| 15 |
+
- Embedding document chunk cap: 4000 characters
|
| 16 |
+
|
| 17 |
+
## Profile
|
| 18 |
+
|
| 19 |
+
- Phenotypes: 8013
|
| 20 |
+
- Embedding documents: 36681
|
| 21 |
+
- Missing phenotype descriptions: 1665
|
| 22 |
+
- Missing algorithm descriptions: 0
|
| 23 |
+
- CIPHER enum sidecar parsed cleanly: False
|
| 24 |
+
|
| 25 |
+
## Embedding Documents By View
|
| 26 |
+
|
| 27 |
+
- code_evidence: 28668
|
| 28 |
+
- phenotype_metadata: 8013
|
| 29 |
+
|
| 30 |
+
## Code Entries By Type
|
| 31 |
+
|
| 32 |
+
- Healthcare Common Procedure Coding System (HCPCS): 3
|
| 33 |
+
- ICD-10 Diagnostic Codes: 6468
|
| 34 |
+
- ICD-10 Procedure Codes: 21
|
| 35 |
+
- ICD-9 Diagnostic Codes: 5995
|
| 36 |
+
- ICD-9 Procedure Codes: 25
|
| 37 |
+
- Laboratory Tests: 235
|
| 38 |
+
- Medications: 156
|
| 39 |
+
- Observational Medical Outcomes Partnership (OMOP) Concept: 28
|
| 40 |
+
- Other: 1690
|
| 41 |
+
- SNOMED CT, US Edition: 276
|
| 42 |
+
- Text snippets: 1802
|
| 43 |
+
- VA Clinic Stop Codes: 44
|
| 44 |
+
|
| 45 |
+
## Code Label Status
|
| 46 |
+
|
| 47 |
+
- exact: 395795
|
| 48 |
+
- label_missing: 10186
|
| 49 |
+
- prefix_expanded: 86799
|
| 50 |
+
- unsupported_code_system: 140337
|
| 51 |
+
|
| 52 |
+
## Notes
|
| 53 |
+
|
| 54 |
+
- `prefix_expanded` labels are retrieval evidence only; the original CIPHER code is preserved as provenance.
|
| 55 |
+
- Unsupported medication/lab/SNOMED/OMOP/CUI labels remain explicit instead of being guessed.
|
| 56 |
+
- The malformed enum sidecar should still be replaced for production use.
|
artifacts/part_a_canonical/canonical_phenotypes.jsonl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5062bcec9b228a7962a9d0652a4ab9047d8b8b4f7965e35be0cc7c85222e9c73
|
| 3 |
+
size 198475995
|
artifacts/part_a_canonical/cipher_links.jsonl
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
artifacts/part_a_canonical/code_descriptions.jsonl
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
artifacts/part_a_canonical/code_descriptions_report.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Code Description Resolution Report (professor feedback 1.1)
|
| 2 |
+
|
| 3 |
+
Generated by `scripts/resolve_code_descriptions.py`. Sidecar: `code_descriptions.jsonl`.
|
| 4 |
+
|
| 5 |
+
- Unsupported code occurrences in corpus: **140,337**
|
| 6 |
+
- Distinct unsupported codes: **77,233**
|
| 7 |
+
- Distinct codes resolved to a description: **4,756** (6%)
|
| 8 |
+
|
| 9 |
+
## Resolved by source
|
| 10 |
+
|
| 11 |
+
- `va_dim_exact`: 2,166
|
| 12 |
+
- `cipher_name`: 2,108
|
| 13 |
+
- `va_labname`: 482
|
| 14 |
+
|
| 15 |
+
## Left unresolved (honest gaps)
|
| 16 |
+
|
| 17 |
+
- `study_specific`: 66,856
|
| 18 |
+
- `needs_vocab:OMOP`: 4,322
|
| 19 |
+
- `needs_vocab:LOINC`: 806
|
| 20 |
+
- `needs_vocab:VA_STOP`: 255
|
| 21 |
+
- `needs_vocab:NDC`: 238
|
| 22 |
+
|
| 23 |
+
## Notes
|
| 24 |
+
|
| 25 |
+
- `va_dim_exact`: code matched a VA ICD/CPT dictionary (often a code CIPHER
|
| 26 |
+
filed under "Other").
|
| 27 |
+
- `cipher_name`: Medication codes are the drug name itself (generic/brand).
|
| 28 |
+
- `va_labname`: Lab `%PATTERN%` SQL-LIKE test-name, wildcards stripped.
|
| 29 |
+
- `needs_vocab:*`: resolvable once that vocabulary is added (LOINC, OMOP/Athena,
|
| 30 |
+
RxNorm/NDC, VA stop-code table) — none require guessing.
|
| 31 |
+
- `study_specific`: author-defined variables (e.g. `PDI`, `hPDI`) with no
|
| 32 |
+
standard-vocabulary description; surfaced as-is, never fabricated.
|
artifacts/part_a_canonical/embedding_documents.jsonl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:97a6a429278e07ce8a9be4eb5b66245d76f5e763a17f89972c9cd31487c01f37
|
| 3 |
+
size 84233128
|
artifacts/part_a_canonical/loinc_terms.jsonl
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:dd0f1d9e4571f1f3fc0fda925870a3e0589cf96a9fcbb7475c9558a4abe17124
|
| 3 |
+
size 17205441
|
artifacts/part_a_canonical/med_ingredient_map.jsonl
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
artifacts/part_a_canonical/rxcui_ingredient_map.jsonl
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
artifacts/part_a_embeddings/code.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6bdc926e8827f2e05e22c73d1b06349f707fad8f85f83d6c9f57939d80d456a6
|
| 3 |
+
size 58712192
|
artifacts/part_a_embeddings/code_meta.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
artifacts/part_a_embeddings/config.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"model": "artifacts/models/bge_ft_va",
|
| 3 |
+
"pooling": "cls",
|
| 4 |
+
"query_prefix": "",
|
| 5 |
+
"doc_prefix": "",
|
| 6 |
+
"max_seq_length": 512,
|
| 7 |
+
"dim": 1024,
|
| 8 |
+
"n_metadata": 8013,
|
| 9 |
+
"n_code": 28668
|
| 10 |
+
}
|
artifacts/part_a_embeddings/metadata.npy
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:add2b7bcd22e7566f8348a6d6dce7e9a1de47fb2ccbe898febfccf9a6a44afec
|
| 3 |
+
size 16410752
|
artifacts/part_a_embeddings/metadata_ids.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
[2678, 2017, 2679, 2632, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2070, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2146, 2148, 2149, 2150, 2151, 2153, 2155, 2156, 2157, 2158, 2160, 2161, 2162, 2163, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2262, 2263, 2264, 2265, 2266, 2267, 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2283, 2284, 2285, 2286, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337, 2338, 2339, 2340, 2341, 2342, 2343, 2344, 2345, 2346, 2347, 2348, 2349, 2350, 2351, 2352, 2353, 2354, 2355, 2356, 2357, 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2399, 2401, 2402, 2404, 2405, 2407, 2408, 2409, 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2420, 2422, 2424, 2425, 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 2439, 2440, 2441, 2442, 2443, 2444, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2464, 2465, 2466, 2467, 2468, 2469, 2471, 2472, 2474, 2475, 2476, 2481, 2482, 2483, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2497, 2498, 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2522, 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, 2534, 2535, 2536, 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2565, 2566, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2576, 2577, 2578, 2579, 2580, 2581, 2583, 2585, 2586, 2587, 2588, 2589, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2599, 2600, 2601, 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2633, 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2642, 2644, 2645, 2646, 2647, 2650, 2651, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2676, 2677, 2680, 2681, 2682, 2683, 2684, 2686, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2697, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2706, 2707, 2708, 2709, 2710, 2711, 2712, 2713, 2725, 2727, 2731, 2732, 2733, 2734, 2735, 2736, 2737, 2738, 2739, 2740, 2741, 2742, 2743, 2744, 2745, 2746, 2747, 2748, 2749, 2750, 2752, 2753, 2754, 2755, 2756, 2758, 2759, 2760, 2761, 2762, 2763, 2765, 2767, 2768, 2769, 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2786, 2787, 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2797, 2798, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2816, 2817, 2818, 2819, 2821, 2822, 2823, 2824, 2825, 2826, 2827, 2828, 2829, 2830, 2831, 2832, 2833, 2834, 2835, 2836, 2837, 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2846, 2847, 2848, 2849, 2850, 2851, 2852, 2853, 2854, 2855, 2856, 2857, 2858, 2859, 2860, 2861, 2862, 2863, 2864, 2865, 2866, 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, 2884, 2885, 2886, 2888, 2889, 2890, 2891, 2892, 2893, 2894, 2896, 2897, 2898, 2899, 2900, 2901, 2902, 2903, 2904, 2905, 2906, 2907, 2911, 2913, 2914, 2915, 2917, 2918, 2919, 2920, 2921, 2922, 2924, 2925, 2926, 2927, 2928, 2930, 2931, 2932, 2933, 2934, 2935, 2936, 2937, 2938, 2939, 2940, 2941, 2942, 2943, 2945, 2946, 2948, 2949, 2950, 2952, 2953, 2954, 2955, 2956, 2958, 2959, 2960, 2961, 2962, 2963, 2964, 2965, 2966, 2967, 2969, 2970, 2971, 2972, 2973, 2974, 2478, 2533, 2069, 2071, 2072, 2145, 2147, 2152, 2154, 2159, 2164, 2183, 2218, 2219, 2235, 2268, 2261, 2282, 2287, 2300, 2318, 2319, 2320, 2365, 2379, 2380, 2398, 2400, 2403, 2406, 2410, 2421, 2423, 2426, 2463, 2470, 2477, 2479, 2480, 2484, 2499, 2500, 2521, 2537, 2564, 2575, 2582, 2584, 2590, 2598, 2602, 2643, 2648, 2649, 2685, 2705, 2714, 2715, 2717, 2716, 2718, 2719, 2720, 2721, 2722, 2723, 2724, 2726, 2728, 2729, 2730, 2751, 2757, 2764, 2766, 2785, 2777, 2796, 2820, 2845, 2883, 2887, 2895, 2908, 2910, 2909, 2912, 2957, 2968, 2916, 2923, 2929, 2944, 2947, 2951, 2473, 2089, 3935, 4117, 4065, 4011, 4035, 3509, 3334, 3962, 3508, 3355, 3209, 4045, 3972, 3987, 3948, 3960, 3999, 4001, 4002, 4003, 4004, 4005, 4006, 4008, 4009, 4010, 4012, 4013, 4014, 4015, 4016, 4017, 4019, 4020, 4021, 4022, 4023, 4025, 4026, 4027, 4028, 4030, 4031, 4032, 4034, 4037, 4038, 4039, 4040, 4041, 4044, 4046, 4047, 4049, 4050, 4051, 4052, 4054, 4055, 4056, 4057, 4058, 4059, 4060, 4062, 4063, 4064, 4066, 4067, 4069, 4070, 4042, 4072, 4073, 4074, 4075, 4077, 4078, 4079, 4080, 4081, 4082, 4083, 4084, 4085, 4086, 4088, 4089, 4090, 4093, 4094, 4095, 4096, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4110, 4111, 4112, 4114, 4115, 4116, 4118, 4119, 4121, 4122, 4123, 4124, 3440, 4126, 4127, 3443, 3442, 3449, 3495, 3526, 3560, 3639, 4024, 4120, 3444, 3446, 3447, 3450, 3031, 3036, 3037, 3052, 3056, 4043, 3069, 3074, 3132, 3589, 3441, 3448, 3615, 3158, 3169, 3174, 3176, 3659, 3661, 3171, 3179, 3167, 3189, 3190, 3198, 3199, 3200, 3210, 3224, 3260, 3178, 3177, 3235, 3239, 3246, 3251, 3255, 3276, 3303, 3308, 3310, 3314, 3340, 3343, 3261, 3401, 3437, 3688, 3700, 3732, 3734, 3737, 3346, 3378, 3390, 3439, 3674, 3675, 3676, 3678, 3736, 3738, 3739, 3740, 3750, 2975, 2976, 2977, 2978, 3755, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029, 3757, 3032, 3033, 3034, 3035, 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3053, 3054, 3055, 3057, 3058, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3066, 3067, 3068, 3070, 3071, 3072, 3073, 3075, 3076, 3077, 3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085, 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3765, 3797, 3093, 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3168, 3170, 3172, 3173, 3175, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3236, 3237, 3238, 3240, 3241, 3242, 3243, 3244, 3245, 3247, 3248, 3249, 3250, 3252, 3253, 3254, 3256, 3257, 3258, 3259, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, 3302, 3304, 3305, 3306, 3307, 3309, 3311, 3312, 3313, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, 3335, 3336, 3337, 3338, 3339, 3341, 3342, 3344, 3345, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3379, 3380, 3381, 3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3435, 3436, 3438, 3445, 3451, 3452, 3453, 3454, 3455, 3456, 3457, 3458, 3459, 3460, 3461, 3462, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471, 3472, 3473, 3474, 3475, 3476, 3477, 3478, 3479, 3480, 3481, 3482, 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 3496, 3497, 3498, 3499, 3500, 3501, 3502, 3503, 3504, 3505, 3506, 3507, 3813, 3824, 3510, 3511, 3512, 3513, 3514, 3515, 3516, 3517, 3518, 3519, 3520, 3521, 3522, 3523, 3524, 3525, 3527, 3528, 3529, 3530, 3531, 3532, 3533, 3534, 3535, 3536, 3537, 3538, 3539, 3540, 3541, 3542, 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3551, 3552, 3553, 3554, 3555, 3556, 3557, 3558, 3559, 3561, 3562, 3563, 3828, 3651, 3122, 3613, 3626, 3565, 3566, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3574, 3575, 3576, 3577, 3578, 3579, 3580, 3581, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3590, 3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, 3600, 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, 3611, 3612, 3614, 3616, 3617, 3618, 3619, 3620, 3621, 3622, 3623, 3624, 3625, 3627, 3628, 3629, 3630, 3631, 3632, 3633, 3634, 3635, 3636, 3637, 3638, 3640, 3641, 3642, 3643, 3644, 3645, 3646, 3647, 3648, 3649, 3650, 3652, 3653, 3654, 3655, 3656, 3657, 3658, 3660, 3662, 3663, 3664, 3665, 3666, 3667, 3668, 3669, 3670, 3672, 3673, 3677, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3689, 3690, 3691, 3692, 3693, 3694, 3695, 3696, 3697, 3698, 3699, 3701, 3702, 3703, 3704, 3705, 3706, 3707, 3708, 3709, 3710, 3711, 3712, 3713, 3714, 3715, 3716, 3717, 3718, 3719, 3720, 3721, 3722, 3723, 3724, 3725, 3726, 3727, 3728, 3729, 3730, 3731, 3733, 3735, 3741, 3742, 3743, 3744, 3745, 3746, 3747, 3748, 3749, 3751, 3752, 3753, 3754, 3756, 3758, 3759, 3760, 3761, 3763, 3764, 3766, 3767, 3768, 3769, 3770, 3771, 3772, 3773, 3774, 3775, 3776, 3777, 3778, 3779, 3780, 3781, 3782, 3783, 3784, 3785, 3786, 3787, 3788, 3789, 3790, 3791, 3792, 3793, 3794, 3795, 3796, 3798, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3811, 3812, 3814, 3815, 3816, 3817, 3818, 3819, 3820, 3821, 3822, 3823, 3825, 3826, 3827, 3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 4091, 4113, 4068, 4029, 4061, 3998, 4071, 3671, 4097, 4048, 2979, 3030, 3993, 3994, 3995, 3762, 3564, 4125, 4053, 4007, 3934, 3051, 4033, 4000, 4235, 4752, 4351, 4377, 4374, 12468, 4193, 4224, 4294, 12469, 8628, 8629, 8630, 8631, 8632, 8633, 8634, 8635, 8636, 12471, 8637, 4150, 4276, 12472, 4269, 4129, 4130, 4131, 4132, 12474, 4135, 4136, 4137, 4139, 4140, 4141, 4143, 4144, 4145, 4147, 4148, 4149, 4151, 4152, 4153, 4154, 4155, 4156, 4157, 4158, 4159, 4160, 4161, 4162, 4163, 4164, 4165, 4166, 4168, 4169, 4170, 4171, 4172, 4173, 4174, 4175, 12477, 4178, 4179, 4180, 4181, 4182, 4183, 4185, 4186, 4187, 4188, 4190, 4191, 4192, 4195, 4196, 4198, 4199, 4200, 4201, 4203, 4204, 4205, 4206, 4208, 4209, 4210, 4211, 4212, 4213, 4214, 4216, 4217, 4218, 4219, 4220, 4221, 4222, 4223, 4225, 4226, 4229, 4230, 4231, 4232, 4233, 4234, 4236, 4237, 4238, 4239, 4240, 4241, 4242, 4243, 4244, 4245, 4246, 4247, 4248, 4249, 4250, 4251, 4252, 4253, 4254, 4255, 4256, 4257, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4266, 4268, 4270, 4271, 4272, 4273, 4274, 4275, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4286, 4287, 4288, 4289, 4290, 4291, 4292, 4295, 4296, 4297, 4298, 4299, 4300, 4301, 4302, 4303, 4304, 4305, 4306, 4307, 4308, 4309, 4310, 4311, 4312, 4313, 4314, 4315, 4316, 4317, 4318, 4319, 4320, 4321, 4322, 4323, 4325, 4326, 4327, 4330, 4331, 4333, 4176, 4334, 4335, 4336, 4337, 4338, 4339, 4340, 4341, 4343, 4344, 4345, 4346, 4347, 4348, 4350, 4352, 4354, 12478, 4356, 4357, 4358, 4359, 4360, 4362, 4363, 4364, 4365, 4366, 4367, 4368, 4369, 4370, 4371, 4372, 4373, 4375, 4376, 4378, 4380, 4381, 4382, 4383, 4384, 4385, 4386, 4387, 4388, 4389, 4390, 4391, 4392, 4393, 4394, 4395, 4396, 4397, 4399, 4400, 4401, 4402, 4403, 4404, 4405, 4406, 4407, 4409, 4410, 4411, 4412, 4413, 4414, 4415, 4416, 4417, 4194, 12479, 4408, 4215, 4328, 4722, 12480, 12481, 4128, 4349, 12482, 4267, 12483, 12484, 12485, 4228, 4167, 12487, 4749, 12488, 12489, 12490, 12491, 12492, 10513, 12493, 10526, 10527, 10533, 10534, 10535, 10536, 10537, 4353, 4750, 10515, 10523, 4207, 4739, 4751, 4284, 10586, 10588, 10589, 10590, 12495, 12496, 12497, 12498, 12501, 12502, 12506, 12507, 12514, 12515, 12516, 12518, 12519, 12522, 12523, 12524, 12525, 12526, 12527, 12529, 12530, 12531, 12532, 12533, 12534, 12535, 12536, 12537, 12538, 12539, 12540, 12541, 12542, 12543, 12544, 12545, 12546, 12547, 12549, 12556, 12557, 12562, 12563, 12565, 12566, 12569, 12570, 12573, 12576, 12577, 12578, 12579, 12580, 12581, 12582, 12583, 12584, 12585, 12590, 12591, 12592, 12594, 12595, 12596, 12597, 12598, 12599, 12600, 12602, 12603, 12604, 12605, 12609, 12611, 12617, 12618, 12621, 12622, 12623, 12624, 12625, 12626, 12627, 12630, 12631, 12632, 12633, 12634, 12635, 12636, 12637, 12638, 12639, 12640, 12641, 12642, 12643, 12644, 12645, 12646, 12648, 12650, 12651, 12652, 12653, 12654, 12659, 12660, 12662, 12663, 12667, 12668, 12669, 12670, 12671, 12672, 12673, 12674, 12675, 12676, 12677, 12678, 12679, 12680, 12681, 12682, 12686, 12687, 12688, 12689, 12690, 12691, 12693, 12694, 12695, 12697, 12698, 12699, 12703, 12704, 12705, 12706, 12707, 12708, 12709, 12710, 12712, 12713, 12714, 12716, 12718, 12722, 12724, 12725, 12726, 12727, 12728, 12729, 12730, 12731, 12733, 12734, 12735, 12736, 12737, 12738, 12739, 12740, 12741, 12742, 12744, 12745, 12747, 12749, 12750, 12752, 12753, 12755, 12757, 12761, 12762, 12764, 12766, 12767, 12770, 12772, 12773, 12774, 12777, 12780, 12783, 12784, 12785, 12788, 12791, 12793, 12795, 12796, 12797, 12798, 12804, 12805, 12809, 12811, 12813, 12817, 12818, 12819, 12821, 12822, 12823, 12824, 12825, 12827, 12828, 12829, 12830, 12831, 12832, 12833, 12834, 12837, 12838, 12839, 12840, 12841, 12842, 12843, 12844, 12845, 12846, 12847, 12848, 12849, 12850, 12851, 12852, 12854, 12857, 12858, 12859, 12861, 12863, 12864, 12865, 12866, 12867, 12868, 12872, 12874, 12875, 12876, 12877, 12878, 12879, 12880, 12881, 12882, 12883, 12885, 12887, 12891, 12892, 4738, 12894, 12528, 4177, 4737, 12895, 4332, 12896, 12897, 12898, 4146, 4293, 4285, 4723, 4725, 12901, 10522, 10519, 10524, 10521, 10516, 10520, 10518, 10517, 12936, 12906, 12911, 12912, 4202, 4324, 4138, 12913, 12914, 12915, 12918, 12919, 12920, 12922, 12923, 12924, 12925, 12926, 12927, 12930, 12931, 4189, 4197, 12932, 12933, 13010, 13014, 13017, 4355, 4329, 13018, 13019, 13020, 13021, 13022, 13023, 13024, 13025, 13026, 13027, 13028, 13029, 13030, 13032, 13033, 13034, 13035, 13037, 13039, 13043, 13044, 13045, 13046, 13047, 13048, 13049, 13050, 13053, 13055, 13056, 13057, 13058, 13059, 13060, 13062, 13065, 13066, 13067, 13070, 13071, 4721, 4133, 13072, 13073, 13074, 13075, 13076, 13078, 13079, 13080, 13081, 13082, 13083, 13084, 13085, 13086, 13087, 13088, 13089, 13092, 13094, 13095, 13096, 13097, 13098, 13099, 13100, 13101, 13103, 13104, 13105, 13106, 13107, 13108, 13109, 13110, 13111, 13112, 13114, 13115, 13116, 13117, 13118, 13119, 13121, 13122, 13123, 13124, 13125, 13126, 13127, 13128, 13051, 13129, 13130, 13131, 13132, 13134, 13135, 13136, 13137, 13138, 13139, 12470, 12473, 12475, 12476, 12486, 12494, 12499, 12500, 12503, 12504, 12505, 12508, 12509, 12510, 12511, 12512, 12513, 12517, 12520, 12521, 12548, 12550, 12551, 12552, 12553, 12554, 12555, 12558, 12559, 12560, 12561, 12564, 12567, 12568, 12571, 12572, 12574, 12575, 12586, 12587, 12588, 12589, 12593, 12601, 12606, 12607, 12608, 12610, 12612, 12613, 12614, 12615, 12616, 12619, 12620, 12628, 12629, 12647, 12649, 12655, 12656, 12657, 12658, 12661, 12664, 12665, 12666, 12683, 12684, 12685, 12692, 12696, 12700, 12701, 12702, 12711, 12715, 12717, 12719, 12720, 12721, 12723, 12732, 12743, 12746, 12748, 12751, 12754, 12756, 12758, 12759, 12760, 12763, 12765, 12768, 12769, 12771, 12775, 12776, 12778, 12779, 12781, 12782, 12786, 12787, 12789, 12790, 12792, 12794, 12799, 12800, 12801, 12802, 12803, 12806, 12807, 12808, 12810, 12812, 12814, 12815, 12816, 12820, 12826, 12835, 12836, 12853, 12855, 12856, 12860, 12862, 12869, 12870, 12871, 12873, 12884, 12886, 12888, 12889, 12890, 12893, 12899, 12900, 12902, 12903, 12904, 12905, 12907, 12908, 12909, 12910, 12916, 12917, 12921, 12928, 12929, 12934, 12935, 12937, 12938, 12939, 12940, 12941, 12942, 12943, 12944, 12945, 12946, 12947, 12948, 12949, 12950, 12951, 12952, 12953, 12954, 12955, 12956, 12957, 12958, 12959, 12960, 12961, 12962, 12963, 12964, 12965, 12966, 12967, 12968, 12969, 12970, 12971, 12972, 12973, 12974, 12975, 12976, 12977, 12978, 12979, 12980, 12981, 12982, 12983, 12984, 12985, 12986, 12987, 12988, 12989, 12990, 12991, 12992, 12993, 12994, 12995, 12996, 12997, 12998, 12999, 13000, 13001, 13002, 13003, 13004, 13005, 13006, 13007, 13008, 13009, 13011, 13012, 13013, 13015, 13016, 13031, 13036, 13038, 13040, 13041, 13042, 13052, 13054, 13061, 13063, 13064, 13068, 13069, 13077, 13090, 13091, 13093, 13102, 13113, 13120, 13133, 4142, 4184, 4361, 13610, 13822, 13611, 13612, 13615, 13617, 13618, 13823, 13825, 13619, 13826, 13620, 13827, 13621, 13622, 13828, 13829, 13623, 13624, 13625, 13626, 13627, 13831, 13629, 13832, 13833, 13631, 13632, 13834, 13633, 13634, 13635, 13835, 13636, 13637, 13638, 13639, 13836, 13640, 13641, 13642, 13837, 13838, 13643, 13644, 13645, 13839, 13646, 13647, 13840, 13841, 13649, 13843, 13651, 13652, 13653, 13654, 13655, 13844, 13657, 13658, 13659, 13845, 13660, 13661, 13662, 13663, 13846, 13664, 13847, 13665, 13666, 13670, 13672, 13673, 13674, 13848, 13675, 13676, 13849, 13850, 13852, 13854, 13855, 13677, 13856, 13678, 13857, 13679, 13680, 13858, 13681, 13859, 13682, 13860, 13685, 13688, 13861, 13689, 13690, 13691, 13692, 13693, 13694, 13696, 13862, 13697, 13698, 13699, 13863, 13700, 13701, 13704, 13864, 13865, 13866, 13867, 13706, 13868, 13869, 13707, 13708, 13709, 13870, 13710, 13711, 13712, 13715, 13871, 13872, 13873, 13874, 13875, 13716, 13885, 13888, 13892, 13898, 13899, 13903, 13905, 13717, 13906, 13907, 13908, 13915, 13916, 13918, 13919, 13929, 13931, 13932, 13718, 13719, 13936, 13720, 13721, 13942, 13722, 13723, 13724, 13725, 13952, 13726, 13727, 13728, 13960, 13729, 13730, 13731, 13733, 13734, 13735, 13961, 13736, 13737, 13739, 13740, 13741, 13742, 13962, 13963, 13970, 13971, 13974, 13975, 13981, 13985, 13989, 13744, 13745, 13746, 13747, 13748, 13749, 13750, 13752, 13990, 13754, 13756, 13757, 13758, 13759, 13760, 13992, 13767, 13768, 13769, 14001, 13772, 13774, 13775, 14007, 14010, 13779, 13781, 13783, 14024, 14025, 14027, 14028, 14033, 14034, 13788, 13789, 13792, 13795, 13796, 13797, 13798, 13799, 13800, 14038, 13801, 13802, 13803, 13805, 13808, 13809, 13810, 13811, 13813, 13814, 13815, 13816, 13817, 13818, 13824, 13830, 13842, 13851, 14082, 13853, 14084, 14089, 14090, 14092, 13876, 14039, 13877, 13878, 13879, 13880, 13881, 13882, 13883, 13884, 13886, 13887, 13889, 13890, 13891, 13893, 13894, 13895, 13896, 14041, 13897, 13900, 13901, 13902, 13904, 13909, 13910, 14050, 13911, 14054, 13912, 13913, 14056, 13914, 14058, 14061, 14062, 13917, 13920, 13921, 13922, 13923, 14079, 13924, 13925, 13926, 14080, 13927, 13928, 13930, 13933, 14093, 13934, 13935, 13937, 13938, 13939, 13940, 13941, 13943, 13944, 13945, 13946, 13947, 13948, 14100, 14101, 14103, 14105, 14106, 14108, 14109, 14110, 14111, 14112, 14114, 14115, 14116, 14119, 14120, 14123, 14124, 14125, 13949, 14126, 14127, 14128, 14130, 14131, 14133, 14137, 14138, 14139, 13950, 13951, 13953, 13147, 13148, 13151, 13152, 13153, 13154, 13155, 13156, 13157, 13158, 13159, 13160, 13161, 13162, 13163, 13164, 13165, 13168, 13169, 13170, 13171, 13172, 13173, 13174, 13175, 13176, 13178, 13179, 13180, 13954, 13955, 13956, 13957, 13958, 13959, 13964, 13965, 13966, 13967, 13968, 13969, 13972, 13973, 13976, 13977, 13978, 13979, 13980, 13982, 13983, 13984, 13986, 13987, 13988, 13991, 13993, 13994, 13995, 13996, 13997, 13998, 13999, 14000, 13181, 13182, 13184, 13185, 13186, 13187, 14002, 14003, 14004, 14005, 14006, 14008, 14009, 14011, 14012, 14013, 14014, 14015, 14016, 14017, 14018, 14019, 14020, 14021, 14022, 14023, 14026, 14029, 14030, 14031, 14032, 14035, 14036, 14037, 14040, 14042, 14043, 14044, 14045, 14046, 14047, 14048, 14049, 14051, 14052, 14053, 14055, 14057, 14059, 14060, 14063, 14064, 14065, 14066, 14067, 14068, 14069, 14070, 14071, 14072, 14073, 14074, 14075, 14076, 14077, 14078, 14081, 14083, 14085, 14086, 14087, 14088, 14091, 14094, 14095, 14096, 14097, 14098, 14099, 14102, 14104, 14107, 14113, 14117, 14118, 14121, 14122, 14129, 14132, 14134, 14135, 14136, 13140, 13141, 13142, 13143, 13144, 13145, 13146, 13188, 13189, 13190, 13192, 13193, 13194, 13195, 13196, 13197, 13198, 13199, 13202, 13204, 13206, 13207, 13210, 13211, 13212, 13213, 13215, 13216, 13217, 13218, 13219, 13221, 13223, 13224, 13228, 13229, 13230, 13231, 13232, 13234, 13235, 13236, 13237, 13238, 13239, 13240, 13241, 13242, 13243, 13244, 13245, 13246, 13247, 13249, 13250, 13251, 13252, 13253, 13254, 13255, 13256, 13257, 13258, 13259, 13260, 13261, 13263, 13264, 13266, 13267, 13268, 13269, 13270, 13271, 13272, 13273, 13274, 13275, 13277, 13278, 13279, 13280, 13281, 13282, 13284, 13285, 13286, 13287, 13288, 13289, 13290, 13291, 13292, 13293, 13294, 13295, 13296, 13297, 13298, 13299, 13300, 13301, 13302, 13303, 13304, 13305, 13306, 13307, 13308, 13309, 13310, 13311, 13312, 13313, 13314, 13316, 13317, 13318, 13319, 13320, 13321, 13322, 13323, 13324, 13325, 13326, 13327, 13329, 13330, 13331, 13332, 13334, 13335, 13336, 13337, 13338, 13341, 13342, 13343, 13344, 13347, 13348, 13349, 13351, 13352, 13353, 13354, 13357, 13367, 13368, 13369, 13371, 13372, 13373, 13374, 13376, 13378, 13379, 13380, 13381, 13382, 13383, 13384, 13385, 13386, 13387, 13388, 13389, 13390, 13391, 13393, 13394, 13395, 13396, 13397, 13398, 13399, 13400, 13401, 13402, 13403, 13404, 13405, 13406, 13407, 13408, 13409, 13410, 13411, 13412, 13413, 13414, 13415, 13416, 13417, 13420, 13421, 13422, 13423, 13424, 13425, 13426, 13427, 13428, 13429, 13430, 13431, 13432, 13433, 13434, 13435, 13437, 13439, 13440, 13441, 13442, 13443, 13444, 13445, 13446, 13447, 13448, 13449, 13450, 13451, 13452, 13454, 13455, 13457, 13458, 13459, 13461, 13462, 13463, 13464, 13465, 13466, 13469, 13470, 13471, 13472, 13473, 13474, 13475, 13478, 13479, 13480, 13481, 13482, 13483, 13484, 13485, 13487, 13488, 13489, 13490, 13491, 13492, 13493, 13494, 13495, 13496, 13497, 13498, 13499, 13500, 13503, 13504, 13505, 13506, 13507, 13509, 13511, 13512, 13514, 13515, 13518, 13522, 13523, 13524, 13527, 13528, 13529, 13530, 13531, 13532, 13534, 13535, 13536, 13539, 13540, 13541, 13542, 13543, 13544, 13546, 13547, 13548, 13549, 13550, 13551, 13552, 13553, 13554, 13556, 13557, 13558, 13559, 13560, 13561, 13562, 13563, 13564, 13565, 13567, 13568, 13569, 13570, 13571, 13572, 13573, 13574, 13575, 13576, 13579, 13580, 13581, 13582, 13583, 13584, 13585, 13586, 13587, 13588, 13589, 13590, 13591, 13592, 13593, 13594, 13595, 13596, 13597, 13598, 13599, 13600, 13601, 13602, 13604, 13605, 13606, 13607, 13609, 13149, 13150, 13166, 13167, 13177, 13183, 13191, 13200, 13201, 13203, 13205, 13208, 13209, 13214, 13220, 13222, 13225, 13226, 13227, 13233, 13248, 13262, 13265, 13276, 13283, 13315, 13328, 13333, 13339, 13340, 13345, 13346, 13350, 13355, 13356, 13358, 13359, 13360, 13361, 13362, 13363, 13364, 13365, 13366, 13370, 13375, 13377, 13392, 13418, 13419, 13436, 13438, 13453, 13456, 13460, 13467, 13468, 13476, 13477, 13486, 13501, 13502, 13508, 13510, 13513, 13516, 13517, 13519, 13520, 13521, 13525, 13526, 13533, 13537, 13538, 13545, 13555, 13566, 13577, 13578, 13603, 13608, 13613, 13614, 13616, 13628, 13630, 13648, 13650, 13656, 13667, 13668, 13669, 13671, 13683, 13684, 13686, 13687, 13695, 13702, 13703, 13705, 13713, 13714, 13732, 13738, 13743, 13751, 13753, 13755, 13761, 13762, 13763, 13764, 13765, 13766, 13770, 13771, 13773, 13776, 13777, 13778, 13780, 13782, 13784, 13785, 13786, 13787, 13790, 13791, 13793, 13794, 13804, 13806, 13807, 13812, 13819, 13820, 13821, 14346, 14347, 14360, 14359, 14370, 14371, 14373, 14376, 14377, 14378, 14379, 14380, 14381, 14382, 14383, 14384, 14385, 14386, 14387, 14388, 14389, 14390, 14391, 14392, 14393, 14394, 14395, 14396, 14397, 14398, 14399, 14400, 14401, 14402, 14610, 14611, 14612, 14613, 14614, 14615, 14616, 14617, 14368, 14618, 14619, 14620, 14621, 14622, 14623, 14624, 14625, 14626, 14627, 14628, 14629, 14149, 14150, 14151, 14152, 14159, 14172, 14174, 14176, 14178, 14180, 14184, 14186, 14188, 14189, 14196, 14197, 14348, 14349, 14140, 14142, 14350, 14351, 14352, 14143, 14353, 14354, 14355, 14356, 14357, 14363, 14364, 14365, 14366, 14367, 14372, 14144, 14145, 14146, 14147, 14198, 14199, 14217, 14223, 14226, 14227, 14229, 14234, 14241, 14243, 14244, 14248, 14251, 14253, 14254, 14255, 14256, 14267, 14268, 14270, 14271, 14272, 14275, 14281, 14284, 14285, 14286, 14290, 14292, 14294, 14295, 14297, 14299, 14300, 14301, 14303, 14304, 14305, 14312, 14313, 14314, 14315, 14317, 14319, 14320, 14403, 14404, 14405, 14406, 14407, 14408, 14409, 14410, 14411, 14412, 14413, 14414, 14415, 14416, 14417, 14418, 14419, 14420, 14421, 14422, 14423, 14424, 14425, 14426, 14427, 14428, 14429, 14430, 14431, 14432, 14433, 14434, 14435, 14436, 14437, 14438, 14439, 14440, 14441, 14442, 14443, 14444, 14445, 14446, 14447, 14448, 14449, 14450, 14451, 14452, 14453, 14454, 14455, 14456, 14457, 14458, 14459, 14460, 14461, 14462, 14463, 14464, 14465, 14466, 14467, 14468, 14469, 14470, 14471, 14472, 14473, 14474, 14475, 14476, 14477, 14478, 14479, 14480, 14481, 14482, 14483, 14484, 14485, 14486, 14487, 14488, 14489, 14490, 14491, 14492, 14493, 14494, 14495, 14496, 14497, 14498, 14499, 14500, 14501, 14502, 14503, 14504, 14505, 14506, 14507, 14508, 14509, 14510, 14511, 14512, 14513, 14514, 14515, 14516, 14517, 14518, 14519, 14520, 14521, 14522, 14523, 14524, 14525, 14526, 14527, 14528, 14529, 14530, 14531, 14532, 14533, 14534, 14535, 14536, 14537, 14538, 14539, 14540, 14541, 14542, 14543, 14544, 14545, 14546, 14547, 14548, 14549, 14550, 14551, 14552, 14553, 14554, 14555, 14556, 14557, 14558, 14559, 14560, 14561, 14562, 14563, 14564, 14565, 14566, 14567, 14568, 14569, 14570, 14571, 14572, 14573, 14574, 14575, 14576, 14577, 14578, 14579, 14580, 14581, 14582, 14583, 14584, 14585, 14586, 14587, 14588, 14589, 14590, 14591, 14592, 14593, 14594, 14595, 14596, 14597, 14598, 14599, 14600, 14601, 14602, 14603, 14604, 14605, 14606, 14607, 14608, 14609, 14630, 14631, 14632, 14633, 14634, 14635, 14636, 14637, 14638, 14639, 14640, 14641, 14642, 14643, 14644, 14645, 14646, 15029, 15030, 15031, 15032, 15033, 15034, 15035, 15036, 14647, 14648, 14649, 14650, 14651, 14652, 14653, 14654, 14655, 14656, 14657, 14658, 14659, 14660, 14661, 14662, 14663, 14664, 14665, 14666, 14667, 14668, 14669, 14670, 14671, 14672, 14673, 14674, 14675, 14676, 14677, 14678, 14679, 14680, 14681, 14682, 14683, 14684, 14685, 14686, 14687, 14688, 14689, 14690, 14691, 14692, 14693, 14694, 14695, 14696, 14697, 14698, 14699, 14700, 14701, 14702, 14703, 14704, 14705, 14706, 14707, 14708, 14709, 14710, 14711, 14712, 14713, 14714, 14715, 14716, 14717, 14718, 14719, 14720, 14721, 14722, 14723, 14724, 14725, 14726, 14727, 14728, 14729, 14730, 14731, 14732, 14733, 14734, 15037, 15038, 15039, 15040, 15041, 15042, 15043, 15044, 15045, 15046, 15047, 15048, 15049, 15050, 15051, 15052, 15053, 15054, 15055, 15056, 15057, 14735, 14736, 14737, 14738, 14739, 14740, 14741, 14742, 14743, 14744, 14745, 14746, 14747, 14748, 14749, 14750, 14751, 14752, 14753, 14754, 14755, 14756, 14757, 14758, 14759, 14760, 14761, 14762, 14763, 14764, 14765, 14766, 14767, 14768, 14769, 14770, 14771, 14772, 14773, 14774, 14775, 14776, 14777, 14778, 14779, 14780, 14781, 14782, 14783, 14784, 14785, 14786, 14787, 14788, 14789, 14790, 14791, 14792, 14793, 14794, 14795, 14796, 14797, 14798, 14799, 14800, 14801, 14802, 14803, 14804, 14805, 14806, 14807, 14808, 14809, 14810, 14811, 14812, 14813, 14814, 14815, 14816, 14817, 14818, 14819, 14820, 14821, 14822, 14823, 14824, 14825, 14826, 14827, 14828, 14829, 14830, 14831, 14832, 14833, 14834, 14835, 14836, 14837, 14838, 14839, 14840, 14841, 14842, 14843, 14844, 14845, 14846, 14847, 14848, 14849, 14850, 14851, 14852, 14853, 14854, 14855, 14856, 14857, 14858, 14859, 14860, 14861, 14862, 14863, 14864, 14865, 14866, 14867, 14868, 14869, 14870, 14871, 14872, 14873, 14874, 14875, 14876, 14877, 14878, 14879, 14880, 14881, 14882, 14883, 14884, 14885, 14886, 14887, 14888, 14889, 14890, 14891, 14892, 14893, 14322, 14323, 14324, 14325, 14329, 14330, 14331, 14332, 14333, 14334, 14335, 14342, 14894, 14895, 14896, 14897, 14898, 14899, 14900, 14901, 14902, 14903, 14904, 14905, 14906, 14907, 14908, 14909, 14910, 14911, 14912, 14913, 14914, 14915, 14916, 14917, 14918, 14919, 14920, 14369, 14921, 14922, 14923, 14924, 14925, 14926, 14927, 14928, 14929, 14930, 14931, 14932, 14933, 14934, 14935, 14936, 14937, 14938, 14939, 14940, 14941, 14942, 14943, 14944, 14945, 14946, 14947, 14948, 14949, 14950, 14951, 14952, 14953, 14954, 14955, 14956, 14957, 14958, 14959, 14960, 14961, 14962, 14293, 14296, 14298, 14302, 14306, 14307, 14308, 14963, 15058, 15059, 15060, 15061, 15062, 15063, 15064, 14964, 14965, 14966, 14967, 14968, 14969, 14970, 14971, 14972, 14973, 14974, 14975, 14309, 14310, 14311, 14316, 14318, 14321, 14326, 14141, 14148, 14153, 14154, 14155, 14156, 14157, 14158, 14160, 14976, 14977, 14978, 14979, 14980, 14981, 14982, 14983, 14984, 14985, 14986, 14987, 14988, 14161, 14162, 14163, 14164, 14165, 14166, 14167, 14168, 14169, 14170, 14171, 14173, 14175, 14177, 14179, 14181, 14989, 14990, 14991, 14992, 14993, 14994, 14995, 14996, 14997, 14998, 14999, 15000, 15001, 15002, 15003, 15004, 15005, 15006, 15007, 15008, 15009, 15010, 15011, 15012, 14182, 14183, 14185, 14187, 14190, 14191, 14192, 14193, 14194, 14195, 14200, 14201, 14202, 14203, 14204, 14205, 14206, 14207, 14208, 14209, 14210, 14211, 14212, 14213, 14214, 14215, 14216, 14218, 14219, 14220, 14221, 14222, 14224, 14225, 14228, 14230, 15013, 15014, 15015, 15016, 15017, 15018, 15019, 15020, 15021, 15022, 15023, 15024, 15025, 15026, 15027, 15028, 15065, 15066, 15067, 15068, 15069, 15070, 15071, 15072, 15073, 15074, 15075, 15076, 15077, 15078, 15079, 15080, 15081, 15082, 15083, 15084, 15085, 15086, 15087, 15088, 15089, 15090, 15091, 15092, 15093, 15094, 15095, 15096, 15097, 15098, 15099, 15100, 15101, 15102, 15103, 15104, 15105, 15106, 15107, 15108, 15109, 15110, 15111, 15112, 15113, 15114, 15115, 15116, 15117, 15118, 15119, 15120, 15121, 15122, 15123, 15124, 15125, 15126, 15127, 15128, 15129, 15130, 15131, 15132, 15133, 15134, 15135, 15136, 15137, 15138, 15139, 15140, 15141, 15142, 15143, 15144, 15145, 15146, 15147, 14231, 14232, 14233, 14235, 14236, 14237, 14238, 14239, 14240, 14242, 14245, 14246, 14247, 14249, 14250, 14252, 14257, 14258, 14259, 14260, 14261, 14262, 14327, 14328, 14336, 14337, 14338, 14339, 14340, 14341, 14263, 14264, 14265, 14266, 14269, 14273, 14274, 14276, 14277, 14278, 14279, 14280, 14282, 14283, 14287, 14288, 14289, 14291, 16246, 15410, 15411, 15412, 15413, 15414, 15415, 15416, 15417, 15418, 15419, 15420, 15421, 15422, 15423, 15424, 15425, 15426, 15427, 15428, 15429, 15430, 15431, 15432, 15433, 15434, 15435, 15436, 15437, 15438, 15439, 15440, 15441, 15442, 15443, 15444, 15445, 15446, 15447, 15448, 15449, 15450, 15451, 15452, 15453, 15454, 15455, 15456, 15457, 15458, 15459, 15460, 15461, 15462, 15463, 15464, 15465, 15466, 15467, 15468, 15469, 15470, 15471, 15472, 15473, 15474, 15475, 15476, 15477, 15478, 15479, 15480, 15481, 15482, 15483, 15484, 15485, 15486, 15487, 15488, 15489, 15490, 15491, 15492, 15493, 15494, 15495, 15496, 16805, 16806, 15497, 15498, 15499, 15500, 15501, 15502, 15503, 15504, 15505, 15506, 15507, 15508, 15509, 15510, 15511, 15512, 15513, 15514, 15515, 15516, 15517, 15518, 15519, 15520, 15521, 15522, 15523, 15524, 15525, 15526, 15527, 15528, 15529, 15530, 15531, 15532, 15533, 15534, 15535, 15536, 15537, 15538, 15539, 15540, 15541, 15542, 15543, 15544, 15545, 15546, 15547, 15548, 15549, 15550, 15551, 15552, 15553, 15554, 15555, 15556, 15557, 15558, 15559, 15560, 15561, 15562, 15563, 15564, 15565, 15566, 15567, 15568, 15569, 15570, 15571, 15572, 15573, 15574, 15575, 15576, 15577, 15578, 15579, 15580, 15581, 15582, 15583, 15584, 15585, 15586, 15587, 15588, 15589, 15590, 15591, 15592, 15593, 15594, 15595, 16013, 15596, 16057, 16058, 15879, 16918, 15597, 15598, 16937, 15905, 15904, 15599, 16312, 15600, 16306, 16944, 16946, 16947, 16968, 16969, 15601, 15602, 15603, 15604, 15605, 15606, 15607, 15608, 15609, 15610, 15611, 15612, 15613, 15614, 15615, 15616, 15617, 15618, 15619, 15620, 15621, 15622, 15623, 15624, 16938, 16942, 16943, 16945, 16952, 16953, 16954, 16955, 15625, 15626, 15627, 15628, 15872, 15873, 16133, 15876, 15877, 15880, 15881, 15882, 15883, 15887, 15884, 15886, 15885, 15888, 15900, 15906, 16970, 15909, 15912, 15913, 16971, 16972, 15917, 15918, 15919, 15920, 15921, 15922, 15923, 15924, 15925, 15926, 15927, 15928, 15929, 15930, 15931, 15932, 15933, 15934, 15935, 15936, 15938, 15939, 15940, 15941, 15943, 15944, 15945, 15946, 15947, 15948, 15955, 15951, 15914, 15954, 15963, 15967, 15968, 15981, 15982, 15987, 15988, 15957, 15958, 15959, 15960, 15961, 15969, 15970, 15978, 15992, 15995, 15997, 16002, 16003, 16005, 16006, 16007, 16008, 16009, 16010, 16011, 16012, 16043, 16059, 16060, 16061, 16078, 16077, 16102, 16103, 16110, 16111, 16116, 15962, 16126, 16127, 16128, 16130, 16132, 16140, 16141, 16149, 15977, 16146, 15991, 16056, 16182, 16150, 16152, 16153, 16154, 16158, 15986, 16121, 16189, 16190, 16191, 16192, 16204, 16248, 16249, 16254, 16255, 16256, 16207, 16258, 16260, 16261, 16262, 16264, 16294, 16295, 15875, 16305, 15990, 16309, 16310, 16311, 15629, 16314, 16142, 16184, 16321, 16137, 16335, 16336, 16346, 16347, 16350, 16351, 16162, 15973, 16134, 15999, 16253, 16250, 16138, 16183, 16135, 16151, 16145, 15996, 16285, 16466, 16467, 16468, 16469, 16470, 16471, 16472, 16473, 16474, 16475, 16476, 16477, 15956, 16267, 16341, 16342, 16343, 16348, 16055, 16131, 16136, 15975, 16322, 15976, 16798, 16799, 15630, 16004, 16287, 16284, 16283, 16292, 16334, 15979, 15998, 16288, 16293, 16286, 16282, 16280, 16281, 16291, 16279, 16290, 16278, 16277, 16273, 16275, 16274, 16276, 16272, 16206, 16289, 16271, 16268, 16270, 16269, 16074, 16076, 16936, 16104, 16109, 16148, 15994, 15631, 15632, 15633, 15634, 15635, 15636, 15637, 15638, 15639, 15640, 15850, 15851, 15852, 15853, 15854, 15855, 15641, 15642, 15643, 15644, 15645, 15646, 15647, 15648, 15649, 15650, 15651, 15652, 15653, 15654, 15655, 15656, 15657, 15658, 15659, 15660, 15661, 15662, 15663, 15664, 15665, 15666, 15667, 15668, 15669, 15670, 15671, 15672, 15673, 15674, 15675, 15676, 15974, 15677, 15678, 15679, 15680, 15681, 15682, 15683, 15684, 15685, 15686, 15687, 15688, 15689, 15690, 15691, 15692, 15693, 15694, 15695, 15696, 15697, 15698, 15699, 15700, 15701, 15702, 15703, 15704, 15705, 15706, 15707, 15708, 15709, 15710, 15856, 15857, 15858, 15859, 15860, 15861, 15862, 15863, 15711, 15712, 15713, 15714, 15715, 15716, 15717, 15718, 15719, 15720, 15721, 15722, 15723, 15724, 15725, 15726, 15727, 15728, 15729, 15730, 15731, 15732, 15733, 15734, 15735, 15736, 15737, 15738, 15739, 15740, 15741, 15742, 15743, 15744, 15745, 15746, 15747, 15748, 15749, 15750, 15751, 15752, 15753, 15754, 15755, 15756, 15757, 15758, 15759, 15760, 15761, 15762, 15763, 15764, 15765, 15766, 15767, 15768, 15769, 15770, 15771, 15772, 15773, 15774, 15775, 15776, 15777, 15778, 15779, 15780, 15781, 15782, 15783, 15784, 15785, 15786, 15787, 15788, 15789, 15790, 15791, 15792, 15793, 15794, 15795, 15796, 15797, 15798, 15799, 15800, 15953, 15801, 15802, 15803, 15804, 15805, 15806, 15807, 15808, 15809, 15148, 15149, 15150, 15151, 15152, 15153, 15154, 15155, 15156, 15157, 15158, 15159, 15160, 15161, 15162, 15163, 15164, 15165, 15166, 15167, 15168, 15169, 15170, 15171, 15172, 15173, 15174, 15175, 15176, 15177, 15178, 15179, 15180, 15181, 15182, 15183, 15184, 15185, 15186, 15187, 15188, 15189, 15190, 15191, 15192, 15193, 15194, 15195, 15196, 15197, 15198, 15199, 15200, 15201, 15202, 15203, 15204, 15205, 15206, 15207, 15208, 15209, 15210, 15211, 15212, 15213, 15214, 15215, 15216, 15217, 15218, 15219, 15220, 15221, 15222, 15223, 15224, 15225, 15226, 15227, 15228, 15229, 15230, 15231, 15232, 15233, 15234, 15235, 15236, 15237, 15238, 15239, 15240, 15241, 15242, 15243, 15244, 15245, 15246, 15247, 15248, 15249, 15250, 15251, 15252, 15253, 15254, 15255, 15256, 15257, 15258, 15259, 15260, 15261, 15262, 15263, 15264, 15265, 15266, 15267, 15268, 15269, 15270, 15271, 15272, 15273, 15274, 15275, 15276, 15277, 15278, 15279, 15280, 15281, 15282, 15283, 15284, 15285, 15286, 15287, 15288, 15289, 15290, 15291, 15292, 15293, 15294, 15295, 15296, 15297, 15298, 15299, 15300, 15301, 15302, 15303, 15304, 15305, 15306, 15307, 15308, 15309, 15310, 15311, 15312, 15313, 15314, 15315, 15316, 15317, 15318, 15810, 15811, 15812, 15813, 15814, 15815, 15816, 15817, 15818, 15819, 15820, 15821, 15822, 15823, 15824, 15825, 15826, 15827, 15828, 15829, 15830, 15831, 15864, 15865, 15866, 15867, 15868, 15869, 15870, 15871, 16975, 16976, 16977, 16978, 16979, 16980, 15319, 15320, 15321, 15322, 15323, 15324, 15325, 15326, 15327, 15328, 15329, 15330, 15331, 15332, 15333, 15334, 15335, 15336, 15337, 15338, 15339, 15340, 15341, 15342, 15343, 15344, 15345, 15346, 15347, 15348, 15349, 15350, 15351, 15352, 15353, 15354, 15355, 15356, 15357, 15358, 15359, 15360, 15361, 15362, 15363, 15364, 15365, 15366, 15367, 15368, 15369, 15370, 15371, 15372, 15373, 15374, 15375, 15376, 15377, 15378, 15379, 15380, 15381, 15382, 15383, 15384, 15385, 15386, 15387, 15388, 15389, 15390, 15391, 15392, 15393, 15394, 15395, 15396, 15397, 15398, 15399, 15400, 15401, 15402, 15403, 15404, 15405, 15406, 15407, 15408, 15409, 15832, 15833, 15834, 15835, 15836, 15837, 15838, 15839, 15840, 15841, 15842, 15843, 15844, 15845, 15846, 15847, 15848, 15849, 16981, 16982, 16983, 16984, 16985, 16986, 16987, 16988, 16989, 16990, 16991, 16992, 16993, 16994, 16995, 17371, 17372, 17373, 17374, 17375, 17376, 17377, 17378, 17379, 17380, 17381, 17382, 17383, 17384, 17385, 17386, 17387, 17388, 17389, 17390, 17391, 17392, 17393, 17394, 17395, 17396, 17397, 17398, 17399, 17977, 17400, 17401, 17402, 17403, 17404, 17405, 17406, 17407, 17408, 17409, 17410, 17411, 17412, 17413, 17414, 17415, 17416, 17417, 17418, 17419, 17420, 17421, 17422, 17423, 17424, 17425, 17426, 17427, 17428, 17429, 17430, 17431, 17432, 17433, 17434, 17435, 17436, 17437, 17438, 17439, 17440, 17441, 17442, 17882, 17883, 17443, 17444, 17445, 17446, 17447, 17448, 17449, 17450, 17451, 17452, 17453, 17454, 17455, 17456, 17457, 17458, 17459, 17460, 17461, 17462, 17463, 17473, 17474, 17475, 17476, 17477, 17478, 17464, 17465, 17466, 17590, 18221, 18219, 18218, 18210, 18207, 18217, 18203, 18202, 18215, 18211, 18208, 18205, 17467, 17468, 17469, 17470, 17471, 18214, 17607, 18213, 18212, 18201, 17472, 17514, 17515, 17516, 17517, 17518, 17519, 17520, 17521, 17522, 17523, 17524, 17525, 17526, 17527, 17528, 17479, 17480, 17481, 17482, 17483, 17484, 17485, 17486, 17487, 17488, 17489, 17490, 17491, 17492, 17493, 17494, 17495, 17496, 17497, 17498, 17499, 17500, 17501, 17502, 17503, 17504, 17505, 17506, 17507, 17508, 17509, 17510, 17511, 17512, 17513, 18438, 18432, 18433, 17529, 17530, 17531, 17532, 17533, 17534, 17535, 17536, 17537, 17538, 17539, 17540, 17541, 17542, 17543, 17544, 17545, 17546, 17547, 17548, 17549, 17550, 17551, 17552, 17553, 17554, 17555, 17556, 17557, 17558, 17559, 17560, 17561, 17562, 17563, 17564, 17565, 17566, 17567, 17568, 17569, 17570, 17571, 17572, 17573, 17574, 17575, 17576, 17577, 17578, 17579, 17580, 17581, 17582, 17583, 17584, 17585, 17586, 17587, 18484, 18435, 29575, 29576, 29581, 29582, 29583, 29584, 29585, 29586, 29587, 29105, 18439, 29522, 29588, 29589, 17133, 29120, 29187, 29635, 29639, 29640, 29641, 29642, 29648, 29649, 29650, 29651, 29652, 29653, 29654, 29655, 29656, 29657, 29658, 29659, 29636, 29637, 29669, 29190, 29194, 29195, 29197, 29545, 29643, 29644, 29645, 29646, 29647, 18206, 29191, 29192, 29193, 29196, 29198, 29199, 29200, 17865, 18463, 18464, 17877, 18604, 18647, 18649, 18650, 18651, 18838, 18877, 18878, 18879, 18880, 18881, 18886, 18882, 18883, 18891, 18892, 18893, 18894, 18895, 18896, 18897, 18898, 18899, 18900, 18901, 18902, 18903, 18904, 18905, 18906, 18907, 18908, 18909, 18910, 18911, 18912, 18913, 18914, 18915, 18916, 18917, 18918, 18919, 18920, 18921, 18922, 18923, 18924, 18925, 18926, 18927, 18930, 18931, 18932, 18933, 18934, 18935, 18936, 18937, 18938, 18939, 18940, 18941, 18942, 18943, 18944, 18945, 18946, 18947, 18948, 18949, 18950, 18951, 18952, 18953, 18954, 18955, 18956, 18957, 18958, 18959, 18960, 18961, 18969, 18970, 18973, 18974, 18975, 18976, 18977, 18978, 18979, 18980, 18981, 18982, 18983, 18984, 18985, 18986, 18987, 18988, 18989, 18990, 18991, 18992, 18993, 18994, 18995, 18996, 18997, 18998, 19003, 19005, 19014, 19018, 19019, 29201, 29202, 29638, 29203, 29204, 29205, 29206, 29519, 29207, 29546, 29547, 29548, 29208, 29211, 29212, 29213, 29214, 29550, 29554, 29555, 18466, 29209, 29210, 29238, 29215, 29216, 29217, 18472, 18473, 29218, 29553, 18465, 29219, 29221, 29220, 29227, 29228, 29229, 29232, 29233, 29234, 29236, 29237, 18471, 29222, 29556, 29558, 29559, 29230, 29231, 29235, 29239, 29240, 29168, 29557, 29243, 29560, 29561, 18444, 18445, 18446, 18443, 18442, 18448, 18436, 18428, 18485, 29459, 18447, 18440, 18486, 18434, 16996, 16997, 16998, 16999, 17000, 17001, 17002, 17003, 17004, 17005, 17006, 17007, 17008, 17009, 17010, 17011, 17012, 17013, 17014, 17015, 17016, 17017, 17018, 17019, 17020, 17021, 17022, 17023, 17024, 17025, 17026, 17027, 17028, 17029, 17030, 17031, 17032, 17033, 17034, 17035, 17036, 17037, 17038, 17039, 17040, 17041, 17042, 17043, 17044, 17045, 17046, 17047, 17048, 17049, 17050, 17051, 17052, 17053, 17054, 17055, 17056, 17057, 17058, 17059, 17060, 17061, 17062, 17063, 17064, 17065, 17066, 17067, 17068, 17069, 17070, 17071, 17072, 17073, 17074, 17075, 17076, 17077, 17078, 17079, 17080, 17081, 17082, 17083, 17084, 17085, 17086, 17087, 17088, 17089, 17090, 17091, 17092, 17093, 17094, 17095, 17096, 17097, 17098, 17099, 17100, 17101, 17102, 17103, 17104, 17105, 17106, 17107, 17108, 17109, 17110, 17111, 17112, 17113, 17114, 17115, 17116, 17117, 17118, 17119, 17120, 17121, 17122, 17123, 17124, 17125, 17126, 17127, 17128, 17129, 17130, 17131, 17132, 17134, 17135, 17136, 17137, 17138, 17139, 17140, 17141, 17142, 17143, 17144, 17145, 17146, 17147, 17148, 17149, 17150, 17151, 17152, 17153, 17154, 17155, 17156, 17157, 17158, 17159, 17160, 17161, 17162, 17163, 17164, 17165, 17166, 17167, 17168, 17169, 17170, 17171, 17172, 17173, 17174, 17175, 17176, 17177, 17178, 17179, 17180, 17181, 17182, 17183, 17184, 17185, 17186, 17187, 17188, 17189, 17190, 17191, 17192, 17193, 17194, 17195, 17196, 17197, 17198, 17199, 17200, 17201, 17202, 17203, 17204, 17205, 17206, 17207, 17208, 17209, 17210, 17211, 17212, 17213, 17214, 17215, 17216, 17217, 17218, 17219, 17220, 17221, 17222, 17223, 17224, 17225, 17226, 17227, 17228, 17229, 17230, 17231, 17232, 17233, 17234, 17235, 17236, 17237, 17238, 17239, 17240, 17241, 17242, 17243, 17244, 17245, 17246, 17247, 17248, 17249, 17250, 17251, 17252, 17253, 17254, 17255, 17256, 17257, 17258, 17259, 17260, 17261, 17262, 17263, 17264, 17265, 17266, 17267, 17268, 17269, 17270, 17271, 17272, 17273, 17274, 17275, 17276, 17277, 17278, 17279, 17280, 17281, 17282, 17283, 17284, 17285, 17286, 17287, 17288, 17289, 17290, 17291, 17292, 17293, 17294, 17295, 17296, 17297, 17298, 17299, 17300, 17301, 17302, 17303, 17304, 17305, 17306, 17307, 17308, 17309, 17310, 17311, 17312, 17313, 17314, 17315, 17316, 17317, 17318, 17319, 17320, 17321, 17322, 17323, 17324, 17325, 17326, 17327, 17328, 17329, 17330, 17331, 17332, 17333, 17334, 17335, 17336, 17337, 17338, 17339, 17340, 17341, 17342, 17343, 17344, 17345, 17346, 17347, 17348, 17349, 17350, 17351, 17352, 17353, 17354, 17355, 17356, 17357, 17358, 17359, 17360, 17361, 17362, 17363, 17364, 17365, 17366, 17367, 17368, 17369, 17370, 18441, 18449, 18451, 18429, 18450, 18430, 18431, 18437, 29544, 29562, 29563, 29564, 29565, 29580, 29750, 29751, 29752, 29753, 29754, 29755, 29756, 29757, 29758, 29759, 29761, 29762, 29763, 29764, 29765, 29766, 29767, 29768, 29769, 29770, 29771, 29772, 29773, 29774, 29775, 29776, 29777, 29779, 29780, 29781, 29782, 29783, 29784, 29785, 29786, 29787, 29789, 29760, 29792, 29793, 29794, 29795, 29796, 29797, 29798, 29799, 29800, 29801, 29802, 30050, 30051, 30052, 30053, 30054, 30055, 30056, 30057, 30058, 30059, 30060, 30061, 30062, 30063, 30064, 30065, 30066, 30067, 30068, 30069, 30070, 30071, 30072, 30080, 30081, 30085, 30073, 30074, 30075, 30076, 30077, 30078, 30079, 30082, 30083, 30084, 30086, 30087, 30088, 30089, 30090, 30091, 30092, 30093, 30094, 29169, 29566, 29509, 29494, 29502, 29513, 29511, 29507, 29508, 29518, 29505, 29514, 29504, 29492, 29506, 29567, 29568, 29577, 29521, 29495, 29516, 29517, 29512, 29515, 29510, 29503, 29493, 18334, 30095, 30096, 30097, 30098, 30099, 30100, 30107, 30118, 30129, 30119, 30123, 30124, 30128, 30130, 30131, 30101, 30102, 30105, 30108, 30111, 30112, 30113, 30114, 30115, 30120, 30121, 30122, 30125, 30126, 30127, 30133, 30103, 30104, 30106, 30109, 30110, 30116, 30134, 30135, 30136, 30137, 30138, 30139, 30140, 30141, 30142, 30143, 30144, 30145, 30146, 30149, 30150, 30151, 30152, 30153, 30154, 30155, 30156, 30157, 30158, 30159, 30160, 30161, 30162, 30163, 30164, 30165, 30166, 30167, 30168, 30169, 30170, 30171, 30172, 30173, 30174, 30175, 30176, 30177, 30178, 30179, 30180, 30182, 30187, 30185, 30183, 30213, 30214, 30223, 30224, 30231, 30260, 30262, 30263, 30264, 30265, 30266, 30296, 30302, 30303, 30310, 30311, 30312, 30566, 30570, 30571, 30576, 30181, 30184, 30246, 30247, 30248, 30253, 30255, 30268, 30270, 30276, 30279, 30280, 30288, 30289, 30291, 30295, 30297, 30298, 30299, 30300, 30304, 30305, 30309, 30598, 30599, 30600, 30189, 30190, 30192, 30193, 30194, 30195, 30186, 30188, 30191, 30211, 30212, 30215, 30216, 30217, 30218, 30219, 30220, 30221, 30228, 30229, 30230, 30232, 30233, 30234, 30235, 30236, 30240, 30241, 30242, 30579, 30580, 30222, 30225, 30226, 30227, 30237, 30238, 30239, 30243, 30244, 30259, 30269, 30271, 30272, 30284, 30285, 30286, 30581, 30582, 30583, 30584, 30587, 30588, 30132, 30595, 30596, 30597, 30601, 30602, 30250, 30254, 30256, 30257, 30258, 30261, 30267, 30273, 30274, 30275, 30277, 30278, 30281, 30282, 30283, 30287, 30290, 30292, 30293, 30567, 30593, 30594, 30301, 30306, 30307, 30308, 30565, 30568, 30569, 30572, 30573, 30574, 30575, 30577, 30578, 30604, 30605, 30606, 30607, 30608, 30609, 30610, 30611, 30612, 30613, 30614, 30615, 30616, 30617, 30618, 30619, 30620, 30621, 30622, 30623, 30624, 30625, 30626, 30627, 30628, 30629, 30630, 30631, 30632, 30633, 30634, 30635, 30636, 30638, 30639, 30640, 30641, 30642, 30643, 30644, 30645, 30646, 30647, 30648, 30649, 30650, 30651, 30652, 30653, 30654, 30655, 30656, 30657, 30658, 30659, 30660, 30661, 30662, 30663, 30664, 30665, 30666, 30667, 30668, 30669, 30670, 30671, 30672, 30673, 30674, 30675, 30676, 30678, 30689, 30693, 30694, 30695, 30696, 30697, 30698, 30702, 30703, 30704, 30706, 30707, 30715, 30718, 30719, 30720, 30722, 30723, 30726, 30730, 30738, 30739, 30746, 30750, 30752, 30753, 30754, 30755, 30757, 30758, 30764, 30768, 30769, 30778, 30780, 30781, 30789, 30804, 30805, 30806, 31128, 31129, 31169, 31174, 31182, 31183, 31184, 31185, 31192, 31193, 31194, 31195, 31199, 31200, 31204, 31205, 31216, 31220, 31221, 31224, 31225, 31226, 31227, 31228, 31229, 31230, 31238, 31245, 30677, 30679, 30681, 30682, 30683, 30684, 30685, 30687, 30690, 30691, 30692, 30700, 30680, 30686, 30688, 30699, 30701, 31080, 31081, 31084, 31085, 31089, 31093, 31094, 31095, 31096, 31098, 31101, 31104, 31105, 31106, 31107, 31108, 31115, 31116, 31117, 31118, 31119, 31120, 31122, 31124, 31140, 31141, 31142, 31143, 31144, 31145, 31146, 31147, 31157, 30705, 30708, 30709, 30710, 30711, 30712, 30713, 30714, 30716, 30717, 30721, 30724, 30725, 30727, 30728, 30729, 30731, 30732, 30733, 30734, 30735, 30736, 30737, 30740, 30741, 30742, 30743, 30744, 30745, 30747, 30748, 30751, 30756, 30759, 30760, 30761, 30762, 30763, 30765, 30766, 30767, 30770, 30771, 30772, 30773, 30774, 30775, 30776, 30777, 30779, 30782, 30783, 30784, 30785, 30786, 30787, 30788, 30790, 30791, 30792, 30793, 30794, 30795, 30796, 30797, 30798, 30802, 30803, 30807, 30808, 31079, 31082, 31083, 31086, 31209, 31223, 31087, 31088, 31090, 31091, 31092, 31097, 31099, 31100, 31102, 31103, 31109, 31110, 31111, 31112, 31113, 31114, 31121, 31123, 31125, 31126, 31127, 30749, 31133, 31134, 31135, 31136, 31137, 31138, 31139, 31148, 31149, 31150, 31151, 31152, 31153, 31154, 31155, 31156, 31158, 31159, 31160, 31161, 31162, 31163, 31164, 31165, 31166, 31167, 31171, 31172, 31173, 31175, 31176, 31177, 31178, 31179, 31180, 31181, 31186, 31187, 31188, 31189, 31190, 31191, 31196, 31197, 31198, 31201, 31202, 31203, 31206, 31207, 31208, 31222, 31210, 31211, 31212, 31213, 31214, 31215, 31217, 31218, 31219, 31243, 31244, 31231, 31232, 31233, 31234, 31235, 31236, 31237, 31239, 31240, 31241, 31242, 31246, 31248, 31251, 31247, 31249, 31250, 31252, 31253, 31254, 31255, 31256, 31257, 31258, 31259, 31260, 31261, 31262, 31263, 31264, 31271, 31272, 31273, 31274, 31290, 31291, 31293, 31311, 31312, 31314, 31315, 31317, 31265, 31266, 31267, 31268, 31269, 31270, 31275, 31276, 31277, 31278, 31279, 31280, 31281, 31282, 31283, 31284, 31285, 31286, 31292, 31287, 31288, 31289, 31295, 31296, 31297, 31300, 31301, 31589, 31590, 31591, 31294, 31298, 31299, 31302, 31303, 31304, 31305, 31306, 31307, 31308, 31309, 31310, 31313, 31318, 31319, 31320, 31321, 31322, 31323, 31324, 31576, 31577, 31578, 31579, 31586, 31587, 31588, 31592, 31593, 31629, 31630, 31631, 31632, 31633, 31634, 31635, 31636, 31637, 31638, 31639, 31640, 31641, 31642, 31643, 31644, 31645, 31646, 31649, 31647, 31648, 31656, 31659, 31660, 31662, 31666, 31667, 31669, 31670, 31671, 31678, 31679, 31680, 31681, 31685, 31686, 31687, 31688, 31689, 31690, 31691, 31692, 31693, 31694, 31695, 31696, 31699, 31701, 31702, 31707, 31708, 31717, 31722, 31723, 31724, 31725, 31726, 31728, 31729, 31650, 31657, 31658, 31668, 31682, 31683, 31684, 31697, 31698, 31700, 31710, 31711, 31712, 31713, 31651, 31652, 31653, 31654, 31655, 31703, 31704, 31705, 31706, 31709, 31718, 31719, 31720, 31721, 31727, 31730, 31810, 31811, 31813, 31814, 31815, 31816, 31817, 31818, 31819, 31820, 31821, 31822, 31823, 31824, 31825, 31826, 31827, 31828, 31829, 31830, 31831, 31832, 31833, 31834, 31835, 31836, 31837, 31838, 31839, 31840, 31841, 31842, 31843, 31844, 31845, 31846, 31847, 31848, 31849, 31850, 31851, 31852, 31853, 31854, 31856, 31870, 31875, 31876, 31880, 31882, 31916, 31919, 31921, 31855, 31860, 31865, 31867, 31868, 31869, 31877, 31878, 31879, 31891, 31892, 31894, 31897, 31898, 31901, 31902, 31907, 31911, 31857, 31812, 31866, 31871, 31872, 31873, 31874, 31881, 31883, 31884, 31885, 31886, 31887, 31888, 31889, 31890, 31893, 31895, 31896, 31899, 31900, 31903, 31904, 31905, 31906, 31908, 31909, 31910, 31912, 31913, 31914, 31915, 31918, 31920, 31922, 31923, 31924, 31925, 31926, 31927, 31928, 31929, 31931, 31932, 31933, 31934, 31935, 31936, 31937, 31938, 31939, 31940, 31941, 31942, 31943, 31944, 31945, 31946, 31947, 31948, 31949, 31950, 31951, 31952, 31953, 31954, 31955, 31956, 31957, 31958, 31959, 31960, 31961, 31962, 31963, 31964, 31965, 31966, 31967, 31968, 31969, 31970, 31971, 31972, 31973, 31974, 31975, 31976, 31977, 31978, 31983, 31986, 31987, 31989, 31995, 32001, 32002, 32006, 32014, 32015, 31979, 31984, 31985, 31988, 31994, 32004, 32009, 32010, 32011, 32012, 31980, 31981, 31982, 31990, 31991, 31992, 31993, 31996, 31997, 31998, 31999, 32000, 32003, 32008, 32013, 32007, 32005, 31917, 32078, 32079, 32081, 32082, 32083, 32084, 32085, 32086, 32087, 32091, 32095, 32096, 32097, 32098, 32100, 32099, 32104, 32105, 32106, 32107, 32108, 32111, 32112, 32113, 32114, 32115, 31170, 32016, 32017, 32018, 32019, 30637, 32116, 32117, 32118, 32119, 32121, 32122, 32123, 32124, 32120, 32134, 32135, 32136, 32137]
|
artifacts/vidul/BGE_FT_VA/config.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"architectures": [
|
| 3 |
+
"BertModel"
|
| 4 |
+
],
|
| 5 |
+
"attention_probs_dropout_prob": 0.1,
|
| 6 |
+
"classifier_dropout": null,
|
| 7 |
+
"dtype": "float16",
|
| 8 |
+
"gradient_checkpointing": false,
|
| 9 |
+
"hidden_act": "gelu",
|
| 10 |
+
"hidden_dropout_prob": 0.1,
|
| 11 |
+
"hidden_size": 1024,
|
| 12 |
+
"id2label": {
|
| 13 |
+
"0": "LABEL_0"
|
| 14 |
+
},
|
| 15 |
+
"initializer_range": 0.02,
|
| 16 |
+
"intermediate_size": 4096,
|
| 17 |
+
"label2id": {
|
| 18 |
+
"LABEL_0": 0
|
| 19 |
+
},
|
| 20 |
+
"layer_norm_eps": 1e-12,
|
| 21 |
+
"max_position_embeddings": 512,
|
| 22 |
+
"model_type": "bert",
|
| 23 |
+
"num_attention_heads": 16,
|
| 24 |
+
"num_hidden_layers": 24,
|
| 25 |
+
"pad_token_id": 0,
|
| 26 |
+
"position_embedding_type": "absolute",
|
| 27 |
+
"transformers_version": "4.56.1",
|
| 28 |
+
"type_vocab_size": 2,
|
| 29 |
+
"use_cache": true,
|
| 30 |
+
"vocab_size": 30522
|
| 31 |
+
}
|