
    TiZ                     X   S SK r S SKrS SKrS SKJr  Sr0 SS_SS_SS	_S
S_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_S S!_S"S#_S$S%_0 S&S'_S(S)_S*S+_S,S-_S.S/_S0S1_S2S3_S4S5_S6S7_S8S9_S:S;_S<S=_S>S?_S@SA_SBSC_SDSE_SFSG_E0 SHSI_SJSK_SLSM_SNSO_SPSQ_SRSS_STSU_SVSW_SXSY_SZS[_S\S]_S^S__S`Sa_SbSc_SdSe_SfSg_ShSi_E0 SjSk_SlSm_SnSo_SpSq_SrSs_StSu_SvSw_SxSy_SzS{_S|S}_S~S_SS_SS_SS_SS_SS_SS_ESSSSSSSSSSSSSSS.ErS r\ R                  R                  \" 5       S5      rS rSS jrSS jrg)    N)FileLockzChttps://github.com/LibreTranslate/MiniSBD/releases/download/v0.0.1/enzen.onnxfrzfr.onnxafzaf.onnxgrczgrc.onnxhbozhbo.onnxarzar.onnxhyzhy.onnxeuzeu.onnxbezbe.onnxbgzbg.onnxbxrzbxr.onnxcazca.onnxzzh-hanszzh-hans.onnxzzh-hantzzh-hant.onnxlzhzlzh.onnxcopzcop.onnxhrzhr.onnxcszcs.onnxdazda.onnxnlznl.onnxmyvzmyv.onnxetzet.onnxfozfo.onnxfizfi.onnxglzgl.onnxdezde.onnxgotzgot.onnxelzel.onnxhezhe.onnxhizhi.onnxhuzhu.onnxiszis.onnxidzid.onnxgazga.onnxitzit.onnxjazja.onnxkkzkk.onnxkozko.onnxkmrzkmr.onnxkyzky.onnxlazla.onnxlvzlv.onnxlijzlij.onnxltzlt.onnxqafzqaf.onnxmtzmt.onnxgvzgv.onnxmrzmr.onnxpcmzpcm.onnxsmezsme.onnxnbznb.onnxnnznn.onnxcuzcu.onnxorvzorv.onnxfrozfro.onnxfazfa.onnxplzpl.onnxqpmzqpm.onnxptzpt.onnxrozro.onnxruzru.onnxsazsa.onnxgdzgd.onnxsrzsr.onnxskzsk.onnxslzsl.onnxeszes.onnxsvzsv.onnxzsq.onnxzta.onnxzte.onnxztr.onnxzqtd.onnxzuk.onnxzhsb.onnxzur.onnxzug.onnxzvi.onnxzcy.onnxzhyw.onnxzwo.onnxzth.onnx)sqtatetrqtdukhsburugvicyhywwothc                     [         R                  S:X  aR  [         R                  R                  [         R                  " S[         R                  R                  S5      5      S5      $ [         R                  S:X  a\  S[         R                  R                  ;   a  [         R                  R                  S5      $ [         R                  R                  S5      $ g	)
NntLOCALAPPDATA~Cacheposixdarwinz~/Library/Cachesz~/.cache )osnamepathjoingetenv
expandusersysplatform     `/var/www/html/backend/Backoffice_Marketplace/venv/lib/python3.13/site-packages/minisbd/models.pyget_user_cache_dirrg   \   s    	ww$ww||BIInbgg6H6H6MNPWXX	G	rvv&77%%&89977%%j11re   minisbdc                  <    [        [        R                  5       5      $ N)listMODELSkeysrd   re   rf   list_modelsrn   j   s    re   c                    [        5       nU b   [        [        U 5      [        U5      -  5      nU H4  nSnSn[        U5       H  n Ub  U" SU 35        [	        U5          M2     M6     g ! [
         aX  nXdS-
  :  a6  [        SU SU SU S35        [        R                  " U5        US-  n S nAMo  [        SU S	U S
U 35        e S nAff = f)N
      zDownloading model: zFailed to download z: z. Retrying in zs...   z after z attempts: )	rn   rk   setrangeget_model_file	Exceptionprinttimesleep)	load_onlyoutput
all_modelsmodelmax_retriesretry_delayattemptes           rf   download_modelsr   m   s    J#i.3z?:;
[)G%089u% *   1_,/wb>+VZ[\JJ{+1$K/wgk]+VWUXYZs   A))
C38C1CCc                 L  ^ ^^
 T R                  S5      (       a  T nO`[        R                  T 5      nUc?  [        R                  R                  T 5      (       a  T $ [        ST  S[        5        35      e[        U-   n [        R                  R                  U5      n[        R                  R                  [        U5      nSm
U
U U4S jn[        R                  R                  U5      (       d  [        R                  " [        SS9  US-   n[        US	S
9nU   [        R                  R                  U5      (       d   [        R                  R!                  X%U5        S S S 5        [        R                  R                  U5      (       a   [        R"                  " U5        [        R                  R%                  U5      $ ! , (       d  f       Nh= f!    N4= f! [         aA  n	[        R                  R                  W5      (       a  [        R"                  " U5        U	eS n	A	ff = f)NhttpzInvalid model: z	, not in r   c                    > [         R                   " 5       nTb(  US:  a!  UT-
  S:  a  T" ST 3X-  U-  S-  5        Umg g g g )Nr   rq   zDownloading model    )rx   )	block_num
block_size
total_sizenowlast_updater]   progress_callbacks       rf   progress get_model_file.<locals>.progress   sY    ))+C ,aC+DUYZDZ!$6tf"=y?UXb?bef?fg! E[,re   T)exist_okz.lock   )timeout)
startswithrl   getr\   r^   isfilerv   rn   REPO_URLbasenamer_   	cache_dirmakedirsr   urllibrequesturlretrieveunlinkabspath)r]   r   urlmodel_filenamefilename
model_pathr   	lock_filelockr   r   s   ``        @rf   ru   ru      s   vD)!ww~~d##/$y PQQ^+C77##C(WW\\)X6
	" ww~~j))KK	D1"W,IIr2Dww~~j11NN..sI  ww~~i((IIi( wwz**  77>>*%%IIj!	sJ   >BG AG ,G G !G  
G
G GG 
H#"<HH#)NNrj   )r\   urllib.requestr   rx   filelockr   r   rl   rg   r^   r_   r   rn   r   ru   rd   re   rf   <module>r      s;   	   PS
)S
)S
 	)S
 
:	S

 
:S
 	)S
 	)S
 	)S
 	)S
 	)S
 
:S
 	)S
 ~S
 ~S
 
:S
  
:!S
" 	)#S
$ 	)%S
& 	)'S
( 	))S
* 
:+S
, 	)-S
. 	)/S
0 	)1S
2 	)3S
4 	)5S
6 
:7S
8 	)9S
: 	);S
< 	)=S
> 	)?S
@ 	)AS
B 	)CS
D 	)ES
F 	)GS
H 	)IS
J 	)KS
L 	)MS
N 
:OS
P 	)QS
R 	)SS
T 	)US
V 
:WS
X 	)YS
Z 
:[S
\ 	)]S
^ 	)_S
` 	)aS
b 
:cS
d 
:eS
f 	)gS
h 	)iS
j 	)kS
l 
:mS
n 
:oS
p 	)qS
r 	)sS
t 
:uS
v 	)wS
x 	)yS
z 	){S
| 	)}S
~ 	)S
@ 	)AS
B 	)CS
D 	)ES
F 	)GS
H 	)IS
J 









eS
j	 GGLL+-y9	.+re   