
    |Zj                     h    d dl Z d dlZd dlZd dlmZ g dZd Zd Zd Ze	dk    r e             dS dS )    N)Path)z01.11z03.08z04.05z05.05z05.10z06.08z07.06z07.11z08.06z08.07z09.08z10.03z10.06z10.07z10.12z12.05c                 r    t          j        |                                                                           S )N)hashlibsha256
read_bytes	hexdigest)ps    n/data/video-pipeline/GacMaiAudio/project/gacmai_20260718_075153/artifacts/scripts/build_consent_delta_audit.pyshar      s%    '.00::<<<    c                 &    d | d         D             S )Nc                 6    i | ]}|d          D ]}|d         |S )beatsbeat_id ).0r	   bs      r
   
<dictcomp>zindex.<locals>.<dictcomp>   s/    LLL7LLAQy\!LLLLr   partsr   )ds    r
   indexr      s    LLQwZLLLLr   c            
         t          t          j                  dk    rt          d          t	          t
          t          j        dd                    \  } }}t          j        |                                           }t          j        |                                          }t          |          t          |          }}g }t          D ]Y}||         ||         }
}	|                    ||
d         |
                    d          |	d         |
d         |
d         d           Zdd	d
t          |           t          |          t          d|d}|                    t          j        |dd          dz              t!          t          j        dt#          |          t          |          t          |          dd                     d S )N   z2usage: build_consent_delta_audit.py PARENT REV OUT   scene_actionevidenceconsent_privacycausal_result)r   r   r   beforeafterr   targeted_consent_deltagacmai_20260718_075153a  Each after value must state the actual decision, authorized actor, permitted/forbidden handling, custody/use/retention/deletion/reuse scope where relevant, and consequence; it must not deny applicability or use a repeated generic frame. Exact pass or fail only.)schema_version
audit_type
project_idparent_sha256revision_sha256required_beat_idscontractrowsF   )ensure_asciiindent
passed)statuspathr   r*   )r,   )lensysargv
SystemExitmapr   jsonloads	read_textr   IDSappendgetr   
write_textdumpsprintstr)pprpoutar   iaibr*   bidxybundles               r
   mainrK      sJ   MM1:&Z[[[tCHQRRL!!BsDJr||~~$>$>!BLLNNA[A[qbghibjbjkpqrksks_a\^y{tx O OSgbgA!dkkS.@Q]^]b]bcm]n]nxy  {L  yM  VW  Xi  Vj  {|  }L  {M  #N  #N  O  O  O  O)AOgx{|~xx  SV  WY  SZ  SZ  or  ~E  MQ  	R  	R
6uA>>>tCDDDU4:`hpstwpxpx  CF  GJ  CK  CK  SV  W[  S\  S\  W]  W]  kp  Lq  Lq  Lq  Fr  Fr  Fr  Fr  Frr   __main__)
r7   r   r3   pathlibr   r:   r   r   rK   __name__r   r   r
   <module>rO      s                      F  F  F < < < L L Lr r r Zr   