+
    4:j+                    $   ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
Ht RtRt^t ! R R]4      tR R ltR R	 ltR
 R ltR R ltR R ltR R lt]R8X  d    ]! ]! 4       4      hR#   ] d   t]! R] 24      ]hRtAii ; i)    )annotationsN)PathPurePosixPathc                      ] tR t^tRtR# )FactoryError N)__name__
__module____qualname____firstlineno____static_attributes__r       F/home/user/tmp/united-pets-verifier-portability/tools/theme_factory.pyr   r      s    r   r   c                    V ^8  d   QhRRRR/# )   pathr   returnstrr   )formats   "r   __annotate__r      s     . .$ .3 .r   c                   V P                  4       '       g   \        R V  24      h \        P                  ! V 4      p\        4       p\        4       p^ pT;_uu_ 4        TP                  4       pT'       g   \        RT  24      hT EF  pTP                  pT'       d   RT9   g   TP                  R4      '       d   \        RT: 24      h\        T4      P                  p	T	'       d;   \        ;QJ d    R T	 4       F  '       g   K   R	M	  R
M! R T	 4       4      '       d   \        RT: 24      hRP                  T	4      P                  R4      p
T
P                  4       pY9   d   \        RT: 24      hTP!                  T4       TP!                  T	^ ,          4       TP"                  ^,	          p\$        P&                  ! T4      '       d   \        RT 24      hTP(                  \*        8  d   \        RT 24      hYWP(                  ,          pT\,        8  d   \        R4      hTP.                  '       g   EK  TP(                  TP.                  ,          \0        8  g   EK  \        RT 24      h	  RRR4       \3        T4      ^8w  d   \        R\5        T4       24      h\7        \9        T4      4      pT R2P                  4       T R2P                  4       0pTP;                  T4      '       g    \5        Y,
          4      p\        RT 24      hT#   \        \        P
                  3 d   p\        RT  RT 24      ThRp?ii ; i  + '       g   i     L; i)zarchive does not exist: zinvalid ZIP z: Nzempty ZIP: \/zunsafe ZIP path: c              3  *   "   T F	  qR9   x  K  	  R# 5i) N>   r   ...r   ).0parts   & r   	<genexpr>"inspect_archive.<locals>.<genexpr>*   s     JED 7Es   TFzduplicate ZIP path: zZIP contains symlink: zZIP member exceeds size limit: z#ZIP uncompressed size exceeds limitz,ZIP member compression ratio exceeds limit: z3ZIP must contain exactly one root directory, found z
