"""本主题专属离线算法，仅读取同目录合成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']
import uuid
by_cid={};by_name={}
for source in data['sources']:
 cid=str(uuid.UUID(source['cid']));by_cid.setdefault(cid,[]).append(source)
 by_name.setdefault(source['name'],set()).add(cid)
same_cid=[{'cid':cid,'observations':values,'requires_deployment_review':True} for cid,values in by_cid.items() if len(values)>1]
same_name=[{'name':name,'different_cids':sorted(cids)} for name,cids in by_name.items() if len(cids)>1]
assert len(same_cid)==1 and len(same_name)==1
result={'same_cid_multiple_observations':same_cid,'same_name_different_sources':same_name,'confirmed_duplicate_processes':None}
(BASE/'result.json').write_text(json.dumps(result,ensure_ascii=False,indent=2)+'\n',encoding='utf-8')
print(json.dumps(result,ensure_ascii=False))
