
    ^j                        d dl Z d dlZd dlZd dlZd dlmZmZ d dlmZ  ee          	                                j
        d         Z ej        dej                  Zd Zd Zd Zed	k    rS	  ej         e                       dS # e$ r0Z ed
e ej                    ej        d           Y dZ[dS dZ[ww xY wdS )    N)datetimetimezone)Path   u   [^\W_]+(?:['’-][^\W_]+)*c                     t           | z  }|                                st          d|            t          j        |                    d                    S )Nzmissing utf-8encoding)PROJECTis_fileRuntimeErrorjsonloads	read_text)relpaths     script/complete-project.pyloadr      sP    S=D<<>> -+c++,,,:dnngn66777    c                    t          j                    }|                     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)handles   r   <lambda>zsha.<locals>.<lambda>   s    &++o">"> r   r   )hashlibsha256openiterupdate	hexdigest)r   digestblockr   s      @r   shar$      s    ^F	4 !F>>>>DD 	! 	!EMM%    	!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! s   ,A##A'*A'c                    # t          d          } t          d          }t          d          }t          d          }t          d          }t          d          }t          d          }t          d          }t          d	          }t          d
          }	t          d          }
t          d          }t          d          }t          d          }t          d          }t          d          }d t          dd          D             }d                    |          dz   }t          dz  }t          dz  }t          dz  }|                    d          }t          |          #t          dz  }|                                rt          |          nd }|                    d          pi }t          |          }t                      }|                    d          du o+|                    d          d k    ot          |          d!k    }|r|D ]}}|                    |          pg }|o1t          |          dk    o|d"                             d#          d$k    }|r.|
                    |d"                             d%                     ~|ot          |          dk    od |v}|||||||	|
|||||g}i d&|                    d          du or|                    d'          t          t                              |                    k    o4d(t          t                              |                    cxk    od)k    nc d*|                    d*          du o/||k    o)|                                |                                k    d+|                    d          du d,|                    d-          #k    o3|                    d.          #k    ot          #fd/|D                       d0|                    d          du o|                    d1          du oi|                    d2          d3u oR|                    d4          #k    o9|                                o%|                    d5          t          |          k    d6|                    d          du o|                    d7          d8k    o|                    d9          du o|                    d4          |                    d5          k    o|                    d:          |                    d5          k    os|                    d;          t          t          dz            k    oE|                    d<          |                    d=          k    o|                    d>d"          d"k    d?|                    d          du o|                    d@          du dA|                    d          du oA|                    dB          d3u o*|                    dCi                               d          du dD|                    d          du oC|                    dCi                               d          du o|                    dE          dFk    dG|	                    d          du o|	                    d          d k    o|	                    dCi                               dH          d3u oU|	                    dIi                               dJ          du o*|	                    dIi                               dK          du dL|
                    d          du oC|
                    d          d k    o*|
                    dCi                               dH          d3u dM|                    d          du o|                    d          dNk    dO|                    d          du o|                    d          d k    ot|                    dCi                               dH          d3u oI|                                o5|                                j        dPk     o||                    d5          k    dQ|                    d          du o|                    dRdS          dTk    dU|                    d          du oB|                    dU          pi                     dV          pi                     dW          |k    dX|}t          |                                          } i dYdd| dZt          j        d[|                     d[          d\#d't          t                              |                    d]d^d_t'          t          t                              |                    d^z  d`          da|                    d>          db|
                    dc          |
                    d5          dddO|                    dc          |                    de          |                    d5          dfdX|                    dg          |                    dh          |didj|dkt)          |                                          dlt          |          dmt+          j        t.          j                                                  }!t          dnz  }"|"                    t7          j        |!d3d!o          dz   d           | sDt;          t7          j        d3dp |                                D             dqd3r                     dS d | d<   ds dtD             | du<   |!dm         | dv<   t          dz                      t7          j        | d3d!o          dz   d           t;          t7          j        d|!dk         |!dl         d dwd3r                     d"S )xNzscript/project-manifest.jsonzstory/draft-report.jsonzstory/promotion-report.jsonzstory/originality-report.jsonzlog/tts-pronunciation.jsonzlog/tts-verification.jsonzlog/image-generation.jsonzimage/layout-manifest.jsonzlog/intro-render.jsonzlog/footage-job.jsonzlog/final-render.jsonz log/production-verification.jsonzlog/upload-transcode.jsonzlog/metadata-verification.jsonzlog/postiz-media.jsonzlog/postiz-schedule.jsonc                 x    g | ]7}t           d |ddz                      d                                          8S )zstory/chapters/chapter-02dz.txtr   r	   )r   r   rstrip).0indexs     r   
