
    13_j                         d dl mZ d dlZd dlZd dlZ ed          Zej        ZdZdZ	dZ
dZdZd	 Zd
 Zd Zedk    r e             dS dS )    )PathNzH/data/video-pipeline/HaTramAudio/project/018-Hon-Uoc-Khong-Duoc-Phep-Yeuzrun-20260721T040505Z-cd9f944a@d12e1733f81bf173b5db789b0028a0be478d0d2e565c05a91e236c95cd33bd78@1f78d70445770dea08b5690880a53bdff83cdeb7ca0e735f93510ad6edd0de79@bbadb5780a1565038d7df378cb0bfffa75a2cac07020ab1764c5d89f3cba47ae@2b12350b71dab64af7b92820f1db14c331e240d4eed15c512c68b83aef59c662c                 ^    t          j        t          | z                                            S N)jsonloadsROOT	read_text)rels    #work/publish/audit_publish_ready.pyloadr      s!    TZc 4 4 6 6777    c                    t          j                    }t          | z                      d          5 t	          fdd          D ]}|                    |           	 d d d            n# 1 swxY w Y   |                                S )Nrbc                  .                          d          S )Ni   )read)fs   r   <lambda>zsha.<locals>.<lambda>	   s    qvvk** r   r   )hashlibsha256r   openiterupdate	hexdigest)r   hbr   s      @r   shar       s    
>Cxood <q****3//;;a;< < < < < < < < < < < < < < <	s   ,A++A/2A/c                  @
   t          d          } | d         | d         | d         | d         ft          t          ddfk    sJ t          d          t          d	          cxk    rt          k    sn J t          d
          }|d         dk    r*|d         r"|d         t          k    r|d         t          k    sJ t          d          }|d         r2|d         d         r$|d         d         dk    r|d         d         dk    sJ t          d          }t          d          }|d         dk    r9|d         r1|d         t
          k    r |d         rt          d          t
          k    sJ t          d          }|d         dk    r*|d         r"|d         t          k    r|d         t
          k    sJ t          d          }|d         dk    r!|d         rt          d          |d         k    sJ t          d          }|d         dk    rW|d         rO|d         t          k    r>|d         t
          k    r-|d          d!u r#|d"         d!u rt          d#          |d         k    sJ t          d$          }|d         dk    r7|d         r/|d%         r'|d&         d         rt          d'          |d         k    sJ t          d(          }	|	d         dk    r:|	d         r2|	d%         r*|	d&         d         r|	d)         |d         k    r
|	d*         d!u sJ t          d+z  }
t          d+          |	d         cxk    rt          k    r/n n,|
                                j	        |	d,         cxk    rd-k     sn J t          d.          }|d         dk    r@|d         r8|d         t          k    r't          d/          |d0         cxk    rt          k    sn J d1d2g}t          d3 |D                       sJ d!d!d!d!d!d!d!d!d!d!d!d!d4}d5t          t          d6d!t          t          |
          t          |
                                j	        t          t          d/z            t          |d7t          j                            t          j        j                                                                      d8d9          d:}t          d;z                      t)          j        |d<d=>          d?z              t-          t)          j        d6d!|
                                j	        d@                     d S )ANz.ownership-lock.json
project_idrun_idownerstatuszoromain_session_pipelinezstory/story-canon.txtzstory/spoken-narration.txtzscript/story-manifest.json	completedverifiedcanon_sha256spoken_narration_sha256zlog/story-qa.jsonstory_family_compliancemainu$   Hào môn / tổng tài / liên hôn	secondaryu0   Cưới trước yêu sau / hôn ước từ bézscript/tts-manifest.jsonzlog/tts-independent-audit.jsonoutput_sha256zaudio/story-full.wavzimage/layout-manifest.jsonsource_canon_sha256source_tts_sha256zlog/intro-render.jsonzoutput/intro/intro.mp4zlog/footage-render.jsonsource_audio_sha256mirror_appliedTsource_audio_discardedzoutput/footage/footage.mp4zlog/final-render.jsontechnical_verified	visual_qazoutput/final.mp4zlog/transcode-upload.jsonsource_final_sha256under_one_gbzoutput/final-upload.mp4output_bytesi ʚ;zlog/metadata.jsonzoutput/info.txtmetadata_sha256zlog/postiz-partial-failure.jsonz&log/schedule-verification-failure.jsonc              3   P   K   | ]!}t           |z                                   V  "d S r	   )r   exists).0xs     r   	<genexpr>zmain.<locals>.<genexpr>   sY        bK  bK|}gklmgmfufufwfwbw  bK  bK  bK  bK  bK  bKr   )	ownershipr,   canonttsartworkintrofootage_hflipfinal_visual_qaupload_copy_visual_qar8   metadatano_partial_publish_marker   readyz
[REDACTED]z+00:00Z)schema_versionr"   r#   r%   r)   r0   upload_copy_pathupload_copy_sha256upload_copy_bytesmetadata_pathr:   checks
credential
created_atzlog/publish-ready.jsonF   )ensure_asciiindent
)r%   r)   rP   )r   PROJECTRUNr    CANONTTSr   UPLOADstatst_sizeMETAallstrdatetimenowtimezoneutc	isoformatreplace
write_textr
   dumpsprint)lockstoryqarB   taartrD   footagefinaltransupmdblockersrR   receipts                  r   r-   r-      s7
   
