From 355563244c1318e3da940cae338e61f15319ece1 Mon Sep 17 00:00:00 2001 From: HankunYu Date: Mon, 22 Dec 2025 02:11:09 +0000 Subject: [PATCH 1/2] =?UTF-8?q?=E9=80=9A=E7=9F=A5=E6=B8=A0=E9=81=93?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0Discord?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/images/logos/discord.png | Bin 0 -> 29896 bytes .../cards/NotificationChannelCard.vue | 44 ++++++++++++++++++ src/locales/en-US.ts | 12 +++++ src/locales/zh-CN.ts | 12 +++++ src/locales/zh-TW.ts | 12 +++++ src/utils/imageUtils.ts | 2 + .../setting/AccountSettingNotification.vue | 3 ++ 7 files changed, 85 insertions(+) create mode 100644 src/assets/images/logos/discord.png diff --git a/src/assets/images/logos/discord.png b/src/assets/images/logos/discord.png new file mode 100644 index 0000000000000000000000000000000000000000..8818fb4e3cee4801fc011869a3fc45e46c10b81e GIT binary patch literal 29896 zcmeFZWk6g_lPG*kl+>|KyY_=m^<*i zyZhe#_TJy$k2}oF={a3hT~%FG-Cf;>2z6CCbQEF~007VxI}8uqtF{c>^~9K*f3dfPnN2LI8lPveVXg*H=*%v~+T0H-GJ9Va4w4==?|t5cU>? z6&x?M0~dRn#e^oLsFa`PezxIjKcaC@Cq0 zU0+)ZYD&xg3mx`Lgxc2K-C2->!^_Ky-HV6a$<>B~OF%$?gOi(so0|;=!RF@k*4^Bj z?X4TlKSch6jb$jc7v=s}Yya)`f5%dDwX=ft z$P=$z|3dlqd;bRis3yTDlQxjHbF_Nv_9)*AE?7hVW6l4FssDe({I{Ba!-Q#HPz7d- zug%@frOn-~L?0c1jf`0; z_6F@`KFc8OPJ(_Zv+=ayt18fmp+pXlrw&2}GgPC~M}s9PgY{4TT=|NIo&KHO6w3DV z+VCZ04F&>`uy@5~2ubE z&0kFYzBKLp{-ReEyd(jp75{(l|EGcfr-A=pYCxS3T+11|uBFhf29~AAmQ0GqOENBv z(U+F9P`r#z(ab6fo=x3mqELLbXyG-f4V596|W$zj|Rivs^EGIX<-=BCc zYh|jpQ!#t7VV!HB*Qt@5$Snlc25MKkzre}ol>RC?e`Q#f&rnNgsIXgi?CoVeDsrnpxKjP9=*>lmmaPQiwTlJC`g8q`=cu?aZesVG$|e z*}r;7P(P`cY;e>RvdeY1@u_ zFX^7QswSag59HZ)S2Inuo1B~&h3eT&M?oL^^P?w?d-^tWSREuC-;7B<)F9ub{E0!OJrZhYp798bypePs`GULFPJ(N-UotvOf@)|+t&8lVIT@)p3| zi^@WK3S2x$c9uSGUC$lOxheh%tCRmRGe@*thMk%Dj6%5Rb8;XR*SZV>wKzhK_|o+Z z92V!vyew7~rsHaX?rJnI&S>L^hGs_a@{InxMzq?{!E@8)m&&_sJhfu#f%o^;o9-{| zmOq^53cYda^@>@zq0#x-#^JDcRls$_)0bEAN}w*JBxsbPfKT#rWzkca!d;Tc4;5u& zLY@5~O0b14Z*teKxoOe%?b~*NsXFRP&D;S))g)2(#)9?$x;S~l-qHhNOX|`tt}rn& z>#43Wc~vPXK|IM=NlRj>mlR!#p21ESYCEj&?r0Ok7Q?m6T!#MAyllz%qdmfL3p00xzd=ZAVOpKp{cRaCu?`i zEe#EMO}hP44{tHUX;A_#L?b@q+1C#Rm6nLaJs59tF}icM;Jr6vC8kXxuyhdG_e2PG zQ5l3>r7Y(o{nM?ZtFG}?>RQd7zs@5n{L1blv@_?+n4E+;e&{(${AEcl=Y1}ryX3NM z(8)D;11n3hc_XZjX4gca^*gc_3eIi%XS$?7@u~C`-2THz(~QZ~FH|`CwLgE3GYb^z zr5n08@R-#=IYn1TkIAF@U!q9S3theux}zFe#JKK|Y94*(3XRn`K(}|Qf}W1PUDh#Y zsIIQL*Pd*CKX$DqVS=J@SY8N_{n+mK)}g!gvkE!CUJ~OviSJ-wOn!~+_wVbQo!^#A zkUplM>gjsQ0W}25zCs+;Kd&uUlf9cO1*aHY!pB$4Xu5Alqs$Gmq{E!vj2+F&PEY;l zoEBrM@94Pw@>Xf6g48eMYo`@WosRtbenHWX??qR0x5Y@XF50G;;jZNMfhgm5GocuX zpyT)YsGN>DrtG`h59_dom&MwH;9Ka_uMlVE?l|kfSn{+}DFQUTBlv=@T*76sfkUU9 z?uRty8?m|OT?s9K`^B@@G`D6k_r`_=!}cazoqVmrk*VS<{oirSBAUo_OK9STL_W}U z4AcZm=BN<&pQ_poqK4ZYm+=m(3I5H>Cgt(L)g{nJ1y{gzurxR;NFz`ht>YotZ4SSP zkKk!0=1iw3EEJNky_Sg5jp@1*ZMhgC9Q3lzxNtoi9q}UHM{*!ZOkNLDF1beW1D!;R z`Hy@(rZJhBKlYg%`+PKsb^ZRNIy-mhzZ`Z=cm!v|k z%i1UbSsldq%VI=y;`^}?)Oyo4DWMnnQ&tS()@%2hFmqhZk64Oi#0>n09a|JL@ekrY z$$p&Apucq97@S6ywV}DwjfAAM)9HDtjg=jmE8kicMlhk8t9q&tAQAL?GTc2|kQRLi zMh@QGcMljJW3W+;bS%Io=}cgY>(d5M;6+(uRcQHo26o;oVi0V&nLB5IM%GI?v#DpZ zO2pS|=qE>~a|a^4m{Z7ujc*(PA(HXMr4Q2Oy?hgdH6F*PJkEZATHp-!a zBf>+Pa5z>-oEh)FYOgfMA5=1Iy^K@2XB@JZTJ%n_uDMRKr%7SQ)2XQS2*z>gku#f> zlk-Q+3MITvlbwi3M_GQcuNQi$NT3U_4oJ3Ks#P@pI7s`UdSs7m-K!jS>u zEA%+A?zEpVlMb2r3#X{m=+slj?z^}lr4`TDJaHc0pSfQ%@&S&zoA_E?h)MBno?LQl_Z@Sr z1!Z+k&Aznz9ZOuwpDXz3(?ziv&q=3CcKMY7>z2v3uG@#+63xXQPBI9|9plVP6gOtY zMsLu4tChNJwuc*!*H6k~YF-?tl1`_%a+1t zx}@Uc)co)2?)qZR7RyCzKhT3>g6{d++^)&%!`)c?Y&<3l4&9AV#Xg4 zm9P73j2_ojxxA1VHj;A7KjfO0lFI9YA1e1*nDI!A+b1Yc#@+DaL3O%CVgz}rW@mnA zTSupOWA{8>^&0F>_;Lbel%qsFBV2kNZ)?(8T%RN=vbPo9K}bE6?#GNKi9~a720BHK zr!tZ-bfsu`ai}ft>-8uTo_`*7HODuLn~(SqYG##Gp#f=~XBG#|ZiV^y?Vv5jvvb02 zn+rh>%|pLKRLtQxyS;@Ac#{}4k%qhtgv0E1+*66A1p8OJ9)^CsF%KHao+HTQQZ#04 zaK@=DGf{*T{)laI8S>W?+?o$l_fWQkRK9jKm|X#Qkhl~J>jLOaCGxn7wZeJ}#_pLI zd{}Ym)>-bDjjRak>fQh$D%BdjJ~+LadMRt=BdXbJ>f;O7;Xg-!guVgqR`*oNoCow5 z%Mtk<+zB6o4g|%S{V)LY$I>)dZrQPfuB~GMUactj!_9IM4IhDN<}Y&fnM1Qp%yH~* z!zyLDmPLvmQKMaAWx^2L#Q5g1#t$4-aiG-$I-U}!-bTgibwgfyhlHN426T{`>AA4| z5*jkHsy>BJ%$dn2JBsk$5`T0p1`sAFjXk)hd}2e#pP4=EN)E?l!|&Y)8cHUirMPJA1wLXt+fZq z2m5mqMP+3pyf0sNo!(`87N?maSdP_Z;?%L;3X(s#^f?v(@Lp4GPo`oH+mmRgDvycZ zJ-#<^$UC38NP!;pdh8B=V?px{j%&{fr4PUE)0K7unzHl zjG+{_$QE0==v_pIo_4(EEt^pSkucebphr8rXfl0OdF#31yw>id;ef9d?KIwvdKWH;(%N}N)TyhRGku8O44IO>yeTK) znjxFr=Zx1bX6e@|t?bX*(V+f4+xoj;pttd_zrp5krjT9`8TKz37f#oQ+UMo2W2Qlk zH#wI_T^Pcy^k#SwH|Tpt`qCUgZ|A>sFt$%z_fcWl zI`EDa$dgAA9LPs?<1f<>?$3>Vur_g995$C{I?2n$ikpcwhR!vlH%%I{Y){U2^diGp(P-(Q*^^45|(FMAdLDO#SMsc;r~ z!|4sxT+Wh1kd^soXOC=6jr>gQFP|oxZ*FAWpYyVPY8ciQ@cRY*sfADVw_hZ7wJi%r zoJ&C&E0wS0O;zAIM#z^e*UVO%hOb4N<$emBNa*1lL@c4wBd?nB1<50_qC{6-mkt?t z@&?J)g7%Bf=dJ!+8}$Kb6AiX<9OoEc>8E_>MBjEHYD^g~_=JxhEE7JHv64>C7cN?A zlHz<$5yD=9zsNS%M0-a15_Pu4+WhFp)Oj>tMTajIIl;bz3}7kb{0qKa#(Tmq8`zl5>vXD(v6 z75BKTckNwn;P36_7SnJ+L!OBnPDehIj$hs-Vm%YF*|!TUT)6T^nfUT^4^ddvc&M9D zgl_a|C?NeWL?gkt=Uef_(T;|)jXeAk2IUZywDuBR4 zo7mNcl&K;sFk@*@?cb$oX%c2tNQOSk?<<$_anM!oyHnR@rV`3bhP*@A${nkbJo)Z! zaxCA^FNV71;0-8E{e%|Te&?iiJ>#02XLMyzbBMx+h1YB*`<^I^R4qsU!*Y{_-|1f+r{(iM zr|ftpM{y5paU1%Kz%BNiNRlJaJ+5i4MjFQwr@iV&de=6?%$nxE-ewth_Hr|+rybS6 za!wy`s#%bfi^nz)26O)EWhqvf)Rk36Pk$Vld&)(Z} z$?>7euE%ek?B9tFbTaHHC&SBA+QOHMK@{@F-b3h6d_hbfNvoUxI`mBkx z)tsAM#r=hx|Jt;C)_QzI9y|V7EEb_%E*?OJj|7SkG*j`t;mDvgdGn1vL-ow{@QUr! z1fj#+KFmu$J)CrzD%cZcO_4T52T$FYOtVH$xnP`w=l~X5-2G*VBjgOH8_g61?ZG^} zk0|0&;Umg@Q{F5cECJR) zXL(k}IMI{YGUZWHNBktSNzahu0OYuKA$V?~Wb!CN!|b-TorUegyFrdt>>ThCiwRYX zqc8mq^QB?bomy}gMQ8W;pAnlil`Y( z_4#aFaY*x?2?|HH_^k~U!1_;8MV!h+ys*+hTLlc#-48YcL_$5D~Qkql|`HN9mf^%q7<_;+DV8($BDMzv-Vk)jO>JlS<^| z2St#Po*U8quA7P!ygF~8)&mEBW@(f-c=fG(pLQ?!jpa@3@|HiQzOc$;%HOKK8uy8V1@O>#V^V7KI2dsw=NOw|I{uG!z3fPnZEA*H$ zy<%i!lX)@&@8}79t$uhg=r)a$s8ZJ9snx?lLB( z5l+>^JK6Fg<_FeIu`q2w*qZ#$qyVZ5+eSyc740C@lf{($pM>Zioa!PdR}cT`?BJl? zpT%JzL>h4fGfqi^46)6gl!1_OiU2S$(Z)2eqHCh~lsh^y0b>OtXGC0_DWQ_g$^E$G z^(T4`OLlbS)-V2e@nf~T7kVA;G!)rHLGqyRh|!2yT?2AnWFpk3!$vmLaWkJ;6wwB5 zXg;kUMp#u${B(<3M<6574gR+mrtr^Mu_)gB2|3gLF{C~u zk7B%5prnrGm$l{c|CKN`%X+xJ{vIm_Tul&_`=L%qyPGUzo$&ffiJ>ybLp)e3;uO;T%nRh8blDo zgRqveHRRbRxU7NA2Rn$^cn5BM1fBu_gaIBG(L(=uiRi&y!75nj#jZjbT_RF|mBx&c z=pRjn{B1SLl|@o29pR6!e3<@0>4oP+|2P9!gY)3CE@3lm#Mn<9H)|yTT3tBSaaHrz zz1Qv!Hu;?$ppe-O^|52YM}dzb0JIwJnBNe$I!ua-Z6cY^tauPAe8-iWVJ@UAx5D@n z%J~(vV?GnvCj(#N01d*Ya%t`ia5R2T!UBIaQ$a8bucrQS;$1G18Qlmyp<3u1coY{l zI!KCJFpHBqXr7$($aXcbO1)M^Fhk10XWLCLNqW!4UWWxWb6xo-WMGnlQxjfTkg|Rw zsNapbM3AdAQ<6k5i#w^wDm2`_-a5x}mYlWn*9H*HdnO*;AkGV{nb^T}+Nj9IS?6e#ThiWxl4tP}Un$^IL;^ zw?yHhD?;oOEVPTaBQesg<5G=BN3hHlJyZTJ9wCLW1nCaQ5nCtIeJ_j%=YMeFB`$jx z|ER=31t6%NkXEQejO$@#G*A@_Uh4aMqX9#IP z#2l(%<^@dq&aTj@_sJWYp|SJ&RsP^%W`{ne4$W8WhogXC;o;xu>i^@oS- z=HYOO@gVm(C2WqL3X*Ls1b#6_K=-}U{S#nJ1IWR_koY`V;`#^e|{= zmiEq~srd$&J}9~`b2o8`&?=#&ti;1teD+;ZvISpn4goyKU**i33jxhC9J8Bx3EIBy+om4er=G`z zUmB+CFVM8H-6jtrGqyvRF-Fj{bIyV1@l)H-qx(a~RU|e&v|Lg_f6~*gJX|R?G z6VekG5DfUyZ6(VJfC68KEbQtCqE2Vfi2{iiiSK)6b|Z$6ZJ0!`Ou?j%MF-@A@H?SX2rg8$TSGLT#{MA9?+z2 z?bJcke^eZYoS2Wn-%>1RglsRaa05xo09Sk0luDaz$>LsV`zn4Q>WeeQGm(GfxLZct zA{H{H81V^vV73TfZz?qTv!)jC+O!2-BWKb9K6q)%-_|2o4>tXa6L-Om8&?I5coqoe z*Ni33dv?$j0<5j{e;^Xj-U41N&daVbf0x$rLA*yk(BdH)sn5S_m~GaDXSqnVl-jbh zP$9JUX&aIvjzCxI;`J|0)7?a6wA|9Lo_} zjd4MN(K+Tp=}Q(*{bMwP4eH1&5Ms6vLwC` z(T}x=JX(+7oUGt#M3SJw<&D&naJS#p2`GPt=yHJ>=h*QG6S&^CZN}^bw=*Pz%z}nT z@Hjm%A0cTc+!PaCtby;)_k@V&`q(HCo;>^Kyu!Do5)~_3VpUc66i*?(gTX8~V#!TX zkPNC$eXOpaj6?7PT>bi&J(u}B>gYa2B(pwt2=Sd>H1=a$5MM%~WQUO2Ckpn$c3`gB z6*hy!WvYNPevdGVHGf=`@3YT7C?`CPe>w7x(~uatm0o1M5!M7&^wj7)T>$%~<4;*J z6eXdxF?BHi4MjEc5$&V06NN#_Sf3H|J@RnBqp-h0Xjh0X2@}|))!r67xY9e}-~&B5 zUk+@Yr5`dD8cdk8bPK4NNt^L?Afx^kUfq|!Rcmr8rS>aK)Yy2EbaWPs14L( zulrAq`T|ArZ1Et4N?zJZ`x!BXWclJLSx|&87QRom92^PR=O_!oFP7%>$RK9^^%eKK zJRU$JlrbY9xw9ID={Z5c3>fI5nW#P*9i1{|3#Zhd3^c?QrDB?7J6%2Dz$GlT*n)B`O{U{Z3{u>Ofkb?5Z zj>E(R6Uy};8*Z(B^f+zE(*oEVSOp}B{rINtY4$i$9uU@K@(7;*1;Nfpq#>9m1Ps`p zBVCDews0Y}sab)B7ax>w<{JI~vvC{{>$528(80;AaKYwyqcJj>Vt{g%WAH^DK84@| zp0S5j=u@Q1hF?Nq{OMhBzWxz^|J(atxW6^DQQ8Zmg?gwG^NqioU%D58)wOk!(x_nS z4QRm;7o*0KlO2}V`>8r|JK^`iOoIuq!?~{JJt5@$a*{^!>7Q<3L~+|I6fFF>Hus&&>Fd>qe%G9*qj*h&l(Is_Eu?^ z<{Hh&y``4J^Jt@ptGrf{n;e z??og=%byNx`I{q|x39PEha_QP-=w8toUsm&5kaO%hx&avRZe~KDFB|9KHa{6S1vkD zpf@xV;~eV^0wo#8=OF%}uny2@&wVi%bEiyx`AMU=@SG-cHHaTpd9BK3IY9BpY~-mi!R%3iY(D z=>+-F^2EU=SmKLXF-ziZ?oRG4dUp8KnQ_cO8d>^t*}JxF&O5g=)9~~zo2Ov$3p*|q zF-|Kw`LrvFG7&}GGC%sF7{48j2VE4%z5I#hhLE@SNL2kDJh$#9O738ML@*Po{ex5~ z;J$Of6+YmNlmV?)q50Rk2D?uvpn-FRR%h|}xJB$w{Kj; zndGvBxmp1AukTt|mlVVP3B&&8;@_5^dPf#k((;&_UV(O3fjE#tS^9A`8xnv>WE+?zfHU3fHN`F%<9onTk$H?($ zL%0+Himb|Fe;eK?&(z`*BeaJaN#Cs-Y@Nq;Ze^1|gDZ+Oo>oqbs$fNw-;mPn%P_Y0 zxf%eU!;E@pV=@h>LC_(N>4{XF_!xG3!{lTK<2_figmJ1X5ivrJTr@eTw+$!PN+%eZ z)9N2d89l+=p-Fbn3N7$*Yr(;?AWqdAUt5E(H76XpdpZ%<|1w$}5DAgGE;3Cl>csPa zTyCJl|2(1^ zn6bjw20AsH8K35diHIPF=eGUPTockhXW`Ya1>jMDi#x3iUiVv`C@fxRSfRCs>ZAS` zslZ#=)iTkg6P+T1vgPPfQ*c#4Mq5Fh?(Ug1+T8$c?}K@XR^rn{SuqBcT z6HNHj2~ZxPh_jYqNR?X!L-D3=vzf&S-{4u%KE|sAS~F@S6zxshW>(HCxg0!*^a@pP zc;9PA-K%ioum zXDy;G#Ig$$mvIy($2}QUB0uhVM2ElPeWAs}zdVn-862}6-7QM&?gCc5*c{B z&y^LKkmZdS?{y{x+!b9l3Z%@wx6shzeq*9RC;^VQVmX;Di11J3y9M?hpDN z_&tm&1aF--6)H#F0Na;k3}7=r`DbOP&IsOmb^h8G3}S&#APu4ZCrAZ6AQ9?Bi0-APFCfC#qHbWxBjhmbkcOrzYMCQ2qSEsz$~-xq zI2aDA{S83Fz+}MpF6Rr14?6?}uvYz68n)er-OK{7-YSVtko}YeqQ%4pE28rJww)II z`s@VB=vlMvSmm4iHCPN$18UlT5%g&msQ(jkBxuZRs%ru=1<13-Rjr;?2EE|YsVWGD z%c*_^J^5D{4T!^r;Jr%kf1KG$42mz|0(wc&p{vqtd{E?q9^9Xj1pYYVTM1v$({xSac5*RvG@FNQRM!k8SOF%Xo<4p6~$_al2o>moMiNYueucFxb;In zMAPMs*yg`%@1Sq=8m@6G7}K1jLEFToI{%d_6L^Y_f!&u0iQka1TEkE;HsKw2{3}LB zqm3u)6_#T{9^kgQ=bz>O3Ao|W|GMt5PuNVnR3$-;O$nQfep75+B;-Nh(8^)OkzlUI zPC(dyvvI{i)1T~=t^P3Wp~9W%_(0e@X?=s&@mwWc+InG$wXi&;l(>}F zUVvm;VB>{Nr8bmwciY?Ne22@pgya3ra-8~$7ewbfMcM1ksEk;I_3b@Fu?5~De5%q>2WnS7JaS7!=vA!us}Cd^ z@pu!xdJax+5@uPRdtZ|ln@@Yk$Cw0#E*!jYK@kl&8$M?qQ7-le+uj+Daf(F@U(+!S z=sEh8?j?Eb*6MNJ`UP@v*OdQQaLE|J!oMKA^TD`P1@fM?(e-s(|B^t%Py1hANtbIf5Lhg4_vbG3?n)}Q zhjR?3>)(4!)|D53Y8gDXnr?ZKJHmF0FfNRg4f)n(vJq$ZBLy-K>OST9O0T{6D*XGw zj}!QU6*_E^)%d2SHXcdKEM0D3G(fQ|^~0x?s#K>RU!-WA9v&i(Q*F?D;$g|%;QY1X zF=A6N$z-CLybM#QN_)7YX2fsUfdY;S6Ok!`T}^gwcGx^uWNZ!H_Ea<`W_i+Rd`Tpi zx*FASpv>L=d^2$6879&YPfdYkInHm>j&^_0M*k9TSH3>7nZV$*`3`h=7VpJKy8<)B zO+=QxiQ6ag%g^i7WZR#CxXcC1l~GJQiFig#d6(Gv{(_dkrFJy>i#VMH0G{tDnuxjF@SRHLoX<)y!O9Rp-%X4yRe^7Fj z?HqnvnK)(Oyti@jUSn~%r^+bzggxEj${KEduRVR@x4qt!uOJc;N-zSD1*Hfr^D$7 zlxCe^Jjv12qy`MqmGtFZWGsJ0wf2fo) zXV}=JEE|jJCdzmlfRxJ5nkV;j_tl=~C4v~r!ZN$VUZ$1up`ooTUj}_AaLNby%~0g58m>B$Dftg?gUfG;$|37KcMB^;*Oa&5=T)QpXVx_AT-e1fHY`R&TuIC_Q`^9+7)KM*?xZCQ*Fa^>|I7w8AH5N4+^7r8gSI`!^u+%uBh2OVgxR96!Ff`8IXl!|lw? zw4k;>dney6or^?D;xeBfZ!0l35a`*`&sE&+vPmdjz2R>wD=ev)L*nZ1xli`HK1BN= zs#@vx$-k!8j`Gi zLqb>DhmRcVh77tsI6Y`|FA=mVOs?@wRi=h?)wrSsYOKkGS3J@r(WDb_QzTMqP zd1>Fzbm2;U);@LAnadgT7x+em6tLu+)9QD7HLF8~`P&PNC#FQ!m)xz7#MhsYVo3xP z+$QsTTj6rFPfch*X&ER=Blk>|T4RJn9Mw|9$lakgM zBjor2eCB7fISzIL3oCc&uR6|pYSj^bEC6%{PkHpze3YlnsX!k5q-Pt?=) zN1^#uArqH|Js4OXgfXuWGEb1hi2^KG)A8hL+dW{I*Yy%lnNF3=hDk9t9a4)m)Ltl* zJLKZEON~48-Um(HFpzGy66};g6DpS6&fkw5r7YoaV&%TBE1BiXQ?JFB2I;$RSH9st z%?Q?@EdqH5M~e&6RiWJ?ial_p6zS^t54W8uaac*G+`W4|wyempDK&6B3kx+}%#)^Q z`)^F}U^@@bAOs#h1)j3GubIQaIV}Af?MTj;$)`V2l3YYz+JIlaTr?hXRD9NMlSBi5 z-Czq*@_thSUvSr!hVxOZX-(bb%qtT+zRHX_=WE;Pok%LY*^hX;v~)wpZInEK66n;> zBw~fKIN%mYN?`1}70xq8-x%7ikK`{I3aTx;v<jf07wzB30ZUl;;GV6dSEkqZ!_}}YDS^*z zWQ&2bLx?{7A!a{C!c@!Nz2#R(?Ei7O@aikh-(Q#Ui&>h#+_2WP%wH{yU1boH{Nbv_ zy#Cb;rd$!~?c56h#K(uBS|CR0(#;EH`wQrOlZVZ0w6iywEFkooUvm}@RE6QmG(r(4 zUgh$WhV-5yZV2QbRp?pSQ_iiILmH%mz(W6=IB*JJVEr6LHiN%C_t>S)R0)f5$Yvp1b?C-G%lL+olmn#-AsK>J^H<>m zFIOm!FeE7~I%&4LC9XYj;%vk1XQ7hhjX2JlWq4jreIg;_O+0L0S`7>ZF8J!>7h?3V zVs73q6!lN~(wK#HYRdLc#J4!1XY|I*^p)7}#7_`1Gsr<(f78d}@NG1IwPz?2R;?>Y zu>Vp%V;5{5BwV2Ra(}4);{}y*|HtR@W{(R7TXUj{Q;0kGnno8Kj;OaYal&T2fD4h9 zWP~r{$3iz3K_k-!PK?I|L@{K}Uu%7Gc5BJ34`^Slf1GgOcM^g@`3J?Pi%RPp*y}1FLLpsg&Le-ZcMp-iHVGpGnSdaBYSmcA5g{T7 z9s#=y137M$5*M^p9AwlvAw>!4n5wF7&G-OFnc+n#z1BuCPB|=u_-FxqXDH8d8sRw! z>l{lo9YVdBr!6p&rhw@}<4Z36)+~x8>?|q-;U7b+2VAyv6y8SIf5vq}JTsA8vK^8c6Hj zsrN6MaCq=Er=pdO4;21AP-Yi$>?uRi0gq^cA?OqO@}GXwXXZC zInGbZ`;^YkN!9sWf?Ch@N!C7Mefq96&E*w|?N`}VCfPvAl z5~?zg1xclTsY4x06>wSr%=pE2m)hR_cDVtiOk0luk3(-nV9*!xJg+4k;T(_;U%^+Ku_IBhIBKK?4^^#UpA zG!F=$7J9Rv97d@~0cp|uGEW|U&1hNhj<3GiXF32$zHlqakCL<5{}Z+%1Dh%wX8(zH z@zO!20X56n`WEGYmY=Ib>ssGOFs92|!(XC2a9mZwx*J$d-2Q&L9a$y-c7z=cZx}O) zT~H4BcG}i_{`eYOhyw-UJZ>3BWe-}yq6Sy)Eoan)t?R@mvys#H7ChzyBOxxBoi6Fg z!%@Bh;0*~71TM$ZTB4CC3=i<}HqrPU-f4w6H`CMn?i~sPkZoiL|2l>1=4D}$%|=Ad#yqFy5Q4j@1fpDudUMAn%{`=ey{KD0J>`fX@QM(~nB~A(WlK5ykuhk?K`mxX z)`G;0+?>XYnc5SINKTF=pW=q63}v)J2Zxx9Lw&NS0#+CRxppMP0m~>Y15$i|Zk~|4 zd(3}khaDeOG#|Nbjw94}(q!kQ8MmJAAR`As@!g7?G@CZ!Qu(}qb&dJg3l*||TT{sD z4vFH{t0zIwp7Pm+gK zrNCM~ugC|)@7P}lUix@T1Ch>+ate4>+(;tp@84@DF5Ub}q@nrNa?wTKE=Ge7iBPmG zT9cB^Hsz-wqvI;>SognXRF2KgRmT~*^pgqSe~DrBhw``XdD>ropm>$1SQrh+Z!q%n)4=3_|;sQr@H5z zzh$fr^g_Q;;gU&jmAc0t(nHAMuqr|=EzY})y~@NYIz$Co6;$?z@kDZrKcm;+?UwAx zLDa$`FHlazWKGY%4UhYola|$eUVm<684a0+6B1uokbJ=I{q=;{{jXWWQBHW zl13LdUuQclaA|{k2Gi!GwN}(!$hMk(s(iL^24{HYxZOF5fn|+a7dh^Dl)#=$bnoKE z8lqi*+Sdd*16WuyP|xY<7$UjtVZol8FR0f z0Q+P_qd~I>o53xD@8`;zL>I!ik`H6A4Ar{awx#09?zr=BMVBw{Y&@w$R(F1?Si={6jzJFl zmRKtWb|(IQ>_(sRtD$P3+7Gs`Qgi0*en0b&C;_=)SyR8SJhxfOkO>=RMPZBQL<+{b z_QkJ18m~vDbf^^;tSR`^%3v^sRQz?7#Q=7^2u>dGW4Q6xu!_psDE4k;0%Dw1!*D34 z;@nW$N5F%6vq!^Ovqf{UL(`{`%L2pU-vyjQL<$H`G$Fzn1^wp{2;OgPDH`3kW8OqP zh>_2tsUP_vxOBZZOzZc9jA{8{a zt}i9^9je2%j51Y!Uy63*m4ag&JVArl5L_%N4Y+M8D*2~?Z;AnNZwGn;>UmrbPB7!} zN7x}UUk^nh<W-hKE;r)jP^fnc`BrUfv`uf+IR=Gfbb4XeK>A-g968~| zbD*@}oO_~@@vD4v(8jgeeap}!-Iol+=*3w#<}GFh zy~0uWYWthK{;-U3M1^}{!dRx&E5GexHhh2VtOn$)kC9~3@+=EE7D~q&2GgD!Inzl? z2&k0~BE(rxy+pGqzk%9hYt^6M{ATK(1@kXQZMN|)BDvr*z7vBtn|9$$$TCS|ruZ{L z*Y)s+0DQMFYq?U{yPxN~?_G!v z^d{@xSgtLyHH}T8y{xckT2!s`6tJqNRtvB1%tu0&Hv5zI{6)?}Rm*iAkSLcqwslk7 zg&a2k+%q?Vi$BU<3+lY`Pz~rtnq19f+ouRV-0c)c)?w|G_sN+1+!8PbT4Wm~;GuFhai`I zCScoL;bs#Tn0{++KiRgzvRQUnNo(@q<%%gjt9^6d0Ik$#d}V6&P_vtt^E_1FLilkz zRFqkuE88&Iwz-ad`ld95=m=z0$Dbh?d;Mo!bZyK)v`eAF15xyG{0AJ4^D{2Co7f1e zzY~g?U4dVO9+0)ldy@pis7J&Sh4EalmO83@ZxT4aa|Ldj-XwfCrA&Q03?K8BfXq}F zb`rK?QSKL+?zO?p%!R?ESIo~7^_!W^2P8Tzm5AMiZ{|HpM~_cTT*T6Ju8Ad^Z76XL zAhHAf_1}M|s1ko6psa4=ic+ekhkr4k;b2(vt<`JKM*?qDtudi#m6xVsm14I!JL6K7 zq$_VA!+meyJye%@k${hWF^rI9QTjtbfZQ<-WN4sQ`6drA+qZzz58)t(RR5uhU?t%xGm=;KWz@3WQ{KsWe9%RY)V0V z2?jm{UQ_4!JAh*R0u^rJJX~C4c3p_Wcvfg4{|uZqNT*jnG}?42fn<|u?1LL4E}~1~ zN2e)PSdwBwPu$F4N$SmmucN|3`bM;o6JA-nN#A^JVp)m7QF^u#dP(P)&Ch92g(UA{ zG`szNFOnqz-Gq*)z#X5B`^9V@g*nQ_7UeIU&RS*ZnPVr|!-Q^jT-?>eF)<2IlJYl% z2FHvNU=8JBwR4umEU)nzrkS|Tk|0XwvCjeb%!$SvkXZV2t%U9~bj0E*-~Q#snYW&=h^Q%tb!o0Gz?w40o#6|NCF}JG9||T#sStxa^NL zxi|N==dnj=1fMWKAThEX5k27D>?`U~{hcMOgU?ggf!z7whu9Dfh~bWK{M~t=yz(DW3$CUg*nyn{vc~1V-`JxY?FinjI=-lv!YW2pa1wi$2)>r=vjk&@%o<{CJhicwj11jlKRY=FS3J+LqDWIY9>4ea&isbaom^`Mw> zYK~8{Yyo4#7g>CQ8S;l#IQV z+!y>RSKQH9B1MrXZy)(MPlcXT34S^gR`Ir{%A*n{^J`!ak-sT|COZ0QG=G9NFE`y0 zGR#*v7cnP`Sl^o6i{0~iM_rHaAWL`g?KRAeSlK47!r{W?^+Ne6siQkzc4eQO>e`D# zA1p=N`)<<~tKm|$X^$7LF(Hd(ix9Mm+`?8$ceLq*+tRy*?J}l~JE$!emXqJU~ZZnozu-W=txDsPlf4&`Q^dov4!p`~t3sQcO zG=C*F9Z@ioFI`S%Df83IFuaeP=-~(ISojjevPaKggqGE@uw|GhWtPXxzOB?GSJD4< z;T7QXC*i$H9rh#fdw~91wU{DWao)XUUnHV=N6eD5R><8DM0DV!`OmO&o4LiY@Z?WN zY7zBuk)~3W1ADa{=Q7BNmdq|nvB_|wLb>}_y*Sx>UyDk!@V2@dD{JXi-!M6^H+{eM z$O;^q3;Um?Bf6H6g>BKSRM9X|YW1<9r9+ZFgb=0P9M@sL2{$vUY%fhVQw z?(|?G4LP^9dBtIfn1CNg8cHIiKocS&z7_eaxRv#Dpei6V`(sLAI?{`_c1`AJKO(MPJ8XrwmPr0l(S@%0J z>5e2I$jxjcK#Bi|(6TUow{mhj=i|FT%VzWFI`>pq=qktn&To@CSQE9ad;?YJ+VCGn;TKmN)3l<0 zLz3ZC#rv25`;D5Ff1U`TEsACWc=-=$_!qwk0?bJ9<~z{bKK;7?xsNPFC63#~suuV! z6GTS?s&@Sn`X|1#z%}B6(jb!&AaVaKi9=92)Z!mFI-U>+#fg;*SoaTmH{Ek3%GgPF zOk)4x3#b%BVO5tR&QF832w=u>0o=7wo#AHR*~$M0nf%2m&Jo=z0dBN}D*wV2P%1wR zfD7mxWY_z*4>Xg<001(-3;l=H5CScoA_b!Z!b1OD>`Rh8z?uUQeF&8PL06z7q(es- zk6{=7Zv+A82;D4{(*J{Gp}#EiuQlkCGR=RV^)aJ6PFZ)GK^ytaZ~Zj-#+?2kNTf6T zFufxMUrV8~l)S~gR`{3eSi=|$2iI@o8Er$qS@;y>Ebs`iqKCs^PCh zP@jSy&K%N2Q)Q%;AjxJkc6Mlf>nle5zxqcDSzuP{1Hj?n_XCm^-6pnwu^Z??#steg z3|Q41dH4d%24N(62z~meMLN{49)d!y;-ELX`MIAz3v?kWS@=Ik4pf?g&wyb-fn;Od z&pJ}~dtKl`*aNr0CIaC9b`YkDb^vkoyuI!mt%AyeL9R^mpUl+2V}yh0&1TTV{M&mu z%`ALYt^b;+fU-czPS|T*pgjfHg3(9Vu;t$f!4Lx_tKQovo;HKX#FEhTHqyF;naGCz zM_@y{fH4M}08Kvmr$0c3^Y5!6_j%RHH2=^hQqaGBTiCpqB@exmX7gd!PTVA@VzT}E zci;^eV1Wrw%*6nD7qnU9#>L2?JIi~ci|Su}vYim|W9ItnxX0gwz>&?Z2K&M7RZP*7 z@5TQcSTAH`DpSRJx%5=XLVN=7DtJ>oOcR)0QBPeQ{|XrZXi*x-qVvPc-d6#F8u0!c-&wrwEfGU0UN}&3yU~}Nw@VN4V z;L)ge{{pGd!`~hwTEyxwi*wZx4xk$06rTYyWX-l$Wt0AAmZ6f{5rLOqutw40gqoIa zge`>m0RLgKLZDBWT>^fXhYwr`8)2Z0Hh#!?+QcXS9l8I$n;qoMa~cMd-3M*_wMYozDLy?0%PN-E{s!KeS7iv{_up0owe7hga280)X;>7P!(mvDxdU{i0wL#i+%>-zFT&Eab3-)#? z*R*_UOQr5MUPeQH_wSZgf<-J=qKpO|Xne|ohcE)i5s2_)q7jgwP^wI?DXEilTh`uN z<>IVni%ZGt)!Bu>+tr^AWg5d{&|TBVpry4*(yrTxCa`Qhu8GQnnF&i&6nQ>5dyyRgUq|ug3fcz3r5jo=)dhj~P&lhzf}C)e`~!GVQX~=PkV;p7RW2S&~N154Xnc z_2-bkH)dDcxW~(;(+ncC<~ORr+s6EudO>k+cO9@m`~lNR@Lm%A4QSY1@q zZ}l@?kQt8FMMU4px9o)C-DIvN?^SnR+jx{lP4WfAB=C!||QV z9;x_pD6@LSJ}nytDTvGPcb)&@N>|k&9l$0St`)|_gE{`I4>ni?kSL^SA;#EpM5`Mk z@SM|nGvc;DLFZTPo`K`xi%n^n`X6--aWH(&sHe0 zi#Lx~3aGkP#L>T5y4zrc_D{-*JyN!bEN{>ughtiL=K3lXtyk{inX%tEp2Aj6_kNE* zrX$qRs4yLAcn7PTF1g2jU~_8sm0GB)A(444?Tz^y5!;plbpcqq_>C!uGh#s z?YBrRb)1?y0_CI{Ne+?s4JIZcg7-dQN9c>&=3X;nA@T!nTCr%{jQ6j6gS)3lDTW?> z>}2|~($Z|mNPVMz%h53N#D2(j&-WsNdrAxZB2Qe#7huCp>Y6b)?eleJzSh8gbxeu^ zx1EHb2|r8fL6gP7AS>j?9W@3ZK~y1;dQP8rW)))dnsAFxvQ^RBV%I$1>jM;n?#j3$<7bqVI zGvsmeZ(f_V;^;<+Sov9=4B@?c%^!=Ik1Z@aY&iBvuN|qdj)#8_TA)#!l59!-!cxdc z%%Z)f|Lc!Au-ddQ62p2u|B&nnNj*97Y^c4eKf`5=98ROur!d-zc^WH=m?RArYIxrd zjZ?6D1rm(l$XuXC&DJ&%=T(B*V=j67BIJsH9Mf8>dj$QQ!UJA;D!i2s<0 zT=#^nNA7_s@?T)qYIo6BlpYK9s1q8~g|;PiCqL0B7b<)g)7b2$-CVp|-NNc>!|lmN zA4+~Pig;xU7ji9!R_`(Uv9>u02Te?twAHul!2Q%0lDc zh_q1PIp=_W{q&U>eqJGW+Pk}=(xde8Yil}V=fEfK)T^aT7rN=Aci|5T{nHiAov5T8 zGLP>={WHIMvsU~5XdY;aS)N}}v$+2@xEymIIb%P z%i1(HHg`aij##7&u9MDjSF^k=u~cie?L%HZ+q)lZ1y$2}Lfx7YV(<2)jdha?b~q5X zmO}&h$9FmxF@=T`g6Mr{zdyGHj7oGAw>*K}Ag`3M=89Kq#iubV4AG}Fk8CfmpS;Si zv+F4qn`NPOk z_z0>FO-2B!jsz~1V&2W;PkPN4Ei3S4BXJajuRW>D3>eorte?Aa0BL$wxus`vnRx+i zcn-S?tg-U+fhF)T0<&ChbLAoZqc5;~zXy0su4-0=ec{_C&*PHx)&**-G%}GGp+&_8 zyJM-?O#c=EqlsRO7}f4unye8BJFUr@RJIe{e+saz@ZlsKzJnjaOn**4_!)U`ffiPZ zLE42NV;$(+P-u#a0dg`lHu#aCapgPtbv5-!?UxDaP!&GZ3iDLqo zOu{T{ga%Dt2K0sa!zNH+y`o7Y0-xs_^9af7wPkTcgKmKo8Rsb%{ zCc^XWXSQiCjJ@pbWJaUxP=3Gfw=7G<(-G`X{0wft%0|)CH0ErDL@gP;?cXd|vNSd1 zkr(cM(r%^AothWX`b3ylDEd(wS)OfIDRz~(qgq&ly-a_?y#rMB+E^zEQEi+7la4%f z*mT8O31Iei=4#K6%}&+JlnBC#n=*jw3w;`*nniAJ1+2tt%SvzZDwP@2?5Z9ss-lL; zFQME#7kZd22WMg9w&qEw1OHr6R#2A2X0NpEChVmj9zZ8TPvn8t8gR=rbn^A&&4UPr zcs=_fYjI3u*n?^UP(B7#`8YN zC4QbgM&ML!G*m#fDnwf`A~w)j-T7R@Hqy6XhCAl{1=VB#$|`@^Kt8tdxArv09UNV- zyTv2myyv?(SGLrs4gVnc#qn7dz+_h>d;8GxP}u&)M`q>6fHXdlex z8sO@UR!NO0YS@^q7^0Nqojx5c*R9@;jukD{PxF0O=!!g<3^Cg~*L(1HG6HuHs|dbd zxZi>_TR0~jl&>h67q#aY)~V#SPm76Ln;pL^NLL_NaLmqM;^%16wxk1~I7U?X(&Gzp z8?j!>X3b@}Ka4%iqfib_WD=Ugb$#8m`K2-1chO?=J1clw^jsZ<1}FGXWZRR}B?#P% z?Mm7SNsMv%5f=RpicTx37J2X}_=y`MJ>iPkCtQ%S8nflugP7p%5MQ3-VrrYfW<*-g zH3(qNb~^Njte^5P5ly%$-e>C~?aSXUraIjwXRO^C0LNt?rgkp`k0+j9_I8|1e?Mop z=?0)KMYmV`5taqicIC^QOf;>`6z(CNzTTA_6GD5Hr^W@g5+-wGaycqV+8h7&5Jy%myB(X- zp@{hM7c*L9b+pDpGkBD)YL@kJ{kF^GK^V@7$HG@Kr&KeA?z`>%JB`B1&nTX6*1|9W z@gL`;LF$)>p5_DHtf^yxZ0J(_whe4Z5%b&B8 z2a2r)ukGj%PV@lN7Dx0YMJ}O<#NqU%1_cyqmVWaMjPN&GbODNcrV7IGTb&2*?3AP- z6E_9(0XLe6XS zh^?a+ZYG6420C4wI_CXHPcF@Wx4m6vV_tuQx$%lx)*dZ|coWOT6`H?DMLaTFBp&8u zLR1UOsJJv1)uFbgvC8ILdcY{KYsVtd+NuA|#;RS47sY5zkl+Vox~8#D@}l-qo?Yeh zdHat}*l0g*>Lm={&CgQ~w#>(i;Lb92xnIvh0at?@WI6GCly%NCOKPVspQA*=t_g5P zEX>0#+pGb-!!%y8dF%~Kk+60PW^?7mV4p$*6ay~4XnZ}`mPPmLfTbGa4C~|%^R_z_ z9z2cGDJ1*Fsp_*7lfw*!TN;jW1X4WMMWY;$Q5^JQ&oD`ZPkM+4%m*?hJdDjkI%F2pT zHLCMFESH_q1ok8X&21ZKJUxXJ=)1S4`o|n9C$m0CWJU3Fmfseo+o(P;fEeruQJx#=0H^vY~H+Kv))(k98; zrcCBiMK@6_Vubum%Te)0B`EI?c6{Dsuqdl@5jOH9cB#lRWSdwLrR~pR4jNm>`$0^O z(^umnexmjf32dBp^1%O&ow?`W64j&}D4Ic6e|mviL(~_F4ty7+lOZ>Drb2RlCOH5Gj83idpG)=3YbkctDxs^JGMHh1n^!2JL5xiva}8CoB4Q z6?=v*Gqwc7Nh}<*>OQ8U#Ipvd5luMpuus%})FT?yECYvjo5o4Z*N6f@UZg~ksG4E( z8tJ6l7ny6DJl^jtE_YaX5paeIbDL7ua$I(s*M?jDI|^!1FHDJ8zOaH{w8^$Vii;bf zmkWWdmJDki9mvG<6se*)fo@-m8`hh&UyuZFiZ_7SY*Xk zYVR73_FK5SbcMq1&r_}Ez4f*$gywjarqk^fsNClvdU^n ztXa2+J^vGAJKFU)+L%9ICJ1;%cmP8Q$ymC{ti6j2N&>y73#9aCLZYg)CfcMcC;IFp z_(WxjG(Ir=;rd0IijB$(bG7?Qv-EsZt?Z~;te!)?JYIJ{$$UjEj5D2EayuPPyer5_ z9Dv6F6zDM4qOu{;cKm$$!eqNqK!rgFLP???7m>M!k!6JfzkJ9t0CmH~uv#~mj135O zWb2pFt0%NTTzZHC%O^NP^et%i_7_Ir@EQ9@^aMbwbvt&n@i_GhcNOdok*(Tn`Ci%w z6%KcAc4)DLN3v)KMO#^cpv--1zN+FPgX``O17-_{2GDX_cwRoC-5a7GXjQ>&nu)ij z!}%t-0F)tl6so*Gy~M_NhLLA5iimI4hy}@XBHMf(U@N;?AZon|LG;m32jPgp+_#+g znCHo{3FK(V7ZF2gqEKytZT$OR>}MTbkoT0a1z*ktG0t*z;Ow(y@9vlNT%~Y29^T*K zx$$VvKLXq0vw}DQ-DYbc18eIQFRMBrLHp?|gf*H!Gm>O(uufV>wDMUV_+x`8HsIh+Zmmyso~mCI-5B+y(|ZjDF9|1Rh7zi>+%h`UB_=_{%!RN!uHX$nPg<7 zfFDB8hrP3zS=+$6`pxK%ILg|A$U1Ui#EKO@I(s+XS8Ka@T)`q&AS5X`LyQY`OgA5u zXCy$N4c{(;A$tm}LM%h&E-~y1hP?4^-z)l>lJ_A7^DZ@&q7&>Mi&Z<`bOe_W!TXwC zMm;OpLkZ7Xq|>YW2?2<*LNQp%F>W&E*&?Tj*nBbyN5g$o z0@6b$fcB7)9r)^`nlxPSK0;0KIHffw%j((@HdNG5-~0J~hW#~(hltzzlT0c|`Y|r` z&a^Z0+HTru7`yi+zUB>Uj+1itBZ3~mkjyl z>HAs}5qg8qJ2`2eG$X2>FgAjYVQ4d|@ZSFttxzJ7olfXKz51e-BwwtnTqsi+1C&b&21d%O$Q3odi%{}N=o_`@kU8i-Fd z2(jzGC0tls@~QZC-N?A?QPF}SulhAxc|GZ-IE-K5d06%!%!-gv@17P97UKZ3ST7!5 z1Fu1@bgn~~G{Hl6Q{qepf4rk2bmlFepc~hhyfi|h6nXb*7*qnkZoJdQwK@w+%8SK2 ztDE!LA=DAouN%mwupC!OXve>loz9j0z`~;e2bA&P4^GoHiy*w}y}3S{4_?M3lTxx% zWjNc2Nf)jRl`mD9*MbFSUgHZ5-a5uLf1LJ*Co=RxxwV4m#yb|5Of7e=yEkjNv;?Nj zr^sI|Yl8~jZ&TsRxbo*ETmIoMQ@Y{TwNiy-U5c(1uWi)CvJYt#gEZ=cmGa!;uT>e$aR!qjx`JBgE`S`F4Io%>y{ zc`b2&h9i*H^K*jiR4=mfGv3S(J5w_K>{EbyTcN|L>+PKdTvR$6HY$pgU zMlq@cBs}nQGo3$&R&gz7KTl@odX4YIs0AN9Ew7hlWvs^m2P3cj?vy~IE|vV=j5?Kt zIeHqNEcag<9J7O`&?0(OpZ1%5I@UW(09UWbw>%w>w>Eh*lJ<$2WeRG&!nY(BWAid8 z{%yznLS+#B`G`iu^fEspt((#NCA;~j&WT}XqOstQ%LzAnp1W@%ET&4E4n7%+EXS4X z>@5r(xk^41sF2ABtjNNNBnSpK+i&_0sk-;=s19b8rZGK_l%{&_ai8K;(>|kI0se1E9M`FTklsSY6 zk&IOm$1U2TXG?g~KA$x{bu8N2e0#)>=rvG1T%U!l#;F!!#tH%L z4Xul69Ii9H*zPywzg^i~++aw+6R4W%k&Iwq6^oH*sJu4NQ5XBFgf+PS96-sa>+c>G zGRtI(Bx|{Cx*ZHjgZB>fM9=Wqaf0E~%NK&o z7i%+fcNm0#ryj$2`{}Cn3kF~e6v;Zot7L96zEW|ttZ}LQ5VQ$N9n?Mjp)BmbCi>3B z2St~s#-n%a9xLg1@wuI6>YClYj`^feRa>%Hs73<`a@3Vt(Q)ZIFI&tf*^>pld}qh5 zL*4r>>#N0?eiY)+ng=7vCBrZcoc={N7UWMXei<8l5QBXy*6$5HU+gDs8ROk`X_eGp z5@fufdS@F>pFx3g>Gs2=ZNphmdg&JTTChjJJ!yn|3&%$u>tLE~DbxM(1(`}%coyK` zEJ5|U6WmB!%a82{1BbF(6$9l@delgc{^~B2Z(35b9oye>OeH-&`s*!|thBj%#GvV= zGQaN>CG!MbC)SNBz3;N~8qX^3+}F-aQg-N6@dx{1y;k_!xh#;ikvDuf;N@E$U#lOv z%^c&L8ozb;1py+?%q?BnJ9~v%f+`iM?Av3(RhEvHd?O-X0U!%xS(VYXg}DcBLK-N=PQ9uG(!1@DezFbdh^u&TEl!2}VYj+-swej4$0LfH z*k_`q5rWVD&FpqQ?c9#&Ld>I^z=ug#f!9CHw?0D;!zyL$V)d{Yw;J)ppx1<0Ff8L@ zFm=@$^Xy@lbdN|Dtp&VyJ0G3oP86BaH+MgK&WJkLmR05| z?JUAijx3nccPUL>9~p$;$qcGwBcsY1Tnxmai7qVs58{}AaQh$TOJLbV2>gFir2Ggq zO&wBj;^N?rIv%{tsr7`FR^Hgj^K-@i6|V&eA-vTuH@mlOS$$3Q+W%w<&{yw)*e=!# zmW__;(^9|2wuuW|=KleBQ7Dx_gtk$bZi1XONQm{m_Rf}&IqNa7K1-m5y!^`PzF4WA zu|ppdECQvn(!EotU(d+|zV-Ms^DEP!gONaR3NK8~DFt|+90>=6#SjAg|F{3I!T-~7 dKz0rbM&Q`BWaImGd<=lTq{QXLDn$&x{~vtT=7RtL literal 0 HcmV?d00001 diff --git a/src/components/cards/NotificationChannelCard.vue b/src/components/cards/NotificationChannelCard.vue index b8b23a2d..22a9bfd2 100644 --- a/src/components/cards/NotificationChannelCard.vue +++ b/src/components/cards/NotificationChannelCard.vue @@ -49,6 +49,7 @@ const notificationTypeNames: { [key: string]: string } = { vocechat: t('notification.vocechat.name'), synologychat: t('notification.synologychat.name'), slack: t('notification.slack.name'), + discord: t('notification.discord.name'), webpush: t('notification.webpush.name'), custom: t('setting.notification.custom'), } @@ -102,6 +103,8 @@ const getIcon = computed(() => { return getLogoUrl('synologychat') case 'slack': return getLogoUrl('slack') + case 'discord': + return getLogoUrl('discord') case 'webpush': return getLogoUrl('chrome') default: @@ -350,6 +353,47 @@ function onClose() { /> + + + + + + + + + + + + + + = { wechat: wechatLogo, telegram: telegramLogo, slack: slackLogo, + discord: discordLogo, synologychat: synologychatLogo, vocechat: vocechatLogo, downloader: downloaderLogo, diff --git a/src/views/setting/AccountSettingNotification.vue b/src/views/setting/AccountSettingNotification.vue index ee9c76bf..b5de2856 100644 --- a/src/views/setting/AccountSettingNotification.vue +++ b/src/views/setting/AccountSettingNotification.vue @@ -294,6 +294,9 @@ onMounted(() => { {{ t('setting.notification.slack') }} + + Discord + {{ t('setting.notification.synologyChat') }} From decd50cb406260b16a0e4cc05ccb439a26623331 Mon Sep 17 00:00:00 2001 From: HankunYu Date: Mon, 22 Dec 2025 20:00:06 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0Discord=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E4=BA=92=E5=8A=A8=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cards/NotificationChannelCard.vue | 28 +++++++++---------- src/locales/en-US.ts | 18 ++++++------ src/locales/zh-CN.ts | 18 ++++++------ src/locales/zh-TW.ts | 18 ++++++------ 4 files changed, 41 insertions(+), 41 deletions(-) diff --git a/src/components/cards/NotificationChannelCard.vue b/src/components/cards/NotificationChannelCard.vue index 22a9bfd2..f539260e 100644 --- a/src/components/cards/NotificationChannelCard.vue +++ b/src/components/cards/NotificationChannelCard.vue @@ -366,31 +366,31 @@ function onClose() { diff --git a/src/locales/en-US.ts b/src/locales/en-US.ts index 7361354e..f8550b56 100644 --- a/src/locales/en-US.ts +++ b/src/locales/en-US.ts @@ -460,15 +460,15 @@ export default { }, discord: { name: 'Discord', - webhookUrl: 'Webhook URL', - webhookUrlHint: 'Discord Webhook URL, format: https://discord.com/api/webhooks/...', - webhookUrlRequired: 'Webhook URL is required', - username: 'Username', - usernameHint: 'Custom username for webhook messages (optional)', - usernamePlaceholder: 'MoviePilot', - avatarUrl: 'Avatar URL', - avatarUrlHint: 'Custom avatar image URL (optional)', - avatarUrlPlaceholder: 'https://example.com/avatar.png', + botToken: 'Bot Token', + botTokenHint: 'Discord Bot Token (enable Message Content Intent in Dev Portal)', + botTokenRequired: 'Bot Token is required', + guildId: 'Guild ID', + guildIdHint: 'Optional, restrict to a specific guild; leave blank to use any joined guild', + guildIdPlaceholder: '123456789012345678', + channelId: 'Channel ID', + channelIdHint: 'Optional, default broadcast channel; leave blank to auto-pick a writable channel', + channelIdPlaceholder: '123456789012345678', }, synologychat: { name: 'Synology Chat', diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts index 783365d8..670049a6 100644 --- a/src/locales/zh-CN.ts +++ b/src/locales/zh-CN.ts @@ -458,15 +458,15 @@ export default { }, discord: { name: 'Discord', - webhookUrl: 'Webhook URL', - webhookUrlHint: 'Discord Webhook URL,格式:https://discord.com/api/webhooks/...', - webhookUrlRequired: 'Webhook URL不能为空', - username: '用户名', - usernameHint: '自定义消息显示的用户名(可选)', - usernamePlaceholder: 'MoviePilot', - avatarUrl: '头像URL', - avatarUrlHint: '自定义头像图片URL(可选)', - avatarUrlPlaceholder: 'https://example.com/avatar.png', + botToken: 'Bot Token', + botTokenHint: 'Discord Bot Token(需在开发者后台开启 Message Content Intent)', + botTokenRequired: 'Bot Token不能为空', + guildId: '服务器 ID', + guildIdHint: '可选,限制使用的服务器;为空则使用已加入的任意服务器', + guildIdPlaceholder: '123456789012345678', + channelId: '频道 ID', + channelIdHint: '可选,默认广播频道;为空则自动选择可发送消息的频道', + channelIdPlaceholder: '123456789012345678', }, synologychat: { name: 'Synology Chat', diff --git a/src/locales/zh-TW.ts b/src/locales/zh-TW.ts index 1840c937..90cdfb70 100644 --- a/src/locales/zh-TW.ts +++ b/src/locales/zh-TW.ts @@ -449,15 +449,15 @@ export default { }, discord: { name: 'Discord', - webhookUrl: 'Webhook URL', - webhookUrlHint: 'Discord Webhook URL,格式:https://discord.com/api/webhooks/...', - webhookUrlRequired: 'Webhook URL不能為空', - username: '用戶名', - usernameHint: '自定義消息顯示的用戶名(可選)', - usernamePlaceholder: 'MoviePilot', - avatarUrl: '頭像URL', - avatarUrlHint: '自定義頭像圖片URL(可選)', - avatarUrlPlaceholder: 'https://example.com/avatar.png', + botToken: 'Bot Token', + botTokenHint: 'Discord Bot Token(需在開發者後台開啟 Message Content Intent)', + botTokenRequired: 'Bot Token不能為空', + guildId: '伺服器 ID', + guildIdHint: '可選,限制使用的伺服器;空白則使用已加入的任意伺服器', + guildIdPlaceholder: '123456789012345678', + channelId: '頻道 ID', + channelIdHint: '可選,預設廣播頻道;空白則自動選擇可發送消息的頻道', + channelIdPlaceholder: '123456789012345678', }, synologychat: { name: 'Synology Chat',