From c06eef6b58ad128e63b9fece3ec2673f6d231b6b Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Thu, 11 Jun 2026 21:27:32 +0900 Subject: [PATCH] username label --- .../src/PlayerContainer.ts | 21 +++++++- .../src/utility.ts | 47 ++++++++++++++++++ .../frontend/assets/world/chars-black.png | Bin 0 -> 46339 bytes 3 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 packages/frontend/assets/world/chars-black.png diff --git a/packages/frontend-misskey-world-engine/src/PlayerContainer.ts b/packages/frontend-misskey-world-engine/src/PlayerContainer.ts index ee59a3e864..6331a48dd4 100644 --- a/packages/frontend-misskey-world-engine/src/PlayerContainer.ts +++ b/packages/frontend-misskey-world-engine/src/PlayerContainer.ts @@ -7,7 +7,7 @@ import * as BABYLON from '@babylonjs/core/pure.js'; import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js'; import { AccessoryContainer } from './avatars/AccessoryContainer.js'; import { getAccessoryDef } from './avatars/accessory-defs.js'; -import { Timer } from './utility.js'; +import { createTextMesh, Timer } from './utility.js'; import type { WorldAvatar } from 'misskey-world/src/types.js'; export type PlayerProfile = { @@ -75,6 +75,25 @@ export class PlayerContainer { this.subRootContainerForAnim.parent = this.root; this.subRoot = new BABYLON.TransformNode(`player:${this.id}:subRoot`, params.scene); this.subRoot.parent = this.subRootContainerForAnim; + + const usernameLabelTex = new BABYLON.Texture('/client-assets/world/chars-black.png', this.scene, false, false); + usernameLabelTex.level = 1; + const usernameLabelMaterial = new BABYLON.StandardMaterial('usernameLabelMaterial', this.scene); + usernameLabelMaterial.roughness = 1; + usernameLabelMaterial.diffuseColor = new BABYLON.Color3(1, 1, 1); + usernameLabelMaterial.diffuseTexture = usernameLabelTex; + usernameLabelMaterial.emissiveColor = new BABYLON.Color3(1, 1, 1); + usernameLabelMaterial.emissiveTexture = usernameLabelTex; + usernameLabelMaterial.disableLighting = true; + const usernameLabelMesh = createTextMesh(this.profile.user?.username ?? '(anonymous)', { + size: cm(5), + material: usernameLabelMaterial, + }); + usernameLabelMesh.parent = this.subRoot; + usernameLabelMesh.position.y = cm(50); + usernameLabelMesh.billboardMode = BABYLON.Mesh.BILLBOARDMODE_ALL; + this.scene.addMesh(usernameLabelMesh); + if (params.state) this.applyState(params.state, true); console.log('PlayerContainer created', this.id); diff --git a/packages/frontend-misskey-world-engine/src/utility.ts b/packages/frontend-misskey-world-engine/src/utility.ts index f79e276087..198b8fb2dd 100644 --- a/packages/frontend-misskey-world-engine/src/utility.ts +++ b/packages/frontend-misskey-world-engine/src/utility.ts @@ -303,6 +303,53 @@ const TEXT_TEXTURE_CHAR_WIDTH_MAP = { '+': 0.6, }; +export function createTextMesh(text: string, options: { + size: number; + material: BABYLON.StandardMaterial; +}) { + const meshes: BABYLON.Mesh[] = []; + + let totalWidth = 0; + for (let i = 0; i < text.length; i++) { + const char = text[i]; + //const charWidth = TEXT_TEXTURE_CHAR_WIDTH_MAP[char] ?? 1; + const charWidth = 1; + totalWidth += options.size * charWidth; + } + + let xPos = -totalWidth / 2; + for (let i = 0; i < text.length; i++) { + const char = text[i]; + const index = TEXT_TEXTURE_CHAR_MAP[char]; + //const charWidth = TEXT_TEXTURE_CHAR_WIDTH_MAP[char] ?? 1; + const charWidth = 1; + const x = index % TEXT_TEXTURE_CHAR_COLS; + const y = Math.floor(index / TEXT_TEXTURE_CHAR_COLS); + + const plane = BABYLON.MeshBuilder.CreatePlane('plane', { + //width: options.size * charWidth, + //height: options.size, + size: options.size, + sideOrientation: BABYLON.Mesh.DOUBLESIDE, + updatable: true, + }); + const uvs = plane.getVerticesData(BABYLON.VertexBuffer.UVKind); + uvs[0] = uvs[6] = x / TEXT_TEXTURE_CHAR_COLS; + uvs[1] = uvs[3] = (y + 1) / TEXT_TEXTURE_CHAR_ROWS; + uvs[2] = uvs[4] = (x + 1) / TEXT_TEXTURE_CHAR_COLS; + uvs[5] = uvs[7] = y / TEXT_TEXTURE_CHAR_ROWS; + plane.updateVerticesData(BABYLON.VertexBuffer.UVKind, uvs); + plane.material = options.material; + xPos += (options.size * charWidth); + plane.position = new BABYLON.Vector3(xPos - (options.size / 2), 0, 0); + meshes.push(plane); + } + + const merged = BABYLON.Mesh.MergeMeshes(meshes, true, false, undefined, false, false); + + return merged!; +} + export class RecyvlingText { public maxChars: number; public size: number; diff --git a/packages/frontend/assets/world/chars-black.png b/packages/frontend/assets/world/chars-black.png new file mode 100644 index 0000000000000000000000000000000000000000..b611e3b20a721b50ee05264e31c3ea04612b44b9 GIT binary patch literal 46339 zcmdSBWmuKn);7Ed5fD%*0VxUTZlt73x&`TOSRf!F5=sbyG}2uHl7fJOf^;JyAtDVb z(*2F)z4yKMe)ju($M@&^@p9ZDu4`RuUUQB)#yQUOoGU^@O#vU50vCZm;43N0Y9SDq z@JCDpHah(8SJ0a=1mZ%ay^aCW;Et-OrK>Zixs|JhHK&iW8@!G{h)MdmnOizqBWW$H zZS7se>3%l1(b3vliPPx|+~L0CCSz@9ujuDtt?j3#W9jE;DPlz@DS<2IBMLWgwnm!M z`Zznec#8Un)BU-xDEt}q*Iab8e=b2fiqjd~(V&%a^{}QD;1uBGrjx*>74xvN5!I5F z|Hqr*H*q>UB+^Zki|hXV`<(arI9)w#xp+iGM7X$lxp;Xw;0g{;Ul*jg4~L59-jf;nqo9o{% zcC&Lux_a8V{x5I&`{n<7qm|{~AL8ca;q+(xR+e1WPS(!WE=W(fp65S4$lAyLU(fs> z!$Q6CU$;lv+x#z=qh9&1%VBNq-1&Pz|8e_&KDD#+e~iZyDd!Cn_m4&RKfc3L$Jfo8 zOUv5R)yu=uTFx7ui~i5t!KaDJcvzbwt!3d~aXMaZUO^6SehwaC9Ug8`0e(?lZZ>Wa zQEu+PufF4IWpCsA?^g?Q@bKvHa*Of{hzjuh&#NJxtjv+-|6i{Edxb<%SN}CCh~@wH zA^q!3GOkXp9xyt13cf$1{ntxMGBO$-t~T~g@S3NVf;6p?oQxokh@c<`FDK8RYf&pF zs$uVA?PMTp56kWeQ7KNx!_CY8KVCNcUtj+7`P#4{;Y0qqDQbO1m7L9Ot@Z7#kaque zzkj`=YVBhC-!Gw7%E=40HFRC`(NHD%yJ@T|IpN?eny)-T(9R{_JvE+CQ-?YHo>oRB<{t4_7NM zOKYn?PYWae>s3!z8{~a+59`~u5VqoUw{2|fVN!f)`8fZ%dVgPf-_9Ct^H;?DpTd&s z-=E>1V-n-~uTlT?$p4n1;C+An9b`U8p8a@4|YjNpw9bl?*qEr^k$Mdnq}MrgGnA#H!4x zh`D;p@tx^gJwrCRd@BwWi;&E1n?jrT*9{K_mji!_6nPF_P@yf!-|=J0A2ICzxhQly9lDkX|n4tWy13zUmqFu8;eS>rT(8IO2+5N|`+W6`Jc{IB!4ydAHo* zcZ^$6JhoiuVCY2w7L9{}u@1&S9+7+BT%XrHoV%3dZLaVpvO~9=p*ErF&5Kzb-lBwc z9#f0h!fV&w?|od8?~1*AnZPFHeN_6@PV4)8p;6`{n)I`V(OFFN)sY*lzWftUp40Yb z7mIXLlUyefXXR6x-8i3XU8~mAXK9|nz#k0Xn!Q->e8581`6 zz>|B$b}bi&>T#C!NjTnIx^{PHw>Z33L-SS7tM?Yaym2dTuQUcPC29@!?7t9`GLvat zquATaF+KUB7lc+gZHF5{;lT+))p2A$Ht3$p9&VHo)i8D6;t?>TT4tUC!#ZZd8GHLeCCrL|7Q&v`vfBu~7 z-W#7E(;{gLB@u(mw?srffBx*XHnzH6+4f_yI`8F67bT_c=KDW!FJ1EV@EFLrm7JM5 zpeV?hd@Jb8-`3VvTU*=Ei-Llpr?*!{Svgbu0VxTI*Y?sKQ6epV*V#9R+soIlUvID< zl`p}UqtgrwY;9``l9GCu^onJyE$EztO%IP!SVLc5Kdis3tSm1#mw;L<<;9EgEvL1w zZo8>_3`yJDzrd2bwixMqrt`6x0n^7rrGwY9a|%Y#feZ}MIrnVj?)&XsFB z-Mg!&r|0JO3!XG#%73XZ^~aANot>SRX(WtadoXIdS{Vvc4!rT*E>z2iG&iubTbb{8 zYS=a$}@G#oK$Y^XYX<3yaz`Z3%k%JQ(BT)YQ`QGL2-Q7&rH`cig|de$LKxbrreJ zwd(5X+74#U)Y?Cn_ihe6J?ehW6tp|8AHVP6?OiYL&2}-iYkPb9x|mOu26J>w%-*kG z8s?WJBqU%puVG^{sb`8IS2RpaG6Zv3!+IChGDN+8eSJ6Qzuo`IG^l@h+ntgNe%RO^ z?Ef%PRaLdKV^*1cLl(Z}gIWVvSFiPnr?rm^*h#T585tRIaB$#`s>;f_A~|a(r>E{L zMe12LqE}%e*jQNJvA|t2Dl550OIY0R-){>z_I7rzIH7lNa*BTXG($2-;&Dfg$b62> zySLT|US5LFf zN7S+;I8J}RG-*zPWiV+AG!b2cdyda7!+#6*eNT_PcK1s(AQpGH#66dyUp<(tb4=c$ zhRLXldoHS=(Dm`7Vz3nLu{KSY`rn2$NB_EwL!U# zN3c}Y{h#+RFfh_ar>3TG!=zUklxN!8+!w-k>ZNn4g3iyTRLUN`ctN=u3g8>&EDlyB zM;xZP8_A5gf3AW%w^n7RJ-3Pf1Bh(|S}RcaHC`jua?wGH`LJ`*~ue$4yL3#Kpxa z&qNU6hF!gSwZ(7Of}si%LWzwnFY~pWo?cQ&2u4UZ32b4qv|9`ep{vF;PokrB=Eu9- z#Uv%?`ud_*4`jo`!{IJH_YiegurX`vhB{+uDvdspCUcn1%K@em@n}^ z%hPEL&NmDW4({*oXIo)h}+!U zOdTk|ZSNqBkO(;9&bZX_v;}1K6+>1PbJ zp>jEtn{**p0$kh?C)UU@-`7+1&g+Yd1#uVer@12fprF(yk3b6BTv{sJGVQ{?emxx$ z7GK7HUVeitftd&(%h1P z7h2=}pR@2M2m08az{ACBdg6)+AszF^kT3er^vS|kS62Em#c%QQYSEXhB-JAbK< zqgN<>P17$l^<7Lg3j!})A!KoBDg5zcmE@Jx)!iR6U#6xgGHyO$?6R=7CLtzfur*eM zwU4^S1yvNn>Al4kjK$K<&d$Lh(&hKw=G{%3#C1qwkRC=DH>c{>r|KNf&rYpP7VjDv zK?R)r@F6VeVSOgkNJ^SMi2FYD>C@#) zmyXYle=d&M+u8XX?>XDp*eEF}#Zrs=?W}BVHq7<-?(o2L1RU>)2b~#T@hKsx!7b421Y(+z(fy&zVF;)2^sbu&Y4*hWxcsT|9lLu8oI> zr=_iJ-7WF}kKSK~Bplsck|`ta@7 zFE>j|OV(S^Ze$-GtCnC%MFpK5KIS%mgc-7ZSqkGJ%iVgXxLq6~8X9$Lwn- z4(s95r+4n$!MEQ?NFWX)O2wn#XXfB|irg+OWp#9Pq#(F0U4n%OH@|uFCdB5-O>=Ye zwf95c$q>}BMQ*GX_4pSGR{&Z`=RDImn7Kd4Lnv>tFc!i_#<;z(BUKJG_iAjCI z7#Fed$gYr(Fq#)$^)aDRH?!b8ojSQ;8}KYpWo_wN1J*yyX@JvO?<8iHmpxl6O# zMH4h6#zp}cszT=2GDL9 zt5JVxS(!}iR?VPT*XC2#qA7S@j>yjg5saGqipPP%?Z@4tVI}xL?JXe)#YK@8ybGk#><<4n11n!Td$}c0^jvb83D80bf5qE&sDi zZ@c>8s!yM;wP>=EMhUsjo(#|3$R*;m9N|WCKP-QFe!RD7sf6)$yi7lokcuh;vLCO+ zxOo(+H#uBP4s8bvd#}Y$w~p#wt3P>*=;D^o$_MHP&ji&HjN~$<`0x=U^KDSI0L0(E zeH%V1l&0E~*$rw9VF8qqa@g%RZ-yhSJXKYrrD(Gy8N$uA3srfzxoL@^9P!_}l^!R? z&&J6qzuYWkdga#^4?n*wlf#pUh=`aN8-~k>a$dh3yP%-+LCJH<(_sMaLe5jNLHV)i z$;qE)n(q&LtiD6MYC4;PiGoYUTqJrRW_0e|Q)7l~K`&mDtI1>W9$OkGX5nswi>_@} z{O9k)XLNgHVm{nCvh1Wq1qCHP zV?p?A<8uvEDN13thxIzdr#qwS5LG$`6(uDsoSZJO;Q{~i=f_U~YOU2c%g=%$ohItF z7Atwi95iTAEzH8g0*!GAc`ej@g~bmSrAQ4&wM<`o$PJ9~OWmn7ZM)Zm1l(c=XtSV~ zF$9epPp0_{HU^hT(++IBor3(Y(2qk;oW*U9o-;i z#$4MuB z*neGJRdTlvgC1i-%}~$4U}bSJY~bnkLagME*_QM;MM8kwp%>Z7!VB{Ai`#6GHmCK@ zUyKY4;Lp3{WMt5sY)sX$-MnctUaA{9Ye*JuZEamQZL9yZ2_GuGkWC+%w7IqQBCs$8 zD(Dy(!#8e1J7oUGuq0+s;@AlmuHxv55ld3v3xtG((+>nL!mI*d86=$UN^Kn-e#Z%R zzu(165RwY9)N;MHuy*z%3{wmKM$o`LR)JW*y@HP2{;Xi-OBH~-mArYmS@4mPLKyKeGb^%_65(dNcrk{TeH-d= zj1|^p>gf_~CfKecd#49m3-$vM_poxVy+@7wBk)(l-d8Wp3!gztDtUhL{GIOiG58@S zB3f8nlsm8FWMR3H;3oXSyd%83v<;pH3PVF~(hWq~E)ar&T14-8*2hY;FJ7ij*c}DL zQXknSXJRq~Xmlvk(xeG#?nZ@ETUI3BIh=FL+`;dD!5jZWE&ATt5`jz4%IDkiF*<)v zzuw;X%-7C83q3`3UER~zSbZiean5^hQnIpwAjVx=59OPt+uI*4$w)nT3)yd`r)O<6 z6&u?bQT2W8yglsFZ`aKlUy31sC>p73&)(TfUBbm3Le=$;QKJBBX zpPyV)7Xa6o0=sb&vILq@qkaq{m@!Juu!_wF!5x@m{cCQofEe)Hyqn@f6HT4~!|BooBq+E2Z*m!@qn0Hl}A zxl@iF#zW+RtGs-8dir(y)97eCX$&b|;znJ51UDXZf4Bq$H{Y-!y}TadkxMV%c>m$U zRf-_!h@dbYA}J8CEPOe#^sZRDN_sJtqG6E?4ST6-H`Jjk0H(_}E8wPyV!(v&vnWTYdU9VGr4v1Vqyjg@1(=CD+gsl@X-Vw+-`!BG1S+mn$fHYts^vQbi`VQ z2H`A;i9m@^-pC+O6ezuqMn`oPWu8(~i(EwBS3(#** z@BJJ|;mHFo5!q=L861q}_bG`H9~yEXy6o8Q18I^c|I`9i<^g-On7u^E=TR8>9u zHHqyk>u^_E`cX(o2r>eiVITxLW2jU-36Jii@?J0@*aN5+9g4=^{9vEc{Hh(n;~Ll- z0HNEFj}b4#d|$~tCU~&7F+6(wwbukj1Lzhe3x%y%zZB8myx9q}`P<7MkgDF%aKeih zC;M|jKR?$zc1t_~PGgh?mBFC1GYvc}K<3ocY(tg@yqDWf06j@;%4#HL`*wZV~KgD^7m3+q|r5())OL8@A?IoZuC*sv)Sn8)Dy)__}&J2bsrfo%bXK2)AJ+6zv$;oNxHedNTKm=(VQIUxH3}JV=8#mB6 z=Bms?UcVOUH(#j*?E(Pe72Kb5ZG&g8#~;cwFfl!^4}^7=JNGyKnx`NtPiexD=q%_u ztLj&D4jrf$4W^m^sI;xm-t*#kR)lmPK+1c6iCA$Gq$kAQRc{aG*)!8|a%J=w8j6dbpea=4+iM2r@9per`^;Gv!6(pQ3<%JU}wO-@%pamoLW>F{x!Qic$Xr z3IzD!9R>6XkU-9$3tB99l}d*_ncb^oPPQ~Z@4mC5xzip^9NTpX2j>P=7vNBm$X<~k zex27(mOWnQcLa?O8-=60PF4kL(2+)w`^tmPB6suvA0HnB9Uc06Gw8(KnBd`L!triI z@7NXrr+oZ27-L0A%h*`8$>YX>K?`gaZtg1_KZkNUfWkUCIVtuhf)bryP*80}pz&6% zBOHHyrdcTGS>5PCE@TB#a`K3z?ZXp5MY)f$5Rh8bK;ej9B?k5#D7}{z6^z97_M=Mx z?i3XjH73ic`0a)On!$R<%(lIRp8J(`)XkcDtWtgiOzC5Sb9@|}RVhP7MQn3VpoEen zF`@5jf*n1SBZISOZ*Q;K-zIYZhw%vGI;6XsswvN&J*)EDbr`WhB=?%s+6_ZR*4EOp zu&{s#yhcJ&Agv%uK}JUAG+A|ngToodZx<_0*#$)aXp{Gff^QQbn{ES-U?=jpV{2ze zRb71!l!|h$klP_xuu0c}+|18dd{t8;@PedP4R*1(?{9{q5;7{PenskW)l9L&v(sa{ z*U)Q2Qy>`^vGDK+2(U@+(M})$CSIDTh+;1TH-M6Bc6S+1%^GTJceb~i{dQTWwl8*Y zR~x+X+g;NetN%o-Yl9~JSS?DHE+{ByjjfnU6!{VQW^V6^?rwY7GOXW+iD5=Yx}UTj ze7of7xee7MyCLg?#TGO@_DTx5wY6j8c-cDFhr~R#w_+YTe!4Z>TO!0?6eADE)KJ6n-Z3pwpbH zv5nmu)wDJ@zwIu;M%h(UQv)HDy_=f`3l5*2yfgX+&?Y22D4v@DA>aZ&US4?RQ^j2& z(Eo^th>%G;q@WL+ot;go;!nEtB(R{u4_dNmxMWArTt)`NzKvo6y6bdd_ixZ;1|F?4 zwa5DHZTOy@9A2fDuW}|>EKo@Xa<-@BSy~!yjl@uSQyWD>fC0WQFJHTMZGB}0xi;4Q{{44Y4p~>)dJt)B+~O7{-cL;EF%Ztv zXql6j9~}6!tI5(`HGd>o5g8NHIo=sQyG%ep0HAb@M#aE@Ogxy1ifUXvYT*F5T4wL# z(RjcKyO)EN)j6D{2G8^J8RX-O%hj_aKqPfI!^yvZi8=Iqx~uE)ud-oHd=DL6-K&B? z6b|1rvc{(pB@S>Nwk>j6SXlwyL*>x+$qRuZd(x{{Z-3ka1Z0>9731(|*Kvft$#?r^ zMl}v8y8-R_g=9u1CR>;kq>Wo%3!0KVD9yhR|)^EOJIwW5OeaCFYq6b`#}>D*;zYUQ$7)suZ1D_N7U$w|8K` zrlU3;`ZS1Py`YS%He7{?P@2l1>hKC%Cd(Tb8M&ZDHsT6hEv=F4+adhCPGz9M!iHi0 z8HQck)78}l1x+msG6)Dt(Cvos^6?d^rfTWvgr3=fDp}z!RTUA@4cSqVCIDm8u+D*G zbti-$hz|-L3(TqK#)iT%7cX3}_m_2K%SECPt*)_gd3#0;O6$CKjcxk%UiK&hTS0yO z1RycS%j!VPS-HB>kdTCxiQe9Y7_@JWC_eK?hv2BMsj)nXsgwVKFf=qQX(J-ZUT#bK zi7o$qY3U5o@w<2L)=oGgqoPbqOjaq;!V7iRGNR53_&r!1a96Ltz^{4o(cHq~(SWGp z4)Z^~09@=9IXULQ1ZTc^uwuyI*kB|8t<0Tt!IC$9($3DCkZh)>r}@((b0-dNM3|F#|N45n z-SSdmR{BLOEJAP4a&Pw+CRzdjW|idggWuW$Pwk?VX8@>Yp`^okViJtq z=0uFsGiN8K1ZtwBo4!*=V8x7hWwyth6B}i<@G7-2dr%k zl+Jc4__42#A9NRIefS_y063Z*TwDr0EqJM8^|iF5PxIr7OG~9~(XG>gG6azTQvOHD zB=`eRJ^krIv1biGfSpeWSVX0K`_Y>s7>`!Luu!x?!W68?V6k?1YyPCNvXVy7i45lJ z)*c7wQw{^-CTg!&nK#n z^h#4Y7Wyl{Dv zHrj9}_wMfO`0uR5og|BMaBu*k1s-^0eM6hVgdSsQr)sikq_Kx@ORY~AAtIgii`v=OQlIOYGSa` zpWuQDcl>Lgw<>Umoo4_64aOnob~Oaslu_2Lu#=vxUXC zte`WNqMKQRmk9_4dV2h}zI}ie(MorFYfA|tw5JCb7x&wikB9fca#j#%TCGsg#l(!S z2T^e*U%ztY8FYi0nXQhWILEyK#{2-Pu)LfdkRWGr+2_#T_S``p9>0N+JoIn1A<_ay z3`FAuptva{gAj;^9F$a4^z`%>(9t;cL6MY|eGh$3%0QGk87UNIt7JMpqGtJVb8Tj*dS0;A@MpmtbrE_E3fnYd&Rb6Qch#$G8>c| zXI*Iu>(}mX;!7eJiK8o|6}q_Mf~AG7SOHHlEdm+|b}BGo@%8+e|C7`v+k)CUWqNY9 zPOfnp56P>Elvh*$-J*UJmzw}N#M9F=tpfvrU^BRTS3zE0Imnuoff$#bjxMF;e*3}} zu&+7??+1H&Jlx#OxL>nFy5i*IEcCzz^^DJ^&rEO=8Y^9&Ev3Wb<59}lsi~&duMI^z zAbd((smaM%TAV#S`JA0oK-(p}*YfZoV%(eL$`z@}aYzdSiK8PUAV_QaErW`YzyEr7 zcel5kQ0^*xpkISlR0$A>@+xR;r>2a?C4>MD0Y2-{`3*_4>?8t| zqgu-@g2MRc6yVhW?Q~ZLd@#Vk;9=dIM%Q_aD?~e93o4s*I7I$hdLG9h{&hh+j*W{y z=GxQ`#zA@4o}Y^AKmmoT-jH{SN?xo8(8VnDCUM9(5&#^nP_iSU7W27M!3UZM(iL=0 zyF2RY>UXHFg_}c_Sg9;7F3vtUc@O4=fFV}G2)pL2+=7#|0RQ|e^CfYjK%K0jo}f?r zoKJ_H6!04l;q2$nh8f@K;_P5UL^CKD-o2ZrZ;5Na_e$OnK302qH@R?ZM&aq?8(+Q~ zGIDYkcKgBkg`Ex=)9`_P0ciL+T-iWNzd8n&nZkbFJGLA&46G*~EZWb&i8Pc(NpLYh z98$ZH%P&vi7mpsHONXVUQ3M18AYB2Gg{INPeFS)qT86l|;8s6SLUrozsH(~~fb=}> zBz;h zkcW=4awP5{)19>UP8%SeB+}5-o#04IORuQU`dvrV*VnIj#p2%o@e@dp$q4Yec`EXt z`EdYfP;&i}CG3taE@U*-5Jk!%9YjG*9rME$keFTB!f>7fg&1=Lz^P{$1C8KKI>E=G zCpTg@d?mYZV{ynSu-c&SV}HW4XIBIygWM>Cj&@j1yU`F*0ivbOq=baLz%KsrS%Av@ zv9}jAvx)KXO-NP1HG@3~%CnU-Au%za-a;d?ap7CH9*2cp#RWdAthChVj19*XNFWCX z<)-Jrl<$Ia9mT=|R=uxK(uRJ6Cj)v$;0{2^z^9Qoffg#^%-+T2$Njkg1%3I{ChtvA zpxWCL*uhU)2Lw^h5~OtO87EBicR(ZnV5rL^tOi;Q(1LQZj-DPka^k)%0W}J3?lVr% zE_wm}@+Yak1f{cGiH$G<<+NGTZvqNfNl}sZO$M}(0$&inATMrj(-VV}M*W3woQAO3 z+lMf)wY4?nYv748;Pup(mPWrp7PA1IORM)Lg}EeTXt}!|z$yXP=^Zj#MLc;z2Hwk@ zs@B#(aO=Io3X7!>So`)NDl1@*Jm&-w#7?a8h}qebCr{=AkMFRtkgU$O97mJ$eOJd} zG`F!41icZIT4to1+mp!15j9Z+!i*d?$&N&-?43LPKqttEvONN9o0XMSev1<#A6ir- z^@UX;1TaV=J$rk5fMD{g1tg?23}RYW;=R|4&=6|z#ll zjg5^VCTi&DZtt5pIT`Ef$`!NBBr4W`HFG$pRyYP=N8G*Gwe@vd8=KtS?ccw#e%(ExT5dQfsncyG&faFIYvZJ7HFMn4ETFEQU?7RQNr{NcauKfz_p?OL~1kMx_ zT9^9{4|;#TtxAH=*0-=1N99J5!NmNC+Q{BT5P}HNiLYJL7UKbnEvyE1dT*MJ!X2p1 z(u0^_n5n(Fni2|S8+KIfG{B`940{=)G9p!xTemKSN$(`b3wA1A2D8KG?rx1OZzPC+FlP_trg-#K z5}XlcWSz^~!|C@R*W_^Ul|WvWX22il{D^Ibu)DtcDf@ej{tVFeAq3hO>38%M`g z9QIy7_tNCz*T}{nkHPukZ!?-91LPEmg<)X>Y(eD5J^npxql>=tts1FW%fjoSCGPcCx z0Y|leeLSLNhLbP?{BL&H>=#8ZTBy_mbqk#Q_MyKG5$gpC#11VLF1xLuy6EF`Wj=m> zVrJ^<*Xb~=;0&@nPPIzCq+T`GV8GoZ|5C_dE> zg{Ks9qFH89K!4MSc!VO+y+|KnA;dv%f4JwWrl|N#H*0CWZA2|oEFzOI=ydm*ktbk; zSF;zOUzb~d?j2@f3NL+A_16nBTU`5~~rn1G= ztxQIr6PyD?$Y&~QX%U~&1Nu?KXmn`kS?w1kUERdExT{7qCet$DLWE-p$6c~?tgMk6 zPmi;Ju#kVGDeE`Pjslsgw)uaJC}_yt12i$spa$TXLT8|UmbBdsgX{x>eHil8(&i#U zar@UV+6=W&S}v|w@l>VT7!L*W_uG^n>~iy-=u_Bpd5+Z3iHT8GC^dC{1R8u;NFYRf z4Dx48%qu%h1A~vhXP2R&SaHDPfF8r>gN!2C@g)S}yc!7Mkxy-aIh$;qE89Xe9T7l; z|1G$OBX6VwN9Vk(6A5(f3yC2PK+lu@Y?mkywKu46jg5?ySMCkYyAACwfs4IP9EP%L z)CQfmT|bo6904#EginZhF5ww@&bNn6Nm8Uj&nkbUNlzF7f9N#hjs!TRNFxUp^pUHR z?3k!D^Hp-n5%DaBePg^V`RGAXY%N+gahxJbq=#VyH#a{3Ty^pbJ@{drCnijTTE0v$ z4psj(c7ul#;LOV5V}cQY>;%Nb$hbTN(@{P_mwS8Y2k1iVY;#Ud{7Li#hO@!P)v$)L z4x%LgZImBabvgIXY9Qj0nh>WT1%=MQuqawX#$6Gi;o%Oq@njCjU%{l6ZxYJ6ulgDXE5i1ws2XT2gU2GKifNxYxLR5Mcx^aI|T_?AyC{((aPjl%$oKhW~J92e}tp_<`GLBwq>SvYRbMAk%AU5ssoM zRh^@Mvvfe1@rI)}ARk+LLz3X*<3lE>KpIrJ0Pp}=-A)SB8d#cKOJ0C6pjgAyba10| zwj$t473T3=+pD*eriiyiGRc19zkhp3TmeK; z=b(#6d0he81#Urz+l*Z01vRF-4GQG}*h_k*Ui2kaPcP%? zn+OI10f#Z>LofMQ>P;{csAsCrln$faAb?9l>-lzgyMP+Um zM6~$nE6{h{cI6!5!)fSIN2F{rWb?|%bU;?fdEC(+qq@-+0{yPMw3t8^!fCou^MO4H zwA#SghbqP=)+;`k&C3h5--bBITkeGX#2^{4yOww&^b-geMgiC9#^AHD;o-QrkanYU zX|s{Z^E1W^e~Kb8VS!7p1NbsFG*n`?tsj(O3u}!w4cI05;AkO{1(u!%(({m&1fHuhj*pLn zYk-mX_u&b^Vi2b49BlV0r9CL{Qdp)lwTuP35}LdkN5diwelHJaz3RR zoR=BRc`_MvaTpkpJD|_VvVMu5?eO;U8uzw2M4`>uL2ⅇD5{PEdnd=<=qB?0JK;* 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