#!/usr/bin/env python3
import hashlib, json
from pathlib import Path
root=Path(__file__).resolve().parent.parent
out={"scope":"ASCII_NUMERIC_BINDINGS_ONLY_NOT_APP_CHARSET_OR_ORM_ACCEPTANCE","lanes":{}}
for lane,name in [("B","recovered-execute-B.jsonl"),("C","final-resumed-C.jsonl")]:
    raw=(root/"private-evidence"/name).read_bytes()
    events=[json.loads(x) for x in raw.splitlines()]
    starts=[x["data"] for x in events if x["event"]=="DML-start"]
    strings=runtime_strings=params=0
    for x in starts:
        assert x["sql"].isascii()
        for b in x["parameters"]:
            params+=1
            v=b["original"]["original_value"]
            if isinstance(v,str):
                strings+=1
                assert v.isascii()
            rv=b["runtime"]["value"]
            if isinstance(rv,str):
                runtime_strings+=1
                assert rv.isascii()
    assert len(starts)==72
    out["lanes"][lane]={"raw_sha256":hashlib.sha256(raw).hexdigest(),"DML_SQL_ASCII":72,
        "bound_parameters":params,"original_bound_strings_ASCII":strings,
        "runtime_bound_strings_ASCII":runtime_strings}
out["new_SQL"]=out["new_DB_connections"]=0
print(json.dumps(out,ensure_ascii=False,indent=2))
