From dbfa9bd1e89f2a07b2a81bd7d6022f0e2c03a1ee Mon Sep 17 00:00:00 2001 From: owenchen Date: Thu, 4 Jun 2026 16:02:14 +0800 Subject: [PATCH] ow --- Lib/CloudBuilder.AI.Service.dll | Bin 38400 -> 39936 bytes Lib/CloudBuilder.AI.dll | Bin 88576 -> 97792 bytes Program.cs | 3 +- Properties/launchSettings.json | 2 +- Python/PythonCommand.cs | 19 +++++++++ Task/AI/ChineseNameExtractorTask.cs | 61 ++++++++++++++++------------ Task/TTS/TtsTask.cs | 2 +- Utility/SpeakerAnalysisHelper.cs | 17 +++++--- 8 files changed, 70 insertions(+), 34 deletions(-) diff --git a/Lib/CloudBuilder.AI.Service.dll b/Lib/CloudBuilder.AI.Service.dll index b45d464c9e51549935c96a83d53f1bbb3f2653cb..8af1dd1fe4a9d737d4afbe0adebd576da606326e 100644 GIT binary patch literal 39936 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 literal 38400 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 diff --git a/Lib/CloudBuilder.AI.dll b/Lib/CloudBuilder.AI.dll index c9f799193ef180b41ac1abe8f8e969717c72d001..a19d798239299bfd3578713a63451fa8969eade4 100644 GIT binary patch literal 97792 zcmeFad3;pW{XTxqEO%zIkp+^l2nmp6vO*RSEodUB1W{2D0TmM#6-9z!QBdgw5Jk|s zAX-G52vu=kaILk8Ac`whYSmIn1g)s`qt>-W{5|jIo|~KqSnG?IukRnfy!4spdCs|K zd7tIpnR{nAZo)OnuapYl|L?z7>T$fvUnTL!A%^6nK2Ij8^^upeAJ?N^&K`5lv{_j* z>+8<0uRT9&a_x*6b+fZ3P0gyGGb3x-jI7}&oSb!j-IS>%iHULjP0^!|Qfid;t8U*; zzQ(JqRrSq^*8`QBtCezGx8MfwEbvCWDwRy`bK5P3w4Z;iNQWI5Mu_Z|tv5C59AN`Uvx^;(VjVcL)BETzI$dKh|yrAuZ{y=XS{z&U6y(%4ti zZZ8|`nv(ii^^;++ZD=DqdJ$f&ze)^ON&VF6b;u}fRcJF~aLHczjd_KM8vKF7BmNTmfDWlGm}mXm7mw{FjRD3tUQ9skDK9H4G)9o)rI_ zc%^#A`J9qLPSL<r)|s1KjoC) zPp}H8>xV4kjNNg39cEwLxPr8SAvFnYK-g2d)}tjeGq37`Cgr5N)yJi(oC}iBwB-WD zf!wZz@q5yR*X5vq+j278PR6I|oC|PZ&*cJMKH+Y@XfAR~MDomQR9-tGBQ_#K*Ncmv zalyp>VO%7$!;(73MUHkZ7VI3Ck&izT>l7C$U>|Yek^73v)J}1cqkl?Vq`03PmmsEf zL0`-f5(Em1-Zeap6y@{p(ea_8Kt@90asD~5d~r_KJvuQ`6i81fJj@qO z#Gc{Q2}bkLh_paTfJuFPQ49%^1o!ClJvuFz5@eDTroxyH0W}5npcN^q{$BJu&Z)m2 zFK(gr1GJhMEsy{>sk+aIjA$Wvs;)mo{339bs@+PWm`sIG?ja^AT7oRm0X&}d^>x>V zlBp5$dQ1W%>=`6jFK!GFkRQeX&HZ5vy0W8!d&MA~NrG=@La?-N^!vhDan6~bV0*{gzFLlokcHZZ7qATsDtikgM}Juc3lc@=g6thhdjx8!8> ziMu7Et`vU!tTJFieVkv-Ow33Ns8CukJ9a@$WOmSAFg_JKP6o_IsaMHpl;i73O zTvv``()ak%A}NugLzOeDt4}#Ok-CSGN9BaM7V9$LshpHR-Gk!RRp1aDc`#mbQvw;| zP*qB(ZV+T**pRwIBr#k!SYA|NypjZZXp4hGoD?S|c=fa+CV&6^_Z^LhONlEg`X3sB zejsuw@r+YINlzmZCqG*gmw8nc<5ZuHkYMMjA1$x(f#{)V7Upt7xF`b?E_C&@jB!zH zXcz?H;{&&0EEChy0)>MkDS=gKL50R0mZZ>~f5Pc4!GFg9TqHLUBvHqgfNH31}@z~5g0i1#` z0O9)iGG7aa_&8?C$d`@I=3G2dnsV{6!1xdk$-w3#wM9bFzQ~bS2!c};h>8^O+;|4+ z!XAdYctH0(0Sq!iT&R5MnQUJC0;C5*b)!%$Do;@%UuNBL5VH`2xWvLNiyFW!ULbliM#$A(bR`Ex?Qm_*f#U3fEtW?!*`NSrFH5vzIGqyS?RV$MG^J?#0^1 zK%}VjxOBwkL{zz8icbY{iZgN-Oa|HGRA7K-orHv(n50B;nk$TA6E94_Dm+CR8!S9E zH5eT$)Nvb>;;==Wogt@B+_<>HayH3Jko6x5AtAo7#{vv~z)O&gKnf3FnPPJeMo&et z#f_Lu!9D329h1q7V_B++7y>1M+oN%HktPdySbHoJQWF@3W1b(wyikHZIG)l z8`2U}5{nY*B~ocggKt29RG87t*%Oihn>7v)#m-%r80MjS`DuYjQ7A=5T^i9PrAtwS z@PVk~!e6qr=sd z+q`w;QMO=%mj&4e5nW24BrN)vvzB znM3|&;UpfHQ-2!@s>A$_%gw33-Qssy{6336WbsEW{-nj9w)is^-(>L@EdGkcU$gid z7Ju8~?^yg@i@$I24=w(Q#Xq>vG|o1zq*~rWY07+`?_{Fr+%fyS6Td4i{EDP+bw>V#qYEDLl%G3;!j%q zX^TH&@l6(g!Q!u2{56ZeVez*u{*J}pwfOrM|Ip%}Sp0K~e`WE1TYQhjeL-s_SUk?+ zNfuAFc)G=VSiHBz`&vBL;sq8jv3Qxq2U+|uiyv&fY+Tzbxe3Qjru=pz$f6d}=Sp02^zhm)tEpD&7_bvZJi+^JA&-cT>viyHr ze2>L_j73Kic9WEq=VkPqO$}i!ZU-Il=NLT6~hl&$9Tr7N249dW+As_J$)_S!^$()@^dXd(Q1!AGTlL!4Dt#^A zvGVt|%IR(KBdt8SmY-{tWACvAmS19Vd!Ce8zCCB`aoOLT8Dt%Mn8gpb_>mU>DeK5? zk3B9&TjkhwjkNsZEq;>4$6DN;19to8Td_^GxP84k!768>m1m;mPqO$~7C*@vFQ0X+ zoyWcgw)fRrt?O93F1s9i{`{0SoNKjhhQ;kN?Y7lhdF-~?ZJul88D#a*Zoj=J%(wE} z``7}@?^KRe<|>OXwDR9)`43tAI*YHg_;prn53~HS7N2180&5)YHk4R?nZ;LGuysTl_jJ&jPERw_Duam+bw@-lJAp<*c&!trow{;&%SqE&ncy z-)HfMEM9N5f2_qHwemb^@uw~RjKvSLj$LT+B^E!)io?;Czp1^Pn0zE@-gVElqW?mB zj-2{eEdH9s->~@G7Poi#&#f~1THO9D$DR%LEP2N&^IeO-Z}Hw%nIBsICl>$Q;*;8W zOg`Y;$L9^VStZ)*@=43L&-3>CetW*JwDQ}ZLv-vPG5O%rwBW1ucIDLXwzx0caa9nu zc#_4tTD*tFvn-x#@gj?tS$wd?54ZSmi;uMUXp4`v_~{m(Wbtz>KEvX(Ek57kv34Gl zPv|?{0^?`Wgn)ZnMs9iVGx)GSEj;*S9Oov~FF}9P>uQm_;4JUc z{;B-5{}9wOYZ4N2Vv-WY&C9|CXLrssSn|lH;W;r$iQ>kidq*H~7CxJH(gGQ{4-j$h z4MYati_oP;+}i_jxCIy|H!&RqE-gMKz9=~OD*2c>sBs(ukrG#z28tUvfx3H;t**PL z?h|#8t5TdCxrujfT_2+ZIIaX4ibM6w(Y3;0{WUV8@sf<2XLYzm9EV$DV8zIVJ0kJn zC~j#M;?|>#Ktf7FQ8*Mf!AE1|ro&;!;N~FiJ48C&ckqX-@jz6~{WbUV_}f+US=!v! z(y9kKmgdeGxjV@lP`F1ENRKZJWSE;Ua({IJ^2wjCegztRDL%pvcz0lZv(Az**WZJL z`Ue2KQB-%fbSI~Ny|@CM+{eXz>W6N#xEnjWm*Nf*swzTARKb1ws@|Vd?Bucyo$|^( zsDSzeZN_Z^+;6y83aUE?t-`S4wtfcs@;vJ5J!=}gOA(R4;0?%K{|Zbu_kwBOoH_?& zkMk>;Q|C%&W0DfZN3?~}^PuDGgU;=I(2$OUB&Fk^_|!n3zM1aL{y_a}sMXx;4>-~3 zC{(2e>UUahsNKzsbmZmT{{&ySPi99yFu`RFuJb9?P5Pb@@2^Y6G~?*<_H3f!8cYif zz6_b%_2}ktZ&KsNE+Qr|iPW8sw$#l4V0qq+<(U$$tAm=IjXOMPky%60zcftTxRglU zO!)P^(7L({+hgWU2+?Q+jQ*>k~?WXr9p{agRE^~{|!2N zpABMYB6V{RAwF{uuA2*bSoI$466q=7Ielf!@<1A-a#7jNF@K7pl7m26riLO0MK?)R8Ltl9kF`sUubPCoAT!?9O-pdM^JI(VgJJ>S7Tmw~MK3{8-KBsiHhvt~IX?zU z@)yd>zVmae?#Gazv=p@k_i^1aqqs(ii{etVFq!~}bLtvk#QX4UM06oovI@zPm#YnV zFsE>4&jcqdk6yX?6MfV1ID`C+uRJX+uwWQkP`4Pzr35O%ktlZfLOE5+^Cmr2gvk-s zP`3n`>MjSMP&}K$B)9TTNqF)`o|EvQ(Mn}X+ZW)G4V-^!asG)bR7iE7ZRkipW*_N( zH3<38>y%l;v8Q1lx^yOXI<-JDJA0g?WTU$Rt&vB^+^)rk+)8+N+nwuD2F}kZvyL=n z)Uga{5Xu<#lghv|5vu2Z8G{8gP%a;)z>`-v%~g3N=fotXqm6Nn+s5|m0>8Qv z{91%ZGh{F^elol9C>@@VnJG`bxFf55Jv#<6u4Cx@){s_&9d8hEhVHSSaY`uc?&I-p zg&hNE#ZLAK`J1&AO^V4p$%qXHrpNG{Pardfr+5Oh(D=BV%(`WGQ90esYY+3<+r0LP z^GLi$57kWr|6#_p-Jhr&}&j;4_1`ymz0HB*8O-HJ(8N1FON!K>}lvXOO^{ z>=`65aCPe*LIPu|XOO_aRivAP1jgB(K?36(&me(;D>wHLk~CZ*U~5qa$$XrJV%-&6 zf-Nqi4*QtAH<7j7iahQ$FCOs3#cqPCUyt2)7B2GR=KK70sNadAP6r3d1)~#1@f7EZ zIL`=Nqd8Gr95DsgM@|%%MHILUa-z5bqQFIv6U9Xh1Mw_p9B?liij(Vq0~w57jaa%n0p7@j>Sre) zkKdm@FvMqs3UgEaJdG-vvPBp?5}UM@^?;o+DZww=jR23DGA-i__EC1R_6L1iD;{rQXs-Rprf3LmhBH@ zjGxe{Pk3Y!@A3*{4q`6i`dnpo%vZ-JXI;D>sxjR*JaMh?_+G)`(RiZWhtLX#eLH%Hz!K@p0EDKJ3}& zy4{s@VAt)`F8f%w7bX8P>sBgnUsj#gZKsrAkifXlGe}_E?-?X89`FnjZw>Zi zAJ(AlJU6)K%EzTE?i$?mU)JDSWR3n_^5YzJyNElCKzE%ey2upt%!#5m6zGH#MZ+o3 zUMGq+QlM#0^g$yY67jGR>qR^wqJ44w&sEFf^7`$rt-CNQ_H|BtHs!#stwU4yv9^Ax zbD~t$NMO9+86+@X^b8UhFL?$DjF&xw1jZ|#K?37d&me)Z#WP4?{Mj=| zym^|#IQ$X)x7O#|5)OBL{`?!`X|Yc_1P?<#fWD_Y%pS@2n3PY5IZM|cu^os zP86Y`Kt!A5q}lYzNR}>{Zo$I zdrkMkY~0tHezEI;UDL;R+sB&zrOua9`M%e5r<9++rkm2O3J%bk&h41XSkrIGz_+hy zTyU8+{fV~@NU$*e&ofA1eCin_Fh27P5*VL*1__LRc?JoLFFb<;#+RN!0^=*sAc66< zXOO`7#xqD@eCrt`Ft9q^?T7@%e>{T(#%|9b={P^-F;?3VBWvB`Tdm%@$5&~8^gV2= ztgSW)G1mRNB6b+DQ^b2lyf5M(MtmS*mk}R|_{fNlMf}qUjEfV+Sg>deffGg8DG+TZ ziU?C6uuc@gq(BUvDB?zea5+(ghysyuqKF0sg5X5I6VbjS{LdZv;rrfaF_ZVTA1u#2 zu=_!u?)%se=J)tzuAimyeeVaIQhxq^uo@j{uiyaf2hol>j{V?!8TR)5;M(^60Jm%0 zHAI3XgWEE$K>`D}Xk3E?MwVxgz{vIt5*U3wg9JuD&me)(-!n*H@NDz@|M3RUuMkI?!F@iS}c@G@NU@LN>-Aqclhzuj--dmJ6$B_-+&~>6cO^V!z zi}FSsQsh2cl=s;nFl0^?!^Gxbbet$g#M%$`U)z3;{NaAE1v7bH`vHCv;DCM(_8H3C z>vOPCy?>egKq_xvuAQ#=JEi>m{a^|@(q6#<+7Ajk<~a5PEHi6A=(s)@<*g7BEScjx zg9OI$oKlBrx!?t6K{Rj0v7W(y<>DGFI3m?EL@{`KkLs5wb>$B|p|&iHHG4;KMm5T53d@ zh;kz;L>z3yAQAY50v0e>#GytUCgN8{3=uKZh{Hu3VML{fDkF{*G0ceJB91cRXc5O4 zF+xPOi1zD)|G6VS+z&3nOy1XiP?~jM_k#yf-d_8`FLiw&mA5a~PWwTpl%KyJB=of^ zI6(VBQO6v|esHV|d;9glZ`!X9F7{Rk36>0goyJ{5Brq=Z3=$X%Jc9(ruRVhVM$9uv zU^I9J355wc`}HUO%lma~H%=5=43`yl7AK0`gaVt06UD|s zf&IdXVvnG}*5E`>Gvag+XBaV2#F<9ah^Q6OzIguU+T`tadtcqp&`L1!`&vII_dBrb z=Vg?)*ZR4&|1WbsmCE(kiht@XOO^H}lqXOO^H>lq|4e(xD1FmCq@5*T-Q1__KiJ%a?sI?o`1ahGS1z_{Bp zNIKTk0FK!-jFokrk05&c$E5%AzW-cgjh-j@abBM;;(Q}!h^RASricrSs24HIh}k0M z7%^AGg+^Q?VxAH6MPSEeJ=kcSC^lCL?5R!^`zQsrPbZ2klL9-X6J2D)ViA`au|&k> zMqD9csS#I-SZ2g>5my;;wTRysagB&;jkr$4^+v1^fvL?FU`FHSoe0?idr6G;6R^EM zS9}30bYJ`2d3gtRpZgT$?X}PSQr8JmdHXih={liP%Fo~D$_uOt4$wX~uw%_&pTid9 z?Q=X=`4#SQDW0q3j&5At3V|B{`1Lp^imgMYMie^+)>whUb8#!>+5#uKw1Hvuv`?v0 zDc`@K-g`>w0zM@*LY|Vk5m|F$l2Vt9C%N$OdF+A3YzuA;$8Etq z!=BOAV6!LUQOwM%P6OtoJ6pa$^-7aN92~*S}y^=Z;lN$8d8E9g~#0G747>j$D%B<(k_$*C@&Ld)6o^bzR*WFYKJ_xQ?5;b@Y@4^N9Pi~fZw?f`-cHfmw>NBMg;t#&K*0xqx+KLb$?#xTqksN zUsAkK&hMOSbVn{padUP0*|d%;=WX6Ohy*94zk3D=jCVYP1jcsHAc4{986+^;Jc9(r zyPiP;V~1yuz}V>-Brx9d3=$acdj<)Ne|QE7j1N461ja7UAc66rXOO`7$TLV_eC!z{ zF#hQoBrrbl3=$as=NTk0KJ^Tej`MmM_b6O+*yr^v+;gzc_|$(pujA?j_t_;s&RMt+ z!F_fkaLs}H>_*%r;%+1E5pk~(_ldaQhzCSGXv9Mz9yVgVh)0ZgRK#OOJTBr1Bc2rT z2P2*m@kb+`7V#$|nnko2@r;NKMr;)EtPz_;JZHr7A~qZGf`}K5cuB;|BHG`;{Lf+8 z`@DVzcIbVb*Pkgmu;=x%;(eUgf2sE`Qu)5m>zz`5{(1el0agVE=)7Luv1V{ye^my) z{ryYFE_M*MIsV8e36@}Q&me)($1_M^WO)V&jBL*!fzj79NMQ8y43ds@UBNc~1#Ppg z*Re}^*XuaV{OEnUH;^^@SILic{icYwjCfnb-;BTx?L@IFGaEKzCyEW20{bp*^cjII z7B~7tw6Bo=xq=^lK6WNXc3|5& z-~g?UgFEIP)(6g&*7~>$R~qg!GWcmkcYTmxDj)0_Brpbf1_=y&ztTN~1O~oL=^7+3 z4)qKY7>9WVNyqva#5Up#Yp;*p(p2~Ju>ZC`a4N=~XUUKCfwL~|JR5-%EbcrT@wte9 z8NqAmFOA>@^w&mwBiX(c(Y`+Z=L&wfK3>Mi?rVK~Sax97$64k3SRcg|zs&lO%G;-J zr}u@OQhxsWI2j#juiyZ!k3%}<9@fWyWZ2#F$4R~gcVm5Aii_p;Z?VdcCF9+SJIzU8 z;EjoEkifuu5Z54qfopfyAb}xe@^nN3<3!IOfpL;&kjyu2kyJy)_kQOX`A_!p8xqBu z!TVD@9FF&I4i@>*9>WrOOf2ckDc(^eFvfa@A*L9loa&_*(ow-Qi5V+!87ko0YpLKg z?Y5kRaq=xSU6 z#IbmFMf>+?ZgaEvE|zb-@`p@|(%g)`i>G@QzM_T-Dy4$+J5?~zzu+i54^)!qUvM;D z`D5aexxM&7e&5CNB`~IRwr956C9{r^qA%!FbS}OeiMO_Kxdp=RZ)Y7|2YX;2sr&NW zBa}Mwz%n3B?C*!2bPx}3V~lepAM{;uT;MU_~#Jtnu!l=`kg$xe%g$) zXGxC7ak83?3#opmoUDqryZ??tzhh3R9*(pj&|4(!$mw;HBs2c-k&HgI&ux)N62!lC zxqKlMAB(EV`2R5ck2k&wt54yhKPBx!+tq6DU{ERS3G%%>g>|CNg@=!Mcx*gg!}vdd z|4|(NCS*&QvYe87KZ0LadYJfPukpEE)R*{F!BPDVI;D@JR`p(q-)OqyAi*ib24V^Q z1oFQfBqcQU5}e(8JaBHoifl(6i_#qR8F9!#!nZTeX{aks9n*U*%AA(-NN$ok+t(%0 zQ4jWCUU;TTL+wfG3_AZ}$*=pQv{o(n5_qa=D2m``5dyh);FF#^`w0IyV?}nHO7q{6 z9;Y5lza>3gJyKAd*h5W1jlI=*neX(AQ>}d^wKh(0MsZegoI0!cP~a1V)rE2D@SLn- zM|JDFBD=5JbkK0r^|FI!uNU!?5^27d@w+$o_7G>xK`+MTs;hdB#6MB+d|%;9 zn5SE>mrLT*xB9W31?o@zclPX|#`OIx&r!u_bAcMFLW+>D~O2%R`QOwx8fPeFTT~SzhRp1$VSh(`q`M>{ z8hs;($>YSF{=$8|q=XxLN|_m%f_L?k(QM7Q1OAh&{h#QyqYf?+|EeA<`^Kp&a~?zc z&tv=JdWrAnv5)ZB-vN85VMy(v&LL*`KFcdmFZHj*hl5IG%S6M>!yLoUGBjeg4sBPD zQu*;)`5M2KoLcg(GZd>Rk!p9bs1SbBK+@jHxwT}dir^cb4Jf5B*Hu|edx>dDDwpaH zMiruEtT_3bju4SL3Pfr^;6oltvKeq(_RM zP(|uAM&hAtDPa^`@$2+L^v6Rd=YNs@7NR^Jgck zUDzy#s>!}GOHK71Y^ig6hx+`Ok?&%T4^`*+hFWRo`;K7RF-)uT9Z7W%#&9TpcVoDf z^8(+|zHIe<(khj${*iPm@EP*g!L?eLyv@<-mE^YmT7B77_~~ieoKh9b-PylXT}fO? zTtgg`x3hn?N-X#Y`N#MB8hmDSn=>|+oFUjVOR#@G!8>vUOUdu+BmCk_!DRaXc7%T% z5R66yQ^SJWLV~&EHwEbshtl~IQ}cN2Np!{$-$gm-SK)uqo-sKpXKYNtw;jh>9BJ!6 zHg=^BBDK{gIMpxMmpFsYGvtGauM-QDLH$zSg$ zd{dm@H^5T$T6QESMcrEv1iqFb_$aVcCFCUm(}81S3mM6O5N8tmWJ@&OApe%Qi8zEf zk+^~w&z#4RmyzE`p2g@DFy<{pADm86QY9H}*yI10Br{Yw#SY9Upbe&ap{Q}Ww-obG zvS*GvmwtTaT=f&?jNNy4H?wDsJC}ZJ=IlQ*?)j^NJ9$C6>@(+r@4vs@IF1hy=W?aL zLVk@kz8xbnHfE2Ydv3a)IcM?M7r{HXZQt$DY99B%q1^W-koO=S!!yoS^2c3==c#1& zWi9g`N`Ex__!XVY$*)Y69ex+D?jB5&D<6Bt?yslwxPC9>%siXClGuwo;r-;lBPOw@ z)7aBHnExdDuhD;#&e!Ct$S0GpU^%z%XIAVxhPe7-$+KC`6!M|O?kw#d^3}w6)^ZkG zwU+r$p#L=eXXt!Eej|Ae`L!sg^GMlyi#uv=g!eH<91)pUcn`7HxVR(hj>`{6M5~UG z?L0d6{^O368`ZtX#T^BAmhL?k?r6GWvG*w0qxoyb;m7xOcXZrH?mZT6X^n-nB2Vv}+XDwQDi1u4Pte z<<87Ma_!&59pk&Sa-_;$?VT&XOB;-%zDpYl{|&B)L)f0H(O-Oek}?db+j+fl0n7Q4 zyUKTIBjGo99Sxk>bqsKH*9kd;ln&J7q^qyhRPyt|8&o~;Iz6AxLhxpFIq+$Hd5)tN z7i@DJbq!FCT><|L^;`Joqz4U(e;fP;bq8>-%iS zrNP4M}yVwpj84V7DFNNqPt$_%TneWjF5O3DnYg;Y}J zc6`=!rBSaWCPQ6s)DcPZbey``sN<3}Zc(hIa%+fJ3Gx`8DKkM`LbU{KaS)5kT!lz% zhq}tBFA9>ORvOi(?{<6!cB@gPeUqW?q;hLWQpx>0YUrX)rE+WNqG~#+>8?`S^8NTU zcSVjI*PzyBcF9dq75H=&5mbHiy5**+m#7-ljPBXF-Bc7`%T;Qn8kn=)NmnbVu2o-V z=H_N7g|9Ozb*+kY-|lo*BaG?;)kAfakC}1Y{TTyud#W0$Ycu=j9-7-rO+G@>+;-wy zTdq=%uawcbS!yv=gPMyU&dgTw z^Jmhd`n-v`_>|#jSN*wnw;%@ya#Qf4xbt!uOsaG9vhX>Z`?o3haOSLBhKOlH3+LrB zC{)9H&C6vNsQP9t%w@-^{)rh<2qu4g za)-97`}04{J-l6Yi~r10HJM*q>V(YiEcHsEFR!xwxU8O$JPsb5O~I?shvDsM+xsW0 zquNzgkEA>fC36l%tB+B~A0x@`oEV`_?WAftscD^5eJ6EsC$+efx~h{}*-8DbT~!4} zs8=mD()=UUE7kMaX?dg6QzN9EE7da@X?e$~ZALXg9j|s9by!CCyc1MqwVU$$q|H57SB|{A~s;1|5 ze3m`fsPlU!Lsc2|PLJZe8dYu7=RL}yPBLl@`cSJT81*3fP^%^z^(c;;q|P(y1spd? z&8Aw3A5}aoZ?alOwMi%RJp$^cc6C(V6t(y`Y3C;OQTBFqmRfDpx7pdbXQ`)*dOLem z-r1`E3G9(NwC5>#)74R~;`w2^I>A+8>BDq&s!`I1>8i#k>BITz9HXQU=c@~hl0M8( z^Nf-{%uoxBlJTokR~jYbSEsHwDjsLGnd)YvGI3U$sn!}LV|#(R$0!-w3)CYW%KnP@9aJ)?>SxrCu@W!XC*`e>JKH#(lQhZd4A&eYX0*s12BdbJV9s{TXv` zj{4T9w{V`GtMq6_F#J)UWT-f!WbR(5QjLE>>fVlJUD(%{EHL?-I4`Byaqt=QXJBT*dKgP@$9EmdW@vs4hmy_%*0Zqh$OR zsw|^q{1&Qwqh$ORsZyh4{1&OhjFRzNjC;^-4KjX<)v-p&7+t1LHcH0mGIhF9a>cSl zO)*NYSeB^sjT%!lPhYO)7&Wy>tIO2_qh#G)p_UjW>-Gxu8>1xFOVy1=NvxNuMkQT#puldj0SNi`dlnY0{gvr#fezg2%WO2+87>TRQBj8>_4 zjgm21r9Lt$x#)_#o7KOJ>Q}TJYPV4z7tYhGRp3;2PV6bvYPCu=HRVrfKf6Bf2R&HO6K72R3(*+?X`K0>QpKj+Z&;#w5wb5n$+}h9b>yj zEjCKVc8ywVl#K0Kl`z2@+uQTjsbW`gY}ctnT*ZBGojSrO>BBlT!YJv(U23#Z(ucd$ zc%!5bcdJ^Xqz`wibB&VmyGPXP@2_ zMq3_IZAQtsKdg2cCFB0E`rIg459`&xjgs}SUitC$8##;0oPR{c8zpo85!KZw*^?ht zy^NAQ`B9Z)lP)KFJ(PPC|FTosmhwx|<~l6bbLaYjj8o>4VMNnD;$ z(~Oe1Y)}^%C2`rH<{Kq(*{Bv8C2`rPmKh~+c~)I-l*Hv(wc03&%ODiaOXk z4()tZ4K+&E->Yf_mCT9f^0ufmsbo&P3^l!7ZO!|$T3#b9bFY_PS8I)uIq|yMXq3!} zt*U5}P(}goo}ggjFNrgZ8g&4Lme^U)c z$vFH?U1^kz!!~uDQ8EtO)Xhf8IQ(6$F-pea@9G|-WE|d6>y46ect`!wI}Y;&v&kr# zFWc2CM#+3>Rc{z2^QBd7H%jJwoBD@QGUwaWr$))xzN@}5O2+nGr6)6HVHw*UDq@t3 z?GBY{l&qDVs)tdsR(7g>M#)-vPZb&^YvnyvVU(2+4^$nM%!v=6E@@Z)m$yr;o+7Pw=fp>9y-_kJK2lqak~#6Q8gdr9zS8+~!rp|U1=fr19e&kwqKA97rsf&z~Iq|uQ86|V#bG6hcnG^p~*BT{r;$Lc& zQ8FjKP`4Q+bK(niw^8!G>Pz*oQS!d(OZAjdf5o-bS8AhC@8eqPEA_HbN0w~ICv|@@ z>g1ASsCSGy9HY+#QGccDV4B)ioY zMoBz(tFGtpI3@A?PF*rhl&rB-JP31(s~At8zQa|Fr%&H+l*H4gA2&+k>DSFhNj&{} zvr!V4fc~>l5|@B}+bD@kP`_)G#3iUdGD_m&=zkd{adGr+qa-dN9XOY*4oh4@I?<>z zFn7bcn^6~F?uK=5qmIV=#)!@}>SVlcjOYPI9g5@P^dUwai{s*SrBVNk->%~I2&2A_ zPlh_ts2O<2m!QWRH5bnfCFn^;J&Q6E^|?m9g)$Sh{KGmjBkw?3lD^oeN0FAK7aKJn zG3%n28?_8E>!NQk>Tku{RkFUts1J&hp>8*-3$9yJ^nFJ4#C2=`BW8A)aaaEu;Q~GP~+Fqh3OpUG;}XU54Yj>CcV&EspD^|6|n0z31t4 z?LW`$?YF(PO4kWS%}Ls>GIUp?VoAwR2N~7SZ=TN7IYwR6PpeElkV@u!X0*FLhDzpq zZ>TZtDks`QZ=5dmxqC=2z0D|@^S$(Lqh!t>q^Hba%VZD9?W?b#dS9;@P#o>6A2Vux z&kFo3*G8kp6%^y6{i`qFaaPG$yHn{xq6*ZvQ~2SLq^G3$wi5r%|%T3iMY-$=DX^Jx0mc7V1zv`w*7( zP^7yUCF`L`XBs8zp;%`bCF`MB=Nl#Kp+uJ&CF`L?A7+%y-2wVYqh#(5(8n4j>vo_% z*(h1J1NG@f$-FMrQ;d>%U8>JFO6GN$o@12E>oUE-D4EygdWlgougmpsjFP>eLf>eV z>;)CN(I}bM2kSeHl6ifwe$XhHyMy!-M##at~oIgSjnJYPEpC1_=uFr54XYz1;wyQXIhim!wl)Uri zaD9w>#asf%#PPz7$q?~L7zU4kwDC*M#tz&UB#G<(U-f5F&m?QW0b7-G5RK> zBxa}RMx!KVr|5M?NzBIT2aS@Ljnz*YB{4fyKVy`{>{R`tQF8xioPOOXxqmcHZ!=2n zAC1>LjgtFEy6eSK$|hbi6#bB^!UgD{aqG#!?M!g-qA$qpnX4J>go1^FG_l){W?rqU&`kzL2;`2jrtSj=SBJ(qh7%Lyh!T>Zaj;6ZCCSj#Hhi&lA%(K`e(v+HDC8IYEMEk zlzd}GcAFz|x8cWj3XQ7H-4VS+R~U78!AJP*ogqdYTacv|=%ZZ4zW-VuZ_=*K{}eyW zGuEia{I8=ieWp=K`QPJrdd@Z~JKxD)sAsy0r7Y6(sNDN2i}Yok(ypdjgzqvWN|l|vSg$wgX5B4#nf{Y?+!Fnwb=(rY)#Ti)((;$+Hlv=?Y5AAy zPpq6*=&w!Mx%!~|D|FVcC4z3Nm+B%a_x{*YeK6G`b+*dOU#gF@(yr8FP1oHA?x5^RL$T8FdoW zZ}j6vE%hIje~o^|sQZz2t$xX9F{Kl$M#gM+Tz6#^r;7Nn^~)8QNC8YQ5ybz(g7U~z7`5+GJ2%dpE3nIj@2p$ z_4?GPKKN$<)jYN*z}`u#+_vEz79F>iKgNlF9vzpToGXsh;{Lf@t7WLmrzW!fi&*cy zY`@Dp&^v0iRf42?z8e#_F1IurpJ7z-9RRe!YK*>CYdFUaLA`#Zi{(3Xc^HMDa#Md^U3(w(OV<8N*0py} zUFZLWHrQ?Z|J!3nV{iV;#OIf(W$)e{DCg(3|F8XJpAqz_RosVN=RmdU=auvG`tsB3 z`hT~4?~EpW*&pBgjAQ4-l?l)6KVCvdo*ysGE_r`ktKqzU$md+zA130=rIm}B?p0Gf z&z}DS#^Jl+ad;9i9vF|;1bkaN0k4TF75`t0e-rm!{M)kk;#<4-;@i2oc#5)juEuv> z7IA(H?5UcF>*%}%%%Y!* z&ygh0JRpuDHWAm+e*$MRe zuYwECySZ4&cQ+%xYf6%I#CJ|XPyHZD>jx~!l6$=OCgp=K>yJ;P zky@dbv#yBmmV!FnLf)dj>oX7jvZPDltn9xC<=l)#!>)>EAC2dvilKBrHU z{#M=I=YBYH)SG8gM3O|CssPGG& zqWkx9RJE@<-|vg~j!O>%SNBN*o|3*A&lfE4t-^B!ANX!nYt;vNgP1zRw;JuN0zV?Z z+SlDDPtZnue=n-{-2;Dtuhw^I!D8Trg=>84*@mashNoELMw938lIKvuVnpdBIG5_R zKnJxfOB&?cO1@QHpAqNZs{T^c%`fp8>EC9K{aw#9;Y)mKeWisL`FAq^PC7ePG45`C z3ulf0W9E1DIQO;6ERcndWx9Yg`ihxAvR{@E6lCI{=IT2VDxYjo`^VmR>?^)c}I8ncX`xzJL z<$31@YJI~CX9ae%RS){!>~|HM)fp=S4f>mmJHQVwxf}fQ!pD$jS@u(b07_fnYhcN{ z*)RC$X%YDoKAFi8-v@c!f)#Xz5Qh_6cvOoozvTL0i|?`?zYT6?d;aXZqUY~|2`u@~ z`m+Il2nucuzU8|m=e=N8_*K3(Uw-CSK|!DMmM?K&ywg?7Q`=p&Jgxnf?}fr%z~zxr zr+2=u6_rsQTG9-s21QkY720>dJ8yHZ3E6$ zyMPy|J-|y;mvEAbsRH0)I#;Nn;LFuXz-!br;0iSzc$2CFu2uEnuv)L?03TQLflsMl z1Dn-i;6}9+_`JFr_>#IFxJBIr+^TK?zNu~lZc}#vTh%?lo$5j02kKGa$LbHjPgOJU z3-v7U8}$Nkw|W(*^j2U%zXc5IchHjldIvD79sB@Dk}T8hC*hOq3&0O1 zAFQtfKa_lkegu3dd8OV8UZsDHa)#?K!H=RpLTAQ>@mcB|_@nf(;K$J)t?Th?6l3)D zz;XIf;OY83V2w_QN3?Y*@Ekn>c&EM`c#mEId_Xq=*X#Ab$8`(vDg6?#S-%C`s6Pch zuXRF_dP!#ix9D=67w@`=nJPe7%#>8-Szz?7ROi@Ns^L%;|oK zOpRY6GsQ1$ILH4iQm6ah1BQmTNIFy9T*slJQacSfP({4 z?~s7hTN#jghXS7F?dgG!;M4@9LE>vICq-{}Dv z>zM%=>j&7X^=!%GY{^q>Ni$orku7CWsc~jdYMdRE7G4yT_+Ju~ILCrA3X6jh&ntp53d@5s3fBZ>Tvh~S z6mAO2D69_3C^QCT6xIf16z&Yp$-syQR{|ekjq6$C<80wmY+*B7xREVvhN?T?+K2yKiQG?cXg!wnU1u-mm_;rmh)*QdhG~j|1OyUI%V--UhZh-vW0!Nj)*vP9E@MXE5+n=NRA@ z&RM{3oC|@wohyJUbO$gHdK?%IJqt_-y$wtbeGlv!l3rwnq!+zH((vS{@Ba z%Zox)z0vE?6ktW@Lg3)g3gD2?gTTtrmbJlE}1%Br-cg z5}6M|5{HjNGCH4zBpP3YBpTm@BpSOz5>FMDXavF%hj3WpkPwzQB!?xQUBeR3%<$W2 zLoYlTjtGP$CjG+_lW15*wkRwkJ1{KqsR&D728SgYL&6e`%CJOZcv$*AA}kRb6=np& zj6j$X2ulo44>JN`>HCzh^!=Q$^nH3*VmLD_F}x-$aaa+SINTJLIIIp!92&#HzE~aM zbl{y~8QFWnh2Rf_D}n3T=EvFQr`YCZws~V%^+Qy{X~37l68Vo={--Se3zq*4%ikR? zKpqu278r<}1q?^#023nD0h1#VldchoNoGW1(kmh{$%>4_6-EEZrNC%pHE>8oMrw3K z)_YClZa7mS&A@XaFZa*Jll(UpG4BR6BtE)W^U= z{MLMlDpyAUf2BqOhpAJ6$I?F;SjEzY;a7|1hli>2)a3(?Qj1huPK~-4PAyX>Gj%dj zKOHcY^~RXmz|=)*nOat`h(|5L)8F&Mi@}!_G%`;Uk8NVkHO#q&IoB}f?@`)6a+;a5 zg*jW8a|3g3V9sZWZA@)r>JFyvp#L6A(0Jr-epqXXj9*K8{91Yu04^&Cl4oh@Q9q{k zqmx6-*BjKR(n_WdW9m`#tKp9?t)V}a&NMhvOJj5vG3RA^jrv#4QvD)IUW(K?rHyRK z8m6v;v#_+8PK&--H5RlW|I-Bxn(1$# zzk&W{me5Ln2mKxNclvHt(bAnh8MR%=Gqu$3XSDrNTEs7Li1=SuUzSGv8`PfCeBhkY zVazj(d8*+gmQAKJna(uewFT4Q_byvXz7)KqYz_0Q@k@l)_$2~s{C`kG2d-nDb;xsA z*#_p>z;ZS)&j#cfIdC)cY(}2yvK`E`gXQdCo*l?Dao{fI*@ZmgOZ@@%A|So+2c#~4 z;16oXz(7DoEfA1Viv%Rv{g|^KbM|A-e#m**zS~`rW!SU%)X6j_5J~D6`Qm2+KV(KEME@J8;q`o+CDN^T@u3_pLrmkV?8l=86a2--7mTh3_ z2BvO?Gox$=ogH*`F#itZ|7zeaq%JJ=2ie~s`x|6`gMUzg(nwIE(T}P9f)e?DOznr% zuBG`%Z73VY)L}ff8qSKc$#AYMm`rCHoW!z4JZdSNYYUdb`F&Ya@L~00!5ZdV!<=h^ zf0Hp~&UMH$wX_9!bm0a%n}af!HV0)cZAR*z(l(?XQn-VuyWq?z)y~7}{6fDYwfi0R z#gQ`o4%dq#k;z7$HHH1??8J zuDBnad^l4}D?>6ORq(GV9!9?!{<~$ha5fcB1D{yd0RCO^Qt*G3HG!9xtP4qm*TETI z+5+d?l8qs0+h#a(O55NxmFxn?Ls{X6)te=Ou%t%9((7zE&VYRIhO#Q~BL)m-YIRu3 ztcIUhHjR85cuCn(@}=O1m8~OR2R^=ZGw_wNUBHI2NJNf}MC90f@_g`;vTE{b@WaZc z0smFD6u7-~9dK&tX5gICT@e}aT@e}aU2xtli^NH<^MR_o8u&!%G~lbHOUc)fZw78J z-36Rl8i|*3^5dn1eDHV6s^i%gaMTM#y>ym>k1t&ZoLJTZXIa5!a8=$GFJsgeFXxe6 za9%0X3F7DkaUu!Q$80*;bn+9V{CxO{WmWX6=vULPhF?-vOTU)>G&q=DOl_dwKz}KG z%rW{+^qc6fgTKABnNAB+TMU=>Y)0zT(pEZc2HEliMiQx`N>w7;Z;-u6+@Mm+v*=_S z6h9w+zw$~t)!>85Ysja8KT#SZUkd(eX(RbM@KL4BhelDm2|3;I8yLy%4_J?(4R(s8vMHQ82uRirSzA=UsT>mzmfhrI5(Cz zlWzuZEN>;>1^!sM>caMP*`PL;XOZW3;RwR{dwC_DYC6?$J}$4JGY$OT2E|_oe`;wnofd=QZ%&p`-ki)G5_v|IwlcNNpyb&FKczyYa1Iz0KawK7j-*Jm zv*>5j$u?Z_EZH^i?`rYf$_w@=9V2F-BaPF1=_ZUq`-~xQp1FA?36ZRi^MPVkNPL7|WE=jFC5z zHgT%Vk=SgV)TfW#2R9Z*hp+9wi4Ar z%ulQ&)(~UFMq=|p68UEG7K7{s{Z=|{2HBV1?2AG6g*@9J`$Ar2P@Ed_T7%-m$Qulb z(@5UbTgI-*aPgbTTMUZRO5SEr9My-rK_9lwp!iwzv*=_S6u**wC7r51Qe&0jl3K&m z8alO1tu$_Wv~0PH1aI+N@5K$Mr?GmioA-vmb{icM&3wlCbkk)E@MTkB-RjP#71H>v6ZOuI4*fSiad+F zl2}8G(T|Zgk~fk!6I+QY$`Xi`#2R9Z*hp-Sa*mO=lDCqpe6}HjEi37chq8+2obvRRvr-hD)9r@>+x9#K;?%v%zrj8_AmtiqlNqVo;n` z@-~Cws6w{Kpg39N*@e=QY{SK`B(I`hWw`h?NnS%Z!##UYnj?ir^TT78|k;w zX)`GPPWoz~v{M@tKQK_*kVPlkp!ogiSJJ66DE@HzHFRRcMq=|o&VTZa1LYH>RywV8 zcG6L$j8&<$Ay6uLvgl;dsU+4AW5h;cGqIJZ%2+}fqfMSgUP-JW#)yr?CWF%QX7Uz; z;t85BpCGd|_Qv&pl`tH`U!YsqWL8_H$2H_&OI(?q9)LU#i=B(GAK?Bd96WlV&sj)W@0N*4dU1h;@FXAkynyelGl*ekjKblkS6#gQ+^V_h2*CyPAWpg5I7 z7#})SLu9P0442dzrq}~;*v@lN#ofbN6blT{&(b31s zQQ5>QV(qc)#j)%Kc>{S9c@udHc?)^lvC@(@I&F0HC~@>C_F@!!K_{C|Hk~RuRdlN8 z)Q*z-4h_U6Vhgd2sE?D>?BnG8o=sjwUPWF@Y#=rfTZq}m%TZOw%U!lwVgs>>*g|Y0 z>JubSHnEC$oBE49VTor357Wc(bmZ0gas7?%>g(q_-Z#egw(k>PPydzvRsNU!g@G}F zX9CX!{vP-!@KwMc3TP>%tsgN)GU8=yY%7wDjokvtS`T}JUTD`g=C!PLujR$7-Ss|f z2~3cP2_~2TjY&!Z3CU;T@TCM2poFw}eJxEBKGLRbzP^&?1tD%rNt!QB+x#fs|D3sV zAA47lae|xnL-sv;=FFLyGiT16nLBsxoyY2)s{2CSAJ#oz_vdv6b}hxB8y{Q9VY3jr-z;*ZvlEB+#SK#fc4d?6te03h-iJ-!-W;_n~uNM-& z;T(eZ%_GXiOu2szQC^)#@R_BIpHFb|se&aX4>r>J~df|Rq$?Zg?B z_NHY7FXlYI$tAvW7E>6XE+3Ucf^$o+p*)prO6CvFr5qwmSEby>d1@Kbh;`?1!5X3% z%_xK4Kf~Jc;nfW&$k)>9K*ZWGXHTc z(a+*GUB&bwm-T;{@*v}{E+?xv6eP~0=MwIg#H|x0mCC^{gDO$g#b2(HT$SrD(JlFO zrEg>#j&d(hl26C!?xFw2wt8mU80z(nRRzEwubcopvEmj$RhKT-#y;++{VU!Lx@znG z6-R*gulOy%j|J}s{Q4Tw(j_ef4esgvD?SQ*@WM|3KC$Xi!1Gr@_54KW`fI`3*8@I?qou^7<6d40{m-vVgh8>0(>j{@SYNW{~-5sQJ} zfOx#^35a(W@s@?e*Fnz!o)u>T&jA|PBi#yoAE1Hnb)E&h2#7aY;VmV;ws|)2{qUH0 z8xzpLKI-#%SWK?SKZp6S)@n9e{>-54M zM{9!;td|Y$^KMrW%WV0UNj{q9*^jm>{63~Fhj{tuZ(16#! z9Qb2^20VX1@J|C8;xl3p_!EEzMguwl?kPY+d_hEke-Y5Y&Tu;6?aP1$zBflFy8Qv5 zfxY5%g4?rzhWH~vXS96<(7^8TYk_|i(7^ZG;=rE+G_apM0sMJDLwp@$mBbg-lED9z zPi^}KpdtPYZ7#*10~*+Ko(BF+Ktuc=v^m}!12nMnd<^*a01bQ#EC>7tfCl!W?*slK zpn-386@kA5Xkd4G8Tbi6L;OA3T#A1HG_YTN0{F{-hWID6xfHJe8rZ>pGw`1P8u)J3 zEx>;YXkbtK6!4z`8u-4|yMX^3(7-PD+kpQYpdtPpHX_9@01fPWzXSNIfH=of-U+-O z5IsWP1-uc^z&Dug20jPSz;~7I1wIeZz_*g#2YfytHeJj6fHwmg_@>bZfG-3@-;wtN zUkr%8gWXT)JAekhC-fljGXM>-OnwCTnSh39ksk%#3TTMs@_zt73(yd4@?qd-0~+ES zc^vq;fCl#DKLUI$pn>n-d=mIu0S)ZZe-wBppn>nyJO+F{pn)Cxp9YSv%mCjgp8$R_ zpn-41JOz9+pn>ncJPrIe0S$49dO>sLk!EW0FMG1*ysOM;M)NWu|qxw9A6j#ex-aK_%1*L z-v{{<;8z10co*Osz^?_wTjKK1fyV(2alQN|@B|?IkNivEdja8p&C$4SXLU{Ez$&@FF1mkNh6+G9dhq`~mO-fbc)^Mc@;F@IUe;;5Pvp;-EYM{ANG{ z--7rD;I{x8Vp6^gdu#G0Pt55uNH|90KzZvd5I4L z!Y|2s(2oPcFUdyWj{w3i$vMD32?)O==K+5d5Pk{Y0fS!xgkQp&TJTGN@Jn(b@FxJ_ zm*isLPXQX@cja4vKMiQ$U5qn;KLcop&&e}^{~n-$w=-ISe;yEiOr8b&i-7QB@@(K= z2817z=K}u&K=?6vKJaG&;m70!z`p_rKPFcJ|0*E-n50u6p96#+lWT!L4+y`6Z$ZH? z0UCJMqZ9aF0~+FQ)YT4g4*D@IS`2z|R0Q#F<7Mcncu>jFA9-HX!_rkpzA&pdrpPOyK7O8e)Yp3j6{< zL##B?z*hkp;zDCD@YR5ZSZj;{ZwEBQTa6s>4!|{H6W*^H!uwN6i~tjOBkB%}xsPH@ z`WD8AAB$1>SF*+EFb)_`8lN-1WcCNtzEV3-m#(|H?)`Pg z>t3k)d7Y@QnWT3{-GAS&Q|Ak7T4Q}3zMW9X^)S=$&XfJuSbrSf*{Dq0=%a<|r+l== z`k!1-nKo3v)kkZre}5I)N?(4V`WLFmw;J!$VuKduY!_k9wgI!Yjkqor%b?d~n4>Ji znanGQ1^1%+&LgeVh^shFow%68bzL19U3H!E0Ioah*2{bAdgO!9I{tbS+2kHG z+u7M6F1c)TJiabY*swX8E|xAgCyJMiShR2=UEE_LQm3%7b(Az2k9Vhw`AlM>E0ZV| zJ3Hc5hMk>+Z8b~7iEJu2)-#^Wlv5^Ut7254V2S24=~CC8M80GeBH2=IC{aj^783bA zmJDF26w4}N1C z8le?tR|r^0c^ingdhI*KKsl44lCJL*k)CXM%;a(@)SoCq(MqE|*;2YR5u3;pp9*YA z6ge=SFPOz*I+sOEI9XDN!@s4R&ZNu&CEHg{paD_8v3#Pyq-}}fo~T(uWFM>vKdO$% zNZFEzl*}=!7VF~c{Ot?UWxM0?a5k5n7|WH5Bw@$()u^4I_Lj3r{Om|%%4V#bN2S+U zC9dO=z@dztGGJ3*?=Nz_h(yi8{&do04Xn3vSTDAkStze$_UG4Y`7hELc3z}&1X5|F z7g4xz=ygTtF(hHd>i()Ol(`=O!^~mg3uEy_EvQEMgTLO}X zY2E!%F4ZP*Ic{n!66@=s=g*Ox`umvG?qHHYlx+0$vA*^8wziaGL>1P zk*l0QEWDK}X^Gh%9vX_^P#>*>p>S*)1)_u72dpM!QdcHdPFZfMJscqxl0A-Qpn^pd z#yk{`4-O1m8P~?t*GFvIaRdxg`g{5Y<1uCaJp&Zg-4pE^jts>jgB)~cXvya;N85vv zoMK!`gunwLIss=q)*cz8$l;zHktlMG4{(q(XH!rOfQs9hJ7gkl?HPa(+L5TCRWgyn z+hf}XoyguuPhWRb3=I!<_23W?FhpbF*!HNf^b)7u0y&5K!!e@iI=IPR1G9L$hr_)w z5#7F}KN90?(c54N0~~PI8(qtyb`4U8WCpECyN~XO^z5{21rhBuwj0qLb_|?U z&y|#&t6yu<;4t@K9n=+8NwijmhI@J=SCWGn>I?6poH*GQMz!^;khXgjQn_E=!;Ea( zUFa2C;m5>&8nE!;`@Y23NGc&J47NRLCJMvTed(@`^9GP6muBBFb&*qhE& zQp0I`9#z2~PH)NO_EsehnT295>x;4`XEVoErWz@h3W;Q?g4~r{TEFof;ZJ9;CvWZ=g zaHP!~O>JTY(`2gBmkS*#
hF~wVxVY7(&Bu7}S;-aX0JOoRz9-40D9clA`C&FU3 zX4_l{HKbJ#vAd&ER3UQ&V|1-)y3LGPa=17z7mfJ3(}_%OwCpf>2*eR7_NB9XZLwWJ72BOIn8{ME zFyUhH(ul7&R~So_N@i*(t*Y-KSbn%Gm&qV6HW;4wfwzi76iys|#T-V2P?agB4>3D2={lQ}uR2s*5|}q;+ejsy=uC zcX=v_g@#iqCQ^*TT#{%aR-`K!&gac+%5E^RwVY0gOH}19OUL8AX)^01rx}p>K8QdMfAM2QZwK$L6`x$H% zq7(RI9nf^-G=Lrb(yO_(rQ1Sg0(IBQ)u(^$2d*z%T8IDKZ#>s{dPe)nd+&Xe(RUVF>Zex?%8vN>RE2jV{kB2 z7(vWZ8mk^YiMtBs%nVc?x+nK1rADnD6DbZQ%Ec;4D6?q##%W?=iBW$kJz0!o=#u^z zrLO)&K3_GO${I?P_V^P%n81~*(6N5EA5)$xG33Tz*6`^*%{vWad3_%TR_QRuu9DPtj?nbDKWE3&RgWJm zpn)(!sg_nduj;W@Z{0HCFVyO%)uPbbuq5kG!g7pE7lDOee-i2xUGN8^m}2>24`At3 z44YX0O`0N7q-Dp!!p=RoXNl&CWU6J~9XTwliLO2AtXVW;rJ@z~-lF49onhD#y`bNi!4yP?eYlf|6DUvOgur_GA?yf{JS1y2pSX#&I!jxH9 z6KlG&Ai7%7b}a)tM9%`SL$;QS#Q`%tx~GIrl!TEbMop1-P|SmnF=(;G-il(NSt?C* zo4XUZ!C>5$LlvpxtdMKbS42qsT#=T8#eg|p>duu39WHY}={MmcQrj@4cWC6nEeeWJ z9KD6ym_s8D7o|IQAWLH-*@~d)rWz_a7@=7QW6EBwW)dlN-zs)fno&$BdDK<6CN%z{ z(pH112sN)%c!?P(5e;#ih7qDTqcqc9L0*ZEmJ3;=31@jA7uIutD29uSsUHMrs^{qd z%SiRGi?jn&tZSI(a^2ysjG4&V+*Dy(+KLGPC#|II<{MIbk|0LY`^~JKgL28XP_CeN z-mm26tZZh-A(E}SLY`Y;c=Rn36_HL*xl#|qZl@GdjXf9P+BqQ<$&!SNMRRNi8p_MTpHny%Ycm3eOg%7nw-%duT};8rFs?*H`AL(m$6V&$N68%pce?2W6U zan%xVJR{}NQM0h6kUPLmhK6itP(70imr8~7NEw8I92^(!Lp}qG&k> z$}CigijgOCWy0lqY5MV3C6`M|CrX4sqDr9Zl>uOB2I*ep7Vl{AjEv zW75=!dYUUrDVtZyhRsZ3T&k$mv(}q6nmQ>k z?QjCRERrdabwyacl{nMec#Nzk{<@D6;`{K(oKflOF4k`HKOgdS#Y;u za}bW%jae9(z);OB`o4pC>;O6+-;L;%NK4Rmt2HsQaAM_{ty>e$!AptdqUb7Mj+SZd zlrS3hOUXT$o!IkB0m>d*Ub>gD1?B)b9?!iDM|&y6(`RN!kv50p2PvrLO3Z7a)+#6Y zE!#2T&Loi$SMBM_?kZ=;(}@8S&$EdTI{?Bv_Lw$-IVLcju_@d3?o4F+${xzLba`tc zk+yldvVG}9E{m#PiQf^^9TVM?NT5uL$hzq)i7N+Um~a@j?L{H|Na|uik{i-4O6KZJ{mG8)HalPtDfWs71j8oC#ry)HT&X-{P`tYO?KvU=%vD<)O>^=NK0F~*Vf zK-@AP5i6v}h+`+u6-}BHV*f8!FZdl1K6tTHkWr5~fTS?IAh3Sizx0}O1$MH|3~;&6B#aqz@m-Jzy$ zWRGKaAal313`^FIXCU^ntk_z}mGiE!Zv+|S`)Z+TYz4?8!7E}&#Z(_taZ~Y(!tPxj zl&k0ttB#;LDY~FF8MVTc*t%Eegc^^h)VRl6JTx(xFKINN;QM>luyae#S-65~P^Pf~ z<1?w5QFv511~}lH3cFVOm@$)s^(Dsgu94rhV7;wW%KNO7*6+%B)Q^OOMi`6A z%GQkn+CF>H^@eynhURv!x!NRWW=N|aRmf_>Xvb*3hZ#A|lMAqP0KRKTl;DN-r{RNz z@{QK>T*1$HbO6JLMn}}P6wFEJ!Gn@SsCkOLKp~vl5VmJzw%>GOsbST63O9;{TDJ*S zD8h4bvmZ}^5~F5+A`4g$8Cu1wBwDv@*w}<^KDi97tEsA}d#M6$o@vXKns#k7GiU;* zBRN(l659S?+SX%0+Bbz)+fo9eC`0OcMb1xQDGpms5rgq)HdidAlSPrv^42dE!>i~;^lNpuRTS!mmF~QX zxH~Q5p zQ^giVG_l{b^jM7LXbx9|r-ZA=I-zwBi7cu;8KREX-V3QQy)Ig&i2SHAs%--!-Scz> zJZd`t7vnt2#6!@rbP4x-MZUGRrvg@jLdC zMLbY-xoFZ0_eR^q{fS6 z@gzUZYai5C6y325)wS*W2p;y}-xJhd+AYUbDMCf@-Y3)A(5;5o6|{q_n*lhr4B3QD zPO3^5MY3Eh<;JW5DvdhC_tAdDp#QK)iy7;$)P$Ko(mkVp}{g6wd(f~+RJj~6T5N{4Pj zFpUJS1#qtC415;a{0L4JWO~bi%!B@iG7W-y~KC> zKDrXsOICdlzLgf1!b#exlPk1aoX%{(B9Nv@AE<~$NjUe~b|T{P1k^xcldR_PQ2knV z6knOp3cGKQ!V&kx5Ur#8tFuTaT*AAk4y#@faYdTE^k_e+=^4wHCa~I_%fspOQP0Vn z@ZMgV=*3%r8JwA8;;qjCyk$5BYzV&v{ATg?XB*zAYy)Qp-t1d54Sy7QWNpq)aJJ#X zA;4Qz8Cwva!&`_Elv9~s7v5A&;O)~AOW@{k<%5^FNWvr}Rg$%dx8v=|I8yBeeFB)f zj5wri!`rIFo8EB5hB$Lb23|q>+pm^^ z!4J#89Hg(iP6jf_dmt(UM@$*Gq`zt>(o&x9#v6`TAsysWlYz~^*O!p~HW_#Vv^(A<1MmNB z8TfnD@fBP}=<4k2W#B^atU`S^BmP;?I}gdgxsc-?(0_#R9_Z(v5%+QM-i102q1<;O z_;JvrVz+?FR46X-J#yq554p|yd&;3YuX#qM$nh!y?{m5?$X}=1dFC)JXLI-~V zzWWjX8m{jm|8GFgzk__v1^;c((-vG4(9KKN%0L$Nej0Jt-y{S7@lNO;?NA2a4{$|r zU4-jz(N^CE-yiRnfn&&XJ80j=ZykQSvodfi%D)|Q;9T>--;w;li-^NJvw`m;z7cZ$ z8Opd0zu&|4VO)D~y#w|A#Qiex6X1^n|15akgX>ec9>H}mCj)0f_Wy}Ip2F`3k!L-w z4C?epXtST;`WEmOTn|F;O}I9r{$a@aGwADHwADiV&d0R`R|~FnxXO7MxCwUfap;d(Ew&*1930k#ZT2GMSx!0-D&`%CbrQNOd$ z-ao`u3mtrE0=feI1>|u*^mYfz`^LR8@GnPEHgx|nwBKvEhEd1k=&PNull%7}AJpwe z#aR+exzHG|CM#%6uesjoY7_xkAP}W|s7ha+E z!d?Fym9?+jxN=n1HVypt)w1?qqnQuN+LnQ5Oj-Mng%l_|qn`wMMmG8ZXWfay}iBa~-A@G>RbAxz|~7SBrC) zdJ|?1Ys5NCqtqC49*!5Mv8&9J8WS@LRhu;AoIogzk*E#zD?;NooA`~35oEgtP|e+RniA6Dz7{-dz*`26XG;)i4btGD8&pjy zqxoE#mF~`g1kH0w;xb)j>2fI*%|O?1K5h;rO{I*L>Dth21(Z7mRV0uX)k4YN2Fd|Y zNZyq^_+}78rw7rTP>faTiW<7i=CTq4Jn@`b&IeE)&8?}yIx&}~si0`ox)SvX)|r_6 z!GHh85%YCpC}R?hB`7&h3TduXzi4$Ud?l3Rp0tZgsX5nhQy)Mhlhu!*sY%f*xv_GX z{;LofC#k!D6l6pwt(BUS6tDUV8H>}nV!qdK#QK>{r)mSAO`jQ~GRWv015k2a2CA4E zt*r7J)hDLw+0+vYPy*e%>E7*apf%iE9iA*Iqed%4!d@bn(k58Z{yxvX0h#}Uo*4W z_Up;Ns!dNmce-u*jZ?o^tSrx~6fyN^rCw8*InYgd4im*PycxAQwQdq^>kKfOYT`zJ zdf(~o0Cc;b$3Mz%6sam_IBMSGO`~RSC#M$jtp!}84D;}^UMaPgCJ&u-)lAjljcV%I z?Edw5UNJdU*<7O8Zh>)_eEp9U0v>N{YLB*Ht%eYC=`L)6QgyUPt0g=w_R``8%w?=KgZ`!>yT^ z0najwP2THo#@WWPUtRIlJM^wM%Jog>;{6rUHsgLk;!HMZ+OAhL{wrCMID0nDiuJ1N z`!zDXg^8(0Ds9L;&msk#?k+=4z}rZbW4qs1R&rEdgQ-@R>7CB>Ze+HGsP4OGcLlR_ z_i|-R%|2XL)_CR;rs>gd8pLel%BdNIcuQsTC@&@6QoSFGsVDpvaC(RB%DHp(3OHUv ztxBpjjLKf^HLL0a|MY#ZTFK6Rqu=2<_Z=rQl+WH*<5(y=sX_V{f1ADjG5X}nnx_Ar znsxfe+h4WY)lK+c)kwtI)%&Sq8e-~Pf9s##9_y?YDknxGCEbrFa2HMsz z6C}LcgL_|kmO;Oxo|Q+P&fQNO-;ly;CpJymE0r^kI%2}Fqv?Cdsg_c;Z%qEl>Fyhj zn%{`#5c9qHi!-NJm$>yKe!ZWXZF&n;j^kHnWAwa?9?j9Vk2tTA(^E9EP`x5Ut4WRw z&eO6CQqq_}PuFO*$eW_XD?4~`hv%F0sKcEfJub{3UwS-9rKS<4om6V|o_0<-BZ}h5 zFlDbNM$^nm zCIgwPrNf&EIHQ1`Dw6K$sRxxwGiH*5#w6lU&p~Kg&dGTL$34#C7bf53H_%gY3@2M) zRTpt<_*7kl(EB zX|ztbnuGY&xZ2sBWcA61nwY3()NyM=tK03-CXJJIps#O;aXVDKHRSa=%U^D2al6{r zIo-lx;$t6VJfrllqni>oO|Or81b zWo_EB=y9F%DhZ8gZUs49Y7>%s98^2CoLyPfsvXDeIo%G;VtcP^1JJ3LQ{4ui{m->Q zN5#KPLx}UIYdCkVqID+a3H%jXR_y%1{BOPeBau!0yIMc`PEpe)WkUe3)zkuMZl++6 z(J-O4gtjuFwRXH7*gSQ{ z{Q6pBakEL~;Xh;+GBkB|u%S&5l@y{Pk@-SVD@15&71GKe)UXOg8%_0ft%24+1G1~Z zZp;8G84NINXsEBR4F-*%QMb5xA4;2xqJk)l@IdY2P?`+{N`!#~8_)tMZlOdV&`?{C z{EXK6g$>a2wGs*-F_0Plf)s^6NYolY>rWT~R&C4DGoXC5=LWePElodY-3enk&U&k9 z0@H#867*}C%(0LGdDn8*oKesSK}%L1R$^lwT5)l6SwaK=a04!^2R}8$VWSmlYrth# zO>?*jjlso3Ul4JjXs@4VG5ddlq4SVQgMrSVYuG?di>7H-A_XCPFt`+Q*>!SN&6tBq zK}V`SO(YSl$S|6yD5dHKYK5TDyo)qUO^&WLVKqaru}Nc1WQ?3qaCQAc63UX6Y{)`G zlT)F|+d`9n1y&Rin!Lk6ZwyUsMgs^$!XR1*o4S_L?TyoZ?o&j|ep2 zj~dgfG;&b$NM)K1YipqHvrshPC?=Fp55M#RRku0SoI;aMP?1diuBJBCvp$GnZheiS z5*IQEl>+r-%eAN=dOmVD;026ODO94^al*$#0m>nmGi+Cv?yh)wEh6A>VeSY1FV*ZIQUR# z@*xf$0 zVXR0-u@0m+dC=axxkTK8ITXE2yVM;RLag4W9ioUXZ1khK5iKtl#Bx8$oni?^5AjUR zy-_gO&Cfr25lL%uAsuw)aKSL%>7{pX2l4N6(XbWAo#Fr%VQdj|>8(lq549n_F0l>g zunytW?H(~K7U)?0yG-X3M;864eH?EmM?@dELr&BHvgikCk;5|xo^H-_NiPJ^fjC}h zR=fs8iVCAk7(+OK4SzL~fI%QYfQU7)eNjV)rq$FFXdr;mUew?fB~denz+3|J2m}et zC$NA(Gl39+g#;E6SPXE^RcMH9Xs&J0Vp(j3k`urNpif$vr{$UomVRc*R%h9X$Sf*I zZ>EfTSk9w@xoYx$%A>H^e%e9{q{lI|VM;$~p! zy!jBTo26Y#7e#7n&MfO%%SN)g*;ml>1$6(D@;rx)h--1} zW=8$?ND(Eitjy7DZ-R%C-Ek!zp?##L0-cx`#(_hdDP2 z(daP?y%ZMOjtumYYYP2*Ld@0vhnSmUTsQI#@J-IkU`x6|@xKeUK&OpaFM=)a;wLcb zIc*AkSYi4tu#h*JieK)Ps4_*6I+yd(*W~w|bzijt;@zxKxiD9KyOn$M{;%IFZ$WPr z=eldSs9FVs&N4pfq{*q?TzBo3(1NtT4MR?9y=vYz+db~0N(R2Wuar&OnQr|B?jee- zZIPQW09&E{gwakv%+#d0TR~TQXbK{v2T^Bt#xnI9C2?rWr@@b&EVg*<$GhElYC&Z^ zDn+ioVeZs-pyW{zJ*?{mB}f0tqP;x&hMyj*X}!1~iq5vrm$p2qRrHg2MJwbjoCI3p zC24sURTF2fTbhu68_n{WWr2HePjbjamR6GVRw|TFj)8onGcB6@+Uai4%Et4`qnp@I z)zz5(O(OI$chyu@%lt&0)6#Azgr*<*m6iy1nWR`W2$NF}qZEnW1X(uZvP7DpIIpa< z_$Q98bh`IZhomX26Ln6t7OCiPLo@AvbMHDxTmAjb_io(dHSPECj;PC~SLl-J`fTy` zXYcDu%hmdy`=)^mPup0F?$WyT-I0s@rjZiCE}pCCeeFxC*;Y!dQ>Nq3-CsMJFwq+b zQ&*nuuI`sk`D=fdR9m;bTgBa@_^Sx6yaD35$Q6uRfowR+rPbeZRWGogEyfzpGS^iqk1b z)19fD{~Zgj*;Mar)7he92GtzaFK=dxw!<1}#HCHEdbYY$&q2E^U#<76E}?;V)SjYh z{$-A~oaZfSg=X^Wr`ySS?>&CiJ0_PnBAqRlI;w6vqB3H61aaN)O7zTM&%-CI z*$?Je6itg8^dT^vbg3rLCQB_1O==gAA*dPI<;ZSA1a)i-QjF5-p03$2J2iD@r1Q0F zrY*=O(CA8cJ)rxDbDtrg_-<%Zb`&Fgd-~T5Z$Yt2|&oP z6}?{3lHtzl?%581%S_v;>(p-QbI90d-b}qzv1F`1?#f@2s%@nXkx{Cit~UZMaLZ4< z-BV|BFaG9n)mcZnNHqFUuRq88P@nv)>i3SPb*0kV0)yTy)JsSLckidfIkBK}Xu5Uj zsrL0#opm{SQ$E58Yn{0LgSL$|FriAf?=&9Weph;ackE1UJF~~}H@sImYI(0;s^0Wo zp6Xq~owGIuH%&J+NqjQf<=3$DpSeG19<3oqYZ#53!G{MFH(|i?J&PQJa=0hIaQcnP zDV?f7({^t+avPVMcbe|yW})nsRL`xgnoel=R#s3F%c?QZI%ie{o#_MJkF-?Nq~1z3 z`G^0x8r9nSG(w9zucU$>)u_ra)b& zR9i<|MQQ-Y89hvBiNHY)A3^rK!-V+06sW^)DZ(CNc#N|B-;^zFccH+asz5Mk{Tf94 zi@D69WMj5(H86#?Cm{Yuyot(r^zRKG^#%{kmFfvAHY^EIOOIK_9Eoov;*TgzQqWUZ z0hBg6w9IL<_K9E{5w-!*_5keZP+Lcyq`eT>UU? zH-4edBTXFs{ZJo%iJ%ew^dS4I+;d`5==IGWj5r4`PE$6H1p&cmj^?Bvb}|XzLGt z3>1tXjyj~G4ymX^D(VnN9ad3L45d1(q7HM^5fufUQq&O@b%dktQBn7(sC!h@JsfpZ zMIBX9M`_a#QlC&kY)T__kGk+fH7l{;x{AVrlz8PmI3WkK;GjSZC&4x_?tUb_~UWi|lh#tWyK&gp~$L z(FTr1Qp|UMG`~F@VP8_qC;bQkuT$UI-a-HH*;gsrIj}l8vVM0enOJXjZd%{5;o^;E zVso-%)B4o9-KmWmIyP@ijige^4T;U{sURl&6}%HHy?;r*XFG5NtCJ@()$zkm3J&p!I%hd%$}vEwK1fA=fDe@EMk?|P9L#cDKhIPomkXm4>>_X8Too3~Yb4 z#;%g;WNf5LvUO18DU`Mz8d)pF%9lQK>_?A13SFJ}`29cp>|^8ue)zH5PJHm)Z65uh zkWEsopQ*K8dicXHedY`B8cW+62AEO-PO~syV#zH8Sq_uq`3T=o7yT*OlrHd z?WRiF&1+n2IQ7rV1H#R1HjUmVXSL{N%GPE?`; zuvrI5bw*R1a;C$$R7sjjC6T6d$qpAJR^uz>soIKVCPiDpEQWro{peuAxC)biqjUr| z1f;aoV(JhuLDPdGo!7^zkK^dgJ(f7C@wotMBFh-!X=F2w86-${dxM5omq`phGD`E1 zX<2fiG4ga;FPE3cA*g&9qnpvTBC7z(&7nczWVL*t7tRLj#0EKo6GdIQP!J|&+aMLL6iKH`39@=6 zO9BdX1jc!6Xl*MWTVPc!JE$6z67A-066X^*Efv{Ze8e+rICsD-*hW<__owMd?szt5 zsYK;L_D}k@vQ$M zHT~h`CCsBM8QSxy5fR-MUbkVRuuA!dZB{8%lkbWj z>`7km>YdH8U3Bd z%R0`3Pg*9Yotm^(rv4tUc^sKaNJoq0^la04c`l9q&@@`1)-@AG;`E=mE*2!lF z@}UiwPCYwuv_^-0QMrr2PxVu;TF?q+#wGd8a<`*C^aM-b*a8Fj^r5^_&Ve+MhYnl^ zkf5swEH_elw4_UimXMaIJY8?Sema}JoN|@khmc}@?q4r;?U@b4askjQ=wZgbxJ`~Ob^{|}V# Bg{S}k literal 88576 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 bodyDict = new Dictionary(); - //File.AppendAllText("log.txt", "Main:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); + File.AppendAllText("log.txt", "Main:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\r\n"); if (args != null && args.Length > 0) { diff --git a/Properties/launchSettings.json b/Properties/launchSettings.json index 44ac99d..aa79893 100644 --- a/Properties/launchSettings.json +++ b/Properties/launchSettings.json @@ -2,7 +2,7 @@ "profiles": { "CloudBuilder.Topshelf": { "commandName": "Project", - "commandLineArgs": "task:TtsTask book_id:B000008 chapter_id:4 speed:1 voice:Sherpa2 actor:韩立 actor_voice:Sherpa1 save_path:D:\\\\Net8\\\\FileServer\\\\Backup\\\\DmsFile\\\\voice" + "commandLineArgs": "task:ChineseNameExtractorTask book_id:B000010 chapter_id:73" } } } \ No newline at end of file diff --git a/Python/PythonCommand.cs b/Python/PythonCommand.cs index 70f6b91..5cb391e 100644 --- a/Python/PythonCommand.cs +++ b/Python/PythonCommand.cs @@ -92,6 +92,11 @@ namespace CloudBuilder.Topshelf.Python import os import json import logging +import sys +# web api通過cmd調用,如果沒有加入下面三行,會出錯 +sys.stdout = open(os.devnull, 'w') +sys.stderr = open(os.devnull, 'w') +os.environ['TQDM_DISABLE'] = '1' # 配置日志 logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s') @@ -655,9 +660,22 @@ class HanLPProcessor: # 直接返回提取的值 return value + + def get_surnames_json(self): + """返回姓氏词典数组的JSON格式字符串,供C#使用""" + try: + with open(self.surnames_path, 'r', encoding='utf-8') as f: + surnames = [line.strip() for line in f if line.strip()] + + return json.dumps(surnames, ensure_ascii=False) + except Exception as e: + logger.error(f"获取姓氏词典失败: {e}") + return json.dumps([]) processor=HanLPProcessor() +# 测试split函数 + # 测试split函数 def test_split_function(): # 测试用例1: 简单的逗号分隔 @@ -838,4 +856,5 @@ if __name__ == "__main__": # processor=HanLPProcessor() print("") + */ \ No newline at end of file diff --git a/Task/AI/ChineseNameExtractorTask.cs b/Task/AI/ChineseNameExtractorTask.cs index 237fb93..476487b 100644 --- a/Task/AI/ChineseNameExtractorTask.cs +++ b/Task/AI/ChineseNameExtractorTask.cs @@ -8,7 +8,8 @@ using static System.Net.Mime.MediaTypeNames; namespace CloudBuilder.Topshelf.Task { - //task:ChineseNameExtractorTask book_id:B000008 chapter_id:3 + //task:ChineseNameExtractorTask book_id:B000010 chapter_id:74 from_chapter_id:74 + //task:ChineseNameExtractorTask book_id:B000010 from_chapter_id:500 public class ChineseNameExtractorTask : IScheduleTask { private readonly IApplicationService service; @@ -20,8 +21,6 @@ namespace CloudBuilder.Topshelf.Task public void Run(Dictionary bodyDict) { - //File.AppendAllText("log.txt", "ChineseNameExtractorTask:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); - if (!bodyDict.ContainsKey("book_id")) return; string bookId = bodyDict["book_id"]; @@ -29,19 +28,22 @@ namespace CloudBuilder.Topshelf.Task if (bodyDict.ContainsKey("chapter_id")) chapterId = bodyDict["chapter_id"]; + string from_chapter_id = string.Empty; + if (bodyDict.ContainsKey("from_chapter_id")) + from_chapter_id = bodyDict["from_chapter_id"]; + PythonCommand python = new PythonCommand(service); try { Hanlp2 hanlp = new Hanlp2(python); commonSurnames = hanlp.GetSurnames(); - IRepository repository = service.GetRepository>(); IRepository repositoryAiSentenceEntity = service.GetRepository>(); IRepository repositoryAiChapterPersonEntity = service.GetRepository>(); - AiChapterPersonEntity[] dels = repositoryAiChapterPersonEntity.DetachedEntities.Where(x => x.BookId == bookId).ToArray(); + AiChapterPersonEntity[] dels = repositoryAiChapterPersonEntity.DetachedEntities.Where(x => x.BookId == bookId && (string.IsNullOrEmpty(chapterId) || x.ChapterId == Convert.ToInt32(chapterId)) && (string.IsNullOrEmpty(from_chapter_id) || x.ChapterId >= Convert.ToInt32(from_chapter_id))).ToArray(); if (dels != null && dels.Length > 0) repositoryAiChapterPersonEntity.DeleteNow(dels); string depRoot; @@ -54,7 +56,7 @@ namespace CloudBuilder.Topshelf.Task SpeakerAnalysisHelper speakerAnalysisHelper = new SpeakerAnalysisHelper(); - AiSentenceViewEntity[] ents = repository.DetachedEntities.Where(x => x.BookId == bookId && (string.IsNullOrEmpty(chapterId) || x.ChapterId == Convert.ToInt32(chapterId))).OrderBy(x => x.ChapterId).ThenBy(x => x.ParagraphId).ThenBy(x => x.SentenceIndex).ToArray(); + AiSentenceViewEntity[] ents = repository.DetachedEntities.Where(x => x.BookId == bookId && (string.IsNullOrEmpty(chapterId) || x.ChapterId == Convert.ToInt32(chapterId)) && (string.IsNullOrEmpty(from_chapter_id) || x.ChapterId >= Convert.ToInt32(from_chapter_id))).OrderBy(x => x.ChapterId).ThenBy(x => x.ParagraphId).ThenBy(x => x.SentenceIndex).ToArray(); if (ents == null || ents.Length == 0) return; AiSentenceEntity aiSentenceEntity; @@ -65,36 +67,45 @@ namespace CloudBuilder.Topshelf.Task int processedLines = 0; // 已处理行数计数器 AiChapterPersonEntity aiChapterPerson; List cps = new List(); + foreach (var ent in ents) { processedLines++; - - person = speakerAnalysisHelper.GetPerson(hanlp, ent.Content); - paragraphIndex = ent.ParagraphId; - - if (!string.IsNullOrEmpty(person)) + try { - string[] ps = person.Split(','); - int orderIndex = 1; - foreach (var p in ps) + person = speakerAnalysisHelper.GetPerson(hanlp, ent.Content); + paragraphIndex = ent.ParagraphId; + + if (!string.IsNullOrEmpty(person)) { - if (p.Length == 1) continue; - aiChapterPerson = new AiChapterPersonEntity(); - aiChapterPerson.PersonName = KeepChineseCharactersOnly(p); - aiChapterPerson.BookId = ent.BookId; - aiChapterPerson.ChapterId = ent.ChapterId; - aiChapterPerson.ParagraphIndex = ent.ParagraphId; - aiChapterPerson.SentenceIndex = ent.SentenceIndex; - aiChapterPerson.DialogueIndc = ent.DialogueIndc; - aiChapterPerson.OrderIndex = orderIndex++; - cps.Add(aiChapterPerson); - repositoryAiChapterPersonEntity.InsertNow(aiChapterPerson); + string[] ps = person.Split(','); + int orderIndex = 1; + foreach (var p in ps) + { + if (p.Length == 1) continue; + aiChapterPerson = new AiChapterPersonEntity(); + aiChapterPerson.PersonName = KeepChineseCharactersOnly(p); + aiChapterPerson.BookId = ent.BookId; + aiChapterPerson.ChapterId = ent.ChapterId; + aiChapterPerson.ParagraphIndex = ent.ParagraphId; + aiChapterPerson.SentenceIndex = ent.SentenceIndex; + aiChapterPerson.DialogueIndc = ent.DialogueIndc; + aiChapterPerson.OrderIndex = orderIndex++; + + repositoryAiChapterPersonEntity.InsertNow(aiChapterPerson); + cps.Add(aiChapterPerson); + } } } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } ConsoleOutput.UpdateProgress(processedLines, totalLines); } + speakerAnalysisHelper.AiChapterPersons = cps.ToArray(); speakerAnalysisHelper.CommonSurnames = commonSurnames; speakerAnalysisHelper.MatchPerson(ents, repositoryAiSentenceEntity); diff --git a/Task/TTS/TtsTask.cs b/Task/TTS/TtsTask.cs index f12929f..0c99e7f 100644 --- a/Task/TTS/TtsTask.cs +++ b/Task/TTS/TtsTask.cs @@ -110,7 +110,7 @@ namespace CloudBuilder.Topshelf.Task.TTS voice = personMapping[ent.PersonName]; else { - voice = AI.Policy.ChineseTtsVoiceRandom.GetRandom(80).ToString(); + voice = CloudBuilder.AI.Policy.ChineseTtsVoiceRandom.GetRandom(80).ToString(); personMapping.Add(ent.PersonName, voice); } diff --git a/Utility/SpeakerAnalysisHelper.cs b/Utility/SpeakerAnalysisHelper.cs index 21608a7..336f032 100644 --- a/Utility/SpeakerAnalysisHelper.cs +++ b/Utility/SpeakerAnalysisHelper.cs @@ -68,12 +68,15 @@ namespace CloudBuilder.Topshelf.Utility { HanlpConstituencyNode[] nodesSon; nodef = HanlpResultHelper.GetNodeById(cons, node.ItemId + 1); - if (nps.Contains(nodef.Label)) + if (nodef != null) { - nodesSon = HanlpResultHelper.GetNodeSonById(cons, nodef.ItemId); - if (nodesSon != null && nodesSon.Where(x => x.Children == 0).Any()) + if (nps.Contains(nodef.Label)) { - feature += string.Concat(nodesSon.Select(x => x.Label)); + nodesSon = HanlpResultHelper.GetNodeSonById(cons, nodef.ItemId); + if (nodesSon != null && nodesSon.Where(x => x.Children == 0).Any()) + { + feature += string.Concat(nodesSon.Select(x => x.Label)); + } } } } @@ -152,7 +155,7 @@ namespace CloudBuilder.Topshelf.Utility } } } - + /*暂不处理arg1 foreach (var mrp in srl) { if (mrp.Type.ToUpper() != "ARG0") continue; @@ -170,6 +173,7 @@ namespace CloudBuilder.Topshelf.Utility arg1 = mrp.Text; } } + */ } } @@ -208,7 +212,8 @@ namespace CloudBuilder.Topshelf.Utility if (aiSentenceView.PersonName.Contains("【")) { - aiSentenceView.PersonName = AiChapterPersons.Where(x => !x.PersonName.Contains("【") && x.PersonName.Contains(aiSentenceView.PersonName.Replace("【", "").Replace("】", ""))).FirstOrDefault()!.PersonName; + if (AiChapterPersons.Where(x => !x.PersonName.Contains("【") && x.PersonName.Contains(aiSentenceView.PersonName.Replace("【", "").Replace("】", ""))).Any()) + aiSentenceView.PersonName = AiChapterPersons.Where(x => !x.PersonName.Contains("【") && x.PersonName.Contains(aiSentenceView.PersonName.Replace("【", "").Replace("】", ""))).FirstOrDefault()!.PersonName; } } //说话者在前面