From 0f93caa4fbc30120d593bb0089d2939b2d0c512d Mon Sep 17 00:00:00 2001 From: chaxus Date: Tue, 13 Oct 2026 13:53:53 +0800 Subject: [PATCH 1/4] feat(branding): add product artwork for social previews --- bin/build-social-image.mjs | 42 ++++++++++++++++++++ public/social/README.md | 7 ++++ public/social/document-editor-github-v1.png | Bin 0 -> 45582 bytes public/social/document-editor-github-v1.svg | 28 +++++++++++++ public/social/document-editor-v1.png | Bin 0 -> 45334 bytes public/social/document-editor-v1.svg | 28 +++++++++++++ 6 files changed, 105 insertions(+) create mode 100644 bin/build-social-image.mjs create mode 100644 public/social/README.md create mode 100644 public/social/document-editor-github-v1.png create mode 100644 public/social/document-editor-github-v1.svg create mode 100644 public/social/document-editor-v1.png create mode 100644 public/social/document-editor-v1.svg diff --git a/bin/build-social-image.mjs b/bin/build-social-image.mjs new file mode 100644 index 000000000..f66c77ccd --- /dev/null +++ b/bin/build-social-image.mjs @@ -0,0 +1,42 @@ +/** Render the product sharing artwork without a runtime dependency. + * npm install --prefix --no-audit --no-fund @resvg/resvg-js@2.6.2 + * node bin/build-social-image.mjs /package.json + */ +import { createRequire } from 'node:module'; +import { mkdirSync, readFileSync, writeFileSync } from 'node:fs'; +import { resolve } from 'node:path'; + +if (!process.argv[2]) throw new Error('Pass the package.json path of an installation of @resvg/resvg-js.'); +const { Resvg } = createRequire(resolve(process.argv[2]))('@resvg/resvg-js'); +const brand = readFileSync(new URL('../public/icons/document-light.svg', import.meta.url), 'utf8').match( + /([\s\S]*?)<\/g>/, +)[1]; + +for (const [name, width, height] of [ + ['document-editor-v1', 1200, 630], + ['document-editor-github-v1', 1280, 640], +]) { + const svg = ` + Online Document Editor + Open-source document editing in your browser. Word, Excel, PowerPoint and PDF. Local editing, no signup, optional AI (Experimental Beta), WebMCP and PWA. + + + ${brand} + + Online Document Editor + Your documents. + Right in your browser. + Word · Excel · PowerPoint · PDF + Local editing. Open source. No signup. + + AI (Experimental Beta) · WebMCP · PWA + edit.chaxus.com + github.com/ranuts/document + + +`; + const folder = new URL('../public/social/', import.meta.url); + mkdirSync(folder, { recursive: true }); + writeFileSync(new URL(`${name}.svg`, folder), svg); + writeFileSync(new URL(`${name}.png`, folder), new Resvg(svg).render().asPng()); +} diff --git a/public/social/README.md b/public/social/README.md new file mode 100644 index 000000000..1328a8583 --- /dev/null +++ b/public/social/README.md @@ -0,0 +1,7 @@ +# Product sharing artwork + +The website uses `document-editor-v1.png` (1200 x 630). The repository social preview uses `document-editor-github-v1.png` (1280 x 640). + +Both use the existing product mark. To regenerate the SVG sources and PNGs, install `@resvg/resvg-js@2.6.2` into a separate tools directory and run `node bin/build-social-image.mjs /package.json`. No runtime dependency is added. + +Upload the repository image in GitHub Settings > Social preview. This setting is separate from the website's Open Graph metadata. diff --git a/public/social/document-editor-github-v1.png b/public/social/document-editor-github-v1.png new file mode 100644 index 0000000000000000000000000000000000000000..6b44b59c4dccef22dc198ff94acb5db1d822b065 GIT binary patch literal 45582 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 literal 0 HcmV?d00001 diff --git a/public/social/document-editor-github-v1.svg b/public/social/document-editor-github-v1.svg new file mode 100644 index 000000000..5012fc7df --- /dev/null +++ b/public/social/document-editor-github-v1.svg @@ -0,0 +1,28 @@ + + Online Document Editor + + Open-source document editing in your browser. Word, Excel, PowerPoint and PDF. Local editing, no signup, optional AI + (Experimental Beta), WebMCP and PWA. + + + + + + + + + Online Document Editor + Your documents. + Right in your browser. + Word · Excel · PowerPoint · PDF + Local editing. Open source. No signup. + + AI (Experimental Beta) · WebMCP · PWA + edit.chaxus.com + github.com/ranuts/document + + + diff --git a/public/social/document-editor-v1.png b/public/social/document-editor-v1.png new file mode 100644 index 0000000000000000000000000000000000000000..f86644bf8bd00811ead2fb603e1dfbbd1087ae19 GIT binary patch literal 45334 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 z zE+C43=>S9lvwWt8M8`9N;`TUuZbjr`m^dJ=tDH)`OVb?ctRXA{ml zpTytc_5T4cQXU=TZjR?+86q?G4+*cGn~Ob<_T~QQ!PaR9*7$;_DdCPj77R`NKfFD5 zk-_>kbH#zS_rpMU-#nYOl5p_;+W)eJ622gA|45=H8-rmwc4Pj)cMAsGTC->8ou^O0 z{Gsye!=6+d$WA9?4e8T@8?Z}*U4th$`q&&0&G5&E_^(Abe;; zbPhg8iM~2}Kngo+O|uzi(kF&f_`~F5puLaq$Kt>k(?V4%SclYJalhXYuT0%}E4jDM zyf9L*y%i99*dcdGRC@TDOFt2xb9`r|>~!0HWD$+l=|sk6kcM{pu~`;6Yi`{Fj!i za~dkban+}avvT&C z7RYpUQoV4_^OifJ%ZW6?LqdKeNU&a5Mql8WxYa+a2`a67F>UHamx77vf42^s3m^?^ zp*Dk$(Bw8_e>eX>LY5Fx{^e9NInlRmWGoR5yIg@^M;C6(qKWSTD`wbH`{!%s6++iX zAD>(wgX?L-hf$3B;0MrEF~R)b5MQN15P#G`@7l=B_XMRunpg8Lo8B3mBE0^lJO_>i zR*D(jQ7O?$l% zh`fX&I#KZ;1UnzC-#M-J3@bTW7fWV-&LlW#x}b~nAd|Oa!WPkTefdQ zcpt+L9MhYGT_6X(c+zi67?jduw_J)yRd%tS% z7E!^j)l2#KPN2eMfS7+70Von-(mLv=*nIWu^)rV^A}Tb0KkO?eQjSEIkjrJ(ulu_c znBkWckp@jPmZ^8qWX*5bkNLznP^M7_iRd~R<9|+d_jyHswZrQZ{PxmZC+*TMcCd0V zmpK_I*(39(R8La-AD-xHO&3SqBSy;4^~RXsw?BjkvWRlKeZA-?N&18v1avfgA1V+B zqxpRIZuGGiR{A=WS9#h)MVvk&@0p!*ylSqP!QXJz+#76Fw_-3KWvYJp_>|hXjrp;k zI1jOc&QzViDGFXaOl@PhX%#kCYJ>weMIXP6XOs+r1yW-(I$wfpmET_aJcfM3LKAah zam9(d;jWlIMAWkA>0RyOD!I_Rku|k`DM7PK;f^iGF>_yRTXCW=398|OeUmZ_he-hWKXvAtNQ52=owMFQrD zU_bDyiS?rw!7w-P3rB+9m6Js?uPDfU zGz%&@=v9r>kHXXTln4~_CYVw#G;Ip0LzSHcSEPib7Vyu{xCM9X;_Yl#i{olfhs#e5 zrC!rP4Z9Kv>Oke%vmwohOy=jZ-Y zAez!-E`~_TSVo?6Vi+f*tVL2^$pm;a-KQRPx7Uw17xw%1To%(bQ_Zasc^j?eU^RMl zuDqkN>58c9IUZ$7HpLp<_qy};@4gcCArFg}J5O+W@rA!L;0r)-3AUgRxp{_qJJAfG zb#wo?kcT|oX#GsMpfGf=$r|0bh#Bgr4ql}d^8HxA)>&5nH;FNu0WX8p%P?!5u6TEq zH$^_@)DZSe8|OrxnE;10h+Ux;e+98?Xgg^9-^6FaIYDN=sB^ad?43NG#uARV zin}^Yn%BBnM*GJj<36wp zVP3wlQ#{_+J<44YHk0Vgk%w?H7{XPTr>r>WH3 zmraW(OT_)5)$v~Ti*d`&Urfh8jq2w~E1q5B3|1*8vKyu(wR~<*B#ynbGroV@f4Q{{ z(&F^7cho0qAL-sc{lO`3zJ^gJQGt09AZOrH`u~3Vf0qHzzc*!meFc`j*DJSvQ!+8l z>(pN3tO8)YXaE={cBU5~d(zBX)57*FXcdFXH0m95IWIxJG`SF4`Fhf9$&J1thkBz}FKfazpFp}_pC?>o#t0tF0;Dl$R6 zFOP{bY6Ac%&1GyG-*)n7E+^+dT;kC)9A9NvLgZY0J&z4Uy4W@E%fOJ&O9O>kQTm<0 z8$qmjkGJNm1oWKTn|;>LmE&E(NQ&lNp1A+r7_?9f9aQu>m7d}5J;E?GV4pT5PlUVwcA35?a0x341pBh+4~+jX8{~o!oUd}X z=l`9u;nNqlcAso64bPgY96WagNXTAun<`WKc?yFT71&C+;I)v}|B^4b;k)PfkzoPv z2`K=)2AKlbXu&{bu{{c(6XsVcFWIRAkdqV2nioN4zWlQi*}VI;FYtFjEzXw)T+6rz zOoMjJ&OCE}0StTlHb6lhWk~1hIZJbaBaa{3ee?o2VeEHb#y zx~lECzsMA5{vD4Hiz<-JoA^C{$B7Alx$_YH6raPAyXYEq4ADFk_4a{b25! zf%%^eH@cKldLr@^Fx5__()DOLqn^UrnN7f$IVZRBbo_yv0)iuma5r$XUM2Cfv#W14 zOMNHH0h3RNMLVkgV3G^W#h-y2SegtR?*Svrb~o__xhWZA;s5J*j6_y!tkDAXp#bXO zUe1_r&D`+WvltEhiaRjmN%bQi2KgAR07(Ob8hUiC=+cvwN&^+M;SKp%sJS9jjRGE2 zsK>VYZG~(7IZa^Ruom;8{N?5nb^YY5`~LA&sR1-d?e5shwF)0qwYk3YpFPXGFF4b& zT@MFF-mWZuxn8k;j=sxK`rOL6x5nDh4$jb4FIv^((BKd!xhb?I-;s_Z1B1@}YoWzT z)A#MTM!BZ>CRe}@>-wnuvWOhXQ3IKtYo-N!fY-c1MV(MpA1 z3+*hsGSIAa_7i^_cuH>Frtece5F$LCx2aZxWv{AavV?(Z3b;TiJ2FN+dYKzQ1c3>@ z*`)`V7o`080+v2dL)C_x4#p0+-qM>`m(^=bf9~{r5K*VH&kvjHi+%M)mi20=Zr$qJ zil!JVB6z+1Wl!S3hGqmYJAt>XMY$k1)3>J5?L@i`6dJeoaWA8QD+pgje2AISvw{}9 zr~TRXKm*?6b0XIhxJB1Ja#E^BOl?kKf;(Ej(3sA8A}~cGp*c}J!YEwfPP=!Dk}Q?S z%-oeylh?1I5%)RPW63MEz?HcDcFujaxXs&ZrYrSMr!Bq!pCkuFCfl`T9X2Igf?H{T z($BZv-!6`8nA1!g+9nCIi6&V>i@?>PRx{|H{R>j?itj{3onF|S$tGi|f||{TUis-X z3JIGdMeF-d*ZZmTrg3)1wZU6#&QH3zF6Asy)JZ{WC7%2NzG?hzLj3HeNWvtAY06=A z`S8>+3V5mvq<CsS;-h;sJ_}%Nj%vH#2&fb9`FWoaq$=%&-k-?U z>F>&R&wq7hdGC$`^zQHY4kB>3!`|XqL#;Ca;xSP`->P3jvSxm;oLqr;hh2+a`LrMe zYgxp`fp?lK8=p%{f)&gKF^u7%F8-Hlw%W2~Ex`lvo9A0u?ybdbBb>~BHdMfppvq|5 zP2~v3?YLqQPN7v~P_Z@ZOGaTUsiUqFxfZ@RBbVNW1y=6{v! zJoMX-nr%ywf%~hDi1jh!YQ*`*PsyP&I>4w8ipda~zjUF77Wd(WT&zC}sUzer$=e9L z{z0<}0)@(b44$_}Lo|9v=S`3fXK$Rcxfy}qUZ`q+4`My6p&w$=S-~+b57Nt5GKLoj zRboA=r<~jOk_?&g%=u;35jw?g7G=|X67Zj{WOtE!U%aj52;gZsbbU(-cH*2~O2l)Q zFD@?31ziF>4#vndQ>Qqdf4%wY^Occ!2ag|hNtk7GVr4s-*&Ez2{nIU8 z-{gSo|5X5y2n5)1OtgaGMK8ktQ&k0#AGP)CtIweky9t2ClH?nZ>CgnfgszA6F zo$a23b*Mz%2$q35IjSnT4fqPY#;$qK7+}jA1%Bv6zMKED%t2T~&@Amd+lx4+J=?9_ zB`ya2PzU8~tBqz{{UCGCflP9;DO(c@POdpoww|p-iO1QUgzbcEirPz@09XblApf#l z0>0JNo~SkQ&&KS_HG4+2kE>Z34_S+UZa%R2uvj9Ym+N)@5vNw}Y1s6we1d{hTBa|0 zExVwA^%8t){tWY1X1@8S+mmkkYuf;V=$bI7J9DICSQ71bcKX8fV3qq`cb(6&Y#%uN z&cA^IcPM@@5By-#2!~yB@p} z`Zm%1SyL~xs$HOC1JVy}OW`+Yy2a@4xtXcg1NCos5Gm) z%~Z28`!awzlDEe6?)m-8t^3xLq0CpS?T8$a@AD_sD^7PbhXMfD6`;%-XL#X&qTX&8-#)MX2MfWK zsW8RZi&>VV2B%3ivr8|K-+4(y+lwB%1=l1FJs)r8g>Hm-uG6KSM-d)$bO{EtcVxOU zdwNH@n^x@fTG`VXdmYV6g_!oCY%+PunM4W`%(`a!DiwWdiV59r_wG=z<0>#iG*8~U zLMMgE!YmK7eN$>))I`IW22E@qTA5gLc1?Xg)>Y@;{_Dk;=U&6I7Waeoo|oFJ^Ymn9 z4iUUYpCVL4JOoNZ3?%651i3Pe(@_gImSnfLqh{HO0O)PC+zD?>(aSe6{ z-JFpc(6!f#mF7a0CQ{&q8mN$B!`+VS0LWu=il78~XNacvl|x-!aNUGrs7F#7dirGo z^F00t{iniI26q0OlXl&o+Qu!}4s^T<^$2?C^`KDB@#*_q9mC~tcZ9u1a3_EW+Kg>c zSw~xa0la1&*uHttTBCJ03m6*CLi!-HrWIJhu=;fItqBYazRy)VkI_Ze*i2%I;Ya2P zAmh=*ZOy{Y{Y-^gRw+}(J*&?r-5R~kM>9PM&&m)$w4XKjC#AfA)lw|0pdi8gV4rP7 zja@8|%r|essd-w-7owdfQ9ogMu_H{K*&$kIxT=sAp?o%cUC8?;2mZ$uO1R`-UqY6K zc`67!&4BLEo&h;hlJrqg@K>MLj>Knvq`j-zOZ7A<_g6L01h3tZY|})sF+1TO-Cnha zrf+$N$`BVu-w;1_VxR63;WvYd7OFf+ps6jjugkno5o0{v8Sqd=am?t7fGPFxTEz11 z(i4dSDRGvKWn1CUfzjhsQTpBc{CywcF4)U{m0wVzH2Z%cwadJ;V~>*o|4CQeW8BvR zpqKKoC`Avn8?F1?nEV9}wr9fLuz*5>B0giF3Pr{PQi+kt#M1t}O+HiwK|tAAQ(#9{ zP#fl>`8Ts|X5SIjFI@-4!%x)1{LQH$=A2AAmTlC>yww&2A$y=6fVs8rr7D=pW&-S& zuA>uWSGq)uUro@aV1f}^tC)A#Mz*(hai)W~(m2m)z3`{i4siq}v%yR=E3;sbzz?E= z^C+bhx0eouyAKP^b`)icqOAg6nD49WOrhGBj||-6H3XwM8T=G6c3wgH=D<4X1Dz4U z{F8^J-Ns=4vjFB(b`)3UHo$rwHoEn8Af-ye+m!P)d5`^RHri>#0%(qUESlnB0G2DJ z34wAlPad|yVPD)!rr(ik2C#K-P$$6yW+~^Wr^yZD>`uJqH~imJ+<=OLYnuOlnhcxv zvf>>i#kMbh$b3~d<#TIr&tC7J2#rZ_Xpn-fTf5tF6jq_GcL@LlR9@tycde<^uy-JAcaDsOXtDU64)sx$nf<}rBP&39GH?L zG8Ee~tq}wB-FKJtxIG1Hx~3~&9{53OZ(0;YwKPT6!g&JJ(fYUK>FU{Pl$j5iE5HRC z#&wGbGEs}?B;IE0_bG~O0|bD<21Z=^YHTF;<33v=FbcIcr@-sB507dAk?HVHZUnD6 z1YN~()Vj=gAP+wzBnfP5ln^_E<_u-ejB(7A&)#)6lT&xOYhi|e_=X$nKlRrx8Fgx! z+d^N4ryYO+lbCl9bSvb@O7$a`LTJgSh*7wXB`g*;(C+t4b;W;5Y;7AwmacFqB_315-ITb4V= z9!pME%Aq4p;;L6)X2 zt$gPB5b*yEI_e5OO|=8;IM3bf9kCcW(^tdldO};feXo_|2F%WP2nXqh-OtGO(;+ar z*yvLVU}Qvo9f+p>)8@sSkSeAjO^(z>JA#sKwdGTC?kt=DojmadO9R{M&`AH*l+B*W zk1}LBswKe<>evCO92XYY3DS#y`rdClt2H z?%F}ZD_VHJWD2HQw(s|O#X#3Ys^F@O1vgJ%^a!Milj(5UgM2z9 zy<#xD%e9J6j5Op)R#XSW)a7z!?-nkA(~SY6T_p4iw6?X%1iO!*a>NB7i%^QUmAR{V z;3!E^foXFhuS=_O2hh4KotO%IfOH{AQ2nyZe$ZZGG z^__!7N>D_$m6eL+x9v7>``l!&dF|wETSEEm?duHM|CWddH>@GrE!ePCqzFh&QR{CD zMSjj+!I0^LBxaiZc+LM|?>(cMZoh3&MN|-_N>Qp1iXtE=ReCRmB1(}e5kVjzM34vp z!9s7L7YR*@Af3>gQY4f}Ge8iK7OF@>4ek8m`~LSi`;KwHoKJV$vA;0}2|RT@Yt1#+ zT-*p*O)!E?wd}p^4J;-?DZhnPfAZBAF_HR~(aZL{J5bXqstCMa-NR?B(xis}z3e2f z(IXr*l2mE{-gj1zz8UV=2 z`QI~;N1gvHUCZ#JBx8-vrCr|0xH&wn#r=~UmGaZ<>~+xjGGRq+fFxV1F^%>QN&Y=Hh;7P5(s&IJ0l6cEje`JwPEu!K6F`;K7JIhmW)I)BrQ)H`$gurl-9rB>PHD7jzUVka1YBWMt1fq=Nj}6 zTnB(19!>0^g?fK_IQ+W>RwprI|@OV_(XwoKLcc_xX~uHFH#;8E>p3D_n;^jjJtvT_F0n1 z$xAdFLJzgGd?CkWO7rFVbbkI%o4I>HREhfMkZm>B+nL+p{@SHgI(4Sv1R8D2sPFIj zXi>~mNFi-xdrUOGPV3(HDRlqI-RsYT<+O@AB+l5>PrT>xf5)8{W>Q5;Teh>On z2{4S0=L!s_Hw1SIGGs>LT6rdtBIjy|5)sH-E05ZHfGnZg0n)uVC!jiAUZe3ns2bz? zeENdS&AVmE0D$$O&ou}r_MtfI(jKwKErZ3KpWoIP9Pguym1W<_jsu}tIGWn5{{k&z zwAu$| zj9$@|;knv40)d+Rx`iWLhN*<5&F5MA8EITB8qvtOCSfI9Qfvz;lHX|aU(rY3d3;YV zYv&+^2p9JF!3#^NtE{Mh9$Ya2e4fu?iUCD`Vrr;e@hZA$VF0{5bWYg*5I|f|^TV zJ$-DOP@GM~Oe(b*3J6SxOG}S%z*VB#;zn2$`)Ju%G1ma^Jm7GGnM39op^FEMhtcyd z9eFXoSFvfNCNLge7cB(?jqJsUlapbg)20ywdTe*bChf_E7$FcA!h~@2k>XXQ4@qf4GN==Ui@*@cBItl_CzKb(ltWiaR{`%7ZDkw6&bV+*4Og&h;1+WCfhN&m?`@D`+=iPrge`4_Pg`Y9Z zQr5J}dJP=I-llBq=s+UzjVJEoe>;W^BPIGvU*MMMeY7`N8@&YO|{*-`%lI-;P&d%ZYUIn1=;1E&K9HS*h%<^txq!nJZ>} zb=8~CLde+5K2LKv-NQ0{gkTE4YW~*=V|^tGoL-zf_MS2&kMW*9P9GL?dfn{hH$bx>AZi z>VqyrL!qs7DZCk+Ht%ieTo#{OA%Jx6bBZ@kI!6m>$}Xbq^RnqKxn8_+2@bxpI`sEp z|V`e{&o;=Os_2*%bqVDaW{s zj=a=u<|yt@c>B?|YFs6+43)NF5bW;!)7c!~R8lYQz252$;3k|%dCyDs;z-8FZm!#c zUM|3^F+gaOs|t^km#2mT$nZ+{HNYk2M?Xk^+p}#0@M|24o=S_8vUbusHZBJg+-69N zt)BCL61}thD$tnJD0Qnq&tZKMu121a=bio`CWB|BVy;)LYpQghzhkR93M4TUl7mc9B}S3CrX^Hp+SRlZQ3! z6wQ~ULGvABX;|$>|IuHEvEm^2M{FJ#$jd>$)_2vnu1#KX0U+zhL~DeLnM;WVkVL6R z|1;m83bCgg&f4R+O8%a57yu?ZGM{94NY^f&4e;b#dtih*D0JSWRAa79F9*USIyAO=~(?M-^RB?-^%>o#)?mO}+ zwedes-_G{7!lk2FLfY%HbA+ow(zKc0eDDY9O&5A6-A9F#g-bU6`=B!{1;=ex=(aTa z;W|INZf)(3F&-*s_ZMftG)hN7T>GnG2)UQ8@eUg1ZpeF!O_nd2BLY6B8gLASXpD~J zE?RTG63dEdECtJ@wx$ET^`HNGy^%-n^B2JnX6m?9%vt6y>81QxOqC_ncw?BViBA*e zS01Kuh{(D<0Z>y7W&dL%TC=ab5`Db?zD(#FC$jBALNDi!G*7ITS-)9I7XQa8CZldg-qy>^KEecE zESGZrCVw9`wcyQ3M|!`1yE;mKk*PRqkDpfIeG8l>+A2M(wAnqOwJgM8AXcP!U&;Cn z>79a@U)0Reh3z66#E(4xvaFE+^TI>vy%>eI2uM-%2GXC1R`exZR7Kc zx9uG5CtsGD?4se8FzD(;;7`CB5;MY9&mK+4c5R8yVQ|KP#k8!IjPrfG%?PV!!)XVg zzS{=WMusVG9B>;@`F?}eO4sr-G$YC{k>0h;yNU$Z>9j_BN7?^26&_e`foJ5#)Ei!G zo`N;CQ0`*Z#>CtBqecMK7!ISo37+bq&q1>UUH7QedpqwDPK%+j-{TJzIphDqpIST8 zh8;E!F}LTDENJt;D$2L6o~5tEW*1?fXwT#?+h#?t$I~UfVcwM_ zIaOL=Q`I5*e%Qq!tlNGfKpG{BlOhj-2|+Laa2!;WbB4e!{~c8F>)7M|b! z#tR@2?0_ssT2l)(n_6$|iDY7zHZf}v+X16v7v=cNRr;FJHiX%mzJI*J5e7<_Hg7+{ z>>#vhx+Q}?#uqKhNI%Dy7N4hl@|hfq#Usn1?+&aXhw)--GjRbWj7 z0}rKQo+4;vkXyKKpg;4~XJ6C}QCx1({{>ULXN(h{O8OWd)Ug7HW7ge(ciR1#{fbXL z0scHP@7F#1XP0XyiJRk;GGG@*fOq$Gq}VgJ zlG0hW_J^@~h(GNrdOZ^6v=m9pp-SMt-_bC89MwK*{-{=x*`l=N@2Eyo+lHL$KCFBy zo|2hkEA|HDd%GiBm%5-fLkgqELBT?Ore^=BI-3E41Gy8?AU3@qpl*LF=_WM7k;P(4 z;qOp@)YiwrxDJY7ZWZ3+Ro|!q#-%QmY~aV(w`{d+#LgR^+eiygvl9Ei z%&U#NM!w()!w`DzG^}Nd!_*=yDUUVg<;HR6{=eVG{-wkK3oq3FKR^Aytig{^KoMEW z?{KqwICp$4Tr@!X2)}kPeR8~(KJ5>%cM5;*M0rdq`SlpsB6&V24t6EC9xhbhBcXS*40o~KjrK7{vpac$fQ^}*(O``M}wcVFf?{gCLYVwh`&be}DF5Ey;E zD<2Cdd`RxvaMDpSBJEFmf0kp7l$<6WFR5QC3)n7J=*~d{tXLl#iYA94JMaK$#vZ(r z@Rw9d>vwNG+I{pUqb%?!d%SsfDw#*@1=R24DDaNoOpr=iGayu)iP(&IneSv+TFB78 z5G5OMN2w}+y190W+_UAJ0*C{BLkk9Xl?R>(Kh=o_n49;Twm;+J3qv|=T)?cMa>%d|y)PWvM z@k%@M5+1~7JN|mmSV|EADWC%wDYJp3vc}(MmIvK-T6UXX?xf+G6aWb4%EeaFhYjaT zJ`gK2=BAS)+(%%zG^$2sRIcAvLVCrEr+qFsl+dDS8)`Koh2`Ai1$3hOGX04~<1nmJ zasYo(`CUQhQoR^kIS03t-Mc;+DNVk=>rs6Np-^?4w0)@maZF+xxzEWRg*d=Zr^f92 z^h=NQ)e58hy{2L$re@2<%Wb&hB(l* z^6An%^+@3cq(C43=s-o@Z>6YU$fyb~^*XPOPHTNE);}Ai+tM`4DuMbLaNsmlHEfE{ ztca4Fb}2ib&>n8V>^<|!$~NA$mtvM)5P^Vu{KHG0l)(H8?QCl1%Vj5Id=)leCwjb| zkeMD_R7_}RspXRX$&+&4+@|)5djX9q*gk6G35eA}aWK(XwdKq6yQ^|%HM)d0OiNE& z)8#+a_3KL5?XM(3m$v!L(zBbQ>BT6z(?dNJHfCIwy6I~++ER;4e*m>6*Oo`Q*L}n7 zV;BTl=AyBAPSM>i3{ZOA=FnFc|`dQurW@sYnad-2!0hwmZEf7${wH)>&ovm^qh zE&5f!$w34|X+XcLt@QMJR>;Wm1AY4n=DF+;`j0wQ@Yz@^r2b&Cy_R+A3%-3FWps=7ng%bibL`J38r!3Lqk~Ih*k7zOTy^nF<5Z1=k^&D2_3-wfQQzl$ zhL17pDR}S^Q(64v0xVX)k5>6&)3cMMUCDuny|1(yUGE#b`^^^xwjqYbI*ZJ9Tq-K( zHLA~ZsXXT*^O0p2pHJ;Nrkb!p7xyOVdwjn2+9qd{#LTL_N;|jT`@G!t2$Rv_zggP& z*x8b@A%=j)zJP#SlofS4RnBUuU*LtpOr@PiCG;X^L^Z!pZcPA^UCBs2hL1YJ{QJa# zm&fEoKXJ^QkLHfB1%o2{Y316Vj5A3h9^KI>aJN!Ii^ti7RT=HrD@T!D4=+M|RzJ7i zHaZnML!KAjEpV#+ZVp9&XMg>$Qc*VYnjg!wSK63st7z;B(NwoXKDjyKsjGes&|BqR zZuI-T@Ac_qmK357y0p7~unjrtICRL2%W`>y*c*(Qx+B4Ip5Fg>EZ|yKRmu6I0bl8B zmKv=DT5io&7=5{i@>BmEX73m%W={IrKAYZ}R}1lKU|W!@YFJCwn$+WD?1_J*!&)Ig z$Qzj@Fgp&tFVwI#yDs5pQz+oA-M{J3vVd!Ay5x9*4%`2-pEmuY{@y=}1(Zy?{)vm3 zl(SP(x7Sm>O7o4jkM@Rub4;tQuGE_jeQ`4&#@ z-m-Kssa6ezuKS9c`Tm3x9Nuvhs)XGr2XnC~2Hp@X*S$Zuy9FM{0j(cA^!>TgcF$r7 z2<<@a#$^d4odmomV%S1CamNaD7ejQo7q_8-GUb82fq33E%}fc~%$_E}s|-hkCveHe zeEZB{sa}RdwS68FT1S?nUvCIauq?!@Hf(kQT1yd|p_&p19p3kc(h1$_AQ>WpgpU2= zyIpMep^LasWNXxKmpi>*e@{-k)%0aoyyTfV)}Fqx_vq~?Z~*-RLjUAXy&=~d&Fc%s zyyUPBPFl8v?r(%ZTOMdmGrYN;?ayuKqI4#KBd$8z10Gdx5IB#EaU3Yl&KdZI9|Cy* z#Ua*8ex&s26dvvq|Ml&x^}5~!pu`EZJbx>w=3E@(^?1d&F~0AS3{b3x$F*#x9+qGm zB-OVwrHA{9g>=+~O@=w|vrscCnvC>j>6$ZFi4AuWxwm!3(O0QA>eebhXVq)-JVBQ5 zscsCvh-}KxWuDhdtu!JYhpxl+Er7~J*(0nnh(2xSmv?lxT&&_ZkFOD%&nC*~ic@(4 zeB*A_?@ZM89~7Ed+1t%>fRvosYuDrC!a>Ff?RBwPH)2q`rpjd#%*|X8qn1HWMrv^4 zX48CKk*_porFn}FIf4QT=rh|+w- zxZ@~SHDwQyWcd2vgR&(+zxC5IBhHC7m%DD={<$i3GTMO)M<(cEKwCA(BXV0tUXFl)X!|vEm4Izgm6OWw56K@qdbwJmsKfoM@DqwnpRfgH z52Dhc@}PR&0i#A&G*E%mXhujNegCHh^=WxBe-hY@J@Cn6cM@eC`XwS^Q)wHg$Mtz~h`N z#wXUPAFZewrLcfq&=rb(;Oxf@7$0lx*Uj$m*wpi=-khik;sr*fOh; zD_o75D(>4(Bx}rp0B^VWz9$LZ@P8Ol=31T2R&q&4SR!l5fQUJKzSx51_u%C`0ji-E z`{L`W&{yK@dauzqrqg!j-xbkvLgWb>0VLlwr0_@G(ihu0*MTQPP%l&&-w~6SBal1Oo$qkw($+!_m%wMm?i_*eE7a7}OFL*Wv zUMgnEd|FTxyjT1Ltft@+e*+xk$|Vpe{`bhOUr6hg@rk_xQM+aEC3*uy--{2)QQ=R$ zFR-(`@>QmIt+9l|=w`g}w{D@<{;~uQ9lLJ*kG{$S@paxZUG@G-U8RaKF4zbm=_A`J zaPpGV1o!~o;RBkr2ztMCW*%}G@ADx7j5}R2k?E-QA+FXjv`NJwb1Q7#AAa|bl;hv% zQ6A9UGNA@j?^KZU#GE4%1wjUT{=C7yNXrU+kmgK}4^%JFzs7)Psk;TL=2~)p=|U)^ z^BztH!g>2!Bw1%@FF4>!(af>K1%wZ~Mua(&;ShTi(3D8)Su4r%-J|COQ>NKru9 zc)r1;P~;&S`ab9nQPV*Agyhpb=G|Yj)L1!HjCQg#ahiu-;opc!TUE2RG8q`m{%2C~ zzmv)ZrIVSjmE5={=fr6S><53Agn9M+Y5U>TP|yV;UxkEo{~I^tS$Hf1^C?i5?k!_1 z8XXBO;kzv%tejr5TpufJGeJ(1gseGC`=ihei}?A4ohYorJn1@0R70~l9r^m2vaga+ z-`kWj5NgkM;ImweZ|2;c#JF04jbUrNjLAvq-x*{+a2I_86u+uxHVqJ*m9+X_oVv+9ZI^BpSr5Cax#Wd~d^V+AsR->|U2F zPufoyb~XhxV8MFXCHTi49l~*(Yqu>(B}2IW`{j$J20Tw>jviLZ?CW!`1b)3F`%&{t zmGFp?*`w@xlUk@v>nYwW)bfT!KWo_nV(%X(jZcq>m(T8pK=i1zGKBMP_8&?xq^unj z(7HP%fsOZZ)@Qy|pqnuivt=-TOjN|g->t8Uiai!T_@Ll*5hHApR5tW!c{dG8*0dWo zB#U^QAKJj*B3s`>X1H0^hj!%LIeWw0;FTrRO6oA)1vWXA?xD|AQ9R^0llEK%`12g+OzWu-_6LhTW8m`$BlxH zV^kbYkyUoiJKj>xUT0H8M+9KIZ>UHlty8A`-Ei^R!fWy-ZU@lbV;@N;Z$1JX9bl&k z`-&2PmMtcak64KlT#0myN#51D#2ma4c;XkcIvkq}NGk$U{oA#OtyrBV=XV`s(`gf5 zt}o~=CaO~WQPV3DD!@U{6#`P@DS1D^mtl`mjc2_Y)Rs0%pJ3F6W4#k2#vm0Es<3!8 zfxbZLcAyB_Y&(VrzJ5Z37`nVw$sk&-yOXF(RcV*0skXis8Rls#oy`aYfnocZ5H4p^ zQ3ir_Jic|8oyztP6DMy)G@h8WWP}{foHVfdcBdXFwTyz3%|W)M2#8 zg2v0TS<0urpmNDIcutCG==~FcVmDjeBVC76C9fa7yq^b-9DQ)0G$3&?)d&J9F zHXpv-kB!@^2kc+L6YOrx>U2J|AkzM%3e_x7GdI39?6xz@-YO?pIsnG1NCP_DgrVD2 zTR>n1U`*=+^Y09eJh|J`r>YxoUkRuj7#}L~p{HP<3N@6B5p||e`TJ)V0`%@zTzJz+e%TZcDj^7&Vt zM}%$4WDADmDcI}s2nE1k@@4K=piMIE?78q>Zz6W2hs6Ty&}do{==sxo!>IkZs>-#r z{?*Q+Y^$UajNdG+LOlXcXGcmi#{yu_ZobpDIunkGIi=*=+>arkk)AJvpY-HI73J1d ze*lt3W%s2gi_g7(+?;5!?mRBl-;J;18_Q3)0Fa{dfezsqfSNFX?1$IjA7jvQR zbPEK)!MqJC(ZKS1xB4)2m;yHpV!xN&+v5VdeP{Y`QGm2w4~>5H{T#C?oJtfO;WKC( zkdKn1M^$~T*t2z~Ll*>!pk#Eo+daq2Xpgik-FgEObo}JR5xU&TtfVRBiWO42~KJ#y|G9OIm87Xt?#=up{-~e2gaAquY_=rDkToS<05(O?!L6W#T!pN z41-8-n>Vo`^tqQrCsLAG@mg25#1MS}BOfYmtQua)D$^fn%n;b*!Y4yMc>KlS9{pW# zBdVhbYPQo?0Tq=TeUDeeoTgdZqTOeqAPeP#@o5ydycg)`MUz(zy(8%wmU<05wLkEZ zi;icI^`h)P#Z{R8ZN@K$AlwZ^94qNef7g*mUZt+4E~QS4YvZr$i+{A%eO$jp@UrUI zsg8Sc77+)id^p{!0GkF5>KG|*&MU?l<7L4+8z-7qYr6@M4vX!53b1&76HesEWZBs5 zePJKI9ibelKvLZ9A1syd|HVLOrV?*N21T#n4|~H9)F%^4;$s} zXuZ3>dOWkOY+}B00^q1FI{>bekO^%`EMLz!BI9_|l9|>oM)D$zln%ZR07v&j7yPTm zJi*8ml?$aWzqB3+<1jf#Is#xr)JA&l@5nRV^w4#kVXiPjq43ceOjJOQ2L^tfa*^f% zUVs#pRB(=>$g28lU%-Ltk2j}=Qa_}AOYKEX0^ReCwwH)qepvO&BD-p0cu(hUce#?Tt4s^@$?AdKT)x5P3-hd|*0r-!vxC8MlKnEPI z_$SnOQ;!KfWE{p-U1uRZlX_x5(1m?Sdl-wowOy$Va06S zloazY_4~6gJ6pnY{pc+v5tWtHvYWZ6R9UXuD5E}8@@ucL%mxASH4oPrj_RNtso$Y3 zd0f%$b@3_JEY*G%vcM8r7WYOXWIEtlty;{RKzq#(xZ=qqh(9UapZ-DM$%|~Rm8;t^ zs9x9wFyZEUmQr;hSu$YDF(W-oqUdGv-3`TC9t_X|ajs;ql=F&q1Femk@4WesND7WGWI;30#Op zIWv$J1?|SNoT_&==i$5Wv4T1u|EqZeaiW-=;K94?@v3xf+E;m6W<|9!SYZ*NRj&UU zmCQn$kY5q{gquvxH`v+;I)hRvRfgu+z?B3}VNrA@SpU9UUR`xfDxp{o`{+0hKzSIz ziqX+wUL_na7dgn}YnW#W;t0h2x45mt*)wZJ=SjI4G1r){?~iG!BzS9bH9k{*9`HP} z=_ECot97}?`F5G7t%*6gIl#P_HsU&5e%{`=&*P`i-Znall%s{Vn#Or&f2b zC%;u~GHl~iJK=tLlUb0me1~0(*_y0@N~Oz7FQn1NG^f`QW`;LF&z&=A(dd$+1LB}#9*?C5fD{% ziDF#S7~ozK9fz)IqV{WYGC3J&s6bc>uV0~@w(Ys2p2O=brVGBt=ICC+y`ss2elz5= zZvTtRjWS@wly}CMvda0ndUS(qB5unXsQ3Y6-=#S9St1iDGtZ}Jmh=DVds8W1aX;t! zo_Yei+T+ykpVVdy+PW?j0DK`7Zw#O8e2}&It&|A952_MW2h5^wz8_R?Q4OO5!f?4C zmR^Oq7!i7-TE1rrI)4ZGBbwl&+Y@JC=;Y;AF$vE%GQk=dg{ZJB+ zW$Td4lUN=`9~Tdrp>(S~*Xk0>fhK-;d-A1B*fH`$?|l+bv^qlxmHV@M*P=PSpH8P~ zKAJKz(LT10UT1=84a2gZMR&l!_}pSe%Eb`|T4BU#&5X0XP9z6^)V+V0rK%&^;F6Bjy2`)HHy!+OTQ zQ*V~|^O>nue-SYyh!m7O4t;2AGDVk|L=d(>+XGB?kOOMum&5t&49}$>HolB{{CQ-J^5$9YiUp89@db-#91}cXI+IV%aK9X)&x!N7W zYVX*pi7b9L&FFY%+a~Oxp1%(pf=*k6-! zr1#l3^&)qTN?t6}-J9EPviZ-XZ4j)$lr;mZKkF}BiJ1#9-v@b+l>q!%8%&NJo+O22NK!6$-$qj= zWqV7Dnt;DSdA(*2MZ6O!{=)J+rD%Xg5l>ZqpV}16>vhq6`j=Ug?}s)?ySRt^<$`*u z#yu;d!Tn>kmxCVhOm@N$?VJE1x1=SU;bed*<8S(^?0y)ZO7LQSnSOBN6{HK%0jMas%}MMCy<`Mv_PJysowBG|{@(j<7Q&11jcu zwPZ{_o>V+-8;)npJ%L0L6?B4?(LJ3tkpT|$e3);jUTGT?a2`DSdt!J=wafmYa|F^o z;6x1F`NtE7p0>D7B}6s2cQ0L)@18L@>q?M_nqa%I+La*X(}AIt{CfaOu0;i65ILh4 zQCD+|;deuD`+e$Q@Petw3U96awH1w_ck>3{@CnJR>piG5-g!T(RqjAJA#p0~4hQ}j z#J0>)6RtBO63Tyg;M3*UD(tb{GZZ^FzQqW{tLiWV_IL$(RsC*`TkcN?>G;fgUvG4P zN80Vd4S4!~Dj^*mgL8&~ZvV9&*n@1ngrC(DH<9cm7b3CG!r#)s-pDgA#VnopkD5kG z=+PjVf+Vl~dN5EhrW`2#{Nm2F@%uY3w{$Yh-Fg+X{iAy~&j5f4p%33q0y@AWIoA;U?pd%Xp-X3ZLx%9aY61|$cX0=`~qMY#QzOac*> zHGpQCmI-kx$#auBzzYLnC6aCiijhB;ut2uPvBv?gpsOkusqlbzezIJ#PKn;3Kwkvl z`o+IJb^3lfKpg-f#HjLg*UA~%<%^vtxorq-zLc)e9*D-#4>MEc17!Q+RK=+<{&z8g zajMU;>sHjyxC$;Brc-suz!~+AXcXEnuwsN~ggu!~^PYA9(T-)#pN*ltqbC2)vE|B% zuJ)v)8Bdd?qwrl8^VoM|nF@p;DTHnt7-gai06s~mB2i*X7$jj~E4!b`I^JT|B2s|2 z(x`Qaohx27tp%fXihjqDz8pHW0ea+BVdRD#Bf#Fz{ZVxGFr9uYBDxVG6PMud8{nF@ z({}e0c)A^1h>G67_O|5lNRjLKPHUk!YI5i?q=pd>9Y_c61#rnq{B4!E0|-t6rs5z$jfeKqjzAV2b!thb^Mw?e0h*h%LK?$6BO#g= zw&JI+b_;(K2t$@3!&Su?7#kTyOk-$h&YV{CzJBHj(!ve9603^PrHWRoU@7UpLylAFp2#8ZMEU;9^&-}u!3T&jyX`9L;3eP~V)nPsR zfYb0~N_cX}Jp5F~sP3B4Yn}-*w+W8xv@$+^o@S)@vj<~0aPlwB^}DoIMuB0hAjaQK zq=@dCu;VNVj3hOr(>in?@M^gO^Ipr$LwMJ*DA7S5%gC*RqX8!)Zyo5j z?x0Ik5&R}m3fvRHtac-e4SADESLT{z8zyAJE19XgkoJ$u>d$v`6~PXTnv7QGu#haV zEt~#5%~L$>FV?K^$&%eJwY&x+RryhTsqHRlX_EPFBW_lZr9-a!xcH#s?2S~3-f;Mv zhZx!|OY=&XLXN7I{ZXIeKNPXpp%;LX*D+JEZOeYY$AJ0Mc~K-|yG*h9?Co^JB&k!$ z`Qi1L3&M*osSjrTA>I#$!#{iH7-p(azF7qDt+rzL^*V2)xt7B56*Eaz<$GMb?xvzD zF>6n5ox&CIBOmymo47l@zuJwom~7~VhE1Zoogz9(fK{QKE(K}epGz@4mwoKW#``|7 z^2+Pg2h5}zO=37U3IF@;^O5dsezh^VNFwA_r(&)yETf zxH$mT-<>|usR9yWomH}}`%%jUpXavfXT$BlCx)h5UlUe20E!u^&z6Wx&eQoig065? zv;%<7{sEv1-e#b3O0l>o%& zS+7Q;&*uazO&s?KqcSK&Fg+kib^+s%jyjyL-x|INB@y@06tOuKXqZpUW1d^QT|cBx zY>$b_*qAFYVR9^4wniG`z`J5K>y2pwaN1!btDMRFzpY%G{{V+XfQq7omk-Ygn_0Kn zm`Ki4V(JkIuA^}5XivMvivSID0yiw$e78qWgpTkVEeFRMJ0dZ!|gRc13#~(KQbza@!A`t+H6@vDdzWZs>Dy)O*;PwfBnB@EaQ2t~+*w=gG z{$x*k_Dh@d8ce?TZC|ml#;cz3n@FFcpt^WKGxgUG}6d|EKSq&SLlRYU}Y% z6Bx9Ofd%h)ef|Q#xqbjc5C^nvo%KfAEo^TBJ;ziwgrlW*tSS0=FIIpIymrZhYq38o z=7Qlfc(%7%j5g;Qp)`8~O1mf?_CHL|y)rmG4xP!%BONX*R6o*`^hbGEgf7g6X!+!=68^j;jBeurype}KJ2d{Fw>^#(cLYbV5vuN(xsTWyA zZ1`<>iV_^ezl)QfjMoFAmO!%~Kw}$Bvr-DM97%0aZILt8Vl)wa5)3~04wn!q)FNvT@4bCzes+s<_=?AWNSZ?(u*k6==XPJ5zWNF>ps0~nzJDhEq*1;!6)dL zWgJ^$*Jd&r=c4CWKnP$;#57HyjQKJu@VI_thb4yf=u0^NO6sm>NgoE)YZBPSx+U84 zyOi3@7f6z-7}1YbXS0#YR$r;BOM2LCfi2H>Ep$o*m|Sf%$Fe-Ej@Z03C=Bqy0;Z-I z7pjyT%Z=oPDaNq5oRYVvc_Q#k>(mrw=eXPLlPMfVh8HUPJx9w0Vu;gD(MLsifCpyO zzeAy!1qonz0k^#>a4#e<1(!~cpK?sLk(y%@p6K|*Y?k~yolVU<`iR$eMy25O7XErq zW!-kj{7-3I6V%r1TkjzSpY`aza54A~01bj_ehEA)?z|C6A+sqAl=T6j&38rkd3UQ< z6!f-*DwNDTZ(7EE*C)?w3N~4RQK)cvYo7*?P;(6J1sS@}LD;tm@+&X^W`fI01n!GI z#n~R9;Rv~b=3Q~yIk_ww#{)=7uWDZ);hy({pgeO~Y<5n%Ud!)7Kkm%vZPW>Rnu!gbk!gcX?B1{OT;g6!!b#NhG9JWyHhB zDesdlz#jihOUpz>_=~a*{|FDx=err)N^=gcsXF%J;J#g(Ww_N#VkHemFJQjsG)9n# z%H3~P5+D17?^gdC7peyn_fkRe{A%0CXzuIff0v*x+R^|) z`F#l~ZaS%erHJ460ma%L&L-!9hEAZziecwh9tcSi72@jnk%#d&pM8)Z|lsy^^y6k`H0OM z!m|jCP!>>oL*(LH{`#rIf2vD4l4X7F>(KQBAXnsaGhLnyKNJFB!Egh=W!V*zAEzTP zVdG~U3{Bm+M9H<21x9P;nXW+)WS^$BYggN0uF6EIu%~TjQ|PNj+8gBbih0GkN&f3v zsTD4L$H@!r)i|UgLy{)JE-R-~<*GA>H*~o4&=rtd8%X+s;x>;6!kB z_w*Js!4d=JM7!k;>LWeD^&mMWQLe^YCmg28AA-o7z6fH|6I2s#s;RZztpB{zBF9n4 z5~M2_a&|>8JtZQNl>Q`p;fQ@J?*;ujiqT6cjl=x_~p`y79ew>!D$ z%IRBnL9a7aQLOh%j2~}bYKPj&V#LloWNbr@g}!BNR}u~2x9Df`U!*;cnYUOVuxcIf zw?)k~UmSomR`M2VfH(mBS|+LcG^G7Px-+}COG9&n=2WW%OD@zH4;-nTlm*%(`!T_?ZWdhbcD<3S zrz|rP_7J?^;u#P(!#Ca~N1!d0vo&p=m0sjWu&d};%6Gknj z9$+oigMVR-Te~_DNV)iiyp%K77G)L6KSLkFppr>7BOpxum}yem9w&r$r9;!+pe2Wd zf~bl1ipK7liZo0X-L55f)az9&!0j$^G#S^cib@At#>Asdb`0Fil~KYRZJxSYk(R>c z(CWK7uML@F%A8O~$Nuzh$6A4o-&|+Fc$1fAMX&4sAd~-CI!2&jR*>a!CwA|!d9#u1 zH5KG}(B(oE{B3g$Q$L75X20nMGiSy95M{yTIBdV1c#o;sVYOgg1DSt<2hm=kKUlE& z=okk2!4KD*j`Phn1ii?elrzk5f-AXdTBWAL{n$w4$rs$daI(Vjqg&?|dG(%7Aai*@ zO^};jaZel!z1-t0B9B$K0F5hLk7E0~C0R4}p%&HIq(r-FS>`8yZKK8CoZ+arBO{xd z6?G%jp;0k~aw!3tNxo4+SiUCpf_7VKM4N&wq%r@sY`2d+KEFZRMwgNA|6G)=QkF59 ziA%^UCDr^D9h)>wS9mdy=_W&^Rfx1KAJ zMo!(=tQ0l-vk6m9;u1FFGBLtjgOiZS87ZL1`Af95ijPfm*16tPIM8>>t6E`>?S#q6 z$~Ukf;(aH&kK&$(KVgH3mtT#S@08g(KTRUV=dl4`H2DFr97A*w0N%|s!mOAaWEF}d z@s(Wk!M}jk>bLa-*e`$stgedGUSAUWF67C0TBKd+AUW(DV-o?PmdaIC;#w`iOwH7k zydJfVArzfy4_q_4AM%7MEOw~Un+m^3dltz~y$TM?p!o(l$tR{gzgP`57b?e~2^h3C zuolKfNcydZKpIbNYU=xg0S;Z7%7(CG|E25@LyM1R26BOO*18CbPn6$pTK!~hW!JG% z%>{|YhE>LpMjr!7Ro?tp$HS1?X03WScS_8p`lJu^l<2C(zIJLxh|N)}p(Eb4f;oPk z6VO35o&0gdVan@g)&{X9)K$O4MYMAjB%X_+M03s00gTgxdWw3|afU4|xIEv!R*$+5 z+`jhxb$mmmOX%xN`zxR-8lgESWAR#1Af*yPsbiZm@U5{^qkA=QMuH0@>{9& zm8(aLw81n}y#Zmsg7i{rOop4e>!cT%+J;Oh1VKrBccV30<6h9j@oBD2Kd@zq4$5E8 zF|zdRth@CTs#iUhBpI2gX%f<82bhY3Tqqa@@Y;IDDt|&k6BQzbd+3pQ_0AIB`A~SU z=;9?(?0!lFob!kcVX|X2TyHiYK~5rl09`$5tB@1QnQV%gn=B}EulrSNdVn4fo`;5e zhN9=U$LOJ?YzERh5cg36O5obWS83!vCyaTm7pMR>lGanDyjul;+O$CUsp^aG4NC6w z`9|=STpxonhb1fSv(m`bOIKXnGFa=C6!?{ZlLk_Qy$N(w`k4ZjZQ<;}oBnr$;Vb7d zA$}9Oc-{H=b|pudv)yh6Dw@H3!9OeQ92$xH`P5&>fYUL=u*G@QBdO$2hJ?gl}h$1=9|;~5{mz|R}2F^ zvG}RU9O9YJh0dPjI_h7kRHT(mN|M(dLO=NdWpB|Om$2^ZmVym zXCGeM?+VU;ZC1|Bs_Mc`nmDePKy6$vH)+L5RuShUES9sXkvaAfhe}zo=C91>x8jUoj zHHm5Z?AEOh>bf%WF0cQ?%Ye->*o+*g#X?J)DolnN!}m*-s_b5VbdV-Xabk)elr~Ct z3_8T9B2Y)Q_`vCyuY2X z4AxA$bN9bGMo6Yzrg^F1bBYi-?I(ALK(pxGnmjCha=m{tr(-JEAd$nLaGo&~R z49a)udK)0Hj2qpNl(ftD$)uEx4P8!cQ#e~eeET|?!P>4?F-Y*N87Fed)0Xl}B>D}| zf!=u1cGPEeB;}rc(dFW@x{u{gA5vmZkY2GA&_jL}_M}eh=E>v-?-^KN-G`gXZk7() zqaTxP8$P3Y{(kJ$wzL1&l*)CE?Jd*hmg5zVqn zkN5^(^okugncKp(^nGnIGOy_1D6M?|-K4Oq$To!+OW)VXt15~{4u}QO-G5puR3`w@ zf8ckL4ZkV9Z?WIUZS|4#) ziYnn3`-a{Z?Z&)Il3@-4*)&x^BFRz+i;coBHSx1P1k1REHz8U_9vmBvq-Rf#*96iv z|H7UwsnUA)0$(xysO?Wx6=y(L;LmX^0R-*g0OuX90KfDSjB{ZiBK9kOzsCoAsCSM3;<|rnLhU#u$s`e?RmS<2nhxg2 zX2!@Mj%!ZFN6Q!3&+n%x2y!UjxKWHuxW% z_%v#bbwt)t=8$=sBQxMw4IH!zhpTa);^TM2Nr%rHC%%5D3pS@OYS)!eaC190kD>Jp zpc{dci#Zrj1hTG=CsMbHymOiZ@a4RaU#pB z<+zGIy~e0>`@JzcfPa5!q7&BDt?Jt_SmK<(ypRU#hPp(IaVj0K&@e!cj=QnHL(~+_ zJ55wW75f5!_r5|^UmV*916Ynrg?GpyBA{DE1O)MF6h^3IRN?`AYs|M6U_V)m-;HP%oF1H$#_tS<8h>lg`^bNK&z~dXQkFwJ<{G@0EB_ZsMX)L+CyheskgaxFo@`ip7x5a>2-8G7lrB&as5Sm_7l=zYlvhot=M*03N= z$#s78T>UPrz_6pMM8_r?C~S2bIWrP`2vyZ$&P9yLJxby_Mh>4uLH6w#0RtL#BSX)1 ztr;}E%lb)p)VdE|*UkIp^#vom1kah2>}Q^8($@J%^^%x{K#Jj5 ziS4nojmbNV))WQ4fOm{7>Gd5h_>>vluHl1zXYN2m9Nwm>$tgj%;EUN1))>qg^?r>L z;L&ZA$GzrVi8t}mQ8Sn4*ZUpR{o_MpkH1A5?!H;ENzH5VU6<|zyQcHLiC6?fp(w7= z8IENyx`>?u+++TPo1X)tQ(b8fBZX|0u}~0#>bY06Uglt*1ar?X(g40n-Z1V-aRt0~ z_6Ojt$4B;PWb59S(4sQDU^P3m>ciz)jz=lkk;H_}++x|25us{K8vP#9g+D`PBJy;M zX0-7r*6(kjL53MYTfP4BF!W*>}j7h{C5=k#IO$YzIzOB(fqs?5pOgJd3X)_0M zeneYZRss$I7QK;8QAR3z&o`x}mcQNrL@07KDrRKXIA7KWZ?Uxfv+S=u>8}Fm15wV; zb(LaZF@1>@uqS1@< z(INY!5Hx}=_%w2wwv@+Mk_c;KjAvwxbnMbjCN}7|WkGxUfPl>nLaw|~KI0qgaycYR zu_~ZanW8Sw{5*-!zXYT9T%b9+AVFgdrJ1tl^z^+%-RK_ayp$*qhcESeKI0teGwsFJ zE94(A<=l}b&R`TvGH~&93m2ObdXT9K@=qo$qGxSEqlez%murdRY1-;V5+jDBw$fJI0xd_^T)*UXN(}kcz%m?}|G4~Gb4pre#yh9W5NA_8M%GI;+`q6#= z-*z`{sjkC?1sEDsyC?WX<^OQyOVqgx_>3CIc^W?)FjJLU5nx~fcW?i4$3A=sqlmXoArkKPgPhDKs9=yaGs_;C|(SjZ6z=E z5Yy|RQJ$H%(myuL0#(mKEB&xKwl!r_dwaXb0_(x{!Bz!&x@0pMG7K&&fe|(Y+6kXG z*2s{cpsbxS3G|BcOY4xN$N}%^mSt(5i;so5ql$--S+WFZvrqC*HsEFpir#$6Q!gUv zbLJz;fQ9<7xPh%}+t^Poj*aJ7r(EjZ>8ZtvCM;|vxpbD8rqvo{>^?HQz?>GVKf~m7 zzXQ$w*#^_$Q8SN$nN=gR1_x*03Be2!=ZJY4Fc0Wi&L0T>{cicVzg#(lMY!?l#jeL+ zOt;w(+BGme_ie^7WNF*h3Q(Cu0=bPR$-(Lt2M4{hs6wrhMBxdj@R`L%x;BzzhbL;`R=pn0 zK{ikz;RH8vt4oQfj22s2#6?n|89-^s)H~C7{LCJegD?;Nt?fA(nm93TL!r?(TJdcC zGcvlMH0?YIVtZ1`Mmi(&o|mTKykUP|%=)vUd{nCvyxQ>MeV0MT85o(deVQKc)75+5 z_oFBC1DAk%ERc71cM+Kbr$Jm>>a>Z*OIS|UZS&nS?A&?1(1B!OybfNc#1^oriJWLI z<0Nb$+>O6yMwY02P(|-qp@X_(a$O6y%D$vCno^Cj1Cm`^u>ZK22LFmikFQAD4~yn) z6BJGJk~1JI&nLu5qSG_KdolnE|9*yvEs;syDR4-pGd8igGMb$2X`NAeEHF)*<8oH)KFTp=euBh?%L5kZ&gc9{3dRr|1;FlQh8EzX^(&8s$vvWY~=QZyJJZ4M6`jx~yKC7Xx^x5oq>O$4&+@(EW|bkqH)Hr zam&VJrGKUFpshkAd3~Nqlht zPcGASLSmmH%Ko+j@uPSB_kYTFVwOjibvcG_5~j09a}yW`Fuc)m=_cVu(L7#ivv}e$ z*zeG$__=Fz-)O3CHj~{Yy2Tea@Ax)FlZV>GMpX4eurVqzm?Dfz1YjLGIlk0YGcu6S zz!y)w1m|!M68c`OnY8z7=<9a@5b0*Wy;qKYKQN(m7j^ZzkGQ^<$h$M~yU)M!&#i~W z0nmi<-d+VR-|njQetuX%nm8Oc&U!--o30nr3SG3+uV*vCQu&-VK~q!<0^f3BO9Ex8K-Kd+ za9}Cay^J**sH$z-h_W~r`oZJ%zH3c%Z%j*s=%()Kf>*&MG#dRNW#TP}<127yZo~!! zY5B7(+DBVDcm%qyKj=5;6Zq8Sb4TJ<&7IjGw*O9U1W`U}@!jJzr=Be4+Me-&8PnyC z{QIwHX+W?ahP-=GrW}7h-J&SBC9aMUB@75Boma@e8NPxdcN}SsQER5R;qrpjcsLW= zQK`25YY2LL6-{MD(gy}_6*@eg4Ws+|Fm-Gj2PgU6O`bQtRWy-B-C0xz>oxU+N)l$T zSF6+Zi0!`LnAqZ&W|Nq%cfc#_#GYFd+v{3Fr9NxhwHKb0wyh3SbrbcfxZ6qrpWDgSZRTOo4>0Kq)aFk&^4{ee1-kky}#jv^|V{Y zDc7j4=~17FPqb_F4ygsX@C^_f?{dd)azg-f6>jLOG{ec*iKVW4$VEfwIjVQiJ*_qK zBRTz-!W}h9CR6l!{GpkoW?LHJV@Hzci}FX}<80`-D^mPMS&ifzK|9f*mrN1lowyhX z-G}wjkG9wIC?AsidH+eSo%KnqR)XQ9pYLR$^tp`Mtg`d1rk^a(`G;_{6u-=TZB0s$iVC1Mx6d*^NkjSOB!tXQ_i$m{J6`n43(5avJGj zgs#DFS?aa>V%p3$^knNSGRPQ@n z(fr7L37^LqhrG~V-^3hsnUCm7W?fZi0%MsgzyV`og!n0+6fU&A>_FnO2;a{oj~_~F z6*`5SzD&46xmsSC7d=vIW)8IULlhLlGJ|{G`bKNFV%==pqT+v0Y(*?kgkQd6e#0ik zAS7Y`Yar46JCap1bao{k%h-2s)9$AmGBjbf7nxeg6)}hmO{~)P47ir5dNR?g_Uvd> zwjSdo?o2WFVZh0@iB9zl1ndS%jW%HS_O8zy|Fz@(&{Lw$SvBS!xMq-3!`CBZq7~m} zDTSl4mBMeV$lbP(@wP1{kM$lz zabu6g)(k2Ky(43C7hU?KlOaV`i1aST{jTAMAdB@Lo{56Y7L#IPTkVeQ+WVBhOi(DC zz-Zz=mxPBZ+PoYnp?0by)&EF!mGATnDj$XR8pQh)yxLR=NWZLY>)e&0;!9s^wQ!Zm z(Oq!92u&(R#{T8xhNIe4dnMLZh00e!$Fw;Oo>^5@Rg3>3*C%mSGOIwbW|GR0og&ST zG!3SiE5sy4h@yT3C-7k>@RoyJA}s>t!$TMa3jeUV&rM56!C7W{l2ftz zDF{3ibMw??l&UKCy7;CP<3EKmC_GYFz{ws~i(2UXkPZr9vTQj!kpDH!)0})C`#f;; zQ+&`{TA^(G&hri^E^TZMMyM0D#36$5&!<(c=r3<$3+9$N1jUkX-KGG$1!jVZ z)k4IBgx~JQ-?x9~iedtE?8}oD&I1?jqB9A`G+;sVKahOf1HTzo6 zPw1}0;X(&DMQ#7Hz%{FmV1daxx9jqNljia8&5N9pCz2(DF-lzip%_p)i~QTfk`D+x zd+K&K*#AKQJx`KbSbH(Z1dvGomT=&sO>;xrH3UVyP{~5T1;X@h`zID{ zC3m2&pgso!-qIGKv{)Wul(FMmS@owJ9>nTtBCGjHx`jMcJG<18;rV1uYWQn@T%?Ea zau)u5M9W_-r)%TVGvgZduWWud>$eaoa6LsbL`HtzGhQ$7+((uK>}+_~v7qH1Qy+8# zBuBV>F#lTFbN}cCV9!8)q>Dudp(ZmaqS{I-@hA>>b^k|-?Oi)SK9bBGshxcprAy*mg=1>jDwT>aF(&oob#IzLWx?|~~ z08Mud)-kXBhxY_XV;oUy&GUJX! zLVc9Io{9y_I7r)Sye?hHc>Sx>+LhTWvXQ8^Gnf r^ZE7Q@@oGp@VL%P)eE}(U;MN6K9~#!JOH^HT7ct;)5k09&)@hT{ffb! literal 0 HcmV?d00001 diff --git a/public/social/document-editor-v1.svg b/public/social/document-editor-v1.svg new file mode 100644 index 000000000..a4506f6a3 --- /dev/null +++ b/public/social/document-editor-v1.svg @@ -0,0 +1,28 @@ + + Online Document Editor + + Open-source document editing in your browser. Word, Excel, PowerPoint and PDF. Local editing, no signup, optional AI + (Experimental Beta), WebMCP and PWA. + + + + + + + + + Online Document Editor + Your documents. + Right in your browser. + Word · Excel · PowerPoint · PDF + Local editing. Open source. No signup. + + AI (Experimental Beta) · WebMCP · PWA + edit.chaxus.com + github.com/ranuts/document + + + From fc274c8252814967f5a358e7b7a24bf87d7dedd9 Mon Sep 17 00:00:00 2001 From: chaxus Date: Tue, 13 Oct 2026 13:54:54 +0800 Subject: [PATCH 2/4] fix(seo): complete sharing cards across public pages --- bin/pages/render-home.mjs | 7 ++-- bin/pages/render-page.mjs | 3 +- bin/pages/social-image.mjs | 15 +++++++ content/de/home.json | 5 ++- content/en/home.json | 5 ++- content/es/home.json | 5 ++- content/ja/home.json | 5 ++- content/ko/home.json | 5 ++- content/pt/home.json | 5 ++- content/zh-CN/home.json | 5 ++- editor.html | 28 +++++++++++++ history.html | 28 +++++++++++++ index.html | 17 +++++--- public/embed-demo.html | 22 +++++++++++ test/e2e/social-sharing.spec.ts | 43 ++++++++++++++++++++ test/unit/social-cards.test.ts | 70 +++++++++++++++++++++++++++++++++ 16 files changed, 245 insertions(+), 23 deletions(-) create mode 100644 bin/pages/social-image.mjs create mode 100644 test/e2e/social-sharing.spec.ts create mode 100644 test/unit/social-cards.test.ts diff --git a/bin/pages/render-home.mjs b/bin/pages/render-home.mjs index 749326a1a..1341d74e7 100644 --- a/bin/pages/render-home.mjs +++ b/bin/pages/render-home.mjs @@ -11,6 +11,7 @@ import { DEFAULT_LOCALE, LOCALES } from './locales.mjs'; import { langMenu } from './chrome.mjs'; import { escapeHtml } from './markdown.mjs'; import { UI } from './ui.mjs'; +import { socialImageTags } from './social-image.mjs'; /** * The homepage. @@ -177,11 +178,11 @@ ${alternates} ${ogAlternates} - + - - +${socialImageTags()} + + + + + + + + + + + + + + + + + diff --git a/history.html b/history.html index e7b02cd1e..46151f689 100644 --- a/history.html +++ b/history.html @@ -38,6 +38,34 @@ + + + + + + + + + + + + + + + + diff --git a/index.html b/index.html index d72878d60..3a42ecceb 100644 --- a/index.html +++ b/index.html @@ -66,12 +66,19 @@ - - + + - - - + + + + + + + + + +