<listcomp>zmain.<locals>.<listcomp>-   s]      F  F  FotDUDDDDDOOY`Oaahhjj  F  F  Fr   r      z



zstory/spoken-narration.txtzstory/story-canon.txtzstory/tts-pronunciation.txtr   r	   zoutput/final-upload.mp4postsverifiedTstatus	completed   r   stateQUEUEpublishDatestory
word_counti0*  i.  
exact_joinoriginalitycanon_chainspoken_sha256source_canon_sha256c              3   L   K   | ]}|                     d           k    V  dS )r<   N)get)r)   rowcanons     r   	<genexpr>zmain.<locals>.<genexpr>F   s        {|  {|  or{~  |C  |C  DY  [`  |a  |a  ej  |j  {|  {|  {|  {|  {|  {|r   pronunciationreverse_verifiedsemantic_content_changedFsource_sha256output_sha256ttsvoicezngoc-huyen-vbeepronunciation_verifiedchunk_reconstruction_sha256pronunciation_receipt_sha256segments_completedsegments_totalduration_secondsprovider_imagesprovider_rendered_text_onlylayout_artwork_qatext_overlay_applied	visual_qaintroencoder_required
h264_nvencfootage_technicalrequiredserver_verificationmirror_appliedsource_audio_discardedfinal_technical
productionpassedupload_copyi ʚ;metadatatitle_lengthi  d   mediavideor   scheduleversion
project_idtitlecanon_sha256tts_words_per_minute   predicted_tts_minutes   tts_duration_secondsfinaljob_id)rp   r   output_bytes)rp   bytesr   
slot_localslot_utc)rs   rt   r.   checkschecks_passedchecks_total
checked_atzlog/completion-report.json)ensure_asciiindentc                     g | ]	\  }}||
S  r|   )r)   keyvalues      r   r+   zmain.<locals>.<listcomp>d   s"    7j7j7j
Udi7j7j7j7jr   )r/   failed)ry   c                     i | ]}|d S )r1   r|   )r)   r}   s     r   
<dictcomp>zmain.<locals>.<dictcomp>g   s,      n  n  nck  n  n  nr   )r6   rG   imageslayoutrT   footagefinal_renderr`   	transcodeuploadre   steps
updated_at)r/   rv   rw   manifest_status)r   rangejoinr   r   r$   r   r>   setlenaddWORD_REfindall
read_bytesallstatst_sizevaluesnameroundsumr   nowr   utc	isoformat
write_textr   dumpsprintitems)$manifestdraft	promotionr9   rB   rG   r   r   rT   r   ro   r]   r   r`   rc   re   chaptersexpectedspoken_path
canon_pathpronunciation_pathspokenr   upload_hashr.   
target_ids
timestampsschedule_okintegrationrowschainru   r/   reportoutputr@   s$                                      @r   mainr      s   233H*++E233I677K566M
*
+
+C-..F.//F())E)**G())E899J011I455H())E.//H F  Fx}~  BD  yE  yE  F  F  FH}}X&&-H88K22J #@@""G"44FE00F!'!1!1;#f+++tKLL!!'REUJJ,,z**d2ux||H7M7MQ\7\uadeoapaptuauK V% 	; 	;K99[))/RD%\#d))q.\T!W[[=Q=QU\=\K ;tAw{{=99:::!Uc*oo&:Ut:?UsFFE7ES]_hjrty  |D  EE:&&$.  ^599\3J3JcRYRaRabhRiRiNjNj3j  ^otx{  }D  }L  }L  MS  }T  }T  yU  yU  p^  p^  p^  p^  Y^  p^  p^  p^  p^eii--5  E&H:L  EQ[QfQfQhQhlw  mC  mC  mE  mE  RE 	{z22d: 	y}}_55>  |;??ShCiCimrCr  |wz  {|  {|  {|  {|  v{  {|  {|  {|  x|  x|	
 	**:66$>  =CTCTUgChChlpCp    vC  vG  vG  Hb  vc  vc  gl  vl    q~  qB  qB  CR  qS  qS  W\  q\    as  a{  a{  a}  a}    BO  BS  BS  Tc  Bd  Bd  hk  l~  h  h  B 	swwz""d*  Xswww/?/?CT/T  XY\Y`Y`ayYzYz  C  ZC  X  HK  HO  HO  P_  H`  H`  dq  du  du  vE  dF  dF  HF  X  KN  KR  KR  Sp  Kq  Kq  uB  uF  uF  GV  uW  uW  KW  X  \_  \c  \c  dB  \C  \C  GJ  KR  Uq  Kq  Gr  Gr  \r  X  wz  w~  w~  S  wT  wT  X[  X_  X_  `p  Xq  Xq  wq  X  vy  v}  v}  ~P  RS  vT  vT  WX  vX 	6::j11T9ofjjIf>g>gko>o 	VZZ
33t;  d

Ka@b@bfk@k  dpvpzpz  |G  IK  qL  qL  qP  qP  Q[  q\  q\  `d  qd 	:&&$.  X599["3M3M3Q3QR\3]3]ae3e  Xjojsjs  uG  kH  kH  LX  kX 	W[[44<  zXAVAVZeAe  zjqjuju  wB  DF  kG  kG  kK  kK  LV  kW  kW  [`  k`  z  el  ep  ep  qF  HJ  eK  eK  eO  eO  P`  ea  ea  ei  ei  z  nu  ny  ny  zO  QS  nT  nT  nX  nX  Yq  nr  nr  vz  nz 	599Z00D8  XUYYx=P=PT_=_  Xdidmdmny{}d~d~  eC  eC  DN  eO  eO  SX  eX 	jnnZ00D8aZ^^H=U=UYa=a 	y}}Z00D8  QY]]8=T=TXc=c  Qhqhuhu  wB  DF  iG  iG  iK  iK  LV  iW  iW  [`  i`  Q  ek  es  es  eu  eu  Q  z@  zE  zE  zG  zG  zO  R_  z_  Q  do  s|  s@  s@  AP  sQ  sQ  dQ 	HLL,,4anVY9Z9Z^a9a 	:&&$.UYYw5G5G5M24R4RSZ4[4[4a_a3f3fgo3p3pt3  	K!F$ 6==??##H1 (,8',g&&(6 	c'//&1122 5KC 	 s7??6+B+B'C'Cc'I1!M!M	
 	(: ; ; 	EIIh//599_;U;UVV 	)--"9"9IMMR`DaDamvmzmz  |K  nL  nL  M  M 	8<<#=#=8<<XbKcKcnstt 	& *3v}}+?+? BPQTU[Q\Q\ 	hl8<00::<<F 33F
djeAFFFMX_``` dje7j7jfllnn7j7j7jkkz  A  A  A  	B  	B  	Bq$HX n  n  6m  n  n  nHW#L1H\--99$*X\ajk:l:l:los:s  F9  G  G  G	$*$9Pbhiwbx  NY  Z  Z  in  o  o  o  p  p  p1r   __main__zCompletion blocked: )file)r   r   resysr   r   pathlibr   __file__resolveparentsr   compileUNICODEr   r   r$   r   __name__exit	Exceptionexcr   stderrr|   r   r   <module>r      sM     				 



 ' ' ' ' ' ' ' '      
$x..
 
 
"
"
*1
-
"*2BJ
?
?8 8 8  O O Od z   *S**<<<< s   -B B<%B77B<