/style.cssz
/index.phpz3ZIP is not an installable WordPress theme; missing )is_filer   zipfileZipFileOSError
BadZipFilesetinfolistfilename
startswithr   partsanyjoinrstripcasefoldaddexternal_attrstatS_ISLNK	file_sizeMAX_FILE_BYTESMAX_ARCHIVE_BYTEScompress_size	MAX_RATIOlensortednextiterissubset)r   archiveexcrootsnamestotalinfosinforawr+   
normalizedfoldedmoderootrequiredmissings   &               r   inspect_archiverL      s   <<>>5dV<==B//$' eEeEE	  "TF344D--C$#+)<)<"%6sg#>??!#&,,ECCJEJCCCJEJJJ"%6sg#>??%//4J((*F"%9##ABBIIfIIeAh%%+D||D!!"%;C5#ABB~~."%DSE#JKK^^#E(("#HII!!!dnnt7I7I&II&U"%QRUQV#WXX- 	 
8 5zQPQWX]Q^P_`aaUD&
#,,.4&
0C0L0L0NOHU##)*PQXPYZ[[KS W''( B\$r#78cAB 
sP   L AM
;6M
2M
M
!B+M
A(M
;#M
$M
M0MM
M	c               $    V ^8  d   QhRRRRRR/# )r   archive_pathr   destinationr   r   r   )r   s   "r   r   r   G   s!      $ T c r   c                   \        V 4      pVP                  4       '       d   \        R V 24      hVP                  P	                  RRR7       \        \        P                  ! RVP                   R2VP                  R7      4      p \        P                  ! V 4      ;_uu_ 4       pVP                  4        EF	  p\        VP                  4      P                  pVP                  ! V!  pVP!                  4       '       d   VP	                  RRR7       K^  VP                  P	                  RRR7       VP#                  V4      ;_uu_ 4       qP#                  R4      ;_uu_ 4       p	\$        P&                  ! W4       RRR4       RRR4       VP(                  ^,	          R,          p
TP+                  T
;'       g    R4       EK  	  RRR4       \,        P.                  ! W14       V#   + '       g   i     Lr; i  + '       g   i     L}; i  + '       g   i     LN; i  \0         d    \$        P2                  ! TRR	7       h i ; i)
zdestination already exists: Tparentsexist_okr   prefixdirwbNi  i  )ignore_errors)rL   existsr   parentmkdirr   tempfilemkdtempnamer#   r$   r(   r   r)   r+   joinpathis_diropenshutilcopyfileobjr1   chmodosreplaceBaseExceptionrmtree)rN   rO   rI   stagingr>   rD   r+   targetsourcesinkrH   s   &&         r   install_archiverm   G   s   <(D9+GHHTD98##Q{/?/?.@+BHZHZ[\G__\**g((*%dmm4:: ))51;;==LLL=##D4#@\\$''6;;t3D3D&&v4 4E'**b0E9T]]U+ + + 	

7( K 4E3D'' +*  gT2s[   H %B%H

G7#G$:G75H
8H
H $G4/G77HH

H	H %Ic               $    V ^8  d   QhRRRRRR/# )r   	containerr   rO   r   r   r   )r   s   "r   r   r   a   s!      $ T c r   c                   V P                  4        Uu. uF  q"P                  4       '       g   K  VNK  	  ppV P                  4        Uu. uF  q"P                  4       '       g   K  VNK  	  ppR R0pV Uu. uF  q"P                  V9  g   K  VNK  	  pp\	        V4      ^8w  g	   V'       d   \        RV  24      hV^ ,          pVP                  P                  RRR7       \        P                  ! RVP                   R2VP                  R7      w  r\        P                  ! V4       \        V	4      p
 \        P                  ! V
R\        P                  ^	R7      ;_uu_ 4       p\!        VP#                  R	4      R
 R7       EF  pVP%                  4       '       d   \        RV 24      hVP'                  V 4      P)                  4       pVP                  4       '       d   K_  \        P*                  ! V4      pRVn        \        P                  Vn        VP1                  4       P2                  R,          ^,          Vn        VP7                  R4      ;_uu_ 4       qP7                  VR4      ;_uu_ 4       p\8        P:                  ! VV4       RRR4       RRR4       EK  	  RRR4       \=        V
4       \        P>                  ! W4       VP                  # u upi u upi u upi   + '       g   i     La; i  + '       g   i     EK  ; i  + '       g   i     Lt; i  \@         d    T
PC                  RR7       h i ; i)generation.jsonresponse.mdz=theme container must hold one root plus generation metadata: TrQ   r   rT   w)compresslevel*c                >    V P                  4       P                  4       # )N)as_posixr/   )items   &r   <lambda>pack_theme.<locals>.<lambda>o   s    AYAYA[r   )keyztheme contains symlink: i  rbN)
missing_ok)i     r~   r   r   r   )"iterdirr`   r"   r^   r9   r   rZ   r[   r\   mkstempre   closer   r#   r$   ZIP_DEFLATEDr:   rglob
is_symlinkrelative_torw   ZipInfo	date_timecompress_typer2   st_moder1   ra   rb   rc   rL   rf   rg   unlink)ro   rO   entryr@   filesmetadata
unexpectedrI   fd	temporary	temp_pathr>   r   relativerD   rk   rl   s   &&               r   
pack_themer   a   sq    ) 1 1 3F 3u||~UU 3EF ) 1 1 3G 3u}}UU 3EG!=1H%*IUEjj.H%%UJI
5zQ*Z[dZefgg8DTD9$$a0@0@/A,CI[I[\MBHHRLYI__YW-A-AQRSSW^tzz#4[\\??$$&)A$'HII++I6??A;;==x0!6%,%9%9"&*iik&9&9F&Br%I"YYt__T30G0G4&&vt4 1H__ ] T 		"


9* 99= GGI( 1H0G___ TS  D)s~   KK	K%K5KK40L $A:LA:LK73K$K7L )L $K4/K77L	
LL	L L>c               $    V ^8  d   QhRRRRRR/# )r   result_pathr   
output_dirr   r   )r   s   "r   r   r      s!      t  $ r   c                    \         P                  ! V P                  4       4      pTP                  R. 4       Uu. uF  p\        T4      P                  4       NK  	  ppT Uu. uF%  qfP                  P                  4       R8X  g   K#  TNK'  	  pp\        T4      ^8w  d   \        R\        T4       24      hTP                  4       p T^ ,          P                  T4       T^ ,          P                  4       '       g   \        RT^ ,           24      hT^ ,          #   \        \         P                  3 d   p\        R T 24      ThRp?ii ; iu upi u upi   \         d   p\        RT^ ,           24      ThRp?ii ; i)zinvalid ask-gpt JSON: Nr   z.zipz*expected exactly one generated ZIP, found z(generated ZIP escaped output directory: zgenerated ZIP is missing: )jsonloads	read_textr%   JSONDecodeErrorr   getr   resolvesuffixr/   r9   r   
ValueErrorr"   )	r   r   resultr?   valuer   r   zipsexpecteds	   &&       r   generated_zipr      sY   DK1134 17

7B0GH0GuT%[  "0GEH"GUTkk&:&:&<&FDDUDG
4yA~GD	{STT!!#HZQH% 7??7QyABB7N T))* D3C59:CDHG  ZEd1gYOPVYYZs@   $D "E" EEE E	5EE	E<!E77E<c               $    V ^8  d   QhRRRRRR/# )r   ro   r   r>   r   Noner   )r   s   "r   r   r      s&     i iT iD iT ir   c           
        \        V4      pV P                  4        Uu. uF&  q3P                  4       '       g   K  VP                  NK(  	  ppV P                  4        Uu0 uF&  q3P	                  4       '       g   K  VP                  kK(  	  ppWB.8w  g   VP                  R R04      '       g   \        RV RV R\        V4       24      hR# u upi u upi )rq   rr   z#theme tree/archive mismatch: roots=z
, archive=z, files=N)rL   r   r`   r^   r"   r=   r   r:   )ro   r>   packed_rootr   r@   r   s   &&    r   auditr      s    !'*K%.%6%6%8K%8ELLNZUZZ%8EK%.%6%6%8L%8EMMOZUZZ%8ELU^^5F4V%W%W1%
;-xX^_dXeWfgi 	i &X LLs   CCC:Cc                   V ^8  d   QhRR/# )r   r   intr   )r   s   "r   r   r      s      c r   c                    \         P                  ! 4       p V P                  R RR7      pVP                  R4      pVP	                  R\
        R7       VP                  R4      pVP	                  R\
        R7       VP	                  R\
        R7       VP                  R4      pVP	                  R	\
        R7       VP	                  R\
        R7       VP                  R
4      pVP	                  R\
        R7       VP	                  R\
        R7       VP                  R4      pVP	                  R	\
        R7       VP	                  R\
        R7       V P                  4       pVP                  R8X  d!   \        \        VP                  4      4       ^ # VP                  R8X  d,   \        \        VP                  VP                  4      4       ^ # VP                  R8X  d,   \        \        VP                  VP                  4      4       ^ # VP                  R
8X  d,   \        \        VP                   VP"                  4      4       ^ # \%        VP                  VP                  4       ^ # )commandT)destrJ   validater>   )typeinstallrO   packro   r   r   outputr   )argparseArgumentParseradd_subparsers
add_parseradd_argumentr   
parse_argsr   printrL   r>   rm   rO   r   ro   r   r   r   r   )parsercommandsr   r   r   r   checkargss           r   mainr      s   $$&F$$)d$CH"":.H)$/!!),G.T2v&Dk-m$/  *F
T*
t,(E	{.	yt,D||z!odll+,  
	"odllD,<,<=>  
	j)9)9:;
 	 
	!mDIIt{{34  	dnndll+r   __main__ztheme-factory: l        i    )
__future__r   r   r   re   rb   r2   r\   r#   pathlibr   r   r6   r5   r8   RuntimeErrorr   rL   rm   r   r   r   r   r	   
SystemExitr?   r   r   r   <module>r      s    "   	     '* "		< 	.b4D&i@ z;     ;?3%01s:;s   (A7 7B>B

B