"""本主题专属离线算法，仅读取同目录合成JSON，不联网、不控制设备。"""
import csv, json, math, re, struct
from pathlib import Path
from fractions import Fraction
BASE=Path(__file__).resolve().parent
data=json.loads((BASE/'input.json').read_text(encoding='utf-8'))['data']
rows=[]
for case in data['cases']:
 address=case['sync_address'];options=0x20 if case['force'] else 0
 fields=struct.pack('>H',address)+bytes([options]);decoded_address=struct.unpack('>H',fields[:2])[0];force=bool(fields[2]&0x20)
 assert decoded_address==address and force==case['force']
 rows.append({'sync_address':decoded_address,'force_synchronization':force,'field_hex':fields.hex(),'can_assume_synchronization':False,'review_required':'零地址与Force组合需规范和实现复核' if address==0 and force else '需要两端支持及同步包处理证据'})
result={'cases':rows,'implementation':data['implementation'],'implementation_TODO_known':True,'packets_sent':False,'synchronization_precision_measured':False}
(BASE/'result.json').write_text(json.dumps(result,ensure_ascii=False,indent=2)+'\n',encoding='utf-8')
print(json.dumps(result,ensure_ascii=False))
