From 77fbb485d71e9619dff3269b4e371b9b370ea21c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ana=C3=AFs=20Saraiva?= <53227802+Kisakay@users.noreply.github.com> Date: Mon, 19 Oct 2026 03:46:47 +0200 Subject: [PATCH] pala M-afk: kick inactivite + bypass grade (wiki reglement) --- PALAMOD_CDC.md | 5 ++ .../fr/surviepote/pala/core/PalaConfig.java | 6 +- .../surviepote/pala/core/PalaPermissions.java | 16 +++++ .../fr/surviepote/pala/events/PalaAfk.java | 58 ++++++++++++++++++ .../fr/surviepote/pala/events/PalaEvents.java | 1 + server/mods/pala-0.2.1.jar | Bin 419305 -> 422716 bytes 6 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 mods/pala/src/main/java/fr/surviepote/pala/events/PalaAfk.java diff --git a/PALAMOD_CDC.md b/PALAMOD_CDC.md index 2490749..4aa359d 100644 --- a/PALAMOD_CDC.md +++ b/PALAMOD_CDC.md @@ -591,6 +591,11 @@ avant M4 (TODO:crafts-machines). vert = +50 000 XP fermier, rainbow = +50 000 aux 4 metiers (wiki VERIFIE). Autres couleurs = mapping non publie (TODO:mapping-bonbons, sans effet). VERIFIE : build SUCCESSFUL, boot Done, 0 erreur, lang 228 cles. UNVERIFIED en jeu. +- M-afk LIVRE 2026-10-19 ~03:50 : kick AFK (wiki reglement/grades) : inactivite pos+rot + controlee chaque seconde, limite afkKickMinutes (defaut 10), bypass pala.afk.bypass. + Lecon : authlib absent du compileClasspath (getGameProfile inutilisable) -> PermissionSet + joueur (player.permissions()). VERIFIE : build SUCCESSFUL, boot Done, 0 erreur, 20 cles. + UNVERIFIED en jeu (10 min d'inactivite requises). - Client/mod : boucle visuelle OPERATIONNELLE 2026-10-19 (Xvfb :99 + runClient SDL x11 + captures Java Robot + pilotage xdotool + vision_analyze) : menu, Select World, monde New World (creatif, cheats), /give, pose de bloc, inventaire, F3+T. Screens : scratch vis*.png. diff --git a/mods/pala/src/main/java/fr/surviepote/pala/core/PalaConfig.java b/mods/pala/src/main/java/fr/surviepote/pala/core/PalaConfig.java index 25d56a1..4eca7f9 100644 --- a/mods/pala/src/main/java/fr/surviepote/pala/core/PalaConfig.java +++ b/mods/pala/src/main/java/fr/surviepote/pala/core/PalaConfig.java @@ -67,6 +67,9 @@ public final class PalaConfig { public String discordUrl = "https://discord.gg/paladium"; public String shopUrl = "https://boutique.paladium-pvp.fr/"; + // M-afk (wiki reglement/grades) : kick apres N minutes sans activite (defaut 10). + public int afkKickMinutes = 10; + // Cooldowns sticks PvP en secondes. UNVERIFIED (durees balance staff, M5). public Map stickCooldowns = new HashMap<>(Map.of( "heal_stick", 60, "speed_stick", 30, "hyper_jump_stick", 30, @@ -204,7 +207,8 @@ public final class PalaConfig { "rankNodes", "hunterKills", "farmerHarvest", "crusherXp", "crusherResults", "crusherFuels", "crusherInfiniteFuels", "furnaceSmelts", "furnaceFuels", - "serverName", "wikiUrl", "discordUrl", "shopUrl"); + "serverName", "wikiUrl", "discordUrl", "shopUrl", + "afkKickMinutes"); boolean complete = true; try (Reader keysReader = Files.newBufferedReader(path)) { com.google.gson.JsonObject obj = diff --git a/mods/pala/src/main/java/fr/surviepote/pala/core/PalaPermissions.java b/mods/pala/src/main/java/fr/surviepote/pala/core/PalaPermissions.java index d016a8f..51e754d 100644 --- a/mods/pala/src/main/java/fr/surviepote/pala/core/PalaPermissions.java +++ b/mods/pala/src/main/java/fr/surviepote/pala/core/PalaPermissions.java @@ -27,6 +27,22 @@ public final class PalaPermissions { PalaStorage.get().markDirty(); } + /** OP niveau 2+ bypass tout (PermissionSet joueur, meme pattern que has) ; sinon rang. */ + public static boolean hasNode(ServerPlayer player, String node) { + if (net.minecraft.commands.Commands.LEVEL_ADMINS.check(player.permissions())) { + return true; + } + List nodes = PalaConfig.get().rankNodes.getOrDefault(rankOf(player), List.of()); + if (nodes.contains(node) || nodes.contains("pala.*")) { + return true; + } + int dot = node.lastIndexOf('.'); + if (dot > 0 && nodes.contains(node.substring(0, dot) + ".*")) { + return true; + } + return false; + } + /** OP niveau 2+ (LEVEL_ADMINS) bypass tout ; sinon noeud exact ou wildcard pala.* du rang. * Prend la source (PermissionSet vanilla 26.3, verifie au javap) + le joueur (rang interne). */ public static boolean has(CommandSourceStack source, ServerPlayer player, String node) { diff --git a/mods/pala/src/main/java/fr/surviepote/pala/events/PalaAfk.java b/mods/pala/src/main/java/fr/surviepote/pala/events/PalaAfk.java new file mode 100644 index 0000000..21ae0f0 --- /dev/null +++ b/mods/pala/src/main/java/fr/surviepote/pala/events/PalaAfk.java @@ -0,0 +1,58 @@ +package fr.surviepote.pala.events; + +import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerPlayer; + +import net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents; + +import fr.surviepote.pala.core.PalaConfig; +import fr.surviepote.pala.core.PalaPermissions; + +// M-afk (wiki reglement + grades) : les fermes AFK sont interdites et le kick AFK existe +// (durees par grade : 10/15/20 min + bonus). Ici : limite unique en config (defaut 10 min, +// afkKickMinutes), bypass par noeud pala.afk.bypass (grades via /pala rank + rankNodes). +// Activite = position + rotation : identiques d'un controle a l'autre (1 s) = inactif. +public final class PalaAfk { + + private PalaAfk() { + } + + private record Snapshot(double x, double y, double z, float yaw, float pitch, long seconds) { + } + + private static final java.util.Map SEEN = new java.util.HashMap<>(); + private static int tick; + + public static void register() { + ServerTickEvents.END_SERVER_TICK.register(server -> { + if (++tick % 20 != 0) { + return; + } + int limit = PalaConfig.get().afkKickMinutes * 60; + for (ServerPlayer player : server.getPlayerList().getPlayers()) { + Snapshot prev = SEEN.get(player.getUUID()); + Snapshot now = new Snapshot(player.getX(), player.getY(), player.getZ(), + player.getYRot(), player.getXRot(), 0); + if (prev != null && prev.x() == now.x() && prev.y() == now.y() + && prev.z() == now.z() && prev.yaw() == now.yaw() + && prev.pitch() == now.pitch()) { + long seconds = prev.seconds() + 1; + if (seconds >= limit + && !PalaPermissions.hasNode(player, "pala.afk.bypass")) { + SEEN.remove(player.getUUID()); + player.connection.disconnect(Component.literal( + "§cExpulse pour AFK (" + PalaConfig.get().afkKickMinutes + + " min sans activite).")); + continue; + } + SEEN.put(player.getUUID(), + new Snapshot(now.x(), now.y(), now.z(), now.yaw(), now.pitch(), + seconds)); + } else { + SEEN.put(player.getUUID(), + new Snapshot(now.x(), now.y(), now.z(), now.yaw(), now.pitch(), 0)); + } + } + }); + } +} diff --git a/mods/pala/src/main/java/fr/surviepote/pala/events/PalaEvents.java b/mods/pala/src/main/java/fr/surviepote/pala/events/PalaEvents.java index 331c2cb..a19e3f9 100644 --- a/mods/pala/src/main/java/fr/surviepote/pala/events/PalaEvents.java +++ b/mods/pala/src/main/java/fr/surviepote/pala/events/PalaEvents.java @@ -34,6 +34,7 @@ public final class PalaEvents { } public static void registerAll() { + PalaAfk.register(); PalaArmorEvents.register(); PalaItemUseEvents.register(); PalaToolEvents.register(); diff --git a/server/mods/pala-0.2.1.jar b/server/mods/pala-0.2.1.jar index 5ee96e0e677cd3f15eb09c7fd71313bb3f267a4a..45105fd1c783894d63db2b61758d11072bccef3e 100644 GIT binary patch delta 28083 zcmaEPT5``b$qgTO^Sati3;ZO)z>uQDz@RbNQB`cR-CNGdvU~XJD?+aB{9m88vs`U@ z$_`^4#zqb%PmU#8n^YPm+NubsG&zM-O}^u!H}j0_`!gyFLw5g&T77M~UH005rFjXj zyBs76T(!$KZ{2cjZPfg=+w^khdyB80`tSLjYW3pD8E=2b-A~_FQ+)2{`Tzf)&#AXh zf5t8^Q^mkAZKG&n!h^{N);rWQG;vJSjp`4ZdtuVYSIe&HRzcbUr z$3Lx#Ovs zXpXP++qP*_62&r880K9Fa=W!`&eNcIEe7>f42Lh>ZY_J$nm+jm`?D{3cP|OOHLKn0 zZGV3Aro@?^(u^@Jtnx*6;-PJ>a$<#-ZcFCR8OCD@G&y3yNHXjvU^LvW*?rTe*$-i~mc6;9Z zx98?J8q^=Nmfv1-*YYphrpnn{Q@=dT^e@OX-+5Wq?NaJl-hVl)=NgLzozmFN1D*Yq zef0AsuT`<%EXkEn`C(FC)~gb4m$50ynd8=iSf&cR~>!MQ*JpJ05c(Cz0Th2b| zU57UC+G!vBIp-)V$5G}Ly=jxow%t5?=K3cmqbw+o)J-rdV_e0RxOHOcFhk+mmQ&G}WwDktDQNg>GPR3g7-!3^(35wBll z8Qj|CA#$^4-n55;QA>lDTg*Nu5Ygr?Sl@L?Gd91Rv47$ZtL@85vOiDDDL>U(H$P&j z@w9n8M&TFM=%%ga@t?fps77+;TamBxR6V;3x2Ki9 zoT*g*L)AwAAa_i{{vz8Dom&}8R{o3lxnCsi;Wtb5O?Uq<>uR`jaLM0)vzR8{a8Zr_ zpStgdHitUT=4%3WF?;tvW?8S4^T+=3n}SPqv5n?Cwm46l_9iNMTk-C{%%PU8uCDnT z)}8W|$gj*^>*rNrwCAy+hh(ATzc-p0x2!y;T7~k|tJZhxuVCMDEv$LUPjmjuewV!_ z^WFcxt|abS#`K5G{u_n-XY8H*Rg~xGTagH*sat;~(eTN;1SkJ+)1{=4akw6YVvexaVs{O>vjW z+?#h2Q#}`0T=adNHvL-ejSC5LU%gA-^jOX`)@}VXlaseTuxv7$(^c^Af3}R|F{Q#? zO-~Og-Cm<}Q#`d+Qd_gTid*B9h??w{Q)_$YoI1&PzUbp;)rrO*HNEPeZ%a6F@A0o^ zVOoD<7Y43fb?eabTnQv)okKA43=;!C2T@A9>ePim@ z#j_9XT>7qS(Ji?d3q3kd@7xlupz^Q2_mZ4Y;b9B;*DEuQhH@-zb$u;lJW+w`u+Ocn z+Gbiiq^<|pl^xk_vs!(HRUgl@6NT5cDy)w8TJHE7a_*9ExVVXt+2yFiq3`-Ou9J`1 zef(>lTdjZ0 zD69V7>7wOnJJqfqOTFG_@H~Fsk>{az7be8aXx%KhFv%`aV+ZT*6)}dBGCwt&t*Y|R z`15@Fyjx0djxA|f)}(3EpRwZHx_1|%bQiDPz1Au*Xl`=o<=)*@I~z>77><^5MSlI+ zdg`>cls(_v2%WVFY@17%k`mu1u2fuSf39+JTjbqDmHHoQ#&fqCT`JW~nVyho9N7~6 z(O4)i_`~K3yOWg~tfBcO^#;PWN%79F|0RZVPG+!Q{^0q~eSc(h9*S$es4$f7O$iU~ z+MOZspLxH^!|9@XIQBns+ii2N=$C>&@2lD+Ca>m%*xi|=+be%;@3ti2`{z};;!eqL z`jffV{keABvIq6`kDgBHoK*GxQI30i-pjYIOQPjBx5XZ|)IPZ9$Dv8FU4wC`FMZI{~Y zU$Hr&k#CyHmXclDl2)w!d}5RH!Td+1OYD{RuCbnaQ|sPKv%>v16(4S|x9QK?rkDC+ zLgTv7X*}Cc6s+cPPpxo1HlgQniq7=Hc|EIBZDNlVr>H!!PQ9Ui*ilk$!ovc=Z;u%{ zi|;7&SIxUU>no4`{Ajydikz#%oOWI4mDUl|W1HQuzHomN|AXc`x+`xi{HW zT(8dx+4TIQ(+`_{3J=$d)Cj(`GfA6~aQv}MWm59xF45E1KBhBV?h0QnEW3Goi21C- ze|waa@6H$7!m~$lPH-Cg(oHpIG#3lq^^o53dX-V3;h80;AI)+tpRsAyrrhW4A5&{w z58c=LVO?`odHx?i&%ctF#l9uDT54$=y8e-uvwr;p`T7t2DX*HpduF}6x<;j5R@%#^ zXX&Jp`!YfYW(8FhDKzX|`@s5#dcK9_+rF7CA8qqyy%&#IdN#^!*V52xlkIDI(>6_uTe17yl$m0uil=-v z+2?eyZQ&t_&lAIs)bHHw|NF!3O~>aZNONoGoKQLCS+cq-|3UsQCBL;?n+3SN*LWmy zNk6Qd7p=Q#l74EC8ut|a*r<&mNhPh)_Awfi*eo`M|7!C`6F-OT4bgtp-Ut5_n(PzZr~9D%Q0$_+&$qD8{l>W5_RRxX z-39X<9-DI=6K4FmIjqj6^Vnmy-qY;8&qaGqXZX}#zx(G$h17hzjGA)_e|DtXomp>x zWx9tRBgdsPDGd*p1Dvc|4}@#+GlbpazI5!wi{FY{E-n{4n&86cRb;TLa&f$@d^6`e zjRk&M60BDrCmS4<^?Y@uY2q5ce#chpE|#m3tiI-V6Ax~hDEMk+>*1uYTO@Q&@_S!NZ9UwvONs64&xamc71>sQb`H($ zI{5NuVo0u@%&{w94K0lAWtQg2NIYBclp*IH|JtdBFYfS1ukd`=K1KJ*3V|X8_LmZ0 zo<1<%HlsP|k7c>cgd;z=-&tsMe{6jh(RG6*zKF5t$g&+LSY4Xx1!q5dWaHA+!t&&j zjZ0q(>yu43Dk7Rf6Hb4gP~ajsLHqNBMJG5IcWUtmDjj7iDwQ)*3Q|(I{zUQU#EyoT z+3izY+_+Bk*|eA_DO`W5sH_~wcyng^iitBC?mTdaNxUB-d53?u*46iK+HY%L-TnQr z?bKKQ{uV3sf_%|;_DZlT=+3!lVdww4DC==Ui`D0?j zuNL2r#$P?ZYJQz5W3znUihWa>?>~94J?Wom^zy{pg>~{f{BOPJJ}7@Z_lx-Y;y=&N zEsvrVz~9RO3zqy#)d&c?FUzGOUVXlCUL?cREBpDGr(R7q6WPch)wSq6BYXX) z1ou4}os&;JS`f%%?K7EGy?4Tk98CT%=y8pOfx7FhaWImZu{=O+StEPpI! z-E(Mj|HdTwK$-U!`~)n#uelaBIh%Sqyy7g{(;Td*u=@Jbg02UKXP*ilmN;$(X(#Q{+`@yymLa2Bg3p5?@T4L ztYVStE44dz-g4M;^=qJwv+5mQOB?Tkyuyz2y^od`-_UyT)mACWe__cYrvK-jtbWk$ zX~1Xs2mp{;((R}_;j96o3j^&y3`K?lA{8u)yCz}11(@E+-ocShw!wg$y?;GnA zG^-`UHe62>t!9_1QOr-NS?W3S z{3|N$92a)Yy8hxxxfkLKFgyMEN0H)TDs5bpct%p|h+2f!*T?6*oB7|d?NoCJS^Vd=q6gcH zc$3HV93I9Tg@@j*UMW3OF~cc)Rhp3F)#j90`+FXFv-~~lSaX*B$>PMYLs1dxa;a*k zH^gN*zj6AOT5~INerr&f>21#svv00_V`jr;SSEYB+u!=_<{b6gr;q#n*7?!;`VV8) z%g<3o)82-}zGD#G$7#4j&MQ&<=<0k&)jJH_58Wad&Fc?Gt=eUNFmKhh{H0odtS2@wNN5MY`r*G3to)Bos$6LO zV6d*$y+GKe>uv!{^}|B3mie0nY)*PT5YOSUaV`CNS;Tc-;?xf^(VY8JUO%YZCKs2G zez1EDYh2RYmTJX6^=-8?f5kV(Z}xteTE@EP(7LAZn^!+b?e4oZx4`zc_utwNR@E%` z1Oit!FWD)iv}Vpb7NfPB8bU8fIYyZuPTQcxAz&^)`(#?6zQ@EhvueAJDeh>Qd%{o2 z(>FQ#=1Gx@5+`e{XZwnH{Bh^v+GW1+@EZ}ccBk_()=XA5&jkB_vh1wqRNKdI$hrNW ztly*$$Az}6%z9$+(fzF94tAAUThdkDxZgYM%<#VW$HSHHnX;#Rcwwj^$M;?%pgKft z$x)$wZ|cRDeAk>Iw>Z~OI`WKsv(g94BYd6>j|0-R|5wb+&?{Xp`+;c!YtZgVN}5M6 z{y+IJn)iw8lUGy!{&;>$*&$LEe$i3tB=pG_agM8pC%m*~MddrG9a$*Q_%`zjx-1tz3WH zx$B!Jevo_nt5$+tz9V+pO_{kWC#siUQWfD`KjrGi%PU%D=+~(=xhNepGdg*+^5*%{ zN%wzLM}9oUtaItS+qcbu)gQa67xo@oTD`H@-;TFUmi1Fb#{tzNC7mn$rfo`1V$+oD zOFP}Xu%02no0(<$c?DLf%^VkR^78h|Fg|T%WnlQl!@!^mA3^24FIq1gF7nS$NPked`~J3uKCvxECHEh# zwwd?*Sy4^i$7v^a@T^_jmbv3GPyN4w6vYm+E!iBeUNoFD*pPC3?xek09gCiJRZM(d zX_I_Y$v!tKGaX{?C>B)N3PK3%1`ANmRM@QRkQGn~NW1z8Ur8oS&<-ap%m%6~Ur6FR#m;aa!x%Un{;7OSXvb zm^<4jr+lsK`NtF57-gF+&J-kUHj`W(@F4A4r~fo{o~o>>M61%zf3ElxnVl`Lxf*bG z(FX3e#}dC9FLttMyKEJAK+UFl>g z?05B@a_2AeiNC^)_Dt!MJY%#aRp;{4HkJF=8T5PYGm)0m5eqTI8$ z8TMOT&6{VPcj-*m?VzI$7LuM`%deO0>3coJWcijCQ+&%?C!b`yRsZ!;-_N!_^N(VO z-!Yx%JXPDa`#Mi~Yg*rF-|G`ugWum|(COGNc*&vKVM(R%^0kxZ3T93}y^7x_DDvbg zrO!8m5(969|452EA$#Q1hd)f)d4I;#Nfw0jbgigl3=fTTIu&`(Xa0p-ysLW5;@o#k zzv^bT@9U$S1wyLtUX+z5MAf#|TW|K7wmf=nmqLQp9I?yU_uk#oTd-IsJFs@Mis;F- zqu0CoL*&NdIFpns z*4bVeF6&%Q#ct4RhuL7m=GDTULwCXZfgUclpE4H%s+BHh7h^?aZow z>SF1!ey`pqp48gjhsR$X(~_=wFo&vVuX;ZaDr8m@0T6`vo`Lp!d@2iZCsGNU( zxlP+c$ToAEudEH6*?%e|$ zJp9!&Qa_h4@9E?vVPChd=UOU!IwDYmEpKYzjy++QcI<945|;iIYr8%kssxF=3W!*Hpj&QjZsm^Tq)BbO=S#H{+mpt;nn13y{x@*nt#NImNqoUG+7lPtLWosTDLk za(66^=08!S>n(WKbw2ypK+k_c6-AmT~CX421RPWHRLJT zxpZ}(w%M)r--qr${q1|}WY}J*{C9=-C%(=oR>-k%d2}w+BA|Co_lAd8x7Y7D&+n>H z^T{Bp=j7~FGeX-oCfVda^NbR=(~OAh6*XOF$n&lucfXoeUrMgaoOfOtu_xO&4vFe> znARLFc)fRFz&C$y>(3`XA5!>Ixmr4CL2{?!|3h}$;%|l2Z(C(e!eUFNd=zvp1lWOm1%{`va$f9w4pz3J--y)L@1 zNK-@R?-o0g9AlsFB7JSKZ6{CrzTC9y*pDf3weq$LRZO{G*_xa_rM9TV?9vsBDS9rm zqUu>PZ$1(-$egqI>iQSzHny&x^$m)*F`v~bHAso`FPUKYIf`95E$+QS{<9$2p8aZ< z?d}A!8%w!=r*XW`BZRLWs~QF^ATyWVo^uxb7t(iwpZdu?t|^~9=P7=fABd) z_w)MM#p*LE#qF+dwe;@kJO8oO>W9?69-GJ%WkJr*yj$$`7EbKA6JX!X%Kw$^+_5I( zy^Y5|Jm5KV?tt?8DkkxygFo*b5dNXn_U*@e+XmquQIWPSYroitd7M{}+&kxTdGd;^ z(<`e^uk4!q{%N#TX@5^w%<}t6a*2|uzt#sFEWZ)5!|vAn<6_4?GM9Z&=K9YFYH*1# zFmP}%FfceWOg_!$cbT1mp;ut?g6W7n49U7%!?R07!e#&8wJDo)*1_q?MF)9J&J7PI z=6Y#Q@C`h{>?Fq<>A?~DGNpJj&&;`z>1pCY_pjbs6}o!cwt(pSO;PeTJOVjaS8d(4 zb>FJG56$=gKC!I(_(dkVzP!x5C53aN`}vzUcmDtX=l=TY_ulzF_UsE}>p2(Ka~zfO zDw(3B5>R^Oghb%!4aXOi^UF`=j90jlbZgoE-~|?!3aG~MrzROCp3GRLDK$OMZ5R8QBQCptz2FSl_I;ad=l1XXTfWO% zUbuNnb;G*q#74&SHM5rKUk&WkYAiaQx4qtdN=T#a#J1NT^fLl#{Q`7)viA5ME|S&W z5VRmq(2R4+&Z0A4YF=`!=_onRo9xs2j_pcD#M)%uJdquxS9+^5&67_}d3-wK)P|ll z4*Iu_e_a=774nF^uJfEh-Z5RNtkOGOTbZ)CKd8xsv&~uCXPeb$7@IsPZEd>GI)7R1 zFar`mX^uN-f&*{ z@!PjJv&%Zg)jcB3JEZ4YeQV5JYN*G~U$*TmZ`YxVOXa>~?TEe_CNEq*RU*`ZwQJ{u zpMRO8*GFIeT6o)|vi@=3`ZLxG9xJfDU_5Ir;Q;XY09?8kRKc&p4eWbcX z=HTAQ{cXSI<}9(kGCfhY^UrkWzg}nSJWOx9S!yZe=H|-E{+41BDT`@e+0ylxYu1HC z)(cCTa%BA&?k->O{Z+x#GmktU&uFTZ&19Xv%*Wnvox$-End2&3tBfAj-%yTAIKR(m zPk&~hV@8U*DWCr`p8mUE7;6F!x0lpN$R{2We|6UGrJC<~W7*rML#G-mv6i`Um0$W} z)Oq$)@SSqsYMo_Vo7m;Ael(o=W`g!)KeuVdMe^4_D##`AUu5R`wsPv{y&Ke&`YqqN z_+6J%*8JUbq~%MfxM%dPxhJO_)vVY3;3+%*&|#+4la94KS>Y-1Z^6s{;-^2|Hn6Yh zC^0*;eG}9CgXyL=iyjyM__Jr`{9aWE#V1)Vz4YX6 zT>S!3@tbq}xpj75x>3!WKj*CMv0#m~_#r&M78>E=K8>wi*5%lII-sWAN?(x0~Sob zZGBz;9H*bcX`fj-J*tKCOOMw)eH3wR(uSh;Z3TBccXQrM)Y>zzcv;{}@f9zo&bzN1 z8Yb~|)!n|w)%&uSR4uW8*HaN{5i5D9|L~pcc~=X$mY@D0eD23{f7M(4%P&n+&kmjv zyLL_bl9vg=7U1~Vt+zfBH%dT0;t z=l$EHrirHeB=MZ=PW&UKpIH%k_E@;Zoo9jRYtQ$c?yHfQ_v3%NqI=!>`a{O4>%4VV z`|+7?zxwE#nl0~s(Tu-CT(upzD71Q@oIJCxKVB3Bx!`&d_c`Gz{K+4>L5`il2$ zMZU#3l?y)ndscP&#`=yK7V{nL+JEku-5*%TsC;&*sj7a$u4O4)$)-#HRR2+#7kD9% zwO&^B%a*1|TwX#|E{>Y4OXaLPe~UiRJfZwVTSM4vTWeU`HJcAFCTH9Vs=e>J=f8@Q zvDw{t7wL148`oH0{=rfpIDg(DalgGgb={Yo;q~Fv;Sgc}#bm1OZ1PLUPbB$+$SkqL zfpx79d#{Hubv3ix;IW(W-Rn+^)}2GER=67bpNOrGIDI%n_I%&hiW%RRUXJMhyhqXY zbj!XDwmqk!FU4=f!y8*DYE z?Y*Gk{z>O&?ljNo8i&h2#7>*!>3O~&v@0#J`TfJ+TMC;y9~HAdKJ$-8CcQQ>**DfE+SjWdc%AV}eA^yB#nc}ceNwMI)!O{X zXr9!r2L1WYx2GQBVP)Oh73Rz8THp9HaIazo&%Ps}rXiuC$x_pQ{^|Ph{DX9=bm97- zv+tdrF4@DlU;P<>1#i9E+4{|Q{}zeywjIeRYi49%U}a`t&;pIQfSdBuYeg9O>SOhp z9YxyiFJ8JP=+*D&+Aqu-1*f|xIXOwGocg8v9#txhp%_a~c&_t_+M1h4JNw)S)S<#E@`Y2B+IpY}Yxx^!LVuG8v2 zS7mX0cgv_h{w2Qs<%ffbD>TFX3-=LEE`mJrg=7^iJrW z&~G4^Xmx0gVNg!Y!;dV*nj$lGH!ePNjjQN}gWT*H2gKC7KeC8Vv14riFABm;?f*rY z+y9HQZ2vFH+QP*NUu-zNM}ak+N&4dSKxtM{(2B$9!iuaWOsUtv0@LFZS(Rmak;l~- z5MW6o%YCpikiN;h_XVe)QDoI(y7B}enDvBry1ERjz+~yS0z5FCOBy%6g(;B(OHZGq z#45$)@*XBCIQ@zes})o9N0@-XbW>$k1167uU;$7XRf3ha~)8m6dC{x)CEkBuo#3^!;;0Rba*RDhVVaH9b^~ zRf|a}8N`WX(#QbOqSNz|89Ar_Qe)L*N=AqXPxn=4HDJ1%4_5ebPAyhrruj#v zztdv1U^;zd`a?Zdsp(GItXfRWMadP6Cz z!1Ruti~`eZ^jNtVrKTsEuu4zgu#-`Ey1x#q7UNQgfb}j$q3QY6tOC=w>##~O=^uv} z|5k_9l4(7dBR$=1HzVKlbu(B6rYGvMN--Iq0I89gp0k&cd%8g}3)}PtA69|syFhaL zkmWW=u!&9Iz6a_ACeM>d`V@Rw#ir-zu}U#rK?n;@FOXytn0^!_9DfR=I)v#7m{y%0 zqt9x}RCF37C^fx*KO@I}`ZbW;6oi}uqtf(^maNj#4;ZrYOt<^b$TmHo zfmL97mm#YZ<7&8+4U@@vh937gC7I4cg%ylht(n3uLewZ2vvNe<~B(^baPiT1(dh{ap!htA zlGDPkK~yK4WaOMat(8?~`dKqpDW<0|VRKfY>3bB|M5k++vq~|QU5BbRXLV;1xB=yW zw5~tR$T2-3kxgLw6Oh8G$a0!nS>>iXTChqnDc^)>*?ESMZ+d<^tHAWBAmJr9r*E`i z4Q5im1)^1^+ZS>T!c&%WD%EdGXD%Wk#YRP2$6r%9V4Mq+~VfEXdRf=gZRM@(gRc?Ba1FIBM@H2?Q zH#Zr1rr!%;6_~ypB>WUA{J??Ll&R!7L=Eq4MlMh}CNSO4kyVO`=>B26orc5uPoVo{$T+?%1Shbk)-$JA}xv-iu{f2TTJY?jVF5t?l#nk!^BrP^w{1GGX z^mtcREk^F?fxfJw)91UgIx#MUu)n*qIx$&%fH=_Kjn$lKCxXKz8oEBo}^r;Hra?@nPAn11RhqrmjuNLDVUm`@PZUk}2aaL=Bf8 zt0mJ1C@0E~)t;&4-*iWRR?+Dj{8(+7ME-*~GSk<5g4KDd{;X0=3&6sGjC#`@!a;4l z&x{B%ZE zoiT`2im9Fjq!21+8N_PB#LbE%(jCNV$+Qqz#PTO2_w;~;tOC>j2C+&p>Q8?d#VR^| z|4&AN>9)bFT8!Hv0{lN1Ii~ynV&t0MAIz%7Rf?&R6QWQdl+~Jvj|;+C@Rw0w zdUrCbz;up(D3#hQumY*+2LBjYr=JUD)nbz125FI*zTqDu=XCinRxPGQU=anRW<+Bc zs}z$S4@jZH^u1xM228u49R6@t112|KkW2v6B`~cpeO)7~*z}X(tWr#Id>|Q->F*es zWT)R;#wsvfErL~w=^s?MkBLcbdQAkY7SkGjh{6O`CbsE^B3MnBOa$N}?9)#(GjUGW z1vTGvB3Y%F_8{cAr)wLticPNt3A+ixwLse==Rm?25W<4f`J-61n4*M`6h=j{8ZbS9 ziY$m?bzrIxhDa}nV&$2xGlhw3I!`pK788#MLU4F)oYSX`MV-=llmCh=~v^uJlGTufHl5V=1YtOiUEpqzl6tYXu@ z$ivjM=|I%zD=@K5Kak0)#iXMP5s})(DmGm|i&cv05>%ufB+>^GsnCO{xt_&p0BQ~u zv5HP_kY$pb?zx*)Y`RZ2s}$pr=?CGW3pO&bO`o03s>PILFnwVztL}9FO-!uQe}Y8# z3?U-rdsxM$XXLO-F>Qg0+yRN4P-POB9+S<=#S~=(Q7DkhYQXd#%E`}VHDFviePap4 z0TR>C=CT?xd7D6#7VKjco9>*)D#i5C1ms|y>D_s(224{;A)J?atOksh(-)S(G#Bh( zVw>)p&#J|E7a=U3Q^nQINXnnd2BwS|$5x!f* zYQn@}3*pQ+fD|AC(|wCsrI=85;5>dB14 zNE2RQ`f4L4Xq(^G9-^hPgw>qsER=J$gw>KM!2u$}p2{XM-MW-jis>0tq}GIq57Z0N zVybY2sNpwd;+ekS7^}ea5>qCD>A$^MxtQ3TKyotE=b18bfijoCbkj0cDW-{FVSgrR zXNdH^GFD@zrC^TebdGXX6DDOBkc{Z`;Br<=rqxi6jRh0`blp@|!Rd#~StXf_T_I|0 zESR{EdSwz7tWr$JT_J_KM+K`bQ>Yt+GrNM-lIb>-lWoPsGrh}-RYpJ%)(c<&^_-&J zrzcjj3Qsq!WYuEo0dw4$I{l}AtOm7BK!SU~9O>!l!fXQ5#j04Pn7%?qe5+WknI;8* z)JjkHtpbf1^nyCLRjiUsrh#x_&gneWtR_s?p(1&%OyEHnEvCvKh#CPmCVo(pUts#x zYE~&G{$P-B2-EuD=?iOEHKym+uo^J=hk!T{Oz*+8#&ljuHnHiJwX9N1{h=Tkjp^Vv z=VXwGK^RCxcKVrGRtu)H2oC4;d@opM*1e8ZiZO3`A*e@QSI26@#1jFsReE||9V^H5 z`*p0QOzV(Ee0`X>rWY8n3QP~KXO&{|i-f4|s%N!gdWGO{Pk&R-YRc3X1(E*H016c7 zK#CTVPBfD6c|Rt$>3K_81*Y$8V3lGzg^;sh%7{Ty=qJM_Ha)wMRf>r%7D;$rBdY<^ z5~#@UMpkPk$2f?zbs!V>^tdKg1EzaWk=0GC)=bs$NYZ@GtOiUH2@sL>!A#=Q!2>4R zAxr|(*R+7faS(EX)4^?!3(c%rOi77wErQb#O%J;kRw*X-BqTXRvttfOZY{Fhh1INL z(|>`4gOedz>LZyrr+de<%1jSyWtC$3f-JoL1}ppYxvi}FOtVsuR6mGd;)D#H2(+uy#lrkH$)VTch9_a0U$CdLAY@PcF}en`ttECt2SE5HgunZyf0 z3e~3D^|G2W^@BOe)8n7Ba!g;)%c{p@Tm+I@4aDEOGCumSZVEQGHTwW!T7QRWWW=#B5a1m>!bx_XsNvxJkV$~2Cp2@6E zO#7gmED$H9W;){(R;B3|CbQ}@eFAgB8M~%0oXsjdU7?UkWcry1R)Og=rm#veY1Bas zF_^~6KK<$xRwJfE$RhDYOkC4@*Rl#scbUp6#gtHwr220W6aVxHQ(3i`SR0Up?@nbk zXPS=?v0<`nM3U~G#%jWJ2U(=D6gCpZJRLN~+JvOqVLGcRlWa4R$iLUj9Mcy}XVqic zhb$aj&cro+-ZoZ&>D)6wX|M&N#o`?^&-8!gOgz)MX0i%Q&jiUawL;|P&tSD=T8`jw zP5(E8)r`rh4I&*dlhuOhHiE-BeeFzEbH>K$7Z32Zt8oR){LBbr<+ecU;0MJ^fc5lL#cY zy#T3W>4BJWel9D=bhWvxCQQZ1B6V|FO_`n}L~Ix%r#miXm7e~-fk_zBZu6SQD#iE< zBHA#I)rxV-^p7AFT1~Ll+w3NkY^~crU2r~YB-4d{h}CWLS#6l|CqOv&=CfKbaZa2* zaWSjXbgKodModegoCyn9O&DFLE3Rafp8j9~t0Utp2)m(;NfgE|Z6^asJLBGWTL!r4tjsiliqr5HaVN%eOzaZlg3m{p5u@^p|<%F}t5uo^R&%m8s@rYH0; zu}r_v&BQuAeF>`;(+PwyKWH>VVEVZwtWr!#GvTV)ru8y$L1stPmV$~0R4EqF_=ec@ zI*^phEEHWV(+@0VHDKC`E()&Y^_H08dH?C)u zo-V(fHGuIKggs#bs80JiDwx^ZuLw^(W%9>1}buAEvqF{@N$Us0#-KG=?{3BSRg|f z!RtW%HmKZ$*-Si;DWG*A;j|SHEpOMcnlar0b2O*>t!Fi2YFY`B(VQ+Xz{E8@CV^F8 z`mDJqv7)mIq#%ju9+=jgp0|P3l&NDiNKkY7xecr)OonS99Nmqq=1ljX9ES)dj_C?X zps9q7tWu2O(;IiP%1kd<2x`=T#x%G#u}U%Cgo{c+rX8|3f$G+E5c4){Vl`zlS`Xm} zYz7tjV2<*1*w}@@^p}fK99z8sq*{48VkqO@W>zUCnT-(PeVlA;)8BZoicHs93hE|x zvvM;+rA~{(s*uTBSf!W}H-U9bTLv4_cm)zY2N9i~yA09+6PWJ46|?|hGg$HT`fn`k z(;Fn2SRtMXUCtyhU3)Pr7t{02(+jt;s!ZpS0ww)4R)Oh%K>9kjK!k0!u^KaJZUu3| znNDt) zPS9NQZiukdE>;7k$52i^h%mS3&8H#KU=fA=OkC6J4zp@8DV#wP-n$<*O!4Y4sA-Rovtdd+3s=Z7 zz2OL}3DbY5$b}=U)=YEG!KK-!>m6k^XR1l=Qz$P#q=Lp zZq89AuIc{AS+$s^UqaF{=Qyhglj&uM$eZJ=rc5)S9KGX^7LXQ`;T4Fq-fE}U& zZYrz5^vx$gMLe>c%?ViU=06EaJXaz5R-IrHhLn&QAmOc0;dv)nEt&kTLDYOc37Sj3 z#x(un878smPN!J4m|sA6GSj<3Jmu?PIoat3r&&3s-#x`@%xrxFA!NxMaudumnZDpO zs}}RTCs5w|Tdd;KCC;!)G0Q&%3u#V!$iz84{S2!XbJSb7h`{u-Ad%w`5t-=;51B-# zYoBG+V!rzWtVm{h*&8Ol=~8!D1*WUKV-nznjlV2u-1ZBq!v7tU@br5iO$+}Zg!rbL zo@3Q#5@ncfc!5=Ry8k;SzUf8RSVgDb{)SQn=Q2YS+&{-^%Ot}I;aHz%wPL!>4dUob z-*S~zbb1vdGx8`O4 z;|=Es zPB*yDs?TKZGd=M-Yb2AFFNju~zWxR)$8=d|X7=eHud^C375k$K^GuJu!K%eHEf_9r z#k3|A!T}F~NZn-BV|o_`5h=LIYRDuQ0k!ict0mL%7zigJfLVCD_ASsTUj{_P{x&P$ z^r@#=rKium#VW;QTZkn5?KG>>bm>$SpRPqHaAaCr0Z~2wHme7dZY6{he}|QQI`17; zVb-)_uOUGV%i4gXiOKl$EwBj2h1^?o(tl5H-nTJPCs>z)r^U$2f|rj z&&)O5_CBi?lgC7e$gKOUrc6(#fjH?*Czpe0%jtEqnYpIdK48^iGFk-^F`RyXE;HBk z?~hq!raffkW3pQd5;d6a@Q~GnX&QpVHGRWFRx>8yO>k+h=}M1SO_GcPg*{6T|3mU$B z$|}Y5;Vej@>hvj3S&f-4or7@pcd>F$_hDrdp3d`(Rf_4_d5Ey@GgcF(9Ty;+70+0W znJ!+0aDFE-aZcxc&Z^6}c6#C~R@vzRN0>Q5gFdEA7cPU8s7>GVoYk1=+7%Edg6ZQ` z5Unyj{{^c#(}L?Dj?8qsv&>x6&%I#PV_J3-E+RJF;3a59$!&D11wOLsGL?UWh$MYvHDmJs z4&l6e#mqJR_(xVPruZKak$Hu!=AEwd8Ptekp3cb3CIb@ToL>8x)r^Uk6(Vx+GiW^w8-!!< zpP6U6!53D2rUrJn2=DZ+FRXe@=Qxl=9)r{vb3sMEvf41s;D&PkGYd_h^OaSL=?@QF zgm?PKudMn^iF`;R-rrdD8IMh0_>)z0`jT&~222`)5ZMDPEJBbJBk~hw)pBVR((c~>5BhYWv4$7 zWf7e2`<7K;y7O;PUs)NVuKG8t4O5*egd--&!Z&^T6IOxgpMSGTF(yuL{Ld;oUHcEK zHB*r~L~hF-;4iKu?Z^f4bLS zRxPG`IuMabe_73$6!jpS0u2_9>F@ut8ZwpWBZ;{EV>Mz5H$W1Zuz(es@VEa1jVKr* z$$bZ@{(>yx|DV;6Nzxce&9eWj#*6~fnAv2fgYDd)&cZXD?>Vc$RB1LT#v3pR;pth= zL4MRk@r;cbl1cqtOzczlvgtClnM%fzO|7(0C;8=LI(qfBg8Oty|7*+?b< zClIYVy^)#CglUO0h$A=M&YXpR`mS9$$QbfY*I{n z6Q>vQvB^!J%FAZNl$#9VC{2IO%cjSqmIC4^Pq*V^Gh_-(1#!Zd4AVfg^7IRlEPT`b zS=j`pbMdoDF&U>rgzG_F-~fI$T_)iSh{z&-He)8aObAEsC@Z-37oILAz$V4?11b#e zX2uAx=`ks1LlmwTU^8K|$$@Zg$Fp!wul&R+FkMlQO^T^77bL7SJzkK_oauiah$B0F zt00>RlT!i2i?@aptVMs|VNt}LAi&b{|9w9b9 zrv8%YXN1_Snf8@TUm(IJHeFtrO^fLhm?Hz4!q#HaDFw;MOkXd|=E!sa!C{*om&w9E zefm-8665LiB5Zt29c3WZs?$qE*tD2VgE`Sm%gd+#6=5@Dx>!E_oG6>bbYD?6EhhE~ z5JzSDTv0ZCrp!tZCz9z~)pS8|Hu32WVr*JW+SMSA-1IIGCmqbun*KnHO`qvN4M--Q zX-h4LR-Zmo9F&*qKpeU0c10}E>2V$jHYujgda&>`Nj6@j4GEbbsmca~)CLJQ1IEnh z6J^=tr%AHeGDS5Zs7J{K-L>ZRj~+6e}0wBAsLO^Rt{7m{53VMey;a-g+;Z1pSx)AvZTaWT#4hA5aP z!)C+O-UH!mkY(eBtmc!JWs_nm?nM$#kYzJqitmGqSTp(b!#Uj3qoP>Frt8SDNikVY zfC%qxWr1!dsFh>WV$z$4Bn+Mt2ajaG18Gs71eX&B?Ih4*lAH_|5u6Si$<|`xpMoR| zo(UIJV3T5EoeB}2-@yXjNub5_9U;Ow{cjfwc(z-gDQY@gAy`-h5;qo#Y*I|&GmzxY zn6pYup9~USKNCq9yg2L&NO;jKh_Id#n*~$H?CA%U*fge3P-4?(x;qENiDf!77evcX zw^wE}VOl#6!dWnxg=_jeWj1{#)&+18QHU#2rl1sG-xfe@m@tI}>*|wR3#V_?ViTS| zLxl~r-kVX2O=S86RW^?4_f^;&8UIX&3Gh#!HI0RL`aLZ+f$52=Y@pH94N$f2Oskhb z44I(H#ykC|Dw{P^^HL-c`I#)j(?4jl2~4k4W0PV^SO%Bloc?1b3-9#zI&1>d&w=D@ zmc!*Zrn9QE*)p-MKoW^pXR~H{iY!tyheddLgB_c|^jqp|QcT-cBB}PB%OWs+oj#ku z^jC9H0;OgZL{)+Yn+sF?Y6u7H>u>W|1gAS#u?b9HIUhxf^%^8qlA3H*Oe|}WL<&G6 z_n{*DHQ5}QwylFmi)yjiG4-y8aAX#<$WA|N%qB2>sur6RQ_%*Ha5$6aMi8wqT}zwI zf=PN4h$A;W;w+2cbbn_yf$592*`%00LWS>Yv)MA8+6+=7H9cWDEcAkP*rb>iZ2<{O zPVdlRvtr8G3gO(Q8vr(e`# z6Pf-%m(7;({B%cSHj(LZYgnYF%iFREOpnoHlVX~-6Qo3Ty8c>_F`!W23KCA=1riQn z(%3z{QJ+m@y0t!=3zNtm5GS1JCYTnT{$8KWo@vKkkRX`DI^Az0i{Nx0JvM>q*#>M< zOg;OM~~4K?rBf78a4|>kZkonBGD~-Wjqv zGo3vIk&fBMB0fFVh)s)W&f)1BP1&TTFE(OxW=cB(;neS9VV%xy%x1}CcN9tF<_;Et z=?l!+1g19{vq>=t9Yc~^yAu{GcR_M55poicByMfOCdG8*I7Ca-ZWg}j^(JguO!H1a zM2?!U*)pY_gmC0c*({jsPeC|W_rg;0R8ux7Cce`k;V`E6U|MQ=>wZ|uG(UinGEbfX zDU_NXe*hFGps1Z?21*NOr+>6z6Q6$8jLnLv^c;vIJ^jNW7T)QSAi~a^O^Y#d`Ue{} z8IY(n$iG@l<`>}VxToJd4D)LH5fmFGFG5spIKmdS9}cmwO&73avt`^iJit) z1e3_!=?iVyWTvmVz`_T~CeasBg6b_;K{(T^dms(c(?#vrteH;Shj8LALtE|j ze0t|~77<9!^1OlKp4(4Aszs(}-(ZoP-tWMs#dP5*B&)>VWRU=66@lsB9N46o7C(as zt2(mTGgUo@a4JC@-xms9b-JB1n>EvLCNO<3NchS7>4vUsGSh1wgOU%Z2orT> zlVaNP0VEvERQwU5YrZR+4O8GJ2CZhX9#ESGg$cNxUoqwy@LubbYrt(I{F2q zMr8WCmn>}4qhG+>^ZNyh!1NqFHZG>#uW$vN)74(WoKWn}CdCx@4K61JskSx zf1m!;oz0rb@B4H^FE+9179MO`Oif^p{B+sZECSO5JlO=MJNUBkOkeN8#>d3{1Ef%X z`aKUeTc%nlC;mBTHth`yFG#f(BiHoAU^emT{BKw|r_c6eGh^&W63}|fB0POTAe+GS z1Wz^|0e#qX2?J<@xb!cO>CsHfz_i%(_1jkjMOz-q&<6~m|1J~lrR08Gbe`4X7&i4VyY@X?MK5TqUkB}AQ_^??q z1^k8R2Wxrtfkg!5PiUxo18F>RUti3(s@|Up6g9o#}$%Y~s`PKe2F5pU}m`I=#V{ z&75&AMD)Bbn+p@~|LGU~*yN|L_ylvuZGSeN=?Q*pd`y$Ua;np(`mtFtsWMDI7{ewu zz2GYg|8##)=l8E4n>o{NWZ{@E5MK*S2N@z@h7z=%jBo=4roaBeA_R$q+x~1)O!p9S zilAWAVk%;Sst#atV|oJPd}ZMTP02&Ozafx~XF7Wz8y{01Gg$Ss?<}Gq?E=%mQgI-u z4-hGkyE&)#2C~^QRkDB;LquK&ve``EAHyaw{li}t@#(96u<(IQkeS{P#Ky;1GyOme zn>a{Ha{B%tHVej|NCFzcY!*yqY!Jgf{AH1xJ`p7H8ChiBFJ$wW3fPfUOaDfZdy6c0 zCWOs`DT@P1wP`4u1=Dk6k$E7I6iy^H{C`nQe26Sp5XNS~6vqWoeISf2faw;5Gc|!# za=K$Un*~!iH&_-dunHt_1xcX(KMUXV`N3>jOo2QIWi=6O7EI^h0_upcWAf%jDD#VC zvtT-bB(Ob_&78@F53B+dyb{ypqS!2$4j_wUF|qPZuM1<-VzS{!Quq#}a0jwTSTvgj zXeSmpeSY}MA~Ag*NMwTmlCCHgR%pZq#IW%(=?KE*gr|4Lu$eI}1dD_-sR@B(WT)?E zWfcbbMqoNm92?Jc0X9~a=~=OCTujrT3iR1nq3IB$KtLTOvC9iXO!*MYX2!Gt%2_YK z#x~uaos}1o^1<44QM74@K(sB4W3ype59WwXXBT4Qo9@rS$~#>ko=uBcL6mj+MG00B z@LV)gu;_G!1UA{}v*OvbnEId`bxu}6$nIb+E>`5R(K%uu)!|I5#6h&|^q0b{&_4FI z1U4zA?Gg~-03KFx$VwlvL^dg=3zBeQ&gs>PY!cH8K*IN=Ai^sX*({kpNJBWC{Hy|y zK0at0^>p1NHa_ORGGG@gPftu@(_*%lh4StTz+8DLiA{>xSq>r2GyT0FE7x?5WHv2k zFL|i=D0=!w-KrywCc^~s-A4Y~?HC6@&1^{N|dG`PS delta 24573 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