!""4+=d8nTRY][_`h[i*jmtuxy  AX  mY  +Y  +Y  +Y  +Y#$$c*F&G&GNNNNNNNNNN())x+1M1MRWXbRc1Mhmn|h}  @E  iE  iE  JO  Pi  Jj  lq  Jq  Jq  Jq  Jq	R
^  W;T8UV`8a  Wfh  jC  gD  EK  gL  Nt  gt  gt  y{  |U  yV  Wb  yc  eW  yW  yW  yW  yW	
$%%.N)O)ObWZ[cWdfqWqWqvy  {E  wFWq  KN  O^  K_  ad  Kd  Kd  ik  lv  iw  Kd  |  @V  |W  |W  Y\  |\  |\  |\  |\	
&''s8}k/I/IcR\o/Ibef{b|  D  cD  cD  IL  M`  Ia  cf  If  If  If  If#$$E(O[,H,HUS]M^,Hcfg  dA  dA  CH  IX  CY  dY  dY  dY  dY	'	(	(0A;0N0NSZ[eSf0Nkr  tI  lJ  LQ  lQ  lQ  V]  ^s  Vt  vy  Vy  Vy  ~E  FV  ~W  [_  ~_  ~_  dk  lD  dE  IM  dM  dM  RU  Vr  Rs  Rs  u|  }L  uM  RM  RM  RM  RM#$$E(O[,H,HUS]M^,Hchi}c~,H  DI  JU  DV  Wa  Db,H  gj  k}  g~  g~  @E  FU  @V  gV  gV  gV  gV'((h0L0LQVWaQb0Lgl  nB  hC0L  HM  NY  HZ  [e  Hf0L  kp  qF  kG  IN  O^  I_  k_  k_  di  jx  dy  }A  dA  dA  dA  dA	""#.G*H*H%P_J`*h*h*h*hbh*h*h*h*h*hmomtmtmvmvm~  AF  GU  AV  nd  nd  nd  nd  Wd  nd  nd  nd  nd  nd  nd	R\;%>%>2j>%>VXYnVoqvVvVv{~  @Q  |R  |R  TV  Wh  Ti  |o  |o  |o  |o  ko  |o  |o  |o  |o  |o  |o,-U
V^a  bK  bK  BJ  bK  bK  bK  _K  _K  XK  XK  XKDD[_hl  ~B  UY  rv  FJ  VZ  w{  	|  	|'3[_v{  PS  TV  PW  PW  ms  HJ  HO  HO  HQ  HQ  HY  jm  nr  sD  nD  jE  jE  X\  fl  zF  T\  Te  Ti  Ti  jr  j{  j  T@  T@  TJ  TJ  TL  TL  TT  TT  U]  ^a  Tb  Tb  
c  
c  ei  jB  eB  dN  dN  OS  OY  Za  ot  |}  O~  O~  O~  C  OC  dD  dD  dD  EJ  KO  KU  `g  sw  L	N	  L	S	  L	S	  L	U	  L	U	  L	]	  V^	  V^	  K_	  K_	  E`	  E`	  E`	  E`	  E`	r   __main__)pathlibr   r
   r   rc   r   namerY   rZ   r[   r\   r]   r`   r   r    r-   __name__ r   r   <module>r}      s                     	T
TUU^b^gV]  mLhk  SU  MR  Z\  VY  df  ]c  ln  gk 7 7 7  
`	 `	 `	  Zr   